[DOCS] Update docs to SystemDS 2.1 snapshot
diff --git a/docs/_config.yml b/docs/_config.yml
index d0b3095..380a3f5 100644
--- a/docs/_config.yml
+++ b/docs/_config.yml
@@ -34,7 +34,7 @@
   - updateAPI.sh
 
 # These allow the documentation to be updated with newer releases
-SYSTEMDS_VERSION: 2.0.0-SNAPSHOT
+SYSTEMDS_VERSION: 2.1.0-SNAPSHOT
 
 # if 'analytics_on' is true, analytics section will be rendered on the HTML pages
 analytics_on: true
diff --git a/docs/_includes/header.html b/docs/_includes/header.html
index 2b1b6be..940b8c5 100644
--- a/docs/_includes/header.html
+++ b/docs/_includes/header.html
@@ -63,8 +63,6 @@
                     </ul>
                 </li>
                 <li><a href="https://issues.apache.org/jira/secure/Dashboard.jspa?selectPageId=12335852">Issues</a></li>
-                <li><input id="s-bar" placeholder="Search Docs.." style="margin-top: 20px;"></input>
-                </li>
             </ul>
         </nav>
     </div>
diff --git a/docs/_layouts/base.html b/docs/_layouts/base.html
index 5bfdfe8..bd12c5d 100644
--- a/docs/_layouts/base.html
+++ b/docs/_layouts/base.html
@@ -34,7 +34,7 @@
     <link rel="stylesheet" href="./css/main.css">
     <link rel="stylesheet" href="./css/pygments-default.css">
     <link rel="shortcut icon" href="./img/favicon.png">
-    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css" />
+    <!-- <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css" /> -->
     <script src="./js/vendor/jquery-1.12.0.min.js"></script>
     <script src="./js/vendor/bootstrap.min.js"></script>
     <script src="./js/vendor/anchor.min.js"></script>
diff --git a/docs/api/java/allclasses-frame.html b/docs/api/java/allclasses-frame.html
index 1b89596..45c79dd 100644
--- a/docs/api/java/allclasses-frame.html
+++ b/docs/api/java/allclasses-frame.html
@@ -14,7 +14,10 @@
 <ul>
 <li><a href="org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils" target="classFrame">ABitmap</a></li>
 <li><a href="org/apache/sysds/runtime/compress/utils/ABitmap.BitmapType.html" title="enum in org.apache.sysds.runtime.compress.utils" target="classFrame">ABitmap.BitmapType</a></li>
-<li><a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress" target="classFrame">AbstractCompressedMatrixBlock</a></li>
+<li><a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup" target="classFrame">AColGroup</a></li>
+<li><a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html" title="enum in org.apache.sysds.runtime.compress.colgroup" target="classFrame">AColGroup.ColGroupType</a></li>
+<li><a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup" target="classFrame">AColGroup.CompressionType</a></li>
+<li><a href="org/apache/sysds/runtime/compress/cocode/AColumnGroupPartitioner.html" title="class in org.apache.sysds.runtime.compress.cocode" target="classFrame">AColumnGroupPartitioner</a></li>
 <li><a href="org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup" target="classFrame">ADictionary</a></li>
 <li><a href="org/apache/sysds/hops/AggBinaryOp.html" title="class in org.apache.sysds.hops" target="classFrame">AggBinaryOp</a></li>
 <li><a href="org/apache/sysds/hops/AggBinaryOp.MMultMethod.html" title="enum in org.apache.sysds.hops" target="classFrame">AggBinaryOp.MMultMethod</a></li>
@@ -26,6 +29,7 @@
 <li><a href="org/apache/sysds/runtime/instructions/spark/functions/AggregateDropCorrectionFunction.html" title="class in org.apache.sysds.runtime.instructions.spark.functions" target="classFrame">AggregateDropCorrectionFunction</a></li>
 <li><a href="org/apache/sysds/runtime/matrix/operators/AggregateOperator.html" title="class in org.apache.sysds.runtime.matrix.operators" target="classFrame">AggregateOperator</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/cp/AggregateTernaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp" target="classFrame">AggregateTernaryCPInstruction</a></li>
+<li><a href="org/apache/sysds/runtime/instructions/fed/AggregateTernaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed" target="classFrame">AggregateTernaryFEDInstruction</a></li>
 <li><a href="org/apache/sysds/runtime/matrix/operators/AggregateTernaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators" target="classFrame">AggregateTernaryOperator</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/spark/AggregateTernarySPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark" target="classFrame">AggregateTernarySPInstruction</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/cp/AggregateUnaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp" target="classFrame">AggregateUnaryCPInstruction</a></li>
@@ -37,6 +41,7 @@
 <li><a href="org/apache/sysds/runtime/instructions/spark/AggregateUnarySPInstruction.RDDUAggFunction2.html" title="class in org.apache.sysds.runtime.instructions.spark" target="classFrame">AggregateUnarySPInstruction.RDDUAggFunction2</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/spark/AggregateUnarySPInstruction.RDDUTensorAggFunction2.html" title="class in org.apache.sysds.runtime.instructions.spark" target="classFrame">AggregateUnarySPInstruction.RDDUTensorAggFunction2</a></li>
 <li><a href="org/apache/sysds/hops/AggUnaryOp.html" title="class in org.apache.sysds.hops" target="classFrame">AggUnaryOp</a></li>
+<li><a href="org/apache/sysds/runtime/compress/colgroup/tree/AInsertionSorter.html" title="class in org.apache.sysds.runtime.compress.colgroup.tree" target="classFrame">AInsertionSorter</a></li>
 <li><a href="org/apache/sysds/runtime/functionobjects/And.html" title="class in org.apache.sysds.runtime.functionobjects" target="classFrame">And</a></li>
 <li><a href="org/apache/sysds/lops/Append.html" title="class in org.apache.sysds.lops" target="classFrame">Append</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/cp/AppendCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp" target="classFrame">AppendCPInstruction</a></li>
@@ -52,12 +57,17 @@
 <li><a href="org/apache/sysds/lops/AppendM.html" title="class in org.apache.sysds.lops" target="classFrame">AppendM</a></li>
 <li><a href="org/apache/sysds/lops/AppendM.CacheType.html" title="enum in org.apache.sysds.lops" target="classFrame">AppendM.CacheType</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/spark/AppendMSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark" target="classFrame">AppendMSPInstruction</a></li>
+<li><a href="org/apache/sysds/runtime/privacy/propagation/AppendPropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation" target="classFrame">AppendPropagator</a></li>
 <li><a href="org/apache/sysds/lops/AppendR.html" title="class in org.apache.sysds.lops" target="classFrame">AppendR</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/spark/AppendRSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark" target="classFrame">AppendRSPInstruction</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/gpu/ArithmeticBinaryGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu" target="classFrame">ArithmeticBinaryGPUInstruction</a></li>
+<li><a href="org/apache/sysds/runtime/compress/colgroup/pre/ArrPreAggregate.html" title="class in org.apache.sysds.runtime.compress.colgroup.pre" target="classFrame">ArrPreAggregate</a></li>
 <li><a href="org/apache/sysds/parser/AssignmentStatement.html" title="class in org.apache.sysds.parser" target="classFrame">AssignmentStatement</a></li>
+<li><a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/BalanceToAvgFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp" target="classFrame">BalanceToAvgFederatedScheme</a></li>
 <li><a href="org/apache/sysds/runtime/controlprogram/BasicProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram" target="classFrame">BasicProgramBlock</a></li>
 <li><a href="org/apache/sysds/runtime/data/BasicTensorBlock.html" title="class in org.apache.sysds.runtime.data" target="classFrame">BasicTensorBlock</a></li>
+<li><a href="org/apache/sysds/hops/codegen/cplan/cuda/Binary.html" title="class in org.apache.sysds.hops.codegen.cplan.cuda" target="classFrame">Binary</a></li>
+<li><a href="org/apache/sysds/hops/codegen/cplan/java/Binary.html" title="class in org.apache.sysds.hops.codegen.cplan.java" target="classFrame">Binary</a></li>
 <li><a href="org/apache/sysds/lops/Binary.html" title="class in org.apache.sysds.lops" target="classFrame">Binary</a></li>
 <li><a href="org/apache/sysds/runtime/util/BinaryBlockInputFormat.html" title="class in org.apache.sysds.runtime.util" target="classFrame">BinaryBlockInputFormat</a></li>
 <li><a href="org/apache/sysds/runtime/util/BinaryBlockRecordReader.html" title="class in org.apache.sysds.runtime.util" target="classFrame">BinaryBlockRecordReader</a></li>
@@ -97,8 +107,9 @@
 <li><a href="org/apache/sysds/runtime/instructions/spark/BinUaggChainSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark" target="classFrame">BinUaggChainSPInstruction</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/spark/BinUaggChainSPInstruction.RDDBinUaggChainFunction.html" title="class in org.apache.sysds.runtime.instructions.spark" target="classFrame">BinUaggChainSPInstruction.RDDBinUaggChainFunction</a></li>
 <li><a href="org/apache/sysds/runtime/compress/utils/Bitmap.html" title="class in org.apache.sysds.runtime.compress.utils" target="classFrame">Bitmap</a></li>
-<li><a href="org/apache/sysds/runtime/compress/BitmapEncoder.html" title="class in org.apache.sysds.runtime.compress" target="classFrame">BitmapEncoder</a></li>
+<li><a href="org/apache/sysds/runtime/compress/lib/BitmapEncoder.html" title="class in org.apache.sysds.runtime.compress.lib" target="classFrame">BitmapEncoder</a></li>
 <li><a href="org/apache/sysds/runtime/compress/utils/BitmapLossy.html" title="class in org.apache.sysds.runtime.compress.utils" target="classFrame">BitmapLossy</a></li>
+<li><a href="org/apache/sysds/runtime/compress/lib/BitmapLossyEncoder.html" title="class in org.apache.sysds.runtime.compress.lib" target="classFrame">BitmapLossyEncoder</a></li>
 <li><a href="org/apache/sysds/runtime/functionobjects/BitwAnd.html" title="class in org.apache.sysds.runtime.functionobjects" target="classFrame">BitwAnd</a></li>
 <li><a href="org/apache/sysds/runtime/functionobjects/BitwOr.html" title="class in org.apache.sysds.runtime.functionobjects" target="classFrame">BitwOr</a></li>
 <li><a href="org/apache/sysds/runtime/functionobjects/BitwShiftL.html" title="class in org.apache.sysds.runtime.functionobjects" target="classFrame">BitwShiftL</a></li>
@@ -132,13 +143,24 @@
 <li><a href="org/apache/sysds/runtime/controlprogram/caching/CacheStatistics.html" title="class in org.apache.sysds.runtime.controlprogram.caching" target="classFrame">CacheStatistics</a></li>
 <li><a href="org/apache/sysds/runtime/controlprogram/caching/CacheStatistics.Stat.html" title="enum in org.apache.sysds.runtime.controlprogram.caching" target="classFrame">CacheStatistics.Stat</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/spark/CastSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark" target="classFrame">CastSPInstruction</a></li>
+<li><a href="org/apache/sysds/runtime/privacy/propagation/CBindPropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation" target="classFrame">CBindPropagator</a></li>
 <li><a href="org/apache/sysds/runtime/controlprogram/parfor/util/Cell.html" title="class in org.apache.sysds.runtime.controlprogram.parfor.util" target="classFrame">Cell</a></li>
 <li><a href="org/apache/sysds/lops/CentralMoment.html" title="class in org.apache.sysds.lops" target="classFrame">CentralMoment</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/cp/CentralMomentCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp" target="classFrame">CentralMomentCPInstruction</a></li>
+<li><a href="org/apache/sysds/runtime/instructions/fed/CentralMomentFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed" target="classFrame">CentralMomentFEDInstruction</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/spark/CentralMomentSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark" target="classFrame">CentralMomentSPInstruction</a></li>
 <li><a href="org/apache/sysds/runtime/privacy/CheckedConstraintsLog.html" title="class in org.apache.sysds.runtime.privacy" target="classFrame">CheckedConstraintsLog</a></li>
 <li><a href="org/apache/sysds/lops/Checkpoint.html" title="class in org.apache.sysds.lops" target="classFrame">Checkpoint</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/spark/CheckpointSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark" target="classFrame">CheckpointSPInstruction</a></li>
+<li><a href="org/apache/sysds/runtime/compress/lib/CLALibAppend.html" title="class in org.apache.sysds.runtime.compress.lib" target="classFrame">CLALibAppend</a></li>
+<li><a href="org/apache/sysds/runtime/compress/lib/CLALibBinaryCellOp.html" title="class in org.apache.sysds.runtime.compress.lib" target="classFrame">CLALibBinaryCellOp</a></li>
+<li><a href="org/apache/sysds/runtime/compress/lib/CLALibCompAgg.html" title="class in org.apache.sysds.runtime.compress.lib" target="classFrame">CLALibCompAgg</a></li>
+<li><a href="org/apache/sysds/runtime/compress/lib/CLALibLeftMultBy.html" title="class in org.apache.sysds.runtime.compress.lib" target="classFrame">CLALibLeftMultBy</a></li>
+<li><a href="org/apache/sysds/runtime/compress/lib/CLALibReExpand.html" title="class in org.apache.sysds.runtime.compress.lib" target="classFrame">CLALibReExpand</a></li>
+<li><a href="org/apache/sysds/runtime/compress/lib/CLALibRelationalOp.html" title="class in org.apache.sysds.runtime.compress.lib" target="classFrame">CLALibRelationalOp</a></li>
+<li><a href="org/apache/sysds/runtime/compress/lib/CLALibRightMultBy.html" title="class in org.apache.sysds.runtime.compress.lib" target="classFrame">CLALibRightMultBy</a></li>
+<li><a href="org/apache/sysds/runtime/compress/lib/CLALibScalar.html" title="class in org.apache.sysds.runtime.compress.lib" target="classFrame">CLALibScalar</a></li>
+<li><a href="org/apache/sysds/runtime/compress/lib/CLALibSquash.html" title="class in org.apache.sysds.runtime.compress.lib" target="classFrame">CLALibSquash</a></li>
 <li><a href="org/apache/sysds/runtime/functionobjects/CM.html" title="class in org.apache.sysds.runtime.functionobjects" target="classFrame">CM</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/cp/CM_COV_Object.html" title="class in org.apache.sysds.runtime.instructions.cp" target="classFrame">CM_COV_Object</a></li>
 <li><a href="org/apache/sysds/runtime/matrix/data/CM_N_COVCell.html" title="class in org.apache.sysds.runtime.matrix.data" target="classFrame">CM_N_COVCell</a></li>
@@ -160,24 +182,32 @@
 <li><a href="org/apache/sysds/hops/codegen/cplan/CNodeUnary.html" title="class in org.apache.sysds.hops.codegen.cplan" target="classFrame">CNodeUnary</a></li>
 <li><a href="org/apache/sysds/hops/codegen/cplan/CNodeUnary.UnaryType.html" title="enum in org.apache.sysds.hops.codegen.cplan" target="classFrame">CNodeUnary.UnaryType</a></li>
 <li><a href="org/apache/sysds/runtime/codegen/CodegenUtils.html" title="class in org.apache.sysds.runtime.codegen" target="classFrame">CodegenUtils</a></li>
-<li><a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup" target="classFrame">ColGroup</a></li>
-<li><a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup" target="classFrame">ColGroup.CompressionType</a></li>
+<li><a href="org/apache/sysds/hops/codegen/cplan/CodeTemplate.html" title="class in org.apache.sysds.hops.codegen.cplan" target="classFrame">CodeTemplate</a></li>
 <li><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html" title="class in org.apache.sysds.runtime.compress.colgroup" target="classFrame">ColGroupConst</a></li>
 <li><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupConverter.html" title="class in org.apache.sysds.runtime.compress.colgroup" target="classFrame">ColGroupConverter</a></li>
 <li><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup" target="classFrame">ColGroupDDC</a></li>
-<li><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html" title="class in org.apache.sysds.runtime.compress.colgroup" target="classFrame">ColGroupDDC1</a></li>
-<li><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html" title="class in org.apache.sysds.runtime.compress.colgroup" target="classFrame">ColGroupDDC2</a></li>
+<li><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html" title="class in org.apache.sysds.runtime.compress.colgroup" target="classFrame">ColGroupEmpty</a></li>
 <li><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupFactory.html" title="class in org.apache.sysds.runtime.compress.colgroup" target="classFrame">ColGroupFactory</a></li>
 <li><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupIO.html" title="class in org.apache.sysds.runtime.compress.colgroup" target="classFrame">ColGroupIO</a></li>
 <li><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html" title="class in org.apache.sysds.runtime.compress.colgroup" target="classFrame">ColGroupOffset</a></li>
 <li><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup" target="classFrame">ColGroupOLE</a></li>
 <li><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup" target="classFrame">ColGroupRLE</a></li>
+<li><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html" title="class in org.apache.sysds.runtime.compress.colgroup" target="classFrame">ColGroupSDC</a></li>
+<li><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html" title="class in org.apache.sysds.runtime.compress.colgroup" target="classFrame">ColGroupSDCSingle</a></li>
+<li><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup" target="classFrame">ColGroupSDCSingleZeros</a></li>
+<li><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup" target="classFrame">ColGroupSDCZeros</a></li>
 <li><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSizes.html" title="class in org.apache.sysds.runtime.compress.colgroup" target="classFrame">ColGroupSizes</a></li>
 <li><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html" title="class in org.apache.sysds.runtime.compress.colgroup" target="classFrame">ColGroupUncompressed</a></li>
 <li><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup" target="classFrame">ColGroupValue</a></li>
 <li><a href="org/apache/sysds/runtime/util/CollectionUtils.html" title="class in org.apache.sysds.runtime.util" target="classFrame">CollectionUtils</a></li>
-<li><a href="org/apache/sysds/runtime/compress/utils/ColumnGroupIterator.html" title="class in org.apache.sysds.runtime.compress.utils" target="classFrame">ColumnGroupIterator</a></li>
-<li><a href="org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitioner.html" title="class in org.apache.sysds.runtime.compress.cocode" target="classFrame">ColumnGroupPartitioner</a></li>
+<li><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode" target="classFrame">ColumnEncoder</a></li>
+<li><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoder.EncoderType.html" title="enum in org.apache.sysds.runtime.transform.encode" target="classFrame">ColumnEncoder.EncoderType</a></li>
+<li><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderBin.html" title="class in org.apache.sysds.runtime.transform.encode" target="classFrame">ColumnEncoderBin</a></li>
+<li><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode" target="classFrame">ColumnEncoderComposite</a></li>
+<li><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderDummycode.html" title="class in org.apache.sysds.runtime.transform.encode" target="classFrame">ColumnEncoderDummycode</a></li>
+<li><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderFeatureHash.html" title="class in org.apache.sysds.runtime.transform.encode" target="classFrame">ColumnEncoderFeatureHash</a></li>
+<li><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderPassThrough.html" title="class in org.apache.sysds.runtime.transform.encode" target="classFrame">ColumnEncoderPassThrough</a></li>
+<li><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderRecode.html" title="class in org.apache.sysds.runtime.transform.encode" target="classFrame">ColumnEncoderRecode</a></li>
 <li><a href="org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitionerBinPacking.html" title="class in org.apache.sysds.runtime.compress.cocode" target="classFrame">ColumnGroupPartitionerBinPacking</a></li>
 <li><a href="org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitionerCost.html" title="class in org.apache.sysds.runtime.compress.cocode" target="classFrame">ColumnGroupPartitionerCost</a></li>
 <li><a href="org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitionerStatic.html" title="class in org.apache.sysds.runtime.compress.cocode" target="classFrame">ColumnGroupPartitionerStatic</a></li>
@@ -237,6 +267,7 @@
 <li><a href="org/apache/sysds/runtime/functionobjects/COV.html" title="class in org.apache.sysds.runtime.functionobjects" target="classFrame">COV</a></li>
 <li><a href="org/apache/sysds/lops/CoVariance.html" title="class in org.apache.sysds.lops" target="classFrame">CoVariance</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/cp/CovarianceCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp" target="classFrame">CovarianceCPInstruction</a></li>
+<li><a href="org/apache/sysds/runtime/instructions/fed/CovarianceFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed" target="classFrame">CovarianceFEDInstruction</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/spark/CovarianceSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark" target="classFrame">CovarianceSPInstruction</a></li>
 <li><a href="org/apache/sysds/runtime/matrix/operators/COVOperator.html" title="class in org.apache.sysds.runtime.matrix.operators" target="classFrame">COVOperator</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/cp/CPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp" target="classFrame">CPInstruction</a></li>
@@ -290,6 +321,9 @@
 <li><a href="org/apache/sysds/runtime/controlprogram/parfor/DataPartitionerRemoteSparkReducer.html" title="class in org.apache.sysds.runtime.controlprogram.parfor" target="classFrame">DataPartitionerRemoteSparkReducer</a></li>
 <li><a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionerSparkAggregator.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp" target="classFrame">DataPartitionerSparkAggregator</a></li>
 <li><a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionerSparkMapper.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp" target="classFrame">DataPartitionerSparkMapper</a></li>
+<li><a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp" target="classFrame">DataPartitionFederatedScheme</a></li>
+<li><a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.BalanceMetrics.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp" target="classFrame">DataPartitionFederatedScheme.BalanceMetrics</a></li>
+<li><a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.Result.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp" target="classFrame">DataPartitionFederatedScheme.Result</a></li>
 <li><a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionLocalScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp" target="classFrame">DataPartitionLocalScheme</a></li>
 <li><a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionSparkScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp" target="classFrame">DataPartitionSparkScheme</a></li>
 <li><a href="org/apache/sysds/runtime/privacy/finegrained/DataRange.html" title="class in org.apache.sysds.runtime.privacy.finegrained" target="classFrame">DataRange</a></li>
@@ -303,8 +337,14 @@
 <li><a href="org/apache/sysds/runtime/transform/decode/DecoderComposite.html" title="class in org.apache.sysds.runtime.transform.decode" target="classFrame">DecoderComposite</a></li>
 <li><a href="org/apache/sysds/runtime/transform/decode/DecoderDummycode.html" title="class in org.apache.sysds.runtime.transform.decode" target="classFrame">DecoderDummycode</a></li>
 <li><a href="org/apache/sysds/runtime/transform/decode/DecoderFactory.html" title="class in org.apache.sysds.runtime.transform.decode" target="classFrame">DecoderFactory</a></li>
+<li><a href="org/apache/sysds/runtime/transform/decode/DecoderFactory.DecoderType.html" title="enum in org.apache.sysds.runtime.transform.decode" target="classFrame">DecoderFactory.DecoderType</a></li>
 <li><a href="org/apache/sysds/runtime/transform/decode/DecoderPassThrough.html" title="class in org.apache.sysds.runtime.transform.decode" target="classFrame">DecoderPassThrough</a></li>
 <li><a href="org/apache/sysds/runtime/transform/decode/DecoderRecode.html" title="class in org.apache.sysds.runtime.transform.decode" target="classFrame">DecoderRecode</a></li>
+<li><a href="org/apache/sysds/lops/DeCompression.html" title="class in org.apache.sysds.lops" target="classFrame">DeCompression</a></li>
+<li><a href="org/apache/sysds/lops/DeCompression.CompressConfig.html" title="enum in org.apache.sysds.lops" target="classFrame">DeCompression.CompressConfig</a></li>
+<li><a href="org/apache/sysds/runtime/instructions/cp/DeCompressionCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp" target="classFrame">DeCompressionCPInstruction</a></li>
+<li><a href="org/apache/sysds/runtime/instructions/spark/DeCompressionSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark" target="classFrame">DeCompressionSPInstruction</a></li>
+<li><a href="org/apache/sysds/runtime/instructions/spark/DeCompressionSPInstruction.DeCompressionFunction.html" title="class in org.apache.sysds.runtime.instructions.spark" target="classFrame">DeCompressionSPInstruction.DeCompressionFunction</a></li>
 <li><a href="org/apache/sysds/runtime/data/DenseBlock.html" title="class in org.apache.sysds.runtime.data" target="classFrame">DenseBlock</a></li>
 <li><a href="org/apache/sysds/runtime/data/DenseBlock.Type.html" title="enum in org.apache.sysds.runtime.data" target="classFrame">DenseBlock.Type</a></li>
 <li><a href="org/apache/sysds/runtime/data/DenseBlockBool.html" title="class in org.apache.sysds.runtime.data" target="classFrame">DenseBlockBool</a></li>
@@ -322,7 +362,6 @@
 <li><a href="org/apache/sysds/runtime/data/DenseBlockLInt64.html" title="class in org.apache.sysds.runtime.data" target="classFrame">DenseBlockLInt64</a></li>
 <li><a href="org/apache/sysds/runtime/data/DenseBlockLString.html" title="class in org.apache.sysds.runtime.data" target="classFrame">DenseBlockLString</a></li>
 <li><a href="org/apache/sysds/runtime/data/DenseBlockString.html" title="class in org.apache.sysds.runtime.data" target="classFrame">DenseBlockString</a></li>
-<li><a href="org/apache/sysds/runtime/compress/colgroup/DenseRowIterator.html" title="class in org.apache.sysds.runtime.compress.colgroup" target="classFrame">DenseRowIterator</a></li>
 <li><a href="org/apache/sysds/runtime/functionobjects/DiagIndex.html" title="class in org.apache.sysds.runtime.functionobjects" target="classFrame">DiagIndex</a></li>
 <li><a href="org/apache/sysds/runtime/compress/colgroup/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup" target="classFrame">Dictionary</a></li>
 <li><a href="org/apache/sysds/runtime/functionobjects/Divide.html" title="class in org.apache.sysds.runtime.functionobjects" target="classFrame">Divide</a></li>
@@ -398,6 +437,8 @@
 <li><a href="org/apache/sysds/parser/dml/DmlSyntacticValidator.html" title="class in org.apache.sysds.parser.dml" target="classFrame">DmlSyntacticValidator</a></li>
 <li><a href="org/apache/sysds/parser/dml/DmlSyntacticValidator.ConvertedDMLSyntax.html" title="class in org.apache.sysds.parser.dml" target="classFrame">DmlSyntacticValidator.ConvertedDMLSyntax</a></li>
 <li><a href="org/apache/sysds/parser/DMLTranslator.html" title="class in org.apache.sysds.parser" target="classFrame">DMLTranslator</a></li>
+<li><a href="org/apache/sysds/runtime/util/DMVUtils.html" title="class in org.apache.sysds.runtime.util" target="classFrame">DMVUtils</a></li>
+<li><a href="org/apache/sysds/runtime/util/DMVUtils.LEVEL_ENUM.html" title="enum in org.apache.sysds.runtime.util" target="classFrame">DMVUtils.LEVEL_ENUM</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/cp/DnnCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp" target="classFrame">DnnCPInstruction</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/gpu/DnnGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu" target="classFrame">DnnGPUInstruction</a></li>
 <li><a href="org/apache/sysds/hops/DnnOp.html" title="class in org.apache.sysds.hops" target="classFrame">DnnOp</a></li>
@@ -413,17 +454,12 @@
 <li><a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/DRRLocalScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp" target="classFrame">DRRLocalScheme</a></li>
 <li><a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/DRRSparkScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp" target="classFrame">DRRSparkScheme</a></li>
 <li><a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/DRSparkScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp" target="classFrame">DRSparkScheme</a></li>
-<li><a href="org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode" target="classFrame">Encoder</a></li>
-<li><a href="org/apache/sysds/runtime/transform/encode/EncoderBin.html" title="class in org.apache.sysds.runtime.transform.encode" target="classFrame">EncoderBin</a></li>
-<li><a href="org/apache/sysds/runtime/transform/encode/EncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode" target="classFrame">EncoderComposite</a></li>
-<li><a href="org/apache/sysds/runtime/transform/encode/EncoderDummycode.html" title="class in org.apache.sysds.runtime.transform.encode" target="classFrame">EncoderDummycode</a></li>
+<li><a href="org/apache/sysds/runtime/util/EMAUtils.html" title="class in org.apache.sysds.runtime.util" target="classFrame">EMAUtils</a></li>
+<li><a href="org/apache/sysds/runtime/transform/encode/Encoder.html" title="interface in org.apache.sysds.runtime.transform.encode" target="classFrame"><span class="interfaceName">Encoder</span></a></li>
 <li><a href="org/apache/sysds/runtime/transform/encode/EncoderFactory.html" title="class in org.apache.sysds.runtime.transform.encode" target="classFrame">EncoderFactory</a></li>
-<li><a href="org/apache/sysds/runtime/transform/encode/EncoderFeatureHash.html" title="class in org.apache.sysds.runtime.transform.encode" target="classFrame">EncoderFeatureHash</a></li>
 <li><a href="org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html" title="class in org.apache.sysds.runtime.transform.encode" target="classFrame">EncoderMVImpute</a></li>
 <li><a href="org/apache/sysds/runtime/transform/encode/EncoderMVImpute.MVMethod.html" title="enum in org.apache.sysds.runtime.transform.encode" target="classFrame">EncoderMVImpute.MVMethod</a></li>
 <li><a href="org/apache/sysds/runtime/transform/encode/EncoderOmit.html" title="class in org.apache.sysds.runtime.transform.encode" target="classFrame">EncoderOmit</a></li>
-<li><a href="org/apache/sysds/runtime/transform/encode/EncoderPassThrough.html" title="class in org.apache.sysds.runtime.transform.encode" target="classFrame">EncoderPassThrough</a></li>
-<li><a href="org/apache/sysds/runtime/transform/encode/EncoderRecode.html" title="class in org.apache.sysds.runtime.transform.encode" target="classFrame">EncoderRecode</a></li>
 <li><a href="org/apache/sysds/utils/EnvironmentHelper.html" title="class in org.apache.sysds.utils" target="classFrame">EnvironmentHelper</a></li>
 <li><a href="org/apache/sysds/runtime/functionobjects/Equals.html" title="class in org.apache.sysds.runtime.functionobjects" target="classFrame">Equals</a></li>
 <li><a href="org/apache/sysds/runtime/compress/estim/EstimationFactors.html" title="class in org.apache.sysds.runtime.compress.estim" target="classFrame">EstimationFactors</a></li>
@@ -468,7 +504,9 @@
 <li><a href="org/apache/sysds/runtime/util/FastStringTokenizer.html" title="class in org.apache.sysds.runtime.util" target="classFrame">FastStringTokenizer</a></li>
 <li><a href="org/apache/sysds/lops/Federated.html" title="class in org.apache.sysds.lops" target="classFrame">Federated</a></li>
 <li><a href="org/apache/sysds/runtime/controlprogram/federated/FederatedData.html" title="class in org.apache.sysds.runtime.controlprogram.federated" target="classFrame">FederatedData</a></li>
+<li><a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/FederatedDataPartitioner.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp" target="classFrame">FederatedDataPartitioner</a></li>
 <li><a href="org/apache/sysds/runtime/controlprogram/federated/FederatedLocalData.html" title="class in org.apache.sysds.runtime.controlprogram.federated" target="classFrame">FederatedLocalData</a></li>
+<li><a href="org/apache/sysds/runtime/controlprogram/paramserv/FederatedPSControlThread.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv" target="classFrame">FederatedPSControlThread</a></li>
 <li><a href="org/apache/sysds/runtime/controlprogram/federated/FederatedRange.html" title="class in org.apache.sysds.runtime.controlprogram.federated" target="classFrame">FederatedRange</a></li>
 <li><a href="org/apache/sysds/runtime/controlprogram/federated/FederatedRequest.html" title="class in org.apache.sysds.runtime.controlprogram.federated" target="classFrame">FederatedRequest</a></li>
 <li><a href="org/apache/sysds/runtime/controlprogram/federated/FederatedRequest.RequestType.html" title="enum in org.apache.sysds.runtime.controlprogram.federated" target="classFrame">FederatedRequest.RequestType</a></li>
@@ -592,12 +630,14 @@
 <li><a href="org/apache/sysds/parser/IfStatement.html" title="class in org.apache.sysds.parser" target="classFrame">IfStatement</a></li>
 <li><a href="org/apache/sysds/parser/IfStatementBlock.html" title="class in org.apache.sysds.parser" target="classFrame">IfStatementBlock</a></li>
 <li><a href="org/apache/sysds/runtime/matrix/data/IJV.html" title="class in org.apache.sysds.runtime.matrix.data" target="classFrame">IJV</a></li>
+<li><a href="org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html" title="interface in org.apache.sysds.runtime.compress.colgroup.mapping" target="classFrame"><span class="interfaceName">IMapToData</span></a></li>
 <li><a href="org/apache/sysds/parser/ImportStatement.html" title="class in org.apache.sysds.parser" target="classFrame">ImportStatement</a></li>
 <li><a href="org/apache/sysds/parser/IndexedIdentifier.html" title="class in org.apache.sysds.parser" target="classFrame">IndexedIdentifier</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/spark/data/IndexedMatrixValue.html" title="class in org.apache.sysds.runtime.instructions.spark.data" target="classFrame">IndexedMatrixValue</a></li>
 <li><a href="org/apache/sysds/runtime/data/IndexedTensorBlock.html" title="class in org.apache.sysds.runtime.data" target="classFrame">IndexedTensorBlock</a></li>
 <li><a href="org/apache/sysds/runtime/functionobjects/IndexFunction.html" title="class in org.apache.sysds.runtime.functionobjects" target="classFrame">IndexFunction</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/cp/IndexingCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp" target="classFrame">IndexingCPInstruction</a></li>
+<li><a href="org/apache/sysds/runtime/instructions/fed/IndexingFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed" target="classFrame">IndexingFEDInstruction</a></li>
 <li><a href="org/apache/sysds/hops/IndexingOp.html" title="class in org.apache.sysds.hops" target="classFrame">IndexingOp</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/spark/IndexingSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark" target="classFrame">IndexingSPInstruction</a></li>
 <li><a href="org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util" target="classFrame">IndexRange</a></li>
@@ -605,6 +645,7 @@
 <li><a href="org/apache/sysds/runtime/instructions/fed/InitFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed" target="classFrame">InitFEDInstruction</a></li>
 <li><a href="org/apache/sysds/runtime/io/InputOutputInfo.html" title="class in org.apache.sysds.runtime.io" target="classFrame">InputOutputInfo</a></li>
 <li><a href="org/apache/sysds/runtime/util/InputStreamInputFormat.html" title="class in org.apache.sysds.runtime.util" target="classFrame">InputStreamInputFormat</a></li>
+<li><a href="org/apache/sysds/runtime/compress/colgroup/tree/InsertionSorterFactory.html" title="class in org.apache.sysds.runtime.compress.colgroup.tree" target="classFrame">InsertionSorterFactory</a></li>
 <li><a href="org/apache/sysds/utils/InstallDependencyForIntegrationTests.html" title="class in org.apache.sysds.utils" target="classFrame">InstallDependencyForIntegrationTests</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions" target="classFrame">Instruction</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/Instruction.IType.html" title="enum in org.apache.sysds.runtime.instructions" target="classFrame">Instruction.IType</a></li>
@@ -616,6 +657,7 @@
 <li><a href="org/apache/sysds/hops/codegen/opt/InterestingPoint.DecisionType.html" title="enum in org.apache.sysds.hops.codegen.opt" target="classFrame">InterestingPoint.DecisionType</a></li>
 <li><a href="org/apache/sysds/hops/ipa/InterProceduralAnalysis.html" title="class in org.apache.sysds.hops.ipa" target="classFrame">InterProceduralAnalysis</a></li>
 <li><a href="org/apache/sysds/parser/IntIdentifier.html" title="class in org.apache.sysds.parser" target="classFrame">IntIdentifier</a></li>
+<li><a href="org/apache/sysds/runtime/compress/utils/IntIntMap.html" title="class in org.apache.sysds.runtime.compress.utils" target="classFrame">IntIntMap</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/cp/IntObject.html" title="class in org.apache.sysds.runtime.instructions.cp" target="classFrame">IntObject</a></li>
 <li><a href="org/apache/sysds/runtime/io/IOUtilFunctions.html" title="class in org.apache.sysds.runtime.io" target="classFrame">IOUtilFunctions</a></li>
 <li><a href="org/apache/sysds/runtime/io/IOUtilFunctions.CountRowsTask.html" title="class in org.apache.sysds.runtime.io" target="classFrame">IOUtilFunctions.CountRowsTask</a></li>
@@ -630,6 +672,7 @@
 <li><a href="org/apache/sysds/hops/ipa/IPAPassRemoveConstantBinaryOps.html" title="class in org.apache.sysds.hops.ipa" target="classFrame">IPAPassRemoveConstantBinaryOps</a></li>
 <li><a href="org/apache/sysds/hops/ipa/IPAPassRemoveUnnecessaryCheckpoints.html" title="class in org.apache.sysds.hops.ipa" target="classFrame">IPAPassRemoveUnnecessaryCheckpoints</a></li>
 <li><a href="org/apache/sysds/hops/ipa/IPAPassRemoveUnusedFunctions.html" title="class in org.apache.sysds.hops.ipa" target="classFrame">IPAPassRemoveUnusedFunctions</a></li>
+<li><a href="org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre" target="classFrame"><span class="interfaceName">IPreAggregate</span></a></li>
 <li><a href="org/apache/sysds/runtime/instructions/spark/functions/IsBlockInList.html" title="class in org.apache.sysds.runtime.instructions.spark.functions" target="classFrame">IsBlockInList</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/spark/functions/IsBlockInRange.html" title="class in org.apache.sysds.runtime.instructions.spark.functions" target="classFrame">IsBlockInRange</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/spark/functions/IsFrameBlockInRange.html" title="class in org.apache.sysds.runtime.instructions.spark.functions" target="classFrame">IsFrameBlockInRange</a></li>
@@ -641,6 +684,7 @@
 <li><a href="org/apache/sysds/runtime/instructions/cp/KahanObject.html" title="class in org.apache.sysds.runtime.instructions.cp" target="classFrame">KahanObject</a></li>
 <li><a href="org/apache/sysds/runtime/functionobjects/KahanPlus.html" title="class in org.apache.sysds.runtime.functionobjects" target="classFrame">KahanPlus</a></li>
 <li><a href="org/apache/sysds/runtime/functionobjects/KahanPlusSq.html" title="class in org.apache.sysds.runtime.functionobjects" target="classFrame">KahanPlusSq</a></li>
+<li><a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/KeepDataOnWorkerFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp" target="classFrame">KeepDataOnWorkerFederatedScheme</a></li>
 <li><a href="org/apache/sysds/parser/LanguageException.html" title="class in org.apache.sysds.parser" target="classFrame">LanguageException</a></li>
 <li><a href="org/apache/sysds/parser/LanguageException.LanguageErrorCodes.html" title="class in org.apache.sysds.parser" target="classFrame">LanguageException.LanguageErrorCodes</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/spark/data/LazyIterableIterator.html" title="class in org.apache.sysds.runtime.instructions.spark.data" target="classFrame">LazyIterableIterator</a></li>
@@ -651,11 +695,10 @@
 <li><a href="org/apache/sysds/hops/LeftIndexingOp.html" title="class in org.apache.sysds.hops" target="classFrame">LeftIndexingOp</a></li>
 <li><a href="org/apache/sysds/hops/LeftIndexingOp.LeftIndexingMethod.html" title="enum in org.apache.sysds.hops" target="classFrame">LeftIndexingOp.LeftIndexingMethod</a></li>
 <li><a href="org/apache/sysds/runtime/matrix/operators/LeftScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators" target="classFrame">LeftScalarOperator</a></li>
+<li><a href="org/apache/sysds/runtime/transform/encode/LegacyEncoder.html" title="class in org.apache.sysds.runtime.transform.encode" target="classFrame">LegacyEncoder</a></li>
 <li><a href="org/apache/sysds/runtime/functionobjects/LessThan.html" title="class in org.apache.sysds.runtime.functionobjects" target="classFrame">LessThan</a></li>
 <li><a href="org/apache/sysds/runtime/functionobjects/LessThanEquals.html" title="class in org.apache.sysds.runtime.functionobjects" target="classFrame">LessThanEquals</a></li>
-<li><a href="org/apache/sysds/runtime/compress/lib/LibBinaryCellOp.html" title="class in org.apache.sysds.runtime.compress.lib" target="classFrame">LibBinaryCellOp</a></li>
 <li><a href="org/apache/sysds/runtime/matrix/data/LibCommonsMath.html" title="class in org.apache.sysds.runtime.matrix.data" target="classFrame">LibCommonsMath</a></li>
-<li><a href="org/apache/sysds/runtime/compress/lib/LibLeftMultBy.html" title="class in org.apache.sysds.runtime.compress.lib" target="classFrame">LibLeftMultBy</a></li>
 <li><a href="org/apache/sysds/runtime/matrix/data/LibMatrixAgg.html" title="class in org.apache.sysds.runtime.matrix.data" target="classFrame">LibMatrixAgg</a></li>
 <li><a href="org/apache/sysds/runtime/matrix/data/LibMatrixBincell.html" title="class in org.apache.sysds.runtime.matrix.data" target="classFrame">LibMatrixBincell</a></li>
 <li><a href="org/apache/sysds/runtime/matrix/data/LibMatrixBincell.BinaryAccessType.html" title="enum in org.apache.sysds.runtime.matrix.data" target="classFrame">LibMatrixBincell.BinaryAccessType</a></li>
@@ -682,8 +725,7 @@
 <li><a href="org/apache/sysds/runtime/matrix/data/LibMatrixNative.html" title="class in org.apache.sysds.runtime.matrix.data" target="classFrame">LibMatrixNative</a></li>
 <li><a href="org/apache/sysds/runtime/matrix/data/LibMatrixOuterAgg.html" title="class in org.apache.sysds.runtime.matrix.data" target="classFrame">LibMatrixOuterAgg</a></li>
 <li><a href="org/apache/sysds/runtime/matrix/data/LibMatrixReorg.html" title="class in org.apache.sysds.runtime.matrix.data" target="classFrame">LibMatrixReorg</a></li>
-<li><a href="org/apache/sysds/runtime/compress/lib/LibRightMultBy.html" title="class in org.apache.sysds.runtime.compress.lib" target="classFrame">LibRightMultBy</a></li>
-<li><a href="org/apache/sysds/runtime/compress/lib/LibScalar.html" title="class in org.apache.sysds.runtime.compress.lib" target="classFrame">LibScalar</a></li>
+<li><a href="org/apache/sysds/runtime/matrix/data/LibMatrixTercell.html" title="class in org.apache.sysds.runtime.matrix.data" target="classFrame">LibMatrixTercell</a></li>
 <li><a href="org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html" title="class in org.apache.sysds.runtime.codegen" target="classFrame">LibSpoofPrimitives</a></li>
 <li><a href="org/apache/sysds/runtime/data/LibTensorAgg.html" title="class in org.apache.sysds.runtime.data" target="classFrame">LibTensorAgg</a></li>
 <li><a href="org/apache/sysds/runtime/data/LibTensorBincell.html" title="class in org.apache.sysds.runtime.data" target="classFrame">LibTensorBincell</a></li>
@@ -699,6 +741,8 @@
 <li><a href="org/apache/sysds/runtime/lineage/LineageCodegenItem.html" title="class in org.apache.sysds.runtime.lineage" target="classFrame">LineageCodegenItem</a></li>
 <li><a href="org/apache/sysds/runtime/lineage/LineageDedupBlock.html" title="class in org.apache.sysds.runtime.lineage" target="classFrame">LineageDedupBlock</a></li>
 <li><a href="org/apache/sysds/runtime/lineage/LineageDedupUtils.html" title="class in org.apache.sysds.runtime.lineage" target="classFrame">LineageDedupUtils</a></li>
+<li><a href="org/apache/sysds/runtime/lineage/LineageEstimator.html" title="class in org.apache.sysds.runtime.lineage" target="classFrame">LineageEstimator</a></li>
+<li><a href="org/apache/sysds/runtime/lineage/LineageEstimatorStatistics.html" title="class in org.apache.sysds.runtime.lineage" target="classFrame">LineageEstimatorStatistics</a></li>
 <li><a href="org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage" target="classFrame">LineageItem</a></li>
 <li><a href="org/apache/sysds/runtime/lineage/LineageItem.LineageItemType.html" title="enum in org.apache.sysds.runtime.lineage" target="classFrame">LineageItem.LineageItemType</a></li>
 <li><a href="org/apache/sysds/runtime/lineage/LineageItemUtils.html" title="class in org.apache.sysds.runtime.lineage" target="classFrame">LineageItemUtils</a></li>
@@ -710,9 +754,11 @@
 <li><a href="org/apache/sysds/runtime/lineage/LineageTokenizer.html" title="class in org.apache.sysds.runtime.lineage" target="classFrame">LineageTokenizer</a></li>
 <li><a href="org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage" target="classFrame"><span class="interfaceName">LineageTraceable</span></a></li>
 <li><a href="org/apache/sysds/runtime/compress/utils/LinearAlgebraUtils.html" title="class in org.apache.sysds.runtime.compress.utils" target="classFrame">LinearAlgebraUtils</a></li>
+<li><a href="org/apache/sysds/runtime/privacy/propagation/ListAppendPropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation" target="classFrame">ListAppendPropagator</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/cp/ListAppendRemoveCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp" target="classFrame">ListAppendRemoveCPInstruction</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/cp/ListIndexingCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp" target="classFrame">ListIndexingCPInstruction</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/cp/ListObject.html" title="class in org.apache.sysds.runtime.instructions.cp" target="classFrame">ListObject</a></li>
+<li><a href="org/apache/sysds/runtime/privacy/propagation/ListRemovePropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation" target="classFrame">ListRemovePropagator</a></li>
 <li><a href="org/apache/sysds/hops/LiteralOp.html" title="class in org.apache.sysds.hops" target="classFrame">LiteralOp</a></li>
 <li><a href="org/apache/sysds/hops/recompile/LiteralReplacement.html" title="class in org.apache.sysds.hops.recompile" target="classFrame">LiteralReplacement</a></li>
 <li><a href="org/apache/sysds/parser/LiveVariableAnalysis.html" title="class in org.apache.sysds.parser" target="classFrame">LiveVariableAnalysis</a></li>
@@ -742,7 +788,14 @@
 <li><a href="org/apache/sysds/lops/MapMult.CacheType.html" title="enum in org.apache.sysds.lops" target="classFrame">MapMult.CacheType</a></li>
 <li><a href="org/apache/sysds/lops/MapMultChain.html" title="class in org.apache.sysds.lops" target="classFrame">MapMultChain</a></li>
 <li><a href="org/apache/sysds/lops/MapMultChain.ChainType.html" title="enum in org.apache.sysds.lops" target="classFrame">MapMultChain.ChainType</a></li>
+<li><a href="org/apache/sysds/runtime/compress/colgroup/pre/MapPreAggregate.html" title="class in org.apache.sysds.runtime.compress.colgroup.pre" target="classFrame">MapPreAggregate</a></li>
+<li><a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToBit.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping" target="classFrame">MapToBit</a></li>
+<li><a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToByte.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping" target="classFrame">MapToByte</a></li>
+<li><a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToChar.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping" target="classFrame">MapToChar</a></li>
+<li><a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToFactory.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping" target="classFrame">MapToFactory</a></li>
+<li><a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToInt.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping" target="classFrame">MapToInt</a></li>
 <li><a href="org/apache/sysds/hops/rewrite/MarkForLineageReuse.html" title="class in org.apache.sysds.hops.rewrite" target="classFrame">MarkForLineageReuse</a></li>
+<li><a href="org/apache/sysds/runtime/compress/colgroup/tree/MaterializeSort.html" title="class in org.apache.sysds.runtime.compress.colgroup.tree" target="classFrame">MaterializeSort</a></li>
 <li><a href="org/apache/sysds/lops/MatMultCP.html" title="class in org.apache.sysds.lops" target="classFrame">MatMultCP</a></li>
 <li><a href="org/apache/sysds/api/mlcontext/Matrix.html" title="class in org.apache.sysds.api.mlcontext" target="classFrame">Matrix</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/cp/MatrixAppendCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp" target="classFrame">MatrixAppendCPInstruction</a></li>
@@ -788,9 +841,11 @@
 <li><a href="org/apache/sysds/runtime/functionobjects/Mean.html" title="class in org.apache.sysds.runtime.functionobjects" target="classFrame">Mean</a></li>
 <li><a href="org/apache/sysds/utils/MemoryEstimates.html" title="class in org.apache.sysds.utils" target="classFrame">MemoryEstimates</a></li>
 <li><a href="org/apache/sysds/hops/MemoTable.html" title="class in org.apache.sysds.hops" target="classFrame">MemoTable</a></li>
+<li><a href="org/apache/sysds/runtime/compress/colgroup/tree/MergeSort.html" title="class in org.apache.sysds.runtime.compress.colgroup.tree" target="classFrame">MergeSort</a></li>
 <li><a href="org/apache/sysds/api/mlcontext/Metadata.html" title="class in org.apache.sysds.api.mlcontext" target="classFrame">Metadata</a></li>
 <li><a href="org/apache/sysds/runtime/meta/MetaData.html" title="class in org.apache.sysds.runtime.meta" target="classFrame">MetaData</a></li>
 <li><a href="org/apache/sysds/runtime/meta/MetaDataFormat.html" title="class in org.apache.sysds.runtime.meta" target="classFrame">MetaDataFormat</a></li>
+<li><a href="org/apache/sysds/runtime/meta/MetaDataUtils.html" title="class in org.apache.sysds.runtime.meta" target="classFrame">MetaDataUtils</a></li>
 <li><a href="org/apache/sysds/runtime/functionobjects/Minus.html" title="class in org.apache.sysds.runtime.functionobjects" target="classFrame">Minus</a></li>
 <li><a href="org/apache/sysds/runtime/functionobjects/Minus1Multiply.html" title="class in org.apache.sysds.runtime.functionobjects" target="classFrame">Minus1Multiply</a></li>
 <li><a href="org/apache/sysds/runtime/functionobjects/MinusMultiply.html" title="class in org.apache.sysds.runtime.functionobjects" target="classFrame">MinusMultiply</a></li>
@@ -816,6 +871,7 @@
 <li><a href="org/apache/sysds/lops/MMZip.html" title="class in org.apache.sysds.lops" target="classFrame">MMZip</a></li>
 <li><a href="org/apache/sysds/runtime/functionobjects/Modulus.html" title="class in org.apache.sysds.runtime.functionobjects" target="classFrame">Modulus</a></li>
 <li><a href="org/apache/sysds/parser/MultiAssignmentStatement.html" title="class in org.apache.sysds.parser" target="classFrame">MultiAssignmentStatement</a></li>
+<li><a href="org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode" target="classFrame">MultiColumnEncoder</a></li>
 <li><a href="org/apache/sysds/runtime/functionobjects/Multiply.html" title="class in org.apache.sysds.runtime.functionobjects" target="classFrame">Multiply</a></li>
 <li><a href="org/apache/sysds/runtime/functionobjects/Multiply2.html" title="class in org.apache.sysds.runtime.functionobjects" target="classFrame">Multiply2</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/cp/MultiReturnBuiltinCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp" target="classFrame">MultiReturnBuiltinCPInstruction</a></li>
@@ -829,6 +885,7 @@
 <li><a href="org/apache/sysds/runtime/instructions/spark/MultiReturnParameterizedBuiltinSPInstruction.TransformEncodeGroup2Function.html" title="class in org.apache.sysds.runtime.instructions.spark" target="classFrame">MultiReturnParameterizedBuiltinSPInstruction.TransformEncodeGroup2Function</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/spark/MultiReturnParameterizedBuiltinSPInstruction.TransformEncodeGroupFunction.html" title="class in org.apache.sysds.runtime.instructions.spark" target="classFrame">MultiReturnParameterizedBuiltinSPInstruction.TransformEncodeGroupFunction</a></li>
 <li><a href="org/apache/sysds/hops/MultiThreadedHop.html" title="class in org.apache.sysds.hops" target="classFrame">MultiThreadedHop</a></li>
+<li><a href="org/apache/sysds/runtime/compress/colgroup/tree/Naive.html" title="class in org.apache.sysds.runtime.compress.colgroup.tree" target="classFrame">Naive</a></li>
 <li><a href="org/apache/sysds/lops/Nary.html" title="class in org.apache.sysds.lops" target="classFrame">Nary</a></li>
 <li><a href="org/apache/sysds/hops/NaryOp.html" title="class in org.apache.sysds.hops" target="classFrame">NaryOp</a></li>
 <li><a href="org/apache/sysds/utils/NativeHelper.html" title="class in org.apache.sysds.utils" target="classFrame">NativeHelper</a></li>
@@ -889,6 +946,7 @@
 <li><a href="org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDRemoveEmptyFunctionInMem.html" title="class in org.apache.sysds.runtime.instructions.spark" target="classFrame">ParameterizedBuiltinSPInstruction.RDDRemoveEmptyFunctionInMem</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDReplaceFunction.html" title="class in org.apache.sysds.runtime.instructions.spark" target="classFrame">ParameterizedBuiltinSPInstruction.RDDReplaceFunction</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDRExpandFunction.html" title="class in org.apache.sysds.runtime.instructions.spark" target="classFrame">ParameterizedBuiltinSPInstruction.RDDRExpandFunction</a></li>
+<li><a href="org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDTokenizeFunction.html" title="class in org.apache.sysds.runtime.instructions.spark" target="classFrame">ParameterizedBuiltinSPInstruction.RDDTokenizeFunction</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDTransformApplyFunction.html" title="class in org.apache.sysds.runtime.instructions.spark" target="classFrame">ParameterizedBuiltinSPInstruction.RDDTransformApplyFunction</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDTransformApplyOffsetFunction.html" title="class in org.apache.sysds.runtime.instructions.spark" target="classFrame">ParameterizedBuiltinSPInstruction.RDDTransformApplyOffsetFunction</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDTransformDecodeExpandFunction.html" title="class in org.apache.sysds.runtime.instructions.spark" target="classFrame">ParameterizedBuiltinSPInstruction.RDDTransformDecodeExpandFunction</a></li>
@@ -923,11 +981,7 @@
 <li><a href="org/apache/sysds/lops/PickByCount.OperationTypes.html" title="enum in org.apache.sysds.lops" target="classFrame">PickByCount.OperationTypes</a></li>
 <li><a href="org/apache/sysds/hops/codegen/opt/PlanAnalyzer.html" title="class in org.apache.sysds.hops.codegen.opt" target="classFrame">PlanAnalyzer</a></li>
 <li><a href="org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.html" title="class in org.apache.sysds.runtime.compress.cocode" target="classFrame">PlanningCoCoder</a></li>
-<li><a href="org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html" title="class in org.apache.sysds.runtime.compress.cocode" target="classFrame">PlanningCoCoder.GroupableColInfo</a></li>
 <li><a href="org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.PartitionerType.html" title="enum in org.apache.sysds.runtime.compress.cocode" target="classFrame">PlanningCoCoder.PartitionerType</a></li>
-<li><a href="org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.html" title="class in org.apache.sysds.runtime.compress.cocode" target="classFrame">PlanningCoCodingGroup</a></li>
-<li><a href="org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.ColIndexes.html" title="class in org.apache.sysds.runtime.compress.cocode" target="classFrame">PlanningCoCodingGroup.ColIndexes</a></li>
-<li><a href="org/apache/sysds/runtime/compress/cocode/PlanningMemoTable.html" title="class in org.apache.sysds.runtime.compress.cocode" target="classFrame">PlanningMemoTable</a></li>
 <li><a href="org/apache/sysds/hops/codegen/opt/PlanPartition.html" title="class in org.apache.sysds.hops.codegen.opt" target="classFrame">PlanPartition</a></li>
 <li><a href="org/apache/sysds/hops/codegen/opt/PlanSelection.html" title="class in org.apache.sysds.hops.codegen.opt" target="classFrame">PlanSelection</a></li>
 <li><a href="org/apache/sysds/hops/codegen/opt/PlanSelection.VisitMarkCost.html" title="class in org.apache.sysds.hops.codegen.opt" target="classFrame">PlanSelection.VisitMarkCost</a></li>
@@ -946,6 +1000,7 @@
 <li><a href="org/apache/sysds/runtime/util/PoissonPRNGenerator.html" title="class in org.apache.sysds.runtime.util" target="classFrame">PoissonPRNGenerator</a></li>
 <li><a href="org/apache/sysds/runtime/functionobjects/Power.html" title="class in org.apache.sysds.runtime.functionobjects" target="classFrame">Power</a></li>
 <li><a href="org/apache/sysds/runtime/functionobjects/Power2.html" title="class in org.apache.sysds.runtime.functionobjects" target="classFrame">Power2</a></li>
+<li><a href="org/apache/sysds/runtime/compress/colgroup/pre/PreAggregateFactory.html" title="class in org.apache.sysds.runtime.compress.colgroup.pre" target="classFrame">PreAggregateFactory</a></li>
 <li><a href="org/apache/sysds/api/jmlc/PreparedScript.html" title="class in org.apache.sysds.api.jmlc" target="classFrame">PreparedScript</a></li>
 <li><a href="org/apache/sysds/parser/PrintStatement.html" title="class in org.apache.sysds.parser" target="classFrame">PrintStatement</a></li>
 <li><a href="org/apache/sysds/parser/PrintStatement.PRINTTYPE.html" title="enum in org.apache.sysds.parser" target="classFrame">PrintStatement.PRINTTYPE</a></li>
@@ -963,6 +1018,7 @@
 <li><a href="org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite" target="classFrame">ProgramRewriteStatus</a></li>
 <li><a href="org/apache/sysds/api/mlcontext/ProjectInfo.html" title="class in org.apache.sysds.api.mlcontext" target="classFrame">ProjectInfo</a></li>
 <li><a href="org/apache/sysds/runtime/privacy/propagation/Propagator.html" title="interface in org.apache.sysds.runtime.privacy.propagation" target="classFrame"><span class="interfaceName">Propagator</span></a></li>
+<li><a href="org/apache/sysds/runtime/privacy/propagation/PropagatorMultiReturn.html" title="interface in org.apache.sysds.runtime.privacy.propagation" target="classFrame"><span class="interfaceName">PropagatorMultiReturn</span></a></li>
 <li><a href="org/apache/sysds/runtime/controlprogram/paramserv/rpc/PSRpcCall.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.rpc" target="classFrame">PSRpcCall</a></li>
 <li><a href="org/apache/sysds/runtime/controlprogram/paramserv/rpc/PSRpcFactory.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.rpc" target="classFrame">PSRpcFactory</a></li>
 <li><a href="org/apache/sysds/runtime/controlprogram/paramserv/rpc/PSRpcHandler.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.rpc" target="classFrame">PSRpcHandler</a></li>
@@ -974,16 +1030,25 @@
 <li><a href="org/apache/sysds/api/PythonDMLScript.html" title="class in org.apache.sysds.api" target="classFrame">PythonDMLScript</a></li>
 <li><a href="org/apache/sysds/runtime/compress/colgroup/QDictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup" target="classFrame">QDictionary</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/cp/QuantilePickCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp" target="classFrame">QuantilePickCPInstruction</a></li>
+<li><a href="org/apache/sysds/runtime/instructions/fed/QuantilePickFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed" target="classFrame">QuantilePickFEDInstruction</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/spark/QuantilePickSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark" target="classFrame">QuantilePickSPInstruction</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/cp/QuantileSortCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp" target="classFrame">QuantileSortCPInstruction</a></li>
+<li><a href="org/apache/sysds/runtime/instructions/fed/QuantileSortFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed" target="classFrame">QuantileSortFEDInstruction</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/spark/QuantileSortSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark" target="classFrame">QuantileSortSPInstruction</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/cp/QuaternaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp" target="classFrame">QuaternaryCPInstruction</a></li>
+<li><a href="org/apache/sysds/runtime/instructions/fed/QuaternaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed" target="classFrame">QuaternaryFEDInstruction</a></li>
 <li><a href="org/apache/sysds/hops/QuaternaryOp.html" title="class in org.apache.sysds.hops" target="classFrame">QuaternaryOp</a></li>
 <li><a href="org/apache/sysds/runtime/matrix/operators/QuaternaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators" target="classFrame">QuaternaryOperator</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/spark/QuaternarySPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark" target="classFrame">QuaternarySPInstruction</a></li>
+<li><a href="org/apache/sysds/runtime/instructions/fed/QuaternaryWCeMMFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed" target="classFrame">QuaternaryWCeMMFEDInstruction</a></li>
+<li><a href="org/apache/sysds/runtime/instructions/fed/QuaternaryWDivMMFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed" target="classFrame">QuaternaryWDivMMFEDInstruction</a></li>
+<li><a href="org/apache/sysds/runtime/instructions/fed/QuaternaryWSigmoidFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed" target="classFrame">QuaternaryWSigmoidFEDInstruction</a></li>
+<li><a href="org/apache/sysds/runtime/instructions/fed/QuaternaryWSLossFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed" target="classFrame">QuaternaryWSLossFEDInstruction</a></li>
+<li><a href="org/apache/sysds/runtime/instructions/fed/QuaternaryWUMMFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed" target="classFrame">QuaternaryWUMMFEDInstruction</a></li>
 <li><a href="org/apache/sysds/runtime/util/RandNPair.html" title="class in org.apache.sysds.runtime.util" target="classFrame">RandNPair</a></li>
 <li><a href="org/apache/sysds/runtime/matrix/data/RandomMatrixGenerator.html" title="class in org.apache.sysds.runtime.matrix.data" target="classFrame">RandomMatrixGenerator</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/spark/RandSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark" target="classFrame">RandSPInstruction</a></li>
+<li><a href="org/apache/sysds/runtime/privacy/propagation/RBindPropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation" target="classFrame">RBindPropagator</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/spark/utils/RDDAggregateUtils.html" title="class in org.apache.sysds.runtime.instructions.spark.utils" target="classFrame">RDDAggregateUtils</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/spark/utils/RDDConverterUtils.html" title="class in org.apache.sysds.runtime.instructions.spark.utils" target="classFrame">RDDConverterUtils</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/spark/utils/RDDConverterUtils.BinaryCellToBinaryBlockFunction.html" title="class in org.apache.sysds.runtime.instructions.spark.utils" target="classFrame">RDDConverterUtils.BinaryCellToBinaryBlockFunction</a></li>
@@ -999,10 +1064,15 @@
 <li><a href="org/apache/sysds/hops/codegen/opt/ReachabilityGraph.SubProblem.html" title="class in org.apache.sysds.hops.codegen.opt" target="classFrame">ReachabilityGraph.SubProblem</a></li>
 <li><a href="org/apache/sysds/runtime/io/ReaderBinaryBlock.html" title="class in org.apache.sysds.runtime.io" target="classFrame">ReaderBinaryBlock</a></li>
 <li><a href="org/apache/sysds/runtime/io/ReaderBinaryBlockParallel.html" title="class in org.apache.sysds.runtime.io" target="classFrame">ReaderBinaryBlockParallel</a></li>
-<li><a href="org/apache/sysds/runtime/compress/ReaderColumnSelection.html" title="class in org.apache.sysds.runtime.compress" target="classFrame">ReaderColumnSelection</a></li>
-<li><a href="org/apache/sysds/runtime/compress/ReaderColumnSelectionDense.html" title="class in org.apache.sysds.runtime.compress" target="classFrame">ReaderColumnSelectionDense</a></li>
-<li><a href="org/apache/sysds/runtime/compress/ReaderColumnSelectionDenseSample.html" title="class in org.apache.sysds.runtime.compress" target="classFrame">ReaderColumnSelectionDenseSample</a></li>
-<li><a href="org/apache/sysds/runtime/compress/ReaderColumnSelectionSparse.html" title="class in org.apache.sysds.runtime.compress" target="classFrame">ReaderColumnSelectionSparse</a></li>
+<li><a href="org/apache/sysds/runtime/compress/readers/ReaderColumnSelection.html" title="class in org.apache.sysds.runtime.compress.readers" target="classFrame">ReaderColumnSelection</a></li>
+<li><a href="org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionBitSet.html" title="class in org.apache.sysds.runtime.compress.readers" target="classFrame">ReaderColumnSelectionBitSet</a></li>
+<li><a href="org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionDenseMultiBlock.html" title="class in org.apache.sysds.runtime.compress.readers" target="classFrame">ReaderColumnSelectionDenseMultiBlock</a></li>
+<li><a href="org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionDenseMultiBlockTransposed.html" title="class in org.apache.sysds.runtime.compress.readers" target="classFrame">ReaderColumnSelectionDenseMultiBlockTransposed</a></li>
+<li><a href="org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionDenseSingleBlock.html" title="class in org.apache.sysds.runtime.compress.readers" target="classFrame">ReaderColumnSelectionDenseSingleBlock</a></li>
+<li><a href="org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionDenseSingleBlockTransposed.html" title="class in org.apache.sysds.runtime.compress.readers" target="classFrame">ReaderColumnSelectionDenseSingleBlockTransposed</a></li>
+<li><a href="org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionSparse.html" title="class in org.apache.sysds.runtime.compress.readers" target="classFrame">ReaderColumnSelectionSparse</a></li>
+<li><a href="org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionSparseTransposed.html" title="class in org.apache.sysds.runtime.compress.readers" target="classFrame">ReaderColumnSelectionSparseTransposed</a></li>
+<li><a href="org/apache/sysds/runtime/compress/readers/ReaderCompressedSelection.html" title="class in org.apache.sysds.runtime.compress.readers" target="classFrame">ReaderCompressedSelection</a></li>
 <li><a href="org/apache/sysds/runtime/io/ReaderTextCell.html" title="class in org.apache.sysds.runtime.io" target="classFrame">ReaderTextCell</a></li>
 <li><a href="org/apache/sysds/runtime/io/ReaderTextCellParallel.html" title="class in org.apache.sysds.runtime.io" target="classFrame">ReaderTextCellParallel</a></li>
 <li><a href="org/apache/sysds/runtime/io/ReaderTextCellParallel.CellBuffer.html" title="class in org.apache.sysds.runtime.io" target="classFrame">ReaderTextCellParallel.CellBuffer</a></li>
@@ -1012,6 +1082,7 @@
 <li><a href="org/apache/sysds/runtime/io/ReaderTextCSVParallel.html" title="class in org.apache.sysds.runtime.io" target="classFrame">ReaderTextCSVParallel</a></li>
 <li><a href="org/apache/sysds/runtime/io/ReaderTextLIBSVM.html" title="class in org.apache.sysds.runtime.io" target="classFrame">ReaderTextLIBSVM</a></li>
 <li><a href="org/apache/sysds/runtime/io/ReaderTextLIBSVMParallel.html" title="class in org.apache.sysds.runtime.io" target="classFrame">ReaderTextLIBSVMParallel</a></li>
+<li><a href="org/apache/sysds/runtime/io/ReaderWriterFederated.html" title="class in org.apache.sysds.runtime.io" target="classFrame">ReaderWriterFederated</a></li>
 <li><a href="org/apache/sysds/runtime/io/ReadProperties.html" title="class in org.apache.sysds.runtime.io" target="classFrame">ReadProperties</a></li>
 <li><a href="org/apache/sysds/lops/ReBlock.html" title="class in org.apache.sysds.lops" target="classFrame">ReBlock</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/spark/data/ReblockBuffer.html" title="class in org.apache.sysds.runtime.instructions.spark.data" target="classFrame">ReblockBuffer</a></li>
@@ -1036,6 +1107,8 @@
 <li><a href="org/apache/sysds/runtime/controlprogram/parfor/RemoteParForUtils.html" title="class in org.apache.sysds.runtime.controlprogram.parfor" target="classFrame">RemoteParForUtils</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/cp/ReorgCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp" target="classFrame">ReorgCPInstruction</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed" target="classFrame">ReorgFEDInstruction</a></li>
+<li><a href="org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.DiagMatrix.html" title="class in org.apache.sysds.runtime.instructions.fed" target="classFrame">ReorgFEDInstruction.DiagMatrix</a></li>
+<li><a href="org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.Rdiag.html" title="class in org.apache.sysds.runtime.instructions.fed" target="classFrame">ReorgFEDInstruction.Rdiag</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/gpu/ReorgGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu" target="classFrame">ReorgGPUInstruction</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/spark/functions/ReorgMapFunction.html" title="class in org.apache.sysds.runtime.instructions.spark.functions" target="classFrame">ReorgMapFunction</a></li>
 <li><a href="org/apache/sysds/hops/ReorgOp.html" title="class in org.apache.sysds.hops" target="classFrame">ReorgOp</a></li>
@@ -1043,8 +1116,10 @@
 <li><a href="org/apache/sysds/runtime/instructions/spark/ReorgSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark" target="classFrame">ReorgSPInstruction</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/spark/functions/ReplicateBlockFunction.html" title="class in org.apache.sysds.runtime.instructions.spark.functions" target="classFrame">ReplicateBlockFunction</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/spark/functions/ReplicateTensorFunction.html" title="class in org.apache.sysds.runtime.instructions.spark.functions" target="classFrame">ReplicateTensorFunction</a></li>
+<li><a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/ReplicateToMaxFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp" target="classFrame">ReplicateToMaxFederatedScheme</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/spark/functions/ReplicateVectorFunction.html" title="class in org.apache.sysds.runtime.instructions.spark.functions" target="classFrame">ReplicateVectorFunction</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/cp/ReshapeCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp" target="classFrame">ReshapeCPInstruction</a></li>
+<li><a href="org/apache/sysds/runtime/instructions/fed/ReshapeFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed" target="classFrame">ReshapeFEDInstruction</a></li>
 <li><a href="org/apache/sysds/runtime/controlprogram/parfor/ResultMerge.html" title="class in org.apache.sysds.runtime.controlprogram.parfor" target="classFrame">ResultMerge</a></li>
 <li><a href="org/apache/sysds/runtime/controlprogram/parfor/ResultMergeLocalAutomatic.html" title="class in org.apache.sysds.runtime.controlprogram.parfor" target="classFrame">ResultMergeLocalAutomatic</a></li>
 <li><a href="org/apache/sysds/runtime/controlprogram/parfor/ResultMergeLocalFile.html" title="class in org.apache.sysds.runtime.controlprogram.parfor" target="classFrame">ResultMergeLocalFile</a></li>
@@ -1075,6 +1150,7 @@
 <li><a href="org/apache/sysds/hops/rewrite/RewriteMergeBlockSequence.html" title="class in org.apache.sysds.hops.rewrite" target="classFrame">RewriteMergeBlockSequence</a></li>
 <li><a href="org/apache/sysds/hops/rewrite/RewriteRemoveDanglingParentReferences.html" title="class in org.apache.sysds.hops.rewrite" target="classFrame">RewriteRemoveDanglingParentReferences</a></li>
 <li><a href="org/apache/sysds/hops/rewrite/RewriteRemoveEmptyBasicBlocks.html" title="class in org.apache.sysds.hops.rewrite" target="classFrame">RewriteRemoveEmptyBasicBlocks</a></li>
+<li><a href="org/apache/sysds/hops/rewrite/RewriteRemoveForLoopEmptySequence.html" title="class in org.apache.sysds.hops.rewrite" target="classFrame">RewriteRemoveForLoopEmptySequence</a></li>
 <li><a href="org/apache/sysds/hops/rewrite/RewriteRemovePersistentReadWrite.html" title="class in org.apache.sysds.hops.rewrite" target="classFrame">RewriteRemovePersistentReadWrite</a></li>
 <li><a href="org/apache/sysds/hops/rewrite/RewriteRemoveReadAfterWrite.html" title="class in org.apache.sysds.hops.rewrite" target="classFrame">RewriteRemoveReadAfterWrite</a></li>
 <li><a href="org/apache/sysds/hops/rewrite/RewriteRemoveUnnecessaryBranches.html" title="class in org.apache.sysds.hops.rewrite" target="classFrame">RewriteRemoveUnnecessaryBranches</a></li>
@@ -1103,6 +1179,7 @@
 <li><a href="org/apache/sysds/runtime/instructions/gpu/context/ShadowBuffer.html" title="class in org.apache.sysds.runtime.instructions.gpu.context" target="classFrame">ShadowBuffer</a></li>
 <li><a href="org/apache/sysds/runtime/compress/estim/sample/ShlosserEstimator.html" title="class in org.apache.sysds.runtime.compress.estim.sample" target="classFrame">ShlosserEstimator</a></li>
 <li><a href="org/apache/sysds/runtime/compress/estim/sample/ShlosserJackknifeEstimator.html" title="class in org.apache.sysds.runtime.compress.estim.sample" target="classFrame">ShlosserJackknifeEstimator</a></li>
+<li><a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/ShuffleFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp" target="classFrame">ShuffleFederatedScheme</a></li>
 <li><a href="org/apache/sysds/runtime/matrix/operators/SimpleOperator.html" title="class in org.apache.sysds.runtime.matrix.operators" target="classFrame">SimpleOperator</a></li>
 <li><a href="org/apache/sysds/runtime/matrix/data/SinglePrecisionCudaSupportFunctions.html" title="class in org.apache.sysds.runtime.matrix.data" target="classFrame">SinglePrecisionCudaSupportFunctions</a></li>
 <li><a href="org/apache/sysds/runtime/compress/estim/sample/SmoothedJackknifeEstimator.html" title="class in org.apache.sysds.runtime.compress.estim.sample" target="classFrame">SmoothedJackknifeEstimator</a></li>
@@ -1124,7 +1201,6 @@
 <li><a href="org/apache/sysds/runtime/data/SparseBlockFactory.html" title="class in org.apache.sysds.runtime.data" target="classFrame">SparseBlockFactory</a></li>
 <li><a href="org/apache/sysds/runtime/data/SparseBlockMCSR.html" title="class in org.apache.sysds.runtime.data" target="classFrame">SparseBlockMCSR</a></li>
 <li><a href="org/apache/sysds/runtime/data/SparseRow.html" title="class in org.apache.sysds.runtime.data" target="classFrame">SparseRow</a></li>
-<li><a href="org/apache/sysds/runtime/compress/colgroup/SparseRowIterator.html" title="class in org.apache.sysds.runtime.compress.colgroup" target="classFrame">SparseRowIterator</a></li>
 <li><a href="org/apache/sysds/runtime/data/SparseRowScalar.html" title="class in org.apache.sysds.runtime.data" target="classFrame">SparseRowScalar</a></li>
 <li><a href="org/apache/sysds/runtime/data/SparseRowVector.html" title="class in org.apache.sysds.runtime.data" target="classFrame">SparseRowVector</a></li>
 <li><a href="org/apache/sysds/hops/estim/SparsityEstimator.html" title="class in org.apache.sysds.hops.estim" target="classFrame">SparsityEstimator</a></li>
@@ -1137,11 +1213,20 @@
 <li><a href="org/apache/sysds/runtime/codegen/SpoofCellwise.CellType.html" title="enum in org.apache.sysds.runtime.codegen" target="classFrame">SpoofCellwise.CellType</a></li>
 <li><a href="org/apache/sysds/hops/codegen/SpoofCompiler.html" title="class in org.apache.sysds.hops.codegen" target="classFrame">SpoofCompiler</a></li>
 <li><a href="org/apache/sysds/hops/codegen/SpoofCompiler.CompilerType.html" title="enum in org.apache.sysds.hops.codegen" target="classFrame">SpoofCompiler.CompilerType</a></li>
+<li><a href="org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen" target="classFrame">SpoofCompiler.GeneratorAPI</a></li>
 <li><a href="org/apache/sysds/hops/codegen/SpoofCompiler.IntegrationType.html" title="enum in org.apache.sysds.hops.codegen" target="classFrame">SpoofCompiler.IntegrationType</a></li>
 <li><a href="org/apache/sysds/hops/codegen/SpoofCompiler.PlanCachePolicy.html" title="enum in org.apache.sysds.hops.codegen" target="classFrame">SpoofCompiler.PlanCachePolicy</a></li>
 <li><a href="org/apache/sysds/hops/codegen/SpoofCompiler.PlanSelector.html" title="enum in org.apache.sysds.hops.codegen" target="classFrame">SpoofCompiler.PlanSelector</a></li>
 <li><a href="org/apache/sysds/hops/codegen/SpoofCompiler.RegisterAlloc.html" title="enum in org.apache.sysds.hops.codegen" target="classFrame">SpoofCompiler.RegisterAlloc</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/cp/SpoofCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp" target="classFrame">SpoofCPInstruction</a></li>
+<li><a href="org/apache/sysds/runtime/codegen/SpoofCUDACellwise.html" title="class in org.apache.sysds.runtime.codegen" target="classFrame">SpoofCUDACellwise</a></li>
+<li><a href="org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu" target="classFrame">SpoofCUDAInstruction</a></li>
+<li><a href="org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.DoublePrecision.html" title="class in org.apache.sysds.runtime.instructions.gpu" target="classFrame">SpoofCUDAInstruction.DoublePrecision</a></li>
+<li><a href="org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.SinglePrecision.html" title="class in org.apache.sysds.runtime.instructions.gpu" target="classFrame">SpoofCUDAInstruction.SinglePrecision</a></li>
+<li><a href="org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html" title="interface in org.apache.sysds.runtime.codegen" target="classFrame"><span class="interfaceName">SpoofCUDAOperator</span></a></li>
+<li><a href="org/apache/sysds/runtime/codegen/SpoofCUDAOperator.PrecisionProxy.html" title="class in org.apache.sysds.runtime.codegen" target="classFrame">SpoofCUDAOperator.PrecisionProxy</a></li>
+<li><a href="org/apache/sysds/runtime/codegen/SpoofCUDARowwise.html" title="class in org.apache.sysds.runtime.codegen" target="classFrame">SpoofCUDARowwise</a></li>
+<li><a href="org/apache/sysds/runtime/instructions/fed/SpoofFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed" target="classFrame">SpoofFEDInstruction</a></li>
 <li><a href="org/apache/sysds/lops/SpoofFused.html" title="class in org.apache.sysds.lops" target="classFrame">SpoofFused</a></li>
 <li><a href="org/apache/sysds/hops/codegen/SpoofFusedOp.html" title="class in org.apache.sysds.hops.codegen" target="classFrame">SpoofFusedOp</a></li>
 <li><a href="org/apache/sysds/hops/codegen/SpoofFusedOp.SpoofOutputDimsType.html" title="enum in org.apache.sysds.hops.codegen" target="classFrame">SpoofFusedOp.SpoofOutputDimsType</a></li>
@@ -1161,9 +1246,11 @@
 <li><a href="org/apache/sysds/runtime/controlprogram/parfor/util/StagingFileUtils.html" title="class in org.apache.sysds.runtime.controlprogram.parfor.util" target="classFrame">StagingFileUtils</a></li>
 <li><a href="org/apache/sysds/runtime/controlprogram/parfor/stat/Stat.html" title="enum in org.apache.sysds.runtime.controlprogram.parfor.stat" target="classFrame">Stat</a></li>
 <li><a href="org/apache/sysds/parser/Statement.html" title="class in org.apache.sysds.parser" target="classFrame">Statement</a></li>
+<li><a href="org/apache/sysds/parser/Statement.FederatedPSScheme.html" title="enum in org.apache.sysds.parser" target="classFrame">Statement.FederatedPSScheme</a></li>
 <li><a href="org/apache/sysds/parser/Statement.PSCheckpointing.html" title="enum in org.apache.sysds.parser" target="classFrame">Statement.PSCheckpointing</a></li>
 <li><a href="org/apache/sysds/parser/Statement.PSFrequency.html" title="enum in org.apache.sysds.parser" target="classFrame">Statement.PSFrequency</a></li>
 <li><a href="org/apache/sysds/parser/Statement.PSModeType.html" title="enum in org.apache.sysds.parser" target="classFrame">Statement.PSModeType</a></li>
+<li><a href="org/apache/sysds/parser/Statement.PSRuntimeBalancing.html" title="enum in org.apache.sysds.parser" target="classFrame">Statement.PSRuntimeBalancing</a></li>
 <li><a href="org/apache/sysds/parser/Statement.PSScheme.html" title="enum in org.apache.sysds.parser" target="classFrame">Statement.PSScheme</a></li>
 <li><a href="org/apache/sysds/parser/Statement.PSUpdateType.html" title="enum in org.apache.sysds.parser" target="classFrame">Statement.PSUpdateType</a></li>
 <li><a href="org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser" target="classFrame">StatementBlock</a></li>
@@ -1174,6 +1261,7 @@
 <li><a href="org/apache/sysds/parser/StringIdentifier.html" title="class in org.apache.sysds.parser" target="classFrame">StringIdentifier</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/cp/StringInitCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp" target="classFrame">StringInitCPInstruction</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/cp/StringObject.html" title="class in org.apache.sysds.runtime.instructions.cp" target="classFrame">StringObject</a></li>
+<li><a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/SubsampleToMinFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp" target="classFrame">SubsampleToMinFederatedScheme</a></li>
 <li><a href="org/apache/sysds/runtime/functionobjects/SwapIndex.html" title="class in org.apache.sysds.runtime.functionobjects" target="classFrame">SwapIndex</a></li>
 <li><a href="org/apache/sysds/utils/SystemDSLoaderUtils.html" title="class in org.apache.sysds.utils" target="classFrame">SystemDSLoaderUtils</a></li>
 <li><a href="org/apache/sysds/runtime/controlprogram/parfor/Task.html" title="class in org.apache.sysds.runtime.controlprogram.parfor" target="classFrame">Task</a></li>
@@ -1214,9 +1302,12 @@
 <li><a href="org/apache/sysds/runtime/io/TensorWriterFactory.html" title="class in org.apache.sysds.runtime.io" target="classFrame">TensorWriterFactory</a></li>
 <li><a href="org/apache/sysds/runtime/io/TensorWriterTextCell.html" title="class in org.apache.sysds.runtime.io" target="classFrame">TensorWriterTextCell</a></li>
 <li><a href="org/apache/sysds/runtime/io/TensorWriterTextCellParallel.html" title="class in org.apache.sysds.runtime.io" target="classFrame">TensorWriterTextCellParallel</a></li>
+<li><a href="org/apache/sysds/hops/codegen/cplan/cuda/Ternary.html" title="class in org.apache.sysds.hops.codegen.cplan.cuda" target="classFrame">Ternary</a></li>
+<li><a href="org/apache/sysds/hops/codegen/cplan/java/Ternary.html" title="class in org.apache.sysds.hops.codegen.cplan.java" target="classFrame">Ternary</a></li>
 <li><a href="org/apache/sysds/lops/Ternary.html" title="class in org.apache.sysds.lops" target="classFrame">Ternary</a></li>
 <li><a href="org/apache/sysds/lops/TernaryAggregate.html" title="class in org.apache.sysds.lops" target="classFrame">TernaryAggregate</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/cp/TernaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp" target="classFrame">TernaryCPInstruction</a></li>
+<li><a href="org/apache/sysds/runtime/instructions/fed/TernaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed" target="classFrame">TernaryFEDInstruction</a></li>
 <li><a href="org/apache/sysds/hops/TernaryOp.html" title="class in org.apache.sysds.hops" target="classFrame">TernaryOp</a></li>
 <li><a href="org/apache/sysds/runtime/matrix/operators/TernaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators" target="classFrame">TernaryOperator</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/spark/TernarySPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark" target="classFrame">TernarySPInstruction</a></li>
@@ -1228,6 +1319,15 @@
 <li><a href="org/apache/sysds/runtime/transform/TfUtils.html" title="class in org.apache.sysds.runtime.transform" target="classFrame">TfUtils</a></li>
 <li><a href="org/apache/sysds/runtime/transform/TfUtils.TfMethod.html" title="enum in org.apache.sysds.runtime.transform" target="classFrame">TfUtils.TfMethod</a></li>
 <li><a href="org/apache/sysds/runtime/controlprogram/parfor/stat/Timing.html" title="class in org.apache.sysds.runtime.controlprogram.parfor.stat" target="classFrame">Timing</a></li>
+<li><a href="org/apache/sysds/runtime/transform/tokenize/Tokenizer.html" title="class in org.apache.sysds.runtime.transform.tokenize" target="classFrame">Tokenizer</a></li>
+<li><a href="org/apache/sysds/runtime/transform/tokenize/TokenizerFactory.html" title="class in org.apache.sysds.runtime.transform.tokenize" target="classFrame">TokenizerFactory</a></li>
+<li><a href="org/apache/sysds/runtime/transform/tokenize/TokenizerPost.html" title="interface in org.apache.sysds.runtime.transform.tokenize" target="classFrame"><span class="interfaceName">TokenizerPost</span></a></li>
+<li><a href="org/apache/sysds/runtime/transform/tokenize/TokenizerPostCount.html" title="class in org.apache.sysds.runtime.transform.tokenize" target="classFrame">TokenizerPostCount</a></li>
+<li><a href="org/apache/sysds/runtime/transform/tokenize/TokenizerPostHash.html" title="class in org.apache.sysds.runtime.transform.tokenize" target="classFrame">TokenizerPostHash</a></li>
+<li><a href="org/apache/sysds/runtime/transform/tokenize/TokenizerPostPosition.html" title="class in org.apache.sysds.runtime.transform.tokenize" target="classFrame">TokenizerPostPosition</a></li>
+<li><a href="org/apache/sysds/runtime/transform/tokenize/TokenizerPre.html" title="interface in org.apache.sysds.runtime.transform.tokenize" target="classFrame"><span class="interfaceName">TokenizerPre</span></a></li>
+<li><a href="org/apache/sysds/runtime/transform/tokenize/TokenizerPreNgram.html" title="class in org.apache.sysds.runtime.transform.tokenize" target="classFrame">TokenizerPreNgram</a></li>
+<li><a href="org/apache/sysds/runtime/transform/tokenize/TokenizerPreWhitespaceSplit.html" title="class in org.apache.sysds.runtime.transform.tokenize" target="classFrame">TokenizerPreWhitespaceSplit</a></li>
 <li><a href="org/apache/sysds/lops/Transform.html" title="class in org.apache.sysds.lops" target="classFrame">Transform</a></li>
 <li><a href="org/apache/sysds/runtime/matrix/data/TripleIndexes.html" title="class in org.apache.sysds.runtime.matrix.data" target="classFrame">TripleIndexes</a></li>
 <li><a href="org/apache/sysds/runtime/matrix/data/TripleIndexes.Comparator.html" title="class in org.apache.sysds.runtime.matrix.data" target="classFrame">TripleIndexes.Comparator</a></li>
@@ -1259,6 +1359,8 @@
 <li><a href="org/apache/sysds/lops/UAggOuterChain.html" title="class in org.apache.sysds.lops" target="classFrame">UAggOuterChain</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/cp/UaggOuterChainCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp" target="classFrame">UaggOuterChainCPInstruction</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/spark/UaggOuterChainSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark" target="classFrame">UaggOuterChainSPInstruction</a></li>
+<li><a href="org/apache/sysds/hops/codegen/cplan/cuda/Unary.html" title="class in org.apache.sysds.hops.codegen.cplan.cuda" target="classFrame">Unary</a></li>
+<li><a href="org/apache/sysds/hops/codegen/cplan/java/Unary.html" title="class in org.apache.sysds.hops.codegen.cplan.java" target="classFrame">Unary</a></li>
 <li><a href="org/apache/sysds/lops/Unary.html" title="class in org.apache.sysds.lops" target="classFrame">Unary</a></li>
 <li><a href="org/apache/sysds/lops/UnaryCP.html" title="class in org.apache.sysds.lops" target="classFrame">UnaryCP</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/cp/UnaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp" target="classFrame">UnaryCPInstruction</a></li>
@@ -1266,18 +1368,21 @@
 <li><a href="org/apache/sysds/runtime/instructions/cp/UnaryFrameCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp" target="classFrame">UnaryFrameCPInstruction</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/spark/UnaryFrameSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark" target="classFrame">UnaryFrameSPInstruction</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/cp/UnaryMatrixCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp" target="classFrame">UnaryMatrixCPInstruction</a></li>
+<li><a href="org/apache/sysds/runtime/instructions/fed/UnaryMatrixFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed" target="classFrame">UnaryMatrixFEDInstruction</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/spark/UnaryMatrixSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark" target="classFrame">UnaryMatrixSPInstruction</a></li>
 <li><a href="org/apache/sysds/hops/UnaryOp.html" title="class in org.apache.sysds.hops" target="classFrame">UnaryOp</a></li>
 <li><a href="org/apache/sysds/runtime/matrix/operators/UnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators" target="classFrame">UnaryOperator</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/cp/UnaryScalarCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp" target="classFrame">UnaryScalarCPInstruction</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/spark/UnarySPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark" target="classFrame">UnarySPInstruction</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/gpu/context/UnifiedMemoryAllocator.html" title="class in org.apache.sysds.runtime.instructions.gpu.context" target="classFrame">UnifiedMemoryAllocator</a></li>
+<li><a href="org/apache/sysds/runtime/controlprogram/caching/UnifiedMemoryManager.html" title="class in org.apache.sysds.runtime.controlprogram.caching" target="classFrame">UnifiedMemoryManager</a></li>
 <li><a href="org/apache/sysds/runtime/util/UniformPRNGenerator.html" title="class in org.apache.sysds.runtime.util" target="classFrame">UniformPRNGenerator</a></li>
 <li><a href="org/apache/sysds/runtime/util/UtilFunctions.html" title="class in org.apache.sysds.runtime.util" target="classFrame">UtilFunctions</a></li>
 <li><a href="org/apache/sysds/runtime/functionobjects/ValueComparisonFunction.html" title="class in org.apache.sysds.runtime.functionobjects" target="classFrame">ValueComparisonFunction</a></li>
 <li><a href="org/apache/sysds/runtime/functionobjects/ValueFunction.html" title="class in org.apache.sysds.runtime.functionobjects" target="classFrame">ValueFunction</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/cp/VariableCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp" target="classFrame">VariableCPInstruction</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/cp/VariableCPInstruction.VariableOperationCode.html" title="enum in org.apache.sysds.runtime.instructions.cp" target="classFrame">VariableCPInstruction.VariableOperationCode</a></li>
+<li><a href="org/apache/sysds/runtime/instructions/fed/VariableFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed" target="classFrame">VariableFEDInstruction</a></li>
 <li><a href="org/apache/sysds/parser/VariableSet.html" title="class in org.apache.sysds.parser" target="classFrame">VariableSet</a></li>
 <li><a href="org/apache/sysds/hops/cost/VarStats.html" title="class in org.apache.sysds.hops.cost" target="classFrame">VarStats</a></li>
 <li><a href="org/apache/sysds/common/Warnings.html" title="class in org.apache.sysds.common" target="classFrame">Warnings</a></li>
diff --git a/docs/api/java/allclasses-noframe.html b/docs/api/java/allclasses-noframe.html
index 339f020..6ecad20 100644
--- a/docs/api/java/allclasses-noframe.html
+++ b/docs/api/java/allclasses-noframe.html
@@ -14,7 +14,10 @@
 <ul>
 <li><a href="org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils">ABitmap</a></li>
 <li><a href="org/apache/sysds/runtime/compress/utils/ABitmap.BitmapType.html" title="enum in org.apache.sysds.runtime.compress.utils">ABitmap.BitmapType</a></li>
-<li><a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">AbstractCompressedMatrixBlock</a></li>
+<li><a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></li>
+<li><a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.ColGroupType</a></li>
+<li><a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a></li>
+<li><a href="org/apache/sysds/runtime/compress/cocode/AColumnGroupPartitioner.html" title="class in org.apache.sysds.runtime.compress.cocode">AColumnGroupPartitioner</a></li>
 <li><a href="org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></li>
 <li><a href="org/apache/sysds/hops/AggBinaryOp.html" title="class in org.apache.sysds.hops">AggBinaryOp</a></li>
 <li><a href="org/apache/sysds/hops/AggBinaryOp.MMultMethod.html" title="enum in org.apache.sysds.hops">AggBinaryOp.MMultMethod</a></li>
@@ -26,6 +29,7 @@
 <li><a href="org/apache/sysds/runtime/instructions/spark/functions/AggregateDropCorrectionFunction.html" title="class in org.apache.sysds.runtime.instructions.spark.functions">AggregateDropCorrectionFunction</a></li>
 <li><a href="org/apache/sysds/runtime/matrix/operators/AggregateOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateOperator</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/cp/AggregateTernaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">AggregateTernaryCPInstruction</a></li>
+<li><a href="org/apache/sysds/runtime/instructions/fed/AggregateTernaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">AggregateTernaryFEDInstruction</a></li>
 <li><a href="org/apache/sysds/runtime/matrix/operators/AggregateTernaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateTernaryOperator</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/spark/AggregateTernarySPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">AggregateTernarySPInstruction</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/cp/AggregateUnaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">AggregateUnaryCPInstruction</a></li>
@@ -37,6 +41,7 @@
 <li><a href="org/apache/sysds/runtime/instructions/spark/AggregateUnarySPInstruction.RDDUAggFunction2.html" title="class in org.apache.sysds.runtime.instructions.spark">AggregateUnarySPInstruction.RDDUAggFunction2</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/spark/AggregateUnarySPInstruction.RDDUTensorAggFunction2.html" title="class in org.apache.sysds.runtime.instructions.spark">AggregateUnarySPInstruction.RDDUTensorAggFunction2</a></li>
 <li><a href="org/apache/sysds/hops/AggUnaryOp.html" title="class in org.apache.sysds.hops">AggUnaryOp</a></li>
+<li><a href="org/apache/sysds/runtime/compress/colgroup/tree/AInsertionSorter.html" title="class in org.apache.sysds.runtime.compress.colgroup.tree">AInsertionSorter</a></li>
 <li><a href="org/apache/sysds/runtime/functionobjects/And.html" title="class in org.apache.sysds.runtime.functionobjects">And</a></li>
 <li><a href="org/apache/sysds/lops/Append.html" title="class in org.apache.sysds.lops">Append</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/cp/AppendCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">AppendCPInstruction</a></li>
@@ -52,12 +57,17 @@
 <li><a href="org/apache/sysds/lops/AppendM.html" title="class in org.apache.sysds.lops">AppendM</a></li>
 <li><a href="org/apache/sysds/lops/AppendM.CacheType.html" title="enum in org.apache.sysds.lops">AppendM.CacheType</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/spark/AppendMSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">AppendMSPInstruction</a></li>
+<li><a href="org/apache/sysds/runtime/privacy/propagation/AppendPropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation">AppendPropagator</a></li>
 <li><a href="org/apache/sysds/lops/AppendR.html" title="class in org.apache.sysds.lops">AppendR</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/spark/AppendRSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">AppendRSPInstruction</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/gpu/ArithmeticBinaryGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">ArithmeticBinaryGPUInstruction</a></li>
+<li><a href="org/apache/sysds/runtime/compress/colgroup/pre/ArrPreAggregate.html" title="class in org.apache.sysds.runtime.compress.colgroup.pre">ArrPreAggregate</a></li>
 <li><a href="org/apache/sysds/parser/AssignmentStatement.html" title="class in org.apache.sysds.parser">AssignmentStatement</a></li>
+<li><a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/BalanceToAvgFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">BalanceToAvgFederatedScheme</a></li>
 <li><a href="org/apache/sysds/runtime/controlprogram/BasicProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">BasicProgramBlock</a></li>
 <li><a href="org/apache/sysds/runtime/data/BasicTensorBlock.html" title="class in org.apache.sysds.runtime.data">BasicTensorBlock</a></li>
+<li><a href="org/apache/sysds/hops/codegen/cplan/cuda/Binary.html" title="class in org.apache.sysds.hops.codegen.cplan.cuda">Binary</a></li>
+<li><a href="org/apache/sysds/hops/codegen/cplan/java/Binary.html" title="class in org.apache.sysds.hops.codegen.cplan.java">Binary</a></li>
 <li><a href="org/apache/sysds/lops/Binary.html" title="class in org.apache.sysds.lops">Binary</a></li>
 <li><a href="org/apache/sysds/runtime/util/BinaryBlockInputFormat.html" title="class in org.apache.sysds.runtime.util">BinaryBlockInputFormat</a></li>
 <li><a href="org/apache/sysds/runtime/util/BinaryBlockRecordReader.html" title="class in org.apache.sysds.runtime.util">BinaryBlockRecordReader</a></li>
@@ -97,8 +107,9 @@
 <li><a href="org/apache/sysds/runtime/instructions/spark/BinUaggChainSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">BinUaggChainSPInstruction</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/spark/BinUaggChainSPInstruction.RDDBinUaggChainFunction.html" title="class in org.apache.sysds.runtime.instructions.spark">BinUaggChainSPInstruction.RDDBinUaggChainFunction</a></li>
 <li><a href="org/apache/sysds/runtime/compress/utils/Bitmap.html" title="class in org.apache.sysds.runtime.compress.utils">Bitmap</a></li>
-<li><a href="org/apache/sysds/runtime/compress/BitmapEncoder.html" title="class in org.apache.sysds.runtime.compress">BitmapEncoder</a></li>
+<li><a href="org/apache/sysds/runtime/compress/lib/BitmapEncoder.html" title="class in org.apache.sysds.runtime.compress.lib">BitmapEncoder</a></li>
 <li><a href="org/apache/sysds/runtime/compress/utils/BitmapLossy.html" title="class in org.apache.sysds.runtime.compress.utils">BitmapLossy</a></li>
+<li><a href="org/apache/sysds/runtime/compress/lib/BitmapLossyEncoder.html" title="class in org.apache.sysds.runtime.compress.lib">BitmapLossyEncoder</a></li>
 <li><a href="org/apache/sysds/runtime/functionobjects/BitwAnd.html" title="class in org.apache.sysds.runtime.functionobjects">BitwAnd</a></li>
 <li><a href="org/apache/sysds/runtime/functionobjects/BitwOr.html" title="class in org.apache.sysds.runtime.functionobjects">BitwOr</a></li>
 <li><a href="org/apache/sysds/runtime/functionobjects/BitwShiftL.html" title="class in org.apache.sysds.runtime.functionobjects">BitwShiftL</a></li>
@@ -132,13 +143,24 @@
 <li><a href="org/apache/sysds/runtime/controlprogram/caching/CacheStatistics.html" title="class in org.apache.sysds.runtime.controlprogram.caching">CacheStatistics</a></li>
 <li><a href="org/apache/sysds/runtime/controlprogram/caching/CacheStatistics.Stat.html" title="enum in org.apache.sysds.runtime.controlprogram.caching">CacheStatistics.Stat</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/spark/CastSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">CastSPInstruction</a></li>
+<li><a href="org/apache/sysds/runtime/privacy/propagation/CBindPropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation">CBindPropagator</a></li>
 <li><a href="org/apache/sysds/runtime/controlprogram/parfor/util/Cell.html" title="class in org.apache.sysds.runtime.controlprogram.parfor.util">Cell</a></li>
 <li><a href="org/apache/sysds/lops/CentralMoment.html" title="class in org.apache.sysds.lops">CentralMoment</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/cp/CentralMomentCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">CentralMomentCPInstruction</a></li>
+<li><a href="org/apache/sysds/runtime/instructions/fed/CentralMomentFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">CentralMomentFEDInstruction</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/spark/CentralMomentSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">CentralMomentSPInstruction</a></li>
 <li><a href="org/apache/sysds/runtime/privacy/CheckedConstraintsLog.html" title="class in org.apache.sysds.runtime.privacy">CheckedConstraintsLog</a></li>
 <li><a href="org/apache/sysds/lops/Checkpoint.html" title="class in org.apache.sysds.lops">Checkpoint</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/spark/CheckpointSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">CheckpointSPInstruction</a></li>
+<li><a href="org/apache/sysds/runtime/compress/lib/CLALibAppend.html" title="class in org.apache.sysds.runtime.compress.lib">CLALibAppend</a></li>
+<li><a href="org/apache/sysds/runtime/compress/lib/CLALibBinaryCellOp.html" title="class in org.apache.sysds.runtime.compress.lib">CLALibBinaryCellOp</a></li>
+<li><a href="org/apache/sysds/runtime/compress/lib/CLALibCompAgg.html" title="class in org.apache.sysds.runtime.compress.lib">CLALibCompAgg</a></li>
+<li><a href="org/apache/sysds/runtime/compress/lib/CLALibLeftMultBy.html" title="class in org.apache.sysds.runtime.compress.lib">CLALibLeftMultBy</a></li>
+<li><a href="org/apache/sysds/runtime/compress/lib/CLALibReExpand.html" title="class in org.apache.sysds.runtime.compress.lib">CLALibReExpand</a></li>
+<li><a href="org/apache/sysds/runtime/compress/lib/CLALibRelationalOp.html" title="class in org.apache.sysds.runtime.compress.lib">CLALibRelationalOp</a></li>
+<li><a href="org/apache/sysds/runtime/compress/lib/CLALibRightMultBy.html" title="class in org.apache.sysds.runtime.compress.lib">CLALibRightMultBy</a></li>
+<li><a href="org/apache/sysds/runtime/compress/lib/CLALibScalar.html" title="class in org.apache.sysds.runtime.compress.lib">CLALibScalar</a></li>
+<li><a href="org/apache/sysds/runtime/compress/lib/CLALibSquash.html" title="class in org.apache.sysds.runtime.compress.lib">CLALibSquash</a></li>
 <li><a href="org/apache/sysds/runtime/functionobjects/CM.html" title="class in org.apache.sysds.runtime.functionobjects">CM</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/cp/CM_COV_Object.html" title="class in org.apache.sysds.runtime.instructions.cp">CM_COV_Object</a></li>
 <li><a href="org/apache/sysds/runtime/matrix/data/CM_N_COVCell.html" title="class in org.apache.sysds.runtime.matrix.data">CM_N_COVCell</a></li>
@@ -160,24 +182,32 @@
 <li><a href="org/apache/sysds/hops/codegen/cplan/CNodeUnary.html" title="class in org.apache.sysds.hops.codegen.cplan">CNodeUnary</a></li>
 <li><a href="org/apache/sysds/hops/codegen/cplan/CNodeUnary.UnaryType.html" title="enum in org.apache.sysds.hops.codegen.cplan">CNodeUnary.UnaryType</a></li>
 <li><a href="org/apache/sysds/runtime/codegen/CodegenUtils.html" title="class in org.apache.sysds.runtime.codegen">CodegenUtils</a></li>
-<li><a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></li>
-<li><a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a></li>
+<li><a href="org/apache/sysds/hops/codegen/cplan/CodeTemplate.html" title="class in org.apache.sysds.hops.codegen.cplan">CodeTemplate</a></li>
 <li><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupConst</a></li>
 <li><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupConverter.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupConverter</a></li>
 <li><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a></li>
-<li><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC1</a></li>
-<li><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC2</a></li>
+<li><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupEmpty</a></li>
 <li><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupFactory.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupFactory</a></li>
 <li><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupIO.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupIO</a></li>
 <li><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOffset</a></li>
 <li><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOLE</a></li>
 <li><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupRLE</a></li>
+<li><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDC</a></li>
+<li><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingle</a></li>
+<li><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingleZeros</a></li>
+<li><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCZeros</a></li>
 <li><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSizes.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSizes</a></li>
 <li><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupUncompressed</a></li>
 <li><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></li>
 <li><a href="org/apache/sysds/runtime/util/CollectionUtils.html" title="class in org.apache.sysds.runtime.util">CollectionUtils</a></li>
-<li><a href="org/apache/sysds/runtime/compress/utils/ColumnGroupIterator.html" title="class in org.apache.sysds.runtime.compress.utils">ColumnGroupIterator</a></li>
-<li><a href="org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitioner.html" title="class in org.apache.sysds.runtime.compress.cocode">ColumnGroupPartitioner</a></li>
+<li><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a></li>
+<li><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoder.EncoderType.html" title="enum in org.apache.sysds.runtime.transform.encode">ColumnEncoder.EncoderType</a></li>
+<li><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderBin.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderBin</a></li>
+<li><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderComposite</a></li>
+<li><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderDummycode.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderDummycode</a></li>
+<li><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderFeatureHash.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderFeatureHash</a></li>
+<li><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderPassThrough.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderPassThrough</a></li>
+<li><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderRecode.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderRecode</a></li>
 <li><a href="org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitionerBinPacking.html" title="class in org.apache.sysds.runtime.compress.cocode">ColumnGroupPartitionerBinPacking</a></li>
 <li><a href="org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitionerCost.html" title="class in org.apache.sysds.runtime.compress.cocode">ColumnGroupPartitionerCost</a></li>
 <li><a href="org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitionerStatic.html" title="class in org.apache.sysds.runtime.compress.cocode">ColumnGroupPartitionerStatic</a></li>
@@ -237,6 +267,7 @@
 <li><a href="org/apache/sysds/runtime/functionobjects/COV.html" title="class in org.apache.sysds.runtime.functionobjects">COV</a></li>
 <li><a href="org/apache/sysds/lops/CoVariance.html" title="class in org.apache.sysds.lops">CoVariance</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/cp/CovarianceCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">CovarianceCPInstruction</a></li>
+<li><a href="org/apache/sysds/runtime/instructions/fed/CovarianceFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">CovarianceFEDInstruction</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/spark/CovarianceSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">CovarianceSPInstruction</a></li>
 <li><a href="org/apache/sysds/runtime/matrix/operators/COVOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">COVOperator</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/cp/CPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">CPInstruction</a></li>
@@ -290,6 +321,9 @@
 <li><a href="org/apache/sysds/runtime/controlprogram/parfor/DataPartitionerRemoteSparkReducer.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">DataPartitionerRemoteSparkReducer</a></li>
 <li><a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionerSparkAggregator.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionerSparkAggregator</a></li>
 <li><a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionerSparkMapper.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionerSparkMapper</a></li>
+<li><a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionFederatedScheme</a></li>
+<li><a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.BalanceMetrics.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionFederatedScheme.BalanceMetrics</a></li>
+<li><a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.Result.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionFederatedScheme.Result</a></li>
 <li><a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionLocalScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionLocalScheme</a></li>
 <li><a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionSparkScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionSparkScheme</a></li>
 <li><a href="org/apache/sysds/runtime/privacy/finegrained/DataRange.html" title="class in org.apache.sysds.runtime.privacy.finegrained">DataRange</a></li>
@@ -303,8 +337,14 @@
 <li><a href="org/apache/sysds/runtime/transform/decode/DecoderComposite.html" title="class in org.apache.sysds.runtime.transform.decode">DecoderComposite</a></li>
 <li><a href="org/apache/sysds/runtime/transform/decode/DecoderDummycode.html" title="class in org.apache.sysds.runtime.transform.decode">DecoderDummycode</a></li>
 <li><a href="org/apache/sysds/runtime/transform/decode/DecoderFactory.html" title="class in org.apache.sysds.runtime.transform.decode">DecoderFactory</a></li>
+<li><a href="org/apache/sysds/runtime/transform/decode/DecoderFactory.DecoderType.html" title="enum in org.apache.sysds.runtime.transform.decode">DecoderFactory.DecoderType</a></li>
 <li><a href="org/apache/sysds/runtime/transform/decode/DecoderPassThrough.html" title="class in org.apache.sysds.runtime.transform.decode">DecoderPassThrough</a></li>
 <li><a href="org/apache/sysds/runtime/transform/decode/DecoderRecode.html" title="class in org.apache.sysds.runtime.transform.decode">DecoderRecode</a></li>
+<li><a href="org/apache/sysds/lops/DeCompression.html" title="class in org.apache.sysds.lops">DeCompression</a></li>
+<li><a href="org/apache/sysds/lops/DeCompression.CompressConfig.html" title="enum in org.apache.sysds.lops">DeCompression.CompressConfig</a></li>
+<li><a href="org/apache/sysds/runtime/instructions/cp/DeCompressionCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">DeCompressionCPInstruction</a></li>
+<li><a href="org/apache/sysds/runtime/instructions/spark/DeCompressionSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">DeCompressionSPInstruction</a></li>
+<li><a href="org/apache/sysds/runtime/instructions/spark/DeCompressionSPInstruction.DeCompressionFunction.html" title="class in org.apache.sysds.runtime.instructions.spark">DeCompressionSPInstruction.DeCompressionFunction</a></li>
 <li><a href="org/apache/sysds/runtime/data/DenseBlock.html" title="class in org.apache.sysds.runtime.data">DenseBlock</a></li>
 <li><a href="org/apache/sysds/runtime/data/DenseBlock.Type.html" title="enum in org.apache.sysds.runtime.data">DenseBlock.Type</a></li>
 <li><a href="org/apache/sysds/runtime/data/DenseBlockBool.html" title="class in org.apache.sysds.runtime.data">DenseBlockBool</a></li>
@@ -322,7 +362,6 @@
 <li><a href="org/apache/sysds/runtime/data/DenseBlockLInt64.html" title="class in org.apache.sysds.runtime.data">DenseBlockLInt64</a></li>
 <li><a href="org/apache/sysds/runtime/data/DenseBlockLString.html" title="class in org.apache.sysds.runtime.data">DenseBlockLString</a></li>
 <li><a href="org/apache/sysds/runtime/data/DenseBlockString.html" title="class in org.apache.sysds.runtime.data">DenseBlockString</a></li>
-<li><a href="org/apache/sysds/runtime/compress/colgroup/DenseRowIterator.html" title="class in org.apache.sysds.runtime.compress.colgroup">DenseRowIterator</a></li>
 <li><a href="org/apache/sysds/runtime/functionobjects/DiagIndex.html" title="class in org.apache.sysds.runtime.functionobjects">DiagIndex</a></li>
 <li><a href="org/apache/sysds/runtime/compress/colgroup/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">Dictionary</a></li>
 <li><a href="org/apache/sysds/runtime/functionobjects/Divide.html" title="class in org.apache.sysds.runtime.functionobjects">Divide</a></li>
@@ -398,6 +437,8 @@
 <li><a href="org/apache/sysds/parser/dml/DmlSyntacticValidator.html" title="class in org.apache.sysds.parser.dml">DmlSyntacticValidator</a></li>
 <li><a href="org/apache/sysds/parser/dml/DmlSyntacticValidator.ConvertedDMLSyntax.html" title="class in org.apache.sysds.parser.dml">DmlSyntacticValidator.ConvertedDMLSyntax</a></li>
 <li><a href="org/apache/sysds/parser/DMLTranslator.html" title="class in org.apache.sysds.parser">DMLTranslator</a></li>
+<li><a href="org/apache/sysds/runtime/util/DMVUtils.html" title="class in org.apache.sysds.runtime.util">DMVUtils</a></li>
+<li><a href="org/apache/sysds/runtime/util/DMVUtils.LEVEL_ENUM.html" title="enum in org.apache.sysds.runtime.util">DMVUtils.LEVEL_ENUM</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/cp/DnnCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">DnnCPInstruction</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/gpu/DnnGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">DnnGPUInstruction</a></li>
 <li><a href="org/apache/sysds/hops/DnnOp.html" title="class in org.apache.sysds.hops">DnnOp</a></li>
@@ -413,17 +454,12 @@
 <li><a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/DRRLocalScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DRRLocalScheme</a></li>
 <li><a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/DRRSparkScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DRRSparkScheme</a></li>
 <li><a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/DRSparkScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DRSparkScheme</a></li>
-<li><a href="org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></li>
-<li><a href="org/apache/sysds/runtime/transform/encode/EncoderBin.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderBin</a></li>
-<li><a href="org/apache/sysds/runtime/transform/encode/EncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderComposite</a></li>
-<li><a href="org/apache/sysds/runtime/transform/encode/EncoderDummycode.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderDummycode</a></li>
+<li><a href="org/apache/sysds/runtime/util/EMAUtils.html" title="class in org.apache.sysds.runtime.util">EMAUtils</a></li>
+<li><a href="org/apache/sysds/runtime/transform/encode/Encoder.html" title="interface in org.apache.sysds.runtime.transform.encode"><span class="interfaceName">Encoder</span></a></li>
 <li><a href="org/apache/sysds/runtime/transform/encode/EncoderFactory.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderFactory</a></li>
-<li><a href="org/apache/sysds/runtime/transform/encode/EncoderFeatureHash.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderFeatureHash</a></li>
 <li><a href="org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderMVImpute</a></li>
 <li><a href="org/apache/sysds/runtime/transform/encode/EncoderMVImpute.MVMethod.html" title="enum in org.apache.sysds.runtime.transform.encode">EncoderMVImpute.MVMethod</a></li>
 <li><a href="org/apache/sysds/runtime/transform/encode/EncoderOmit.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderOmit</a></li>
-<li><a href="org/apache/sysds/runtime/transform/encode/EncoderPassThrough.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderPassThrough</a></li>
-<li><a href="org/apache/sysds/runtime/transform/encode/EncoderRecode.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderRecode</a></li>
 <li><a href="org/apache/sysds/utils/EnvironmentHelper.html" title="class in org.apache.sysds.utils">EnvironmentHelper</a></li>
 <li><a href="org/apache/sysds/runtime/functionobjects/Equals.html" title="class in org.apache.sysds.runtime.functionobjects">Equals</a></li>
 <li><a href="org/apache/sysds/runtime/compress/estim/EstimationFactors.html" title="class in org.apache.sysds.runtime.compress.estim">EstimationFactors</a></li>
@@ -468,7 +504,9 @@
 <li><a href="org/apache/sysds/runtime/util/FastStringTokenizer.html" title="class in org.apache.sysds.runtime.util">FastStringTokenizer</a></li>
 <li><a href="org/apache/sysds/lops/Federated.html" title="class in org.apache.sysds.lops">Federated</a></li>
 <li><a href="org/apache/sysds/runtime/controlprogram/federated/FederatedData.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedData</a></li>
+<li><a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/FederatedDataPartitioner.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">FederatedDataPartitioner</a></li>
 <li><a href="org/apache/sysds/runtime/controlprogram/federated/FederatedLocalData.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedLocalData</a></li>
+<li><a href="org/apache/sysds/runtime/controlprogram/paramserv/FederatedPSControlThread.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv">FederatedPSControlThread</a></li>
 <li><a href="org/apache/sysds/runtime/controlprogram/federated/FederatedRange.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRange</a></li>
 <li><a href="org/apache/sysds/runtime/controlprogram/federated/FederatedRequest.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRequest</a></li>
 <li><a href="org/apache/sysds/runtime/controlprogram/federated/FederatedRequest.RequestType.html" title="enum in org.apache.sysds.runtime.controlprogram.federated">FederatedRequest.RequestType</a></li>
@@ -592,12 +630,14 @@
 <li><a href="org/apache/sysds/parser/IfStatement.html" title="class in org.apache.sysds.parser">IfStatement</a></li>
 <li><a href="org/apache/sysds/parser/IfStatementBlock.html" title="class in org.apache.sysds.parser">IfStatementBlock</a></li>
 <li><a href="org/apache/sysds/runtime/matrix/data/IJV.html" title="class in org.apache.sysds.runtime.matrix.data">IJV</a></li>
+<li><a href="org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html" title="interface in org.apache.sysds.runtime.compress.colgroup.mapping"><span class="interfaceName">IMapToData</span></a></li>
 <li><a href="org/apache/sysds/parser/ImportStatement.html" title="class in org.apache.sysds.parser">ImportStatement</a></li>
 <li><a href="org/apache/sysds/parser/IndexedIdentifier.html" title="class in org.apache.sysds.parser">IndexedIdentifier</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/spark/data/IndexedMatrixValue.html" title="class in org.apache.sysds.runtime.instructions.spark.data">IndexedMatrixValue</a></li>
 <li><a href="org/apache/sysds/runtime/data/IndexedTensorBlock.html" title="class in org.apache.sysds.runtime.data">IndexedTensorBlock</a></li>
 <li><a href="org/apache/sysds/runtime/functionobjects/IndexFunction.html" title="class in org.apache.sysds.runtime.functionobjects">IndexFunction</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/cp/IndexingCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">IndexingCPInstruction</a></li>
+<li><a href="org/apache/sysds/runtime/instructions/fed/IndexingFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">IndexingFEDInstruction</a></li>
 <li><a href="org/apache/sysds/hops/IndexingOp.html" title="class in org.apache.sysds.hops">IndexingOp</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/spark/IndexingSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">IndexingSPInstruction</a></li>
 <li><a href="org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a></li>
@@ -605,6 +645,7 @@
 <li><a href="org/apache/sysds/runtime/instructions/fed/InitFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">InitFEDInstruction</a></li>
 <li><a href="org/apache/sysds/runtime/io/InputOutputInfo.html" title="class in org.apache.sysds.runtime.io">InputOutputInfo</a></li>
 <li><a href="org/apache/sysds/runtime/util/InputStreamInputFormat.html" title="class in org.apache.sysds.runtime.util">InputStreamInputFormat</a></li>
+<li><a href="org/apache/sysds/runtime/compress/colgroup/tree/InsertionSorterFactory.html" title="class in org.apache.sysds.runtime.compress.colgroup.tree">InsertionSorterFactory</a></li>
 <li><a href="org/apache/sysds/utils/InstallDependencyForIntegrationTests.html" title="class in org.apache.sysds.utils">InstallDependencyForIntegrationTests</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/Instruction.IType.html" title="enum in org.apache.sysds.runtime.instructions">Instruction.IType</a></li>
@@ -616,6 +657,7 @@
 <li><a href="org/apache/sysds/hops/codegen/opt/InterestingPoint.DecisionType.html" title="enum in org.apache.sysds.hops.codegen.opt">InterestingPoint.DecisionType</a></li>
 <li><a href="org/apache/sysds/hops/ipa/InterProceduralAnalysis.html" title="class in org.apache.sysds.hops.ipa">InterProceduralAnalysis</a></li>
 <li><a href="org/apache/sysds/parser/IntIdentifier.html" title="class in org.apache.sysds.parser">IntIdentifier</a></li>
+<li><a href="org/apache/sysds/runtime/compress/utils/IntIntMap.html" title="class in org.apache.sysds.runtime.compress.utils">IntIntMap</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/cp/IntObject.html" title="class in org.apache.sysds.runtime.instructions.cp">IntObject</a></li>
 <li><a href="org/apache/sysds/runtime/io/IOUtilFunctions.html" title="class in org.apache.sysds.runtime.io">IOUtilFunctions</a></li>
 <li><a href="org/apache/sysds/runtime/io/IOUtilFunctions.CountRowsTask.html" title="class in org.apache.sysds.runtime.io">IOUtilFunctions.CountRowsTask</a></li>
@@ -630,6 +672,7 @@
 <li><a href="org/apache/sysds/hops/ipa/IPAPassRemoveConstantBinaryOps.html" title="class in org.apache.sysds.hops.ipa">IPAPassRemoveConstantBinaryOps</a></li>
 <li><a href="org/apache/sysds/hops/ipa/IPAPassRemoveUnnecessaryCheckpoints.html" title="class in org.apache.sysds.hops.ipa">IPAPassRemoveUnnecessaryCheckpoints</a></li>
 <li><a href="org/apache/sysds/hops/ipa/IPAPassRemoveUnusedFunctions.html" title="class in org.apache.sysds.hops.ipa">IPAPassRemoveUnusedFunctions</a></li>
+<li><a href="org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre"><span class="interfaceName">IPreAggregate</span></a></li>
 <li><a href="org/apache/sysds/runtime/instructions/spark/functions/IsBlockInList.html" title="class in org.apache.sysds.runtime.instructions.spark.functions">IsBlockInList</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/spark/functions/IsBlockInRange.html" title="class in org.apache.sysds.runtime.instructions.spark.functions">IsBlockInRange</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/spark/functions/IsFrameBlockInRange.html" title="class in org.apache.sysds.runtime.instructions.spark.functions">IsFrameBlockInRange</a></li>
@@ -641,6 +684,7 @@
 <li><a href="org/apache/sysds/runtime/instructions/cp/KahanObject.html" title="class in org.apache.sysds.runtime.instructions.cp">KahanObject</a></li>
 <li><a href="org/apache/sysds/runtime/functionobjects/KahanPlus.html" title="class in org.apache.sysds.runtime.functionobjects">KahanPlus</a></li>
 <li><a href="org/apache/sysds/runtime/functionobjects/KahanPlusSq.html" title="class in org.apache.sysds.runtime.functionobjects">KahanPlusSq</a></li>
+<li><a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/KeepDataOnWorkerFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">KeepDataOnWorkerFederatedScheme</a></li>
 <li><a href="org/apache/sysds/parser/LanguageException.html" title="class in org.apache.sysds.parser">LanguageException</a></li>
 <li><a href="org/apache/sysds/parser/LanguageException.LanguageErrorCodes.html" title="class in org.apache.sysds.parser">LanguageException.LanguageErrorCodes</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/spark/data/LazyIterableIterator.html" title="class in org.apache.sysds.runtime.instructions.spark.data">LazyIterableIterator</a></li>
@@ -651,11 +695,10 @@
 <li><a href="org/apache/sysds/hops/LeftIndexingOp.html" title="class in org.apache.sysds.hops">LeftIndexingOp</a></li>
 <li><a href="org/apache/sysds/hops/LeftIndexingOp.LeftIndexingMethod.html" title="enum in org.apache.sysds.hops">LeftIndexingOp.LeftIndexingMethod</a></li>
 <li><a href="org/apache/sysds/runtime/matrix/operators/LeftScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">LeftScalarOperator</a></li>
+<li><a href="org/apache/sysds/runtime/transform/encode/LegacyEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">LegacyEncoder</a></li>
 <li><a href="org/apache/sysds/runtime/functionobjects/LessThan.html" title="class in org.apache.sysds.runtime.functionobjects">LessThan</a></li>
 <li><a href="org/apache/sysds/runtime/functionobjects/LessThanEquals.html" title="class in org.apache.sysds.runtime.functionobjects">LessThanEquals</a></li>
-<li><a href="org/apache/sysds/runtime/compress/lib/LibBinaryCellOp.html" title="class in org.apache.sysds.runtime.compress.lib">LibBinaryCellOp</a></li>
 <li><a href="org/apache/sysds/runtime/matrix/data/LibCommonsMath.html" title="class in org.apache.sysds.runtime.matrix.data">LibCommonsMath</a></li>
-<li><a href="org/apache/sysds/runtime/compress/lib/LibLeftMultBy.html" title="class in org.apache.sysds.runtime.compress.lib">LibLeftMultBy</a></li>
 <li><a href="org/apache/sysds/runtime/matrix/data/LibMatrixAgg.html" title="class in org.apache.sysds.runtime.matrix.data">LibMatrixAgg</a></li>
 <li><a href="org/apache/sysds/runtime/matrix/data/LibMatrixBincell.html" title="class in org.apache.sysds.runtime.matrix.data">LibMatrixBincell</a></li>
 <li><a href="org/apache/sysds/runtime/matrix/data/LibMatrixBincell.BinaryAccessType.html" title="enum in org.apache.sysds.runtime.matrix.data">LibMatrixBincell.BinaryAccessType</a></li>
@@ -682,8 +725,7 @@
 <li><a href="org/apache/sysds/runtime/matrix/data/LibMatrixNative.html" title="class in org.apache.sysds.runtime.matrix.data">LibMatrixNative</a></li>
 <li><a href="org/apache/sysds/runtime/matrix/data/LibMatrixOuterAgg.html" title="class in org.apache.sysds.runtime.matrix.data">LibMatrixOuterAgg</a></li>
 <li><a href="org/apache/sysds/runtime/matrix/data/LibMatrixReorg.html" title="class in org.apache.sysds.runtime.matrix.data">LibMatrixReorg</a></li>
-<li><a href="org/apache/sysds/runtime/compress/lib/LibRightMultBy.html" title="class in org.apache.sysds.runtime.compress.lib">LibRightMultBy</a></li>
-<li><a href="org/apache/sysds/runtime/compress/lib/LibScalar.html" title="class in org.apache.sysds.runtime.compress.lib">LibScalar</a></li>
+<li><a href="org/apache/sysds/runtime/matrix/data/LibMatrixTercell.html" title="class in org.apache.sysds.runtime.matrix.data">LibMatrixTercell</a></li>
 <li><a href="org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html" title="class in org.apache.sysds.runtime.codegen">LibSpoofPrimitives</a></li>
 <li><a href="org/apache/sysds/runtime/data/LibTensorAgg.html" title="class in org.apache.sysds.runtime.data">LibTensorAgg</a></li>
 <li><a href="org/apache/sysds/runtime/data/LibTensorBincell.html" title="class in org.apache.sysds.runtime.data">LibTensorBincell</a></li>
@@ -699,6 +741,8 @@
 <li><a href="org/apache/sysds/runtime/lineage/LineageCodegenItem.html" title="class in org.apache.sysds.runtime.lineage">LineageCodegenItem</a></li>
 <li><a href="org/apache/sysds/runtime/lineage/LineageDedupBlock.html" title="class in org.apache.sysds.runtime.lineage">LineageDedupBlock</a></li>
 <li><a href="org/apache/sysds/runtime/lineage/LineageDedupUtils.html" title="class in org.apache.sysds.runtime.lineage">LineageDedupUtils</a></li>
+<li><a href="org/apache/sysds/runtime/lineage/LineageEstimator.html" title="class in org.apache.sysds.runtime.lineage">LineageEstimator</a></li>
+<li><a href="org/apache/sysds/runtime/lineage/LineageEstimatorStatistics.html" title="class in org.apache.sysds.runtime.lineage">LineageEstimatorStatistics</a></li>
 <li><a href="org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a></li>
 <li><a href="org/apache/sysds/runtime/lineage/LineageItem.LineageItemType.html" title="enum in org.apache.sysds.runtime.lineage">LineageItem.LineageItemType</a></li>
 <li><a href="org/apache/sysds/runtime/lineage/LineageItemUtils.html" title="class in org.apache.sysds.runtime.lineage">LineageItemUtils</a></li>
@@ -710,9 +754,11 @@
 <li><a href="org/apache/sysds/runtime/lineage/LineageTokenizer.html" title="class in org.apache.sysds.runtime.lineage">LineageTokenizer</a></li>
 <li><a href="org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage"><span class="interfaceName">LineageTraceable</span></a></li>
 <li><a href="org/apache/sysds/runtime/compress/utils/LinearAlgebraUtils.html" title="class in org.apache.sysds.runtime.compress.utils">LinearAlgebraUtils</a></li>
+<li><a href="org/apache/sysds/runtime/privacy/propagation/ListAppendPropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation">ListAppendPropagator</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/cp/ListAppendRemoveCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ListAppendRemoveCPInstruction</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/cp/ListIndexingCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ListIndexingCPInstruction</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/cp/ListObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ListObject</a></li>
+<li><a href="org/apache/sysds/runtime/privacy/propagation/ListRemovePropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation">ListRemovePropagator</a></li>
 <li><a href="org/apache/sysds/hops/LiteralOp.html" title="class in org.apache.sysds.hops">LiteralOp</a></li>
 <li><a href="org/apache/sysds/hops/recompile/LiteralReplacement.html" title="class in org.apache.sysds.hops.recompile">LiteralReplacement</a></li>
 <li><a href="org/apache/sysds/parser/LiveVariableAnalysis.html" title="class in org.apache.sysds.parser">LiveVariableAnalysis</a></li>
@@ -742,7 +788,14 @@
 <li><a href="org/apache/sysds/lops/MapMult.CacheType.html" title="enum in org.apache.sysds.lops">MapMult.CacheType</a></li>
 <li><a href="org/apache/sysds/lops/MapMultChain.html" title="class in org.apache.sysds.lops">MapMultChain</a></li>
 <li><a href="org/apache/sysds/lops/MapMultChain.ChainType.html" title="enum in org.apache.sysds.lops">MapMultChain.ChainType</a></li>
+<li><a href="org/apache/sysds/runtime/compress/colgroup/pre/MapPreAggregate.html" title="class in org.apache.sysds.runtime.compress.colgroup.pre">MapPreAggregate</a></li>
+<li><a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToBit.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping">MapToBit</a></li>
+<li><a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToByte.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping">MapToByte</a></li>
+<li><a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToChar.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping">MapToChar</a></li>
+<li><a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToFactory.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping">MapToFactory</a></li>
+<li><a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToInt.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping">MapToInt</a></li>
 <li><a href="org/apache/sysds/hops/rewrite/MarkForLineageReuse.html" title="class in org.apache.sysds.hops.rewrite">MarkForLineageReuse</a></li>
+<li><a href="org/apache/sysds/runtime/compress/colgroup/tree/MaterializeSort.html" title="class in org.apache.sysds.runtime.compress.colgroup.tree">MaterializeSort</a></li>
 <li><a href="org/apache/sysds/lops/MatMultCP.html" title="class in org.apache.sysds.lops">MatMultCP</a></li>
 <li><a href="org/apache/sysds/api/mlcontext/Matrix.html" title="class in org.apache.sysds.api.mlcontext">Matrix</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/cp/MatrixAppendCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">MatrixAppendCPInstruction</a></li>
@@ -788,9 +841,11 @@
 <li><a href="org/apache/sysds/runtime/functionobjects/Mean.html" title="class in org.apache.sysds.runtime.functionobjects">Mean</a></li>
 <li><a href="org/apache/sysds/utils/MemoryEstimates.html" title="class in org.apache.sysds.utils">MemoryEstimates</a></li>
 <li><a href="org/apache/sysds/hops/MemoTable.html" title="class in org.apache.sysds.hops">MemoTable</a></li>
+<li><a href="org/apache/sysds/runtime/compress/colgroup/tree/MergeSort.html" title="class in org.apache.sysds.runtime.compress.colgroup.tree">MergeSort</a></li>
 <li><a href="org/apache/sysds/api/mlcontext/Metadata.html" title="class in org.apache.sysds.api.mlcontext">Metadata</a></li>
 <li><a href="org/apache/sysds/runtime/meta/MetaData.html" title="class in org.apache.sysds.runtime.meta">MetaData</a></li>
 <li><a href="org/apache/sysds/runtime/meta/MetaDataFormat.html" title="class in org.apache.sysds.runtime.meta">MetaDataFormat</a></li>
+<li><a href="org/apache/sysds/runtime/meta/MetaDataUtils.html" title="class in org.apache.sysds.runtime.meta">MetaDataUtils</a></li>
 <li><a href="org/apache/sysds/runtime/functionobjects/Minus.html" title="class in org.apache.sysds.runtime.functionobjects">Minus</a></li>
 <li><a href="org/apache/sysds/runtime/functionobjects/Minus1Multiply.html" title="class in org.apache.sysds.runtime.functionobjects">Minus1Multiply</a></li>
 <li><a href="org/apache/sysds/runtime/functionobjects/MinusMultiply.html" title="class in org.apache.sysds.runtime.functionobjects">MinusMultiply</a></li>
@@ -816,6 +871,7 @@
 <li><a href="org/apache/sysds/lops/MMZip.html" title="class in org.apache.sysds.lops">MMZip</a></li>
 <li><a href="org/apache/sysds/runtime/functionobjects/Modulus.html" title="class in org.apache.sysds.runtime.functionobjects">Modulus</a></li>
 <li><a href="org/apache/sysds/parser/MultiAssignmentStatement.html" title="class in org.apache.sysds.parser">MultiAssignmentStatement</a></li>
+<li><a href="org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a></li>
 <li><a href="org/apache/sysds/runtime/functionobjects/Multiply.html" title="class in org.apache.sysds.runtime.functionobjects">Multiply</a></li>
 <li><a href="org/apache/sysds/runtime/functionobjects/Multiply2.html" title="class in org.apache.sysds.runtime.functionobjects">Multiply2</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/cp/MultiReturnBuiltinCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">MultiReturnBuiltinCPInstruction</a></li>
@@ -829,6 +885,7 @@
 <li><a href="org/apache/sysds/runtime/instructions/spark/MultiReturnParameterizedBuiltinSPInstruction.TransformEncodeGroup2Function.html" title="class in org.apache.sysds.runtime.instructions.spark">MultiReturnParameterizedBuiltinSPInstruction.TransformEncodeGroup2Function</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/spark/MultiReturnParameterizedBuiltinSPInstruction.TransformEncodeGroupFunction.html" title="class in org.apache.sysds.runtime.instructions.spark">MultiReturnParameterizedBuiltinSPInstruction.TransformEncodeGroupFunction</a></li>
 <li><a href="org/apache/sysds/hops/MultiThreadedHop.html" title="class in org.apache.sysds.hops">MultiThreadedHop</a></li>
+<li><a href="org/apache/sysds/runtime/compress/colgroup/tree/Naive.html" title="class in org.apache.sysds.runtime.compress.colgroup.tree">Naive</a></li>
 <li><a href="org/apache/sysds/lops/Nary.html" title="class in org.apache.sysds.lops">Nary</a></li>
 <li><a href="org/apache/sysds/hops/NaryOp.html" title="class in org.apache.sysds.hops">NaryOp</a></li>
 <li><a href="org/apache/sysds/utils/NativeHelper.html" title="class in org.apache.sysds.utils">NativeHelper</a></li>
@@ -889,6 +946,7 @@
 <li><a href="org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDRemoveEmptyFunctionInMem.html" title="class in org.apache.sysds.runtime.instructions.spark">ParameterizedBuiltinSPInstruction.RDDRemoveEmptyFunctionInMem</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDReplaceFunction.html" title="class in org.apache.sysds.runtime.instructions.spark">ParameterizedBuiltinSPInstruction.RDDReplaceFunction</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDRExpandFunction.html" title="class in org.apache.sysds.runtime.instructions.spark">ParameterizedBuiltinSPInstruction.RDDRExpandFunction</a></li>
+<li><a href="org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDTokenizeFunction.html" title="class in org.apache.sysds.runtime.instructions.spark">ParameterizedBuiltinSPInstruction.RDDTokenizeFunction</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDTransformApplyFunction.html" title="class in org.apache.sysds.runtime.instructions.spark">ParameterizedBuiltinSPInstruction.RDDTransformApplyFunction</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDTransformApplyOffsetFunction.html" title="class in org.apache.sysds.runtime.instructions.spark">ParameterizedBuiltinSPInstruction.RDDTransformApplyOffsetFunction</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDTransformDecodeExpandFunction.html" title="class in org.apache.sysds.runtime.instructions.spark">ParameterizedBuiltinSPInstruction.RDDTransformDecodeExpandFunction</a></li>
@@ -923,11 +981,7 @@
 <li><a href="org/apache/sysds/lops/PickByCount.OperationTypes.html" title="enum in org.apache.sysds.lops">PickByCount.OperationTypes</a></li>
 <li><a href="org/apache/sysds/hops/codegen/opt/PlanAnalyzer.html" title="class in org.apache.sysds.hops.codegen.opt">PlanAnalyzer</a></li>
 <li><a href="org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCoder</a></li>
-<li><a href="org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCoder.GroupableColInfo</a></li>
 <li><a href="org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.PartitionerType.html" title="enum in org.apache.sysds.runtime.compress.cocode">PlanningCoCoder.PartitionerType</a></li>
-<li><a href="org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCodingGroup</a></li>
-<li><a href="org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.ColIndexes.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCodingGroup.ColIndexes</a></li>
-<li><a href="org/apache/sysds/runtime/compress/cocode/PlanningMemoTable.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningMemoTable</a></li>
 <li><a href="org/apache/sysds/hops/codegen/opt/PlanPartition.html" title="class in org.apache.sysds.hops.codegen.opt">PlanPartition</a></li>
 <li><a href="org/apache/sysds/hops/codegen/opt/PlanSelection.html" title="class in org.apache.sysds.hops.codegen.opt">PlanSelection</a></li>
 <li><a href="org/apache/sysds/hops/codegen/opt/PlanSelection.VisitMarkCost.html" title="class in org.apache.sysds.hops.codegen.opt">PlanSelection.VisitMarkCost</a></li>
@@ -946,6 +1000,7 @@
 <li><a href="org/apache/sysds/runtime/util/PoissonPRNGenerator.html" title="class in org.apache.sysds.runtime.util">PoissonPRNGenerator</a></li>
 <li><a href="org/apache/sysds/runtime/functionobjects/Power.html" title="class in org.apache.sysds.runtime.functionobjects">Power</a></li>
 <li><a href="org/apache/sysds/runtime/functionobjects/Power2.html" title="class in org.apache.sysds.runtime.functionobjects">Power2</a></li>
+<li><a href="org/apache/sysds/runtime/compress/colgroup/pre/PreAggregateFactory.html" title="class in org.apache.sysds.runtime.compress.colgroup.pre">PreAggregateFactory</a></li>
 <li><a href="org/apache/sysds/api/jmlc/PreparedScript.html" title="class in org.apache.sysds.api.jmlc">PreparedScript</a></li>
 <li><a href="org/apache/sysds/parser/PrintStatement.html" title="class in org.apache.sysds.parser">PrintStatement</a></li>
 <li><a href="org/apache/sysds/parser/PrintStatement.PRINTTYPE.html" title="enum in org.apache.sysds.parser">PrintStatement.PRINTTYPE</a></li>
@@ -963,6 +1018,7 @@
 <li><a href="org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a></li>
 <li><a href="org/apache/sysds/api/mlcontext/ProjectInfo.html" title="class in org.apache.sysds.api.mlcontext">ProjectInfo</a></li>
 <li><a href="org/apache/sysds/runtime/privacy/propagation/Propagator.html" title="interface in org.apache.sysds.runtime.privacy.propagation"><span class="interfaceName">Propagator</span></a></li>
+<li><a href="org/apache/sysds/runtime/privacy/propagation/PropagatorMultiReturn.html" title="interface in org.apache.sysds.runtime.privacy.propagation"><span class="interfaceName">PropagatorMultiReturn</span></a></li>
 <li><a href="org/apache/sysds/runtime/controlprogram/paramserv/rpc/PSRpcCall.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.rpc">PSRpcCall</a></li>
 <li><a href="org/apache/sysds/runtime/controlprogram/paramserv/rpc/PSRpcFactory.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.rpc">PSRpcFactory</a></li>
 <li><a href="org/apache/sysds/runtime/controlprogram/paramserv/rpc/PSRpcHandler.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.rpc">PSRpcHandler</a></li>
@@ -974,16 +1030,25 @@
 <li><a href="org/apache/sysds/api/PythonDMLScript.html" title="class in org.apache.sysds.api">PythonDMLScript</a></li>
 <li><a href="org/apache/sysds/runtime/compress/colgroup/QDictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">QDictionary</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/cp/QuantilePickCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">QuantilePickCPInstruction</a></li>
+<li><a href="org/apache/sysds/runtime/instructions/fed/QuantilePickFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuantilePickFEDInstruction</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/spark/QuantilePickSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">QuantilePickSPInstruction</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/cp/QuantileSortCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">QuantileSortCPInstruction</a></li>
+<li><a href="org/apache/sysds/runtime/instructions/fed/QuantileSortFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuantileSortFEDInstruction</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/spark/QuantileSortSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">QuantileSortSPInstruction</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/cp/QuaternaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">QuaternaryCPInstruction</a></li>
+<li><a href="org/apache/sysds/runtime/instructions/fed/QuaternaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuaternaryFEDInstruction</a></li>
 <li><a href="org/apache/sysds/hops/QuaternaryOp.html" title="class in org.apache.sysds.hops">QuaternaryOp</a></li>
 <li><a href="org/apache/sysds/runtime/matrix/operators/QuaternaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">QuaternaryOperator</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/spark/QuaternarySPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">QuaternarySPInstruction</a></li>
+<li><a href="org/apache/sysds/runtime/instructions/fed/QuaternaryWCeMMFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuaternaryWCeMMFEDInstruction</a></li>
+<li><a href="org/apache/sysds/runtime/instructions/fed/QuaternaryWDivMMFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuaternaryWDivMMFEDInstruction</a></li>
+<li><a href="org/apache/sysds/runtime/instructions/fed/QuaternaryWSigmoidFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuaternaryWSigmoidFEDInstruction</a></li>
+<li><a href="org/apache/sysds/runtime/instructions/fed/QuaternaryWSLossFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuaternaryWSLossFEDInstruction</a></li>
+<li><a href="org/apache/sysds/runtime/instructions/fed/QuaternaryWUMMFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuaternaryWUMMFEDInstruction</a></li>
 <li><a href="org/apache/sysds/runtime/util/RandNPair.html" title="class in org.apache.sysds.runtime.util">RandNPair</a></li>
 <li><a href="org/apache/sysds/runtime/matrix/data/RandomMatrixGenerator.html" title="class in org.apache.sysds.runtime.matrix.data">RandomMatrixGenerator</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/spark/RandSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">RandSPInstruction</a></li>
+<li><a href="org/apache/sysds/runtime/privacy/propagation/RBindPropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation">RBindPropagator</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/spark/utils/RDDAggregateUtils.html" title="class in org.apache.sysds.runtime.instructions.spark.utils">RDDAggregateUtils</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/spark/utils/RDDConverterUtils.html" title="class in org.apache.sysds.runtime.instructions.spark.utils">RDDConverterUtils</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/spark/utils/RDDConverterUtils.BinaryCellToBinaryBlockFunction.html" title="class in org.apache.sysds.runtime.instructions.spark.utils">RDDConverterUtils.BinaryCellToBinaryBlockFunction</a></li>
@@ -999,10 +1064,15 @@
 <li><a href="org/apache/sysds/hops/codegen/opt/ReachabilityGraph.SubProblem.html" title="class in org.apache.sysds.hops.codegen.opt">ReachabilityGraph.SubProblem</a></li>
 <li><a href="org/apache/sysds/runtime/io/ReaderBinaryBlock.html" title="class in org.apache.sysds.runtime.io">ReaderBinaryBlock</a></li>
 <li><a href="org/apache/sysds/runtime/io/ReaderBinaryBlockParallel.html" title="class in org.apache.sysds.runtime.io">ReaderBinaryBlockParallel</a></li>
-<li><a href="org/apache/sysds/runtime/compress/ReaderColumnSelection.html" title="class in org.apache.sysds.runtime.compress">ReaderColumnSelection</a></li>
-<li><a href="org/apache/sysds/runtime/compress/ReaderColumnSelectionDense.html" title="class in org.apache.sysds.runtime.compress">ReaderColumnSelectionDense</a></li>
-<li><a href="org/apache/sysds/runtime/compress/ReaderColumnSelectionDenseSample.html" title="class in org.apache.sysds.runtime.compress">ReaderColumnSelectionDenseSample</a></li>
-<li><a href="org/apache/sysds/runtime/compress/ReaderColumnSelectionSparse.html" title="class in org.apache.sysds.runtime.compress">ReaderColumnSelectionSparse</a></li>
+<li><a href="org/apache/sysds/runtime/compress/readers/ReaderColumnSelection.html" title="class in org.apache.sysds.runtime.compress.readers">ReaderColumnSelection</a></li>
+<li><a href="org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionBitSet.html" title="class in org.apache.sysds.runtime.compress.readers">ReaderColumnSelectionBitSet</a></li>
+<li><a href="org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionDenseMultiBlock.html" title="class in org.apache.sysds.runtime.compress.readers">ReaderColumnSelectionDenseMultiBlock</a></li>
+<li><a href="org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionDenseMultiBlockTransposed.html" title="class in org.apache.sysds.runtime.compress.readers">ReaderColumnSelectionDenseMultiBlockTransposed</a></li>
+<li><a href="org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionDenseSingleBlock.html" title="class in org.apache.sysds.runtime.compress.readers">ReaderColumnSelectionDenseSingleBlock</a></li>
+<li><a href="org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionDenseSingleBlockTransposed.html" title="class in org.apache.sysds.runtime.compress.readers">ReaderColumnSelectionDenseSingleBlockTransposed</a></li>
+<li><a href="org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionSparse.html" title="class in org.apache.sysds.runtime.compress.readers">ReaderColumnSelectionSparse</a></li>
+<li><a href="org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionSparseTransposed.html" title="class in org.apache.sysds.runtime.compress.readers">ReaderColumnSelectionSparseTransposed</a></li>
+<li><a href="org/apache/sysds/runtime/compress/readers/ReaderCompressedSelection.html" title="class in org.apache.sysds.runtime.compress.readers">ReaderCompressedSelection</a></li>
 <li><a href="org/apache/sysds/runtime/io/ReaderTextCell.html" title="class in org.apache.sysds.runtime.io">ReaderTextCell</a></li>
 <li><a href="org/apache/sysds/runtime/io/ReaderTextCellParallel.html" title="class in org.apache.sysds.runtime.io">ReaderTextCellParallel</a></li>
 <li><a href="org/apache/sysds/runtime/io/ReaderTextCellParallel.CellBuffer.html" title="class in org.apache.sysds.runtime.io">ReaderTextCellParallel.CellBuffer</a></li>
@@ -1012,6 +1082,7 @@
 <li><a href="org/apache/sysds/runtime/io/ReaderTextCSVParallel.html" title="class in org.apache.sysds.runtime.io">ReaderTextCSVParallel</a></li>
 <li><a href="org/apache/sysds/runtime/io/ReaderTextLIBSVM.html" title="class in org.apache.sysds.runtime.io">ReaderTextLIBSVM</a></li>
 <li><a href="org/apache/sysds/runtime/io/ReaderTextLIBSVMParallel.html" title="class in org.apache.sysds.runtime.io">ReaderTextLIBSVMParallel</a></li>
+<li><a href="org/apache/sysds/runtime/io/ReaderWriterFederated.html" title="class in org.apache.sysds.runtime.io">ReaderWriterFederated</a></li>
 <li><a href="org/apache/sysds/runtime/io/ReadProperties.html" title="class in org.apache.sysds.runtime.io">ReadProperties</a></li>
 <li><a href="org/apache/sysds/lops/ReBlock.html" title="class in org.apache.sysds.lops">ReBlock</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/spark/data/ReblockBuffer.html" title="class in org.apache.sysds.runtime.instructions.spark.data">ReblockBuffer</a></li>
@@ -1036,6 +1107,8 @@
 <li><a href="org/apache/sysds/runtime/controlprogram/parfor/RemoteParForUtils.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">RemoteParForUtils</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/cp/ReorgCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ReorgCPInstruction</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">ReorgFEDInstruction</a></li>
+<li><a href="org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.DiagMatrix.html" title="class in org.apache.sysds.runtime.instructions.fed">ReorgFEDInstruction.DiagMatrix</a></li>
+<li><a href="org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.Rdiag.html" title="class in org.apache.sysds.runtime.instructions.fed">ReorgFEDInstruction.Rdiag</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/gpu/ReorgGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">ReorgGPUInstruction</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/spark/functions/ReorgMapFunction.html" title="class in org.apache.sysds.runtime.instructions.spark.functions">ReorgMapFunction</a></li>
 <li><a href="org/apache/sysds/hops/ReorgOp.html" title="class in org.apache.sysds.hops">ReorgOp</a></li>
@@ -1043,8 +1116,10 @@
 <li><a href="org/apache/sysds/runtime/instructions/spark/ReorgSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">ReorgSPInstruction</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/spark/functions/ReplicateBlockFunction.html" title="class in org.apache.sysds.runtime.instructions.spark.functions">ReplicateBlockFunction</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/spark/functions/ReplicateTensorFunction.html" title="class in org.apache.sysds.runtime.instructions.spark.functions">ReplicateTensorFunction</a></li>
+<li><a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/ReplicateToMaxFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">ReplicateToMaxFederatedScheme</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/spark/functions/ReplicateVectorFunction.html" title="class in org.apache.sysds.runtime.instructions.spark.functions">ReplicateVectorFunction</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/cp/ReshapeCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ReshapeCPInstruction</a></li>
+<li><a href="org/apache/sysds/runtime/instructions/fed/ReshapeFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">ReshapeFEDInstruction</a></li>
 <li><a href="org/apache/sysds/runtime/controlprogram/parfor/ResultMerge.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">ResultMerge</a></li>
 <li><a href="org/apache/sysds/runtime/controlprogram/parfor/ResultMergeLocalAutomatic.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">ResultMergeLocalAutomatic</a></li>
 <li><a href="org/apache/sysds/runtime/controlprogram/parfor/ResultMergeLocalFile.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">ResultMergeLocalFile</a></li>
@@ -1075,6 +1150,7 @@
 <li><a href="org/apache/sysds/hops/rewrite/RewriteMergeBlockSequence.html" title="class in org.apache.sysds.hops.rewrite">RewriteMergeBlockSequence</a></li>
 <li><a href="org/apache/sysds/hops/rewrite/RewriteRemoveDanglingParentReferences.html" title="class in org.apache.sysds.hops.rewrite">RewriteRemoveDanglingParentReferences</a></li>
 <li><a href="org/apache/sysds/hops/rewrite/RewriteRemoveEmptyBasicBlocks.html" title="class in org.apache.sysds.hops.rewrite">RewriteRemoveEmptyBasicBlocks</a></li>
+<li><a href="org/apache/sysds/hops/rewrite/RewriteRemoveForLoopEmptySequence.html" title="class in org.apache.sysds.hops.rewrite">RewriteRemoveForLoopEmptySequence</a></li>
 <li><a href="org/apache/sysds/hops/rewrite/RewriteRemovePersistentReadWrite.html" title="class in org.apache.sysds.hops.rewrite">RewriteRemovePersistentReadWrite</a></li>
 <li><a href="org/apache/sysds/hops/rewrite/RewriteRemoveReadAfterWrite.html" title="class in org.apache.sysds.hops.rewrite">RewriteRemoveReadAfterWrite</a></li>
 <li><a href="org/apache/sysds/hops/rewrite/RewriteRemoveUnnecessaryBranches.html" title="class in org.apache.sysds.hops.rewrite">RewriteRemoveUnnecessaryBranches</a></li>
@@ -1103,6 +1179,7 @@
 <li><a href="org/apache/sysds/runtime/instructions/gpu/context/ShadowBuffer.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">ShadowBuffer</a></li>
 <li><a href="org/apache/sysds/runtime/compress/estim/sample/ShlosserEstimator.html" title="class in org.apache.sysds.runtime.compress.estim.sample">ShlosserEstimator</a></li>
 <li><a href="org/apache/sysds/runtime/compress/estim/sample/ShlosserJackknifeEstimator.html" title="class in org.apache.sysds.runtime.compress.estim.sample">ShlosserJackknifeEstimator</a></li>
+<li><a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/ShuffleFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">ShuffleFederatedScheme</a></li>
 <li><a href="org/apache/sysds/runtime/matrix/operators/SimpleOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">SimpleOperator</a></li>
 <li><a href="org/apache/sysds/runtime/matrix/data/SinglePrecisionCudaSupportFunctions.html" title="class in org.apache.sysds.runtime.matrix.data">SinglePrecisionCudaSupportFunctions</a></li>
 <li><a href="org/apache/sysds/runtime/compress/estim/sample/SmoothedJackknifeEstimator.html" title="class in org.apache.sysds.runtime.compress.estim.sample">SmoothedJackknifeEstimator</a></li>
@@ -1124,7 +1201,6 @@
 <li><a href="org/apache/sysds/runtime/data/SparseBlockFactory.html" title="class in org.apache.sysds.runtime.data">SparseBlockFactory</a></li>
 <li><a href="org/apache/sysds/runtime/data/SparseBlockMCSR.html" title="class in org.apache.sysds.runtime.data">SparseBlockMCSR</a></li>
 <li><a href="org/apache/sysds/runtime/data/SparseRow.html" title="class in org.apache.sysds.runtime.data">SparseRow</a></li>
-<li><a href="org/apache/sysds/runtime/compress/colgroup/SparseRowIterator.html" title="class in org.apache.sysds.runtime.compress.colgroup">SparseRowIterator</a></li>
 <li><a href="org/apache/sysds/runtime/data/SparseRowScalar.html" title="class in org.apache.sysds.runtime.data">SparseRowScalar</a></li>
 <li><a href="org/apache/sysds/runtime/data/SparseRowVector.html" title="class in org.apache.sysds.runtime.data">SparseRowVector</a></li>
 <li><a href="org/apache/sysds/hops/estim/SparsityEstimator.html" title="class in org.apache.sysds.hops.estim">SparsityEstimator</a></li>
@@ -1137,11 +1213,20 @@
 <li><a href="org/apache/sysds/runtime/codegen/SpoofCellwise.CellType.html" title="enum in org.apache.sysds.runtime.codegen">SpoofCellwise.CellType</a></li>
 <li><a href="org/apache/sysds/hops/codegen/SpoofCompiler.html" title="class in org.apache.sysds.hops.codegen">SpoofCompiler</a></li>
 <li><a href="org/apache/sysds/hops/codegen/SpoofCompiler.CompilerType.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.CompilerType</a></li>
+<li><a href="org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a></li>
 <li><a href="org/apache/sysds/hops/codegen/SpoofCompiler.IntegrationType.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.IntegrationType</a></li>
 <li><a href="org/apache/sysds/hops/codegen/SpoofCompiler.PlanCachePolicy.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.PlanCachePolicy</a></li>
 <li><a href="org/apache/sysds/hops/codegen/SpoofCompiler.PlanSelector.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.PlanSelector</a></li>
 <li><a href="org/apache/sysds/hops/codegen/SpoofCompiler.RegisterAlloc.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.RegisterAlloc</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/cp/SpoofCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">SpoofCPInstruction</a></li>
+<li><a href="org/apache/sysds/runtime/codegen/SpoofCUDACellwise.html" title="class in org.apache.sysds.runtime.codegen">SpoofCUDACellwise</a></li>
+<li><a href="org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">SpoofCUDAInstruction</a></li>
+<li><a href="org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.DoublePrecision.html" title="class in org.apache.sysds.runtime.instructions.gpu">SpoofCUDAInstruction.DoublePrecision</a></li>
+<li><a href="org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.SinglePrecision.html" title="class in org.apache.sysds.runtime.instructions.gpu">SpoofCUDAInstruction.SinglePrecision</a></li>
+<li><a href="org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html" title="interface in org.apache.sysds.runtime.codegen"><span class="interfaceName">SpoofCUDAOperator</span></a></li>
+<li><a href="org/apache/sysds/runtime/codegen/SpoofCUDAOperator.PrecisionProxy.html" title="class in org.apache.sysds.runtime.codegen">SpoofCUDAOperator.PrecisionProxy</a></li>
+<li><a href="org/apache/sysds/runtime/codegen/SpoofCUDARowwise.html" title="class in org.apache.sysds.runtime.codegen">SpoofCUDARowwise</a></li>
+<li><a href="org/apache/sysds/runtime/instructions/fed/SpoofFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">SpoofFEDInstruction</a></li>
 <li><a href="org/apache/sysds/lops/SpoofFused.html" title="class in org.apache.sysds.lops">SpoofFused</a></li>
 <li><a href="org/apache/sysds/hops/codegen/SpoofFusedOp.html" title="class in org.apache.sysds.hops.codegen">SpoofFusedOp</a></li>
 <li><a href="org/apache/sysds/hops/codegen/SpoofFusedOp.SpoofOutputDimsType.html" title="enum in org.apache.sysds.hops.codegen">SpoofFusedOp.SpoofOutputDimsType</a></li>
@@ -1161,9 +1246,11 @@
 <li><a href="org/apache/sysds/runtime/controlprogram/parfor/util/StagingFileUtils.html" title="class in org.apache.sysds.runtime.controlprogram.parfor.util">StagingFileUtils</a></li>
 <li><a href="org/apache/sysds/runtime/controlprogram/parfor/stat/Stat.html" title="enum in org.apache.sysds.runtime.controlprogram.parfor.stat">Stat</a></li>
 <li><a href="org/apache/sysds/parser/Statement.html" title="class in org.apache.sysds.parser">Statement</a></li>
+<li><a href="org/apache/sysds/parser/Statement.FederatedPSScheme.html" title="enum in org.apache.sysds.parser">Statement.FederatedPSScheme</a></li>
 <li><a href="org/apache/sysds/parser/Statement.PSCheckpointing.html" title="enum in org.apache.sysds.parser">Statement.PSCheckpointing</a></li>
 <li><a href="org/apache/sysds/parser/Statement.PSFrequency.html" title="enum in org.apache.sysds.parser">Statement.PSFrequency</a></li>
 <li><a href="org/apache/sysds/parser/Statement.PSModeType.html" title="enum in org.apache.sysds.parser">Statement.PSModeType</a></li>
+<li><a href="org/apache/sysds/parser/Statement.PSRuntimeBalancing.html" title="enum in org.apache.sysds.parser">Statement.PSRuntimeBalancing</a></li>
 <li><a href="org/apache/sysds/parser/Statement.PSScheme.html" title="enum in org.apache.sysds.parser">Statement.PSScheme</a></li>
 <li><a href="org/apache/sysds/parser/Statement.PSUpdateType.html" title="enum in org.apache.sysds.parser">Statement.PSUpdateType</a></li>
 <li><a href="org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a></li>
@@ -1174,6 +1261,7 @@
 <li><a href="org/apache/sysds/parser/StringIdentifier.html" title="class in org.apache.sysds.parser">StringIdentifier</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/cp/StringInitCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">StringInitCPInstruction</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/cp/StringObject.html" title="class in org.apache.sysds.runtime.instructions.cp">StringObject</a></li>
+<li><a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/SubsampleToMinFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">SubsampleToMinFederatedScheme</a></li>
 <li><a href="org/apache/sysds/runtime/functionobjects/SwapIndex.html" title="class in org.apache.sysds.runtime.functionobjects">SwapIndex</a></li>
 <li><a href="org/apache/sysds/utils/SystemDSLoaderUtils.html" title="class in org.apache.sysds.utils">SystemDSLoaderUtils</a></li>
 <li><a href="org/apache/sysds/runtime/controlprogram/parfor/Task.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">Task</a></li>
@@ -1214,9 +1302,12 @@
 <li><a href="org/apache/sysds/runtime/io/TensorWriterFactory.html" title="class in org.apache.sysds.runtime.io">TensorWriterFactory</a></li>
 <li><a href="org/apache/sysds/runtime/io/TensorWriterTextCell.html" title="class in org.apache.sysds.runtime.io">TensorWriterTextCell</a></li>
 <li><a href="org/apache/sysds/runtime/io/TensorWriterTextCellParallel.html" title="class in org.apache.sysds.runtime.io">TensorWriterTextCellParallel</a></li>
+<li><a href="org/apache/sysds/hops/codegen/cplan/cuda/Ternary.html" title="class in org.apache.sysds.hops.codegen.cplan.cuda">Ternary</a></li>
+<li><a href="org/apache/sysds/hops/codegen/cplan/java/Ternary.html" title="class in org.apache.sysds.hops.codegen.cplan.java">Ternary</a></li>
 <li><a href="org/apache/sysds/lops/Ternary.html" title="class in org.apache.sysds.lops">Ternary</a></li>
 <li><a href="org/apache/sysds/lops/TernaryAggregate.html" title="class in org.apache.sysds.lops">TernaryAggregate</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/cp/TernaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">TernaryCPInstruction</a></li>
+<li><a href="org/apache/sysds/runtime/instructions/fed/TernaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">TernaryFEDInstruction</a></li>
 <li><a href="org/apache/sysds/hops/TernaryOp.html" title="class in org.apache.sysds.hops">TernaryOp</a></li>
 <li><a href="org/apache/sysds/runtime/matrix/operators/TernaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">TernaryOperator</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/spark/TernarySPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">TernarySPInstruction</a></li>
@@ -1228,6 +1319,15 @@
 <li><a href="org/apache/sysds/runtime/transform/TfUtils.html" title="class in org.apache.sysds.runtime.transform">TfUtils</a></li>
 <li><a href="org/apache/sysds/runtime/transform/TfUtils.TfMethod.html" title="enum in org.apache.sysds.runtime.transform">TfUtils.TfMethod</a></li>
 <li><a href="org/apache/sysds/runtime/controlprogram/parfor/stat/Timing.html" title="class in org.apache.sysds.runtime.controlprogram.parfor.stat">Timing</a></li>
+<li><a href="org/apache/sysds/runtime/transform/tokenize/Tokenizer.html" title="class in org.apache.sysds.runtime.transform.tokenize">Tokenizer</a></li>
+<li><a href="org/apache/sysds/runtime/transform/tokenize/TokenizerFactory.html" title="class in org.apache.sysds.runtime.transform.tokenize">TokenizerFactory</a></li>
+<li><a href="org/apache/sysds/runtime/transform/tokenize/TokenizerPost.html" title="interface in org.apache.sysds.runtime.transform.tokenize"><span class="interfaceName">TokenizerPost</span></a></li>
+<li><a href="org/apache/sysds/runtime/transform/tokenize/TokenizerPostCount.html" title="class in org.apache.sysds.runtime.transform.tokenize">TokenizerPostCount</a></li>
+<li><a href="org/apache/sysds/runtime/transform/tokenize/TokenizerPostHash.html" title="class in org.apache.sysds.runtime.transform.tokenize">TokenizerPostHash</a></li>
+<li><a href="org/apache/sysds/runtime/transform/tokenize/TokenizerPostPosition.html" title="class in org.apache.sysds.runtime.transform.tokenize">TokenizerPostPosition</a></li>
+<li><a href="org/apache/sysds/runtime/transform/tokenize/TokenizerPre.html" title="interface in org.apache.sysds.runtime.transform.tokenize"><span class="interfaceName">TokenizerPre</span></a></li>
+<li><a href="org/apache/sysds/runtime/transform/tokenize/TokenizerPreNgram.html" title="class in org.apache.sysds.runtime.transform.tokenize">TokenizerPreNgram</a></li>
+<li><a href="org/apache/sysds/runtime/transform/tokenize/TokenizerPreWhitespaceSplit.html" title="class in org.apache.sysds.runtime.transform.tokenize">TokenizerPreWhitespaceSplit</a></li>
 <li><a href="org/apache/sysds/lops/Transform.html" title="class in org.apache.sysds.lops">Transform</a></li>
 <li><a href="org/apache/sysds/runtime/matrix/data/TripleIndexes.html" title="class in org.apache.sysds.runtime.matrix.data">TripleIndexes</a></li>
 <li><a href="org/apache/sysds/runtime/matrix/data/TripleIndexes.Comparator.html" title="class in org.apache.sysds.runtime.matrix.data">TripleIndexes.Comparator</a></li>
@@ -1259,6 +1359,8 @@
 <li><a href="org/apache/sysds/lops/UAggOuterChain.html" title="class in org.apache.sysds.lops">UAggOuterChain</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/cp/UaggOuterChainCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">UaggOuterChainCPInstruction</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/spark/UaggOuterChainSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">UaggOuterChainSPInstruction</a></li>
+<li><a href="org/apache/sysds/hops/codegen/cplan/cuda/Unary.html" title="class in org.apache.sysds.hops.codegen.cplan.cuda">Unary</a></li>
+<li><a href="org/apache/sysds/hops/codegen/cplan/java/Unary.html" title="class in org.apache.sysds.hops.codegen.cplan.java">Unary</a></li>
 <li><a href="org/apache/sysds/lops/Unary.html" title="class in org.apache.sysds.lops">Unary</a></li>
 <li><a href="org/apache/sysds/lops/UnaryCP.html" title="class in org.apache.sysds.lops">UnaryCP</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/cp/UnaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">UnaryCPInstruction</a></li>
@@ -1266,18 +1368,21 @@
 <li><a href="org/apache/sysds/runtime/instructions/cp/UnaryFrameCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">UnaryFrameCPInstruction</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/spark/UnaryFrameSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">UnaryFrameSPInstruction</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/cp/UnaryMatrixCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">UnaryMatrixCPInstruction</a></li>
+<li><a href="org/apache/sysds/runtime/instructions/fed/UnaryMatrixFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">UnaryMatrixFEDInstruction</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/spark/UnaryMatrixSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">UnaryMatrixSPInstruction</a></li>
 <li><a href="org/apache/sysds/hops/UnaryOp.html" title="class in org.apache.sysds.hops">UnaryOp</a></li>
 <li><a href="org/apache/sysds/runtime/matrix/operators/UnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">UnaryOperator</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/cp/UnaryScalarCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">UnaryScalarCPInstruction</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/spark/UnarySPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">UnarySPInstruction</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/gpu/context/UnifiedMemoryAllocator.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">UnifiedMemoryAllocator</a></li>
+<li><a href="org/apache/sysds/runtime/controlprogram/caching/UnifiedMemoryManager.html" title="class in org.apache.sysds.runtime.controlprogram.caching">UnifiedMemoryManager</a></li>
 <li><a href="org/apache/sysds/runtime/util/UniformPRNGenerator.html" title="class in org.apache.sysds.runtime.util">UniformPRNGenerator</a></li>
 <li><a href="org/apache/sysds/runtime/util/UtilFunctions.html" title="class in org.apache.sysds.runtime.util">UtilFunctions</a></li>
 <li><a href="org/apache/sysds/runtime/functionobjects/ValueComparisonFunction.html" title="class in org.apache.sysds.runtime.functionobjects">ValueComparisonFunction</a></li>
 <li><a href="org/apache/sysds/runtime/functionobjects/ValueFunction.html" title="class in org.apache.sysds.runtime.functionobjects">ValueFunction</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/cp/VariableCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">VariableCPInstruction</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/cp/VariableCPInstruction.VariableOperationCode.html" title="enum in org.apache.sysds.runtime.instructions.cp">VariableCPInstruction.VariableOperationCode</a></li>
+<li><a href="org/apache/sysds/runtime/instructions/fed/VariableFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">VariableFEDInstruction</a></li>
 <li><a href="org/apache/sysds/parser/VariableSet.html" title="class in org.apache.sysds.parser">VariableSet</a></li>
 <li><a href="org/apache/sysds/hops/cost/VarStats.html" title="class in org.apache.sysds.hops.cost">VarStats</a></li>
 <li><a href="org/apache/sysds/common/Warnings.html" title="class in org.apache.sysds.common">Warnings</a></li>
diff --git a/docs/api/java/constant-values.html b/docs/api/java/constant-values.html
index eac9e99..e747cfd 100644
--- a/docs/api/java/constant-values.html
+++ b/docs/api/java/constant-values.html
@@ -154,47 +154,89 @@
 <td class="colLast"><code>"sysds.codegen.enabled"</code></td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><a name="org.apache.sysds.conf.DMLConfig.CODEGEN_API">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/sysds/conf/DMLConfig.html#CODEGEN_API">CODEGEN_API</a></code></td>
+<td class="colLast"><code>"sysds.codegen.api"</code></td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.sysds.conf.DMLConfig.CODEGEN_COMPILER">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/conf/DMLConfig.html#CODEGEN_COMPILER">CODEGEN_COMPILER</a></code></td>
 <td class="colLast"><code>"sysds.codegen.compiler"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.sysds.conf.DMLConfig.CODEGEN_LITERALS">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/conf/DMLConfig.html#CODEGEN_LITERALS">CODEGEN_LITERALS</a></code></td>
 <td class="colLast"><code>"sysds.codegen.literals"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.sysds.conf.DMLConfig.CODEGEN_OPTIMIZER">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/conf/DMLConfig.html#CODEGEN_OPTIMIZER">CODEGEN_OPTIMIZER</a></code></td>
 <td class="colLast"><code>"sysds.codegen.optimizer"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.sysds.conf.DMLConfig.CODEGEN_PLANCACHE">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/conf/DMLConfig.html#CODEGEN_PLANCACHE">CODEGEN_PLANCACHE</a></code></td>
 <td class="colLast"><code>"sysds.codegen.plancache"</code></td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.sysds.conf.DMLConfig.COMPILERASSISTED_RW">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/sysds/conf/DMLConfig.html#COMPILERASSISTED_RW">COMPILERASSISTED_RW</a></code></td>
+<td class="colLast"><code>"sysds.lineage.compilerassisted"</code></td>
+</tr>
 <tr class="altColor">
+<td class="colFirst"><a name="org.apache.sysds.conf.DMLConfig.COMPRESSED_COCODE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/sysds/conf/DMLConfig.html#COMPRESSED_COCODE">COMPRESSED_COCODE</a></code></td>
+<td class="colLast"><code>"sysds.compressed.cocode"</code></td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.sysds.conf.DMLConfig.COMPRESSED_LINALG">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/conf/DMLConfig.html#COMPRESSED_LINALG">COMPRESSED_LINALG</a></code></td>
 <td class="colLast"><code>"sysds.compressed.linalg"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.sysds.conf.DMLConfig.COMPRESSED_LOSSY">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/conf/DMLConfig.html#COMPRESSED_LOSSY">COMPRESSED_LOSSY</a></code></td>
 <td class="colLast"><code>"sysds.compressed.lossy"</code></td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.sysds.conf.DMLConfig.COMPRESSED_OVERLAPPING">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/sysds/conf/DMLConfig.html#COMPRESSED_OVERLAPPING">COMPRESSED_OVERLAPPING</a></code></td>
+<td class="colLast"><code>"sysds.compressed.overlapping"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.sysds.conf.DMLConfig.COMPRESSED_SAMPLING_RATIO">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/sysds/conf/DMLConfig.html#COMPRESSED_SAMPLING_RATIO">COMPRESSED_SAMPLING_RATIO</a></code></td>
+<td class="colLast"><code>"sysds.compressed.sampling.ratio"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.sysds.conf.DMLConfig.COMPRESSED_TRANSPOSE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/sysds/conf/DMLConfig.html#COMPRESSED_TRANSPOSE">COMPRESSED_TRANSPOSE</a></code></td>
+<td class="colLast"><code>"sysds.compressed.transpose"</code></td>
+</tr>
 <tr class="altColor">
 <td class="colFirst"><a name="org.apache.sysds.conf.DMLConfig.COMPRESSED_VALID_COMPRESSIONS">
 <!--   -->
@@ -224,75 +266,89 @@
 <td class="colLast"><code>"sysds.defaultblocksize"</code></td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><a name="org.apache.sysds.conf.DMLConfig.DEFAULT_FEDERATED_INITIALIZATION_TIMEOUT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/sysds/conf/DMLConfig.html#DEFAULT_FEDERATED_INITIALIZATION_TIMEOUT">DEFAULT_FEDERATED_INITIALIZATION_TIMEOUT</a></code></td>
+<td class="colLast"><code>"sysds.federated.initialization.timeout"</code></td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.sysds.conf.DMLConfig.DEFAULT_FEDERATED_PORT">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
 <td><code><a href="org/apache/sysds/conf/DMLConfig.html#DEFAULT_FEDERATED_PORT">DEFAULT_FEDERATED_PORT</a></code></td>
 <td class="colLast"><code>4040</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.sysds.conf.DMLConfig.DEFAULT_NUMBER_OF_FEDERATED_WORKER_THREADS">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
 <td><code><a href="org/apache/sysds/conf/DMLConfig.html#DEFAULT_NUMBER_OF_FEDERATED_WORKER_THREADS">DEFAULT_NUMBER_OF_FEDERATED_WORKER_THREADS</a></code></td>
 <td class="colLast"><code>2</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.sysds.conf.DMLConfig.DEFAULT_SHARED_DIR_PERMISSION">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/conf/DMLConfig.html#DEFAULT_SHARED_DIR_PERMISSION">DEFAULT_SHARED_DIR_PERMISSION</a></code></td>
 <td class="colLast"><code>"777"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.sysds.conf.DMLConfig.DEFAULT_SYSTEMDS_CONFIG_FILEPATH">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/conf/DMLConfig.html#DEFAULT_SYSTEMDS_CONFIG_FILEPATH">DEFAULT_SYSTEMDS_CONFIG_FILEPATH</a></code></td>
 <td class="colLast"><code>"./SystemDS-config.xml"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.sysds.conf.DMLConfig.EAGER_CUDA_FREE">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/conf/DMLConfig.html#EAGER_CUDA_FREE">EAGER_CUDA_FREE</a></code></td>
 <td class="colLast"><code>"sysds.gpu.eager.cudaFree"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.sysds.conf.DMLConfig.EVICTION_SHADOW_BUFFERSIZE">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/conf/DMLConfig.html#EVICTION_SHADOW_BUFFERSIZE">EVICTION_SHADOW_BUFFERSIZE</a></code></td>
 <td class="colLast"><code>"sysds.gpu.eviction.shadow.bufferSize"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.sysds.conf.DMLConfig.FLOATING_POINT_PRECISION">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/conf/DMLConfig.html#FLOATING_POINT_PRECISION">FLOATING_POINT_PRECISION</a></code></td>
 <td class="colLast"><code>"sysds.floating.point.precision"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.sysds.conf.DMLConfig.GPU_EVICTION_POLICY">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/conf/DMLConfig.html#GPU_EVICTION_POLICY">GPU_EVICTION_POLICY</a></code></td>
 <td class="colLast"><code>"sysds.gpu.eviction.policy"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.sysds.conf.DMLConfig.GPU_MEMORY_ALLOCATOR">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/conf/DMLConfig.html#GPU_MEMORY_ALLOCATOR">GPU_MEMORY_ALLOCATOR</a></code></td>
 <td class="colLast"><code>"sysds.gpu.memory.allocator"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.sysds.conf.DMLConfig.GPU_MEMORY_UTILIZATION_FACTOR">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/conf/DMLConfig.html#GPU_MEMORY_UTILIZATION_FACTOR">GPU_MEMORY_UTILIZATION_FACTOR</a></code></td>
 <td class="colLast"><code>"sysds.gpu.memory.util.factor"</code></td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.sysds.conf.DMLConfig.LINEAGECACHESPILL">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/sysds/conf/DMLConfig.html#LINEAGECACHESPILL">LINEAGECACHESPILL</a></code></td>
+<td class="colLast"><code>"sysds.lineage.cachespill"</code></td>
+</tr>
 <tr class="altColor">
 <td class="colFirst"><a name="org.apache.sysds.conf.DMLConfig.LOCAL_SPARK_NUM_THREADS">
 <!--   -->
@@ -356,6 +412,13 @@
 <td><code><a href="org/apache/sysds/conf/DMLConfig.html#SYNCHRONIZE_GPU">SYNCHRONIZE_GPU</a></code></td>
 <td class="colLast"><code>"sysds.gpu.sync.postProcess"</code></td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.sysds.conf.DMLConfig.USE_SSL_FEDERATED_COMMUNICATION">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/sysds/conf/DMLConfig.html#USE_SSL_FEDERATED_COMMUNICATION">USE_SSL_FEDERATED_COMMUNICATION</a></code></td>
+<td class="colLast"><code>"sysds.federated.ssl"</code></td>
+</tr>
 </tbody>
 </table>
 </li>
@@ -473,76 +536,83 @@
 <td class="colLast"><code>true</code></td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><a name="org.apache.sysds.hops.OptimizerUtils.ALLOW_SCRIPT_LEVEL_COMPRESS_COMMAND">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;boolean</code></td>
+<td><code><a href="org/apache/sysds/hops/OptimizerUtils.html#ALLOW_SCRIPT_LEVEL_COMPRESS_COMMAND">ALLOW_SCRIPT_LEVEL_COMPRESS_COMMAND</a></code></td>
+<td class="colLast"><code>true</code></td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.sysds.hops.OptimizerUtils.BOOLEAN_SIZE">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;long</code></td>
 <td><code><a href="org/apache/sysds/hops/OptimizerUtils.html#BOOLEAN_SIZE">BOOLEAN_SIZE</a></code></td>
 <td class="colLast"><code>1L</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.sysds.hops.OptimizerUtils.CHAR_SIZE">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;long</code></td>
 <td><code><a href="org/apache/sysds/hops/OptimizerUtils.html#CHAR_SIZE">CHAR_SIZE</a></code></td>
 <td class="colLast"><code>1L</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.sysds.hops.OptimizerUtils.DEFAULT_BLOCKSIZE">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
 <td><code><a href="org/apache/sysds/hops/OptimizerUtils.html#DEFAULT_BLOCKSIZE">DEFAULT_BLOCKSIZE</a></code></td>
 <td class="colLast"><code>1000</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.sysds.hops.OptimizerUtils.DEFAULT_FRAME_BLOCKSIZE">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
 <td><code><a href="org/apache/sysds/hops/OptimizerUtils.html#DEFAULT_FRAME_BLOCKSIZE">DEFAULT_FRAME_BLOCKSIZE</a></code></td>
 <td class="colLast"><code>1000</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.sysds.hops.OptimizerUtils.DOUBLE_SIZE">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;long</code></td>
 <td><code><a href="org/apache/sysds/hops/OptimizerUtils.html#DOUBLE_SIZE">DOUBLE_SIZE</a></code></td>
 <td class="colLast"><code>8L</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.sysds.hops.OptimizerUtils.INT_SIZE">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;long</code></td>
 <td><code><a href="org/apache/sysds/hops/OptimizerUtils.html#INT_SIZE">INT_SIZE</a></code></td>
 <td class="colLast"><code>4L</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.sysds.hops.OptimizerUtils.INVALID_SIZE">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;double</code></td>
 <td><code><a href="org/apache/sysds/hops/OptimizerUtils.html#INVALID_SIZE">INVALID_SIZE</a></code></td>
 <td class="colLast"><code>-1.0</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.sysds.hops.OptimizerUtils.MAX_NUMCELLS_CP_DENSE">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;long</code></td>
 <td><code><a href="org/apache/sysds/hops/OptimizerUtils.html#MAX_NUMCELLS_CP_DENSE">MAX_NUMCELLS_CP_DENSE</a></code></td>
 <td class="colLast"><code>2147483647L</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.sysds.hops.OptimizerUtils.PARALLEL_CP_READ_PARALLELISM_MULTIPLIER">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;double</code></td>
 <td><code><a href="org/apache/sysds/hops/OptimizerUtils.html#PARALLEL_CP_READ_PARALLELISM_MULTIPLIER">PARALLEL_CP_READ_PARALLELISM_MULTIPLIER</a></code></td>
 <td class="colLast"><code>1.0</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.sysds.hops.OptimizerUtils.PARALLEL_CP_WRITE_PARALLELISM_MULTIPLIER">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;double</code></td>
 <td><code><a href="org/apache/sysds/hops/OptimizerUtils.html#PARALLEL_CP_WRITE_PARALLELISM_MULTIPLIER">PARALLEL_CP_WRITE_PARALLELISM_MULTIPLIER</a></code></td>
 <td class="colLast"><code>1.0</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.sysds.hops.OptimizerUtils.SAFE_REP_CHANGE_THRES">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;long</code></td>
@@ -866,34 +936,41 @@
 </tr>
 <tbody>
 <tr class="altColor">
+<td class="colFirst"><a name="org.apache.sysds.lops.DataGen.FRAME_OPCODE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/sysds/lops/DataGen.html#FRAME_OPCODE">FRAME_OPCODE</a></code></td>
+<td class="colLast"><code>"frame"</code></td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.sysds.lops.DataGen.RAND_OPCODE">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/lops/DataGen.html#RAND_OPCODE">RAND_OPCODE</a></code></td>
 <td class="colLast"><code>"rand"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.sysds.lops.DataGen.SAMPLE_OPCODE">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/lops/DataGen.html#SAMPLE_OPCODE">SAMPLE_OPCODE</a></code></td>
 <td class="colLast"><code>"sample"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.sysds.lops.DataGen.SEQ_OPCODE">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/lops/DataGen.html#SEQ_OPCODE">SEQ_OPCODE</a></code></td>
 <td class="colLast"><code>"seq"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.sysds.lops.DataGen.SINIT_OPCODE">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/lops/DataGen.html#SINIT_OPCODE">SINIT_OPCODE</a></code></td>
 <td class="colLast"><code>"sinit"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.sysds.lops.DataGen.TIME_OPCODE">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
@@ -905,6 +982,25 @@
 </li>
 <li class="blockList">
 <table class="constantsSummary" border="0" cellpadding="3" cellspacing="0" summary="Constant Field Values table, listing constant fields, and values">
+<caption><span>org.apache.sysds.lops.<a href="org/apache/sysds/lops/DeCompression.html" title="class in org.apache.sysds.lops">DeCompression</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.sysds.lops.DeCompression.OPCODE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/sysds/lops/DeCompression.html#OPCODE">OPCODE</a></code></td>
+<td class="colLast"><code>"decompress"</code></td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<table class="constantsSummary" border="0" cellpadding="3" cellspacing="0" summary="Constant Field Values table, listing constant fields, and values">
 <caption><span>org.apache.sysds.lops.<a href="org/apache/sysds/lops/GroupedAggregate.html" title="class in org.apache.sysds.lops">GroupedAggregate</a></span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
@@ -1649,265 +1745,272 @@
 <td class="colLast"><code>""</code></td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><a name="org.apache.sysds.parser.DataExpression.DEFAULT_SCHEMAPARAM">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/sysds/parser/DataExpression.html#DEFAULT_SCHEMAPARAM">DEFAULT_SCHEMAPARAM</a></code></td>
+<td class="colLast"><code>"NULL"</code></td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.sysds.parser.DataExpression.DELIM_DELIMITER">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/parser/DataExpression.html#DELIM_DELIMITER">DELIM_DELIMITER</a></code></td>
 <td class="colLast"><code>"sep"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.sysds.parser.DataExpression.DELIM_FILL">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/parser/DataExpression.html#DELIM_FILL">DELIM_FILL</a></code></td>
 <td class="colLast"><code>"fill"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.sysds.parser.DataExpression.DELIM_FILL_VALUE">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/parser/DataExpression.html#DELIM_FILL_VALUE">DELIM_FILL_VALUE</a></code></td>
 <td class="colLast"><code>"default"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.sysds.parser.DataExpression.DELIM_HAS_HEADER_ROW">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/parser/DataExpression.html#DELIM_HAS_HEADER_ROW">DELIM_HAS_HEADER_ROW</a></code></td>
 <td class="colLast"><code>"header"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.sysds.parser.DataExpression.DELIM_NA_STRING_SEP">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/parser/DataExpression.html#DELIM_NA_STRING_SEP">DELIM_NA_STRING_SEP</a></code></td>
 <td class="colLast"><code>"\u00b7"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.sysds.parser.DataExpression.DELIM_NA_STRINGS">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/parser/DataExpression.html#DELIM_NA_STRINGS">DELIM_NA_STRINGS</a></code></td>
 <td class="colLast"><code>"naStrings"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.sysds.parser.DataExpression.DELIM_SPARSE">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/parser/DataExpression.html#DELIM_SPARSE">DELIM_SPARSE</a></code></td>
 <td class="colLast"><code>"sparse"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.sysds.parser.DataExpression.DESCRIPTIONPARAM">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/parser/DataExpression.html#DESCRIPTIONPARAM">DESCRIPTIONPARAM</a></code></td>
 <td class="colLast"><code>"description"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.sysds.parser.DataExpression.FED_ADDRESSES">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/parser/DataExpression.html#FED_ADDRESSES">FED_ADDRESSES</a></code></td>
 <td class="colLast"><code>"addresses"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.sysds.parser.DataExpression.FED_RANGES">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/parser/DataExpression.html#FED_RANGES">FED_RANGES</a></code></td>
 <td class="colLast"><code>"ranges"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.sysds.parser.DataExpression.FED_TYPE">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/parser/DataExpression.html#FED_TYPE">FED_TYPE</a></code></td>
 <td class="colLast"><code>"type"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.sysds.parser.DataExpression.FINE_GRAINED_PRIVACY">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/parser/DataExpression.html#FINE_GRAINED_PRIVACY">FINE_GRAINED_PRIVACY</a></code></td>
 <td class="colLast"><code>"fine_grained_privacy"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.sysds.parser.DataExpression.FORMAT_TYPE">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/parser/DataExpression.html#FORMAT_TYPE">FORMAT_TYPE</a></code></td>
 <td class="colLast"><code>"format"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.sysds.parser.DataExpression.IO_FILENAME">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/parser/DataExpression.html#IO_FILENAME">IO_FILENAME</a></code></td>
 <td class="colLast"><code>"iofilename"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.sysds.parser.DataExpression.PRIVACY">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/parser/DataExpression.html#PRIVACY">PRIVACY</a></code></td>
 <td class="colLast"><code>"privacy"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.sysds.parser.DataExpression.RAND_BY_ROW">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/parser/DataExpression.html#RAND_BY_ROW">RAND_BY_ROW</a></code></td>
 <td class="colLast"><code>"byrow"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.sysds.parser.DataExpression.RAND_COLS">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/parser/DataExpression.html#RAND_COLS">RAND_COLS</a></code></td>
 <td class="colLast"><code>"cols"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.sysds.parser.DataExpression.RAND_DATA">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/parser/DataExpression.html#RAND_DATA">RAND_DATA</a></code></td>
 <td class="colLast"><code>"data"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.sysds.parser.DataExpression.RAND_DIMNAMES">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/parser/DataExpression.html#RAND_DIMNAMES">RAND_DIMNAMES</a></code></td>
 <td class="colLast"><code>"dimnames"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.sysds.parser.DataExpression.RAND_DIMS">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/parser/DataExpression.html#RAND_DIMS">RAND_DIMS</a></code></td>
 <td class="colLast"><code>"dims"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.sysds.parser.DataExpression.RAND_LAMBDA">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/parser/DataExpression.html#RAND_LAMBDA">RAND_LAMBDA</a></code></td>
 <td class="colLast"><code>"lambda"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.sysds.parser.DataExpression.RAND_MAX">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/parser/DataExpression.html#RAND_MAX">RAND_MAX</a></code></td>
 <td class="colLast"><code>"max"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.sysds.parser.DataExpression.RAND_MIN">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/parser/DataExpression.html#RAND_MIN">RAND_MIN</a></code></td>
 <td class="colLast"><code>"min"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.sysds.parser.DataExpression.RAND_PDF">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/parser/DataExpression.html#RAND_PDF">RAND_PDF</a></code></td>
 <td class="colLast"><code>"pdf"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.sysds.parser.DataExpression.RAND_PDF_UNIFORM">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/parser/DataExpression.html#RAND_PDF_UNIFORM">RAND_PDF_UNIFORM</a></code></td>
 <td class="colLast"><code>"uniform"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.sysds.parser.DataExpression.RAND_ROWS">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/parser/DataExpression.html#RAND_ROWS">RAND_ROWS</a></code></td>
 <td class="colLast"><code>"rows"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.sysds.parser.DataExpression.RAND_SEED">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/parser/DataExpression.html#RAND_SEED">RAND_SEED</a></code></td>
 <td class="colLast"><code>"seed"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.sysds.parser.DataExpression.RAND_SPARSITY">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/parser/DataExpression.html#RAND_SPARSITY">RAND_SPARSITY</a></code></td>
 <td class="colLast"><code>"sparsity"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.sysds.parser.DataExpression.READCOLPARAM">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/parser/DataExpression.html#READCOLPARAM">READCOLPARAM</a></code></td>
 <td class="colLast"><code>"cols"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.sysds.parser.DataExpression.READNNZPARAM">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/parser/DataExpression.html#READNNZPARAM">READNNZPARAM</a></code></td>
 <td class="colLast"><code>"nnz"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.sysds.parser.DataExpression.READROWPARAM">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/parser/DataExpression.html#READROWPARAM">READROWPARAM</a></code></td>
 <td class="colLast"><code>"rows"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.sysds.parser.DataExpression.ROWBLOCKCOUNTPARAM">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/parser/DataExpression.html#ROWBLOCKCOUNTPARAM">ROWBLOCKCOUNTPARAM</a></code></td>
 <td class="colLast"><code>"rows_in_block"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.sysds.parser.DataExpression.SCHEMAPARAM">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/parser/DataExpression.html#SCHEMAPARAM">SCHEMAPARAM</a></code></td>
 <td class="colLast"><code>"schema"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.sysds.parser.DataExpression.SQL_CONN">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/parser/DataExpression.html#SQL_CONN">SQL_CONN</a></code></td>
 <td class="colLast"><code>"conn"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.sysds.parser.DataExpression.SQL_PASS">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/parser/DataExpression.html#SQL_PASS">SQL_PASS</a></code></td>
 <td class="colLast"><code>"password"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.sysds.parser.DataExpression.SQL_QUERY">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/parser/DataExpression.html#SQL_QUERY">SQL_QUERY</a></code></td>
 <td class="colLast"><code>"query"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.sysds.parser.DataExpression.SQL_USER">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/parser/DataExpression.html#SQL_USER">SQL_USER</a></code></td>
 <td class="colLast"><code>"user"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.sysds.parser.DataExpression.VALUETYPEPARAM">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
@@ -1927,13 +2030,20 @@
 </tr>
 <tbody>
 <tr class="altColor">
+<td class="colFirst"><a name="org.apache.sysds.parser.DMLProgram.BUILTIN_NAMESPACE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/sysds/parser/DMLProgram.html#BUILTIN_NAMESPACE">BUILTIN_NAMESPACE</a></code></td>
+<td class="colLast"><code>".builtinNS"</code></td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.sysds.parser.DMLProgram.DEFAULT_NAMESPACE">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/parser/DMLProgram.html#DEFAULT_NAMESPACE">DEFAULT_NAMESPACE</a></code></td>
 <td class="colLast"><code>".defaultNS"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.sysds.parser.DMLProgram.INTERNAL_NAMESPACE">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
@@ -2276,61 +2386,131 @@
 <td class="colLast"><code>"features"</code></td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><a name="org.apache.sysds.parser.Statement.PS_FED_AGGREGATION_FNAME">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/sysds/parser/Statement.html#PS_FED_AGGREGATION_FNAME">PS_FED_AGGREGATION_FNAME</a></code></td>
+<td class="colLast"><code>"1701-NCC-aggregation_fname"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.sysds.parser.Statement.PS_FED_BATCH_SIZE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/sysds/parser/Statement.html#PS_FED_BATCH_SIZE">PS_FED_BATCH_SIZE</a></code></td>
+<td class="colLast"><code>"1701-NCC-batch_size"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.sysds.parser.Statement.PS_FED_DATA_SIZE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/sysds/parser/Statement.html#PS_FED_DATA_SIZE">PS_FED_DATA_SIZE</a></code></td>
+<td class="colLast"><code>"1701-NCC-data_size"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.sysds.parser.Statement.PS_FED_GRADIENTS_FNAME">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/sysds/parser/Statement.html#PS_FED_GRADIENTS_FNAME">PS_FED_GRADIENTS_FNAME</a></code></td>
+<td class="colLast"><code>"1701-NCC-gradients_fname"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.sysds.parser.Statement.PS_FED_MODEL_VARID">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/sysds/parser/Statement.html#PS_FED_MODEL_VARID">PS_FED_MODEL_VARID</a></code></td>
+<td class="colLast"><code>"1701-NCC-model_varid"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.sysds.parser.Statement.PS_FED_NAMESPACE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/sysds/parser/Statement.html#PS_FED_NAMESPACE">PS_FED_NAMESPACE</a></code></td>
+<td class="colLast"><code>"1701-NCC-namespace"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.sysds.parser.Statement.PS_FED_POSS_BATCHES_LOCAL">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/sysds/parser/Statement.html#PS_FED_POSS_BATCHES_LOCAL">PS_FED_POSS_BATCHES_LOCAL</a></code></td>
+<td class="colLast"><code>"1701-NCC-poss_batches_local"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.sysds.parser.Statement.PS_FED_RUNTIME_BALANCING">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/sysds/parser/Statement.html#PS_FED_RUNTIME_BALANCING">PS_FED_RUNTIME_BALANCING</a></code></td>
+<td class="colLast"><code>"runtime_balancing"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.sysds.parser.Statement.PS_FED_WEIGHTING">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/sysds/parser/Statement.html#PS_FED_WEIGHTING">PS_FED_WEIGHTING</a></code></td>
+<td class="colLast"><code>"weighting"</code></td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.sysds.parser.Statement.PS_FREQUENCY">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/parser/Statement.html#PS_FREQUENCY">PS_FREQUENCY</a></code></td>
 <td class="colLast"><code>"freq"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.sysds.parser.Statement.PS_GRADIENTS">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/parser/Statement.html#PS_GRADIENTS">PS_GRADIENTS</a></code></td>
 <td class="colLast"><code>"gradients"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.sysds.parser.Statement.PS_HYPER_PARAMS">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/parser/Statement.html#PS_HYPER_PARAMS">PS_HYPER_PARAMS</a></code></td>
 <td class="colLast"><code>"hyperparams"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.sysds.parser.Statement.PS_LABELS">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/parser/Statement.html#PS_LABELS">PS_LABELS</a></code></td>
 <td class="colLast"><code>"labels"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.sysds.parser.Statement.PS_MODE">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/parser/Statement.html#PS_MODE">PS_MODE</a></code></td>
 <td class="colLast"><code>"mode"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.sysds.parser.Statement.PS_MODEL">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/parser/Statement.html#PS_MODEL">PS_MODEL</a></code></td>
 <td class="colLast"><code>"model"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.sysds.parser.Statement.PS_PARALLELISM">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/parser/Statement.html#PS_PARALLELISM">PS_PARALLELISM</a></code></td>
 <td class="colLast"><code>"k"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.sysds.parser.Statement.PS_SCHEME">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/parser/Statement.html#PS_SCHEME">PS_SCHEME</a></code></td>
 <td class="colLast"><code>"scheme"</code></td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.sysds.parser.Statement.PS_SEED">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/sysds/parser/Statement.html#PS_SEED">PS_SEED</a></code></td>
+<td class="colLast"><code>"seed"</code></td>
+</tr>
 <tr class="altColor">
 <td class="colFirst"><a name="org.apache.sysds.parser.Statement.PS_UPDATE_FUN">
 <!--   -->
@@ -2353,55 +2533,62 @@
 <td class="colLast"><code>"val_features"</code></td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><a name="org.apache.sysds.parser.Statement.PS_VAL_FUN">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/sysds/parser/Statement.html#PS_VAL_FUN">PS_VAL_FUN</a></code></td>
+<td class="colLast"><code>"val"</code></td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.sysds.parser.Statement.PS_VAL_LABELS">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/parser/Statement.html#PS_VAL_LABELS">PS_VAL_LABELS</a></code></td>
 <td class="colLast"><code>"val_labels"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.sysds.parser.Statement.SCALAR_DATA_TYPE">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/parser/Statement.html#SCALAR_DATA_TYPE">SCALAR_DATA_TYPE</a></code></td>
 <td class="colLast"><code>"scalar"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.sysds.parser.Statement.SEQ_FROM">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/parser/Statement.html#SEQ_FROM">SEQ_FROM</a></code></td>
 <td class="colLast"><code>"from"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.sysds.parser.Statement.SEQ_INCR">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/parser/Statement.html#SEQ_INCR">SEQ_INCR</a></code></td>
 <td class="colLast"><code>"incr"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.sysds.parser.Statement.SEQ_TO">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/parser/Statement.html#SEQ_TO">SEQ_TO</a></code></td>
 <td class="colLast"><code>"to"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.sysds.parser.Statement.SETWD">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/parser/Statement.html#SETWD">SETWD</a></code></td>
 <td class="colLast"><code>"setwd"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.sysds.parser.Statement.SOURCE">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/parser/Statement.html#SOURCE">SOURCE</a></code></td>
 <td class="colLast"><code>"source"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.sysds.parser.Statement.STRING_VALUE_TYPE">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
@@ -3533,6 +3720,27 @@
 <ul class="blockList">
 <li class="blockList">
 <table class="constantsSummary" border="0" cellpadding="3" cellspacing="0" summary="Constant Field Values table, listing constant fields, and values">
+<caption><span>org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html" title="interface in org.apache.sysds.runtime.codegen">SpoofCUDAOperator</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.sysds.runtime.codegen.SpoofCUDAOperator.JNI_MAT_ENTRY_SIZE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<td><code><a href="org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html#JNI_MAT_ENTRY_SIZE">JNI_MAT_ENTRY_SIZE</a></code></td>
+<td class="colLast"><code>6</code></td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+<ul class="blockList">
+<li class="blockList">
+<table class="constantsSummary" border="0" cellpadding="3" cellspacing="0" summary="Constant Field Values table, listing constant fields, and values">
 <caption><span>org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a></span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
@@ -3545,7 +3753,7 @@
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
 <td><code><a href="org/apache/sysds/runtime/compress/CompressionSettings.html#BITMAP_BLOCK_SZ">BITMAP_BLOCK_SZ</a></code></td>
-<td class="colLast"><code>65536</code></td>
+<td class="colLast"><code>65535</code></td>
 </tr>
 </tbody>
 </table>
@@ -3618,146 +3826,139 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><a name="org.apache.sysds.runtime.controlprogram.ParForProgramBlock.ALLOW_BROADCAST_INPUTS">
-<!--   -->
-</a><code>public&nbsp;static&nbsp;final&nbsp;boolean</code></td>
-<td><code><a href="org/apache/sysds/runtime/controlprogram/ParForProgramBlock.html#ALLOW_BROADCAST_INPUTS">ALLOW_BROADCAST_INPUTS</a></code></td>
-<td class="colLast"><code>false</code></td>
-</tr>
-<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.sysds.runtime.controlprogram.ParForProgramBlock.ALLOW_DATA_COLOCATION">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;boolean</code></td>
 <td><code><a href="org/apache/sysds/runtime/controlprogram/ParForProgramBlock.html#ALLOW_DATA_COLOCATION">ALLOW_DATA_COLOCATION</a></code></td>
 <td class="colLast"><code>true</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.sysds.runtime.controlprogram.ParForProgramBlock.ALLOW_NESTED_PARALLELISM">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;boolean</code></td>
 <td><code><a href="org/apache/sysds/runtime/controlprogram/ParForProgramBlock.html#ALLOW_NESTED_PARALLELISM">ALLOW_NESTED_PARALLELISM</a></code></td>
 <td class="colLast"><code>true</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.sysds.runtime.controlprogram.ParForProgramBlock.CREATE_UNSCOPED_RESULTVARS">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;boolean</code></td>
 <td><code><a href="org/apache/sysds/runtime/controlprogram/ParForProgramBlock.html#CREATE_UNSCOPED_RESULTVARS">CREATE_UNSCOPED_RESULTVARS</a></code></td>
 <td class="colLast"><code>true</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.sysds.runtime.controlprogram.ParForProgramBlock.FORCE_CP_ON_REMOTE_SPARK">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;boolean</code></td>
 <td><code><a href="org/apache/sysds/runtime/controlprogram/ParForProgramBlock.html#FORCE_CP_ON_REMOTE_SPARK">FORCE_CP_ON_REMOTE_SPARK</a></code></td>
 <td class="colLast"><code>true</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.sysds.runtime.controlprogram.ParForProgramBlock.LIVEVAR_AWARE_EXPORT">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;boolean</code></td>
 <td><code><a href="org/apache/sysds/runtime/controlprogram/ParForProgramBlock.html#LIVEVAR_AWARE_EXPORT">LIVEVAR_AWARE_EXPORT</a></code></td>
 <td class="colLast"><code>true</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.sysds.runtime.controlprogram.ParForProgramBlock.MAX_RETRYS_ON_ERROR">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
 <td><code><a href="org/apache/sysds/runtime/controlprogram/ParForProgramBlock.html#MAX_RETRYS_ON_ERROR">MAX_RETRYS_ON_ERROR</a></code></td>
 <td class="colLast"><code>1</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.sysds.runtime.controlprogram.ParForProgramBlock.OPTIMIZE">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;boolean</code></td>
 <td><code><a href="org/apache/sysds/runtime/controlprogram/ParForProgramBlock.html#OPTIMIZE">OPTIMIZE</a></code></td>
 <td class="colLast"><code>true</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.sysds.runtime.controlprogram.ParForProgramBlock.PARFOR_COUNTER_GROUP_NAME">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/runtime/controlprogram/ParForProgramBlock.html#PARFOR_COUNTER_GROUP_NAME">PARFOR_COUNTER_GROUP_NAME</a></code></td>
 <td class="colLast"><code>"SystemDS ParFOR Counters"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.sysds.runtime.controlprogram.ParForProgramBlock.PARFOR_DATAPARTITIONS_FNAME">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/runtime/controlprogram/ParForProgramBlock.html#PARFOR_DATAPARTITIONS_FNAME">PARFOR_DATAPARTITIONS_FNAME</a></code></td>
 <td class="colLast"><code>"/parfor/%ID%_datapartitions%VAR%"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.sysds.runtime.controlprogram.ParForProgramBlock.PARFOR_FNAME_PREFIX">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/runtime/controlprogram/ParForProgramBlock.html#PARFOR_FNAME_PREFIX">PARFOR_FNAME_PREFIX</a></code></td>
 <td class="colLast"><code>"/parfor/"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.sysds.runtime.controlprogram.ParForProgramBlock.PARFOR_MR_RESULT_TMP_FNAME">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/runtime/controlprogram/ParForProgramBlock.html#PARFOR_MR_RESULT_TMP_FNAME">PARFOR_MR_RESULT_TMP_FNAME</a></code></td>
 <td class="colLast"><code>"/parfor/%ID%_MR_results"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.sysds.runtime.controlprogram.ParForProgramBlock.PARFOR_MR_RESULTMERGE_FNAME">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/runtime/controlprogram/ParForProgramBlock.html#PARFOR_MR_RESULTMERGE_FNAME">PARFOR_MR_RESULTMERGE_FNAME</a></code></td>
 <td class="colLast"><code>"/parfor/%ID%_resultmerge%VAR%"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.sysds.runtime.controlprogram.ParForProgramBlock.PARFOR_MR_TASKS_TMP_FNAME">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/runtime/controlprogram/ParForProgramBlock.html#PARFOR_MR_TASKS_TMP_FNAME">PARFOR_MR_TASKS_TMP_FNAME</a></code></td>
 <td class="colLast"><code>"/parfor/%ID%_MR_taskfile"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.sysds.runtime.controlprogram.ParForProgramBlock.RESET_RECOMPILATION_FLAGs">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;boolean</code></td>
 <td><code><a href="org/apache/sysds/runtime/controlprogram/ParForProgramBlock.html#RESET_RECOMPILATION_FLAGs">RESET_RECOMPILATION_FLAGs</a></code></td>
 <td class="colLast"><code>true</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.sysds.runtime.controlprogram.ParForProgramBlock.USE_PARALLEL_RESULT_MERGE">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;boolean</code></td>
 <td><code><a href="org/apache/sysds/runtime/controlprogram/ParForProgramBlock.html#USE_PARALLEL_RESULT_MERGE">USE_PARALLEL_RESULT_MERGE</a></code></td>
 <td class="colLast"><code>false</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.sysds.runtime.controlprogram.ParForProgramBlock.USE_PARALLEL_RESULT_MERGE_REMOTE">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;boolean</code></td>
 <td><code><a href="org/apache/sysds/runtime/controlprogram/ParForProgramBlock.html#USE_PARALLEL_RESULT_MERGE_REMOTE">USE_PARALLEL_RESULT_MERGE_REMOTE</a></code></td>
 <td class="colLast"><code>true</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.sysds.runtime.controlprogram.ParForProgramBlock.USE_PB_CACHE">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;boolean</code></td>
 <td><code><a href="org/apache/sysds/runtime/controlprogram/ParForProgramBlock.html#USE_PB_CACHE">USE_PB_CACHE</a></code></td>
 <td class="colLast"><code>false</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.sysds.runtime.controlprogram.ParForProgramBlock.USE_RANGE_TASKS_IF_USEFUL">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;boolean</code></td>
 <td><code><a href="org/apache/sysds/runtime/controlprogram/ParForProgramBlock.html#USE_RANGE_TASKS_IF_USEFUL">USE_RANGE_TASKS_IF_USEFUL</a></code></td>
 <td class="colLast"><code>true</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.sysds.runtime.controlprogram.ParForProgramBlock.USE_STREAMING_TASK_CREATION">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;boolean</code></td>
 <td><code><a href="org/apache/sysds/runtime/controlprogram/ParForProgramBlock.html#USE_STREAMING_TASK_CREATION">USE_STREAMING_TASK_CREATION</a></code></td>
 <td class="colLast"><code>true</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.sysds.runtime.controlprogram.ParForProgramBlock.WRITE_REPLICATION_FACTOR">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
@@ -3824,34 +4025,41 @@
 <td class="colLast"><code>true</code></td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><a name="org.apache.sysds.runtime.controlprogram.caching.CacheableData.CACHING_ASYNC_SERIALIZE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;boolean</code></td>
+<td><code><a href="org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#CACHING_ASYNC_SERIALIZE">CACHING_ASYNC_SERIALIZE</a></code></td>
+<td class="colLast"><code>false</code></td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.sysds.runtime.controlprogram.caching.CacheableData.CACHING_BUFFER_PAGECACHE">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;boolean</code></td>
 <td><code><a href="org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#CACHING_BUFFER_PAGECACHE">CACHING_BUFFER_PAGECACHE</a></code></td>
 <td class="colLast"><code>false</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.sysds.runtime.controlprogram.caching.CacheableData.CACHING_BUFFER_SIZE">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;double</code></td>
 <td><code><a href="org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#CACHING_BUFFER_SIZE">CACHING_BUFFER_SIZE</a></code></td>
 <td class="colLast"><code>0.15</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.sysds.runtime.controlprogram.caching.CacheableData.CACHING_COUNTER_GROUP_NAME">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#CACHING_COUNTER_GROUP_NAME">CACHING_COUNTER_GROUP_NAME</a></code></td>
 <td class="colLast"><code>"SystemDS Caching Counters"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.sysds.runtime.controlprogram.caching.CacheableData.CACHING_EVICTION_FILEEXTENSION">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#CACHING_EVICTION_FILEEXTENSION">CACHING_EVICTION_FILEEXTENSION</a></code></td>
 <td class="colLast"><code>".dat"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.sysds.runtime.controlprogram.caching.CacheableData.CACHING_WRITE_CACHE_ON_READ">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;boolean</code></td>
@@ -4374,6 +4582,25 @@
 <ul class="blockList">
 <li class="blockList">
 <table class="constantsSummary" border="0" cellpadding="3" cellspacing="0" summary="Constant Field Values table, listing constant fields, and values">
+<caption><span>org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/ParamservBuiltinCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ParamservBuiltinCPInstruction</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.sysds.runtime.instructions.cp.ParamservBuiltinCPInstruction.DEFAULT_BATCH_SIZE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<td><code><a href="org/apache/sysds/runtime/instructions/cp/ParamservBuiltinCPInstruction.html#DEFAULT_BATCH_SIZE">DEFAULT_BATCH_SIZE</a></code></td>
+<td class="colLast"><code>64</code></td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<table class="constantsSummary" border="0" cellpadding="3" cellspacing="0" summary="Constant Field Values table, listing constant fields, and values">
 <caption><span>org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/StringInitCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">StringInitCPInstruction</a></span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
@@ -5169,14 +5396,14 @@
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;double</code></td>
 <td><code><a href="org/apache/sysds/runtime/lineage/LineageCacheConfig.html#MIN_SPILL_DATA">MIN_SPILL_DATA</a></code></td>
-<td class="colLast"><code>20.0</code></td>
+<td class="colLast"><code>2.0</code></td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><a name="org.apache.sysds.runtime.lineage.LineageCacheConfig.MIN_SPILL_TIME_ESTIMATE">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;double</code></td>
 <td><code><a href="org/apache/sysds/runtime/lineage/LineageCacheConfig.html#MIN_SPILL_TIME_ESTIMATE">MIN_SPILL_TIME_ESTIMATE</a></code></td>
-<td class="colLast"><code>100.0</code></td>
+<td class="colLast"><code>10.0</code></td>
 </tr>
 </tbody>
 </table>
@@ -5436,83 +5663,90 @@
 </tr>
 <tbody>
 <tr class="altColor">
+<td class="colFirst"><a name="org.apache.sysds.runtime.transform.TfUtils.EXT_SPACE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/sysds/runtime/transform/TfUtils.html#EXT_SPACE">EXT_SPACE</a></code></td>
+<td class="colLast"><code>"\u00b7\u2021\u00b7"</code></td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.sysds.runtime.transform.TfUtils.JSON_ATTRS">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/runtime/transform/TfUtils.html#JSON_ATTRS">JSON_ATTRS</a></code></td>
 <td class="colLast"><code>"attributes"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.sysds.runtime.transform.TfUtils.JSON_CONSTS">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/runtime/transform/TfUtils.html#JSON_CONSTS">JSON_CONSTS</a></code></td>
 <td class="colLast"><code>"constants"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.sysds.runtime.transform.TfUtils.JSON_MTHD">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/runtime/transform/TfUtils.html#JSON_MTHD">JSON_MTHD</a></code></td>
 <td class="colLast"><code>"methods"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.sysds.runtime.transform.TfUtils.JSON_NBINS">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/runtime/transform/TfUtils.html#JSON_NBINS">JSON_NBINS</a></code></td>
 <td class="colLast"><code>"numbins"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.sysds.runtime.transform.TfUtils.TXMTD_BIN_FILE_SUFFIX">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/runtime/transform/TfUtils.html#TXMTD_BIN_FILE_SUFFIX">TXMTD_BIN_FILE_SUFFIX</a></code></td>
 <td class="colLast"><code>".bin"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.sysds.runtime.transform.TfUtils.TXMTD_COLNAMES">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/runtime/transform/TfUtils.html#TXMTD_COLNAMES">TXMTD_COLNAMES</a></code></td>
 <td class="colLast"><code>"column.names"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.sysds.runtime.transform.TfUtils.TXMTD_MV_FILE_SUFFIX">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/runtime/transform/TfUtils.html#TXMTD_MV_FILE_SUFFIX">TXMTD_MV_FILE_SUFFIX</a></code></td>
 <td class="colLast"><code>".impute"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.sysds.runtime.transform.TfUtils.TXMTD_MVPREFIX">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/runtime/transform/TfUtils.html#TXMTD_MVPREFIX">TXMTD_MVPREFIX</a></code></td>
 <td class="colLast"><code>"#Meta\u00b7MV"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.sysds.runtime.transform.TfUtils.TXMTD_NDPREFIX">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/runtime/transform/TfUtils.html#TXMTD_NDPREFIX">TXMTD_NDPREFIX</a></code></td>
 <td class="colLast"><code>"#Meta\u00b7ND"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.sysds.runtime.transform.TfUtils.TXMTD_RCD_DISTINCT_SUFFIX">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/runtime/transform/TfUtils.html#TXMTD_RCD_DISTINCT_SUFFIX">TXMTD_RCD_DISTINCT_SUFFIX</a></code></td>
 <td class="colLast"><code>".ndistinct"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.sysds.runtime.transform.TfUtils.TXMTD_RCD_MAP_SUFFIX">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/runtime/transform/TfUtils.html#TXMTD_RCD_MAP_SUFFIX">TXMTD_RCD_MAP_SUFFIX</a></code></td>
 <td class="colLast"><code>".map"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.sysds.runtime.transform.TfUtils.TXMTD_SEP">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
@@ -5526,7 +5760,7 @@
 <ul class="blockList">
 <li class="blockList">
 <table class="constantsSummary" border="0" cellpadding="3" cellspacing="0" summary="Constant Field Values table, listing constant fields, and values">
-<caption><span>org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderBin.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderBin</a></span><span class="tabEnd">&nbsp;</span></caption>
+<caption><span>org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderBin.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderBin</a></span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
 <th scope="col">Constant Field</th>
@@ -5534,24 +5768,24 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><a name="org.apache.sysds.runtime.transform.encode.EncoderBin.MAX_PREFIX">
+<td class="colFirst"><a name="org.apache.sysds.runtime.transform.encode.ColumnEncoderBin.MAX_PREFIX">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td><code><a href="org/apache/sysds/runtime/transform/encode/EncoderBin.html#MAX_PREFIX">MAX_PREFIX</a></code></td>
+<td><code><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderBin.html#MAX_PREFIX">MAX_PREFIX</a></code></td>
 <td class="colLast"><code>"max"</code></td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><a name="org.apache.sysds.runtime.transform.encode.EncoderBin.MIN_PREFIX">
+<td class="colFirst"><a name="org.apache.sysds.runtime.transform.encode.ColumnEncoderBin.MIN_PREFIX">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td><code><a href="org/apache/sysds/runtime/transform/encode/EncoderBin.html#MIN_PREFIX">MIN_PREFIX</a></code></td>
+<td><code><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderBin.html#MIN_PREFIX">MIN_PREFIX</a></code></td>
 <td class="colLast"><code>"min"</code></td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><a name="org.apache.sysds.runtime.transform.encode.EncoderBin.NBINS_PREFIX">
+<td class="colFirst"><a name="org.apache.sysds.runtime.transform.encode.ColumnEncoderBin.NBINS_PREFIX">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td><code><a href="org/apache/sysds/runtime/transform/encode/EncoderBin.html#NBINS_PREFIX">NBINS_PREFIX</a></code></td>
+<td><code><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderBin.html#NBINS_PREFIX">NBINS_PREFIX</a></code></td>
 <td class="colLast"><code>"nbins"</code></td>
 </tr>
 </tbody>
@@ -5561,6 +5795,81 @@
 <ul class="blockList">
 <li class="blockList">
 <table class="constantsSummary" border="0" cellpadding="3" cellspacing="0" summary="Constant Field Values table, listing constant fields, and values">
+<caption><span>org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/DMVUtils.html" title="class in org.apache.sysds.runtime.util">DMVUtils</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.sysds.runtime.util.DMVUtils.ALPHA">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;char</code></td>
+<td><code><a href="org/apache/sysds/runtime/util/DMVUtils.html#ALPHA">ALPHA</a></code></td>
+<td class="colLast"><code>97</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.sysds.runtime.util.DMVUtils.ARBITRARY_LEN">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;char</code></td>
+<td><code><a href="org/apache/sysds/runtime/util/DMVUtils.html#ARBITRARY_LEN">ARBITRARY_LEN</a></code></td>
+<td class="colLast"><code>43</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.sysds.runtime.util.DMVUtils.DIGIT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;char</code></td>
+<td><code><a href="org/apache/sysds/runtime/util/DMVUtils.html#DIGIT">DIGIT</a></code></td>
+<td class="colLast"><code>100</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.sysds.runtime.util.DMVUtils.DOT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;char</code></td>
+<td><code><a href="org/apache/sysds/runtime/util/DMVUtils.html#DOT">DOT</a></code></td>
+<td class="colLast"><code>116</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.sysds.runtime.util.DMVUtils.LOWER">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;char</code></td>
+<td><code><a href="org/apache/sysds/runtime/util/DMVUtils.html#LOWER">LOWER</a></code></td>
+<td class="colLast"><code>108</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.sysds.runtime.util.DMVUtils.MINUS">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;char</code></td>
+<td><code><a href="org/apache/sysds/runtime/util/DMVUtils.html#MINUS">MINUS</a></code></td>
+<td class="colLast"><code>45</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.sysds.runtime.util.DMVUtils.OTHER">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;char</code></td>
+<td><code><a href="org/apache/sysds/runtime/util/DMVUtils.html#OTHER">OTHER</a></code></td>
+<td class="colLast"><code>121</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.sysds.runtime.util.DMVUtils.SPACE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;char</code></td>
+<td><code><a href="org/apache/sysds/runtime/util/DMVUtils.html#SPACE">SPACE</a></code></td>
+<td class="colLast"><code>115</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.sysds.runtime.util.DMVUtils.UPPER">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;char</code></td>
+<td><code><a href="org/apache/sysds/runtime/util/DMVUtils.html#UPPER">UPPER</a></code></td>
+<td class="colLast"><code>117</code></td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<table class="constantsSummary" border="0" cellpadding="3" cellspacing="0" summary="Constant Field Values table, listing constant fields, and values">
 <caption><span>org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/HDFSTool.html" title="class in org.apache.sysds.runtime.util">HDFSTool</a></span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
@@ -6055,6 +6364,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/deprecated-list.html b/docs/api/java/deprecated-list.html
index c92b72b..87efd27 100644
--- a/docs/api/java/deprecated-list.html
+++ b/docs/api/java/deprecated-list.html
@@ -189,6 +189,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/help-doc.html b/docs/api/java/help-doc.html
index 60b4dbe..d0816ec 100644
--- a/docs/api/java/help-doc.html
+++ b/docs/api/java/help-doc.html
@@ -225,6 +225,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/index-all.html b/docs/api/java/index-all.html
index add1583..b95573b 100644
--- a/docs/api/java/index-all.html
+++ b/docs/api/java/index-all.html
@@ -84,30 +84,24 @@
 <dd>
 <div class="block">Performs an "abs" operation on a matrix on the GPU</div>
 </dd>
-<dt><a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress"><span class="typeNameLink">AbstractCompressedMatrixBlock</span></a> - Class in <a href="org/apache/sysds/runtime/compress/package-summary.html">org.apache.sysds.runtime.compress</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#AbstractCompressedMatrixBlock--">AbstractCompressedMatrixBlock()</a></span> - Constructor for class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">AbstractCompressedMatrixBlock</a></dt>
-<dd>
-<div class="block">Constructor for building an empty Compressed Matrix block object.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#AbstractCompressedMatrixBlock-boolean-">AbstractCompressedMatrixBlock(boolean)</a></span> - Constructor for class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">AbstractCompressedMatrixBlock</a></dt>
-<dd>
-<div class="block">Create a potentially overlapping Compressed Matrix Block.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#AbstractCompressedMatrixBlock-int-int-boolean-">AbstractCompressedMatrixBlock(int, int, boolean)</a></span> - Constructor for class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">AbstractCompressedMatrixBlock</a></dt>
-<dd>
-<div class="block">Main constructor for building a block from scratch.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#AbstractCompressedMatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">AbstractCompressedMatrixBlock(MatrixBlock)</a></span> - Constructor for class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">AbstractCompressedMatrixBlock</a></dt>
-<dd>
-<div class="block">"Copy" constructor to populate this compressed block with the uncompressed contents of a conventional block.</div>
-</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/io/BinaryBlockSerialization.html#accept-java.lang.Class-">accept(Class)</a></span> - Method in class org.apache.sysds.runtime.io.<a href="org/apache/sysds/runtime/io/BinaryBlockSerialization.html" title="class in org.apache.sysds.runtime.io">BinaryBlockSerialization</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/DMVUtils.html#acceptNegativeNumbersAsDigits-java.lang.String-">acceptNegativeNumbersAsDigits(String)</a></span> - Static method in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/DMVUtils.html" title="class in org.apache.sysds.runtime.util">DMVUtils</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/utils/Statistics.html#accFedPSCommunicationTime-long-">accFedPSCommunicationTime(long)</a></span> - Static method in class org.apache.sysds.utils.<a href="org/apache/sysds/utils/Statistics.html" title="class in org.apache.sysds.utils">Statistics</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/utils/Statistics.html#accFedPSDataPartitioningTime-long-">accFedPSDataPartitioningTime(long)</a></span> - Static method in class org.apache.sysds.utils.<a href="org/apache/sysds/utils/Statistics.html" title="class in org.apache.sysds.utils">Statistics</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/utils/Statistics.html#accFedPSGradientWeightingTime-long-">accFedPSGradientWeightingTime(long)</a></span> - Static method in class org.apache.sysds.utils.<a href="org/apache/sysds/utils/Statistics.html" title="class in org.apache.sysds.utils">Statistics</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/utils/Statistics.html#accFedPSWorkerComputing-long-">accFedPSWorkerComputing(long)</a></span> - Static method in class org.apache.sysds.utils.<a href="org/apache/sysds/utils/Statistics.html" title="class in org.apache.sysds.utils">Statistics</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/utils/Statistics.html#accPSAggregationTime-long-">accPSAggregationTime(long)</a></span> - Static method in class org.apache.sysds.utils.<a href="org/apache/sysds/utils/Statistics.html" title="class in org.apache.sysds.utils">Statistics</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/utils/Statistics.html#accPSBatchIndexingTime-long-">accPSBatchIndexingTime(long)</a></span> - Static method in class org.apache.sysds.utils.<a href="org/apache/sysds/utils/Statistics.html" title="class in org.apache.sysds.utils">Statistics</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/utils/Statistics.html#accPSExecutionTime-long-">accPSExecutionTime(long)</a></span> - Static method in class org.apache.sysds.utils.<a href="org/apache/sysds/utils/Statistics.html" title="class in org.apache.sysds.utils">Statistics</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/utils/Statistics.html#accPSGradientComputeTime-long-">accPSGradientComputeTime(long)</a></span> - Static method in class org.apache.sysds.utils.<a href="org/apache/sysds/utils/Statistics.html" title="class in org.apache.sysds.utils">Statistics</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/utils/Statistics.html#accPSLocalModelUpdateTime-long-">accPSLocalModelUpdateTime(long)</a></span> - Static method in class org.apache.sysds.utils.<a href="org/apache/sysds/utils/Statistics.html" title="class in org.apache.sysds.utils">Statistics</a></dt>
@@ -118,6 +112,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/utils/Statistics.html#accPSSetupTime-long-">accPSSetupTime(long)</a></span> - Static method in class org.apache.sysds.utils.<a href="org/apache/sysds/utils/Statistics.html" title="class in org.apache.sysds.utils">Statistics</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/utils/Statistics.html#accPSValidationTime-long-">accPSValidationTime(long)</a></span> - Static method in class org.apache.sysds.utils.<a href="org/apache/sysds/utils/Statistics.html" title="class in org.apache.sysds.utils">Statistics</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/paramserv/ParamservUtils.html#accrueGradients-org.apache.sysds.runtime.instructions.cp.ListObject-org.apache.sysds.runtime.instructions.cp.ListObject-boolean-">accrueGradients(ListObject, ListObject, boolean)</a></span> - Static method in class org.apache.sysds.runtime.controlprogram.paramserv.<a href="org/apache/sysds/runtime/controlprogram/paramserv/ParamservUtils.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv">ParamservUtils</a></dt>
 <dd>
 <div class="block">Accumulate the given gradients into the accrued gradients</div>
@@ -134,6 +130,24 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/dml/DmlParser.AccumulatorAssignmentStatementContext.html#AccumulatorAssignmentStatementContext-org.apache.sysds.parser.dml.DmlParser.StatementContext-">AccumulatorAssignmentStatementContext(DmlParser.StatementContext)</a></span> - Constructor for class org.apache.sysds.parser.dml.<a href="org/apache/sysds/parser/dml/DmlParser.AccumulatorAssignmentStatementContext.html" title="class in org.apache.sysds.parser.dml">DmlParser.AccumulatorAssignmentStatementContext</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">AColGroup</span></a> - Class in <a href="org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a></dt>
+<dd>
+<div class="block">Class that stores information about a column group within a compressed matrix block.</div>
+</dd>
+<dt><a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html" title="enum in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">AColGroup.ColGroupType</span></a> - Enum in <a href="org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a></dt>
+<dd>
+<div class="block">Concrete ColGroupType
+ 
+ Protected such that outside the ColGroup package it should be unknown which specific subtype is used.</div>
+</dd>
+<dt><a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">AColGroup.CompressionType</span></a> - Enum in <a href="org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a></dt>
+<dd>
+<div class="block">Public Group types supported
+ 
+ Note For instance DDC is called DDC not DDC1, or DDC2 which is a specific subtype of the DDC.</div>
+</dd>
+<dt><a href="org/apache/sysds/runtime/compress/cocode/AColumnGroupPartitioner.html" title="class in org.apache.sysds.runtime.compress.cocode"><span class="typeNameLink">AColumnGroupPartitioner</span></a> - Class in <a href="org/apache/sysds/runtime/compress/cocode/package-summary.html">org.apache.sysds.runtime.compress.cocode</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/LibMatrixCUDA.html#acos-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.runtime.instructions.gpu.context.GPUContext-java.lang.String-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-java.lang.String-">acos(ExecutionContext, GPUContext, String, MatrixObject, String)</a></span> - Static method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/LibMatrixCUDA.html" title="class in org.apache.sysds.runtime.matrix.data">LibMatrixCUDA</a></dt>
 <dd>
 <div class="block">Performs an "acos" operation on a matrix on the GPU</div>
@@ -233,7 +247,7 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/parfor/opt/OptNode.html#addChilds-java.util.ArrayList-">addChilds(ArrayList&lt;OptNode&gt;)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.parfor.opt.<a href="org/apache/sysds/runtime/controlprogram/parfor/opt/OptNode.html" title="class in org.apache.sysds.runtime.controlprogram.parfor.opt">OptNode</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/utils/DMLCompressionStatistics.html#addCompressionTimes-java.util.List-">addCompressionTimes(List&lt;Double&gt;)</a></span> - Static method in class org.apache.sysds.utils.<a href="org/apache/sysds/utils/DMLCompressionStatistics.html" title="class in org.apache.sysds.utils">DMLCompressionStatistics</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/utils/DMLCompressionStatistics.html#addCompressionTime-double-int-">addCompressionTime(double, int)</a></span> - Static method in class org.apache.sysds.utils.<a href="org/apache/sysds/utils/DMLCompressionStatistics.html" title="class in org.apache.sysds.utils">DMLCompressionStatistics</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/utils/Statistics.html#addCPMemObject-int-double-">addCPMemObject(int, double)</a></span> - Static method in class org.apache.sysds.utils.<a href="org/apache/sysds/utils/Statistics.html" title="class in org.apache.sysds.utils">Statistics</a></dt>
 <dd>&nbsp;</dd>
@@ -244,10 +258,14 @@
 <div class="block">Adds a function to the set of dimension-preserving
  functions.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html#addEncoder-org.apache.sysds.runtime.transform.encode.ColumnEncoder-">addEncoder(ColumnEncoder)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderComposite</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/OutputStatement.html#addExprParam-java.lang.String-org.apache.sysds.parser.Expression-boolean-">addExprParam(String, Expression, boolean)</a></span> - Method in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/OutputStatement.html" title="class in org.apache.sysds.parser">OutputStatement</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/DataExpression.html#addFederatedExprParam-java.lang.String-org.apache.sysds.parser.Expression-">addFederatedExprParam(String, Expression)</a></span> - Method in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/DataExpression.html" title="class in org.apache.sysds.parser">DataExpression</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/parser/DataExpression.html#addFrameExprParam-java.lang.String-org.apache.sysds.parser.Expression-">addFrameExprParam(String, Expression)</a></span> - Method in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/DataExpression.html" title="class in org.apache.sysds.parser">DataExpression</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/FunctionDictionary.html#addFunction-java.lang.String-T-">addFunction(String, T)</a></span> - Method in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/FunctionDictionary.html" title="class in org.apache.sysds.parser">FunctionDictionary</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/FunctionDictionary.html#addFunction-java.lang.String-T-boolean-">addFunction(String, T, boolean)</a></span> - Method in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/FunctionDictionary.html" title="class in org.apache.sysds.parser">FunctionDictionary</a></dt>
@@ -302,6 +320,8 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/DataExpression.html#addMatrixExprParam-java.lang.String-org.apache.sysds.parser.Expression-">addMatrixExprParam(String, Expression)</a></span> - Method in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/DataExpression.html" title="class in org.apache.sysds.parser">DataExpression</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#addMinMax-double:A-">addMinMax(double[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/lops/compile/Dag.html#addNode-org.apache.sysds.lops.Lop-">addNode(Lop)</a></span> - Method in class org.apache.sysds.lops.compile.<a href="org/apache/sysds/lops/compile/Dag.html" title="class in org.apache.sysds.lops.compile">Dag</a></dt>
 <dd>
 <div class="block">Method to add a node to the DAG.</div>
@@ -328,6 +348,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html#addReadLock--">addReadLock()</a></span> - Method in class org.apache.sysds.runtime.instructions.gpu.context.<a href="org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">GPUObject</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#addReplaceLegacyEncoder-T-">addReplaceLegacyEncoder(T)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/spark/utils/RDDConverterUtilsExt.AddRowID.html#AddRowID--">AddRowID()</a></span> - Constructor for class org.apache.sysds.runtime.instructions.spark.utils.<a href="org/apache/sysds/runtime/instructions/spark/utils/RDDConverterUtilsExt.AddRowID.html" title="class in org.apache.sysds.runtime.instructions.spark.utils">RDDConverterUtilsExt.AddRowID</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/DataExpression.html#addSqlExprParam-java.lang.String-org.apache.sysds.parser.Expression-">addSqlExprParam(String, Expression)</a></span> - Method in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/DataExpression.html" title="class in org.apache.sysds.parser">DataExpression</a></dt>
@@ -354,7 +376,7 @@
 <dd>
 <div class="block">Method to recursively add LOPS to a DAG</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html#addValidCompression-org.apache.sysds.runtime.compress.colgroup.ColGroup.CompressionType-">addValidCompression(ColGroup.CompressionType)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html" title="class in org.apache.sysds.runtime.compress">CompressionSettingsBuilder</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html#addValidCompression-org.apache.sysds.runtime.compress.colgroup.AColGroup.CompressionType-">addValidCompression(AColGroup.CompressionType)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html" title="class in org.apache.sysds.runtime.compress">CompressionSettingsBuilder</a></dt>
 <dd>
 <div class="block">Add a single valid compression type to the EnumSet of valid compressions.</div>
 </dd>
@@ -387,6 +409,10 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/LongLongDoubleHashMap.ADoubleEntry.html#ADoubleEntry-double-">ADoubleEntry(double)</a></span> - Constructor for class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/LongLongDoubleHashMap.ADoubleEntry.html" title="class in org.apache.sysds.runtime.util">LongLongDoubleHashMap.ADoubleEntry</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/pre/PreAggregateFactory.html#ag-int-">ag(int)</a></span> - Static method in class org.apache.sysds.runtime.compress.colgroup.pre.<a href="org/apache/sysds/runtime/compress/colgroup/pre/PreAggregateFactory.html" title="class in org.apache.sysds.runtime.compress.colgroup.pre">PreAggregateFactory</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/pre/PreAggregateFactory.html#ag-int:A-">ag(int[])</a></span> - Static method in class org.apache.sysds.runtime.compress.colgroup.pre.<a href="org/apache/sysds/runtime/compress/colgroup/pre/PreAggregateFactory.html" title="class in org.apache.sysds.runtime.compress.colgroup.pre">PreAggregateFactory</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/federated/FederationUtils.html#aggAdd-java.util.concurrent.Future:A-">aggAdd(Future&lt;FederatedResponse&gt;[])</a></span> - Static method in class org.apache.sysds.runtime.controlprogram.federated.<a href="org/apache/sysds/runtime/controlprogram/federated/FederationUtils.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationUtils</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/hops/AggBinaryOp.html" title="class in org.apache.sysds.hops"><span class="typeNameLink">AggBinaryOp</span></a> - Class in <a href="org/apache/sysds/hops/package-summary.html">org.apache.sysds.hops</a></dt>
@@ -403,12 +429,16 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/spark/utils/RDDAggregateUtils.html#aggByKeyStable-org.apache.spark.api.java.JavaPairRDD-org.apache.sysds.runtime.matrix.operators.AggregateOperator-int-boolean-">aggByKeyStable(JavaPairRDD&lt;MatrixIndexes, MatrixBlock&gt;, AggregateOperator, int, boolean)</a></span> - Static method in class org.apache.sysds.runtime.instructions.spark.utils.<a href="org/apache/sysds/runtime/instructions/spark/utils/RDDAggregateUtils.html" title="class in org.apache.sysds.runtime.instructions.spark.utils">RDDAggregateUtils</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/federated/FederationUtils.html#aggMatrix-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-java.util.concurrent.Future:A-java.util.concurrent.Future:A-org.apache.sysds.runtime.controlprogram.federated.FederationMap-">aggMatrix(AggregateUnaryOperator, Future&lt;FederatedResponse&gt;[], Future&lt;FederatedResponse&gt;[], FederationMap)</a></span> - Static method in class org.apache.sysds.runtime.controlprogram.federated.<a href="org/apache/sysds/runtime/controlprogram/federated/FederationUtils.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationUtils</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/federated/FederationUtils.html#aggMatrix-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-java.util.concurrent.Future:A-org.apache.sysds.runtime.controlprogram.federated.FederationMap-">aggMatrix(AggregateUnaryOperator, Future&lt;FederatedResponse&gt;[], FederationMap)</a></span> - Static method in class org.apache.sysds.runtime.controlprogram.federated.<a href="org/apache/sysds/runtime/controlprogram/federated/FederationUtils.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationUtils</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/federated/FederationUtils.html#aggMean-java.util.concurrent.Future:A-org.apache.sysds.runtime.controlprogram.federated.FederationMap-">aggMean(Future&lt;FederatedResponse&gt;[], FederationMap)</a></span> - Static method in class org.apache.sysds.runtime.controlprogram.federated.<a href="org/apache/sysds/runtime/controlprogram/federated/FederationUtils.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationUtils</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/federated/FederationUtils.html#aggMinMax-java.util.concurrent.Future:A-boolean-boolean-java.util.Optional-">aggMinMax(Future&lt;FederatedResponse&gt;[], boolean, boolean, Optional&lt;FederationMap.FType&gt;)</a></span> - Static method in class org.apache.sysds.runtime.controlprogram.federated.<a href="org/apache/sysds/runtime/controlprogram/federated/FederationUtils.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationUtils</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/federated/FederationUtils.html#aggMinMaxIndex-java.util.concurrent.Future:A-boolean-org.apache.sysds.runtime.controlprogram.federated.FederationMap-">aggMinMaxIndex(Future&lt;FederatedResponse&gt;[], boolean, FederationMap)</a></span> - Static method in class org.apache.sysds.runtime.controlprogram.federated.<a href="org/apache/sysds/runtime/controlprogram/federated/FederationUtils.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationUtils</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/operators/AggregateBinaryOperator.html#aggOp">aggOp</a></span> - Variable in class org.apache.sysds.runtime.matrix.operators.<a href="org/apache/sysds/runtime/matrix/operators/AggregateBinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateBinaryOperator</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/operators/AggregateTernaryOperator.html#aggOp">aggOp</a></span> - Variable in class org.apache.sysds.runtime.matrix.operators.<a href="org/apache/sysds/runtime/matrix/operators/AggregateTernaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateTernaryOperator</a></dt>
@@ -417,6 +447,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/operators/CMOperator.html#aggOpType">aggOpType</a></span> - Variable in class org.apache.sysds.runtime.matrix.operators.<a href="org/apache/sysds/runtime/matrix/operators/CMOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">CMOperator</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html#aggPool">aggPool</a></span> - Static variable in interface org.apache.sysds.runtime.compress.colgroup.pre.<a href="org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ADictionary.html#aggregate-double-org.apache.sysds.runtime.functionobjects.Builtin-">aggregate(double, Builtin)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></dt>
 <dd>
 <div class="block">Aggregate all the contained values, useful in value only computations where the operation is iterating through
@@ -447,10 +479,12 @@
 <dd>
 <div class="block">Core incremental matrix aggregate (ak+) as used for uack+ and acrk+.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#aggregateBinaryOperations-org.apache.sysds.runtime.matrix.data.MatrixIndexes-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixIndexes-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.AggregateBinaryOperator-">aggregateBinaryOperations(MatrixIndexes, MatrixBlock, MatrixIndexes, MatrixBlock, MatrixBlock, AggregateBinaryOperator)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">AbstractCompressedMatrixBlock</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#aggregateBinaryOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.AggregateBinaryOperator-">aggregateBinaryOperations(MatrixBlock, MatrixBlock, MatrixBlock, AggregateBinaryOperator)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#aggregateBinaryOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.AggregateBinaryOperator-boolean-boolean-">aggregateBinaryOperations(MatrixBlock, MatrixBlock, MatrixBlock, AggregateBinaryOperator, boolean, boolean)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#aggregateBinaryOperations-org.apache.sysds.runtime.matrix.data.MatrixIndexes-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixIndexes-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.AggregateBinaryOperator-">aggregateBinaryOperations(MatrixIndexes, MatrixBlock, MatrixIndexes, MatrixBlock, MatrixBlock, AggregateBinaryOperator)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html#aggregateBinaryOperations-org.apache.sysds.runtime.matrix.data.MatrixIndexes-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixIndexes-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.AggregateBinaryOperator-">aggregateBinaryOperations(MatrixIndexes, MatrixBlock, MatrixIndexes, MatrixBlock, MatrixBlock, AggregateBinaryOperator)</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html#aggregateBinaryOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.AggregateBinaryOperator-">aggregateBinaryOperations(MatrixBlock, MatrixBlock, MatrixBlock, AggregateBinaryOperator)</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></dt>
@@ -489,7 +523,9 @@
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/instructions/cp/AggregateTernaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp"><span class="typeNameLink">AggregateTernaryCPInstruction</span></a> - Class in <a href="org/apache/sysds/runtime/instructions/cp/package-summary.html">org.apache.sysds.runtime.instructions.cp</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#aggregateTernaryOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.AggregateTernaryOperator-boolean-">aggregateTernaryOperations(MatrixBlock, MatrixBlock, MatrixBlock, MatrixBlock, AggregateTernaryOperator, boolean)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">AbstractCompressedMatrixBlock</a></dt>
+<dt><a href="org/apache/sysds/runtime/instructions/fed/AggregateTernaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">AggregateTernaryFEDInstruction</span></a> - Class in <a href="org/apache/sysds/runtime/instructions/fed/package-summary.html">org.apache.sysds.runtime.instructions.fed</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#aggregateTernaryOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.AggregateTernaryOperator-boolean-">aggregateTernaryOperations(MatrixBlock, MatrixBlock, MatrixBlock, MatrixBlock, AggregateTernaryOperator, boolean)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html#aggregateTernaryOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.AggregateTernaryOperator-boolean-">aggregateTernaryOperations(MatrixBlock, MatrixBlock, MatrixBlock, MatrixBlock, AggregateTernaryOperator, boolean)</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></dt>
 <dd>&nbsp;</dd>
@@ -501,6 +537,16 @@
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/instructions/spark/AggregateTernarySPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark"><span class="typeNameLink">AggregateTernarySPInstruction</span></a> - Class in <a href="org/apache/sysds/runtime/instructions/spark/package-summary.html">org.apache.sysds.runtime.instructions.spark</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ADictionary.html#aggregateTuples-org.apache.sysds.runtime.functionobjects.Builtin-int-">aggregateTuples(Builtin, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></dt>
+<dd>
+<div class="block">Aggregate all entries in the rows.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/Dictionary.html#aggregateTuples-org.apache.sysds.runtime.functionobjects.Builtin-int-">aggregateTuples(Builtin, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">Dictionary</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/QDictionary.html#aggregateTuples-org.apache.sysds.runtime.functionobjects.Builtin-int-">aggregateTuples(Builtin, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/QDictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">QDictionary</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/lib/CLALibCompAgg.html#aggregateUnary-org.apache.sysds.runtime.compress.CompressedMatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-int-org.apache.sysds.runtime.matrix.data.MatrixIndexes-boolean-">aggregateUnary(CompressedMatrixBlock, MatrixBlock, AggregateUnaryOperator, int, MatrixIndexes, boolean)</a></span> - Static method in class org.apache.sysds.runtime.compress.lib.<a href="org/apache/sysds/runtime/compress/lib/CLALibCompAgg.html" title="class in org.apache.sysds.runtime.compress.lib">CLALibCompAgg</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/meta/DataCharacteristics.html#aggregateUnary-org.apache.sysds.runtime.meta.DataCharacteristics-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-org.apache.sysds.runtime.meta.DataCharacteristics-">aggregateUnary(DataCharacteristics, AggregateUnaryOperator, DataCharacteristics)</a></span> - Static method in class org.apache.sysds.runtime.meta.<a href="org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/instructions/cp/AggregateUnaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp"><span class="typeNameLink">AggregateUnaryCPInstruction</span></a> - Class in <a href="org/apache/sysds/runtime/instructions/cp/package-summary.html">org.apache.sysds.runtime.instructions.cp</a></dt>
@@ -517,10 +563,10 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/LibMatrixAgg.html#aggregateUnaryMatrix-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-int-">aggregateUnaryMatrix(MatrixBlock, MatrixBlock, AggregateUnaryOperator, int)</a></span> - Static method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/LibMatrixAgg.html" title="class in org.apache.sysds.runtime.matrix.data">LibMatrixAgg</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#aggregateUnaryOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-int-org.apache.sysds.runtime.matrix.data.MatrixIndexes-boolean-">aggregateUnaryOperations(AggregateUnaryOperator, MatrixValue, int, MatrixIndexes, boolean)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#aggregateUnaryOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-int-org.apache.sysds.runtime.matrix.data.MatrixIndexes-">aggregateUnaryOperations(AggregateUnaryOperator, MatrixValue, int, MatrixIndexes)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#aggregateUnaryOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-int-org.apache.sysds.runtime.matrix.data.MatrixIndexes-boolean-">aggregateUnaryOperations(AggregateUnaryOperator, MatrixValue, int, MatrixIndexes, boolean)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/data/BasicTensorBlock.html#aggregateUnaryOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-org.apache.sysds.runtime.data.BasicTensorBlock-">aggregateUnaryOperations(AggregateUnaryOperator, BasicTensorBlock)</a></span> - Method in class org.apache.sysds.runtime.data.<a href="org/apache/sysds/runtime/data/BasicTensorBlock.html" title="class in org.apache.sysds.runtime.data">BasicTensorBlock</a></dt>
 <dd>
 <div class="block">Aggregate a unary operation on this tensor.</div>
@@ -563,8 +609,12 @@
 <dd>
 <div class="block">Aggregate a tensor-block with the given unary operator.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/federated/FederationUtils.html#aggScalar-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-java.util.concurrent.Future:A-java.util.concurrent.Future:A-org.apache.sysds.runtime.controlprogram.federated.FederationMap-">aggScalar(AggregateUnaryOperator, Future&lt;FederatedResponse&gt;[], Future&lt;FederatedResponse&gt;[], FederationMap)</a></span> - Static method in class org.apache.sysds.runtime.controlprogram.federated.<a href="org/apache/sysds/runtime/controlprogram/federated/FederationUtils.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationUtils</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/federated/FederationUtils.html#aggScalar-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-java.util.concurrent.Future:A-">aggScalar(AggregateUnaryOperator, Future&lt;FederatedResponse&gt;[])</a></span> - Static method in class org.apache.sysds.runtime.controlprogram.federated.<a href="org/apache/sysds/runtime/controlprogram/federated/FederationUtils.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationUtils</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/federated/FederationUtils.html#aggScalar-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-java.util.concurrent.Future:A-org.apache.sysds.runtime.controlprogram.federated.FederationMap-">aggScalar(AggregateUnaryOperator, Future&lt;FederatedResponse&gt;[], FederationMap)</a></span> - Static method in class org.apache.sysds.runtime.controlprogram.federated.<a href="org/apache/sysds/runtime/controlprogram/federated/FederationUtils.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationUtils</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/spark/utils/RDDAggregateUtils.html#aggStable-org.apache.spark.api.java.JavaPairRDD-org.apache.sysds.runtime.matrix.operators.AggregateOperator-">aggStable(JavaPairRDD&lt;MatrixIndexes, MatrixBlock&gt;, AggregateOperator)</a></span> - Static method in class org.apache.sysds.runtime.instructions.spark.utils.<a href="org/apache/sysds/runtime/instructions/spark/utils/RDDAggregateUtils.html" title="class in org.apache.sysds.runtime.instructions.spark.utils">RDDAggregateUtils</a></dt>
 <dd>
 <div class="block">Single block aggregation over pair rdds with corrections for numerical stability.</div>
@@ -585,6 +635,15 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/AggUnaryOp.html#AggUnaryOp-java.lang.String-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.common.Types.AggOp-org.apache.sysds.common.Types.Direction-org.apache.sysds.hops.Hop-">AggUnaryOp(String, Types.DataType, Types.ValueType, Types.AggOp, Types.Direction, Hop)</a></span> - Constructor for class org.apache.sysds.hops.<a href="org/apache/sysds/hops/AggUnaryOp.html" title="class in org.apache.sysds.hops">AggUnaryOp</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/federated/FederationUtils.html#aggVar-java.util.concurrent.Future:A-java.util.concurrent.Future:A-org.apache.sysds.runtime.controlprogram.federated.FederationMap-boolean-boolean-">aggVar(Future&lt;FederatedResponse&gt;[], Future&lt;FederatedResponse&gt;[], FederationMap, boolean, boolean)</a></span> - Static method in class org.apache.sysds.runtime.controlprogram.federated.<a href="org/apache/sysds/runtime/controlprogram/federated/FederationUtils.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationUtils</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/compress/colgroup/tree/AInsertionSorter.html" title="class in org.apache.sysds.runtime.compress.colgroup.tree"><span class="typeNameLink">AInsertionSorter</span></a> - Class in <a href="org/apache/sysds/runtime/compress/colgroup/tree/package-summary.html">org.apache.sysds.runtime.compress.colgroup.tree</a></dt>
+<dd>
+<div class="block">This abstract class is for sorting the IntArrayList entries efficiently for
+ SDC Column Groups construction.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/tree/AInsertionSorter.html#AInsertionSorter-int-int-int-">AInsertionSorter(int, int, int)</a></span> - Constructor for class org.apache.sysds.runtime.compress.colgroup.tree.<a href="org/apache/sysds/runtime/compress/colgroup/tree/AInsertionSorter.html" title="class in org.apache.sysds.runtime.compress.colgroup.tree">AInsertionSorter</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/LibMatrixCuDNNConvolutionAlgorithm.html#algo">algo</a></span> - Variable in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/LibMatrixCuDNNConvolutionAlgorithm.html" title="class in org.apache.sysds.runtime.matrix.data">LibMatrixCuDNNConvolutionAlgorithm</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/api/mlcontext/MLContextUtil.html#ALL_SUPPORTED_DATA_TYPES">ALL_SUPPORTED_DATA_TYPES</a></span> - Static variable in class org.apache.sysds.api.mlcontext.<a href="org/apache/sysds/api/mlcontext/MLContextUtil.html" title="class in org.apache.sysds.api.mlcontext">MLContextUtil</a></dt>
@@ -659,7 +718,9 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html#allocateBlockAsync--">allocateBlockAsync()</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#allocateColGroupList-java.util.List-">allocateColGroupList(List&lt;ColGroup&gt;)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#allocateColGroup-org.apache.sysds.runtime.compress.colgroup.AColGroup-">allocateColGroup(AColGroup)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#allocateColGroupList-java.util.List-">allocateColGroupList(List&lt;AColGroup&gt;)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/data/BasicTensorBlock.html#allocateDenseBlock--">allocateDenseBlock()</a></span> - Method in class org.apache.sysds.runtime.data.<a href="org/apache/sysds/runtime/data/BasicTensorBlock.html" title="class in org.apache.sysds.runtime.data">BasicTensorBlock</a></dt>
 <dd>&nbsp;</dd>
@@ -711,6 +772,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html#allocateSparseRowsBlock-boolean-">allocateSparseRowsBlock(boolean)</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html#allocIVector-int-boolean-">allocIVector(int, boolean)</a></span> - Static method in interface org.apache.sysds.runtime.compress.colgroup.pre.<a href="org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#allocVector-int-boolean-">allocVector(int, boolean)</a></span> - Static method in class org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html" title="class in org.apache.sysds.runtime.codegen">LibSpoofPrimitives</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/OptimizerUtils.html#ALLOW_ALGEBRAIC_SIMPLIFICATION">ALLOW_ALGEBRAIC_SIMPLIFICATION</a></span> - Static variable in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/OptimizerUtils.html" title="class in org.apache.sysds.hops">OptimizerUtils</a></dt>
@@ -748,6 +811,12 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/ParForProgramBlock.html#ALLOW_DATA_COLOCATION">ALLOW_DATA_COLOCATION</a></span> - Static variable in class org.apache.sysds.runtime.controlprogram.<a href="org/apache/sysds/runtime/controlprogram/ParForProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ParForProgramBlock</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/OptimizerUtils.html#ALLOW_FOR_LOOP_REMOVAL">ALLOW_FOR_LOOP_REMOVAL</a></span> - Static variable in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/OptimizerUtils.html" title="class in org.apache.sysds.hops">OptimizerUtils</a></dt>
+<dd>
+<div class="block">Enables the removal of (par)for-loops when from, to, and increment are constants
+ (original literals or results of constant folding) and lead to an empty sequence,
+ i.e., (par)for-loops without a single iteration.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/OptimizerUtils.html#ALLOW_INTER_PROCEDURAL_ANALYSIS">ALLOW_INTER_PROCEDURAL_ANALYSIS</a></span> - Static variable in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/OptimizerUtils.html" title="class in org.apache.sysds.hops">OptimizerUtils</a></dt>
 <dd>
 <div class="block">Enables interprocedural analysis between main script and functions as well as functions
@@ -773,6 +842,10 @@
 <div class="block">Enables parfor runtime piggybacking of MR jobs into the packed jobs for
  scan sharing.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/OptimizerUtils.html#ALLOW_SCRIPT_LEVEL_COMPRESS_COMMAND">ALLOW_SCRIPT_LEVEL_COMPRESS_COMMAND</a></span> - Static variable in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/OptimizerUtils.html" title="class in org.apache.sysds.hops">OptimizerUtils</a></dt>
+<dd>
+<div class="block">This variable allows for insertion of Compress and decompress in the dml script from the user.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/OptimizerUtils.html#ALLOW_SIZE_EXPRESSION_EVALUATION">ALLOW_SIZE_EXPRESSION_EVALUATION</a></span> - Static variable in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/OptimizerUtils.html" title="class in org.apache.sysds.hops">OptimizerUtils</a></dt>
 <dd>
 <div class="block">Enables simple expression evaluation for datagen parameters 'rows', 'cols'.</div>
@@ -844,6 +917,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/utils/Statistics.html#allowWorkerStatistics">allowWorkerStatistics</a></span> - Static variable in class org.apache.sysds.utils.<a href="org/apache/sysds/utils/Statistics.html" title="class in org.apache.sysds.utils">Statistics</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/DMVUtils.html#ALPHA">ALPHA</a></span> - Static variable in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/DMVUtils.html" title="class in org.apache.sysds.runtime.util">DMVUtils</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/dml/DmlLexer.html#ALPHABET">ALPHABET</a></span> - Static variable in class org.apache.sysds.parser.dml.<a href="org/apache/sysds/parser/dml/DmlLexer.html" title="class in org.apache.sysds.parser.dml">DmlLexer</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/dml/DmlParser.html#ALPHABET">ALPHABET</a></span> - Static variable in class org.apache.sysds.parser.dml.<a href="org/apache/sysds/parser/dml/DmlParser.html" title="class in org.apache.sysds.parser.dml">DmlParser</a></dt>
@@ -886,16 +961,20 @@
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/functionobjects/And.html" title="class in org.apache.sysds.runtime.functionobjects"><span class="typeNameLink">And</span></a> - Class in <a href="org/apache/sysds/runtime/functionobjects/package-summary.html">org.apache.sysds.runtime.functionobjects</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/SpoofCompiler.html#API">API</a></span> - Static variable in class org.apache.sysds.hops.codegen.<a href="org/apache/sysds/hops/codegen/SpoofCompiler.html" title="class in org.apache.sysds.hops.codegen">SpoofCompiler</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/lops/Append.html" title="class in org.apache.sysds.lops"><span class="typeNameLink">Append</span></a> - Class in <a href="org/apache/sysds/lops/package-summary.html">org.apache.sysds.lops</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/lops/Append.html#Append-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-boolean-org.apache.sysds.lops.LopProperties.ExecType-">Append(Lop, Lop, Lop, Types.DataType, Types.ValueType, boolean, LopProperties.ExecType)</a></span> - Constructor for class org.apache.sysds.lops.<a href="org/apache/sysds/lops/Append.html" title="class in org.apache.sysds.lops">Append</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#append-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-">append(MatrixBlock, MatrixBlock, boolean)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">AbstractCompressedMatrixBlock</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#append-org.apache.sysds.runtime.matrix.data.MatrixValue-java.util.ArrayList-int-boolean-boolean-int-">append(MatrixValue, ArrayList&lt;IndexedMatrixValue&gt;, int, boolean, boolean, int)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">AbstractCompressedMatrixBlock</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#append-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">append(MatrixBlock, MatrixBlock)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#append-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-">append(MatrixBlock, MatrixBlock, boolean)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#append-org.apache.sysds.runtime.matrix.data.MatrixValue-java.util.ArrayList-int-boolean-boolean-int-">append(MatrixValue, ArrayList&lt;IndexedMatrixValue&gt;, int, boolean, boolean, int)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/lib/CLALibAppend.html#append-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">append(MatrixBlock, MatrixBlock)</a></span> - Static method in class org.apache.sysds.runtime.compress.lib.<a href="org/apache/sysds/runtime/compress/lib/CLALibAppend.html" title="class in org.apache.sysds.runtime.compress.lib">CLALibAppend</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/data/SparseBlock.html#append-int-int-double-">append(int, int, double)</a></span> - Method in class org.apache.sysds.runtime.data.<a href="org/apache/sysds/runtime/data/SparseBlock.html" title="class in org.apache.sysds.runtime.data">SparseBlock</a></dt>
 <dd>
 <div class="block">Append a value to the end of the physical representation.</div>
@@ -918,7 +997,7 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/FrameBlock.html#append-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.FrameBlock-boolean-">append(FrameBlock, FrameBlock, boolean)</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></dt>
 <dd>
-<div class="block">Appends the given argument frameblock 'that' to this frameblock by 
+<div class="block">Appends the given argument frameblock 'that' to this frameblock by
  creating a deep copy to prevent side effects.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html#append-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">append(MatrixBlock, MatrixBlock)</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></dt>
@@ -941,17 +1020,17 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/FrameBlock.html#appendColumn-java.lang.String:A-">appendColumn(String[])</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></dt>
 <dd>
-<div class="block">Append a column of value type STRING as the last column of 
+<div class="block">Append a column of value type STRING as the last column of
  the data frame.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/FrameBlock.html#appendColumn-boolean:A-">appendColumn(boolean[])</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></dt>
 <dd>
-<div class="block">Append a column of value type BOOLEAN as the last column of 
+<div class="block">Append a column of value type BOOLEAN as the last column of
  the data frame.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/FrameBlock.html#appendColumn-int:A-">appendColumn(int[])</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></dt>
 <dd>
-<div class="block">Append a column of value type INT as the last column of 
+<div class="block">Append a column of value type INT as the last column of
  the data frame.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/FrameBlock.html#appendColumn-long:A-">appendColumn(long[])</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></dt>
@@ -1018,6 +1097,10 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/federated/FederatedRequest.html#appendParams-java.lang.Object...-">appendParams(Object...)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.federated.<a href="org/apache/sysds/runtime/controlprogram/federated/FederatedRequest.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRequest</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/privacy/propagation/AppendPropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation"><span class="typeNameLink">AppendPropagator</span></a> - Class in <a href="org/apache/sysds/runtime/privacy/propagation/package-summary.html">org.apache.sysds.runtime.privacy.propagation</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/privacy/propagation/AppendPropagator.html#AppendPropagator-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.privacy.PrivacyConstraint-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.privacy.PrivacyConstraint-">AppendPropagator(MatrixBlock, PrivacyConstraint, MatrixBlock, PrivacyConstraint)</a></span> - Constructor for class org.apache.sysds.runtime.privacy.propagation.<a href="org/apache/sysds/runtime/privacy/propagation/AppendPropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation">AppendPropagator</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/lops/AppendR.html" title="class in org.apache.sysds.lops"><span class="typeNameLink">AppendR</span></a> - Class in <a href="org/apache/sysds/lops/package-summary.html">org.apache.sysds.lops</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/lops/AppendR.html#AppendR-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-boolean-org.apache.sysds.lops.LopProperties.ExecType-">AppendR(Lop, Lop, Types.DataType, Types.ValueType, boolean, LopProperties.ExecType)</a></span> - Constructor for class org.apache.sysds.lops.<a href="org/apache/sysds/lops/AppendR.html" title="class in org.apache.sysds.lops">AppendR</a></dt>
@@ -1040,14 +1123,22 @@
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/instructions/spark/AppendRSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark"><span class="typeNameLink">AppendRSPInstruction</span></a> - Class in <a href="org/apache/sysds/runtime/instructions/spark/package-summary.html">org.apache.sysds.runtime.instructions.spark</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/tokenize/TokenizerPostPosition.html#appendTokensLong-java.util.List-java.util.List-org.apache.sysds.runtime.matrix.data.FrameBlock-">appendTokensLong(List&lt;Object&gt;, List&lt;Tokenizer.Token&gt;, FrameBlock)</a></span> - Method in class org.apache.sysds.runtime.transform.tokenize.<a href="org/apache/sysds/runtime/transform/tokenize/TokenizerPostPosition.html" title="class in org.apache.sysds.runtime.transform.tokenize">TokenizerPostPosition</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/tokenize/TokenizerPostPosition.html#appendTokensWide-java.util.List-java.util.List-org.apache.sysds.runtime.matrix.data.FrameBlock-">appendTokensWide(List&lt;Object&gt;, List&lt;Tokenizer.Token&gt;, FrameBlock)</a></span> - Method in class org.apache.sysds.runtime.transform.tokenize.<a href="org/apache/sysds/runtime/transform/tokenize/TokenizerPostPosition.html" title="class in org.apache.sysds.runtime.transform.tokenize">TokenizerPostPosition</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html#appendToSparse-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">appendToSparse(MatrixBlock, int, int)</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html#appendToSparse-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-boolean-">appendToSparse(MatrixBlock, int, int, boolean)</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/utils/DblArrayIntListHashMap.html#appendValue-org.apache.sysds.runtime.compress.utils.DblArray-org.apache.sysds.runtime.compress.utils.IntArrayList-">appendValue(DblArray, IntArrayList)</a></span> - Method in class org.apache.sysds.runtime.compress.utils.<a href="org/apache/sysds/runtime/compress/utils/DblArrayIntListHashMap.html" title="class in org.apache.sysds.runtime.compress.utils">DblArrayIntListHashMap</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/utils/DblArrayIntListHashMap.html#appendValue-org.apache.sysds.runtime.compress.utils.DblArray-int-">appendValue(DblArray, int)</a></span> - Method in class org.apache.sysds.runtime.compress.utils.<a href="org/apache/sysds/runtime/compress/utils/DblArrayIntListHashMap.html" title="class in org.apache.sysds.runtime.compress.utils">DblArrayIntListHashMap</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/utils/DoubleIntListHashMap.html#appendValue-double-org.apache.sysds.runtime.compress.utils.IntArrayList-">appendValue(double, IntArrayList)</a></span> - Method in class org.apache.sysds.runtime.compress.utils.<a href="org/apache/sysds/runtime/compress/utils/DoubleIntListHashMap.html" title="class in org.apache.sysds.runtime.compress.utils">DoubleIntListHashMap</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/utils/DoubleIntListHashMap.html#appendValue-double-int-">appendValue(double, int)</a></span> - Method in class org.apache.sysds.runtime.compress.utils.<a href="org/apache/sysds/runtime/compress/utils/DoubleIntListHashMap.html" title="class in org.apache.sysds.runtime.compress.utils">DoubleIntListHashMap</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/utils/IntArrayList.html#appendValue-int-">appendValue(int)</a></span> - Method in class org.apache.sysds.runtime.compress.utils.<a href="org/apache/sysds/runtime/compress/utils/IntArrayList.html" title="class in org.apache.sysds.runtime.compress.utils">IntArrayList</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html#appendValue-int-int-double-">appendValue(int, int, double)</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></dt>
@@ -1055,6 +1146,8 @@
 <div class="block">Append value is only used when values are appended at the end of each row for the sparse representation
  This can only be called, when the caller knows the access pattern of the block</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html#appendValuePlain-int-int-double-">appendValuePlain(int, int, double)</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ADictionary.html#apply-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">apply(ScalarOperator)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></dt>
 <dd>
 <div class="block">Applies the scalar operation on the dictionary.</div>
@@ -1065,32 +1158,69 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/FrameBlock.FrameMapFunction.html#apply-java.lang.String-">apply(String)</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/FrameBlock.FrameMapFunction.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock.FrameMapFunction</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/Encoder.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">apply(FrameBlock, MatrixBlock)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/FrameBlock.FrameMapFunction.html#apply-java.lang.String-java.lang.String-">apply(String, String)</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/FrameBlock.FrameMapFunction.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock.FrameMapFunction</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#apply-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">apply(MatrixBlock, MatrixBlock, int)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderBin.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">apply(FrameBlock, MatrixBlock, int)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderBin.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderBin</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderBin.html#apply-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">apply(MatrixBlock, MatrixBlock, int)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderBin.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderBin</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">apply(FrameBlock, MatrixBlock, int)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderComposite</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html#apply-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">apply(MatrixBlock, MatrixBlock, int)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderComposite</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderDummycode.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">apply(FrameBlock, MatrixBlock, int)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderDummycode.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderDummycode</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderDummycode.html#apply-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">apply(MatrixBlock, MatrixBlock, int)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderDummycode.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderDummycode</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderFeatureHash.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">apply(FrameBlock, MatrixBlock, int)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderFeatureHash.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderFeatureHash</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderFeatureHash.html#apply-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">apply(MatrixBlock, MatrixBlock, int)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderFeatureHash.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderFeatureHash</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderPassThrough.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">apply(FrameBlock, MatrixBlock, int)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderPassThrough.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderPassThrough</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderPassThrough.html#apply-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">apply(MatrixBlock, MatrixBlock, int)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderPassThrough.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderPassThrough</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderRecode.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">apply(FrameBlock, MatrixBlock, int)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderRecode.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderRecode</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderRecode.html#apply-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">apply(MatrixBlock, MatrixBlock, int)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderRecode.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderRecode</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/Encoder.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">apply(FrameBlock, MatrixBlock, int)</a></span> - Method in interface org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/Encoder.html" title="interface in org.apache.sysds.runtime.transform.encode">Encoder</a></dt>
 <dd>
-<div class="block">Encode input data blockwise according to existing transform meta
- data (transform apply).</div>
+<div class="block">Apply the generated metadata to the FrameBlock and saved the result in out.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderBin.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">apply(FrameBlock, MatrixBlock)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderBin.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderBin</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderComposite.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">apply(FrameBlock, MatrixBlock)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderComposite</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderDummycode.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">apply(FrameBlock, MatrixBlock)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderDummycode.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderDummycode</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderFeatureHash.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">apply(FrameBlock, MatrixBlock)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderFeatureHash.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderFeatureHash</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">apply(FrameBlock, MatrixBlock)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderMVImpute</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderOmit.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">apply(FrameBlock, MatrixBlock)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderOmit.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderOmit</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderPassThrough.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">apply(FrameBlock, MatrixBlock)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderPassThrough.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderPassThrough</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">apply(FrameBlock, MatrixBlock)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/LegacyEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">LegacyEncoder</a></dt>
+<dd>
+<div class="block">Encode input data blockwise according to existing transform meta data (transform apply).</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-">apply(FrameBlock)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderRecode.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">apply(FrameBlock, MatrixBlock)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderRecode.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderRecode</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">apply(FrameBlock, MatrixBlock, int)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ADictionary.html#applyBinaryRowOp-org.apache.sysds.runtime.functionobjects.ValueFunction-double:A-boolean-int:A-">applyBinaryRowOp(ValueFunction, double[], boolean, int[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ADictionary.html#applyBinaryRowOp-org.apache.sysds.runtime.functionobjects.ValueFunction-double:A-boolean-int:A-boolean-">applyBinaryRowOp(ValueFunction, double[], boolean, int[], boolean)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/Dictionary.html#applyBinaryRowOp-org.apache.sysds.runtime.functionobjects.ValueFunction-double:A-boolean-int:A-">applyBinaryRowOp(ValueFunction, double[], boolean, int[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">Dictionary</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#applyBinaryRowOp-org.apache.sysds.runtime.functionobjects.ValueFunction-double:A-boolean-boolean-">applyBinaryRowOp(ValueFunction, double[], boolean, boolean)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></dt>
+<dd>
+<div class="block">Apply the binary row-wise operator to the dictionary, and copy it appropriately if needed.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ADictionary.html#applyBinaryRowOpLeft-org.apache.sysds.runtime.functionobjects.ValueFunction-double:A-boolean-int:A-">applyBinaryRowOpLeft(ValueFunction, double[], boolean, int[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/QDictionary.html#applyBinaryRowOp-org.apache.sysds.runtime.functionobjects.ValueFunction-double:A-boolean-int:A-">applyBinaryRowOp(ValueFunction, double[], boolean, int[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/QDictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">QDictionary</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/Dictionary.html#applyBinaryRowOpLeft-org.apache.sysds.runtime.functionobjects.ValueFunction-double:A-boolean-int:A-">applyBinaryRowOpLeft(ValueFunction, double[], boolean, int[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">Dictionary</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/QDictionary.html#applyBinaryRowOpLeft-org.apache.sysds.runtime.functionobjects.ValueFunction-double:A-boolean-int:A-">applyBinaryRowOpLeft(ValueFunction, double[], boolean, int[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/QDictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">QDictionary</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ADictionary.html#applyBinaryRowOpRight-org.apache.sysds.runtime.functionobjects.ValueFunction-double:A-boolean-int:A-">applyBinaryRowOpRight(ValueFunction, double[], boolean, int[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/Dictionary.html#applyBinaryRowOpRight-org.apache.sysds.runtime.functionobjects.ValueFunction-double:A-boolean-int:A-">applyBinaryRowOpRight(ValueFunction, double[], boolean, int[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">Dictionary</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/QDictionary.html#applyBinaryRowOpRight-org.apache.sysds.runtime.functionobjects.ValueFunction-double:A-boolean-int:A-">applyBinaryRowOpRight(ValueFunction, double[], boolean, int[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/QDictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">QDictionary</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#applyColumnOffset--">applyColumnOffset()</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ADictionary.html#applyScalarOp-org.apache.sysds.runtime.matrix.operators.ScalarOperator-double-int-">applyScalarOp(ScalarOperator, double, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></dt>
 <dd>
@@ -1100,10 +1230,20 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/QDictionary.html#applyScalarOp-org.apache.sysds.runtime.matrix.operators.ScalarOperator-double-int-">applyScalarOp(ScalarOperator, double, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/QDictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">QDictionary</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#applyToAll-java.lang.Class-java.util.function.Consumer-">applyToAll(Class&lt;T&gt;, Consumer&lt;? super T&gt;)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#applyToAll-java.util.function.Consumer-">applyToAll(Consumer&lt;? super ColumnEncoderComposite&gt;)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/DMVUtils.html#ARBITRARY_LEN">ARBITRARY_LEN</a></span> - Static variable in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/DMVUtils.html" title="class in org.apache.sysds.runtime.util">DMVUtils</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/api/DMLOptions.html#argVals">argVals</a></span> - Variable in class org.apache.sysds.api.<a href="org/apache/sysds/api/DMLOptions.html" title="class in org.apache.sysds.api">DMLOptions</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/instructions/gpu/ArithmeticBinaryGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu"><span class="typeNameLink">ArithmeticBinaryGPUInstruction</span></a> - Class in <a href="org/apache/sysds/runtime/instructions/gpu/package-summary.html">org.apache.sysds.runtime.instructions.gpu</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/compress/colgroup/pre/ArrPreAggregate.html" title="class in org.apache.sysds.runtime.compress.colgroup.pre"><span class="typeNameLink">ArrPreAggregate</span></a> - Class in <a href="org/apache/sysds/runtime/compress/colgroup/pre/package-summary.html">org.apache.sysds.runtime.compress.colgroup.pre</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/pre/ArrPreAggregate.html#ArrPreAggregate-int:A-">ArrPreAggregate(int[])</a></span> - Constructor for class org.apache.sysds.runtime.compress.colgroup.pre.<a href="org/apache/sysds/runtime/compress/colgroup/pre/ArrPreAggregate.html" title="class in org.apache.sysds.runtime.compress.colgroup.pre">ArrPreAggregate</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/CollectionUtils.html#asArrayList-T...-">asArrayList(T...)</a></span> - Static method in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/CollectionUtils.html" title="class in org.apache.sysds.runtime.util">CollectionUtils</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/LibMatrixCUDA.html#asin-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.runtime.instructions.gpu.context.GPUContext-java.lang.String-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-java.lang.String-">asin(ExecutionContext, GPUContext, String, MatrixObject, String)</a></span> - Static method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/LibMatrixCUDA.html" title="class in org.apache.sysds.runtime.matrix.data">LibMatrixCUDA</a></dt>
@@ -1128,10 +1268,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/CollectionUtils.html#asSet-java.util.List...-">asSet(List&lt;T&gt;...)</a></span> - Static method in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/CollectionUtils.html" title="class in org.apache.sysds.runtime.util">CollectionUtils</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupFactory.html#assignColumns-int-org.apache.sysds.runtime.compress.colgroup.ColGroup:A-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.compress.CompressionSettings-">assignColumns(int, ColGroup[], MatrixBlock, CompressionSettings)</a></span> - Static method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupFactory.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupFactory</a></dt>
-<dd>
-<div class="block">Method for producing the final ColGroupList stored inside the CompressedMatrixBlock.</div>
-</dd>
 <dt><a href="org/apache/sysds/parser/AssignmentStatement.html" title="class in org.apache.sysds.parser"><span class="typeNameLink">AssignmentStatement</span></a> - Class in <a href="org/apache/sysds/parser/package-summary.html">org.apache.sysds.parser</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/AssignmentStatement.html#AssignmentStatement-org.apache.sysds.parser.DataIdentifier-org.apache.sysds.parser.Expression-">AssignmentStatement(DataIdentifier, Expression)</a></span> - Constructor for class org.apache.sysds.parser.<a href="org/apache/sysds/parser/AssignmentStatement.html" title="class in org.apache.sysds.parser">AssignmentStatement</a></dt>
@@ -1172,6 +1308,16 @@
 </a>
 <h2 class="title">B</h2>
 <dl>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.BalanceMetrics.html#BalanceMetrics-long-long-long-">BalanceMetrics(long, long, long)</a></span> - Constructor for class org.apache.sysds.runtime.controlprogram.paramserv.dp.<a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.BalanceMetrics.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionFederatedScheme.BalanceMetrics</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/BalanceToAvgFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">BalanceToAvgFederatedScheme</span></a> - Class in <a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/package-summary.html">org.apache.sysds.runtime.controlprogram.paramserv.dp</a></dt>
+<dd>
+<div class="block">Balance to Avg Federated scheme
+
+ When the parameter server runs in federated mode it cannot pull in the data which is already on the workers.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/BalanceToAvgFederatedScheme.html#BalanceToAvgFederatedScheme--">BalanceToAvgFederatedScheme()</a></span> - Constructor for class org.apache.sysds.runtime.controlprogram.paramserv.dp.<a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/BalanceToAvgFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">BalanceToAvgFederatedScheme</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#baseSizeInMemory--">baseSizeInMemory()</a></span> - Static method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/api/mlcontext/MLContextUtil.html#BASIC_DATA_TYPES">BASIC_DATA_TYPES</a></span> - Static variable in class org.apache.sysds.api.mlcontext.<a href="org/apache/sysds/api/mlcontext/MLContextUtil.html" title="class in org.apache.sysds.api.mlcontext">MLContextUtil</a></dt>
@@ -1256,6 +1402,14 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitionerBinPacking.html#BIN_CAPACITY">BIN_CAPACITY</a></span> - Static variable in class org.apache.sysds.runtime.compress.cocode.<a href="org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitionerBinPacking.html" title="class in org.apache.sysds.runtime.compress.cocode">ColumnGroupPartitionerBinPacking</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/hops/codegen/cplan/cuda/Binary.html" title="class in org.apache.sysds.hops.codegen.cplan.cuda"><span class="typeNameLink">Binary</span></a> - Class in <a href="org/apache/sysds/hops/codegen/cplan/cuda/package-summary.html">org.apache.sysds.hops.codegen.cplan.cuda</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/cplan/cuda/Binary.html#Binary--">Binary()</a></span> - Constructor for class org.apache.sysds.hops.codegen.cplan.cuda.<a href="org/apache/sysds/hops/codegen/cplan/cuda/Binary.html" title="class in org.apache.sysds.hops.codegen.cplan.cuda">Binary</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/hops/codegen/cplan/java/Binary.html" title="class in org.apache.sysds.hops.codegen.cplan.java"><span class="typeNameLink">Binary</span></a> - Class in <a href="org/apache/sysds/hops/codegen/cplan/java/package-summary.html">org.apache.sysds.hops.codegen.cplan.java</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/cplan/java/Binary.html#Binary--">Binary()</a></span> - Constructor for class org.apache.sysds.hops.codegen.cplan.java.<a href="org/apache/sysds/hops/codegen/cplan/java/Binary.html" title="class in org.apache.sysds.hops.codegen.cplan.java">Binary</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/lops/Binary.html" title="class in org.apache.sysds.lops"><span class="typeNameLink">Binary</span></a> - Class in <a href="org/apache/sysds/lops/package-summary.html">org.apache.sysds.lops</a></dt>
 <dd>
 <div class="block">Lop to perform binary operation.</div>
@@ -1264,6 +1418,8 @@
 <dd>
 <div class="block">Constructor to perform a binary operation.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/lops/Binary.html#Binary-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.OpOp2-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-int-">Binary(Lop, Lop, Types.OpOp2, Types.DataType, Types.ValueType, LopProperties.ExecType, int)</a></span> - Constructor for class org.apache.sysds.lops.<a href="org/apache/sysds/lops/Binary.html" title="class in org.apache.sysds.lops">Binary</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/io/InputOutputInfo.html#BinaryBlockFrameInputOutputInfo">BinaryBlockFrameInputOutputInfo</a></span> - Static variable in class org.apache.sysds.runtime.io.<a href="org/apache/sysds/runtime/io/InputOutputInfo.html" title="class in org.apache.sysds.runtime.io">InputOutputInfo</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/util/BinaryBlockInputFormat.html" title="class in org.apache.sysds.runtime.util"><span class="typeNameLink">BinaryBlockInputFormat</span></a> - Class in <a href="org/apache/sysds/runtime/util/package-summary.html">org.apache.sysds.runtime.util</a></dt>
@@ -1360,6 +1516,8 @@
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/instructions/fed/BinaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">BinaryFEDInstruction</span></a> - Class in <a href="org/apache/sysds/runtime/instructions/fed/package-summary.html">org.apache.sysds.runtime.instructions.fed</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/fed/BinaryFEDInstruction.html#BinaryFEDInstruction-org.apache.sysds.runtime.instructions.fed.FEDInstruction.FEDType-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-java.lang.String-java.lang.String-">BinaryFEDInstruction(FEDInstruction.FEDType, Operator, CPOperand, CPOperand, CPOperand, CPOperand, String, String)</a></span> - Constructor for class org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/BinaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">BinaryFEDInstruction</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/operators/AggregateBinaryOperator.html#binaryFn">binaryFn</a></span> - Variable in class org.apache.sysds.runtime.matrix.operators.<a href="org/apache/sysds/runtime/matrix/operators/AggregateBinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateBinaryOperator</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/operators/AggregateTernaryOperator.html#binaryFn">binaryFn</a></span> - Variable in class org.apache.sysds.runtime.matrix.operators.<a href="org/apache/sysds/runtime/matrix/operators/AggregateTernaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateTernaryOperator</a></dt>
@@ -1400,6 +1558,8 @@
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/instructions/spark/BinaryMatrixScalarSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark"><span class="typeNameLink">BinaryMatrixScalarSPInstruction</span></a> - Class in <a href="org/apache/sysds/runtime/instructions/spark/package-summary.html">org.apache.sysds.runtime.instructions.spark</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/lib/CLALibBinaryCellOp.html#binaryMVRow-org.apache.sysds.runtime.compress.CompressedMatrixBlock-double:A-org.apache.sysds.runtime.compress.CompressedMatrixBlock-org.apache.sysds.runtime.matrix.operators.BinaryOperator-boolean-">binaryMVRow(CompressedMatrixBlock, double[], CompressedMatrixBlock, BinaryOperator, boolean)</a></span> - Static method in class org.apache.sysds.runtime.compress.lib.<a href="org/apache/sysds/runtime/compress/lib/CLALibBinaryCellOp.html" title="class in org.apache.sysds.runtime.compress.lib">CLALibBinaryCellOp</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/hops/BinaryOp.html" title="class in org.apache.sysds.hops"><span class="typeNameLink">BinaryOp</span></a> - Class in <a href="org/apache/sysds/hops/package-summary.html">org.apache.sysds.hops</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/BinaryOp.html#BinaryOp-java.lang.String-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.common.Types.OpOp2-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-">BinaryOp(String, Types.DataType, Types.ValueType, Types.OpOp2, Hop, Hop)</a></span> - Constructor for class org.apache.sysds.hops.<a href="org/apache/sysds/hops/BinaryOp.html" title="class in org.apache.sysds.hops">BinaryOp</a></dt>
@@ -1410,6 +1570,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#binaryOperations-org.apache.sysds.runtime.matrix.operators.BinaryOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-">binaryOperations(BinaryOperator, MatrixValue, MatrixValue)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/lib/CLALibBinaryCellOp.html#binaryOperations-org.apache.sysds.runtime.matrix.operators.BinaryOperator-org.apache.sysds.runtime.compress.CompressedMatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-">binaryOperations(BinaryOperator, CompressedMatrixBlock, MatrixValue, MatrixValue)</a></span> - Static method in class org.apache.sysds.runtime.compress.lib.<a href="org/apache/sysds/runtime/compress/lib/CLALibBinaryCellOp.html" title="class in org.apache.sysds.runtime.compress.lib">CLALibBinaryCellOp</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/data/TensorBlock.html#binaryOperations-org.apache.sysds.runtime.matrix.operators.BinaryOperator-org.apache.sysds.runtime.data.TensorBlock-org.apache.sysds.runtime.data.TensorBlock-">binaryOperations(BinaryOperator, TensorBlock, TensorBlock)</a></span> - Method in class org.apache.sysds.runtime.data.<a href="org/apache/sysds/runtime/data/TensorBlock.html" title="class in org.apache.sysds.runtime.data">TensorBlock</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/CM_N_COVCell.html#binaryOperations-org.apache.sysds.runtime.matrix.operators.BinaryOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-">binaryOperations(BinaryOperator, MatrixValue, MatrixValue)</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/CM_N_COVCell.html" title="class in org.apache.sysds.runtime.matrix.data">CM_N_COVCell</a></dt>
@@ -1426,7 +1588,7 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/MatrixValue.html#binaryOperations-org.apache.sysds.runtime.matrix.operators.BinaryOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-">binaryOperations(BinaryOperator, MatrixValue, MatrixValue)</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#binaryOperationsInPlace-org.apache.sysds.runtime.matrix.operators.BinaryOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-">binaryOperationsInPlace(BinaryOperator, MatrixValue)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">AbstractCompressedMatrixBlock</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#binaryOperationsInPlace-org.apache.sysds.runtime.matrix.operators.BinaryOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-">binaryOperationsInPlace(BinaryOperator, MatrixValue)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/CM_N_COVCell.html#binaryOperationsInPlace-org.apache.sysds.runtime.matrix.operators.BinaryOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-">binaryOperationsInPlace(BinaryOperator, MatrixValue)</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/CM_N_COVCell.html" title="class in org.apache.sysds.runtime.matrix.data">CM_N_COVCell</a></dt>
 <dd>&nbsp;</dd>
@@ -1436,25 +1598,37 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/MatrixValue.html#binaryOperationsInPlace-org.apache.sysds.runtime.matrix.operators.BinaryOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-">binaryOperationsInPlace(BinaryOperator, MatrixValue)</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#binaryOperationsLeft-org.apache.sysds.runtime.matrix.operators.BinaryOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-">binaryOperationsLeft(BinaryOperator, MatrixValue, MatrixValue)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/lib/CLALibBinaryCellOp.html#binaryOperationsLeft-org.apache.sysds.runtime.matrix.operators.BinaryOperator-org.apache.sysds.runtime.compress.CompressedMatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-">binaryOperationsLeft(BinaryOperator, CompressedMatrixBlock, MatrixValue, MatrixValue)</a></span> - Static method in class org.apache.sysds.runtime.compress.lib.<a href="org/apache/sysds/runtime/compress/lib/CLALibBinaryCellOp.html" title="class in org.apache.sysds.runtime.compress.lib">CLALibBinaryCellOp</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators"><span class="typeNameLink">BinaryOperator</span></a> - Class in <a href="org/apache/sysds/runtime/matrix/operators/package-summary.html">org.apache.sysds.runtime.matrix.operators</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/operators/BinaryOperator.html#BinaryOperator-org.apache.sysds.runtime.functionobjects.ValueFunction-">BinaryOperator(ValueFunction)</a></span> - Constructor for class org.apache.sysds.runtime.matrix.operators.<a href="org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-">binaryRowOp(BinaryOperator, double[], boolean)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-boolean-">binaryRowOp(BinaryOperator, double[], boolean, boolean)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></dt>
 <dd>
 <div class="block">Perform a binary row operation.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-">binaryRowOp(BinaryOperator, double[], boolean)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupConst</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-boolean-">binaryRowOp(BinaryOperator, double[], boolean, boolean)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupConst</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-">binaryRowOp(BinaryOperator, double[], boolean)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC1</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-boolean-">binaryRowOp(BinaryOperator, double[], boolean, boolean)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-">binaryRowOp(BinaryOperator, double[], boolean)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC2</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-boolean-">binaryRowOp(BinaryOperator, double[], boolean, boolean)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupEmpty</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-">binaryRowOp(BinaryOperator, double[], boolean)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOLE</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-boolean-">binaryRowOp(BinaryOperator, double[], boolean, boolean)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOLE</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-">binaryRowOp(BinaryOperator, double[], boolean)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupRLE</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-boolean-">binaryRowOp(BinaryOperator, double[], boolean, boolean)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupRLE</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-">binaryRowOp(BinaryOperator, double[], boolean)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupUncompressed</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-boolean-">binaryRowOp(BinaryOperator, double[], boolean, boolean)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDC</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-boolean-">binaryRowOp(BinaryOperator, double[], boolean, boolean)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingle</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-boolean-">binaryRowOp(BinaryOperator, double[], boolean, boolean)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingleZeros</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-boolean-">binaryRowOp(BinaryOperator, double[], boolean, boolean)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCZeros</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-boolean-">binaryRowOp(BinaryOperator, double[], boolean, boolean)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupUncompressed</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/lops/BinaryScalar.html" title="class in org.apache.sysds.lops"><span class="typeNameLink">BinaryScalar</span></a> - Class in <a href="org/apache/sysds/lops/package-summary.html">org.apache.sysds.lops</a></dt>
 <dd>
@@ -1480,10 +1654,6 @@
 <dd>
 <div class="block">Constructor to setup a map mult chain without weights</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/lib/LibBinaryCellOp.html#bincellOp-org.apache.sysds.runtime.compress.CompressedMatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.compress.CompressedMatrixBlock-org.apache.sysds.runtime.matrix.operators.BinaryOperator-">bincellOp(CompressedMatrixBlock, MatrixBlock, CompressedMatrixBlock, BinaryOperator)</a></span> - Static method in class org.apache.sysds.runtime.compress.lib.<a href="org/apache/sysds/runtime/compress/lib/LibBinaryCellOp.html" title="class in org.apache.sysds.runtime.compress.lib">LibBinaryCellOp</a></dt>
-<dd>
-<div class="block">matrix-matrix binary operations, MM, MV</div>
-</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/data/LibTensorBincell.html#bincellOp-org.apache.sysds.runtime.data.TensorBlock-org.apache.sysds.runtime.data.TensorBlock-org.apache.sysds.runtime.data.TensorBlock-org.apache.sysds.runtime.matrix.operators.BinaryOperator-">bincellOp(TensorBlock, TensorBlock, TensorBlock, BinaryOperator)</a></span> - Static method in class org.apache.sysds.runtime.data.<a href="org/apache/sysds/runtime/data/LibTensorBincell.html" title="class in org.apache.sysds.runtime.data">LibTensorBincell</a></dt>
 <dd>
 <div class="block">tensor-tensor binary operations</div>
@@ -1492,10 +1662,14 @@
 <dd>
 <div class="block">matrix-scalar, scalar-matrix binary operations.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/LibMatrixBincell.html#bincellOp-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.ScalarOperator-int-">bincellOp(MatrixBlock, MatrixBlock, ScalarOperator, int)</a></span> - Static method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/LibMatrixBincell.html" title="class in org.apache.sysds.runtime.matrix.data">LibMatrixBincell</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/LibMatrixBincell.html#bincellOp-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.BinaryOperator-">bincellOp(MatrixBlock, MatrixBlock, MatrixBlock, BinaryOperator)</a></span> - Static method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/LibMatrixBincell.html" title="class in org.apache.sysds.runtime.matrix.data">LibMatrixBincell</a></dt>
 <dd>
 <div class="block">matrix-matrix binary operations, MM, MV</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/LibMatrixBincell.html#bincellOp-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.BinaryOperator-int-">bincellOp(MatrixBlock, MatrixBlock, MatrixBlock, BinaryOperator, int)</a></span> - Static method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/LibMatrixBincell.html" title="class in org.apache.sysds.runtime.matrix.data">LibMatrixBincell</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/LibMatrixBincell.html#bincellOpInPlace-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.BinaryOperator-">bincellOpInPlace(MatrixBlock, MatrixBlock, BinaryOperator)</a></span> - Static method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/LibMatrixBincell.html" title="class in org.apache.sysds.runtime.matrix.data">LibMatrixBincell</a></dt>
 <dd>
 <div class="block">NOTE: operations in place always require m1 and m2 to be of equal dimensions</div>
@@ -1518,11 +1692,11 @@
 <dd>
 <div class="block">Size of the blocks used in a blocked bitmap representation.</div>
 </dd>
-<dt><a href="org/apache/sysds/runtime/compress/BitmapEncoder.html" title="class in org.apache.sysds.runtime.compress"><span class="typeNameLink">BitmapEncoder</span></a> - Class in <a href="org/apache/sysds/runtime/compress/package-summary.html">org.apache.sysds.runtime.compress</a></dt>
+<dt><a href="org/apache/sysds/runtime/compress/lib/BitmapEncoder.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">BitmapEncoder</span></a> - Class in <a href="org/apache/sysds/runtime/compress/lib/package-summary.html">org.apache.sysds.runtime.compress.lib</a></dt>
 <dd>
 <div class="block">Static functions for encoding bitmaps in various ways.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/BitmapEncoder.html#BitmapEncoder--">BitmapEncoder()</a></span> - Constructor for class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/BitmapEncoder.html" title="class in org.apache.sysds.runtime.compress">BitmapEncoder</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/lib/BitmapEncoder.html#BitmapEncoder--">BitmapEncoder()</a></span> - Constructor for class org.apache.sysds.runtime.compress.lib.<a href="org/apache/sysds/runtime/compress/lib/BitmapEncoder.html" title="class in org.apache.sysds.runtime.compress.lib">BitmapEncoder</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/compress/utils/BitmapLossy.html" title="class in org.apache.sysds.runtime.compress.utils"><span class="typeNameLink">BitmapLossy</span></a> - Class in <a href="org/apache/sysds/runtime/compress/utils/package-summary.html">org.apache.sysds.runtime.compress.utils</a></dt>
 <dd>
@@ -1530,6 +1704,16 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/utils/BitmapLossy.html#BitmapLossy-int-org.apache.sysds.runtime.compress.utils.IntArrayList:A-int-byte:A-double-">BitmapLossy(int, IntArrayList[], int, byte[], double)</a></span> - Constructor for class org.apache.sysds.runtime.compress.utils.<a href="org/apache/sysds/runtime/compress/utils/BitmapLossy.html" title="class in org.apache.sysds.runtime.compress.utils">BitmapLossy</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/compress/lib/BitmapLossyEncoder.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">BitmapLossyEncoder</span></a> - Class in <a href="org/apache/sysds/runtime/compress/lib/package-summary.html">org.apache.sysds.runtime.compress.lib</a></dt>
+<dd>
+<div class="block">Static functions for encoding bitmaps in various ways.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/lib/BitmapLossyEncoder.html#BitmapLossyEncoder--">BitmapLossyEncoder()</a></span> - Constructor for class org.apache.sysds.runtime.compress.lib.<a href="org/apache/sysds/runtime/compress/lib/BitmapLossyEncoder.html" title="class in org.apache.sysds.runtime.compress.lib">BitmapLossyEncoder</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/utils/MemoryEstimates.html#bitSetCost-int-">bitSetCost(int)</a></span> - Static method in class org.apache.sysds.utils.<a href="org/apache/sysds/utils/MemoryEstimates.html" title="class in org.apache.sysds.utils">MemoryEstimates</a></dt>
+<dd>
+<div class="block">Get the worst case memory usage of an java.util.BitSet java object.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/estim/EstimatorBitsetMM.BitsetMatrix.html#BitsetMatrix-int-int-">BitsetMatrix(int, int)</a></span> - Constructor for class org.apache.sysds.hops.estim.<a href="org/apache/sysds/hops/estim/EstimatorBitsetMM.BitsetMatrix.html" title="class in org.apache.sysds.hops.estim">EstimatorBitsetMM.BitsetMatrix</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/estim/EstimatorBitsetMM.BitsetMatrix1.html#BitsetMatrix1-int-int-">BitsetMatrix1(int, int)</a></span> - Constructor for class org.apache.sysds.hops.estim.<a href="org/apache/sysds/hops/estim/EstimatorBitsetMM.BitsetMatrix1.html" title="class in org.apache.sysds.hops.estim">EstimatorBitsetMM.BitsetMatrix1</a></dt>
@@ -1635,32 +1819,40 @@
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/spark/data/BroadcastObject.html#BroadcastObject--">BroadcastObject()</a></span> - Constructor for class org.apache.sysds.runtime.instructions.spark.data.<a href="org/apache/sysds/runtime/instructions/spark/data/BroadcastObject.html" title="class in org.apache.sysds.runtime.instructions.spark.data">BroadcastObject</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/federated/FederationMap.html#broadcastSliced-org.apache.sysds.runtime.controlprogram.caching.CacheableData-boolean-">broadcastSliced(CacheableData&lt;?&gt;, boolean)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.federated.<a href="org/apache/sysds/runtime/controlprogram/federated/FederationMap.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationMap</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block">Creates separate slices of an input data object according to the index ranges of federated data.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/context/SparkExecutionContext.html#broadcastVariable-org.apache.sysds.runtime.controlprogram.caching.CacheableData-">broadcastVariable(CacheableData&lt;CacheBlock&gt;)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.context.<a href="org/apache/sysds/runtime/controlprogram/context/SparkExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">SparkExecutionContext</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/FrameBlock.html#BUFFER_SIZE">BUFFER_SIZE</a></span> - Static variable in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/LocalFileUtils.html#BUFFER_SIZE">BUFFER_SIZE</a></span> - Static variable in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/LocalFileUtils.html" title="class in org.apache.sysds.runtime.util">LocalFileUtils</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/Encoder.html#build-org.apache.sysds.runtime.matrix.data.FrameBlock-">build(FrameBlock)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderBin.html#build-org.apache.sysds.runtime.matrix.data.FrameBlock-">build(FrameBlock)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderBin.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderBin</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html#build-org.apache.sysds.runtime.matrix.data.FrameBlock-">build(FrameBlock)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderComposite</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderDummycode.html#build-org.apache.sysds.runtime.matrix.data.FrameBlock-">build(FrameBlock)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderDummycode.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderDummycode</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderFeatureHash.html#build-org.apache.sysds.runtime.matrix.data.FrameBlock-">build(FrameBlock)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderFeatureHash.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderFeatureHash</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderPassThrough.html#build-org.apache.sysds.runtime.matrix.data.FrameBlock-">build(FrameBlock)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderPassThrough.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderPassThrough</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderRecode.html#build-org.apache.sysds.runtime.matrix.data.FrameBlock-">build(FrameBlock)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderRecode.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderRecode</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/Encoder.html#build-org.apache.sysds.runtime.matrix.data.FrameBlock-">build(FrameBlock)</a></span> - Method in interface org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/Encoder.html" title="interface in org.apache.sysds.runtime.transform.encode">Encoder</a></dt>
 <dd>
 <div class="block">Build the transform meta data for the given block input.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderBin.html#build-org.apache.sysds.runtime.matrix.data.FrameBlock-">build(FrameBlock)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderBin.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderBin</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderComposite.html#build-org.apache.sysds.runtime.matrix.data.FrameBlock-">build(FrameBlock)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderComposite</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderDummycode.html#build-org.apache.sysds.runtime.matrix.data.FrameBlock-">build(FrameBlock)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderDummycode.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderDummycode</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderFeatureHash.html#build-org.apache.sysds.runtime.matrix.data.FrameBlock-">build(FrameBlock)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderFeatureHash.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderFeatureHash</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html#build-org.apache.sysds.runtime.matrix.data.FrameBlock-">build(FrameBlock)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderMVImpute</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderOmit.html#build-org.apache.sysds.runtime.matrix.data.FrameBlock-">build(FrameBlock)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderOmit.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderOmit</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderPassThrough.html#build-org.apache.sysds.runtime.matrix.data.FrameBlock-">build(FrameBlock)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderPassThrough.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderPassThrough</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderRecode.html#build-org.apache.sysds.runtime.matrix.data.FrameBlock-">build(FrameBlock)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderRecode.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderRecode</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#build-org.apache.sysds.runtime.matrix.data.FrameBlock-">build(FrameBlock)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/LegacyEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">LegacyEncoder</a></dt>
+<dd>
+<div class="block">Build the transform meta data for the given block input.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#build-org.apache.sysds.runtime.matrix.data.FrameBlock-">build(FrameBlock)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/api/mlcontext/MLContextUtil.html#BUILD_TIME_NOT_AVAILABLE">BUILD_TIME_NOT_AVAILABLE</a></span> - Static variable in class org.apache.sysds.api.mlcontext.<a href="org/apache/sysds/api/mlcontext/MLContextUtil.html" title="class in org.apache.sysds.api.mlcontext">MLContextUtil</a></dt>
 <dd>
@@ -1668,7 +1860,25 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/estim/EstimatorLayeredGraph.LayeredGraph.html#buildNext-org.apache.sysds.runtime.matrix.data.MatrixBlock-">buildNext(MatrixBlock)</a></span> - Method in class org.apache.sysds.hops.estim.<a href="org/apache/sysds/hops/estim/EstimatorLayeredGraph.LayeredGraph.html" title="class in org.apache.sysds.hops.estim">EstimatorLayeredGraph.LayeredGraph</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderRecode.html#buildPartial-org.apache.sysds.runtime.matrix.data.FrameBlock-">buildPartial(FrameBlock)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderRecode.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderRecode</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#buildPartial-org.apache.sysds.runtime.matrix.data.FrameBlock-">buildPartial(FrameBlock)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a></dt>
+<dd>
+<div class="block">Partial build of internal data structures (e.g., in distributed spark operations).</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderBin.html#buildPartial-org.apache.sysds.runtime.matrix.data.FrameBlock-">buildPartial(FrameBlock)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderBin.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderBin</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html#buildPartial-org.apache.sysds.runtime.matrix.data.FrameBlock-">buildPartial(FrameBlock)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderComposite</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderRecode.html#buildPartial-org.apache.sysds.runtime.matrix.data.FrameBlock-">buildPartial(FrameBlock)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderRecode.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderRecode</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/Encoder.html#buildPartial-org.apache.sysds.runtime.matrix.data.FrameBlock-">buildPartial(FrameBlock)</a></span> - Method in interface org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/Encoder.html" title="interface in org.apache.sysds.runtime.transform.encode">Encoder</a></dt>
+<dd>
+<div class="block">Partial build of internal data structures (e.g., in distributed spark operations).</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#buildPartial-org.apache.sysds.runtime.matrix.data.FrameBlock-">buildPartial(FrameBlock)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/LegacyEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">LegacyEncoder</a></dt>
+<dd>
+<div class="block">Partial build of internal data structures (e.g., in distributed spark operations).</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#buildPartial-org.apache.sysds.runtime.matrix.data.FrameBlock-">buildPartial(FrameBlock)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/api/mlcontext/MLContext.html#buildTime--">buildTime()</a></span> - Method in class org.apache.sysds.api.mlcontext.<a href="org/apache/sysds/api/mlcontext/MLContext.html" title="class in org.apache.sysds.api.mlcontext">MLContext</a></dt>
 <dd>
@@ -1684,6 +1894,8 @@
 </dd>
 <dt><a href="org/apache/sysds/runtime/functionobjects/Builtin.BuiltinCode.html" title="enum in org.apache.sysds.runtime.functionobjects"><span class="typeNameLink">Builtin.BuiltinCode</span></a> - Enum in <a href="org/apache/sysds/runtime/functionobjects/package-summary.html">org.apache.sysds.runtime.functionobjects</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/parser/DMLProgram.html#BUILTIN_NAMESPACE">BUILTIN_NAMESPACE</a></span> - Static variable in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/DMLProgram.html" title="class in org.apache.sysds.parser">DMLProgram</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/instructions/gpu/BuiltinBinaryGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu"><span class="typeNameLink">BuiltinBinaryGPUInstruction</span></a> - Class in <a href="org/apache/sysds/runtime/instructions/gpu/package-summary.html">org.apache.sysds.runtime.instructions.gpu</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/parser/BuiltinConstant.html" title="enum in org.apache.sysds.parser"><span class="typeNameLink">BuiltinConstant</span></a> - Enum in <a href="org/apache/sysds/parser/package-summary.html">org.apache.sysds.parser</a></dt>
@@ -1719,7 +1931,9 @@
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#bwAnd-double-double-">bwAnd(double, double)</a></span> - Static method in class org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html" title="class in org.apache.sysds.runtime.codegen">LibSpoofPrimitives</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/utils/MemoryEstimates.html#byteArrayCost-int-">byteArrayCost(int)</a></span> - Static method in class org.apache.sysds.utils.<a href="org/apache/sysds/utils/MemoryEstimates.html" title="class in org.apache.sysds.utils">MemoryEstimates</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block">Get the worst case memory usage of an array of bytes.</div>
+</dd>
 <dt><a href="org/apache/sysds/runtime/controlprogram/caching/ByteBuffer.html" title="class in org.apache.sysds.runtime.controlprogram.caching"><span class="typeNameLink">ByteBuffer</span></a> - Class in <a href="org/apache/sysds/runtime/controlprogram/caching/package-summary.html">org.apache.sysds.runtime.controlprogram.caching</a></dt>
 <dd>
 <div class="block">Wrapper for WriteBuffer byte array per matrix/frame in order to
@@ -1799,6 +2013,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#CACHING_ASYNC_FILECLEANUP">CACHING_ASYNC_FILECLEANUP</a></span> - Static variable in class org.apache.sysds.runtime.controlprogram.caching.<a href="org/apache/sysds/runtime/controlprogram/caching/CacheableData.html" title="class in org.apache.sysds.runtime.controlprogram.caching">CacheableData</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#CACHING_ASYNC_SERIALIZE">CACHING_ASYNC_SERIALIZE</a></span> - Static variable in class org.apache.sysds.runtime.controlprogram.caching.<a href="org/apache/sysds/runtime/controlprogram/caching/CacheableData.html" title="class in org.apache.sysds.runtime.controlprogram.caching">CacheableData</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#CACHING_BUFFER_PAGECACHE">CACHING_BUFFER_PAGECACHE</a></span> - Static variable in class org.apache.sysds.runtime.controlprogram.caching.<a href="org/apache/sysds/runtime/controlprogram/caching/CacheableData.html" title="class in org.apache.sysds.runtime.controlprogram.caching">CacheableData</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#CACHING_BUFFER_POLICY">CACHING_BUFFER_POLICY</a></span> - Static variable in class org.apache.sysds.runtime.controlprogram.caching.<a href="org/apache/sysds/runtime/controlprogram/caching/CacheableData.html" title="class in org.apache.sysds.runtime.controlprogram.caching">CacheableData</a></dt>
@@ -1815,6 +2031,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/IndexedIdentifier.html#calculateIndexedDimensions-java.util.HashMap-java.util.HashMap-boolean-">calculateIndexedDimensions(HashMap&lt;String, DataIdentifier&gt;, HashMap&lt;String, ConstIdentifier&gt;, boolean)</a></span> - Method in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/IndexedIdentifier.html" title="class in org.apache.sysds.parser">IndexedIdentifier</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/DMVUtils.html#calculatePatternsRatio-java.util.Map-int-">calculatePatternsRatio(Map&lt;String, Integer&gt;, int)</a></span> - Static method in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/DMVUtils.html" title="class in org.apache.sysds.runtime.util">DMVUtils</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionerSparkAggregator.html#call-scala.Tuple2-">call(Tuple2&lt;Integer, LinkedList&lt;Tuple2&lt;Long, Tuple2&lt;MatrixBlock, MatrixBlock&gt;&gt;&gt;&gt;)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.paramserv.dp.<a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionerSparkAggregator.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionerSparkAggregator</a></dt>
 <dd>
 <div class="block">Row-wise combine the matrix</div>
@@ -1823,6 +2041,10 @@
 <dd>
 <div class="block">Do data partitioning</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/paramserv/FederatedPSControlThread.html#call--">call()</a></span> - Method in class org.apache.sysds.runtime.controlprogram.paramserv.<a href="org/apache/sysds/runtime/controlprogram/paramserv/FederatedPSControlThread.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv">FederatedPSControlThread</a></dt>
+<dd>
+<div class="block">Entry point of the functionality</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/paramserv/LocalPSWorker.html#call--">call()</a></span> - Method in class org.apache.sysds.runtime.controlprogram.paramserv.<a href="org/apache/sysds/runtime/controlprogram/paramserv/LocalPSWorker.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv">LocalPSWorker</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/paramserv/SparkPSWorker.html#call-scala.Tuple2-">call(Tuple2&lt;Integer, Tuple2&lt;MatrixBlock, MatrixBlock&gt;&gt;)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.paramserv.<a href="org/apache/sysds/runtime/controlprogram/paramserv/SparkPSWorker.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv">SparkPSWorker</a></dt>
@@ -1859,6 +2081,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/spark/CtableSPInstruction.MapJoinSignature3.html#call-scala.Tuple2-">call(Tuple2&lt;Tuple2&lt;MatrixBlock, MatrixBlock&gt;, MatrixBlock&gt;)</a></span> - Method in class org.apache.sysds.runtime.instructions.spark.<a href="org/apache/sysds/runtime/instructions/spark/CtableSPInstruction.MapJoinSignature3.html" title="class in org.apache.sysds.runtime.instructions.spark">CtableSPInstruction.MapJoinSignature3</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/spark/DeCompressionSPInstruction.DeCompressionFunction.html#call-org.apache.sysds.runtime.matrix.data.MatrixBlock-">call(MatrixBlock)</a></span> - Method in class org.apache.sysds.runtime.instructions.spark.<a href="org/apache/sysds/runtime/instructions/spark/DeCompressionSPInstruction.DeCompressionFunction.html" title="class in org.apache.sysds.runtime.instructions.spark">DeCompressionSPInstruction.DeCompressionFunction</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/spark/functions/AggregateDropCorrectionFunction.html#call-org.apache.sysds.runtime.matrix.data.MatrixBlock-">call(MatrixBlock)</a></span> - Method in class org.apache.sysds.runtime.instructions.spark.functions.<a href="org/apache/sysds/runtime/instructions/spark/functions/AggregateDropCorrectionFunction.html" title="class in org.apache.sysds.runtime.instructions.spark.functions">AggregateDropCorrectionFunction</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/spark/functions/ComputeBinaryBlockNnzFunction.html#call-org.apache.sysds.runtime.matrix.data.MatrixBlock-">call(MatrixBlock)</a></span> - Method in class org.apache.sysds.runtime.instructions.spark.functions.<a href="org/apache/sysds/runtime/instructions/spark/functions/ComputeBinaryBlockNnzFunction.html" title="class in org.apache.sysds.runtime.instructions.spark.functions">ComputeBinaryBlockNnzFunction</a></dt>
@@ -1963,6 +2187,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDRExpandFunction.html#call-scala.Tuple2-">call(Tuple2&lt;MatrixIndexes, MatrixBlock&gt;)</a></span> - Method in class org.apache.sysds.runtime.instructions.spark.<a href="org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDRExpandFunction.html" title="class in org.apache.sysds.runtime.instructions.spark">ParameterizedBuiltinSPInstruction.RDDRExpandFunction</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDTokenizeFunction.html#call-scala.Tuple2-">call(Tuple2&lt;Long, FrameBlock&gt;)</a></span> - Method in class org.apache.sysds.runtime.instructions.spark.<a href="org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDTokenizeFunction.html" title="class in org.apache.sysds.runtime.instructions.spark">ParameterizedBuiltinSPInstruction.RDDTokenizeFunction</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDTransformApplyFunction.html#call-scala.Tuple2-">call(Tuple2&lt;Long, FrameBlock&gt;)</a></span> - Method in class org.apache.sysds.runtime.instructions.spark.<a href="org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDTransformApplyFunction.html" title="class in org.apache.sysds.runtime.instructions.spark">ParameterizedBuiltinSPInstruction.RDDTransformApplyFunction</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDTransformApplyOffsetFunction.html#call-scala.Tuple2-">call(Tuple2&lt;Long, FrameBlock&gt;)</a></span> - Method in class org.apache.sysds.runtime.instructions.spark.<a href="org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDTransformApplyOffsetFunction.html" title="class in org.apache.sysds.runtime.instructions.spark">ParameterizedBuiltinSPInstruction.RDDTransformApplyOffsetFunction</a></dt>
@@ -2001,6 +2227,10 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/federated/FederationUtils.html#callInstruction-java.lang.String-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand:A-long:A-">callInstruction(String, CPOperand, CPOperand[], long[])</a></span> - Static method in class org.apache.sysds.runtime.controlprogram.federated.<a href="org/apache/sysds/runtime/controlprogram/federated/FederationUtils.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationUtils</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/federated/FederationUtils.html#callInstruction-java.lang.String:A-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand:A-long:A-">callInstruction(String[], CPOperand, CPOperand[], long[])</a></span> - Static method in class org.apache.sysds.runtime.controlprogram.federated.<a href="org/apache/sysds/runtime/controlprogram/federated/FederationUtils.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationUtils</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/federated/FederationUtils.html#callInstruction-java.lang.String-org.apache.sysds.runtime.instructions.cp.CPOperand-long-org.apache.sysds.runtime.instructions.cp.CPOperand:A-long:A-">callInstruction(String, CPOperand, long, CPOperand[], long[])</a></span> - Static method in class org.apache.sysds.runtime.controlprogram.federated.<a href="org/apache/sysds/runtime/controlprogram/federated/FederationUtils.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationUtils</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/gpu/context/CudaMemoryAllocator.html#canAllocate-long-">canAllocate(long)</a></span> - Method in class org.apache.sysds.runtime.instructions.gpu.context.<a href="org/apache/sysds/runtime/instructions/gpu/context/CudaMemoryAllocator.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">CudaMemoryAllocator</a></dt>
 <dd>
 <div class="block">Check if there is enough memory to allocate a pointer of given size</div>
@@ -2047,8 +2277,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/CollectionUtils.html#cardinality-T-java.util.List-">cardinality(T, List&lt;T&gt;)</a></span> - Static method in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/CollectionUtils.html" title="class in org.apache.sysds.runtime.util">CollectionUtils</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html#cardRatio">cardRatio</a></span> - Variable in class org.apache.sysds.runtime.compress.cocode.<a href="org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCoder.GroupableColInfo</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/lops/UnaryCP.html#CAST_AS_BOOLEAN_OPCODE">CAST_AS_BOOLEAN_OPCODE</a></span> - Static variable in class org.apache.sysds.lops.<a href="org/apache/sysds/lops/UnaryCP.html" title="class in org.apache.sysds.lops">UnaryCP</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/lops/UnaryCP.html#CAST_AS_DOUBLE_OPCODE">CAST_AS_DOUBLE_OPCODE</a></span> - Static variable in class org.apache.sysds.lops.<a href="org/apache/sysds/lops/UnaryCP.html" title="class in org.apache.sysds.lops">UnaryCP</a></dt>
@@ -2085,6 +2313,10 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/paramserv/ParamservUtils.html#cbindMatrix-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">cbindMatrix(MatrixBlock, MatrixBlock)</a></span> - Static method in class org.apache.sysds.runtime.controlprogram.paramserv.<a href="org/apache/sysds/runtime/controlprogram/paramserv/ParamservUtils.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv">ParamservUtils</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/privacy/propagation/CBindPropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation"><span class="typeNameLink">CBindPropagator</span></a> - Class in <a href="org/apache/sysds/runtime/privacy/propagation/package-summary.html">org.apache.sysds.runtime.privacy.propagation</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/privacy/propagation/CBindPropagator.html#CBindPropagator-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.privacy.PrivacyConstraint-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.privacy.PrivacyConstraint-">CBindPropagator(MatrixBlock, PrivacyConstraint, MatrixBlock, PrivacyConstraint)</a></span> - Constructor for class org.apache.sysds.runtime.privacy.propagation.<a href="org/apache/sysds/runtime/privacy/propagation/CBindPropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation">CBindPropagator</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/ProgramConverter.html#CDATA_BEGIN">CDATA_BEGIN</a></span> - Static variable in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/ProgramConverter.html" title="class in org.apache.sysds.runtime.util">ProgramConverter</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/ProgramConverter.html#CDATA_END">CDATA_END</a></span> - Static variable in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/ProgramConverter.html" title="class in org.apache.sysds.runtime.util">ProgramConverter</a></dt>
@@ -2118,6 +2350,8 @@
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/instructions/cp/CentralMomentCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp"><span class="typeNameLink">CentralMomentCPInstruction</span></a> - Class in <a href="org/apache/sysds/runtime/instructions/cp/package-summary.html">org.apache.sysds.runtime.instructions.cp</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/instructions/fed/CentralMomentFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">CentralMomentFEDInstruction</span></a> - Class in <a href="org/apache/sysds/runtime/instructions/fed/package-summary.html">org.apache.sysds.runtime.instructions.fed</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/instructions/spark/CentralMomentSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark"><span class="typeNameLink">CentralMomentSPInstruction</span></a> - Class in <a href="org/apache/sysds/runtime/instructions/spark/package-summary.html">org.apache.sysds.runtime.instructions.spark</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#chainMatrixMultOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.lops.MapMultChain.ChainType-">chainMatrixMultOperations(MatrixBlock, MatrixBlock, MatrixBlock, MapMultChain.ChainType)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></dt>
@@ -2141,7 +2375,9 @@
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/OptimizerUtils.html#CHAR_SIZE">CHAR_SIZE</a></span> - Static variable in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/OptimizerUtils.html" title="class in org.apache.sysds.hops">OptimizerUtils</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/utils/MemoryEstimates.html#charArrayCost-int-">charArrayCost(int)</a></span> - Static method in class org.apache.sysds.utils.<a href="org/apache/sysds/utils/MemoryEstimates.html" title="class in org.apache.sysds.utils">MemoryEstimates</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block">Get the worst case memory usage of an array of chars.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/HopsException.html#check-boolean-java.lang.String-java.lang.Object...-">check(boolean, String, Object...)</a></span> - Static method in exception org.apache.sysds.hops.<a href="org/apache/sysds/hops/HopsException.html" title="class in org.apache.sysds.hops">HopsException</a></dt>
 <dd>
 <div class="block">If the condition fails, print the message formatted with objects.</div>
@@ -2167,7 +2403,9 @@
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/io/IOUtilFunctions.html#checkAndRaiseErrorCSVNumColumns-java.lang.String-java.lang.String-java.lang.String:A-long-">checkAndRaiseErrorCSVNumColumns(String, String, String[], long)</a></span> - Static method in class org.apache.sysds.runtime.io.<a href="org/apache/sysds/runtime/io/IOUtilFunctions.html" title="class in org.apache.sysds.runtime.io">IOUtilFunctions</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/fed/FEDInstructionUtils.html#checkAndReplaceCP-org.apache.sysds.runtime.instructions.Instruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">checkAndReplaceCP(Instruction, ExecutionContext)</a></span> - Static method in class org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/FEDInstructionUtils.html" title="class in org.apache.sysds.runtime.instructions.fed">FEDInstructionUtils</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block">Check and replace CP instructions with federated instructions if the instruction match criteria.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/fed/FEDInstructionUtils.html#checkAndReplaceSP-org.apache.sysds.runtime.instructions.Instruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">checkAndReplaceSP(Instruction, ExecutionContext)</a></span> - Static method in class org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/FEDInstructionUtils.html" title="class in org.apache.sysds.runtime.instructions.fed">FEDInstructionUtils</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/Hop.html#checkAndSetForcedPlatform--">checkAndSetForcedPlatform()</a></span> - Method in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a></dt>
@@ -2335,8 +2573,49 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/data/SparseBlockMCSR.html#checkValidity-int-int-long-boolean-">checkValidity(int, int, long, boolean)</a></span> - Method in class org.apache.sysds.runtime.data.<a href="org/apache/sysds/runtime/data/SparseBlockMCSR.html" title="class in org.apache.sysds.runtime.data">SparseBlockMCSR</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/compress/lib/CLALibAppend.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">CLALibAppend</span></a> - Class in <a href="org/apache/sysds/runtime/compress/lib/package-summary.html">org.apache.sysds.runtime.compress.lib</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/lib/CLALibAppend.html#CLALibAppend--">CLALibAppend()</a></span> - Constructor for class org.apache.sysds.runtime.compress.lib.<a href="org/apache/sysds/runtime/compress/lib/CLALibAppend.html" title="class in org.apache.sysds.runtime.compress.lib">CLALibAppend</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/compress/lib/CLALibBinaryCellOp.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">CLALibBinaryCellOp</span></a> - Class in <a href="org/apache/sysds/runtime/compress/lib/package-summary.html">org.apache.sysds.runtime.compress.lib</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/lib/CLALibBinaryCellOp.html#CLALibBinaryCellOp--">CLALibBinaryCellOp()</a></span> - Constructor for class org.apache.sysds.runtime.compress.lib.<a href="org/apache/sysds/runtime/compress/lib/CLALibBinaryCellOp.html" title="class in org.apache.sysds.runtime.compress.lib">CLALibBinaryCellOp</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/compress/lib/CLALibCompAgg.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">CLALibCompAgg</span></a> - Class in <a href="org/apache/sysds/runtime/compress/lib/package-summary.html">org.apache.sysds.runtime.compress.lib</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/lib/CLALibCompAgg.html#CLALibCompAgg--">CLALibCompAgg()</a></span> - Constructor for class org.apache.sysds.runtime.compress.lib.<a href="org/apache/sysds/runtime/compress/lib/CLALibCompAgg.html" title="class in org.apache.sysds.runtime.compress.lib">CLALibCompAgg</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/compress/lib/CLALibLeftMultBy.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">CLALibLeftMultBy</span></a> - Class in <a href="org/apache/sysds/runtime/compress/lib/package-summary.html">org.apache.sysds.runtime.compress.lib</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/lib/CLALibLeftMultBy.html#CLALibLeftMultBy--">CLALibLeftMultBy()</a></span> - Constructor for class org.apache.sysds.runtime.compress.lib.<a href="org/apache/sysds/runtime/compress/lib/CLALibLeftMultBy.html" title="class in org.apache.sysds.runtime.compress.lib">CLALibLeftMultBy</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/compress/lib/CLALibReExpand.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">CLALibReExpand</span></a> - Class in <a href="org/apache/sysds/runtime/compress/lib/package-summary.html">org.apache.sysds.runtime.compress.lib</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/lib/CLALibReExpand.html#CLALibReExpand--">CLALibReExpand()</a></span> - Constructor for class org.apache.sysds.runtime.compress.lib.<a href="org/apache/sysds/runtime/compress/lib/CLALibReExpand.html" title="class in org.apache.sysds.runtime.compress.lib">CLALibReExpand</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/compress/lib/CLALibRelationalOp.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">CLALibRelationalOp</span></a> - Class in <a href="org/apache/sysds/runtime/compress/lib/package-summary.html">org.apache.sysds.runtime.compress.lib</a></dt>
+<dd>
+<div class="block">This class is used for relational operators that return binary values depending on individual cells values in the
+ compression.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/lib/CLALibRelationalOp.html#CLALibRelationalOp--">CLALibRelationalOp()</a></span> - Constructor for class org.apache.sysds.runtime.compress.lib.<a href="org/apache/sysds/runtime/compress/lib/CLALibRelationalOp.html" title="class in org.apache.sysds.runtime.compress.lib">CLALibRelationalOp</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/compress/lib/CLALibRightMultBy.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">CLALibRightMultBy</span></a> - Class in <a href="org/apache/sysds/runtime/compress/lib/package-summary.html">org.apache.sysds.runtime.compress.lib</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/lib/CLALibRightMultBy.html#CLALibRightMultBy--">CLALibRightMultBy()</a></span> - Constructor for class org.apache.sysds.runtime.compress.lib.<a href="org/apache/sysds/runtime/compress/lib/CLALibRightMultBy.html" title="class in org.apache.sysds.runtime.compress.lib">CLALibRightMultBy</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/compress/lib/CLALibScalar.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">CLALibScalar</span></a> - Class in <a href="org/apache/sysds/runtime/compress/lib/package-summary.html">org.apache.sysds.runtime.compress.lib</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/lib/CLALibScalar.html#CLALibScalar--">CLALibScalar()</a></span> - Constructor for class org.apache.sysds.runtime.compress.lib.<a href="org/apache/sysds/runtime/compress/lib/CLALibScalar.html" title="class in org.apache.sysds.runtime.compress.lib">CLALibScalar</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/compress/lib/CLALibSquash.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">CLALibSquash</span></a> - Class in <a href="org/apache/sysds/runtime/compress/lib/package-summary.html">org.apache.sysds.runtime.compress.lib</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/lib/CLALibSquash.html#CLALibSquash--">CLALibSquash()</a></span> - Constructor for class org.apache.sysds.runtime.compress.lib.<a href="org/apache/sysds/runtime/compress/lib/CLALibSquash.html" title="class in org.apache.sysds.runtime.compress.lib">CLALibSquash</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/api/DMLOptions.html#clean">clean</a></span> - Variable in class org.apache.sysds.api.<a href="org/apache/sysds/api/DMLOptions.html" title="class in org.apache.sysds.api">DMLOptions</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/lib/BitmapLossyEncoder.html#cleanMemPools--">cleanMemPools()</a></span> - Static method in class org.apache.sysds.runtime.compress.lib.<a href="org/apache/sysds/runtime/compress/lib/BitmapLossyEncoder.html" title="class in org.apache.sysds.runtime.compress.lib">BitmapLossyEncoder</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/caching/LazyWriteBuffer.html#cleanup--">cleanup()</a></span> - Static method in class org.apache.sysds.runtime.controlprogram.caching.<a href="org/apache/sysds/runtime/controlprogram/caching/LazyWriteBuffer.html" title="class in org.apache.sysds.runtime.controlprogram.caching">LazyWriteBuffer</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/federated/FederationMap.html#cleanup-long-long...-">cleanup(long, long...)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.federated.<a href="org/apache/sysds/runtime/controlprogram/federated/FederationMap.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationMap</a></dt>
@@ -2411,6 +2690,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#cleanupThreadLocalMemory--">cleanupThreadLocalMemory()</a></span> - Static method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html#cleanupThreadLocalMemory--">cleanupThreadLocalMemory()</a></span> - Static method in interface org.apache.sysds.runtime.compress.colgroup.pre.<a href="org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/context/SparkExecutionContext.html#cleanupThreadLocalSchedulerPool-int-">cleanupThreadLocalSchedulerPool(int)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.context.<a href="org/apache/sysds/runtime/controlprogram/context/SparkExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">SparkExecutionContext</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html#cleanupUnreferenced-org.apache.sysds.hops.Hop...-">cleanupUnreferenced(Hop...)</a></span> - Static method in class org.apache.sysds.hops.rewrite.<a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html" title="class in org.apache.sysds.hops.rewrite">HopRewriteUtils</a></dt>
@@ -2606,6 +2887,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/QDictionary.html#clone--">clone()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/QDictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">QDictionary</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/federated/FederationMap.html#clone--">clone()</a></span> - Method in class org.apache.sysds.runtime.controlprogram.federated.<a href="org/apache/sysds/runtime/controlprogram/federated/FederationMap.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationMap</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/LocalVariableMap.html#clone--">clone()</a></span> - Method in class org.apache.sysds.runtime.controlprogram.<a href="org/apache/sysds/runtime/controlprogram/LocalVariableMap.html" title="class in org.apache.sysds.runtime.controlprogram">LocalVariableMap</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/Program.html#clone-boolean-">clone(boolean)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.<a href="org/apache/sysds/runtime/controlprogram/Program.html" title="class in org.apache.sysds.runtime.controlprogram">Program</a></dt>
@@ -2622,6 +2905,12 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/meta/MetaDataFormat.html#clone--">clone()</a></span> - Method in class org.apache.sysds.runtime.meta.<a href="org/apache/sysds/runtime/meta/MetaDataFormat.html" title="class in org.apache.sysds.runtime.meta">MetaDataFormat</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ADictionary.html#cloneAndExtend-int-">cloneAndExtend(int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/Dictionary.html#cloneAndExtend-int-">cloneAndExtend(int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">Dictionary</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/QDictionary.html#cloneAndExtend-int-">cloneAndExtend(int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/QDictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">QDictionary</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/common/Types.FunctionBlock.html#cloneFunctionBlock--">cloneFunctionBlock()</a></span> - Method in interface org.apache.sysds.common.<a href="org/apache/sysds/common/Types.FunctionBlock.html" title="interface in org.apache.sysds.common">Types.FunctionBlock</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/FunctionStatementBlock.html#cloneFunctionBlock--">cloneFunctionBlock()</a></span> - Method in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/FunctionStatementBlock.html" title="class in org.apache.sysds.parser">FunctionStatementBlock</a></dt>
@@ -2698,9 +2987,9 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/CM_N_COVCell.html#CM_N_COVCell--">CM_N_COVCell()</a></span> - Constructor for class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/CM_N_COVCell.html" title="class in org.apache.sysds.runtime.matrix.data">CM_N_COVCell</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#cmOperations-org.apache.sysds.runtime.matrix.operators.CMOperator-">cmOperations(CMOperator)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">AbstractCompressedMatrixBlock</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#cmOperations-org.apache.sysds.runtime.matrix.operators.CMOperator-">cmOperations(CMOperator)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#cmOperations-org.apache.sysds.runtime.matrix.operators.CMOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-">cmOperations(CMOperator, MatrixBlock)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">AbstractCompressedMatrixBlock</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#cmOperations-org.apache.sysds.runtime.matrix.operators.CMOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-">cmOperations(CMOperator, MatrixBlock)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html#cmOperations-org.apache.sysds.runtime.matrix.operators.CMOperator-">cmOperations(CMOperator)</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></dt>
 <dd>&nbsp;</dd>
@@ -2770,27 +3059,29 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/conf/DMLConfig.html#CODEGEN">CODEGEN</a></span> - Static variable in class org.apache.sysds.conf.<a href="org/apache/sysds/conf/DMLConfig.html" title="class in org.apache.sysds.conf">DMLConfig</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/cplan/CNode.html#codegen-boolean-">codegen(boolean)</a></span> - Method in class org.apache.sysds.hops.codegen.cplan.<a href="org/apache/sysds/hops/codegen/cplan/CNode.html" title="class in org.apache.sysds.hops.codegen.cplan">CNode</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/cplan/CNode.html#codegen-boolean-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">codegen(boolean, SpoofCompiler.GeneratorAPI)</a></span> - Method in class org.apache.sysds.hops.codegen.cplan.<a href="org/apache/sysds/hops/codegen/cplan/CNode.html" title="class in org.apache.sysds.hops.codegen.cplan">CNode</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/cplan/CNodeBinary.html#codegen-boolean-">codegen(boolean)</a></span> - Method in class org.apache.sysds.hops.codegen.cplan.<a href="org/apache/sysds/hops/codegen/cplan/CNodeBinary.html" title="class in org.apache.sysds.hops.codegen.cplan">CNodeBinary</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/cplan/CNodeBinary.html#codegen-boolean-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">codegen(boolean, SpoofCompiler.GeneratorAPI)</a></span> - Method in class org.apache.sysds.hops.codegen.cplan.<a href="org/apache/sysds/hops/codegen/cplan/CNodeBinary.html" title="class in org.apache.sysds.hops.codegen.cplan">CNodeBinary</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/cplan/CNodeCell.html#codegen-boolean-">codegen(boolean)</a></span> - Method in class org.apache.sysds.hops.codegen.cplan.<a href="org/apache/sysds/hops/codegen/cplan/CNodeCell.html" title="class in org.apache.sysds.hops.codegen.cplan">CNodeCell</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/cplan/CNodeCell.html#codegen-boolean-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">codegen(boolean, SpoofCompiler.GeneratorAPI)</a></span> - Method in class org.apache.sysds.hops.codegen.cplan.<a href="org/apache/sysds/hops/codegen/cplan/CNodeCell.html" title="class in org.apache.sysds.hops.codegen.cplan">CNodeCell</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/cplan/CNodeData.html#codegen-boolean-">codegen(boolean)</a></span> - Method in class org.apache.sysds.hops.codegen.cplan.<a href="org/apache/sysds/hops/codegen/cplan/CNodeData.html" title="class in org.apache.sysds.hops.codegen.cplan">CNodeData</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/cplan/CNodeData.html#codegen-boolean-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">codegen(boolean, SpoofCompiler.GeneratorAPI)</a></span> - Method in class org.apache.sysds.hops.codegen.cplan.<a href="org/apache/sysds/hops/codegen/cplan/CNodeData.html" title="class in org.apache.sysds.hops.codegen.cplan">CNodeData</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/cplan/CNodeMultiAgg.html#codegen-boolean-">codegen(boolean)</a></span> - Method in class org.apache.sysds.hops.codegen.cplan.<a href="org/apache/sysds/hops/codegen/cplan/CNodeMultiAgg.html" title="class in org.apache.sysds.hops.codegen.cplan">CNodeMultiAgg</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/cplan/CNodeMultiAgg.html#codegen-boolean-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">codegen(boolean, SpoofCompiler.GeneratorAPI)</a></span> - Method in class org.apache.sysds.hops.codegen.cplan.<a href="org/apache/sysds/hops/codegen/cplan/CNodeMultiAgg.html" title="class in org.apache.sysds.hops.codegen.cplan">CNodeMultiAgg</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/cplan/CNodeNary.html#codegen-boolean-">codegen(boolean)</a></span> - Method in class org.apache.sysds.hops.codegen.cplan.<a href="org/apache/sysds/hops/codegen/cplan/CNodeNary.html" title="class in org.apache.sysds.hops.codegen.cplan">CNodeNary</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/cplan/CNodeNary.html#codegen-boolean-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">codegen(boolean, SpoofCompiler.GeneratorAPI)</a></span> - Method in class org.apache.sysds.hops.codegen.cplan.<a href="org/apache/sysds/hops/codegen/cplan/CNodeNary.html" title="class in org.apache.sysds.hops.codegen.cplan">CNodeNary</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/cplan/CNodeOuterProduct.html#codegen-boolean-">codegen(boolean)</a></span> - Method in class org.apache.sysds.hops.codegen.cplan.<a href="org/apache/sysds/hops/codegen/cplan/CNodeOuterProduct.html" title="class in org.apache.sysds.hops.codegen.cplan">CNodeOuterProduct</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/cplan/CNodeOuterProduct.html#codegen-boolean-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">codegen(boolean, SpoofCompiler.GeneratorAPI)</a></span> - Method in class org.apache.sysds.hops.codegen.cplan.<a href="org/apache/sysds/hops/codegen/cplan/CNodeOuterProduct.html" title="class in org.apache.sysds.hops.codegen.cplan">CNodeOuterProduct</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/cplan/CNodeRow.html#codegen-boolean-">codegen(boolean)</a></span> - Method in class org.apache.sysds.hops.codegen.cplan.<a href="org/apache/sysds/hops/codegen/cplan/CNodeRow.html" title="class in org.apache.sysds.hops.codegen.cplan">CNodeRow</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/cplan/CNodeRow.html#codegen-boolean-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">codegen(boolean, SpoofCompiler.GeneratorAPI)</a></span> - Method in class org.apache.sysds.hops.codegen.cplan.<a href="org/apache/sysds/hops/codegen/cplan/CNodeRow.html" title="class in org.apache.sysds.hops.codegen.cplan">CNodeRow</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/cplan/CNodeTernary.html#codegen-boolean-">codegen(boolean)</a></span> - Method in class org.apache.sysds.hops.codegen.cplan.<a href="org/apache/sysds/hops/codegen/cplan/CNodeTernary.html" title="class in org.apache.sysds.hops.codegen.cplan">CNodeTernary</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/cplan/CNodeTernary.html#codegen-boolean-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">codegen(boolean, SpoofCompiler.GeneratorAPI)</a></span> - Method in class org.apache.sysds.hops.codegen.cplan.<a href="org/apache/sysds/hops/codegen/cplan/CNodeTernary.html" title="class in org.apache.sysds.hops.codegen.cplan">CNodeTernary</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/cplan/CNodeTpl.html#codegen--">codegen()</a></span> - Method in class org.apache.sysds.hops.codegen.cplan.<a href="org/apache/sysds/hops/codegen/cplan/CNodeTpl.html" title="class in org.apache.sysds.hops.codegen.cplan">CNodeTpl</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/cplan/CNodeUnary.html#codegen-boolean-">codegen(boolean)</a></span> - Method in class org.apache.sysds.hops.codegen.cplan.<a href="org/apache/sysds/hops/codegen/cplan/CNodeUnary.html" title="class in org.apache.sysds.hops.codegen.cplan">CNodeUnary</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/cplan/CNodeUnary.html#codegen-boolean-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">codegen(boolean, SpoofCompiler.GeneratorAPI)</a></span> - Method in class org.apache.sysds.hops.codegen.cplan.<a href="org/apache/sysds/hops/codegen/cplan/CNodeUnary.html" title="class in org.apache.sysds.hops.codegen.cplan">CNodeUnary</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/conf/DMLConfig.html#CODEGEN_API">CODEGEN_API</a></span> - Static variable in class org.apache.sysds.conf.<a href="org/apache/sysds/conf/DMLConfig.html" title="class in org.apache.sysds.conf">DMLConfig</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/conf/DMLConfig.html#CODEGEN_COMPILER">CODEGEN_COMPILER</a></span> - Static variable in class org.apache.sysds.conf.<a href="org/apache/sysds/conf/DMLConfig.html" title="class in org.apache.sysds.conf">DMLConfig</a></dt>
 <dd>&nbsp;</dd>
@@ -2804,6 +3095,10 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/codegen/CodegenUtils.html#CodegenUtils--">CodegenUtils()</a></span> - Constructor for class org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/CodegenUtils.html" title="class in org.apache.sysds.runtime.codegen">CodegenUtils</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/hops/codegen/cplan/CodeTemplate.html" title="class in org.apache.sysds.hops.codegen.cplan"><span class="typeNameLink">CodeTemplate</span></a> - Class in <a href="org/apache/sysds/hops/codegen/cplan/package-summary.html">org.apache.sysds.hops.codegen.cplan</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/cplan/CodeTemplate.html#CodeTemplate--">CodeTemplate()</a></span> - Constructor for class org.apache.sysds.hops.codegen.cplan.<a href="org/apache/sysds/hops/codegen/cplan/CodeTemplate.html" title="class in org.apache.sysds.hops.codegen.cplan">CodeTemplate</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/DMLTranslator.html#codgenHopsDAG-org.apache.sysds.parser.DMLProgram-">codgenHopsDAG(DMLProgram)</a></span> - Method in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/DMLTranslator.html" title="class in org.apache.sysds.parser">DMLTranslator</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/DMLTranslator.html#codgenHopsDAG-org.apache.sysds.runtime.controlprogram.Program-">codgenHopsDAG(Program)</a></span> - Method in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/DMLTranslator.html" title="class in org.apache.sysds.parser">DMLTranslator</a></dt>
@@ -2814,21 +3109,12 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/IndexRange.html#colEnd">colEnd</a></span> - Variable in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a></dt>
 <dd>&nbsp;</dd>
-<dt><a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">ColGroup</span></a> - Class in <a href="org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a></dt>
-<dd>
-<div class="block">Class that stores information about a column group within a compressed matrix block.</div>
-</dd>
-<dt><a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">ColGroup.CompressionType</span></a> - Enum in <a href="org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a></dt>
-<dd>
-<div class="block">Public Group types supported
- 
- Note For instance DDC is called DDC not DDC1, or DDC2 which is a specific subtype of the DDC.</div>
-</dd>
 <dt><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">ColGroupConst</span></a> - Class in <a href="org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#ColGroupConst-int:A-int-org.apache.sysds.runtime.compress.colgroup.ADictionary-">ColGroupConst(int[], int, ADictionary)</a></span> - Constructor for class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupConst</a></dt>
 <dd>
-<div class="block">Constructs an Constant Colum Group, that contains only one tuple, with the given value.</div>
+<div class="block">Constructs an Constant Colum Group, that contains only one tuple, with the
+ given value.</div>
 </dd>
 <dt><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupConverter.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">ColGroupConverter</span></a> - Class in <a href="org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a></dt>
 <dd>
@@ -2840,15 +3126,11 @@
 <dd>
 <div class="block">Class to encapsulate information about a column group that is encoded with dense dictionary encoding (DDC).</div>
 </dd>
-<dt><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">ColGroupDDC1</span></a> - Class in <a href="org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a></dt>
+<dt><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">ColGroupEmpty</span></a> - Class in <a href="org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html#ColGroupEmpty-int:A-int-">ColGroupEmpty(int[], int)</a></span> - Constructor for class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupEmpty</a></dt>
 <dd>
-<div class="block">Class to encapsulate information about a column group that is encoded with dense dictionary encoding (DDC) using 1
- byte codes.</div>
-</dd>
-<dt><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">ColGroupDDC2</span></a> - Class in <a href="org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a></dt>
-<dd>
-<div class="block">Class to encapsulate information about a column group that is encoded with dense dictionary encoding (DDC) using 2
- byte codes.</div>
+<div class="block">Constructs an Constant Colum Group, that contains only one tuple, with the given value.</div>
 </dd>
 <dt><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupFactory.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">ColGroupFactory</span></a> - Class in <a href="org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a></dt>
 <dd>
@@ -2876,6 +3158,22 @@
 <dd>
 <div class="block">A group of columns compressed with a single run-length encoded bitmap.</div>
 </dd>
+<dt><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">ColGroupSDC</span></a> - Class in <a href="org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a></dt>
+<dd>
+<div class="block">Column group that sparsely encodes the dictionary values.</div>
+</dd>
+<dt><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">ColGroupSDCSingle</span></a> - Class in <a href="org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a></dt>
+<dd>
+<div class="block">Column group that sparsely encodes the dictionary values.</div>
+</dd>
+<dt><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">ColGroupSDCSingleZeros</span></a> - Class in <a href="org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a></dt>
+<dd>
+<div class="block">Column group that sparsely encodes the dictionary values.</div>
+</dd>
+<dt><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">ColGroupSDCZeros</span></a> - Class in <a href="org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a></dt>
+<dd>
+<div class="block">Column group that sparsely encodes the dictionary values.</div>
+</dd>
 <dt><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSizes.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">ColGroupSizes</span></a> - Class in <a href="org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSizes.html#ColGroupSizes--">ColGroupSizes()</a></span> - Constructor for class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSizes.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSizes</a></dt>
@@ -2884,6 +3182,10 @@
 <dd>
 <div class="block">Column group type for columns that are stored as dense arrays of doubles.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#ColGroupUncompressed-int:A-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-">ColGroupUncompressed(int[], MatrixBlock, boolean)</a></span> - Constructor for class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupUncompressed</a></dt>
+<dd>
+<div class="block">Main constructor for Uncompressed ColGroup.</div>
+</dd>
 <dt><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">ColGroupValue</span></a> - Class in <a href="org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a></dt>
 <dd>
 <div class="block">Base class for column groups encoded with value dictionary.</div>
@@ -2892,16 +3194,12 @@
 <dd>
 <div class="block">integer array of nnz values' column indices</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.ColIndexes.html#ColIndexes-int:A-">ColIndexes(int[])</a></span> - Constructor for class org.apache.sysds.runtime.compress.cocode.<a href="org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.ColIndexes.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCodingGroup.ColIndexes</a></dt>
-<dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/util/CollectionUtils.html" title="class in org.apache.sysds.runtime.util"><span class="typeNameLink">CollectionUtils</span></a> - Class in <a href="org/apache/sysds/runtime/util/package-summary.html">org.apache.sysds.runtime.util</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/CollectionUtils.html#CollectionUtils--">CollectionUtils()</a></span> - Constructor for class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/CollectionUtils.html" title="class in org.apache.sysds.runtime.util">CollectionUtils</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/dml/DmlParser.IndexedExpressionContext.html#colLower">colLower</a></span> - Variable in class org.apache.sysds.parser.dml.<a href="org/apache/sysds/parser/dml/DmlParser.IndexedExpressionContext.html" title="class in org.apache.sysds.parser.dml">DmlParser.IndexedExpressionContext</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html#colsC">colsC</a></span> - Variable in class org.apache.sysds.runtime.compress.estim.<a href="org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfo</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/Hop.html#colsKnown--">colsKnown()</a></span> - Method in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/meta/DataCharacteristics.html#colsKnown--">colsKnown()</a></span> - Method in class org.apache.sysds.runtime.meta.<a href="org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a></dt>
@@ -2912,40 +3210,76 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/IndexRange.html#colStart">colStart</a></span> - Variable in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html#colsUC">colsUC</a></span> - Variable in class org.apache.sysds.runtime.compress.estim.<a href="org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfo</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/MatrixValue.CellIndex.html#column">column</a></span> - Variable in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/MatrixValue.CellIndex.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue.CellIndex</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/ParForProgramBlock.PartitionFormat.html#COLUMN_WISE">COLUMN_WISE</a></span> - Static variable in class org.apache.sysds.runtime.controlprogram.<a href="org/apache/sysds/runtime/controlprogram/ParForProgramBlock.PartitionFormat.html" title="class in org.apache.sysds.runtime.controlprogram">ParForProgramBlock.PartitionFormat</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/DataExpression.html#COLUMNBLOCKCOUNTPARAM">COLUMNBLOCKCOUNTPARAM</a></span> - Static variable in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/DataExpression.html" title="class in org.apache.sysds.parser">DataExpression</a></dt>
 <dd>&nbsp;</dd>
-<dt><a href="org/apache/sysds/runtime/compress/utils/ColumnGroupIterator.html" title="class in org.apache.sysds.runtime.compress.utils"><span class="typeNameLink">ColumnGroupIterator</span></a> - Class in <a href="org/apache/sysds/runtime/compress/utils/package-summary.html">org.apache.sysds.runtime.compress.utils</a></dt>
+<dt><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">ColumnEncoder</span></a> - Class in <a href="org/apache/sysds/runtime/transform/encode/package-summary.html">org.apache.sysds.runtime.transform.encode</a></dt>
+<dd>
+<div class="block">Base class for all transform encoders providing both a row and block interface for decoding frames to matrices.</div>
+</dd>
+<dt><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoder.EncoderType.html" title="enum in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">ColumnEncoder.EncoderType</span></a> - Enum in <a href="org/apache/sysds/runtime/transform/encode/package-summary.html">org.apache.sysds.runtime.transform.encode</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/utils/ColumnGroupIterator.html#ColumnGroupIterator-int-int-int-int-boolean-java.util.List-">ColumnGroupIterator(int, int, int, int, boolean, List&lt;ColGroup&gt;)</a></span> - Constructor for class org.apache.sysds.runtime.compress.utils.<a href="org/apache/sysds/runtime/compress/utils/ColumnGroupIterator.html" title="class in org.apache.sysds.runtime.compress.utils">ColumnGroupIterator</a></dt>
+<dt><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderBin.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">ColumnEncoderBin</span></a> - Class in <a href="org/apache/sysds/runtime/transform/encode/package-summary.html">org.apache.sysds.runtime.transform.encode</a></dt>
 <dd>&nbsp;</dd>
-<dt><a href="org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitioner.html" title="class in org.apache.sysds.runtime.compress.cocode"><span class="typeNameLink">ColumnGroupPartitioner</span></a> - Class in <a href="org/apache/sysds/runtime/compress/cocode/package-summary.html">org.apache.sysds.runtime.compress.cocode</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderBin.html#ColumnEncoderBin--">ColumnEncoderBin()</a></span> - Constructor for class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderBin.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderBin</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitioner.html#ColumnGroupPartitioner--">ColumnGroupPartitioner()</a></span> - Constructor for class org.apache.sysds.runtime.compress.cocode.<a href="org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitioner.html" title="class in org.apache.sysds.runtime.compress.cocode">ColumnGroupPartitioner</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderBin.html#ColumnEncoderBin-int-int-">ColumnEncoderBin(int, int)</a></span> - Constructor for class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderBin.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderBin</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderBin.html#ColumnEncoderBin-int-int-double:A-double:A-">ColumnEncoderBin(int, int, double[], double[])</a></span> - Constructor for class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderBin.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderBin</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">ColumnEncoderComposite</span></a> - Class in <a href="org/apache/sysds/runtime/transform/encode/package-summary.html">org.apache.sysds.runtime.transform.encode</a></dt>
+<dd>
+<div class="block">Simple composite encoder that applies a list of encoders in specified order.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html#ColumnEncoderComposite--">ColumnEncoderComposite()</a></span> - Constructor for class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderComposite</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html#ColumnEncoderComposite-java.util.List-org.apache.sysds.runtime.matrix.data.FrameBlock-">ColumnEncoderComposite(List&lt;ColumnEncoder&gt;, FrameBlock)</a></span> - Constructor for class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderComposite</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html#ColumnEncoderComposite-java.util.List-">ColumnEncoderComposite(List&lt;ColumnEncoder&gt;)</a></span> - Constructor for class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderComposite</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html#ColumnEncoderComposite-org.apache.sysds.runtime.transform.encode.ColumnEncoder-">ColumnEncoderComposite(ColumnEncoder)</a></span> - Constructor for class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderComposite</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderDummycode.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">ColumnEncoderDummycode</span></a> - Class in <a href="org/apache/sysds/runtime/transform/encode/package-summary.html">org.apache.sysds.runtime.transform.encode</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderDummycode.html#ColumnEncoderDummycode--">ColumnEncoderDummycode()</a></span> - Constructor for class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderDummycode.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderDummycode</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderDummycode.html#ColumnEncoderDummycode-int-">ColumnEncoderDummycode(int)</a></span> - Constructor for class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderDummycode.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderDummycode</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderDummycode.html#ColumnEncoderDummycode-int-int-">ColumnEncoderDummycode(int, int)</a></span> - Constructor for class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderDummycode.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderDummycode</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderFeatureHash.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">ColumnEncoderFeatureHash</span></a> - Class in <a href="org/apache/sysds/runtime/transform/encode/package-summary.html">org.apache.sysds.runtime.transform.encode</a></dt>
+<dd>
+<div class="block">Class used for feature hashing transformation of frames.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderFeatureHash.html#ColumnEncoderFeatureHash-int-long-">ColumnEncoderFeatureHash(int, long)</a></span> - Constructor for class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderFeatureHash.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderFeatureHash</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderFeatureHash.html#ColumnEncoderFeatureHash--">ColumnEncoderFeatureHash()</a></span> - Constructor for class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderFeatureHash.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderFeatureHash</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderPassThrough.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">ColumnEncoderPassThrough</span></a> - Class in <a href="org/apache/sysds/runtime/transform/encode/package-summary.html">org.apache.sysds.runtime.transform.encode</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderPassThrough.html#ColumnEncoderPassThrough--">ColumnEncoderPassThrough()</a></span> - Constructor for class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderPassThrough.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderPassThrough</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderRecode.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">ColumnEncoderRecode</span></a> - Class in <a href="org/apache/sysds/runtime/transform/encode/package-summary.html">org.apache.sysds.runtime.transform.encode</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderRecode.html#ColumnEncoderRecode-int-">ColumnEncoderRecode(int)</a></span> - Constructor for class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderRecode.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderRecode</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderRecode.html#ColumnEncoderRecode--">ColumnEncoderRecode()</a></span> - Constructor for class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderRecode.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderRecode</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitionerBinPacking.html" title="class in org.apache.sysds.runtime.compress.cocode"><span class="typeNameLink">ColumnGroupPartitionerBinPacking</span></a> - Class in <a href="org/apache/sysds/runtime/compress/cocode/package-summary.html">org.apache.sysds.runtime.compress.cocode</a></dt>
 <dd>
 <div class="block">Column group partitioning with bin packing heuristic.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitionerBinPacking.html#ColumnGroupPartitionerBinPacking--">ColumnGroupPartitionerBinPacking()</a></span> - Constructor for class org.apache.sysds.runtime.compress.cocode.<a href="org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitionerBinPacking.html" title="class in org.apache.sysds.runtime.compress.cocode">ColumnGroupPartitionerBinPacking</a></dt>
-<dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitionerCost.html" title="class in org.apache.sysds.runtime.compress.cocode"><span class="typeNameLink">ColumnGroupPartitionerCost</span></a> - Class in <a href="org/apache/sysds/runtime/compress/cocode/package-summary.html">org.apache.sysds.runtime.compress.cocode</a></dt>
 <dd>
-<div class="block">Column group partitioning with static number distinct elements heuristic</div>
+<div class="block">Column group partitioning by number of distinct items estimated.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitionerCost.html#ColumnGroupPartitionerCost--">ColumnGroupPartitionerCost()</a></span> - Constructor for class org.apache.sysds.runtime.compress.cocode.<a href="org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitionerCost.html" title="class in org.apache.sysds.runtime.compress.cocode">ColumnGroupPartitionerCost</a></dt>
-<dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitionerStatic.html" title="class in org.apache.sysds.runtime.compress.cocode"><span class="typeNameLink">ColumnGroupPartitionerStatic</span></a> - Class in <a href="org/apache/sysds/runtime/compress/cocode/package-summary.html">org.apache.sysds.runtime.compress.cocode</a></dt>
 <dd>
 <div class="block">Column group partitioning with static distribution heuristic.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitionerStatic.html#ColumnGroupPartitionerStatic--">ColumnGroupPartitionerStatic()</a></span> - Constructor for class org.apache.sysds.runtime.compress.cocode.<a href="org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitionerStatic.html" title="class in org.apache.sysds.runtime.compress.cocode">ColumnGroupPartitionerStatic</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html#columnMajorDenseToRowMajorSparse-org.apache.sysds.runtime.instructions.gpu.context.GPUContext-jcuda.jcusparse.cusparseHandle-jcuda.Pointer-int-int-">columnMajorDenseToRowMajorSparse(GPUContext, cusparseHandle, Pointer, int, int)</a></span> - Static method in class org.apache.sysds.runtime.instructions.gpu.context.<a href="org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">GPUObject</a></dt>
 <dd>
 <div class="block">Convenience method to convert a CSR matrix to a dense matrix on the GPU
@@ -2961,6 +3295,8 @@
 <dd>
 <div class="block">The selected method for column partitioning used in CoCoding compressed columns</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/UtilFunctions.html#columnStringToCSVString-java.lang.String-java.lang.String-">columnStringToCSVString(String, String)</a></span> - Static method in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/UtilFunctions.html" title="class in org.apache.sysds.runtime.util">UtilFunctions</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/dml/DmlParser.IndexedExpressionContext.html#colUpper">colUpper</a></span> - Variable in class org.apache.sysds.parser.dml.<a href="org/apache/sysds/parser/dml/DmlParser.IndexedExpressionContext.html" title="class in org.apache.sysds.parser.dml">DmlParser.IndexedExpressionContext</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/lops/GroupedAggregate.html#COMBINEDINPUT">COMBINEDINPUT</a></span> - Static variable in class org.apache.sysds.lops.<a href="org/apache/sysds/lops/GroupedAggregate.html" title="class in org.apache.sysds.lops">GroupedAggregate</a></dt>
@@ -2991,6 +3327,8 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/CommonThreadPool.html#CommonThreadPool-java.util.concurrent.ExecutorService-">CommonThreadPool(ExecutorService)</a></span> - Constructor for class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/CommonThreadPool.html" title="class in org.apache.sysds.runtime.util">CommonThreadPool</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/operators/BinaryOperator.html#commutative">commutative</a></span> - Variable in class org.apache.sysds.runtime.matrix.operators.<a href="org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/data/SparseBlock.html#compact-int-">compact(int)</a></span> - Method in class org.apache.sysds.runtime.data.<a href="org/apache/sysds/runtime/data/SparseBlock.html" title="class in org.apache.sysds.runtime.data">SparseBlock</a></dt>
 <dd>
 <div class="block">Re-allocate physical row if physical size exceeds
@@ -3187,6 +3525,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/WeightedPair.html#compareTo-java.lang.Object-">compareTo(Object)</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/WeightedPair.html" title="class in org.apache.sysds.runtime.matrix.data">WeightedPair</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#compareTo-org.apache.sysds.runtime.transform.encode.ColumnEncoder-">compareTo(ColumnEncoder)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/UtilFunctions.html#compareTo-org.apache.sysds.common.Types.ValueType-java.lang.Object-java.lang.Object-">compareTo(Types.ValueType, Object, Object)</a></span> - Static method in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/UtilFunctions.html" title="class in org.apache.sysds.runtime.util">UtilFunctions</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/UtilFunctions.html#compareVersion-java.lang.String-java.lang.String-">compareVersion(String, String)</a></span> - Static method in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/UtilFunctions.html" title="class in org.apache.sysds.runtime.util">UtilFunctions</a></dt>
@@ -3200,8 +3540,20 @@
 <dd>
 <div class="block">Compile a DML or PYDML script.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/cplan/CNodeCell.html#compile-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-java.lang.String-">compile(SpoofCompiler.GeneratorAPI, String)</a></span> - Method in class org.apache.sysds.hops.codegen.cplan.<a href="org/apache/sysds/hops/codegen/cplan/CNodeCell.html" title="class in org.apache.sysds.hops.codegen.cplan">CNodeCell</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/cplan/CNodeMultiAgg.html#compile-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-java.lang.String-">compile(SpoofCompiler.GeneratorAPI, String)</a></span> - Method in class org.apache.sysds.hops.codegen.cplan.<a href="org/apache/sysds/hops/codegen/cplan/CNodeMultiAgg.html" title="class in org.apache.sysds.hops.codegen.cplan">CNodeMultiAgg</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/cplan/CNodeOuterProduct.html#compile-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-java.lang.String-">compile(SpoofCompiler.GeneratorAPI, String)</a></span> - Method in class org.apache.sysds.hops.codegen.cplan.<a href="org/apache/sysds/hops/codegen/cplan/CNodeOuterProduct.html" title="class in org.apache.sysds.hops.codegen.cplan">CNodeOuterProduct</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/cplan/CNodeRow.html#compile-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-java.lang.String-">compile(SpoofCompiler.GeneratorAPI, String)</a></span> - Method in class org.apache.sysds.hops.codegen.cplan.<a href="org/apache/sysds/hops/codegen/cplan/CNodeRow.html" title="class in org.apache.sysds.hops.codegen.cplan">CNodeRow</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/cplan/CNodeTpl.html#compile-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-java.lang.String-">compile(SpoofCompiler.GeneratorAPI, String)</a></span> - Method in class org.apache.sysds.hops.codegen.cplan.<a href="org/apache/sysds/hops/codegen/cplan/CNodeTpl.html" title="class in org.apache.sysds.hops.codegen.cplan">CNodeTpl</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/codegen/CodegenUtils.html#compileClass-java.lang.String-java.lang.String-">compileClass(String, String)</a></span> - Static method in class org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/CodegenUtils.html" title="class in org.apache.sysds.runtime.codegen">CodegenUtils</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/conf/DMLConfig.html#COMPILERASSISTED_RW">COMPILERASSISTED_RW</a></span> - Static variable in class org.apache.sysds.conf.<a href="org/apache/sysds/conf/DMLConfig.html" title="class in org.apache.sysds.conf">DMLConfig</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/conf/CompilerConfig.html" title="class in org.apache.sysds.conf"><span class="typeNameLink">CompilerConfig</span></a> - Class in <a href="org/apache/sysds/conf/package-summary.html">org.apache.sysds.conf</a></dt>
 <dd>
 <div class="block">Basic wrapper for all compiler configurations that are configured
@@ -3219,9 +3571,7 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/ProgramConverter.html#COMPONENTS_DELIM">COMPONENTS_DELIM</a></span> - Static variable in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/ProgramConverter.html" title="class in org.apache.sysds.runtime.util">ProgramConverter</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html#compRatios">compRatios</a></span> - Variable in class org.apache.sysds.runtime.compress.estim.<a href="org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfo</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupFactory.html#compress-int:A-int-org.apache.sysds.runtime.compress.utils.ABitmap-org.apache.sysds.runtime.compress.colgroup.ColGroup.CompressionType-org.apache.sysds.runtime.compress.CompressionSettings-org.apache.sysds.runtime.matrix.data.MatrixBlock-">compress(int[], int, ABitmap, ColGroup.CompressionType, CompressionSettings, MatrixBlock)</a></span> - Static method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupFactory.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupFactory</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupFactory.html#compress-int:A-int-org.apache.sysds.runtime.compress.utils.ABitmap-org.apache.sysds.runtime.compress.colgroup.AColGroup.CompressionType-org.apache.sysds.runtime.compress.CompressionSettings-org.apache.sysds.runtime.matrix.data.MatrixBlock-">compress(int[], int, ABitmap, AColGroup.CompressionType, CompressionSettings, MatrixBlock)</a></span> - Static method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupFactory.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupFactory</a></dt>
 <dd>
 <div class="block">Method for compressing an ColGroup.</div>
 </dd>
@@ -3235,14 +3585,22 @@
 <dd>
 <div class="block">The main method for compressing the input matrix.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupFactory.html#compressColGroups-org.apache.sysds.runtime.matrix.data.MatrixBlock-java.util.HashMap-java.util.List-org.apache.sysds.runtime.compress.CompressionSettings-int-">compressColGroups(MatrixBlock, HashMap&lt;Integer, Double&gt;, List&lt;int[]&gt;, CompressionSettings, int)</a></span> - Static method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupFactory.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupFactory</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupFactory.html#compressColGroups-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.compress.estim.CompressedSizeInfo-org.apache.sysds.runtime.compress.CompressionSettings-int-">compressColGroups(MatrixBlock, CompressedSizeInfo, CompressionSettings, int)</a></span> - Static method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupFactory.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupFactory</a></dt>
 <dd>
 <div class="block">The actual compression method, that handles the logic of compressing multiple columns together.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/conf/DMLConfig.html#COMPRESSED_COCODE">COMPRESSED_COCODE</a></span> - Static variable in class org.apache.sysds.conf.<a href="org/apache/sysds/conf/DMLConfig.html" title="class in org.apache.sysds.conf">DMLConfig</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/conf/DMLConfig.html#COMPRESSED_LINALG">COMPRESSED_LINALG</a></span> - Static variable in class org.apache.sysds.conf.<a href="org/apache/sysds/conf/DMLConfig.html" title="class in org.apache.sysds.conf">DMLConfig</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/conf/DMLConfig.html#COMPRESSED_LOSSY">COMPRESSED_LOSSY</a></span> - Static variable in class org.apache.sysds.conf.<a href="org/apache/sysds/conf/DMLConfig.html" title="class in org.apache.sysds.conf">DMLConfig</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/conf/DMLConfig.html#COMPRESSED_OVERLAPPING">COMPRESSED_OVERLAPPING</a></span> - Static variable in class org.apache.sysds.conf.<a href="org/apache/sysds/conf/DMLConfig.html" title="class in org.apache.sysds.conf">DMLConfig</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/conf/DMLConfig.html#COMPRESSED_SAMPLING_RATIO">COMPRESSED_SAMPLING_RATIO</a></span> - Static variable in class org.apache.sysds.conf.<a href="org/apache/sysds/conf/DMLConfig.html" title="class in org.apache.sysds.conf">DMLConfig</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/conf/DMLConfig.html#COMPRESSED_TRANSPOSE">COMPRESSED_TRANSPOSE</a></span> - Static variable in class org.apache.sysds.conf.<a href="org/apache/sysds/conf/DMLConfig.html" title="class in org.apache.sysds.conf">DMLConfig</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/conf/DMLConfig.html#COMPRESSED_VALID_COMPRESSIONS">COMPRESSED_VALID_COMPRESSIONS</a></span> - Static variable in class org.apache.sysds.conf.<a href="org/apache/sysds/conf/DMLConfig.html" title="class in org.apache.sysds.conf">DMLConfig</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress"><span class="typeNameLink">CompressedMatrixBlock</span></a> - Class in <a href="org/apache/sysds/runtime/compress/package-summary.html">org.apache.sysds.runtime.compress</a></dt>
@@ -3255,12 +3613,16 @@
 <dd>
 <div class="block">Create a base Compressed matrix block with overlapping column groups.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#CompressedMatrixBlock-int-int-">CompressedMatrixBlock(int, int)</a></span> - Constructor for class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></dt>
+<dd>
+<div class="block">Main constructor for building a block from scratch.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#CompressedMatrixBlock-org.apache.sysds.runtime.compress.CompressedMatrixBlock-">CompressedMatrixBlock(CompressedMatrixBlock)</a></span> - Constructor for class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlockFactory.html" title="class in org.apache.sysds.runtime.compress"><span class="typeNameLink">CompressedMatrixBlockFactory</span></a> - Class in <a href="org/apache/sysds/runtime/compress/package-summary.html">org.apache.sysds.runtime.compress</a></dt>
 <dd>
 <div class="block">Factory pattern to construct a CompressedMatrixBlock.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlockFactory.html#CompressedMatrixBlockFactory--">CompressedMatrixBlockFactory()</a></span> - Constructor for class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressedMatrixBlockFactory.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlockFactory</a></dt>
-<dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/compress/estim/CompressedSizeEstimator.html" title="class in org.apache.sysds.runtime.compress.estim"><span class="typeNameLink">CompressedSizeEstimator</span></a> - Class in <a href="org/apache/sysds/runtime/compress/estim/package-summary.html">org.apache.sysds.runtime.compress.estim</a></dt>
 <dd>
 <div class="block">Main abstract class for estimating size of compressions on columns.</div>
@@ -3269,7 +3631,7 @@
 <dd>
 <div class="block">Exact compressed size estimator (examines entire dataset).</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/estim/CompressedSizeEstimatorExact.html#CompressedSizeEstimatorExact-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.compress.CompressionSettings-">CompressedSizeEstimatorExact(MatrixBlock, CompressionSettings)</a></span> - Constructor for class org.apache.sysds.runtime.compress.estim.<a href="org/apache/sysds/runtime/compress/estim/CompressedSizeEstimatorExact.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeEstimatorExact</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/estim/CompressedSizeEstimatorExact.html#CompressedSizeEstimatorExact-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.compress.CompressionSettings-boolean-">CompressedSizeEstimatorExact(MatrixBlock, CompressionSettings, boolean)</a></span> - Constructor for class org.apache.sysds.runtime.compress.estim.<a href="org/apache/sysds/runtime/compress/estim/CompressedSizeEstimatorExact.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeEstimatorExact</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/compress/estim/CompressedSizeEstimatorFactory.html" title="class in org.apache.sysds.runtime.compress.estim"><span class="typeNameLink">CompressedSizeEstimatorFactory</span></a> - Class in <a href="org/apache/sysds/runtime/compress/estim/package-summary.html">org.apache.sysds.runtime.compress.estim</a></dt>
 <dd>&nbsp;</dd>
@@ -3277,7 +3639,7 @@
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/compress/estim/CompressedSizeEstimatorSample.html" title="class in org.apache.sysds.runtime.compress.estim"><span class="typeNameLink">CompressedSizeEstimatorSample</span></a> - Class in <a href="org/apache/sysds/runtime/compress/estim/package-summary.html">org.apache.sysds.runtime.compress.estim</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/estim/CompressedSizeEstimatorSample.html#CompressedSizeEstimatorSample-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.compress.CompressionSettings-int-">CompressedSizeEstimatorSample(MatrixBlock, CompressionSettings, int)</a></span> - Constructor for class org.apache.sysds.runtime.compress.estim.<a href="org/apache/sysds/runtime/compress/estim/CompressedSizeEstimatorSample.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeEstimatorSample</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/estim/CompressedSizeEstimatorSample.html#CompressedSizeEstimatorSample-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.compress.CompressionSettings-int:A-boolean-">CompressedSizeEstimatorSample(MatrixBlock, CompressionSettings, int[], boolean)</a></span> - Constructor for class org.apache.sysds.runtime.compress.estim.<a href="org/apache/sysds/runtime/compress/estim/CompressedSizeEstimatorSample.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeEstimatorSample</a></dt>
 <dd>
 <div class="block">CompressedSizeEstimatorSample, samples from the input data and estimates the size of the compressed matrix.</div>
 </dd>
@@ -3285,13 +3647,13 @@
 <dd>
 <div class="block">A helper reusable object for maintaining information about estimated compression</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html#CompressedSizeInfo-org.apache.sysds.runtime.compress.estim.CompressedSizeInfoColGroup:A-java.util.List-java.util.List-java.util.HashMap-int-">CompressedSizeInfo(CompressedSizeInfoColGroup[], List&lt;Integer&gt;, List&lt;Integer&gt;, HashMap&lt;Integer, Double&gt;, int)</a></span> - Constructor for class org.apache.sysds.runtime.compress.estim.<a href="org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfo</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html#CompressedSizeInfo-org.apache.sysds.runtime.compress.estim.CompressedSizeInfoColGroup:A-int-int-int-">CompressedSizeInfo(CompressedSizeInfoColGroup[], int, int, int)</a></span> - Constructor for class org.apache.sysds.runtime.compress.estim.<a href="org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfo</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/compress/estim/CompressedSizeInfoColGroup.html" title="class in org.apache.sysds.runtime.compress.estim"><span class="typeNameLink">CompressedSizeInfoColGroup</span></a> - Class in <a href="org/apache/sysds/runtime/compress/estim/package-summary.html">org.apache.sysds.runtime.compress.estim</a></dt>
 <dd>
 <div class="block">Information collected about a specific ColGroup's compression size.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/estim/CompressedSizeInfoColGroup.html#CompressedSizeInfoColGroup-org.apache.sysds.runtime.compress.estim.EstimationFactors-java.util.Set-">CompressedSizeInfoColGroup(EstimationFactors, Set&lt;ColGroup.CompressionType&gt;)</a></span> - Constructor for class org.apache.sysds.runtime.compress.estim.<a href="org/apache/sysds/runtime/compress/estim/CompressedSizeInfoColGroup.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfoColGroup</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/estim/CompressedSizeInfoColGroup.html#CompressedSizeInfoColGroup-org.apache.sysds.runtime.compress.estim.EstimationFactors-java.util.Set-">CompressedSizeInfoColGroup(EstimationFactors, Set&lt;AColGroup.CompressionType&gt;)</a></span> - Constructor for class org.apache.sysds.runtime.compress.estim.<a href="org/apache/sysds/runtime/compress/estim/CompressedSizeInfoColGroup.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfoColGroup</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/lops/Compression.html" title="class in org.apache.sysds.lops"><span class="typeNameLink">Compression</span></a> - Class in <a href="org/apache/sysds/lops/package-summary.html">org.apache.sysds.lops</a></dt>
 <dd>&nbsp;</dd>
@@ -3337,6 +3699,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/spark/functions/ComputeBinaryBlockNnzFunction.html#ComputeBinaryBlockNnzFunction-org.apache.spark.util.LongAccumulator-">ComputeBinaryBlockNnzFunction(LongAccumulator)</a></span> - Constructor for class org.apache.sysds.runtime.instructions.spark.functions.<a href="org/apache/sysds/runtime/instructions/spark/functions/ComputeBinaryBlockNnzFunction.html" title="class in org.apache.sysds.runtime.instructions.spark.functions">ComputeBinaryBlockNnzFunction</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderBin.html#computeBins-double-double-">computeBins(double, double)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderBin.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderBin</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/UtilFunctions.html#computeBlockIndex-long-int-">computeBlockIndex(long, int)</a></span> - Static method in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/UtilFunctions.html" title="class in org.apache.sysds.runtime.util">UtilFunctions</a></dt>
 <dd>
 <div class="block">Computes the 1-based block index based on the global cell index and block size meta
@@ -3361,6 +3725,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/Hop.html#computeBoundsInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">computeBoundsInformation(Hop, LocalVariableMap, HashMap&lt;Long, Double&gt;)</a></span> - Static method in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/LineageEstimator.html#computeCacheFullTime--">computeCacheFullTime()</a></span> - Static method in class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageEstimator.html" title="class in org.apache.sysds.runtime.lineage">LineageEstimator</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/UtilFunctions.html#computeCellInBlock-long-int-">computeCellInBlock(long, int)</a></span> - Static method in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/UtilFunctions.html" title="class in org.apache.sysds.runtime.util">UtilFunctions</a></dt>
 <dd>
 <div class="block">Computes the 0-based cell-in-block index based on the global cell index and block
@@ -3449,6 +3815,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/UnaryOp.html#computeMemEstimate-org.apache.sysds.hops.MemoTable-">computeMemEstimate(MemoTable)</a></span> - Method in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/UnaryOp.html" title="class in org.apache.sysds.hops">UnaryOp</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#computeMxx-double-org.apache.sysds.runtime.functionobjects.Builtin-">computeMxx(double, Builtin)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupUncompressed</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/UtilFunctions.html#computeNextTensorIndexes-org.apache.sysds.runtime.meta.TensorCharacteristics-long:A-">computeNextTensorIndexes(TensorCharacteristics, long[])</a></span> - Static method in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/UtilFunctions.html" title="class in org.apache.sysds.runtime.util">UtilFunctions</a></dt>
 <dd>
 <div class="block">Computes the next tensor indexes array.</div>
@@ -3566,6 +3934,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/Hop.html#constructAndSetLopsDataFlowProperties--">constructAndSetLopsDataFlowProperties()</a></span> - Method in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/InstructionUtils.html#constructBinaryInstString-java.lang.String-java.lang.String-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-">constructBinaryInstString(String, String, CPOperand, CPOperand, CPOperand)</a></span> - Static method in class org.apache.sysds.runtime.instructions.<a href="org/apache/sysds/runtime/instructions/InstructionUtils.html" title="class in org.apache.sysds.runtime.instructions">InstructionUtils</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/OptimizerUtils.html#constructCompilerConfig-org.apache.sysds.conf.DMLConfig-">constructCompilerConfig(DMLConfig)</a></span> - Static method in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/OptimizerUtils.html" title="class in org.apache.sysds.hops">OptimizerUtils</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/OptimizerUtils.html#constructCompilerConfig-org.apache.sysds.conf.CompilerConfig-org.apache.sysds.conf.DMLConfig-">constructCompilerConfig(CompilerConfig, DMLConfig)</a></span> - Static method in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/OptimizerUtils.html" title="class in org.apache.sysds.hops">OptimizerUtils</a></dt>
@@ -3665,7 +4035,7 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.html#constructParameterMap-java.lang.String:A-">constructParameterMap(String[])</a></span> - Static method in class org.apache.sysds.runtime.instructions.spark.<a href="org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">ParameterizedBuiltinSPInstruction</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderRecode.html#constructRecodeMapEntry-java.lang.String-java.lang.Long-">constructRecodeMapEntry(String, Long)</a></span> - Static method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderRecode.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderRecode</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderRecode.html#constructRecodeMapEntry-java.lang.String-java.lang.Long-">constructRecodeMapEntry(String, Long)</a></span> - Static method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderRecode.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderRecode</a></dt>
 <dd>
 <div class="block">Returns the Recode map entry which consists of concatenation of code, delimiter and token.</div>
 </dd>
@@ -3675,6 +4045,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/BinaryOp.html#constructSPAppendLop-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-boolean-org.apache.sysds.hops.Hop-">constructSPAppendLop(Hop, Hop, Types.DataType, Types.ValueType, boolean, Hop)</a></span> - Static method in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/BinaryOp.html" title="class in org.apache.sysds.hops">BinaryOp</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/InstructionUtils.html#constructTernaryString-java.lang.String-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-">constructTernaryString(String, CPOperand, CPOperand, CPOperand, CPOperand)</a></span> - Static method in class org.apache.sysds.runtime.instructions.<a href="org/apache/sysds/runtime/instructions/InstructionUtils.html" title="class in org.apache.sysds.runtime.instructions">InstructionUtils</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/dml/DmlParser.ConstStringIdExpressionContext.html#ConstStringIdExpressionContext-org.apache.sysds.parser.dml.DmlParser.ExpressionContext-">ConstStringIdExpressionContext(DmlParser.ExpressionContext)</a></span> - Constructor for class org.apache.sysds.parser.dml.<a href="org/apache/sysds/parser/dml/DmlParser.ConstStringIdExpressionContext.html" title="class in org.apache.sysds.parser.dml">DmlParser.ConstStringIdExpressionContext</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/dml/DmlParser.ConstTrueExpressionContext.html#ConstTrueExpressionContext-org.apache.sysds.parser.dml.DmlParser.ExpressionContext-">ConstTrueExpressionContext(DmlParser.ExpressionContext)</a></span> - Constructor for class org.apache.sysds.parser.dml.<a href="org/apache/sysds/parser/dml/DmlParser.ConstTrueExpressionContext.html" title="class in org.apache.sysds.parser.dml">DmlParser.ConstTrueExpressionContext</a></dt>
@@ -3717,6 +4089,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/template/TemplateUtils.html#containsBinary-org.apache.sysds.hops.codegen.cplan.CNode-org.apache.sysds.hops.codegen.cplan.CNodeBinary.BinType-">containsBinary(CNode, CNodeBinary.BinType)</a></span> - Static method in class org.apache.sysds.hops.codegen.template.<a href="org/apache/sysds/hops/codegen/template/TemplateUtils.html" title="class in org.apache.sysds.hops.codegen.template">TemplateUtils</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#containsEncoderForID-int-java.lang.Class-">containsEncoderForID(int, Class&lt;T&gt;)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/FunctionDictionary.html#containsFunction-java.lang.String-">containsFunction(String)</a></span> - Method in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/FunctionDictionary.html" title="class in org.apache.sysds.parser">FunctionDictionary</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/FunctionDictionary.html#containsFunction-java.lang.String-boolean-">containsFunction(String, boolean)</a></span> - Method in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/FunctionDictionary.html" title="class in org.apache.sysds.parser">FunctionDictionary</a></dt>
@@ -3771,6 +4145,20 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html#containsTransposeOperation-java.util.ArrayList-">containsTransposeOperation(ArrayList&lt;Hop&gt;)</a></span> - Static method in class org.apache.sysds.hops.rewrite.<a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html" title="class in org.apache.sysds.hops.rewrite">HopRewriteUtils</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html#containsValue-double-">containsValue(double)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ADictionary.html#containsValue-double-">containsValue(double)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#containsValue-double-">containsValue(double)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupUncompressed</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#containsValue-double-">containsValue(double)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/Dictionary.html#containsValue-double-">containsValue(double)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">Dictionary</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/QDictionary.html#containsValue-double-">containsValue(double)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/QDictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">QDictionary</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#containsValue-double-">containsValue(double)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html#containsValue-double-">containsValue(double)</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/VariableSet.html#containsVariable-java.lang.String-">containsVariable(String)</a></span> - Method in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/VariableSet.html" title="class in org.apache.sysds.parser">VariableSet</a></dt>
@@ -4103,10 +4491,16 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/spark/utils/RDDConverterUtilsExt.html#coordinateMatrixToBinaryBlock-org.apache.spark.SparkContext-org.apache.spark.mllib.linalg.distributed.CoordinateMatrix-org.apache.sysds.runtime.meta.DataCharacteristics-boolean-">coordinateMatrixToBinaryBlock(SparkContext, CoordinateMatrix, DataCharacteristics, boolean)</a></span> - Static method in class org.apache.sysds.runtime.instructions.spark.utils.<a href="org/apache/sysds/runtime/instructions/spark/utils/RDDConverterUtilsExt.html" title="class in org.apache.sysds.runtime.instructions.spark.utils">RDDConverterUtilsExt</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html#copy--">copy()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#copy--">copy()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupUncompressed</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#copy--">copy()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></dt>
-<dd>
-<div class="block">shallow copy of the colGroup.</div>
-</dd>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#copy-org.apache.sysds.runtime.matrix.data.MatrixValue-">copy(MatrixValue)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#copy-org.apache.sysds.runtime.matrix.data.MatrixValue-boolean-">copy(MatrixValue, boolean)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/data/BasicTensorBlock.html#copy-org.apache.sysds.runtime.data.BasicTensorBlock-">copy(BasicTensorBlock)</a></span> - Method in class org.apache.sysds.runtime.data.<a href="org/apache/sysds/runtime/data/BasicTensorBlock.html" title="class in org.apache.sysds.runtime.data">BasicTensorBlock</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/data/BasicTensorBlock.html#copy-int:A-int:A-org.apache.sysds.runtime.data.BasicTensorBlock-">copy(int[], int[], BasicTensorBlock)</a></span> - Method in class org.apache.sysds.runtime.data.<a href="org/apache/sysds/runtime/data/BasicTensorBlock.html" title="class in org.apache.sysds.runtime.data">BasicTensorBlock</a></dt>
@@ -4150,15 +4544,21 @@
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/MatrixCell.html#copy-org.apache.sysds.runtime.matrix.data.MatrixValue-">copy(MatrixValue)</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/MatrixCell.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixCell</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/MatrixValue.html#copy-org.apache.sysds.runtime.matrix.data.MatrixValue-">copy(MatrixValue)</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block">Copy this MatrixValue into that MatrixValue.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/MatrixValue.html#copy-org.apache.sysds.runtime.matrix.data.MatrixValue-boolean-">copy(MatrixValue, boolean)</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block">Copy this MatrixValue into that MatrixValue.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/WeightedCell.html#copy-org.apache.sysds.runtime.matrix.data.MatrixValue-">copy(MatrixValue)</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/WeightedCell.html" title="class in org.apache.sysds.runtime.matrix.data">WeightedCell</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/WeightedPair.html#copy-org.apache.sysds.runtime.matrix.data.MatrixValue-">copy(MatrixValue)</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/WeightedPair.html" title="class in org.apache.sysds.runtime.matrix.data">WeightedPair</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#copyAndSet-int:A-double:A-">copyAndSet(int[], double[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#copyAndSet-int:A-org.apache.sysds.runtime.compress.colgroup.ADictionary-">copyAndSet(int[], ADictionary)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/spark/utils/SparkUtils.html#copyBinaryBlockMatrix-org.apache.spark.api.java.JavaPairRDD-">copyBinaryBlockMatrix(JavaPairRDD&lt;MatrixIndexes, MatrixBlock&gt;)</a></span> - Static method in class org.apache.sysds.runtime.instructions.spark.utils.<a href="org/apache/sysds/runtime/instructions/spark/utils/SparkUtils.html" title="class in org.apache.sysds.runtime.instructions.spark.utils">SparkUtils</a></dt>
 <dd>
 <div class="block">Creates a partitioning-preserving deep copy of the input matrix RDD, where 
@@ -4181,10 +4581,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/spark/functions/CopyBinaryCellFunction.html#CopyBinaryCellFunction--">CopyBinaryCellFunction()</a></span> - Constructor for class org.apache.sysds.runtime.instructions.spark.functions.<a href="org/apache/sysds/runtime/instructions/spark/functions/CopyBinaryCellFunction.html" title="class in org.apache.sysds.runtime.instructions.spark.functions">CopyBinaryCellFunction</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupConverter.html#copyColGroup-org.apache.sysds.runtime.compress.colgroup.ColGroup-">copyColGroup(ColGroup)</a></span> - Static method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupConverter.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupConverter</a></dt>
-<dd>
-<div class="block">Copy col group instance with deep copy of column indices but shallow copy of actual contents;</div>
-</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html#copyDataGenOp-org.apache.sysds.hops.DataGenOp-double-double-">copyDataGenOp(DataGenOp, double, double)</a></span> - Static method in class org.apache.sysds.hops.rewrite.<a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html" title="class in org.apache.sysds.hops.rewrite">HopRewriteUtils</a></dt>
 <dd>
 <div class="block">Assumes that min and max are literal ops, needs to be checked from outside.</div>
@@ -4455,7 +4851,7 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/UtilFunctions.html#countNonZeros-double:A-int-int-">countNonZeros(double[], int, int)</a></span> - Static method in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/UtilFunctions.html" title="class in org.apache.sysds.runtime.util">UtilFunctions</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html#countNonZerosPerRow-int:A-int-int-">countNonZerosPerRow(int[], int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html#countNonZerosPerRow-int:A-int-int-">countNonZerosPerRow(int[], int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></dt>
 <dd>
 <div class="block">Count the number of non-zeros per row</div>
 </dd>
@@ -4463,13 +4859,21 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#countNonZerosPerRow-int:A-int-int-">countNonZerosPerRow(int[], int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html#countNonZerosPerRow-int:A-int-int-">countNonZerosPerRow(int[], int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupEmpty</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#countNonZerosPerRow-int:A-int-int-">countNonZerosPerRow(int[], int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOLE</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#countNonZerosPerRow-int:A-int-int-">countNonZerosPerRow(int[], int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupRLE</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#countNonZerosPerRow-int:A-int-int-">countNonZerosPerRow(int[], int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupUncompressed</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html#countNonZerosPerRow-int:A-int-int-">countNonZerosPerRow(int[], int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDC</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#countNonZerosPerRow-int-int-">countNonZerosPerRow(int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html#countNonZerosPerRow-int:A-int-int-">countNonZerosPerRow(int[], int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingle</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html#countNonZerosPerRow-int:A-int-int-">countNonZerosPerRow(int[], int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingleZeros</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#countNonZerosPerRow-int:A-int-int-">countNonZerosPerRow(int[], int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCZeros</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#countNonZerosPerRow-int:A-int-int-">countNonZerosPerRow(int[], int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupUncompressed</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/io/IOUtilFunctions.html#countNumColumnsCSV-org.apache.hadoop.mapred.InputSplit:A-org.apache.hadoop.mapred.InputFormat-org.apache.hadoop.mapred.JobConf-java.lang.String-">countNumColumnsCSV(InputSplit[], InputFormat, JobConf, String)</a></span> - Static method in class org.apache.sysds.runtime.io.<a href="org/apache/sysds/runtime/io/IOUtilFunctions.html" title="class in org.apache.sysds.runtime.io">IOUtilFunctions</a></dt>
 <dd>
@@ -4509,11 +4913,13 @@
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/instructions/cp/CovarianceCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp"><span class="typeNameLink">CovarianceCPInstruction</span></a> - Class in <a href="org/apache/sysds/runtime/instructions/cp/package-summary.html">org.apache.sysds.runtime.instructions.cp</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/instructions/fed/CovarianceFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">CovarianceFEDInstruction</span></a> - Class in <a href="org/apache/sysds/runtime/instructions/fed/package-summary.html">org.apache.sysds.runtime.instructions.fed</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/instructions/spark/CovarianceSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark"><span class="typeNameLink">CovarianceSPInstruction</span></a> - Class in <a href="org/apache/sysds/runtime/instructions/spark/package-summary.html">org.apache.sysds.runtime.instructions.spark</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#covOperations-org.apache.sysds.runtime.matrix.operators.COVOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-">covOperations(COVOperator, MatrixBlock)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">AbstractCompressedMatrixBlock</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#covOperations-org.apache.sysds.runtime.matrix.operators.COVOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-">covOperations(COVOperator, MatrixBlock)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#covOperations-org.apache.sysds.runtime.matrix.operators.COVOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">covOperations(COVOperator, MatrixBlock, MatrixBlock)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">AbstractCompressedMatrixBlock</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#covOperations-org.apache.sysds.runtime.matrix.operators.COVOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">covOperations(COVOperator, MatrixBlock, MatrixBlock)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html#covOperations-org.apache.sysds.runtime.matrix.operators.COVOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-">covOperations(COVOperator, MatrixBlock)</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></dt>
 <dd>&nbsp;</dd>
@@ -4581,11 +4987,15 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/Hop.html#CPThreshold">CPThreshold</a></span> - Static variable in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToFactory.html#create-int-int-">create(int, int)</a></span> - Static method in class org.apache.sysds.runtime.compress.colgroup.mapping.<a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToFactory.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping">MapToFactory</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/tree/InsertionSorterFactory.html#create-int-int-int-">create(int, int, int)</a></span> - Static method in class org.apache.sysds.runtime.compress.colgroup.tree.<a href="org/apache/sysds/runtime/compress/colgroup/tree/InsertionSorterFactory.html" title="class in org.apache.sysds.runtime.compress.colgroup.tree">InsertionSorterFactory</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html#create--">create()</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html" title="class in org.apache.sysds.runtime.compress">CompressionSettingsBuilder</a></dt>
 <dd>
 <div class="block">Create the CompressionSettings object to use in the compression.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/paramserv/LocalParamServer.html#create-org.apache.sysds.runtime.instructions.cp.ListObject-java.lang.String-org.apache.sysds.parser.Statement.PSUpdateType-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-int-">create(ListObject, String, Statement.PSUpdateType, ExecutionContext, int)</a></span> - Static method in class org.apache.sysds.runtime.controlprogram.paramserv.<a href="org/apache/sysds/runtime/controlprogram/paramserv/LocalParamServer.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv">LocalParamServer</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/paramserv/LocalParamServer.html#create-org.apache.sysds.runtime.instructions.cp.ListObject-java.lang.String-org.apache.sysds.parser.Statement.PSUpdateType-org.apache.sysds.parser.Statement.PSFrequency-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-int-java.lang.String-int-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-">create(ListObject, String, Statement.PSUpdateType, Statement.PSFrequency, ExecutionContext, int, String, int, MatrixObject, MatrixObject)</a></span> - Static method in class org.apache.sysds.runtime.controlprogram.paramserv.<a href="org/apache/sysds/runtime/controlprogram/paramserv/LocalParamServer.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv">LocalParamServer</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/ParForProgramBlock.html#CREATE_UNSCOPED_RESULTVARS">CREATE_UNSCOPED_RESULTVARS</a></span> - Static variable in class org.apache.sysds.runtime.controlprogram.<a href="org/apache/sysds/runtime/controlprogram/ParForProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ParForProgramBlock</a></dt>
 <dd>&nbsp;</dd>
@@ -4621,8 +5031,12 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/template/TemplateUtils.html#createCompatibleTemplates-org.apache.sysds.hops.codegen.template.TemplateBase.TemplateType-org.apache.sysds.hops.codegen.template.TemplateBase.CloseType-">createCompatibleTemplates(TemplateBase.TemplateType, TemplateBase.CloseType)</a></span> - Static method in class org.apache.sysds.hops.codegen.template.<a href="org/apache/sysds/hops/codegen/template/TemplateUtils.html" title="class in org.apache.sysds.hops.codegen.template">TemplateUtils</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/readers/ReaderColumnSelection.html#createCompressedReader-org.apache.sysds.runtime.compress.CompressedMatrixBlock-int:A-">createCompressedReader(CompressedMatrixBlock, int[])</a></span> - Static method in class org.apache.sysds.runtime.compress.readers.<a href="org/apache/sysds/runtime/compress/readers/ReaderColumnSelection.html" title="class in org.apache.sysds.runtime.compress.readers">ReaderColumnSelection</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html#createComputeNnz-org.apache.sysds.hops.Hop-">createComputeNnz(Hop)</a></span> - Static method in class org.apache.sysds.hops.rewrite.<a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html" title="class in org.apache.sysds.hops.rewrite">HopRewriteUtils</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlockFactory.html#createConstant-int-int-double-">createConstant(int, int, double)</a></span> - Static method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressedMatrixBlockFactory.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlockFactory</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/context/ExecutionContextFactory.html#createContext--">createContext()</a></span> - Static method in class org.apache.sysds.runtime.controlprogram.context.<a href="org/apache/sysds/runtime/controlprogram/context/ExecutionContextFactory.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContextFactory</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/context/ExecutionContextFactory.html#createContext-org.apache.sysds.runtime.controlprogram.Program-">createContext(Program)</a></span> - Static method in class org.apache.sysds.runtime.controlprogram.context.<a href="org/apache/sysds/runtime/controlprogram/context/ExecutionContextFactory.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContextFactory</a></dt>
@@ -4633,6 +5047,16 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/context/ExecutionContextFactory.html#createContext-boolean-boolean-org.apache.sysds.runtime.controlprogram.Program-">createContext(boolean, boolean, Program)</a></span> - Static method in class org.apache.sysds.runtime.controlprogram.context.<a href="org/apache/sysds/runtime/controlprogram/context/ExecutionContextFactory.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContextFactory</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/codegen/SpoofCellwise.html#createCUDAInstrcution-java.lang.Integer-org.apache.sysds.runtime.codegen.SpoofCUDAOperator.PrecisionProxy-">createCUDAInstrcution(Integer, SpoofCUDAOperator.PrecisionProxy)</a></span> - Method in class org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/SpoofCellwise.html" title="class in org.apache.sysds.runtime.codegen">SpoofCellwise</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/codegen/SpoofMultiAggregate.html#createCUDAInstrcution-java.lang.Integer-org.apache.sysds.runtime.codegen.SpoofCUDAOperator.PrecisionProxy-">createCUDAInstrcution(Integer, SpoofCUDAOperator.PrecisionProxy)</a></span> - Method in class org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/SpoofMultiAggregate.html" title="class in org.apache.sysds.runtime.codegen">SpoofMultiAggregate</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/codegen/SpoofOperator.html#createCUDAInstrcution-java.lang.Integer-org.apache.sysds.runtime.codegen.SpoofCUDAOperator.PrecisionProxy-">createCUDAInstrcution(Integer, SpoofCUDAOperator.PrecisionProxy)</a></span> - Method in class org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/SpoofOperator.html" title="class in org.apache.sysds.runtime.codegen">SpoofOperator</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/codegen/SpoofOuterProduct.html#createCUDAInstrcution-java.lang.Integer-org.apache.sysds.runtime.codegen.SpoofCUDAOperator.PrecisionProxy-">createCUDAInstrcution(Integer, SpoofCUDAOperator.PrecisionProxy)</a></span> - Method in class org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/SpoofOuterProduct.html" title="class in org.apache.sysds.runtime.codegen">SpoofOuterProduct</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/codegen/SpoofRowwise.html#createCUDAInstrcution-java.lang.Integer-org.apache.sysds.runtime.codegen.SpoofCUDAOperator.PrecisionProxy-">createCUDAInstrcution(Integer, SpoofCUDAOperator.PrecisionProxy)</a></span> - Method in class org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/SpoofRowwise.html" title="class in org.apache.sysds.runtime.codegen">SpoofRowwise</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/rewrite/StatementBlockRewriteRule.html#createCutVarName-boolean-">createCutVarName(boolean)</a></span> - Static method in class org.apache.sysds.hops.rewrite.<a href="org/apache/sysds/hops/rewrite/StatementBlockRewriteRule.html" title="class in org.apache.sysds.hops.rewrite">StatementBlockRewriteRule</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html#createDataGenOp-org.apache.sysds.hops.Hop-double-">createDataGenOp(Hop, double)</a></span> - Static method in class org.apache.sysds.hops.rewrite.<a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html" title="class in org.apache.sysds.hops.rewrite">HopRewriteUtils</a></dt>
@@ -4730,6 +5154,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/paramserv/ParamservUtils.html#createExecutionContext-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.lang.String-java.lang.String-int-">createExecutionContext(ExecutionContext, LocalVariableMap, String, String, int)</a></span> - Static method in class org.apache.sysds.runtime.controlprogram.paramserv.<a href="org/apache/sysds/runtime/controlprogram/paramserv/ParamservUtils.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv">ParamservUtils</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/paramserv/ParamservUtils.html#createExecutionContext-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.lang.String-java.lang.String-int-boolean-">createExecutionContext(ExecutionContext, LocalVariableMap, String, String, int, boolean)</a></span> - Static method in class org.apache.sysds.runtime.controlprogram.paramserv.<a href="org/apache/sysds/runtime/controlprogram/paramserv/ParamservUtils.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv">ParamservUtils</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/ProgramConverter.html#createForStatementBlockCopy-org.apache.sysds.parser.ForStatementBlock-boolean-">createForStatementBlockCopy(ForStatementBlock, boolean)</a></span> - Static method in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/ProgramConverter.html" title="class in org.apache.sysds.runtime.util">ProgramConverter</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/io/FrameWriter.html#createFrameBlocksForReuse-org.apache.sysds.common.Types.ValueType:A-java.lang.String:A-long-">createFrameBlocksForReuse(Types.ValueType[], String[], long)</a></span> - Static method in class org.apache.sysds.runtime.io.<a href="org/apache/sysds/runtime/io/FrameWriter.html" title="class in org.apache.sysds.runtime.io">FrameWriter</a></dt>
@@ -4752,6 +5178,8 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/ProgramConverter.html#createIfStatementBlockCopy-org.apache.sysds.parser.IfStatementBlock-boolean-">createIfStatementBlockCopy(IfStatementBlock, boolean)</a></span> - Static method in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/ProgramConverter.html" title="class in org.apache.sysds.runtime.util">ProgramConverter</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html#createIndexingOp-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-">createIndexingOp(Hop, Hop)</a></span> - Static method in class org.apache.sysds.hops.rewrite.<a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html" title="class in org.apache.sysds.hops.rewrite">HopRewriteUtils</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html#createIndexingOp-org.apache.sysds.hops.Hop-long-long-">createIndexingOp(Hop, long, long)</a></span> - Static method in class org.apache.sysds.hops.rewrite.<a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html" title="class in org.apache.sysds.hops.rewrite">HopRewriteUtils</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html#createIndexingOp-org.apache.sysds.hops.Hop-long-long-long-long-">createIndexingOp(Hop, long, long, long, long)</a></span> - Static method in class org.apache.sysds.hops.rewrite.<a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html" title="class in org.apache.sysds.hops.rewrite">HopRewriteUtils</a></dt>
@@ -4760,6 +5188,10 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/codegen/CodegenUtils.html#createInstance-java.lang.Class-">createInstance(Class&lt;?&gt;)</a></span> - Static method in class org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/CodegenUtils.html" title="class in org.apache.sysds.runtime.codegen">CodegenUtils</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/decode/DecoderFactory.html#createInstance-int-">createInstance(int)</a></span> - Static method in class org.apache.sysds.runtime.transform.decode.<a href="org/apache/sysds/runtime/transform/decode/DecoderFactory.html" title="class in org.apache.sysds.runtime.transform.decode">DecoderFactory</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderFactory.html#createInstance-int-">createInstance(int)</a></span> - Static method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderFactory.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderFactory</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html#createLeftIndexingOp-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-">createLeftIndexingOp(Hop, Hop, Hop, Hop, Hop, Hop)</a></span> - Static method in class org.apache.sysds.hops.rewrite.<a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html" title="class in org.apache.sysds.hops.rewrite">HopRewriteUtils</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/lops/Data.html#createLiteralLop-org.apache.sysds.common.Types.ValueType-java.lang.String-">createLiteralLop(Types.ValueType, String)</a></span> - Static method in class org.apache.sysds.lops.<a href="org/apache/sysds/lops/Data.html" title="class in org.apache.sysds.lops">Data</a></dt>
@@ -4772,6 +5204,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/cp/ScalarObjectFactory.html#createLiteralOp-org.apache.sysds.common.Types.ValueType-java.lang.String-">createLiteralOp(Types.ValueType, String)</a></span> - Static method in class org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/ScalarObjectFactory.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObjectFactory</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/InstructionUtils.html#createLiteralOperand-java.lang.String-org.apache.sysds.common.Types.ValueType-">createLiteralOperand(String, Types.ValueType)</a></span> - Static method in class org.apache.sysds.runtime.instructions.<a href="org/apache/sysds/runtime/instructions/InstructionUtils.html" title="class in org.apache.sysds.runtime.instructions">InstructionUtils</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/LocalFileUtils.html#createLocalFileIfNotExist-java.lang.String-">createLocalFileIfNotExist(String)</a></span> - Static method in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/LocalFileUtils.html" title="class in org.apache.sysds.runtime.util">LocalFileUtils</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/LocalFileUtils.html#createLocalFileIfNotExist-java.lang.String-java.lang.String-">createLocalFileIfNotExist(String, String)</a></span> - Static method in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/LocalFileUtils.html" title="class in org.apache.sysds.runtime.util">LocalFileUtils</a></dt>
@@ -4792,10 +5226,14 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/io/MatrixWriterFactory.html#createMatrixWriter-org.apache.sysds.common.Types.FileFormat-int-org.apache.sysds.runtime.io.FileFormatProperties-">createMatrixWriter(Types.FileFormat, int, FileFormatProperties)</a></span> - Static method in class org.apache.sysds.runtime.io.<a href="org/apache/sysds/runtime/io/MatrixWriterFactory.html" title="class in org.apache.sysds.runtime.io">MatrixWriterFactory</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/parser/DMLProgram.html#createNamespace-java.lang.String-">createNamespace(String)</a></span> - Method in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/DMLProgram.html" title="class in org.apache.sysds.parser">DMLProgram</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html#createNary-org.apache.sysds.common.Types.OpOpN-org.apache.sysds.hops.Hop...-">createNary(Types.OpOpN, Hop...)</a></span> - Static method in class org.apache.sysds.hops.rewrite.<a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html" title="class in org.apache.sysds.hops.rewrite">HopRewriteUtils</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/Hop.html#createOffsetLop-org.apache.sysds.hops.Hop-boolean-">createOffsetLop(Hop, boolean)</a></span> - Static method in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/InstructionUtils.html#createOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-">createOperand(CPOperand)</a></span> - Static method in class org.apache.sysds.runtime.instructions.<a href="org/apache/sysds/runtime/instructions/InstructionUtils.html" title="class in org.apache.sysds.runtime.instructions">InstructionUtils</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/parfor/opt/OptTreeConverter.html#createOptNode-org.apache.sysds.runtime.instructions.Instruction-org.apache.sysds.runtime.controlprogram.LocalVariableMap-boolean-">createOptNode(Instruction, LocalVariableMap, boolean)</a></span> - Static method in class org.apache.sysds.runtime.controlprogram.parfor.opt.<a href="org/apache/sysds/runtime/controlprogram/parfor/opt/OptTreeConverter.html" title="class in org.apache.sysds.runtime.controlprogram.parfor.opt">OptTreeConverter</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/parfor/opt/OptTreeConverter.html#createOptNodes-java.util.ArrayList-org.apache.sysds.runtime.controlprogram.LocalVariableMap-boolean-">createOptNodes(ArrayList&lt;Instruction&gt;, LocalVariableMap, boolean)</a></span> - Static method in class org.apache.sysds.runtime.controlprogram.parfor.opt.<a href="org/apache/sysds/runtime/controlprogram/parfor/opt/OptTreeConverter.html" title="class in org.apache.sysds.runtime.controlprogram.parfor.opt">OptTreeConverter</a></dt>
@@ -4831,6 +5269,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/lops/Lop.html#createReachable-int-">createReachable(int)</a></span> - Method in class org.apache.sysds.lops.<a href="org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/readers/ReaderColumnSelection.html#createReader-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-boolean-">createReader(MatrixBlock, int[], boolean)</a></span> - Static method in class org.apache.sysds.runtime.compress.readers.<a href="org/apache/sysds/runtime/compress/readers/ReaderColumnSelection.html" title="class in org.apache.sysds.runtime.compress.readers">ReaderColumnSelection</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html#createReorg-org.apache.sysds.hops.Hop-java.lang.String-">createReorg(Hop, String)</a></span> - Static method in class org.apache.sysds.hops.rewrite.<a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html" title="class in org.apache.sysds.hops.rewrite">HopRewriteUtils</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html#createReorg-org.apache.sysds.hops.Hop-org.apache.sysds.common.Types.ReOrgOp-">createReorg(Hop, Types.ReOrgOp)</a></span> - Static method in class org.apache.sysds.hops.rewrite.<a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html" title="class in org.apache.sysds.hops.rewrite">HopRewriteUtils</a></dt>
@@ -4905,6 +5345,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/rewrite/RewriteRemoveEmptyBasicBlocks.html#createsSplitDag--">createsSplitDag()</a></span> - Method in class org.apache.sysds.hops.rewrite.<a href="org/apache/sysds/hops/rewrite/RewriteRemoveEmptyBasicBlocks.html" title="class in org.apache.sysds.hops.rewrite">RewriteRemoveEmptyBasicBlocks</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/rewrite/RewriteRemoveForLoopEmptySequence.html#createsSplitDag--">createsSplitDag()</a></span> - Method in class org.apache.sysds.hops.rewrite.<a href="org/apache/sysds/hops/rewrite/RewriteRemoveForLoopEmptySequence.html" title="class in org.apache.sysds.hops.rewrite">RewriteRemoveForLoopEmptySequence</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/rewrite/RewriteRemoveUnnecessaryBranches.html#createsSplitDag--">createsSplitDag()</a></span> - Method in class org.apache.sysds.hops.rewrite.<a href="org/apache/sysds/hops/rewrite/RewriteRemoveUnnecessaryBranches.html" title="class in org.apache.sysds.hops.rewrite">RewriteRemoveUnnecessaryBranches</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/rewrite/RewriteSplitDagDataDependentOperators.html#createsSplitDag--">createsSplitDag()</a></span> - Method in class org.apache.sysds.hops.rewrite.<a href="org/apache/sysds/hops/rewrite/RewriteSplitDagDataDependentOperators.html" title="class in org.apache.sysds.hops.rewrite">RewriteSplitDagDataDependentOperators</a></dt>
@@ -4956,6 +5398,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html#createTernary-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-org.apache.sysds.common.Types.OpOp3-">createTernary(Hop, Hop, Hop, Hop, Hop, Types.OpOp3)</a></span> - Static method in class org.apache.sysds.hops.rewrite.<a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html" title="class in org.apache.sysds.hops.rewrite">HopRewriteUtils</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/tokenize/TokenizerFactory.html#createTokenizer-java.lang.String-int-">createTokenizer(String, int)</a></span> - Static method in class org.apache.sysds.runtime.transform.tokenize.<a href="org/apache/sysds/runtime/transform/tokenize/TokenizerFactory.html" title="class in org.apache.sysds.runtime.transform.tokenize">TokenizerFactory</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html#createTransientRead-java.lang.String-org.apache.sysds.hops.Hop-">createTransientRead(String, Hop)</a></span> - Static method in class org.apache.sysds.hops.rewrite.<a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html" title="class in org.apache.sysds.hops.rewrite">HopRewriteUtils</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html#createTransientRead-java.lang.String-org.apache.sysds.runtime.matrix.data.MatrixBlock-">createTransientRead(String, MatrixBlock)</a></span> - Static method in class org.apache.sysds.hops.rewrite.<a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html" title="class in org.apache.sysds.hops.rewrite">HopRewriteUtils</a></dt>
@@ -5019,7 +5463,7 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/lops/Ctable.html#Ctable-org.apache.sysds.lops.Lop:A-org.apache.sysds.lops.Ctable.OperationTypes-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-">Ctable(Lop[], Ctable.OperationTypes, Types.DataType, Types.ValueType, LopProperties.ExecType)</a></span> - Constructor for class org.apache.sysds.lops.<a href="org/apache/sysds/lops/Ctable.html" title="class in org.apache.sysds.lops">Ctable</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/lops/Ctable.html#Ctable-org.apache.sysds.lops.Lop:A-org.apache.sysds.lops.Ctable.OperationTypes-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-boolean-org.apache.sysds.lops.LopProperties.ExecType-">Ctable(Lop[], Ctable.OperationTypes, Types.DataType, Types.ValueType, boolean, LopProperties.ExecType)</a></span> - Constructor for class org.apache.sysds.lops.<a href="org/apache/sysds/lops/Ctable.html" title="class in org.apache.sysds.lops">Ctable</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/lops/Ctable.html#Ctable-org.apache.sysds.lops.Lop:A-org.apache.sysds.lops.Ctable.OperationTypes-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-boolean-boolean-org.apache.sysds.lops.LopProperties.ExecType-">Ctable(Lop[], Ctable.OperationTypes, Types.DataType, Types.ValueType, boolean, boolean, LopProperties.ExecType)</a></span> - Constructor for class org.apache.sysds.lops.<a href="org/apache/sysds/lops/Ctable.html" title="class in org.apache.sysds.lops">Ctable</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/functionobjects/CTable.html" title="class in org.apache.sysds.runtime.functionobjects"><span class="typeNameLink">CTable</span></a> - Class in <a href="org/apache/sysds/runtime/functionobjects/package-summary.html">org.apache.sysds.runtime.functionobjects</a></dt>
 <dd>&nbsp;</dd>
@@ -5036,17 +5480,17 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/CTableMap.html#CTableMap-org.apache.sysds.runtime.util.LongLongDoubleHashMap.EntryType-">CTableMap(LongLongDoubleHashMap.EntryType)</a></span> - Constructor for class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/CTableMap.html" title="class in org.apache.sysds.runtime.matrix.data">CTableMap</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-double-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ctableOperations(Operator, double, MatrixValue, CTableMap, MatrixBlock)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">AbstractCompressedMatrixBlock</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-double-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ctableOperations(Operator, double, MatrixValue, CTableMap, MatrixBlock)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-double-double-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ctableOperations(Operator, double, double, CTableMap, MatrixBlock)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">AbstractCompressedMatrixBlock</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-double-double-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ctableOperations(Operator, double, double, CTableMap, MatrixBlock)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.runtime.matrix.data.MatrixIndexes-double-boolean-int-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ctableOperations(Operator, MatrixIndexes, double, boolean, int, CTableMap, MatrixBlock)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">AbstractCompressedMatrixBlock</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.runtime.matrix.data.MatrixIndexes-double-boolean-int-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ctableOperations(Operator, MatrixIndexes, double, boolean, int, CTableMap, MatrixBlock)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.runtime.matrix.data.MatrixValue-double-boolean-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ctableOperations(Operator, MatrixValue, double, boolean, CTableMap, MatrixBlock)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">AbstractCompressedMatrixBlock</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.runtime.matrix.data.MatrixValue-double-boolean-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ctableOperations(Operator, MatrixValue, double, boolean, CTableMap, MatrixBlock)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.CTableMap-">ctableOperations(Operator, MatrixValue, MatrixValue, CTableMap)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">AbstractCompressedMatrixBlock</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.CTableMap-">ctableOperations(Operator, MatrixValue, MatrixValue, CTableMap)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ctableOperations(Operator, MatrixValue, MatrixValue, CTableMap, MatrixBlock)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">AbstractCompressedMatrixBlock</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ctableOperations(Operator, MatrixValue, MatrixValue, CTableMap, MatrixBlock)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/CM_N_COVCell.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ctableOperations(Operator, MatrixValue, MatrixValue, CTableMap, MatrixBlock)</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/CM_N_COVCell.html" title="class in org.apache.sysds.runtime.matrix.data">CM_N_COVCell</a></dt>
 <dd>&nbsp;</dd>
@@ -5123,13 +5567,15 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/MatrixValue.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-double-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ctableOperations(Operator, double, MatrixValue, CTableMap, MatrixBlock)</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#ctableSeqOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-double-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ctableSeqOperations(MatrixValue, double, MatrixBlock)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">AbstractCompressedMatrixBlock</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#ctableSeqOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-double-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ctableSeqOperations(MatrixValue, double, MatrixBlock)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html#ctableSeqOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-double-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-">ctableSeqOperations(MatrixValue, double, MatrixBlock, boolean)</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html#ctableSeqOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-double-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ctableSeqOperations(MatrixValue, double, MatrixBlock)</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></dt>
 <dd>
 <div class="block">D = ctable(seq,A,w)
   this &lt;- seq; thatMatrix &lt;- A; thatScalar &lt;- w; result &lt;- D
-  
+
  (i1,j1,v1) from input1 (this)
  (i1,j1,v2) from input2 (that)
  (w)  from scalar_input3 (scalarThat2)</div>
@@ -5532,6 +5978,8 @@
 </dd>
 <dt><a href="org/apache/sysds/runtime/instructions/cp/DataGenCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp"><span class="typeNameLink">DataGenCPInstruction</span></a> - Class in <a href="org/apache/sysds/runtime/instructions/cp/package-summary.html">org.apache.sysds.runtime.instructions.cp</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/cp/DataGenCPInstruction.html#DataGenCPInstruction-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.common.Types.OpOpDG-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-java.lang.String-java.lang.String-java.lang.String-java.lang.String-">DataGenCPInstruction(Operator, Types.OpOpDG, CPOperand, CPOperand, CPOperand, String, String, String, String)</a></span> - Constructor for class org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/DataGenCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">DataGenCPInstruction</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/hops/DataGenOp.html" title="class in org.apache.sysds.hops"><span class="typeNameLink">DataGenOp</span></a> - Class in <a href="org/apache/sysds/hops/package-summary.html">org.apache.sysds.hops</a></dt>
 <dd>
 <div class="block">A DataGenOp can be rand (or matrix constructor), sequence, and sample -
@@ -5647,6 +6095,14 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionerSparkMapper.html#DataPartitionerSparkMapper-org.apache.sysds.parser.Statement.PSScheme-int-org.apache.sysds.runtime.controlprogram.context.SparkExecutionContext-int-">DataPartitionerSparkMapper(Statement.PSScheme, int, SparkExecutionContext, int)</a></span> - Constructor for class org.apache.sysds.runtime.controlprogram.paramserv.dp.<a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionerSparkMapper.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionerSparkMapper</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">DataPartitionFederatedScheme</span></a> - Class in <a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/package-summary.html">org.apache.sysds.runtime.controlprogram.paramserv.dp</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.html#DataPartitionFederatedScheme--">DataPartitionFederatedScheme()</a></span> - Constructor for class org.apache.sysds.runtime.controlprogram.paramserv.dp.<a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionFederatedScheme</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.BalanceMetrics.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">DataPartitionFederatedScheme.BalanceMetrics</span></a> - Class in <a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/package-summary.html">org.apache.sysds.runtime.controlprogram.paramserv.dp</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.Result.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">DataPartitionFederatedScheme.Result</span></a> - Class in <a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/package-summary.html">org.apache.sysds.runtime.controlprogram.paramserv.dp</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionLocalScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">DataPartitionLocalScheme</span></a> - Class in <a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/package-summary.html">org.apache.sysds.runtime.controlprogram.paramserv.dp</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionLocalScheme.html#DataPartitionLocalScheme--">DataPartitionLocalScheme()</a></span> - Constructor for class org.apache.sysds.runtime.controlprogram.paramserv.dp.<a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionLocalScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionLocalScheme</a></dt>
@@ -5776,6 +6232,8 @@
 <div class="block">Simple composite decoder that applies a list of decoders
  in specified order.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/decode/DecoderComposite.html#DecoderComposite--">DecoderComposite()</a></span> - Constructor for class org.apache.sysds.runtime.transform.decode.<a href="org/apache/sysds/runtime/transform/decode/DecoderComposite.html" title="class in org.apache.sysds.runtime.transform.decode">DecoderComposite</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/transform/decode/DecoderDummycode.html" title="class in org.apache.sysds.runtime.transform.decode"><span class="typeNameLink">DecoderDummycode</span></a> - Class in <a href="org/apache/sysds/runtime/transform/decode/package-summary.html">org.apache.sysds.runtime.transform.decode</a></dt>
 <dd>
 <div class="block">Simple atomic decoder for dummycoded columns.</div>
@@ -5784,15 +6242,19 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/decode/DecoderFactory.html#DecoderFactory--">DecoderFactory()</a></span> - Constructor for class org.apache.sysds.runtime.transform.decode.<a href="org/apache/sysds/runtime/transform/decode/DecoderFactory.html" title="class in org.apache.sysds.runtime.transform.decode">DecoderFactory</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/transform/decode/DecoderFactory.DecoderType.html" title="enum in org.apache.sysds.runtime.transform.decode"><span class="typeNameLink">DecoderFactory.DecoderType</span></a> - Enum in <a href="org/apache/sysds/runtime/transform/decode/package-summary.html">org.apache.sysds.runtime.transform.decode</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/transform/decode/DecoderPassThrough.html" title="class in org.apache.sysds.runtime.transform.decode"><span class="typeNameLink">DecoderPassThrough</span></a> - Class in <a href="org/apache/sysds/runtime/transform/decode/package-summary.html">org.apache.sysds.runtime.transform.decode</a></dt>
 <dd>
 <div class="block">Simple atomic decoder for passing through numeric columns to the output.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/decode/DecoderPassThrough.html#DecoderPassThrough--">DecoderPassThrough()</a></span> - Constructor for class org.apache.sysds.runtime.transform.decode.<a href="org/apache/sysds/runtime/transform/decode/DecoderPassThrough.html" title="class in org.apache.sysds.runtime.transform.decode">DecoderPassThrough</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/transform/decode/DecoderRecode.html" title="class in org.apache.sysds.runtime.transform.decode"><span class="typeNameLink">DecoderRecode</span></a> - Class in <a href="org/apache/sysds/runtime/transform/decode/package-summary.html">org.apache.sysds.runtime.transform.decode</a></dt>
 <dd>
 <div class="block">Simple atomic decoder for recoded columns.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#decompress--">decompress()</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">AbstractCompressedMatrixBlock</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/decode/DecoderRecode.html#DecoderRecode--">DecoderRecode()</a></span> - Constructor for class org.apache.sysds.runtime.transform.decode.<a href="org/apache/sysds/runtime/transform/decode/DecoderRecode.html" title="class in org.apache.sysds.runtime.transform.decode">DecoderRecode</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#decompress--">decompress()</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></dt>
 <dd>
@@ -5802,55 +6264,211 @@
 <dd>
 <div class="block">Decompress block.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">decompressToBlock(MatrixBlock, int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></dt>
-<dd>
-<div class="block">Decompress the contents of this column group into the specified full matrix block.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">decompressToBlock(MatrixBlock, int[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></dt>
-<dd>
-<div class="block">Decompress the contents of this column group into uncompressed packed columns</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-java.util.List-">decompressToBlock(MatrixBlock, int, List&lt;ColGroup&gt;)</a></span> - Static method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToArray-double:A-int-java.util.List-">decompressColumnToArray(double[], int, List&lt;AColGroup&gt;)</a></span> - Static method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">decompressToBlock(MatrixBlock, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-java.util.List-">decompressColumnToBlock(MatrixBlock, int, List&lt;AColGroup&gt;)</a></span> - Static method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></dt>
+<dd>
+<div class="block">Decompress an entire column into the target matrix block.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-java.util.List-">decompressColumnToBlock(MatrixBlock, int, int, int, List&lt;AColGroup&gt;)</a></span> - Static method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></dt>
+<dd>
+<div class="block">Decompress part of the col groups into the target matrix block, this decompression maintain the number of non
+ zeros.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-double:A-int-int-int-java.util.List-">decompressColumnToBlock(double[], int, int, int, List&lt;AColGroup&gt;)</a></span> - Static method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></dt>
+<dd>
+<div class="block">Decompress part of the col groups into the target dense double array.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">decompressColumnToBlock(MatrixBlock, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></dt>
 <dd>
 <div class="block">Decompress to block.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">decompressToBlock(MatrixBlock, int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupConst</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-">decompressColumnToBlock(MatrixBlock, int, int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></dt>
+<dd>
+<div class="block">Decompress to block.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-double:A-int-int-int-">decompressColumnToBlock(double[], int, int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></dt>
+<dd>
+<div class="block">Decompress to dense array.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">decompressColumnToBlock(MatrixBlock, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupConst</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-">decompressColumnToBlock(MatrixBlock, int, int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupConst</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#decompressColumnToBlock-double:A-int-int-int-">decompressColumnToBlock(double[], int, int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupConst</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">decompressColumnToBlock(MatrixBlock, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-">decompressColumnToBlock(MatrixBlock, int, int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#decompressColumnToBlock-double:A-int-int-int-">decompressColumnToBlock(double[], int, int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">decompressColumnToBlock(MatrixBlock, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupEmpty</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-">decompressColumnToBlock(MatrixBlock, int, int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupEmpty</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html#decompressColumnToBlock-double:A-int-int-int-">decompressColumnToBlock(double[], int, int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupEmpty</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">decompressColumnToBlock(MatrixBlock, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOLE</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-">decompressColumnToBlock(MatrixBlock, int, int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOLE</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#decompressColumnToBlock-double:A-int-int-int-">decompressColumnToBlock(double[], int, int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOLE</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">decompressColumnToBlock(MatrixBlock, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupRLE</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-">decompressColumnToBlock(MatrixBlock, int, int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupRLE</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#decompressColumnToBlock-double:A-int-int-int-">decompressColumnToBlock(double[], int, int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupRLE</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">decompressColumnToBlock(MatrixBlock, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDC</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-">decompressColumnToBlock(MatrixBlock, int, int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDC</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html#decompressColumnToBlock-double:A-int-int-int-">decompressColumnToBlock(double[], int, int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDC</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">decompressColumnToBlock(MatrixBlock, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingle</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-">decompressColumnToBlock(MatrixBlock, int, int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingle</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html#decompressColumnToBlock-double:A-int-int-int-">decompressColumnToBlock(double[], int, int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingle</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">decompressColumnToBlock(MatrixBlock, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingleZeros</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-">decompressColumnToBlock(MatrixBlock, int, int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingleZeros</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html#decompressColumnToBlock-double:A-int-int-int-">decompressColumnToBlock(double[], int, int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingleZeros</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">decompressColumnToBlock(MatrixBlock, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCZeros</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-">decompressColumnToBlock(MatrixBlock, int, int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCZeros</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#decompressColumnToBlock-double:A-int-int-int-">decompressColumnToBlock(double[], int, int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCZeros</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">decompressColumnToBlock(MatrixBlock, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupUncompressed</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-">decompressColumnToBlock(MatrixBlock, int, int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupUncompressed</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#decompressColumnToBlock-double:A-int-int-int-">decompressColumnToBlock(double[], int, int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupUncompressed</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlockUnSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-java.util.List-">decompressColumnToBlockUnSafe(MatrixBlock, int, int, List&lt;AColGroup&gt;)</a></span> - Static method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></dt>
+<dd>
+<div class="block">Decompress part of the col groups into the target matrix block, this decompression maintain the number of non
+ zeros.</div>
+</dd>
+<dt><a href="org/apache/sysds/lops/DeCompression.html" title="class in org.apache.sysds.lops"><span class="typeNameLink">DeCompression</span></a> - Class in <a href="org/apache/sysds/lops/package-summary.html">org.apache.sysds.lops</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/lops/DeCompression.html#DeCompression-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-">DeCompression(Lop, Types.DataType, Types.ValueType, LopProperties.ExecType)</a></span> - Constructor for class org.apache.sysds.lops.<a href="org/apache/sysds/lops/DeCompression.html" title="class in org.apache.sysds.lops">DeCompression</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/lops/DeCompression.CompressConfig.html" title="enum in org.apache.sysds.lops"><span class="typeNameLink">DeCompression.CompressConfig</span></a> - Enum in <a href="org/apache/sysds/lops/package-summary.html">org.apache.sysds.lops</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/instructions/cp/DeCompressionCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp"><span class="typeNameLink">DeCompressionCPInstruction</span></a> - Class in <a href="org/apache/sysds/runtime/instructions/cp/package-summary.html">org.apache.sysds.runtime.instructions.cp</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/spark/DeCompressionSPInstruction.DeCompressionFunction.html#DeCompressionFunction--">DeCompressionFunction()</a></span> - Constructor for class org.apache.sysds.runtime.instructions.spark.<a href="org/apache/sysds/runtime/instructions/spark/DeCompressionSPInstruction.DeCompressionFunction.html" title="class in org.apache.sysds.runtime.instructions.spark">DeCompressionSPInstruction.DeCompressionFunction</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/instructions/spark/DeCompressionSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark"><span class="typeNameLink">DeCompressionSPInstruction</span></a> - Class in <a href="org/apache/sysds/runtime/instructions/spark/package-summary.html">org.apache.sysds.runtime.instructions.spark</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/instructions/spark/DeCompressionSPInstruction.DeCompressionFunction.html" title="class in org.apache.sysds.runtime.instructions.spark"><span class="typeNameLink">DeCompressionSPInstruction.DeCompressionFunction</span></a> - Class in <a href="org/apache/sysds/runtime/instructions/spark/package-summary.html">org.apache.sysds.runtime.instructions.spark</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">decompressToBlock(MatrixBlock, int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></dt>
+<dd>
+<div class="block">Decompress the contents of this column group into the specified full matrix block.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-">decompressToBlock(MatrixBlock, int, int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></dt>
+<dd>
+<div class="block">Decompress the contents of this column group into the specified full matrix block.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-double:A-boolean-">decompressToBlock(MatrixBlock, int, int, double[], boolean)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></dt>
+<dd>
+<div class="block">Decompress the contents of this column group into the target matrixBlock, it is assumed that the target matrix
+ Block have the same number of columns and at least the number of rows ru.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-boolean-">decompressToBlock(MatrixBlock, int, int, boolean)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-boolean-">decompressToBlock(MatrixBlock, int, int, int, boolean)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-boolean-">decompressToBlock(MatrixBlock, int, int, int, double[], boolean)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">decompressToBlock(MatrixBlock, int, int, int, double[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></dt>
+<dd>
+<div class="block">Decompress the contents of this column group into the specified full matrix block.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">decompressToBlock(MatrixBlock, int[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></dt>
+<dd>
+<div class="block">Decompress the contents of this column group into uncompressed packed columns</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">decompressToBlock(MatrixBlock, int[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupConst</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">decompressToBlock(MatrixBlock, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupConst</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">decompressToBlock(MatrixBlock, int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">decompressToBlock(MatrixBlock, int[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">decompressToBlock(MatrixBlock, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">decompressToBlock(MatrixBlock, int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOffset</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">decompressToBlock(MatrixBlock, int[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOffset</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">decompressToBlock(MatrixBlock, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOffset</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">decompressToBlock(MatrixBlock, int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOLE</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">decompressToBlock(MatrixBlock, int[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupEmpty</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">decompressToBlock(MatrixBlock, int[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOLE</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">decompressToBlock(MatrixBlock, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOLE</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">decompressToBlock(MatrixBlock, int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupRLE</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">decompressToBlock(MatrixBlock, int[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupRLE</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">decompressToBlock(MatrixBlock, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupRLE</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">decompressToBlock(MatrixBlock, int[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDC</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">decompressToBlock(MatrixBlock, int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupUncompressed</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">decompressToBlock(MatrixBlock, int[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingle</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">decompressToBlock(MatrixBlock, int[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingleZeros</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">decompressToBlock(MatrixBlock, int[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCZeros</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-">decompressToBlock(MatrixBlock, int, int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupUncompressed</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">decompressToBlock(MatrixBlock, int[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupUncompressed</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">decompressToBlock(MatrixBlock, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupUncompressed</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">decompressToBlock(MatrixBlock, int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-">decompressToBlock(MatrixBlock, int, int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlockSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">decompressToBlockSafe(MatrixBlock, int, int, int, double[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></dt>
+<dd>
+<div class="block">Decompress the contents of this column group into the specified full matrix block without managing the number of
+ non zeros.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#decompressToBlockSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">decompressToBlockSafe(MatrixBlock, int, int, int, double[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupConst</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#decompressToBlockSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">decompressToBlockSafe(MatrixBlock, int, int, int, double[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html#decompressToBlockSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">decompressToBlockSafe(MatrixBlock, int, int, int, double[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupEmpty</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#decompressToBlockSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">decompressToBlockSafe(MatrixBlock, int, int, int, double[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOLE</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#decompressToBlockSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">decompressToBlockSafe(MatrixBlock, int, int, int, double[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupRLE</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html#decompressToBlockSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">decompressToBlockSafe(MatrixBlock, int, int, int, double[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDC</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html#decompressToBlockSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">decompressToBlockSafe(MatrixBlock, int, int, int, double[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingle</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html#decompressToBlockSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">decompressToBlockSafe(MatrixBlock, int, int, int, double[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingleZeros</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#decompressToBlockSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">decompressToBlockSafe(MatrixBlock, int, int, int, double[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCZeros</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#decompressToBlockSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">decompressToBlockSafe(MatrixBlock, int, int, int, double[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupUncompressed</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlockUnSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">decompressToBlockUnSafe(MatrixBlock, int, int, int, double[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#decompressToBlockUnSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">decompressToBlockUnSafe(MatrixBlock, int, int, int, double[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupConst</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#decompressToBlockUnSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">decompressToBlockUnSafe(MatrixBlock, int, int, int, double[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html#decompressToBlockUnSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">decompressToBlockUnSafe(MatrixBlock, int, int, int, double[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupEmpty</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#decompressToBlockUnSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">decompressToBlockUnSafe(MatrixBlock, int, int, int, double[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOLE</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#decompressToBlockUnSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">decompressToBlockUnSafe(MatrixBlock, int, int, int, double[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupRLE</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html#decompressToBlockUnSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">decompressToBlockUnSafe(MatrixBlock, int, int, int, double[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDC</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html#decompressToBlockUnSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">decompressToBlockUnSafe(MatrixBlock, int, int, int, double[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingle</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html#decompressToBlockUnSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">decompressToBlockUnSafe(MatrixBlock, int, int, int, double[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingleZeros</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#decompressToBlockUnSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">decompressToBlockUnSafe(MatrixBlock, int, int, int, double[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCZeros</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#decompressToBlockUnSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">decompressToBlockUnSafe(MatrixBlock, int, int, int, double[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupUncompressed</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/utils/Statistics.html#decrementNoOfExecutedSPInst--">decrementNoOfExecutedSPInst()</a></span> - Static method in class org.apache.sysds.utils.<a href="org/apache/sysds/utils/Statistics.html" title="class in org.apache.sysds.utils">Statistics</a></dt>
 <dd>&nbsp;</dd>
@@ -5872,6 +6490,8 @@
 <dd>
 <div class="block">Deep copy of hops dags for parallel recompilation.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/cp/ParamservBuiltinCPInstruction.html#DEFAULT_BATCH_SIZE">DEFAULT_BATCH_SIZE</a></span> - Static variable in class org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/ParamservBuiltinCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ParamservBuiltinCPInstruction</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/conf/DMLConfig.html#DEFAULT_BLOCK_SIZE">DEFAULT_BLOCK_SIZE</a></span> - Static variable in class org.apache.sysds.conf.<a href="org/apache/sysds/conf/DMLConfig.html" title="class in org.apache.sysds.conf">DMLConfig</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/meta/TensorCharacteristics.html#DEFAULT_BLOCK_SIZE">DEFAULT_BLOCK_SIZE</a></span> - Static variable in class org.apache.sysds.runtime.meta.<a href="org/apache/sysds/runtime/meta/TensorCharacteristics.html" title="class in org.apache.sysds.runtime.meta">TensorCharacteristics</a></dt>
@@ -5902,6 +6522,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/parfor/opt/CostEstimator.html#DEFAULT_EST_PARALLELISM">DEFAULT_EST_PARALLELISM</a></span> - Static variable in class org.apache.sysds.runtime.controlprogram.parfor.opt.<a href="org/apache/sysds/runtime/controlprogram/parfor/opt/CostEstimator.html" title="class in org.apache.sysds.runtime.controlprogram.parfor.opt">CostEstimator</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/conf/DMLConfig.html#DEFAULT_FEDERATED_INITIALIZATION_TIMEOUT">DEFAULT_FEDERATED_INITIALIZATION_TIMEOUT</a></span> - Static variable in class org.apache.sysds.conf.<a href="org/apache/sysds/conf/DMLConfig.html" title="class in org.apache.sysds.conf">DMLConfig</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/conf/DMLConfig.html#DEFAULT_FEDERATED_PORT">DEFAULT_FEDERATED_PORT</a></span> - Static variable in class org.apache.sysds.conf.<a href="org/apache/sysds/conf/DMLConfig.html" title="class in org.apache.sysds.conf">DMLConfig</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/OptimizerUtils.html#DEFAULT_FRAME_BLOCKSIZE">DEFAULT_FRAME_BLOCKSIZE</a></span> - Static variable in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/OptimizerUtils.html" title="class in org.apache.sysds.hops">OptimizerUtils</a></dt>
@@ -5930,6 +6552,8 @@
 <dd>
 <div class="block">Default optimization level if unspecified</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/parser/DataExpression.html#DEFAULT_SCHEMAPARAM">DEFAULT_SCHEMAPARAM</a></span> - Static variable in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/DataExpression.html" title="class in org.apache.sysds.parser">DataExpression</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/conf/DMLConfig.html#DEFAULT_SHARED_DIR_PERMISSION">DEFAULT_SHARED_DIR_PERMISSION</a></span> - Static variable in class org.apache.sysds.conf.<a href="org/apache/sysds/conf/DMLConfig.html" title="class in org.apache.sysds.conf">DMLConfig</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/OptimizerUtils.html#DEFAULT_SIZE">DEFAULT_SIZE</a></span> - Static variable in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/OptimizerUtils.html" title="class in org.apache.sysds.hops">OptimizerUtils</a></dt>
@@ -5957,10 +6581,18 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/common/Types.FileFormat.html#defaultFormatString--">defaultFormatString()</a></span> - Static method in enum org.apache.sysds.common.<a href="org/apache/sysds/common/Types.FileFormat.html" title="enum in org.apache.sysds.common">Types.FileFormat</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/UtilFunctions.html#defaultNaString">defaultNaString</a></span> - Static variable in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/UtilFunctions.html" title="class in org.apache.sysds.runtime.util">UtilFunctions</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/api/DMLOptions.html#defaultOptions">defaultOptions</a></span> - Static variable in class org.apache.sysds.api.<a href="org/apache/sysds/api/DMLOptions.html" title="class in org.apache.sysds.api">DMLOptions</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/caching/UnifiedMemoryManager.html#delete-java.lang.String-">delete(String)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.caching.<a href="org/apache/sysds/runtime/controlprogram/caching/UnifiedMemoryManager.html" title="class in org.apache.sysds.runtime.controlprogram.caching">UnifiedMemoryManager</a></dt>
+<dd>
+<div class="block">Removes a cache block associated with the given key from all memory
+ areas, and deletes evicted representations (files in local FS).</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/caching/UnifiedMemoryManager.html#deleteAll--">deleteAll()</a></span> - Method in class org.apache.sysds.runtime.controlprogram.caching.<a href="org/apache/sysds/runtime/controlprogram/caching/UnifiedMemoryManager.html" title="class in org.apache.sysds.runtime.controlprogram.caching">UnifiedMemoryManager</a></dt>
+<dd>
+<div class="block">Removes all cache blocks from all memory areas and deletes all evicted
+ representations (files in local FS).</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/caching/LazyWriteBuffer.html#deleteBlock-java.lang.String-">deleteBlock(String)</a></span> - Static method in class org.apache.sysds.runtime.controlprogram.caching.<a href="org/apache/sysds/runtime/controlprogram/caching/LazyWriteBuffer.html" title="class in org.apache.sysds.runtime.controlprogram.caching">LazyWriteBuffer</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/io/IOUtilFunctions.html#deleteCrcFilesFromLocalFileSystem-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-">deleteCrcFilesFromLocalFileSystem(FileSystem, Path)</a></span> - Static method in class org.apache.sysds.runtime.io.<a href="org/apache/sysds/runtime/io/IOUtilFunctions.html" title="class in org.apache.sysds.runtime.io">IOUtilFunctions</a></dt>
@@ -6095,10 +6727,6 @@
 <dd>
 <div class="block">Convenience method.</div>
 </dd>
-<dt><a href="org/apache/sysds/runtime/compress/colgroup/DenseRowIterator.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">DenseRowIterator</span></a> - Class in <a href="org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/DenseRowIterator.html#DenseRowIterator-int-int-java.util.List-int-">DenseRowIterator(int, int, List&lt;ColGroup&gt;, int)</a></span> - Constructor for class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/DenseRowIterator.html" title="class in org.apache.sysds.runtime.compress.colgroup">DenseRowIterator</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html#denseRowMajorToColumnMajor--">denseRowMajorToColumnMajor()</a></span> - Method in class org.apache.sysds.runtime.instructions.gpu.context.<a href="org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">GPUObject</a></dt>
 <dd>
 <div class="block">Convenience method.</div>
@@ -6107,6 +6735,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/WeightedCell.html#denseScalarOperationsInPlace-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">denseScalarOperationsInPlace(ScalarOperator)</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/WeightedCell.html" title="class in org.apache.sysds.runtime.matrix.data">WeightedCell</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressionStatistics.html#denseSize">denseSize</a></span> - Variable in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressionStatistics.html" title="class in org.apache.sysds.runtime.compress">CompressionStatistics</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html#denseToSparse--">denseToSparse()</a></span> - Method in class org.apache.sysds.runtime.instructions.gpu.context.<a href="org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">GPUObject</a></dt>
 <dd>
 <div class="block">Converts this GPUObject from dense to sparse format.</div>
@@ -6133,6 +6763,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/estim/EstimatorMatrixHistogram.MatrixHistogram.html#deriveOutputHistogram-org.apache.sysds.hops.estim.EstimatorMatrixHistogram.MatrixHistogram-org.apache.sysds.hops.estim.EstimatorMatrixHistogram.MatrixHistogram-double-org.apache.sysds.hops.estim.SparsityEstimator.OpCode-long:A-">deriveOutputHistogram(EstimatorMatrixHistogram.MatrixHistogram, EstimatorMatrixHistogram.MatrixHistogram, double, SparsityEstimator.OpCode, long[])</a></span> - Static method in class org.apache.sysds.hops.estim.<a href="org/apache/sysds/hops/estim/EstimatorMatrixHistogram.MatrixHistogram.html" title="class in org.apache.sysds.hops.estim">EstimatorMatrixHistogram.MatrixHistogram</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/TfUtils.html#desanitizeSpaces-java.lang.String-">desanitizeSpaces(String)</a></span> - Static method in class org.apache.sysds.runtime.transform.<a href="org/apache/sysds/runtime/transform/TfUtils.html" title="class in org.apache.sysds.runtime.transform">TfUtils</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/gpu/context/CSRPointer.html#descr">descr</a></span> - Variable in class org.apache.sysds.runtime.instructions.gpu.context.<a href="org/apache/sysds/runtime/instructions/gpu/context/CSRPointer.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">CSRPointer</a></dt>
 <dd>
 <div class="block">descriptor of matrix, only CUSPARSE_MATRIX_TYPE_GENERAL supported</div>
@@ -6220,6 +6852,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/dml/DmlParser.html#DIGIT">DIGIT</a></span> - Static variable in class org.apache.sysds.parser.dml.<a href="org/apache/sysds/parser/dml/DmlParser.html" title="class in org.apache.sysds.parser.dml">DmlParser</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/DMVUtils.html#DIGIT">DIGIT</a></span> - Static variable in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/DMVUtils.html" title="class in org.apache.sysds.runtime.util">DMVUtils</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/utils/DoubleIntListHashMap.DIListEntry.html#DIListEntry-double-org.apache.sysds.runtime.compress.utils.IntArrayList-">DIListEntry(double, IntArrayList)</a></span> - Constructor for class org.apache.sysds.runtime.compress.utils.<a href="org/apache/sysds/runtime/compress/utils/DoubleIntListHashMap.DIListEntry.html" title="class in org.apache.sysds.runtime.compress.utils">DoubleIntListHashMap.DIListEntry</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/Hop.html#dimsKnown--">dimsKnown()</a></span> - Method in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a></dt>
@@ -6278,6 +6912,12 @@
 <dd>
 <div class="block">Returns statistics as a string</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/LineageCacheStatistics.html#displayComputeTime--">displayComputeTime()</a></span> - Static method in class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageCacheStatistics.html" title="class in org.apache.sysds.runtime.lineage">LineageCacheStatistics</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/LineageEstimatorStatistics.html#displayComputeTime--">displayComputeTime()</a></span> - Static method in class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageEstimatorStatistics.html" title="class in org.apache.sysds.runtime.lineage">LineageEstimatorStatistics</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/LineageCacheStatistics.html#displayFSTime--">displayFSTime()</a></span> - Static method in class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageCacheStatistics.html" title="class in org.apache.sysds.runtime.lineage">LineageCacheStatistics</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/caching/CacheStatistics.html#displayHits--">displayHits()</a></span> - Static method in class org.apache.sysds.runtime.controlprogram.caching.<a href="org/apache/sysds/runtime/controlprogram/caching/CacheStatistics.html" title="class in org.apache.sysds.runtime.controlprogram.caching">CacheStatistics</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/LineageCacheStatistics.html#displayHits--">displayHits()</a></span> - Static method in class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageCacheStatistics.html" title="class in org.apache.sysds.runtime.lineage">LineageCacheStatistics</a></dt>
@@ -6298,6 +6938,8 @@
 <dd>
 <div class="block">Display the script input variables.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/LineageEstimatorStatistics.html#displayLineageEstimates--">displayLineageEstimates()</a></span> - Static method in class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageEstimatorStatistics.html" title="class in org.apache.sysds.runtime.lineage">LineageEstimatorStatistics</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/api/mlcontext/MLContextUtil.html#displayMap-java.lang.String-java.util.Map-">displayMap(String, Map&lt;String, Object&gt;)</a></span> - Static method in class org.apache.sysds.api.mlcontext.<a href="org/apache/sysds/api/mlcontext/MLContextUtil.html" title="class in org.apache.sysds.api.mlcontext">MLContextUtil</a></dt>
 <dd>
 <div class="block">Display the keys and values in a Map</div>
@@ -6320,12 +6962,16 @@
 <dd>
 <div class="block">Display the script output variables.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/LineageEstimatorStatistics.html#displayReusableInsts--">displayReusableInsts()</a></span> - Static method in class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageEstimatorStatistics.html" title="class in org.apache.sysds.runtime.lineage">LineageEstimatorStatistics</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/LineageCacheStatistics.html#displayRewrites--">displayRewrites()</a></span> - Static method in class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageCacheStatistics.html" title="class in org.apache.sysds.runtime.lineage">LineageCacheStatistics</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/api/mlcontext/MLContextUtil.html#displaySet-java.lang.String-java.util.Set-">displaySet(String, Set&lt;String&gt;)</a></span> - Static method in class org.apache.sysds.api.mlcontext.<a href="org/apache/sysds/api/mlcontext/MLContextUtil.html" title="class in org.apache.sysds.api.mlcontext">MLContextUtil</a></dt>
 <dd>
 <div class="block">Display the values in a Set</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/LineageEstimatorStatistics.html#displaySize--">displaySize()</a></span> - Static method in class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageEstimatorStatistics.html" title="class in org.apache.sysds.runtime.lineage">LineageEstimatorStatistics</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/api/mlcontext/MLContextUtil.html#displaySymbolTable-java.lang.String-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">displaySymbolTable(String, LocalVariableMap)</a></span> - Static method in class org.apache.sysds.api.mlcontext.<a href="org/apache/sysds/api/mlcontext/MLContextUtil.html" title="class in org.apache.sysds.api.mlcontext">MLContextUtil</a></dt>
 <dd>
 <div class="block">Display the keys and values in the symbol table</div>
@@ -6340,8 +6986,6 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/caching/CacheStatistics.html#displayTime--">displayTime()</a></span> - Static method in class org.apache.sysds.runtime.controlprogram.caching.<a href="org/apache/sysds/runtime/controlprogram/caching/CacheStatistics.html" title="class in org.apache.sysds.runtime.controlprogram.caching">CacheStatistics</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/LineageCacheStatistics.html#displayTime--">displayTime()</a></span> - Static method in class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageCacheStatistics.html" title="class in org.apache.sysds.runtime.lineage">LineageCacheStatistics</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/caching/CacheStatistics.html#displayWrites--">displayWrites()</a></span> - Static method in class org.apache.sysds.runtime.controlprogram.caching.<a href="org/apache/sysds/runtime/controlprogram/caching/CacheStatistics.html" title="class in org.apache.sysds.runtime.controlprogram.caching">CacheStatistics</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/LineageCacheStatistics.html#displayWtrites--">displayWtrites()</a></span> - Static method in class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageCacheStatistics.html" title="class in org.apache.sysds.runtime.lineage">LineageCacheStatistics</a></dt>
@@ -6623,6 +7267,12 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/utils/NativeHelper.html#dmmdd-double:A-double:A-double:A-int-int-int-int-">dmmdd(double[], double[], double[], int, int, int, int)</a></span> - Static method in class org.apache.sysds.utils.<a href="org/apache/sysds/utils/NativeHelper.html" title="class in org.apache.sysds.utils">NativeHelper</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/util/DMVUtils.html" title="class in org.apache.sysds.runtime.util"><span class="typeNameLink">DMVUtils</span></a> - Class in <a href="org/apache/sysds/runtime/util/package-summary.html">org.apache.sysds.runtime.util</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/DMVUtils.html#DMVUtils--">DMVUtils()</a></span> - Constructor for class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/DMVUtils.html" title="class in org.apache.sysds.runtime.util">DMVUtils</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/util/DMVUtils.LEVEL_ENUM.html" title="enum in org.apache.sysds.runtime.util"><span class="typeNameLink">DMVUtils.LEVEL_ENUM</span></a> - Enum in <a href="org/apache/sysds/runtime/util/package-summary.html">org.apache.sysds.runtime.util</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/instructions/cp/DnnCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp"><span class="typeNameLink">DnnCPInstruction</span></a> - Class in <a href="org/apache/sysds/runtime/instructions/cp/package-summary.html">org.apache.sysds.runtime.instructions.cp</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/cp/DnnCPInstruction.html#DnnCPInstruction-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-java.util.ArrayList-java.util.ArrayList-java.util.ArrayList-java.util.ArrayList-int-double-java.lang.String-java.lang.String-">DnnCPInstruction(CPOperand, CPOperand, CPOperand, CPOperand, ArrayList&lt;CPOperand&gt;, ArrayList&lt;CPOperand&gt;, ArrayList&lt;CPOperand&gt;, ArrayList&lt;CPOperand&gt;, int, double, String, String)</a></span> - Constructor for class org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/DnnCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">DnnCPInstruction</a></dt>
@@ -6719,6 +7369,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/DRSparkScheme.html#doPartitioning-int-int-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">doPartitioning(int, int, MatrixBlock, MatrixBlock)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.paramserv.dp.<a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/DRSparkScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DRSparkScheme</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/FederatedDataPartitioner.html#doPartitioning-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-">doPartitioning(MatrixObject, MatrixObject)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.paramserv.dp.<a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/FederatedDataPartitioner.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">FederatedDataPartitioner</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/LocalDataPartitioner.html#doPartitioning-int-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">doPartitioning(int, MatrixBlock, MatrixBlock)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.paramserv.dp.<a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/LocalDataPartitioner.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">LocalDataPartitioner</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/ORLocalScheme.html#doPartitioning-int-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">doPartitioning(int, MatrixBlock, MatrixBlock)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.paramserv.dp.<a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/ORLocalScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">ORLocalScheme</a></dt>
@@ -6729,6 +7381,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/paramserv/ParamservUtils.html#doPartitionOnSpark-org.apache.sysds.runtime.controlprogram.context.SparkExecutionContext-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-org.apache.sysds.parser.Statement.PSScheme-int-">doPartitionOnSpark(SparkExecutionContext, MatrixObject, MatrixObject, Statement.PSScheme, int)</a></span> - Static method in class org.apache.sysds.runtime.controlprogram.paramserv.<a href="org/apache/sysds/runtime/controlprogram/paramserv/ParamservUtils.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv">ParamservUtils</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/DMVUtils.html#DOT">DOT</a></span> - Static variable in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/DMVUtils.html" title="class in org.apache.sysds.runtime.util">DMVUtils</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#dotProduct-double:A-double:A-int-int-int-">dotProduct(double[], double[], int, int, int)</a></span> - Static method in class org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html" title="class in org.apache.sysds.runtime.codegen">LibSpoofPrimitives</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#dotProduct-double:A-double:A-int:A-int-int-int-">dotProduct(double[], double[], int[], int, int, int)</a></span> - Static method in class org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html" title="class in org.apache.sysds.runtime.codegen">LibSpoofPrimitives</a></dt>
@@ -6751,12 +7405,16 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/UtilFunctions.html#DOUBLE_EPS">DOUBLE_EPS</a></span> - Static variable in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/UtilFunctions.html" title="class in org.apache.sysds.runtime.util">UtilFunctions</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/EMAUtils.html#double_exponential_smoothing-java.lang.Double:A-java.lang.Double-java.lang.Double-">double_exponential_smoothing(Double[], Double, Double)</a></span> - Static method in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/EMAUtils.html" title="class in org.apache.sysds.runtime.util">EMAUtils</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/OptimizerUtils.html#DOUBLE_SIZE">DOUBLE_SIZE</a></span> - Static variable in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/OptimizerUtils.html" title="class in org.apache.sysds.hops">OptimizerUtils</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/Statement.html#DOUBLE_VALUE_TYPE">DOUBLE_VALUE_TYPE</a></span> - Static variable in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/Statement.html" title="class in org.apache.sysds.parser">Statement</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/utils/MemoryEstimates.html#doubleArrayCost-long-">doubleArrayCost(long)</a></span> - Static method in class org.apache.sysds.utils.<a href="org/apache/sysds/utils/MemoryEstimates.html" title="class in org.apache.sysds.utils">MemoryEstimates</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block">Get the worst case memory usage of an array of doubles.</div>
+</dd>
 <dt><a href="org/apache/sysds/parser/DoubleIdentifier.html" title="class in org.apache.sysds.parser"><span class="typeNameLink">DoubleIdentifier</span></a> - Class in <a href="org/apache/sysds/parser/package-summary.html">org.apache.sysds.parser</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/DoubleIdentifier.html#DoubleIdentifier-double-">DoubleIdentifier(double)</a></span> - Constructor for class org.apache.sysds.parser.<a href="org/apache/sysds/parser/DoubleIdentifier.html" title="class in org.apache.sysds.parser">DoubleIdentifier</a></dt>
@@ -6789,6 +7447,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/cp/DoubleObject.html#DoubleObject-double-">DoubleObject(double)</a></span> - Constructor for class org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/DoubleObject.html" title="class in org.apache.sysds.runtime.instructions.cp">DoubleObject</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.DoublePrecision.html#DoublePrecision--">DoublePrecision()</a></span> - Constructor for class org.apache.sysds.runtime.instructions.gpu.<a href="org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.DoublePrecision.html" title="class in org.apache.sysds.runtime.instructions.gpu">SpoofCUDAInstruction.DoublePrecision</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/matrix/data/DoublePrecisionCudaSupportFunctions.html" title="class in org.apache.sysds.runtime.matrix.data"><span class="typeNameLink">DoublePrecisionCudaSupportFunctions</span></a> - Class in <a href="org/apache/sysds/runtime/matrix/data/package-summary.html">org.apache.sysds.runtime.matrix.data</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/DoublePrecisionCudaSupportFunctions.html#DoublePrecisionCudaSupportFunctions--">DoublePrecisionCudaSupportFunctions()</a></span> - Constructor for class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/DoublePrecisionCudaSupportFunctions.html" title="class in org.apache.sysds.runtime.matrix.data">DoublePrecisionCudaSupportFunctions</a></dt>
@@ -6859,6 +7519,10 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/dml/DmlParser.IfStatementContext.html#elseBody">elseBody</a></span> - Variable in class org.apache.sysds.parser.dml.<a href="org/apache/sysds/parser/dml/DmlParser.IfStatementContext.html" title="class in org.apache.sysds.parser.dml">DmlParser.IfStatementContext</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/util/EMAUtils.html" title="class in org.apache.sysds.runtime.util"><span class="typeNameLink">EMAUtils</span></a> - Class in <a href="org/apache/sysds/runtime/util/package-summary.html">org.apache.sysds.runtime.util</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/EMAUtils.html#EMAUtils--">EMAUtils()</a></span> - Constructor for class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/EMAUtils.html" title="class in org.apache.sysds.runtime.util">EMAUtils</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/ProgramConverter.html#EMPTY">EMPTY</a></span> - Static variable in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/ProgramConverter.html" title="class in org.apache.sysds.runtime.util">ProgramConverter</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/io/IOUtilFunctions.html#EMPTY_TEXT_LINE">EMPTY_TEXT_LINE</a></span> - Static variable in class org.apache.sysds.runtime.io.<a href="org/apache/sysds/runtime/io/IOUtilFunctions.html" title="class in org.apache.sysds.runtime.io">IOUtilFunctions</a></dt>
@@ -6878,68 +7542,26 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/DnnParameters.html#enableNative">enableNative</a></span> - Variable in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/DnnParameters.html" title="class in org.apache.sysds.runtime.matrix.data">DnnParameters</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/Encoder.html#encode-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">encode(FrameBlock, MatrixBlock)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></dt>
-<dd>
-<div class="block">Block encode: build and apply (transform encode).</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderBin.html#encode-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">encode(FrameBlock, MatrixBlock)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderBin.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderBin</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderComposite.html#encode-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">encode(FrameBlock, MatrixBlock)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderComposite</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderDummycode.html#encode-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">encode(FrameBlock, MatrixBlock)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderDummycode.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderDummycode</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderFeatureHash.html#encode-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">encode(FrameBlock, MatrixBlock)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderFeatureHash.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderFeatureHash</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html#encode-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">encode(FrameBlock, MatrixBlock)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderMVImpute</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderOmit.html#encode-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">encode(FrameBlock, MatrixBlock)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderOmit.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderOmit</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderPassThrough.html#encode-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">encode(FrameBlock, MatrixBlock)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderPassThrough.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderPassThrough</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderRecode.html#encode-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">encode(FrameBlock, MatrixBlock)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderRecode.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderRecode</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/fed/MultiReturnParameterizedBuiltinFEDInstruction.html#encodeFederatedFrames-org.apache.sysds.runtime.controlprogram.federated.FederationMap-org.apache.sysds.runtime.transform.encode.Encoder-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-">encodeFederatedFrames(FederationMap, Encoder, MatrixObject)</a></span> - Static method in class org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/MultiReturnParameterizedBuiltinFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">MultiReturnParameterizedBuiltinFEDInstruction</a></dt>
-<dd>&nbsp;</dd>
-<dt><a href="org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">Encoder</span></a> - Class in <a href="org/apache/sysds/runtime/transform/encode/package-summary.html">org.apache.sysds.runtime.transform.encode</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#encode-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">encode(FrameBlock, MatrixBlock)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/LegacyEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">LegacyEncoder</a></dt>
 <dd>
-<div class="block">Base class for all transform encoders providing both a row and block
- interface for decoding frames to matrices.</div>
+<div class="block">Block encode: build and apply (transform encode).</div>
 </dd>
-<dt><a href="org/apache/sysds/runtime/transform/encode/EncoderBin.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">EncoderBin</span></a> - Class in <a href="org/apache/sysds/runtime/transform/encode/package-summary.html">org.apache.sysds.runtime.transform.encode</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#encode-org.apache.sysds.runtime.matrix.data.FrameBlock-">encode(FrameBlock)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderBin.html#EncoderBin-org.apache.wink.json4j.JSONObject-java.lang.String:A-int-int-int-">EncoderBin(JSONObject, String[], int, int, int)</a></span> - Constructor for class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderBin.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderBin</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/fed/MultiReturnParameterizedBuiltinFEDInstruction.html#encodeFederatedFrames-org.apache.sysds.runtime.controlprogram.federated.FederationMap-org.apache.sysds.runtime.transform.encode.MultiColumnEncoder-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-">encodeFederatedFrames(FederationMap, MultiColumnEncoder, MatrixObject)</a></span> - Static method in class org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/MultiReturnParameterizedBuiltinFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">MultiReturnParameterizedBuiltinFEDInstruction</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderBin.html#EncoderBin--">EncoderBin()</a></span> - Constructor for class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderBin.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderBin</a></dt>
+<dt><a href="org/apache/sysds/runtime/transform/encode/Encoder.html" title="interface in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">Encoder</span></a> - Interface in <a href="org/apache/sysds/runtime/transform/encode/package-summary.html">org.apache.sysds.runtime.transform.encode</a></dt>
 <dd>&nbsp;</dd>
-<dt><a href="org/apache/sysds/runtime/transform/encode/EncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">EncoderComposite</span></a> - Class in <a href="org/apache/sysds/runtime/transform/encode/package-summary.html">org.apache.sysds.runtime.transform.encode</a></dt>
-<dd>
-<div class="block">Simple composite encoder that applies a list of encoders 
- in specified order.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderComposite.html#EncoderComposite-java.util.List-">EncoderComposite(List&lt;Encoder&gt;)</a></span> - Constructor for class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderComposite</a></dt>
-<dd>&nbsp;</dd>
-<dt><a href="org/apache/sysds/runtime/transform/encode/EncoderDummycode.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">EncoderDummycode</span></a> - Class in <a href="org/apache/sysds/runtime/transform/encode/package-summary.html">org.apache.sysds.runtime.transform.encode</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderDummycode.html#EncoderDummycode-org.apache.wink.json4j.JSONObject-java.lang.String:A-int-int-int-">EncoderDummycode(JSONObject, String[], int, int, int)</a></span> - Constructor for class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderDummycode.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderDummycode</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderDummycode.html#EncoderDummycode--">EncoderDummycode()</a></span> - Constructor for class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderDummycode.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderDummycode</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderDummycode.html#EncoderDummycode-int:A-int-int:A-long-">EncoderDummycode(int[], int, int[], long)</a></span> - Constructor for class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderDummycode.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderDummycode</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/DMVUtils.html#encodeRawString-java.lang.String-">encodeRawString(String)</a></span> - Static method in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/DMVUtils.html" title="class in org.apache.sysds.runtime.util">DMVUtils</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/transform/encode/EncoderFactory.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">EncoderFactory</span></a> - Class in <a href="org/apache/sysds/runtime/transform/encode/package-summary.html">org.apache.sysds.runtime.transform.encode</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderFactory.html#EncoderFactory--">EncoderFactory()</a></span> - Constructor for class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderFactory.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderFactory</a></dt>
 <dd>&nbsp;</dd>
-<dt><a href="org/apache/sysds/runtime/transform/encode/EncoderFeatureHash.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">EncoderFeatureHash</span></a> - Class in <a href="org/apache/sysds/runtime/transform/encode/package-summary.html">org.apache.sysds.runtime.transform.encode</a></dt>
-<dd>
-<div class="block">Class used for feature hashing transformation of frames.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderFeatureHash.html#EncoderFeatureHash-org.apache.wink.json4j.JSONObject-java.lang.String:A-int-int-int-">EncoderFeatureHash(JSONObject, String[], int, int, int)</a></span> - Constructor for class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderFeatureHash.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderFeatureHash</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderFeatureHash.html#EncoderFeatureHash-int:A-int-long-">EncoderFeatureHash(int[], int, long)</a></span> - Constructor for class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderFeatureHash.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderFeatureHash</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderFeatureHash.html#EncoderFeatureHash--">EncoderFeatureHash()</a></span> - Constructor for class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderFeatureHash.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderFeatureHash</a></dt>
-<dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">EncoderMVImpute</span></a> - Class in <a href="org/apache/sysds/runtime/transform/encode/package-summary.html">org.apache.sysds.runtime.transform.encode</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html#EncoderMVImpute-org.apache.wink.json4j.JSONObject-java.lang.String:A-int-int-int-">EncoderMVImpute(JSONObject, String[], int, int, int)</a></span> - Constructor for class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderMVImpute</a></dt>
@@ -6956,21 +7578,10 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderOmit.html#EncoderOmit--">EncoderOmit()</a></span> - Constructor for class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderOmit.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderOmit</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderOmit.html#EncoderOmit-int:A-int-">EncoderOmit(int[], int)</a></span> - Constructor for class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderOmit.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderOmit</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderOmit.html#EncoderOmit-boolean-">EncoderOmit(boolean)</a></span> - Constructor for class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderOmit.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderOmit</a></dt>
 <dd>&nbsp;</dd>
-<dt><a href="org/apache/sysds/runtime/transform/encode/EncoderPassThrough.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">EncoderPassThrough</span></a> - Class in <a href="org/apache/sysds/runtime/transform/encode/package-summary.html">org.apache.sysds.runtime.transform.encode</a></dt>
-<dd>
-<div class="block">Simple composite encoder that applies a list of encoders 
- in specified order.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderPassThrough.html#EncoderPassThrough--">EncoderPassThrough()</a></span> - Constructor for class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderPassThrough.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderPassThrough</a></dt>
-<dd>&nbsp;</dd>
-<dt><a href="org/apache/sysds/runtime/transform/encode/EncoderRecode.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">EncoderRecode</span></a> - Class in <a href="org/apache/sysds/runtime/transform/encode/package-summary.html">org.apache.sysds.runtime.transform.encode</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderRecode.html#EncoderRecode-org.apache.wink.json4j.JSONObject-java.lang.String:A-int-int-int-">EncoderRecode(JSONObject, String[], int, int, int)</a></span> - Constructor for class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderRecode.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderRecode</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderRecode.html#EncoderRecode--">EncoderRecode()</a></span> - Constructor for class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderRecode.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderRecode</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/DnnParameters.html#end_indexes_h">end_indexes_h</a></span> - Variable in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/DnnParameters.html" title="class in org.apache.sysds.runtime.matrix.data">DnnParameters</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/DnnParameters.html#end_indexes_w">end_indexes_w</a></span> - Variable in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/DnnParameters.html" title="class in org.apache.sysds.runtime.matrix.data">DnnParameters</a></dt>
@@ -7743,6 +8354,12 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/dml/DmlParser.ProgramrootContext.html#EOF--">EOF()</a></span> - Method in class org.apache.sysds.parser.dml.<a href="org/apache/sysds/parser/dml/DmlParser.ProgramrootContext.html" title="class in org.apache.sysds.parser.dml">DmlParser.ProgramrootContext</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/meta/DataCharacteristics.html#equalDims-java.lang.Object-">equalDims(Object)</a></span> - Method in class org.apache.sysds.runtime.meta.<a href="org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/meta/MatrixCharacteristics.html#equalDims-java.lang.Object-">equalDims(Object)</a></span> - Method in class org.apache.sysds.runtime.meta.<a href="org/apache/sysds/runtime/meta/MatrixCharacteristics.html" title="class in org.apache.sysds.runtime.meta">MatrixCharacteristics</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/meta/TensorCharacteristics.html#equalDims-java.lang.Object-">equalDims(Object)</a></span> - Method in class org.apache.sysds.runtime.meta.<a href="org/apache/sysds/runtime/meta/TensorCharacteristics.html" title="class in org.apache.sysds.runtime.meta">TensorCharacteristics</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/template/CPlanMemoTable.MemoTableEntry.html#equalPlanRefs-org.apache.sysds.hops.codegen.template.CPlanMemoTable.MemoTableEntry-">equalPlanRefs(CPlanMemoTable.MemoTableEntry)</a></span> - Method in class org.apache.sysds.hops.codegen.template.<a href="org/apache/sysds/hops/codegen/template/CPlanMemoTable.MemoTableEntry.html" title="class in org.apache.sysds.hops.codegen.template">CPlanMemoTable.MemoTableEntry</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/cplan/CNode.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.sysds.hops.codegen.cplan.<a href="org/apache/sysds/hops/codegen/cplan/CNode.html" title="class in org.apache.sysds.hops.codegen.cplan">CNode</a></dt>
@@ -7783,12 +8400,10 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/ParForStatementBlock.ResultVar.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/ParForStatementBlock.ResultVar.html" title="class in org.apache.sysds.parser">ParForStatementBlock.ResultVar</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.ColIndexes.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.sysds.runtime.compress.cocode.<a href="org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.ColIndexes.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCodingGroup.ColIndexes</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.sysds.runtime.compress.cocode.<a href="org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCodingGroup</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/utils/DblArray.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.sysds.runtime.compress.utils.<a href="org/apache/sysds/runtime/compress/utils/DblArray.html" title="class in org.apache.sysds.runtime.compress.utils">DblArray</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/federated/FederatedRange.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.federated.<a href="org/apache/sysds/runtime/controlprogram/federated/FederatedRange.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRange</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/parfor/ResultMergeTaggedMatrixIndexes.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.parfor.<a href="org/apache/sysds/runtime/controlprogram/parfor/ResultMergeTaggedMatrixIndexes.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">ResultMergeTaggedMatrixIndexes</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/ParForProgramBlock.PartitionFormat.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.<a href="org/apache/sysds/runtime/controlprogram/ParForProgramBlock.PartitionFormat.html" title="class in org.apache.sysds.runtime.controlprogram">ParForProgramBlock.PartitionFormat</a></dt>
@@ -7833,6 +8448,16 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyList.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.sysds.runtime.privacy.finegrained.<a href="org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyList.html" title="class in org.apache.sysds.runtime.privacy.finegrained">FineGrainedPrivacyList</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/privacy/PrivacyConstraint.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.sysds.runtime.privacy.<a href="org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderComposite</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderDummycode.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderDummycode.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderDummycode</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderRecode.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderRecode.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderRecode</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderOmit.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderOmit.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderOmit</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/CollectionUtils.html#equals-java.util.List-java.util.List-">equals(List&lt;T&gt;, List&lt;T&gt;)</a></span> - Static method in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/CollectionUtils.html" title="class in org.apache.sysds.runtime.util">CollectionUtils</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/api/DMLException.html#ERROR_MSG_DELIMITER">ERROR_MSG_DELIMITER</a></span> - Static variable in exception org.apache.sysds.api.<a href="org/apache/sysds/api/DMLException.html" title="class in org.apache.sysds.api">DMLException</a></dt>
@@ -7932,7 +8557,7 @@
 <dd>
 <div class="block">Abstract method for extracting Compressed Size Info of specified columns, together in a single ColGroup</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/estim/CompressedSizeEstimator.html#estimateCompressedColGroupSize-org.apache.sysds.runtime.compress.utils.ABitmap-">estimateCompressedColGroupSize(ABitmap)</a></span> - Method in class org.apache.sysds.runtime.compress.estim.<a href="org/apache/sysds/runtime/compress/estim/CompressedSizeEstimator.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeEstimator</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/estim/CompressedSizeEstimator.html#estimateCompressedColGroupSize-org.apache.sysds.runtime.compress.utils.ABitmap-int:A-">estimateCompressedColGroupSize(ABitmap, int[])</a></span> - Method in class org.apache.sysds.runtime.compress.estim.<a href="org/apache/sysds/runtime/compress/estim/CompressedSizeEstimator.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeEstimator</a></dt>
 <dd>
 <div class="block">Method used to extract the CompressedSizeEstimationFactors from an constructed UncompressedBitmap.</div>
 </dd>
@@ -7954,29 +8579,37 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressionStatistics.html#estimatedSizeCols">estimatedSizeCols</a></span> - Variable in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressionStatistics.html" title="class in org.apache.sysds.runtime.compress">CompressionStatistics</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html#estimateInMemorySize--">estimateInMemorySize()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html#estimateInMemorySize--">estimateInMemorySize()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></dt>
 <dd>
 <div class="block">Note: Must be overridden by child classes to account for additional data and metadata</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#estimateInMemorySize--">estimateInMemorySize()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupConst</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html#estimateInMemorySize--">estimateInMemorySize()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC1</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#estimateInMemorySize--">estimateInMemorySize()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html#estimateInMemorySize--">estimateInMemorySize()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC2</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html#estimateInMemorySize--">estimateInMemorySize()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupEmpty</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#estimateInMemorySize--">estimateInMemorySize()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOffset</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#estimateInMemorySize--">estimateInMemorySize()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOLE</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html#estimateInMemorySize--">estimateInMemorySize()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDC</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html#estimateInMemorySize--">estimateInMemorySize()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingle</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html#estimateInMemorySize--">estimateInMemorySize()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingleZeros</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#estimateInMemorySize--">estimateInMemorySize()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCZeros</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#estimateInMemorySize--">estimateInMemorySize()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupUncompressed</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToFactory.html#estimateInMemorySize-int-int-">estimateInMemorySize(int, int)</a></span> - Static method in class org.apache.sysds.runtime.compress.colgroup.mapping.<a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToFactory.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping">MapToFactory</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSizes.html#estimateInMemorySizeCONST-int-int-boolean-">estimateInMemorySizeCONST(int, int, boolean)</a></span> - Static method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSizes.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSizes</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSizes.html#estimateInMemorySizeDDC-int-int-boolean-">estimateInMemorySizeDDC(int, int, boolean)</a></span> - Static method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSizes.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSizes</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSizes.html#estimateInMemorySizeDDC-int-int-int-boolean-">estimateInMemorySizeDDC(int, int, int, boolean)</a></span> - Static method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSizes.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSizes</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSizes.html#estimateInMemorySizeDDC1-int-int-int-boolean-">estimateInMemorySizeDDC1(int, int, int, boolean)</a></span> - Static method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSizes.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSizes</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSizes.html#estimateInMemorySizeDDC2-int-int-int-boolean-">estimateInMemorySizeDDC2(int, int, int, boolean)</a></span> - Static method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSizes.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSizes</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSizes.html#estimateInMemorySizeEMPTY-int-">estimateInMemorySizeEMPTY(int)</a></span> - Static method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSizes.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSizes</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSizes.html#estimateInMemorySizeGroup-int-">estimateInMemorySizeGroup(int)</a></span> - Static method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSizes.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSizes</a></dt>
 <dd>&nbsp;</dd>
@@ -7988,44 +8621,48 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSizes.html#estimateInMemorySizeRLE-int-int-int-int-boolean-">estimateInMemorySizeRLE(int, int, int, int, boolean)</a></span> - Static method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSizes.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSizes</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSizes.html#estimateInMemorySizeSDC-int-int-int-int-boolean-">estimateInMemorySizeSDC(int, int, int, int, boolean)</a></span> - Static method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSizes.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSizes</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSizes.html#estimateInMemorySizeSDCSingle-int-int-int-int-boolean-">estimateInMemorySizeSDCSingle(int, int, int, int, boolean)</a></span> - Static method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSizes.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSizes</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSizes.html#estimateInMemorySizeUncompressed-int-int-double-">estimateInMemorySizeUncompressed(int, int, double)</a></span> - Static method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSizes.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSizes</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/data/SparseBlockCOO.html#estimateMemory-long-long-double-">estimateMemory(long, long, double)</a></span> - Static method in class org.apache.sysds.runtime.data.<a href="org/apache/sysds/runtime/data/SparseBlockCOO.html" title="class in org.apache.sysds.runtime.data">SparseBlockCOO</a></dt>
-<dd>
-<div class="block">Get the estimated in-memory size of the sparse block in COO 
- with the given dimensions w/o accounting for overallocation.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/data/SparseBlockCSR.html#estimateMemory-long-long-double-">estimateMemory(long, long, double)</a></span> - Static method in class org.apache.sysds.runtime.data.<a href="org/apache/sysds/runtime/data/SparseBlockCSR.html" title="class in org.apache.sysds.runtime.data">SparseBlockCSR</a></dt>
-<dd>
-<div class="block">Get the estimated in-memory size of the sparse block in CSR 
- with the given dimensions w/o accounting for overallocation.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/data/SparseBlockMCSR.html#estimateMemory-long-long-double-">estimateMemory(long, long, double)</a></span> - Static method in class org.apache.sysds.runtime.data.<a href="org/apache/sysds/runtime/data/SparseBlockMCSR.html" title="class in org.apache.sysds.runtime.data">SparseBlockMCSR</a></dt>
-<dd>
-<div class="block">Get the estimated in-memory size of the sparse block in MCSR 
- with the given dimensions w/o accounting for overallocation.</div>
-</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/data/DenseBlock.html#estimateMemory-long-long-">estimateMemory(long, long)</a></span> - Static method in class org.apache.sysds.runtime.data.<a href="org/apache/sysds/runtime/data/DenseBlock.html" title="class in org.apache.sysds.runtime.data">DenseBlock</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/data/DenseBlockFP64.html#estimateMemory-long-long-">estimateMemory(long, long)</a></span> - Static method in class org.apache.sysds.runtime.data.<a href="org/apache/sysds/runtime/data/DenseBlockFP64.html" title="class in org.apache.sysds.runtime.data">DenseBlockFP64</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/estim/EstimatorLayeredGraph.LayeredGraph.html#estimateNnz--">estimateNnz()</a></span> - Method in class org.apache.sysds.hops.estim.<a href="org/apache/sysds/hops/estim/EstimatorLayeredGraph.LayeredGraph.html" title="class in org.apache.sysds.hops.estim">EstimatorLayeredGraph.LayeredGraph</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/HDFSTool.html#estimateNnzBasedOnFileSize-org.apache.hadoop.fs.Path-long-long-int-double-">estimateNnzBasedOnFileSize(Path, long, long, int, double)</a></span> - Static method in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/HDFSTool.html" title="class in org.apache.sysds.runtime.util">HDFSTool</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#estimateOriginalSizeInMemory-int-int-double-">estimateOriginalSizeInMemory(int, int, double)</a></span> - Static method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">AbstractCompressedMatrixBlock</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#estimateOriginalSizeInMemory-int-int-double-">estimateOriginalSizeInMemory(int, int, double)</a></span> - Static method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/OptimizerUtils.html#estimatePartitionedSizeExactSparsity-org.apache.sysds.runtime.meta.DataCharacteristics-">estimatePartitionedSizeExactSparsity(DataCharacteristics)</a></span> - Static method in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/OptimizerUtils.html" title="class in org.apache.sysds.hops">OptimizerUtils</a></dt>
 <dd>
 <div class="block">Estimates the footprint (in bytes) for a partitioned in-memory representation of a
  matrix with the given matrix characteristics</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/OptimizerUtils.html#estimatePartitionedSizeExactSparsity-org.apache.sysds.runtime.meta.DataCharacteristics-boolean-">estimatePartitionedSizeExactSparsity(DataCharacteristics, boolean)</a></span> - Static method in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/OptimizerUtils.html" title="class in org.apache.sysds.hops">OptimizerUtils</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/OptimizerUtils.html#estimatePartitionedSizeExactSparsity-long-long-long-long-">estimatePartitionedSizeExactSparsity(long, long, long, long)</a></span> - Static method in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/OptimizerUtils.html" title="class in org.apache.sysds.hops">OptimizerUtils</a></dt>
 <dd>
 <div class="block">Estimates the footprint (in bytes) for a partitioned in-memory representation of a
  matrix with dimensions=(nrows,ncols) and number of non-zeros nnz.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/OptimizerUtils.html#estimatePartitionedSizeExactSparsity-long-long-long-long-boolean-">estimatePartitionedSizeExactSparsity(long, long, long, long, boolean)</a></span> - Static method in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/OptimizerUtils.html" title="class in org.apache.sysds.hops">OptimizerUtils</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/OptimizerUtils.html#estimatePartitionedSizeExactSparsity-org.apache.sysds.hops.Hop-">estimatePartitionedSizeExactSparsity(Hop)</a></span> - Static method in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/OptimizerUtils.html" title="class in org.apache.sysds.hops">OptimizerUtils</a></dt>
+<dd>
+<div class="block">Estimates the footprint (in bytes) for a partitioned in-memory representation of a
+ matrix with the hops dimensions and number of non-zeros nnz.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/OptimizerUtils.html#estimatePartitionedSizeExactSparsity-long-long-long-double-">estimatePartitionedSizeExactSparsity(long, long, long, double)</a></span> - Static method in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/OptimizerUtils.html" title="class in org.apache.sysds.hops">OptimizerUtils</a></dt>
 <dd>
 <div class="block">Estimates the footprint (in bytes) for a partitioned in-memory representation of a
  matrix with dimensions=(nrows,ncols) and sparsity=sp.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/OptimizerUtils.html#estimatePartitionedSizeExactSparsity-long-long-long-double-boolean-">estimatePartitionedSizeExactSparsity(long, long, long, double, boolean)</a></span> - Static method in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/OptimizerUtils.html" title="class in org.apache.sysds.hops">OptimizerUtils</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/OptimizerUtils.html#estimateSize-org.apache.sysds.runtime.meta.DataCharacteristics-">estimateSize(DataCharacteristics)</a></span> - Static method in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/OptimizerUtils.html" title="class in org.apache.sysds.hops">OptimizerUtils</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/OptimizerUtils.html#estimateSize-long-long-">estimateSize(long, long)</a></span> - Static method in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/OptimizerUtils.html" title="class in org.apache.sysds.hops">OptimizerUtils</a></dt>
@@ -8038,6 +8675,8 @@
 <div class="block">Estimate the size of a CSR matrix in GPU memory
  Size of pointers is not needed and is not added in</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/data/DenseBlockFactory.html#estimateSizeDenseInMemory-long-long-">estimateSizeDenseInMemory(long, long)</a></span> - Static method in class org.apache.sysds.runtime.data.<a href="org/apache/sysds/runtime/data/DenseBlockFactory.html" title="class in org.apache.sysds.runtime.data">DenseBlockFactory</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html#estimateSizeDenseInMemory-long-long-">estimateSizeDenseInMemory(long, long)</a></span> - Static method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/OptimizerUtils.html#estimateSizeEmptyBlock-long-long-">estimateSizeEmptyBlock(long, long)</a></span> - Static method in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/OptimizerUtils.html" title="class in org.apache.sysds.hops">OptimizerUtils</a></dt>
@@ -8054,6 +8693,21 @@
 <div class="block">Estimates the footprint (in bytes) for an in-memory representation of a
  matrix with dimensions=(nrows,ncols) and sparsity=sp.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/data/SparseBlockCOO.html#estimateSizeInMemory-long-long-double-">estimateSizeInMemory(long, long, double)</a></span> - Static method in class org.apache.sysds.runtime.data.<a href="org/apache/sysds/runtime/data/SparseBlockCOO.html" title="class in org.apache.sysds.runtime.data">SparseBlockCOO</a></dt>
+<dd>
+<div class="block">Get the estimated in-memory size of the sparse block in COO 
+ with the given dimensions w/o accounting for overallocation.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/data/SparseBlockCSR.html#estimateSizeInMemory-long-long-double-">estimateSizeInMemory(long, long, double)</a></span> - Static method in class org.apache.sysds.runtime.data.<a href="org/apache/sysds/runtime/data/SparseBlockCSR.html" title="class in org.apache.sysds.runtime.data">SparseBlockCSR</a></dt>
+<dd>
+<div class="block">Get the estimated in-memory size of the sparse block in CSR 
+ with the given dimensions w/o accounting for overallocation.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/data/SparseBlockMCSR.html#estimateSizeInMemory-long-long-double-">estimateSizeInMemory(long, long, double)</a></span> - Static method in class org.apache.sysds.runtime.data.<a href="org/apache/sysds/runtime/data/SparseBlockMCSR.html" title="class in org.apache.sysds.runtime.data">SparseBlockMCSR</a></dt>
+<dd>
+<div class="block">Get the estimated in-memory size of the sparse block in MCSR 
+ with the given dimensions w/o accounting for overallocation.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html#estimateSizeInMemory--">estimateSizeInMemory()</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html#estimateSizeInMemory-long-long-double-">estimateSizeInMemory(long, long, double)</a></span> - Static method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></dt>
@@ -8237,6 +8891,12 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/parfor/opt/OptNode.html#exchangeChild-org.apache.sysds.runtime.controlprogram.parfor.opt.OptNode-org.apache.sysds.runtime.controlprogram.parfor.opt.OptNode-">exchangeChild(OptNode, OptNode)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.parfor.opt.<a href="org/apache/sysds/runtime/controlprogram/parfor/opt/OptNode.html" title="class in org.apache.sysds.runtime.controlprogram.parfor.opt">OptNode</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/codegen/SpoofCUDAOperator.PrecisionProxy.html#exec-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.runtime.codegen.SpoofCUDAOperator-int-long:A-long:A-long:A-java.util.ArrayList-long-">exec(ExecutionContext, SpoofCUDAOperator, int, long[], long[], long[], ArrayList&lt;ScalarObject&gt;, long)</a></span> - Method in class org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/SpoofCUDAOperator.PrecisionProxy.html" title="class in org.apache.sysds.runtime.codegen">SpoofCUDAOperator.PrecisionProxy</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.DoublePrecision.html#exec-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.runtime.codegen.SpoofCUDAOperator-int-long:A-long:A-long:A-java.util.ArrayList-long-">exec(ExecutionContext, SpoofCUDAOperator, int, long[], long[], long[], ArrayList&lt;ScalarObject&gt;, long)</a></span> - Method in class org.apache.sysds.runtime.instructions.gpu.<a href="org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.DoublePrecision.html" title="class in org.apache.sysds.runtime.instructions.gpu">SpoofCUDAInstruction.DoublePrecision</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.SinglePrecision.html#exec-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.runtime.codegen.SpoofCUDAOperator-int-long:A-long:A-long:A-java.util.ArrayList-long-">exec(ExecutionContext, SpoofCUDAOperator, int, long[], long[], long[], ArrayList&lt;ScalarObject&gt;, long)</a></span> - Method in class org.apache.sysds.runtime.instructions.gpu.<a href="org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.SinglePrecision.html" title="class in org.apache.sysds.runtime.instructions.gpu">SpoofCUDAInstruction.SinglePrecision</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/ParForStatementBlock.html#EXEC_MODE">EXEC_MODE</a></span> - Static variable in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/ParForStatementBlock.html" title="class in org.apache.sysds.parser">ParForStatementBlock</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/parfor/opt/OptimizerHeuristic.html#EXEC_TIME_THRESHOLD">EXEC_TIME_THRESHOLD</a></span> - Static variable in class org.apache.sysds.runtime.controlprogram.parfor.opt.<a href="org/apache/sysds/runtime/controlprogram/parfor/opt/OptimizerHeuristic.html" title="class in org.apache.sysds.runtime.controlprogram.parfor.opt">OptimizerHeuristic</a></dt>
@@ -8271,6 +8931,18 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/codegen/SpoofCellwise.html#execute-java.util.ArrayList-java.util.ArrayList-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-long-">execute(ArrayList&lt;MatrixBlock&gt;, ArrayList&lt;ScalarObject&gt;, MatrixBlock, int, long)</a></span> - Method in class org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/SpoofCellwise.html" title="class in org.apache.sysds.runtime.codegen">SpoofCellwise</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/codegen/SpoofCUDACellwise.html#execute-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-java.util.ArrayList-java.util.ArrayList-">execute(ExecutionContext, ArrayList&lt;MatrixObject&gt;, ArrayList&lt;ScalarObject&gt;)</a></span> - Method in class org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/SpoofCUDACellwise.html" title="class in org.apache.sysds.runtime.codegen">SpoofCUDACellwise</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/codegen/SpoofCUDACellwise.html#execute-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-java.util.ArrayList-java.util.ArrayList-java.lang.String-">execute(ExecutionContext, ArrayList&lt;MatrixObject&gt;, ArrayList&lt;ScalarObject&gt;, String)</a></span> - Method in class org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/SpoofCUDACellwise.html" title="class in org.apache.sysds.runtime.codegen">SpoofCUDACellwise</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html#execute-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-java.util.ArrayList-java.util.ArrayList-java.lang.String-">execute(ExecutionContext, ArrayList&lt;MatrixObject&gt;, ArrayList&lt;ScalarObject&gt;, String)</a></span> - Method in interface org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html" title="interface in org.apache.sysds.runtime.codegen">SpoofCUDAOperator</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html#execute-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-java.util.ArrayList-java.util.ArrayList-">execute(ExecutionContext, ArrayList&lt;MatrixObject&gt;, ArrayList&lt;ScalarObject&gt;)</a></span> - Method in interface org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html" title="interface in org.apache.sysds.runtime.codegen">SpoofCUDAOperator</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/codegen/SpoofCUDARowwise.html#execute-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-java.util.ArrayList-java.util.ArrayList-">execute(ExecutionContext, ArrayList&lt;MatrixObject&gt;, ArrayList&lt;ScalarObject&gt;)</a></span> - Method in class org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/SpoofCUDARowwise.html" title="class in org.apache.sysds.runtime.codegen">SpoofCUDARowwise</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/codegen/SpoofCUDARowwise.html#execute-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-java.util.ArrayList-java.util.ArrayList-java.lang.String-">execute(ExecutionContext, ArrayList&lt;MatrixObject&gt;, ArrayList&lt;ScalarObject&gt;, String)</a></span> - Method in class org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/SpoofCUDARowwise.html" title="class in org.apache.sysds.runtime.codegen">SpoofCUDARowwise</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/codegen/SpoofMultiAggregate.html#execute-java.util.ArrayList-java.util.ArrayList-org.apache.sysds.runtime.matrix.data.MatrixBlock-">execute(ArrayList&lt;MatrixBlock&gt;, ArrayList&lt;ScalarObject&gt;, MatrixBlock)</a></span> - Method in class org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/SpoofMultiAggregate.html" title="class in org.apache.sysds.runtime.codegen">SpoofMultiAggregate</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/codegen/SpoofMultiAggregate.html#execute-java.util.ArrayList-java.util.ArrayList-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">execute(ArrayList&lt;MatrixBlock&gt;, ArrayList&lt;ScalarObject&gt;, MatrixBlock, int)</a></span> - Method in class org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/SpoofMultiAggregate.html" title="class in org.apache.sysds.runtime.codegen">SpoofMultiAggregate</a></dt>
@@ -8317,6 +8989,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/federated/FederationMap.html#execute-long-boolean-org.apache.sysds.runtime.controlprogram.federated.FederatedRequest:A-org.apache.sysds.runtime.controlprogram.federated.FederatedRequest...-">execute(long, boolean, FederatedRequest[], FederatedRequest...)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.federated.<a href="org/apache/sysds/runtime/controlprogram/federated/FederationMap.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationMap</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/federated/FederationMap.html#execute-long-boolean-org.apache.sysds.runtime.controlprogram.federated.FederatedRequest:A-org.apache.sysds.runtime.controlprogram.federated.FederatedRequest:A-org.apache.sysds.runtime.controlprogram.federated.FederatedRequest...-">execute(long, boolean, FederatedRequest[], FederatedRequest[], FederatedRequest...)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.federated.<a href="org/apache/sysds/runtime/controlprogram/federated/FederationMap.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationMap</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/ForProgramBlock.html#execute-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">execute(ExecutionContext)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.<a href="org/apache/sysds/runtime/controlprogram/ForProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ForProgramBlock</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/FunctionProgramBlock.html#execute-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">execute(ExecutionContext)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.<a href="org/apache/sysds/runtime/controlprogram/FunctionProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">FunctionProgramBlock</a></dt>
@@ -8591,6 +9265,10 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/fed/ParameterizedBuiltinFEDInstruction.DecodeMatrix.html#execute-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.runtime.instructions.cp.Data...-">execute(ExecutionContext, Data...)</a></span> - Method in class org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/ParameterizedBuiltinFEDInstruction.DecodeMatrix.html" title="class in org.apache.sysds.runtime.instructions.fed">ParameterizedBuiltinFEDInstruction.DecodeMatrix</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.DiagMatrix.html#execute-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.runtime.instructions.cp.Data...-">execute(ExecutionContext, Data...)</a></span> - Method in class org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.DiagMatrix.html" title="class in org.apache.sysds.runtime.instructions.fed">ReorgFEDInstruction.DiagMatrix</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.Rdiag.html#execute-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.runtime.instructions.cp.Data...-">execute(ExecutionContext, Data...)</a></span> - Method in class org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.Rdiag.html" title="class in org.apache.sysds.runtime.instructions.fed">ReorgFEDInstruction.Rdiag</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/LibMatrixDNNRotate180.Rotate180Worker.html#execute-int-int-">execute(int, int)</a></span> - Method in interface org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/LibMatrixDNNRotate180.Rotate180Worker.html" title="interface in org.apache.sysds.runtime.matrix.data">LibMatrixDNNRotate180.Rotate180Worker</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/CommonThreadPool.html#execute-java.lang.Runnable-">execute(Runnable)</a></span> - Method in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/CommonThreadPool.html" title="class in org.apache.sysds.runtime.util">CommonThreadPool</a></dt>
@@ -8618,6 +9296,26 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/functionobjects/KahanPlusSq.html#execute3-org.apache.sysds.runtime.instructions.cp.KahanObject-double-int-">execute3(KahanObject, double, int)</a></span> - Method in class org.apache.sysds.runtime.functionobjects.<a href="org/apache/sysds/runtime/functionobjects/KahanPlusSq.html" title="class in org.apache.sysds.runtime.functionobjects">KahanPlusSq</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/codegen/SpoofCUDACellwise.html#execute_d-long-long:A-long:A-long:A-long:A-long-">execute_d(long, long[], long[], long[], long[], long)</a></span> - Static method in class org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/SpoofCUDACellwise.html" title="class in org.apache.sysds.runtime.codegen">SpoofCUDACellwise</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/codegen/SpoofCUDARowwise.html#execute_d-long-long:A-long:A-long:A-long:A-long-">execute_d(long, long[], long[], long[], long[], long)</a></span> - Static method in class org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/SpoofCUDARowwise.html" title="class in org.apache.sysds.runtime.codegen">SpoofCUDARowwise</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/codegen/SpoofCUDACellwise.html#execute_dp-long-long:A-long:A-long:A-long:A-long-">execute_dp(long, long[], long[], long[], long[], long)</a></span> - Method in class org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/SpoofCUDACellwise.html" title="class in org.apache.sysds.runtime.codegen">SpoofCUDACellwise</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html#execute_dp-long-long:A-long:A-long:A-long:A-long-">execute_dp(long, long[], long[], long[], long[], long)</a></span> - Method in interface org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html" title="interface in org.apache.sysds.runtime.codegen">SpoofCUDAOperator</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/codegen/SpoofCUDARowwise.html#execute_dp-long-long:A-long:A-long:A-long:A-long-">execute_dp(long, long[], long[], long[], long[], long)</a></span> - Method in class org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/SpoofCUDARowwise.html" title="class in org.apache.sysds.runtime.codegen">SpoofCUDARowwise</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/codegen/SpoofCUDACellwise.html#execute_f-long-long:A-long:A-long:A-long:A-long-">execute_f(long, long[], long[], long[], long[], long)</a></span> - Static method in class org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/SpoofCUDACellwise.html" title="class in org.apache.sysds.runtime.codegen">SpoofCUDACellwise</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/codegen/SpoofCUDARowwise.html#execute_f-long-long:A-long:A-long:A-long:A-long-">execute_f(long, long[], long[], long[], long[], long)</a></span> - Static method in class org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/SpoofCUDARowwise.html" title="class in org.apache.sysds.runtime.codegen">SpoofCUDARowwise</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/codegen/SpoofCUDACellwise.html#execute_sp-long-long:A-long:A-long:A-long:A-long-">execute_sp(long, long[], long[], long[], long[], long)</a></span> - Method in class org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/SpoofCUDACellwise.html" title="class in org.apache.sysds.runtime.codegen">SpoofCUDACellwise</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html#execute_sp-long-long:A-long:A-long:A-long:A-long-">execute_sp(long, long[], long[], long[], long[], long)</a></span> - Method in interface org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html" title="interface in org.apache.sysds.runtime.codegen">SpoofCUDAOperator</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/codegen/SpoofCUDARowwise.html#execute_sp-long-long:A-long:A-long:A-long:A-long-">execute_sp(long, long[], long[], long[], long[], long)</a></span> - Method in class org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/SpoofCUDARowwise.html" title="class in org.apache.sysds.runtime.codegen">SpoofCUDARowwise</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/federated/FederatedData.html#executeFederatedOperation-org.apache.sysds.runtime.controlprogram.federated.FederatedRequest...-">executeFederatedOperation(FederatedRequest...)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.federated.<a href="org/apache/sysds/runtime/controlprogram/federated/FederatedData.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedData</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/federated/FederatedData.html#executeFederatedOperation-java.net.InetSocketAddress-org.apache.sysds.runtime.controlprogram.federated.FederatedRequest...-">executeFederatedOperation(InetSocketAddress, FederatedRequest...)</a></span> - Static method in class org.apache.sysds.runtime.controlprogram.federated.<a href="org/apache/sysds/runtime/controlprogram/federated/FederatedData.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedData</a></dt>
@@ -8626,11 +9324,11 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/federated/FederatedLocalData.html#executeFederatedOperation-org.apache.sysds.runtime.controlprogram.federated.FederatedRequest...-">executeFederatedOperation(FederatedRequest...)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.federated.<a href="org/apache/sysds/runtime/controlprogram/federated/FederatedLocalData.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedLocalData</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/fed/MultiReturnParameterizedBuiltinFEDInstruction.ExecuteFrameEncoder.html#ExecuteFrameEncoder-long-long-org.apache.sysds.runtime.transform.encode.Encoder-">ExecuteFrameEncoder(long, long, Encoder)</a></span> - Constructor for class org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/MultiReturnParameterizedBuiltinFEDInstruction.ExecuteFrameEncoder.html" title="class in org.apache.sysds.runtime.instructions.fed">MultiReturnParameterizedBuiltinFEDInstruction.ExecuteFrameEncoder</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/fed/MultiReturnParameterizedBuiltinFEDInstruction.ExecuteFrameEncoder.html#ExecuteFrameEncoder-long-long-org.apache.sysds.runtime.transform.encode.MultiColumnEncoder-">ExecuteFrameEncoder(long, long, MultiColumnEncoder)</a></span> - Constructor for class org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/MultiReturnParameterizedBuiltinFEDInstruction.ExecuteFrameEncoder.html" title="class in org.apache.sysds.runtime.instructions.fed">MultiReturnParameterizedBuiltinFEDInstruction.ExecuteFrameEncoder</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/recompile/Recompiler.html#executeInMemoryFrameReblock-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-java.lang.String-java.lang.String-">executeInMemoryFrameReblock(ExecutionContext, String, String)</a></span> - Static method in class org.apache.sysds.hops.recompile.<a href="org/apache/sysds/hops/recompile/Recompiler.html" title="class in org.apache.sysds.hops.recompile">Recompiler</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/recompile/Recompiler.html#executeInMemoryReblock-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-java.lang.String-java.lang.String-">executeInMemoryReblock(ExecutionContext, String, String)</a></span> - Static method in class org.apache.sysds.hops.recompile.<a href="org/apache/sysds/hops/recompile/Recompiler.html" title="class in org.apache.sysds.hops.recompile">Recompiler</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/recompile/Recompiler.html#executeInMemoryMatrixReblock-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-java.lang.String-java.lang.String-">executeInMemoryMatrixReblock(ExecutionContext, String, String)</a></span> - Static method in class org.apache.sysds.hops.recompile.<a href="org/apache/sysds/hops/recompile/Recompiler.html" title="class in org.apache.sysds.hops.recompile">Recompiler</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/federated/FederationMap.html#executeMultipleSlices-long-boolean-org.apache.sysds.runtime.controlprogram.federated.FederatedRequest:A:A-org.apache.sysds.runtime.controlprogram.federated.FederatedRequest:A-">executeMultipleSlices(long, boolean, FederatedRequest[][], FederatedRequest[])</a></span> - Method in class org.apache.sysds.runtime.controlprogram.federated.<a href="org/apache/sysds/runtime/controlprogram/federated/FederationMap.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationMap</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/parfor/ResultMerge.html#executeParallelMerge-int-">executeParallelMerge(int)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.parfor.<a href="org/apache/sysds/runtime/controlprogram/parfor/ResultMerge.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">ResultMerge</a></dt>
 <dd>
@@ -9548,6 +10246,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/utils/Explain.html#explainDegreeOfParallelism-org.apache.sysds.utils.Explain.ExplainCounts-">explainDegreeOfParallelism(Explain.ExplainCounts)</a></span> - Static method in class org.apache.sysds.utils.<a href="org/apache/sysds/utils/Explain.html" title="class in org.apache.sysds.utils">Explain</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/utils/Explain.html#explainFunctionCallGraph-org.apache.sysds.hops.ipa.FunctionCallGraph-java.util.HashSet-java.lang.String-int-">explainFunctionCallGraph(FunctionCallGraph, HashSet&lt;String&gt;, String, int)</a></span> - Static method in class org.apache.sysds.utils.<a href="org/apache/sysds/utils/Explain.html" title="class in org.apache.sysds.utils">Explain</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/utils/Explain.html#explainHops-java.util.ArrayList-">explainHops(ArrayList&lt;Hop&gt;)</a></span> - Static method in class org.apache.sysds.utils.<a href="org/apache/sysds/utils/Explain.html" title="class in org.apache.sysds.utils">Explain</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/utils/Explain.html#explainHops-java.util.ArrayList-int-">explainHops(ArrayList&lt;Hop&gt;, int)</a></span> - Static method in class org.apache.sysds.utils.<a href="org/apache/sysds/utils/Explain.html" title="class in org.apache.sysds.utils">Explain</a></dt>
@@ -9564,6 +10264,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/api/DMLOptions.html#explainType">explainType</a></span> - Variable in class org.apache.sysds.api.<a href="org/apache/sysds/api/DMLOptions.html" title="class in org.apache.sysds.api">DMLOptions</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/EMAUtils.html#exponentialMovingAverageImputation-org.apache.sysds.runtime.matrix.data.FrameBlock-int-java.lang.String-int-java.lang.Double-java.lang.Double-java.lang.Double-">exponentialMovingAverageImputation(FrameBlock, int, String, int, Double, Double, Double)</a></span> - Static method in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/EMAUtils.html" title="class in org.apache.sysds.runtime.util">EMAUtils</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#exportData--">exportData()</a></span> - Method in class org.apache.sysds.runtime.controlprogram.caching.<a href="org/apache/sysds/runtime/controlprogram/caching/CacheableData.html" title="class in org.apache.sysds.runtime.controlprogram.caching">CacheableData</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#exportData-int-">exportData(int)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.caching.<a href="org/apache/sysds/runtime/controlprogram/caching/CacheableData.html" title="class in org.apache.sysds.runtime.controlprogram.caching">CacheableData</a></dt>
@@ -9709,14 +10411,18 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/ExpressionList.html#ExpressionList-java.util.ArrayList-">ExpressionList(ArrayList&lt;Expression&gt;)</a></span> - Constructor for class org.apache.sysds.parser.<a href="org/apache/sysds/parser/ExpressionList.html" title="class in org.apache.sysds.parser">ExpressionList</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/TfUtils.html#EXT_SPACE">EXT_SPACE</a></span> - Static variable in class org.apache.sysds.runtime.transform.<a href="org/apache/sysds/runtime/transform/TfUtils.html" title="class in org.apache.sysds.runtime.transform">TfUtils</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/dml/DmlParser.ExternalFunctionDefExpressionContext.html#ExternalFunctionDefExpressionContext-org.apache.sysds.parser.dml.DmlParser.FunctionStatementContext-">ExternalFunctionDefExpressionContext(DmlParser.FunctionStatementContext)</a></span> - Constructor for class org.apache.sysds.parser.dml.<a href="org/apache/sysds/parser/dml/DmlParser.ExternalFunctionDefExpressionContext.html" title="class in org.apache.sysds.parser.dml">DmlParser.ExternalFunctionDefExpressionContext</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/MemoTable.html#extract-java.util.ArrayList-org.apache.sysds.hops.recompile.RecompileStatus-">extract(ArrayList&lt;Hop&gt;, RecompileStatus)</a></span> - Method in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/MemoTable.html" title="class in org.apache.sysds.hops">MemoTable</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/BitmapEncoder.html#extractBitmap-int:A-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.compress.CompressionSettings-">extractBitmap(int[], MatrixBlock, CompressionSettings)</a></span> - Static method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/BitmapEncoder.html" title="class in org.apache.sysds.runtime.compress">BitmapEncoder</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/lib/BitmapEncoder.html#extractBitmap-int:A-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-">extractBitmap(int[], MatrixBlock, boolean)</a></span> - Static method in class org.apache.sysds.runtime.compress.lib.<a href="org/apache/sysds/runtime/compress/lib/BitmapEncoder.html" title="class in org.apache.sysds.runtime.compress.lib">BitmapEncoder</a></dt>
 <dd>
 <div class="block">Generate uncompressed bitmaps for a set of columns in an uncompressed matrix block.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/lib/BitmapEncoder.html#extractBitmap-int:A-int-java.util.BitSet-org.apache.sysds.runtime.compress.CompressionSettings-">extractBitmap(int[], int, BitSet, CompressionSettings)</a></span> - Static method in class org.apache.sysds.runtime.compress.lib.<a href="org/apache/sysds/runtime/compress/lib/BitmapEncoder.html" title="class in org.apache.sysds.runtime.compress.lib">BitmapEncoder</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/instructions/spark/functions/ExtractBlockForBinaryReblock.html" title="class in org.apache.sysds.runtime.instructions.spark.functions"><span class="typeNameLink">ExtractBlockForBinaryReblock</span></a> - Class in <a href="org/apache/sysds/runtime/instructions/spark/functions/package-summary.html">org.apache.sysds.runtime.instructions.spark.functions</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/spark/functions/ExtractBlockForBinaryReblock.html#ExtractBlockForBinaryReblock-org.apache.sysds.runtime.meta.DataCharacteristics-org.apache.sysds.runtime.meta.DataCharacteristics-">ExtractBlockForBinaryReblock(DataCharacteristics, DataCharacteristics)</a></span> - Constructor for class org.apache.sysds.runtime.instructions.spark.functions.<a href="org/apache/sysds/runtime/instructions/spark/functions/ExtractBlockForBinaryReblock.html" title="class in org.apache.sysds.runtime.instructions.spark.functions">ExtractBlockForBinaryReblock</a></dt>
@@ -9749,6 +10455,8 @@
 <dd>
 <div class="block">Extract int ID from long value</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/lib/BitmapLossyEncoder.html#extractMapFromCompressedSingleColumn-org.apache.sysds.runtime.compress.CompressedMatrixBlock-int-double-double-">extractMapFromCompressedSingleColumn(CompressedMatrixBlock, int, double, double)</a></span> - Static method in class org.apache.sysds.runtime.compress.lib.<a href="org/apache/sysds/runtime/compress/lib/BitmapLossyEncoder.html" title="class in org.apache.sysds.runtime.compress.lib">BitmapLossyEncoder</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/parfor/stat/InfrastructureAnalyzer.html#extractMaxMemoryOpt-java.lang.String-">extractMaxMemoryOpt(String)</a></span> - Static method in class org.apache.sysds.runtime.controlprogram.parfor.stat.<a href="org/apache/sysds/runtime/controlprogram/parfor/stat/InfrastructureAnalyzer.html" title="class in org.apache.sysds.runtime.controlprogram.parfor.stat">InfrastructureAnalyzer</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html#extractTriangular-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-boolean-boolean-">extractTriangular(MatrixBlock, boolean, boolean, boolean)</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></dt>
@@ -9821,10 +10529,20 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/federated/FederatedData.html#FederatedData-org.apache.sysds.common.Types.DataType-java.net.InetSocketAddress-java.lang.String-">FederatedData(Types.DataType, InetSocketAddress, String)</a></span> - Constructor for class org.apache.sysds.runtime.controlprogram.federated.<a href="org/apache/sysds/runtime/controlprogram/federated/FederatedData.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedData</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/federated/FederatedData.html#FederatedData-org.apache.sysds.common.Types.DataType-java.net.InetSocketAddress-java.lang.String-long-">FederatedData(Types.DataType, InetSocketAddress, String, long)</a></span> - Constructor for class org.apache.sysds.runtime.controlprogram.federated.<a href="org/apache/sysds/runtime/controlprogram/federated/FederatedData.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedData</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/FederatedDataPartitioner.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">FederatedDataPartitioner</span></a> - Class in <a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/package-summary.html">org.apache.sysds.runtime.controlprogram.paramserv.dp</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/FederatedDataPartitioner.html#FederatedDataPartitioner-org.apache.sysds.parser.Statement.FederatedPSScheme-int-">FederatedDataPartitioner(Statement.FederatedPSScheme, int)</a></span> - Constructor for class org.apache.sysds.runtime.controlprogram.paramserv.dp.<a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/FederatedDataPartitioner.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">FederatedDataPartitioner</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/controlprogram/federated/FederatedLocalData.html" title="class in org.apache.sysds.runtime.controlprogram.federated"><span class="typeNameLink">FederatedLocalData</span></a> - Class in <a href="org/apache/sysds/runtime/controlprogram/federated/package-summary.html">org.apache.sysds.runtime.controlprogram.federated</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/federated/FederatedLocalData.html#FederatedLocalData-long-org.apache.sysds.runtime.controlprogram.caching.CacheableData-">FederatedLocalData(long, CacheableData&lt;?&gt;)</a></span> - Constructor for class org.apache.sysds.runtime.controlprogram.federated.<a href="org/apache/sysds/runtime/controlprogram/federated/FederatedLocalData.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedLocalData</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/controlprogram/paramserv/FederatedPSControlThread.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv"><span class="typeNameLink">FederatedPSControlThread</span></a> - Class in <a href="org/apache/sysds/runtime/controlprogram/paramserv/package-summary.html">org.apache.sysds.runtime.controlprogram.paramserv</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/paramserv/FederatedPSControlThread.html#FederatedPSControlThread-int-java.lang.String-org.apache.sysds.parser.Statement.PSFrequency-org.apache.sysds.parser.Statement.PSRuntimeBalancing-boolean-int-long-int-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.runtime.controlprogram.paramserv.ParamServer-">FederatedPSControlThread(int, String, Statement.PSFrequency, Statement.PSRuntimeBalancing, boolean, int, long, int, ExecutionContext, ParamServer)</a></span> - Constructor for class org.apache.sysds.runtime.controlprogram.paramserv.<a href="org/apache/sysds/runtime/controlprogram/paramserv/FederatedPSControlThread.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv">FederatedPSControlThread</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/controlprogram/federated/FederatedRange.html" title="class in org.apache.sysds.runtime.controlprogram.federated"><span class="typeNameLink">FederatedRange</span></a> - Class in <a href="org/apache/sysds/runtime/controlprogram/federated/package-summary.html">org.apache.sysds.runtime.controlprogram.federated</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/federated/FederatedRange.html#FederatedRange-long:A-long:A-">FederatedRange(long[], long[])</a></span> - Constructor for class org.apache.sysds.runtime.controlprogram.federated.<a href="org/apache/sysds/runtime/controlprogram/federated/FederatedRange.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRange</a></dt>
@@ -9879,12 +10597,15 @@
 <div class="block">Create new instance of FederatedWorkerHandlerException with a message.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/federated/FederatedWorkerHandlerException.html#FederatedWorkerHandlerException-java.lang.String-java.lang.Throwable-">FederatedWorkerHandlerException(String, Throwable)</a></span> - Constructor for exception org.apache.sysds.runtime.controlprogram.federated.<a href="org/apache/sysds/runtime/controlprogram/federated/FederatedWorkerHandlerException.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedWorkerHandlerException</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/fed/InitFEDInstruction.html#federateFrame-org.apache.sysds.runtime.controlprogram.caching.FrameObject-java.util.List-">federateFrame(FrameObject, List&lt;Pair&lt;FederatedRange, FederatedData&gt;&gt;)</a></span> - Method in class org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/InitFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">InitFEDInstruction</a></dt>
+<dd>
+<div class="block">Create new instance of FederatedWorkerHandlerException with a message
+ and a throwable representing the original cause of the exception.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/fed/InitFEDInstruction.html#federateFrame-org.apache.sysds.runtime.controlprogram.caching.FrameObject-java.util.List-">federateFrame(FrameObject, List&lt;Pair&lt;FederatedRange, FederatedData&gt;&gt;)</a></span> - Static method in class org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/InitFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">InitFEDInstruction</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/federated/FederationUtils.html#federateLocalData-org.apache.sysds.runtime.controlprogram.caching.CacheableData-">federateLocalData(CacheableData&lt;?&gt;)</a></span> - Static method in class org.apache.sysds.runtime.controlprogram.federated.<a href="org/apache/sysds/runtime/controlprogram/federated/FederationUtils.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationUtils</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/fed/InitFEDInstruction.html#federateMatrix-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-java.util.List-">federateMatrix(MatrixObject, List&lt;Pair&lt;FederatedRange, FederatedData&gt;&gt;)</a></span> - Method in class org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/InitFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">InitFEDInstruction</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/fed/InitFEDInstruction.html#federateMatrix-org.apache.sysds.runtime.controlprogram.caching.CacheableData-java.util.List-">federateMatrix(CacheableData&lt;?&gt;, List&lt;Pair&lt;FederatedRange, FederatedData&gt;&gt;)</a></span> - Static method in class org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/InitFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">InitFEDInstruction</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/controlprogram/federated/FederationMap.html" title="class in org.apache.sysds.runtime.controlprogram.federated"><span class="typeNameLink">FederationMap</span></a> - Class in <a href="org/apache/sysds/runtime/controlprogram/federated/package-summary.html">org.apache.sysds.runtime.controlprogram.federated</a></dt>
 <dd>&nbsp;</dd>
@@ -9950,8 +10671,20 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/dml/DmlParser.ImportStatementContext.html#filePath">filePath</a></span> - Variable in class org.apache.sysds.parser.dml.<a href="org/apache/sysds/parser/dml/DmlParser.ImportStatementContext.html" title="class in org.apache.sysds.parser.dml">DmlParser.ImportStatementContext</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html#fill-int-">fill(int)</a></span> - Method in interface org.apache.sysds.runtime.compress.colgroup.mapping.<a href="org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html" title="interface in org.apache.sysds.runtime.compress.colgroup.mapping">IMapToData</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToBit.html#fill-int-">fill(int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.mapping.<a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToBit.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping">MapToBit</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToByte.html#fill-int-">fill(int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.mapping.<a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToByte.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping">MapToByte</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToChar.html#fill-int-">fill(int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.mapping.<a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToChar.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping">MapToChar</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToInt.html#fill-int-">fill(int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.mapping.<a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToInt.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping">MapToInt</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/DnnUtils.html#fillBias-org.apache.sysds.runtime.matrix.data.MatrixBlock-double:A-int-int-int-int-int-">fillBias(MatrixBlock, double[], int, int, int, int, int)</a></span> - Static method in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/DnnUtils.html" title="class in org.apache.sysds.runtime.util">DnnUtils</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/federated/FederationMap.html#filter-org.apache.sysds.runtime.util.IndexRange-">filter(IndexRange)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.federated.<a href="org/apache/sysds/runtime/controlprogram/federated/FederationMap.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationMap</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/instructions/spark/functions/FilterDiagMatrixBlocksFunction.html" title="class in org.apache.sysds.runtime.instructions.spark.functions"><span class="typeNameLink">FilterDiagMatrixBlocksFunction</span></a> - Class in <a href="org/apache/sysds/runtime/instructions/spark/functions/package-summary.html">org.apache.sysds.runtime.instructions.spark.functions</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/spark/functions/FilterDiagMatrixBlocksFunction.html#FilterDiagMatrixBlocksFunction--">FilterDiagMatrixBlocksFunction()</a></span> - Constructor for class org.apache.sysds.runtime.instructions.spark.functions.<a href="org/apache/sysds/runtime/instructions/spark/functions/FilterDiagMatrixBlocksFunction.html" title="class in org.apache.sysds.runtime.instructions.spark.functions">FilterDiagMatrixBlocksFunction</a></dt>
@@ -9972,6 +10705,8 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/lops/Ctable.html#findCtableOperationByInputDataTypes-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.DataType-">findCtableOperationByInputDataTypes(Types.DataType, Types.DataType, Types.DataType)</a></span> - Static method in class org.apache.sysds.lops.<a href="org/apache/sysds/lops/Ctable.html" title="class in org.apache.sysds.lops">Ctable</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/DMVUtils.html#findDominantPattern-java.util.Map-double-">findDominantPattern(Map&lt;String, Double&gt;, double)</a></span> - Static method in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/DMVUtils.html" title="class in org.apache.sysds.runtime.util">DMVUtils</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/template/TemplateUtils.html#findRemovableConditionalPatternInOuterProduct-org.apache.sysds.hops.Hop-">findRemovableConditionalPatternInOuterProduct(Hop)</a></span> - Static method in class org.apache.sysds.hops.codegen.template.<a href="org/apache/sysds/hops/codegen/template/TemplateUtils.html" title="class in org.apache.sysds.hops.codegen.template">TemplateUtils</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/DataExpression.html#FINE_GRAINED_PRIVACY">FINE_GRAINED_PRIVACY</a></span> - Static variable in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/DataExpression.html" title="class in org.apache.sysds.parser">DataExpression</a></dt>
@@ -9992,6 +10727,8 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyMap.html#FineGrainedPrivacyMap--">FineGrainedPrivacyMap()</a></span> - Constructor for class org.apache.sysds.runtime.privacy.finegrained.<a href="org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyMap.html" title="class in org.apache.sysds.runtime.privacy.finegrained">FineGrainedPrivacyMap</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/LineageItem.html#fixHash--">fixHash()</a></span> - Method in class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/conf/CompilerConfig.html#FLAG_DYN_RECOMPILE">FLAG_DYN_RECOMPILE</a></span> - Static variable in class org.apache.sysds.conf.<a href="org/apache/sysds/conf/CompilerConfig.html" title="class in org.apache.sysds.conf">CompilerConfig</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/conf/CompilerConfig.html#FLAG_PARREADWRITE_BINARY">FLAG_PARREADWRITE_BINARY</a></span> - Static variable in class org.apache.sysds.conf.<a href="org/apache/sysds/conf/CompilerConfig.html" title="class in org.apache.sysds.conf">CompilerConfig</a></dt>
@@ -10121,6 +10858,10 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/Statement.html#FRAME_DATA_TYPE">FRAME_DATA_TYPE</a></span> - Static variable in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/Statement.html" title="class in org.apache.sysds.parser">Statement</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/lops/DataGen.html#FRAME_OPCODE">FRAME_OPCODE</a></span> - Static variable in class org.apache.sysds.lops.<a href="org/apache/sysds/lops/DataGen.html" title="class in org.apache.sysds.lops">DataGen</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/parser/DataExpression.html#FRAME_VALID_PARAM_NAMES">FRAME_VALID_PARAM_NAMES</a></span> - Static variable in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/DataExpression.html" title="class in org.apache.sysds.parser">DataExpression</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/lops/Lop.html#FRAME_VAR_NAME_PREFIX">FRAME_VAR_NAME_PREFIX</a></span> - Static variable in class org.apache.sysds.lops.<a href="org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/instructions/cp/FrameAppendCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp"><span class="typeNameLink">FrameAppendCPInstruction</span></a> - Class in <a href="org/apache/sysds/runtime/instructions/cp/package-summary.html">org.apache.sysds.runtime.instructions.cp</a></dt>
@@ -10136,7 +10877,7 @@
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/FrameBlock.html#FrameBlock-org.apache.sysds.runtime.matrix.data.FrameBlock-">FrameBlock(FrameBlock)</a></span> - Constructor for class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></dt>
 <dd>
 <div class="block">Copy constructor for frame blocks, which uses a shallow copy for
- the schema (column types and names) but a deep copy for meta data 
+ the schema (column types and names) but a deep copy for meta data
  and actual column data.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/FrameBlock.html#FrameBlock-int-org.apache.sysds.common.Types.ValueType-">FrameBlock(int, Types.ValueType)</a></span> - Constructor for class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></dt>
@@ -10647,6 +11388,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/FunctionOp.html#FunctionOp-org.apache.sysds.hops.FunctionOp.FunctionType-java.lang.String-java.lang.String-java.lang.String:A-java.util.List-java.lang.String:A-boolean-">FunctionOp(FunctionOp.FunctionType, String, String, String[], List&lt;Hop&gt;, String[], boolean)</a></span> - Constructor for class org.apache.sysds.hops.<a href="org/apache/sysds/hops/FunctionOp.html" title="class in org.apache.sysds.hops">FunctionOp</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/FunctionOp.html#FunctionOp-org.apache.sysds.hops.FunctionOp.FunctionType-java.lang.String-java.lang.String-java.lang.String:A-java.util.List-java.lang.String:A-boolean-boolean-">FunctionOp(FunctionOp.FunctionType, String, String, String[], List&lt;Hop&gt;, String[], boolean, boolean)</a></span> - Constructor for class org.apache.sysds.hops.<a href="org/apache/sysds/hops/FunctionOp.html" title="class in org.apache.sysds.hops">FunctionOp</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/hops/FunctionOp.FunctionType.html" title="enum in org.apache.sysds.hops"><span class="typeNameLink">FunctionOp.FunctionType</span></a> - Enum in <a href="org/apache/sysds/hops/package-summary.html">org.apache.sysds.hops</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/controlprogram/FunctionProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram"><span class="typeNameLink">FunctionProgramBlock</span></a> - Class in <a href="org/apache/sysds/runtime/controlprogram/package-summary.html">org.apache.sysds.runtime.controlprogram</a></dt>
@@ -10719,6 +11462,10 @@
 <div class="block">Sets a boolean flag indicating if memory profiling statistics should be
  gathered.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#genColGroupConst-int-int-double-">genColGroupConst(int, int, double)</a></span> - Static method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupConst</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html#generate-int-int-">generate(int, int)</a></span> - Static method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupEmpty</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/SpoofCompiler.html#generateCode-org.apache.sysds.parser.DMLProgram-">generateCode(DMLProgram)</a></span> - Static method in class org.apache.sysds.hops.codegen.<a href="org/apache/sysds/hops/codegen/SpoofCompiler.html" title="class in org.apache.sysds.hops.codegen">SpoofCompiler</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/SpoofCompiler.html#generateCode-org.apache.sysds.runtime.controlprogram.Program-">generateCode(Program)</a></span> - Static method in class org.apache.sysds.hops.codegen.<a href="org/apache/sysds/hops/codegen/SpoofCompiler.html" title="class in org.apache.sysds.hops.codegen">SpoofCompiler</a></dt>
@@ -10744,6 +11491,10 @@
 <dd>
 <div class="block">Generate the permutation</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/UtilFunctions.html#generateRandomFrameBlock-int-int-org.apache.sysds.common.Types.ValueType:A-java.util.Random-">generateRandomFrameBlock(int, int, Types.ValueType[], Random)</a></span> - Static method in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/UtilFunctions.html" title="class in org.apache.sysds.runtime.util">UtilFunctions</a></dt>
+<dd>
+<div class="block">Generates a random FrameBlock with given parameters.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/LibMatrixDatagen.html#generateRandomMatrix-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.RandomMatrixGenerator-org.apache.commons.math3.random.Well1024a-long-">generateRandomMatrix(MatrixBlock, RandomMatrixGenerator, Well1024a, long)</a></span> - Static method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/LibMatrixDatagen.html" title="class in org.apache.sysds.runtime.matrix.data">LibMatrixDatagen</a></dt>
 <dd>
 <div class="block">Function to generate a matrix of random numbers.</div>
@@ -10754,6 +11505,14 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/DataGenOp.html#generateRandomSeed--">generateRandomSeed()</a></span> - Static method in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/DataGenOp.html" title="class in org.apache.sysds.hops">DataGenOp</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/UtilFunctions.html#generateRandomValueFromValueType-org.apache.sysds.common.Types.ValueType-java.util.Random-">generateRandomValueFromValueType(Types.ValueType, Random)</a></span> - Static method in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/UtilFunctions.html" title="class in org.apache.sysds.runtime.util">UtilFunctions</a></dt>
+<dd>
+<div class="block">Generates a random value for a given Value Type</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/paramserv/ParamservUtils.html#generateReplicationMatrix-int-int-long-">generateReplicationMatrix(int, int, long)</a></span> - Static method in class org.apache.sysds.runtime.controlprogram.paramserv.<a href="org/apache/sysds/runtime/controlprogram/paramserv/ParamservUtils.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv">ParamservUtils</a></dt>
+<dd>
+<div class="block">Generates a matrix which when left multiplied with the input matrix will replicate n data rows</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/LibMatrixDatagen.html#generateSample-org.apache.sysds.runtime.matrix.data.MatrixBlock-long-int-boolean-long-">generateSample(MatrixBlock, long, int, boolean, long)</a></span> - Static method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/LibMatrixDatagen.html" title="class in org.apache.sysds.runtime.matrix.data">LibMatrixDatagen</a></dt>
 <dd>
 <div class="block">Generates a sample of size <code>size</code> from a range of values [1,range].</div>
@@ -10762,6 +11521,10 @@
 <dd>
 <div class="block">Method to generate a sequence according to the given parameters.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/paramserv/ParamservUtils.html#generateSubsampleMatrix-int-int-long-">generateSubsampleMatrix(int, int, long)</a></span> - Static method in class org.apache.sysds.runtime.controlprogram.paramserv.<a href="org/apache/sysds/runtime/controlprogram/paramserv/ParamservUtils.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv">ParamservUtils</a></dt>
+<dd>
+<div class="block">Generates a matrix which when left multiplied with the input matrix will subsample</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/LibMatrixDatagen.html#generateUniqueSeedPath-java.lang.String-">generateUniqueSeedPath(String)</a></span> - Static method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/LibMatrixDatagen.html" title="class in org.apache.sysds.runtime.matrix.data">LibMatrixDatagen</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#genOffsetBitmap-int:A-int-">genOffsetBitmap(int[], int)</a></span> - Static method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOLE</a></dt>
@@ -10796,7 +11559,7 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/BuiltinConstant.html#get--">get()</a></span> - Method in enum org.apache.sysds.parser.<a href="org/apache/sysds/parser/BuiltinConstant.html" title="enum in org.apache.sysds.parser">BuiltinConstant</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html#get-int-int-">get(int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html#get-int-int-">get(int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></dt>
 <dd>
 <div class="block">Get the value at a global row/column position.</div>
 </dd>
@@ -10804,7 +11567,19 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#get-int-int-">get(int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#get-int-int-">get(int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOffset</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html#get-int-int-">get(int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupEmpty</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#get-int-int-">get(int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOLE</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#get-int-int-">get(int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupRLE</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html#get-int-int-">get(int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDC</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html#get-int-int-">get(int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingle</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html#get-int-int-">get(int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingleZeros</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#get-int-int-">get(int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCZeros</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#get-int-int-">get(int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupUncompressed</a></dt>
 <dd>&nbsp;</dd>
@@ -10820,6 +11595,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/utils/DoubleIntListHashMap.html#get-double-">get(double)</a></span> - Method in class org.apache.sysds.runtime.compress.utils.<a href="org/apache/sysds/runtime/compress/utils/DoubleIntListHashMap.html" title="class in org.apache.sysds.runtime.compress.utils">DoubleIntListHashMap</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/utils/IntArrayList.html#get-int-">get(int)</a></span> - Method in class org.apache.sysds.runtime.compress.utils.<a href="org/apache/sysds/runtime/compress/utils/IntArrayList.html" title="class in org.apache.sysds.runtime.compress.utils">IntArrayList</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/federated/ExecutionContextMap.html#get-long-">get(long)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.federated.<a href="org/apache/sysds/runtime/controlprogram/federated/ExecutionContextMap.html" title="class in org.apache.sysds.runtime.controlprogram.federated">ExecutionContextMap</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/LocalVariableMap.html#get-java.lang.String-">get(String)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.<a href="org/apache/sysds/runtime/controlprogram/LocalVariableMap.html" title="class in org.apache.sysds.runtime.controlprogram">LocalVariableMap</a></dt>
@@ -10964,6 +11741,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/codegen/SpoofMultiAggregate.html#getAggFunctions-org.apache.sysds.runtime.codegen.SpoofCellwise.AggOp:A-">getAggFunctions(SpoofCellwise.AggOp[])</a></span> - Static method in class org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/SpoofMultiAggregate.html" title="class in org.apache.sysds.runtime.codegen">SpoofMultiAggregate</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/paramserv/ParamServer.html#getAggInst--">getAggInst()</a></span> - Method in class org.apache.sysds.runtime.controlprogram.paramserv.<a href="org/apache/sysds/runtime/controlprogram/paramserv/ParamServer.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv">ParamServer</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/cplan/CNodeCell.html#getAggOp--">getAggOp()</a></span> - Method in class org.apache.sysds.hops.codegen.cplan.<a href="org/apache/sysds/hops/codegen/cplan/CNodeCell.html" title="class in org.apache.sysds.hops.codegen.cplan">CNodeCell</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/template/TemplateUtils.html#getAggOp-org.apache.sysds.hops.Hop-">getAggOp(Hop)</a></span> - Static method in class org.apache.sysds.hops.codegen.template.<a href="org/apache/sysds/hops/codegen/template/TemplateUtils.html" title="class in org.apache.sysds.hops.codegen.template">TemplateUtils</a></dt>
@@ -11023,8 +11802,14 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/functionobjects/And.html#getAndFnObject--">getAndFnObject()</a></span> - Static method in class org.apache.sysds.runtime.functionobjects.<a href="org/apache/sysds/runtime/functionobjects/And.html" title="class in org.apache.sysds.runtime.functionobjects">And</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/cp/AppendCPInstruction.html#getAppendType--">getAppendType()</a></span> - Method in class org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/AppendCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">AppendCPInstruction</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/gpu/BuiltinUnaryGPUInstruction.html#getArity--">getArity()</a></span> - Method in class org.apache.sysds.runtime.instructions.gpu.<a href="org/apache/sysds/runtime/instructions/gpu/BuiltinUnaryGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">BuiltinUnaryGPUInstruction</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/pre/ArrPreAggregate.html#getArr--">getArr()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.pre.<a href="org/apache/sysds/runtime/compress/colgroup/pre/ArrPreAggregate.html" title="class in org.apache.sysds.runtime.compress.colgroup.pre">ArrPreAggregate</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/UtilFunctions.html#getAsciiAtIdx-java.lang.String-int-">getAsciiAtIdx(String, int)</a></span> - Static method in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/UtilFunctions.html" title="class in org.apache.sysds.runtime.util">UtilFunctions</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/dml/DmlLexer.html#getATN--">getATN()</a></span> - Method in class org.apache.sysds.parser.dml.<a href="org/apache/sysds/parser/dml/DmlLexer.html" title="class in org.apache.sysds.parser.dml">DmlLexer</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/dml/DmlParser.html#getATN--">getATN()</a></span> - Method in class org.apache.sysds.parser.dml.<a href="org/apache/sysds/parser/dml/DmlParser.html" title="class in org.apache.sysds.parser.dml">DmlParser</a></dt>
@@ -11151,6 +11936,10 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/context/SparkExecutionContext.html#getBinaryTensorBlockRDDHandleForVariable-java.lang.String-int-boolean-">getBinaryTensorBlockRDDHandleForVariable(String, int, boolean)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.context.<a href="org/apache/sysds/runtime/controlprogram/context/SparkExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">SparkExecutionContext</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderBin.html#getBinMaxs--">getBinMaxs()</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderBin.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderBin</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderBin.html#getBinMins--">getBinMins()</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderBin.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderBin</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#getBitmapOffsets--">getBitmapOffsets()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOffset</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#getBitmaps--">getBitmaps()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOffset</a></dt>
@@ -11269,6 +12058,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/functionobjects/Builtin.html#getBuiltinFnObject-org.apache.sysds.runtime.functionobjects.Builtin.BuiltinCode-">getBuiltinFnObject(Builtin.BuiltinCode)</a></span> - Static method in class org.apache.sysds.runtime.functionobjects.<a href="org/apache/sysds/runtime/functionobjects/Builtin.html" title="class in org.apache.sysds.runtime.functionobjects">Builtin</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/parser/DMLProgram.html#getBuiltinFunctionDictionary--">getBuiltinFunctionDictionary()</a></span> - Method in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/DMLProgram.html" title="class in org.apache.sysds.parser">DMLProgram</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/BuiltinFunctionExpression.html#getBuiltinFunctionExpression-org.antlr.v4.runtime.ParserRuleContext-java.lang.String-java.util.ArrayList-java.lang.String-">getBuiltinFunctionExpression(ParserRuleContext, String, ArrayList&lt;ParameterExpression&gt;, String)</a></span> - Static method in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/BuiltinFunctionExpression.html" title="class in org.apache.sysds.parser">BuiltinFunctionExpression</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/caching/CacheDataOutput.html#getBytes--">getBytes()</a></span> - Method in class org.apache.sysds.runtime.controlprogram.caching.<a href="org/apache/sysds/runtime/controlprogram/caching/CacheDataOutput.html" title="class in org.apache.sysds.runtime.controlprogram.caching">CacheDataOutput</a></dt>
@@ -11281,17 +12072,21 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/caching/LazyWriteBuffer.html#getCacheBlockSize-org.apache.sysds.runtime.controlprogram.caching.CacheBlock-">getCacheBlockSize(CacheBlock)</a></span> - Static method in class org.apache.sysds.runtime.controlprogram.caching.<a href="org/apache/sysds/runtime/controlprogram/caching/LazyWriteBuffer.html" title="class in org.apache.sysds.runtime.controlprogram.caching">LazyWriteBuffer</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCachedCounts--">getCachedCounts()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/LineageCacheConfig.html#getCachedItemHead--">getCachedItemHead()</a></span> - Static method in class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageCacheConfig.html" title="class in org.apache.sysds.runtime.lineage">LineageCacheConfig</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/LineageCacheConfig.html#getCachedItemTail--">getCachedItemTail()</a></span> - Static method in class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageCacheConfig.html" title="class in org.apache.sysds.runtime.lineage">LineageCacheConfig</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/conf/ConfigurationManager.html#getCachedJobConf--">getCachedJobConf()</a></span> - Static method in class org.apache.sysds.conf.<a href="org/apache/sysds/conf/ConfigurationManager.html" title="class in org.apache.sysds.conf">ConfigurationManager</a></dt>
 <dd>
-<div class="block">Returns a cached JobConf object, intended for global use by all operations 
+<div class="block">Returns a cached JobConf object, intended for global use by all operations
  with read-only access to job conf.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/LineageCacheEviction.html#getCacheLimit--">getCacheLimit()</a></span> - Static method in class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageCacheEviction.html" title="class in org.apache.sysds.runtime.lineage">LineageCacheEviction</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#getCacheLineage--">getCacheLineage()</a></span> - Method in class org.apache.sysds.runtime.controlprogram.caching.<a href="org/apache/sysds/runtime/controlprogram/caching/CacheableData.html" title="class in org.apache.sysds.runtime.controlprogram.caching">CacheableData</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/LineageCacheConfig.html#getCachePolicy--">getCachePolicy()</a></span> - Static method in class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageCacheConfig.html" title="class in org.apache.sysds.runtime.lineage">LineageCacheConfig</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/LineageCacheEntry.html#getCacheStatus--">getCacheStatus()</a></span> - Method in class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageCacheEntry.html" title="class in org.apache.sysds.runtime.lineage">LineageCacheEntry</a></dt>
@@ -11306,11 +12101,13 @@
 <dd>
 <div class="block">Returns all functions called from the given function.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/utils/IntIntMap.html#getCapacity--">getCapacity()</a></span> - Method in class org.apache.sysds.runtime.compress.utils.<a href="org/apache/sysds/runtime/compress/utils/IntIntMap.html" title="class in org.apache.sysds.runtime.compress.utils">IntIntMap</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/spark/data/FrameReblockBuffer.html#getCapacity--">getCapacity()</a></span> - Method in class org.apache.sysds.runtime.instructions.spark.data.<a href="org/apache/sysds/runtime/instructions/spark/data/FrameReblockBuffer.html" title="class in org.apache.sysds.runtime.instructions.spark.data">FrameReblockBuffer</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/spark/data/ReblockBuffer.html#getCapacity--">getCapacity()</a></span> - Method in class org.apache.sysds.runtime.instructions.spark.data.<a href="org/apache/sysds/runtime/instructions/spark/data/ReblockBuffer.html" title="class in org.apache.sysds.runtime.instructions.spark.data">ReblockBuffer</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.html#getCardinalityRatio--">getCardinalityRatio()</a></span> - Method in class org.apache.sysds.runtime.compress.cocode.<a href="org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCodingGroup</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/estim/CompressedSizeInfoColGroup.html#getCardinalityRatio--">getCardinalityRatio()</a></span> - Method in class org.apache.sysds.runtime.compress.estim.<a href="org/apache/sysds/runtime/compress/estim/CompressedSizeInfoColGroup.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfoColGroup</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/cplan/CNodeCell.html#getCellType--">getCellType()</a></span> - Method in class org.apache.sysds.hops.codegen.cplan.<a href="org/apache/sysds/hops/codegen/cplan/CNodeCell.html" title="class in org.apache.sysds.hops.codegen.cplan">CNodeCell</a></dt>
 <dd>&nbsp;</dd>
@@ -11318,8 +12115,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/codegen/SpoofCellwise.html#getCellType--">getCellType()</a></span> - Method in class org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/SpoofCellwise.html" title="class in org.apache.sysds.runtime.codegen">SpoofCellwise</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.html#getChangeInSize--">getChangeInSize()</a></span> - Method in class org.apache.sysds.runtime.compress.cocode.<a href="org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCodingGroup</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/dml/CustomErrorListener.ParseIssue.html#getCharPositionInLine--">getCharPositionInLine()</a></span> - Method in class org.apache.sysds.parser.dml.<a href="org/apache/sysds/parser/dml/CustomErrorListener.ParseIssue.html" title="class in org.apache.sysds.parser.dml">CustomErrorListener.ParseIssue</a></dt>
 <dd>
 <div class="block">Obtain character position of the parse issue.</div>
@@ -11328,6 +12123,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/privacy/PrivacyMonitor.html#getCheckedConstraints--">getCheckedConstraints()</a></span> - Static method in class org.apache.sysds.runtime.privacy.<a href="org/apache/sysds/runtime/privacy/PrivacyMonitor.html" title="class in org.apache.sysds.runtime.privacy">PrivacyMonitor</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/federated/FederatedRequest.html#getChecksum-int-">getChecksum(int)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.federated.<a href="org/apache/sysds/runtime/controlprogram/federated/FederatedRequest.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRequest</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/BasicProgramBlock.html#getChildBlocks--">getChildBlocks()</a></span> - Method in class org.apache.sysds.runtime.controlprogram.<a href="org/apache/sysds/runtime/controlprogram/BasicProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">BasicProgramBlock</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/ForProgramBlock.html#getChildBlocks--">getChildBlocks()</a></span> - Method in class org.apache.sysds.runtime.controlprogram.<a href="org/apache/sysds/runtime/controlprogram/ForProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ForProgramBlock</a></dt>
@@ -11340,8 +12137,7 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/ProgramBlock.html#getChildBlocks--">getChildBlocks()</a></span> - Method in class org.apache.sysds.runtime.controlprogram.<a href="org/apache/sysds/runtime/controlprogram/ProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ProgramBlock</a></dt>
 <dd>
-<div class="block">Get the list of child program blocks if nested;
- otherwise this method returns null.</div>
+<div class="block">Get the list of child program blocks if nested; otherwise this method returns null.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/WhileProgramBlock.html#getChildBlocks--">getChildBlocks()</a></span> - Method in class org.apache.sysds.runtime.controlprogram.<a href="org/apache/sysds/runtime/controlprogram/WhileProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">WhileProgramBlock</a></dt>
 <dd>&nbsp;</dd>
@@ -11436,30 +12232,62 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressionStatistics.html#getColGroups--">getColGroups()</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressionStatistics.html" title="class in org.apache.sysds.runtime.compress">CompressionStatistics</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getColIndex-int-">getColIndex(int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getColGroupType--">getColGroupType()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></dt>
+<dd>
+<div class="block">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.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#getColGroupType--">getColGroupType()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupConst</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#getColGroupType--">getColGroupType()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html#getColGroupType--">getColGroupType()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupEmpty</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#getColGroupType--">getColGroupType()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOLE</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#getColGroupType--">getColGroupType()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupRLE</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html#getColGroupType--">getColGroupType()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDC</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html#getColGroupType--">getColGroupType()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingle</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html#getColGroupType--">getColGroupType()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingleZeros</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#getColGroupType--">getColGroupType()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCZeros</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#getColGroupType--">getColGroupType()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupUncompressed</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#getColID--">getColID()</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getColIndex-int-">getColIndex(int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></dt>
 <dd>
 <div class="block">Obtain a column index value.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.html#getColIndices--">getColIndices()</a></span> - Method in class org.apache.sysds.runtime.compress.cocode.<a href="org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCodingGroup</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getColIndices--">getColIndices()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getColIndices--">getColIndices()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></dt>
 <dd>
 <div class="block">Obtain the offsets of the columns in the matrix block that make up the group</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/Encoder.html#getColList--">getColList()</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#getColList--">getColList()</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/LegacyEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">LegacyEncoder</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/IndexedIdentifier.html#getColLowerBound--">getColLowerBound()</a></span> - Method in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/IndexedIdentifier.html" title="class in org.apache.sysds.parser">IndexedIdentifier</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/IndexedIdentifier.html#getColLowerEqualsUpper--">getColLowerEqualsUpper()</a></span> - Method in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/IndexedIdentifier.html" title="class in org.apache.sysds.parser">IndexedIdentifier</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/Encoder.html#getColMapping-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">getColMapping(FrameBlock, MatrixBlock)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#getColMapping-org.apache.sysds.runtime.matrix.data.FrameBlock-">getColMapping(FrameBlock)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a></dt>
 <dd>
-<div class="block">Obtain the column mapping of encoded frames based on the passed
- meta data frame.</div>
+<div class="block">Obtain the column mapping of encoded frames based on the passed meta data frame.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderComposite.html#getColMapping-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">getColMapping(FrameBlock, MatrixBlock)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderComposite</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#getColMapping-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">getColMapping(FrameBlock, MatrixBlock)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/LegacyEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">LegacyEncoder</a></dt>
+<dd>
+<div class="block">Obtain the column mapping of encoded frames based on the passed meta data frame.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#getColMapping-org.apache.sysds.runtime.matrix.data.FrameBlock-">getColMapping(FrameBlock)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a></dt>
+<dd>
+<div class="block">Obtain the column mapping of encoded frames based on the passed meta data frame.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderBin.html#getColMaxs--">getColMaxs()</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderBin.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderBin</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderDummycode.html#getColMapping-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">getColMapping(FrameBlock, MatrixBlock)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderDummycode.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderDummycode</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderBin.html#getColMins--">getColMins()</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderBin.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderBin</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/decode/Decoder.html#getColnames--">getColnames()</a></span> - Method in class org.apache.sysds.runtime.transform.decode.<a href="org/apache/sysds/runtime/transform/decode/Decoder.html" title="class in org.apache.sysds.runtime.transform.decode">Decoder</a></dt>
 <dd>&nbsp;</dd>
@@ -11491,6 +12319,12 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/FrameBlock.html#getColumnData-int-">getColumnData(int)</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#getColumnEncoder-int-java.lang.Class-">getColumnEncoder(int, Class&lt;T&gt;)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#getColumnEncoders-java.lang.Class-">getColumnEncoders(Class&lt;T&gt;)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#getColumnEncoders--">getColumnEncoders()</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/MatrixIndexes.html#getColumnIndex--">getColumnIndex()</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/MatrixIndexes.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixIndexes</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/FrameBlock.html#getColumnMetadata--">getColumnMetadata()</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></dt>
@@ -11503,7 +12337,7 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/FrameBlock.html#getColumnNameIDMap--">getColumnNameIDMap()</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></dt>
 <dd>
-<div class="block">Creates a mapping from column names to column IDs, i.e., 
+<div class="block">Creates a mapping from column names to column IDs, i.e.,
  1-based column indexes</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/FrameBlock.html#getColumnNames--">getColumnNames()</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></dt>
@@ -11516,6 +12350,8 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/FrameBlock.html#getColumnNamesAsFrame--">getColumnNamesAsFrame()</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/estim/CompressedSizeInfoColGroup.html#getColumns--">getColumns()</a></span> - Method in class org.apache.sysds.runtime.compress.estim.<a href="org/apache/sysds/runtime/compress/estim/CompressedSizeInfoColGroup.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfoColGroup</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/IndexedIdentifier.html#getColUpperBound--">getColUpperBound()</a></span> - Method in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/IndexedIdentifier.html" title="class in org.apache.sysds.parser">IndexedIdentifier</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/data/DataTensorBlock.html#getColValueType-int-">getColValueType(int)</a></span> - Method in class org.apache.sysds.runtime.data.<a href="org/apache/sysds/runtime/data/DataTensorBlock.html" title="class in org.apache.sysds.runtime.data">DataTensorBlock</a></dt>
@@ -11546,9 +12382,11 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/ImportStatement.html#getCompletePath--">getCompletePath()</a></span> - Method in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/ImportStatement.html" title="class in org.apache.sysds.parser">ImportStatement</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/estim/CompressedSizeInfoColGroup.html#getCompressionSize-org.apache.sysds.runtime.compress.colgroup.ColGroup.CompressionType-">getCompressionSize(ColGroup.CompressionType)</a></span> - Method in class org.apache.sysds.runtime.compress.estim.<a href="org/apache/sysds/runtime/compress/estim/CompressedSizeInfoColGroup.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfoColGroup</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#getCompositeEncodersForID-int-">getCompositeEncodersForID(int)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getCompType--">getCompType()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/estim/CompressedSizeInfoColGroup.html#getCompressionSize-org.apache.sysds.runtime.compress.colgroup.AColGroup.CompressionType-">getCompressionSize(AColGroup.CompressionType)</a></span> - Method in class org.apache.sysds.runtime.compress.estim.<a href="org/apache/sysds/runtime/compress/estim/CompressedSizeInfoColGroup.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfoColGroup</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getCompType--">getCompType()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></dt>
 <dd>
 <div class="block">Obtain the compression type.</div>
 </dd>
@@ -11556,10 +12394,20 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#getCompType--">getCompType()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html#getCompType--">getCompType()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupEmpty</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#getCompType--">getCompType()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOLE</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#getCompType--">getCompType()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupRLE</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html#getCompType--">getCompType()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDC</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html#getCompType--">getCompType()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingle</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html#getCompType--">getCompType()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingleZeros</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#getCompType--">getCompType()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCZeros</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#getCompType--">getCompType()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupUncompressed</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/IfStatement.html#getConditionalPredicate--">getConditionalPredicate()</a></span> - Method in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/IfStatement.html" title="class in org.apache.sysds.parser">IfStatement</a></dt>
@@ -11588,6 +12436,10 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/api/PythonDMLScript.html#getConnection--">getConnection()</a></span> - Method in class org.apache.sysds.api.<a href="org/apache/sysds/api/PythonDMLScript.html" title="class in org.apache.sysds.api">PythonDMLScript</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/functionobjects/MinusMultiply.html#getConstant--">getConstant()</a></span> - Method in class org.apache.sysds.runtime.functionobjects.<a href="org/apache/sysds/runtime/functionobjects/MinusMultiply.html" title="class in org.apache.sysds.runtime.functionobjects">MinusMultiply</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/functionobjects/PlusMultiply.html#getConstant--">getConstant()</a></span> - Method in class org.apache.sysds.runtime.functionobjects.<a href="org/apache/sysds/runtime/functionobjects/PlusMultiply.html" title="class in org.apache.sysds.runtime.functionobjects">PlusMultiply</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/operators/ScalarOperator.html#getConstant--">getConstant()</a></span> - Method in class org.apache.sysds.runtime.matrix.operators.<a href="org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/DataGenOp.html#getConstantValue--">getConstantValue()</a></span> - Method in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/DataGenOp.html" title="class in org.apache.sysds.hops">DataGenOp</a></dt>
@@ -11639,6 +12491,10 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#getCounts-int-int-int:A-">getCounts(int, int, int[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html#getCounts-int:A-">getCounts(int[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupEmpty</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html#getCounts-int-int-int:A-">getCounts(int, int, int[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupEmpty</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#getCounts-int:A-">getCounts(int[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOLE</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#getCounts-int-int-int:A-">getCounts(int, int, int[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOLE</a></dt>
@@ -11647,6 +12503,22 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#getCounts-int-int-int:A-">getCounts(int, int, int[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupRLE</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html#getCounts-int:A-">getCounts(int[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDC</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html#getCounts-int-int-int:A-">getCounts(int, int, int[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDC</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html#getCounts-int:A-">getCounts(int[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingle</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html#getCounts-int-int-int:A-">getCounts(int, int, int[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingle</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html#getCounts-int:A-">getCounts(int[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingleZeros</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html#getCounts-int-int-int:A-">getCounts(int, int, int[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingleZeros</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#getCounts-int:A-">getCounts(int[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCZeros</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#getCounts-int-int-int:A-">getCounts(int, int, int[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCZeros</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCounts--">getCounts()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></dt>
 <dd>
 <div class="block">Returns the counts of values inside the dictionary.</div>
@@ -11670,9 +12542,9 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/cp/CPInstruction.html#getCPInstructionType--">getCPInstructionType()</a></span> - Method in class org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/CPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">CPInstruction</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderRecode.html#getCPRecodeMaps--">getCPRecodeMaps()</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderRecode.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderRecode</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderRecode.html#getCPRecodeMaps--">getCPRecodeMaps()</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderRecode.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderRecode</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderRecode.html#getCPRecodeMapsPartial--">getCPRecodeMapsPartial()</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderRecode.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderRecode</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderRecode.html#getCPRecodeMapsPartial--">getCPRecodeMapsPartial()</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderRecode.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderRecode</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/InstructionUtils.html#getCPType-java.lang.String-">getCPType(String)</a></span> - Static method in class org.apache.sysds.runtime.instructions.<a href="org/apache/sysds/runtime/instructions/InstructionUtils.html" title="class in org.apache.sysds.runtime.instructions">InstructionUtils</a></dt>
 <dd>&nbsp;</dd>
@@ -11690,6 +12562,8 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/LibMatrixCUDA.html#getCudaKernels-org.apache.sysds.runtime.instructions.gpu.context.GPUContext-">getCudaKernels(GPUContext)</a></span> - Static method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/LibMatrixCUDA.html" title="class in org.apache.sysds.runtime.matrix.data">LibMatrixCUDA</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/codegen/CodegenUtils.html#getCUDAopID-java.lang.String-">getCUDAopID(String)</a></span> - Static method in class org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/CodegenUtils.html" title="class in org.apache.sysds.runtime.codegen">CodegenUtils</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/gpu/context/GPUContext.html#getCudnnHandle--">getCudnnHandle()</a></span> - Method in class org.apache.sysds.runtime.instructions.gpu.context.<a href="org/apache/sysds/runtime/instructions/gpu/context/GPUContext.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">GPUContext</a></dt>
 <dd>
 <div class="block">Returns the cudnnHandle for Deep Neural Network operations on the GPU.</div>
@@ -11706,9 +12580,7 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/parfor/util/IDSequence.html#getCurrentID--">getCurrentID()</a></span> - Method in class org.apache.sysds.runtime.controlprogram.parfor.util.<a href="org/apache/sysds/runtime/controlprogram/parfor/util/IDSequence.html" title="class in org.apache.sysds.runtime.controlprogram.parfor.util">IDSequence</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/ReaderColumnSelection.html#getCurrentRowIndex--">getCurrentRowIndex()</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/ReaderColumnSelection.html" title="class in org.apache.sysds.runtime.compress">ReaderColumnSelection</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/ReaderColumnSelectionDenseSample.html#getCurrentRowIndex--">getCurrentRowIndex()</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/ReaderColumnSelectionDenseSample.html" title="class in org.apache.sysds.runtime.compress">ReaderColumnSelectionDenseSample</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/readers/ReaderColumnSelection.html#getCurrentRowIndex--">getCurrentRowIndex()</a></span> - Method in class org.apache.sysds.runtime.compress.readers.<a href="org/apache/sysds/runtime/compress/readers/ReaderColumnSelection.html" title="class in org.apache.sysds.runtime.compress.readers">ReaderColumnSelection</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/gpu/context/GPUContext.html#getCusolverDnHandle--">getCusolverDnHandle()</a></span> - Method in class org.apache.sysds.runtime.instructions.gpu.context.<a href="org/apache/sysds/runtime/instructions/gpu/context/GPUContext.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">GPUContext</a></dt>
 <dd>
@@ -11726,18 +12598,18 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/estim/MMNode.html#getData--">getData()</a></span> - Method in class org.apache.sysds.hops.estim.<a href="org/apache/sysds/hops/estim/MMNode.html" title="class in org.apache.sysds.hops.estim">MMNode</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html#getData--">getData()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC1</a></dt>
-<dd>
-<div class="block">Getter method to get the data, contained in The DDC ColGroup.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html#getData--">getData()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC2</a></dt>
-<dd>
-<div class="block">Getter method to get the data, contained in The DDC ColGroup.</div>
-</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#getData--">getData()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupUncompressed</a></dt>
 <dd>
 <div class="block">Access for superclass</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/tree/AInsertionSorter.html#getData--">getData()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.tree.<a href="org/apache/sysds/runtime/compress/colgroup/tree/AInsertionSorter.html" title="class in org.apache.sysds.runtime.compress.colgroup.tree">AInsertionSorter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/tree/MaterializeSort.html#getData--">getData()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.tree.<a href="org/apache/sysds/runtime/compress/colgroup/tree/MaterializeSort.html" title="class in org.apache.sysds.runtime.compress.colgroup.tree">MaterializeSort</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/tree/MergeSort.html#getData--">getData()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.tree.<a href="org/apache/sysds/runtime/compress/colgroup/tree/MergeSort.html" title="class in org.apache.sysds.runtime.compress.colgroup.tree">MergeSort</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/tree/Naive.html#getData--">getData()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.tree.<a href="org/apache/sysds/runtime/compress/colgroup/tree/Naive.html" title="class in org.apache.sysds.runtime.compress.colgroup.tree">Naive</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/utils/DblArray.html#getData--">getData()</a></span> - Method in class org.apache.sysds.runtime.compress.utils.<a href="org/apache/sysds/runtime/compress/utils/DblArray.html" title="class in org.apache.sysds.runtime.compress.utils">DblArray</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html#getData--">getData()</a></span> - Method in class org.apache.sysds.runtime.controlprogram.federated.<a href="org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedResponse</a></dt>
@@ -11768,10 +12640,16 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#getDataCharacteristics--">getDataCharacteristics()</a></span> - Method in class org.apache.sysds.runtime.controlprogram.caching.<a href="org/apache/sysds/runtime/controlprogram/caching/CacheableData.html" title="class in org.apache.sysds.runtime.controlprogram.caching">CacheableData</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html#getDataCharacteristics--">getDataCharacteristics()</a></span> - Method in interface org.apache.sysds.runtime.controlprogram.caching.<a href="org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html" title="interface in org.apache.sysds.runtime.controlprogram.caching">CacheBlock</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getDataCharacteristics-java.lang.String-">getDataCharacteristics(String)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.context.<a href="org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/data/TensorBlock.html#getDataCharacteristics--">getDataCharacteristics()</a></span> - Method in class org.apache.sysds.runtime.data.<a href="org/apache/sysds/runtime/data/TensorBlock.html" title="class in org.apache.sysds.runtime.data">TensorBlock</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/spark/data/PartitionedBroadcast.html#getDataCharacteristics--">getDataCharacteristics()</a></span> - Method in class org.apache.sysds.runtime.instructions.spark.data.<a href="org/apache/sysds/runtime/instructions/spark/data/PartitionedBroadcast.html" title="class in org.apache.sysds.runtime.instructions.spark.data">PartitionedBroadcast</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/FrameBlock.html#getDataCharacteristics--">getDataCharacteristics()</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getDataCharacteristics--">getDataCharacteristics()</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/meta/MetaData.html#getDataCharacteristics--">getDataCharacteristics()</a></span> - Method in class org.apache.sysds.runtime.meta.<a href="org/apache/sysds/runtime/meta/MetaData.html" title="class in org.apache.sysds.runtime.meta">MetaData</a></dt>
@@ -11843,6 +12721,8 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/Identifier.html#getDataType--">getDataType()</a></span> - Method in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/Identifier.html" title="class in org.apache.sysds.parser">Identifier</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/federated/FederatedData.html#getDataType--">getDataType()</a></span> - Method in class org.apache.sysds.runtime.controlprogram.federated.<a href="org/apache/sysds/runtime/controlprogram/federated/FederatedData.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedData</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/cp/CPOperand.html#getDataType--">getDataType()</a></span> - Method in class org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/cp/Data.html#getDataType--">getDataType()</a></span> - Method in class org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/Data.html" title="class in org.apache.sysds.runtime.instructions.cp">Data</a></dt>
@@ -11861,10 +12741,18 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/cp/ScalarObject.html#getDebugName--">getDebugName()</a></span> - Method in class org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/decode/DecoderFactory.html#getDecoderType-org.apache.sysds.runtime.transform.decode.Decoder-">getDecoderType(Decoder)</a></span> - Static method in class org.apache.sysds.runtime.transform.decode.<a href="org/apache/sysds/runtime/transform/decode/DecoderFactory.html" title="class in org.apache.sysds.runtime.transform.decode">DecoderFactory</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/utils/DMLCompressionStatistics.html#getDecompressionCount--">getDecompressionCount()</a></span> - Static method in class org.apache.sysds.utils.<a href="org/apache/sysds/utils/DMLCompressionStatistics.html" title="class in org.apache.sysds.utils">DMLCompressionStatistics</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/utils/DMLCompressionStatistics.html#getDecompressionSTCount--">getDecompressionSTCount()</a></span> - Static method in class org.apache.sysds.utils.<a href="org/apache/sysds/utils/DMLCompressionStatistics.html" title="class in org.apache.sysds.utils">DMLCompressionStatistics</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/functionobjects/SortIndex.html#getDecreasing--">getDecreasing()</a></span> - Method in class org.apache.sysds.runtime.functionobjects.<a href="org/apache/sysds/runtime/functionobjects/SortIndex.html" title="class in org.apache.sysds.runtime.functionobjects">SortIndex</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/Lineage.html#getDedupBlocks--">getDedupBlocks()</a></span> - Method in class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/Lineage.html" title="class in org.apache.sysds.runtime.lineage">Lineage</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/LineageItem.html#getDedupPatch--">getDedupPatch()</a></span> - Method in class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/gpu/context/CSRPointer.html#getDefaultCuSparseMatrixDescriptor--">getDefaultCuSparseMatrixDescriptor()</a></span> - Static method in class org.apache.sysds.runtime.instructions.gpu.context.<a href="org/apache/sysds/runtime/instructions/gpu/context/CSRPointer.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">CSRPointer</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/OptimizerUtils.html#getDefaultExecutionMode--">getDefaultExecutionMode()</a></span> - Static method in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/OptimizerUtils.html" title="class in org.apache.sysds.hops">OptimizerUtils</a></dt>
@@ -11897,10 +12785,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/io/FileFormatPropertiesCSV.html#getDelim--">getDelim()</a></span> - Method in class org.apache.sysds.runtime.io.<a href="org/apache/sysds/runtime/io/FileFormatPropertiesCSV.html" title="class in org.apache.sysds.runtime.io">FileFormatPropertiesCSV</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/TfUtils.html#getDelim--">getDelim()</a></span> - Method in class org.apache.sysds.runtime.transform.<a href="org/apache/sysds/runtime/transform/TfUtils.html" title="class in org.apache.sysds.runtime.transform">TfUtils</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/TfUtils.html#getDelimString--">getDelimString()</a></span> - Method in class org.apache.sysds.runtime.transform.<a href="org/apache/sysds/runtime/transform/TfUtils.html" title="class in org.apache.sysds.runtime.transform">TfUtils</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/data/BasicTensorBlock.html#getDenseBlock--">getDenseBlock()</a></span> - Method in class org.apache.sysds.runtime.data.<a href="org/apache/sysds/runtime/data/BasicTensorBlock.html" title="class in org.apache.sysds.runtime.data">BasicTensorBlock</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getDenseBlock--">getDenseBlock()</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></dt>
@@ -11928,12 +12812,12 @@
 <dd>
 <div class="block">Convenience method to get jcudaDenseMatrixPtr.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html#getDensePointerAddress--">getDensePointerAddress()</a></span> - Method in class org.apache.sysds.runtime.instructions.gpu.context.<a href="org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">GPUObject</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/LibMatrixCuDNN.html#getDensePointerForCuDNN-org.apache.sysds.runtime.instructions.gpu.context.GPUContext-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-java.lang.String-int-int-">getDensePointerForCuDNN(GPUContext, MatrixObject, String, int, int)</a></span> - Static method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/LibMatrixCuDNN.html" title="class in org.apache.sysds.runtime.matrix.data">LibMatrixCuDNN</a></dt>
 <dd>
 <div class="block">Convenience method to get jcudaDenseMatrixPtr.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#getDenseRowIterator-int-int-">getDenseRowIterator(int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupConverter.html#getDenseVector-org.apache.sysds.runtime.matrix.data.MatrixBlock-">getDenseVector(MatrixBlock)</a></span> - Static method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupConverter.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupConverter</a></dt>
 <dd>
 <div class="block">Extract the double array primitive from a Matrix Block that is an vector.</div>
@@ -12022,6 +12906,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/template/CPlanMemoTable.html#getDistinctTemplateTypes-long-int-boolean-">getDistinctTemplateTypes(long, int, boolean)</a></span> - Method in class org.apache.sysds.hops.codegen.template.<a href="org/apache/sysds/hops/codegen/template/CPlanMemoTable.html" title="class in org.apache.sysds.hops.codegen.template">CPlanMemoTable</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/LineageItem.html#getDistLeaf2Node--">getDistLeaf2Node()</a></span> - Method in class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/functionobjects/Divide.html#getDivideFnObject--">getDivideFnObject()</a></span> - Static method in class org.apache.sysds.runtime.functionobjects.<a href="org/apache/sysds/runtime/functionobjects/Divide.html" title="class in org.apache.sysds.runtime.functionobjects">Divide</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/api/jmlc/PreparedScript.html#getDMLConfig--">getDMLConfig()</a></span> - Method in class org.apache.sysds.api.jmlc.<a href="org/apache/sysds/api/jmlc/PreparedScript.html" title="class in org.apache.sysds.api.jmlc">PreparedScript</a></dt>
@@ -12045,6 +12931,8 @@
 <dd>
 <div class="block">Obtain the translator</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderDummycode.html#getDomainSize--">getDomainSize()</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderDummycode.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderDummycode</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/api/jmlc/ResultVariables.html#getDouble-java.lang.String-">getDouble(String)</a></span> - Method in class org.apache.sysds.api.jmlc.<a href="org/apache/sysds/api/jmlc/ResultVariables.html" title="class in org.apache.sysds.api.jmlc">ResultVariables</a></dt>
 <dd>
 <div class="block">Obtain the double value represented by the given output variable.</div>
@@ -12087,7 +12975,15 @@
 <dd>
 <div class="block">Creates an RDD of empty blocks according to the given matrix characteristics.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderComposite.html#getEncoders--">getEncoders()</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderComposite</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html#getEncoder-java.lang.Class-">getEncoder(Class&lt;T&gt;)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderComposite</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html#getEncoders--">getEncoders()</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderComposite</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderFactory.html#getEncoderType-org.apache.sysds.runtime.transform.encode.ColumnEncoder-">getEncoderType(ColumnEncoder)</a></span> - Static method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderFactory.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderFactory</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#getEncoderTypes-int-">getEncoderTypes(int)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#getEncoderTypes--">getEncoderTypes()</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/Hop.html#getEndColumn--">getEndColumn()</a></span> - Method in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a></dt>
 <dd>&nbsp;</dd>
@@ -12133,16 +13029,14 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine()</a></span> - Method in class org.apache.sysds.runtime.instructions.<a href="org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/LineageCache.html#getEntry-org.apache.sysds.runtime.lineage.LineageItem-">getEntry(LineageItem)</a></span> - Static method in class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageCache.html" title="class in org.apache.sysds.runtime.lineage">LineageCache</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/functionobjects/Equals.html#getEqualsFnObject--">getEqualsFnObject()</a></span> - Static method in class org.apache.sysds.runtime.functionobjects.<a href="org/apache/sysds/runtime/functionobjects/Equals.html" title="class in org.apache.sysds.runtime.functionobjects">Equals</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html#getErrorMessage--">getErrorMessage()</a></span> - Method in class org.apache.sysds.runtime.controlprogram.federated.<a href="org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedResponse</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/paramserv/rpc/PSRpcResponse.html#getErrorMessage--">getErrorMessage()</a></span> - Method in class org.apache.sysds.runtime.controlprogram.paramserv.rpc.<a href="org/apache/sysds/runtime/controlprogram/paramserv/rpc/PSRpcResponse.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.rpc">PSRpcResponse</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/estim/CompressedSizeInfoColGroup.html#getEstCard--">getEstCard()</a></span> - Method in class org.apache.sysds.runtime.compress.estim.<a href="org/apache/sysds/runtime/compress/estim/CompressedSizeInfoColGroup.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfoColGroup</a></dt>
-<dd>
-<div class="block">Note cardinality is the same as number of distinct values.</div>
-</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/parfor/opt/CostEstimator.html#getEstimate-org.apache.sysds.runtime.controlprogram.parfor.opt.CostEstimator.TestMeasure-org.apache.sysds.runtime.controlprogram.parfor.opt.OptNode-">getEstimate(CostEstimator.TestMeasure, OptNode)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.parfor.opt.<a href="org/apache/sysds/runtime/controlprogram/parfor/opt/CostEstimator.html" title="class in org.apache.sysds.runtime.controlprogram.parfor.opt">CostEstimator</a></dt>
 <dd>
 <div class="block">Main estimation method.</div>
@@ -12155,14 +13049,6 @@
 <dd>
 <div class="block">Main estimation method.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/estim/CompressedSizeInfoColGroup.html#getEstNnz--">getEstNnz()</a></span> - Method in class org.apache.sysds.runtime.compress.estim.<a href="org/apache/sysds/runtime/compress/estim/CompressedSizeInfoColGroup.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfoColGroup</a></dt>
-<dd>
-<div class="block">Number of offsets, or number of non zero values.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.html#getEstSize--">getEstSize()</a></span> - Method in class org.apache.sysds.runtime.compress.cocode.<a href="org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCodingGroup</a></dt>
-<dd>
-<div class="block">Obtain estimated compressed size of the grouped columns.</div>
-</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/data/TensorBlock.html#getExactBlockDataSerializedSize-org.apache.sysds.runtime.data.BasicTensorBlock-">getExactBlockDataSerializedSize(BasicTensorBlock)</a></span> - Method in class org.apache.sysds.runtime.data.<a href="org/apache/sysds/runtime/data/TensorBlock.html" title="class in org.apache.sysds.runtime.data">TensorBlock</a></dt>
 <dd>
 <div class="block">Get the exact serialized size of a <code>BasicTensorBlock</code> if written by
@@ -12180,26 +13066,34 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getExactSerializedSize--">getExactSerializedSize()</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getExactSizeOnDisk--">getExactSizeOnDisk()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></dt>
+<dd>
+<div class="block">Returns the exact serialized size of column group.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ADictionary.html#getExactSizeOnDisk--">getExactSizeOnDisk()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></dt>
 <dd>
 <div class="block">Calculate the space consumption if the dictionary is stored on disk.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getExactSizeOnDisk--">getExactSizeOnDisk()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></dt>
-<dd>
-<div class="block">Returns the exact serialized size of column group.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html#getExactSizeOnDisk--">getExactSizeOnDisk()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC1</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html#getExactSizeOnDisk--">getExactSizeOnDisk()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC2</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#getExactSizeOnDisk--">getExactSizeOnDisk()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#getExactSizeOnDisk--">getExactSizeOnDisk()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOffset</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html#getExactSizeOnDisk--">getExactSizeOnDisk()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDC</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html#getExactSizeOnDisk--">getExactSizeOnDisk()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingle</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html#getExactSizeOnDisk--">getExactSizeOnDisk()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingleZeros</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#getExactSizeOnDisk--">getExactSizeOnDisk()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCZeros</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#getExactSizeOnDisk--">getExactSizeOnDisk()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupUncompressed</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getExactSizeOnDisk--">getExactSizeOnDisk()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/Dictionary.html#getExactSizeOnDisk--">getExactSizeOnDisk()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">Dictionary</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToFactory.html#getExactSizeOnDisk-int-int-">getExactSizeOnDisk(int, int)</a></span> - Static method in class org.apache.sysds.runtime.compress.colgroup.mapping.<a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToFactory.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping">MapToFactory</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/QDictionary.html#getExactSizeOnDisk--">getExactSizeOnDisk()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/QDictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">QDictionary</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#getExactSizeOnDisk--">getExactSizeOnDisk()</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></dt>
@@ -12284,6 +13178,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/lops/OutputParameters.html#getFile_name--">getFile_name()</a></span> - Method in class org.apache.sysds.lops.<a href="org/apache/sysds/lops/OutputParameters.html" title="class in org.apache.sysds.lops">OutputParameters</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/DataOp.html#getFileFormat--">getFileFormat()</a></span> - Method in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/DataOp.html" title="class in org.apache.sysds.hops">DataOp</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/Identifier.html#getFileFormat--">getFileFormat()</a></span> - Method in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/Identifier.html" title="class in org.apache.sysds.parser">Identifier</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/meta/MetaDataFormat.html#getFileFormat--">getFileFormat()</a></span> - Method in class org.apache.sysds.runtime.meta.<a href="org/apache/sysds/runtime/meta/MetaDataFormat.html" title="class in org.apache.sysds.runtime.meta">MetaDataFormat</a></dt>
@@ -12422,8 +13318,18 @@
 <dd>
 <div class="block">Obtain the frame schema</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/utils/IntIntMap.html#getFreeValue--">getFreeValue()</a></span> - Method in class org.apache.sysds.runtime.compress.utils.<a href="org/apache/sysds/runtime/compress/utils/IntIntMap.html" title="class in org.apache.sysds.runtime.compress.utils">IntIntMap</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/DMVUtils.html#getFrequencyOfEachConsecutiveChar-java.lang.String-">getFrequencyOfEachConsecutiveChar(String)</a></span> - Static method in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/DMVUtils.html" title="class in org.apache.sysds.runtime.util">DMVUtils</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/cp/DataGenCPInstruction.html#getFrom--">getFrom()</a></span> - Method in class org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/DataGenCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">DataGenCPInstruction</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#getFromAll-java.lang.Class-java.util.function.Function-">getFromAll(Class&lt;T&gt;, Function&lt;? super T, ? extends E&gt;)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#getFromAllDoubleArray-java.lang.Class-java.util.function.Function-">getFromAllDoubleArray(Class&lt;T&gt;, Function&lt;? super T, ? extends Double&gt;)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#getFromAllIntArray-java.lang.Class-java.util.function.Function-">getFromAllIntArray(Class&lt;T&gt;, Function&lt;? super T, ? extends Integer&gt;)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/IterablePredicate.html#getFromExpr--">getFromExpr()</a></span> - Method in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/IterablePredicate.html" title="class in org.apache.sysds.parser">IterablePredicate</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/opt/InterestingPoint.html#getFromHopID--">getFromHopID()</a></span> - Method in class org.apache.sysds.hops.codegen.opt.<a href="org/apache/sysds/hops/codegen/opt/InterestingPoint.html" title="class in org.apache.sysds.hops.codegen.opt">InterestingPoint</a></dt>
@@ -12467,6 +13373,8 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/dml/DmlPreprocessor.html#getFunctionDefs--">getFunctionDefs()</a></span> - Method in class org.apache.sysds.parser.dml.<a href="org/apache/sysds/parser/dml/DmlPreprocessor.html" title="class in org.apache.sysds.parser.dml">DmlPreprocessor</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/parser/DMLProgram.html#getFunctionDictionary-java.lang.String-">getFunctionDictionary(String)</a></span> - Method in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/DMLProgram.html" title="class in org.apache.sysds.parser">DMLProgram</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/FunctionOp.html#getFunctionKey--">getFunctionKey()</a></span> - Method in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/FunctionOp.html" title="class in org.apache.sysds.hops">FunctionOp</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/FunctionOp.html#getFunctionName--">getFunctionName()</a></span> - Method in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/FunctionOp.html" title="class in org.apache.sysds.hops">FunctionOp</a></dt>
@@ -12511,6 +13419,12 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/LiveVariableAnalysis.html#getGen--">getGen()</a></span> - Method in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/LiveVariableAnalysis.html" title="class in org.apache.sysds.parser">LiveVariableAnalysis</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/privacy/PrivacyUtils.html#getGeneralPrivacyLevel-org.apache.sysds.runtime.privacy.PrivacyConstraint-">getGeneralPrivacyLevel(PrivacyConstraint)</a></span> - Static method in class org.apache.sysds.runtime.privacy.<a href="org/apache/sysds/runtime/privacy/PrivacyUtils.html" title="class in org.apache.sysds.runtime.privacy">PrivacyUtils</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/privacy/PrivacyUtils.html#getGeneralPrivacyLevels-org.apache.sysds.runtime.privacy.PrivacyConstraint:A-">getGeneralPrivacyLevels(PrivacyConstraint[])</a></span> - Static method in class org.apache.sysds.runtime.privacy.<a href="org/apache/sysds/runtime/privacy/PrivacyUtils.html" title="class in org.apache.sysds.runtime.privacy">PrivacyUtils</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/cplan/CNodeTpl.html#getGeneratorAPI--">getGeneratorAPI()</a></span> - Method in class org.apache.sysds.hops.codegen.cplan.<a href="org/apache/sysds/hops/codegen/cplan/CNodeTpl.html" title="class in org.apache.sysds.hops.codegen.cplan">CNodeTpl</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/api/DMLScript.html#getGlobalExecMode--">getGlobalExecMode()</a></span> - Static method in class org.apache.sysds.api.<a href="org/apache/sysds/api/DMLScript.html" title="class in org.apache.sysds.api">DMLScript</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getGPUContext-int-">getGPUContext(int)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.context.<a href="org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a></dt>
@@ -12521,6 +13435,8 @@
 <dd>
 <div class="block">Gets the list of GPUContexts</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getGPUDensePointerAddress-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-">getGPUDensePointerAddress(MatrixObject)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.context.<a href="org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getGPUInstructionType--">getGPUInstructionType()</a></span> - Method in class org.apache.sysds.runtime.instructions.gpu.<a href="org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">GPUInstruction</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/gpu/context/GPUMemoryManager.html#getGPULazyCudaFreeMemoryManager--">getGPULazyCudaFreeMemoryManager()</a></span> - Method in class org.apache.sysds.runtime.instructions.gpu.context.<a href="org/apache/sysds/runtime/instructions/gpu/context/GPUMemoryManager.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">GPUMemoryManager</a></dt>
@@ -12533,6 +13449,8 @@
 <dd>
 <div class="block">Gets the device properties for the active GPU (set with cudaSetDevice()).</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getGPUSparsePointerAddress-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-">getGPUSparsePointerAddress(MatrixObject)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.context.<a href="org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/InstructionUtils.html#getGPUType-java.lang.String-">getGPUType(String)</a></span> - Static method in class org.apache.sysds.runtime.instructions.<a href="org/apache/sysds/runtime/instructions/InstructionUtils.html" title="class in org.apache.sysds.runtime.instructions">InstructionUtils</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/dml/DmlLexer.html#getGrammarFileName--">getGrammarFileName()</a></span> - Method in class org.apache.sysds.parser.dml.<a href="org/apache/sysds/parser/dml/DmlLexer.html" title="class in org.apache.sysds.parser.dml">DmlLexer</a></dt>
@@ -12553,6 +13471,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html#getGroupInfo-int-">getGroupInfo(int)</a></span> - Method in class org.apache.sysds.runtime.compress.estim.<a href="org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfo</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html#getGroups--">getGroups()</a></span> - Method in class org.apache.sysds.runtime.compress.estim.<a href="org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfo</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressionStatistics.html#getGroupsSizesString--">getGroupsSizesString()</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressionStatistics.html" title="class in org.apache.sysds.runtime.compress">CompressionStatistics</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressionStatistics.html#getGroupsTypesString--">getGroupsTypesString()</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressionStatistics.html" title="class in org.apache.sysds.runtime.compress">CompressionStatistics</a></dt>
@@ -12569,7 +13489,7 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/caching/CacheStatistics.html#getHDFSWrites--">getHDFSWrites()</a></span> - Static method in class org.apache.sysds.runtime.controlprogram.caching.<a href="org/apache/sysds/runtime/controlprogram/caching/CacheStatistics.html" title="class in org.apache.sysds.runtime.controlprogram.caching">CacheStatistics</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/TfUtils.html#getHeader--">getHeader()</a></span> - Method in class org.apache.sysds.runtime.transform.<a href="org/apache/sysds/runtime/transform/TfUtils.html" title="class in org.apache.sysds.runtime.transform">TfUtils</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getHeaderSize--">getHeaderSize()</a></span> - Static method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/utils/Statistics.html#getHeavyHitters-int-">getHeavyHitters(int)</a></span> - Static method in class org.apache.sysds.utils.<a href="org/apache/sysds/utils/Statistics.html" title="class in org.apache.sysds.utils">Statistics</a></dt>
 <dd>
@@ -12623,7 +13543,7 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/IfStatement.html#getIfBody--">getIfBody()</a></span> - Method in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/IfStatement.html" title="class in org.apache.sysds.parser">IfStatement</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getIfCountsType--">getIfCountsType()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getIfCountsType--">getIfCountsType()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></dt>
 <dd>
 <div class="block">Returns true if in the getValuesAsBlock method returns values in groups (that needs to be counted) or
  individually potentially repeated values</div>
@@ -12644,8 +13564,32 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/DataGenOp.html#getIncrementValue--">getIncrementValue()</a></span> - Method in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/DataGenOp.html" title="class in org.apache.sysds.hops">DataGenOp</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html#getIndex-int-">getIndex(int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDC</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#getIndex-int-">getIndex(int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCZeros</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html#getIndex-int-">getIndex(int)</a></span> - Method in interface org.apache.sysds.runtime.compress.colgroup.mapping.<a href="org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html" title="interface in org.apache.sysds.runtime.compress.colgroup.mapping">IMapToData</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToBit.html#getIndex-int-">getIndex(int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.mapping.<a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToBit.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping">MapToBit</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToByte.html#getIndex-int-">getIndex(int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.mapping.<a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToByte.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping">MapToByte</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToChar.html#getIndex-int-">getIndex(int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.mapping.<a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToChar.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping">MapToChar</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToInt.html#getIndex-int-">getIndex(int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.mapping.<a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToInt.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping">MapToInt</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/data/SparseRowScalar.html#getIndex--">getIndex()</a></span> - Method in class org.apache.sysds.runtime.data.<a href="org/apache/sysds/runtime/data/SparseRowScalar.html" title="class in org.apache.sysds.runtime.data">SparseRowScalar</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/data/TensorIndexes.html#getIndex-int-">getIndex(int)</a></span> - Method in class org.apache.sysds.runtime.data.<a href="org/apache/sysds/runtime/data/TensorIndexes.html" title="class in org.apache.sysds.runtime.data">TensorIndexes</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/tree/AInsertionSorter.html#getIndexes--">getIndexes()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.tree.<a href="org/apache/sysds/runtime/compress/colgroup/tree/AInsertionSorter.html" title="class in org.apache.sysds.runtime.compress.colgroup.tree">AInsertionSorter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/tree/MaterializeSort.html#getIndexes--">getIndexes()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.tree.<a href="org/apache/sysds/runtime/compress/colgroup/tree/MaterializeSort.html" title="class in org.apache.sysds.runtime.compress.colgroup.tree">MaterializeSort</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/tree/MergeSort.html#getIndexes--">getIndexes()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.tree.<a href="org/apache/sysds/runtime/compress/colgroup/tree/MergeSort.html" title="class in org.apache.sysds.runtime.compress.colgroup.tree">MergeSort</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/tree/Naive.html#getIndexes--">getIndexes()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.tree.<a href="org/apache/sysds/runtime/compress/colgroup/tree/Naive.html" title="class in org.apache.sysds.runtime.compress.colgroup.tree">Naive</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/parfor/ResultMergeTaggedMatrixIndexes.html#getIndexes--">getIndexes()</a></span> - Method in class org.apache.sysds.runtime.controlprogram.parfor.<a href="org/apache/sysds/runtime/controlprogram/parfor/ResultMergeTaggedMatrixIndexes.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">ResultMergeTaggedMatrixIndexes</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/data/IndexedTensorBlock.html#getIndexes--">getIndexes()</a></span> - Method in class org.apache.sysds.runtime.data.<a href="org/apache/sysds/runtime/data/IndexedTensorBlock.html" title="class in org.apache.sysds.runtime.data">IndexedTensorBlock</a></dt>
@@ -12656,6 +13600,28 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/functionobjects/SortIndex.html#getIndexReturn--">getIndexReturn()</a></span> - Method in class org.apache.sysds.runtime.functionobjects.<a href="org/apache/sysds/runtime/functionobjects/SortIndex.html" title="class in org.apache.sysds.runtime.functionobjects">SortIndex</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#getIndexStructureHash--">getIndexStructureHash()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupConst</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#getIndexStructureHash--">getIndexStructureHash()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html#getIndexStructureHash--">getIndexStructureHash()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupEmpty</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#getIndexStructureHash--">getIndexStructureHash()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOLE</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#getIndexStructureHash--">getIndexStructureHash()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupRLE</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html#getIndexStructureHash--">getIndexStructureHash()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDC</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html#getIndexStructureHash--">getIndexStructureHash()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingle</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html#getIndexStructureHash--">getIndexStructureHash()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingleZeros</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#getIndexStructureHash--">getIndexStructureHash()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCZeros</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getIndexStructureHash--">getIndexStructureHash()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html#getInfo--">getInfo()</a></span> - Method in class org.apache.sysds.runtime.compress.estim.<a href="org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfo</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/codegen/SpoofMultiAggregate.html#getInitialValue-org.apache.sysds.runtime.codegen.SpoofCellwise.AggOp-">getInitialValue(SpoofCellwise.AggOp)</a></span> - Static method in class org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/SpoofMultiAggregate.html" title="class in org.apache.sysds.runtime.codegen">SpoofMultiAggregate</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html#getInjectedCheckpoints--">getInjectedCheckpoints()</a></span> - Method in class org.apache.sysds.hops.rewrite.<a href="org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a></dt>
@@ -12666,6 +13632,24 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/Dictionary.html#getInMemorySize--">getInMemorySize()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">Dictionary</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html#getInMemorySize--">getInMemorySize()</a></span> - Method in interface org.apache.sysds.runtime.compress.colgroup.mapping.<a href="org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html" title="interface in org.apache.sysds.runtime.compress.colgroup.mapping">IMapToData</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToBit.html#getInMemorySize--">getInMemorySize()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.mapping.<a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToBit.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping">MapToBit</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToBit.html#getInMemorySize-int-">getInMemorySize(int)</a></span> - Static method in class org.apache.sysds.runtime.compress.colgroup.mapping.<a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToBit.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping">MapToBit</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToByte.html#getInMemorySize--">getInMemorySize()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.mapping.<a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToByte.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping">MapToByte</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToByte.html#getInMemorySize-int-">getInMemorySize(int)</a></span> - Static method in class org.apache.sysds.runtime.compress.colgroup.mapping.<a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToByte.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping">MapToByte</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToChar.html#getInMemorySize--">getInMemorySize()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.mapping.<a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToChar.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping">MapToChar</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToChar.html#getInMemorySize-int-">getInMemorySize(int)</a></span> - Static method in class org.apache.sysds.runtime.compress.colgroup.mapping.<a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToChar.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping">MapToChar</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToInt.html#getInMemorySize--">getInMemorySize()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.mapping.<a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToInt.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping">MapToInt</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToInt.html#getInMemorySize-int-">getInMemorySize(int)</a></span> - Static method in class org.apache.sysds.runtime.compress.colgroup.mapping.<a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToInt.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping">MapToInt</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/QDictionary.html#getInMemorySize--">getInMemorySize()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/QDictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">QDictionary</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/QDictionary.html#getInMemorySize-int-">getInMemorySize(int)</a></span> - Static method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/QDictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">QDictionary</a></dt>
@@ -12688,6 +13672,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/Hop.html#getInput--">getInput()</a></span> - Method in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/Hop.html#getInput-int-">getInput(int)</a></span> - Method in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/cp/VariableCPInstruction.html#getInput-int-">getInput(int)</a></span> - Method in class org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/VariableCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">VariableCPInstruction</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/cp/VariableCPInstruction.html#getInput1--">getInput1()</a></span> - Method in class org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/VariableCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">VariableCPInstruction</a></dt>
@@ -12710,8 +13696,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/FunctionStatement.html#getInputDefaults--">getInputDefaults()</a></span> - Method in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/FunctionStatement.html" title="class in org.apache.sysds.parser">FunctionStatement</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/DataOp.html#getInputFormatType--">getInputFormatType()</a></span> - Method in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/DataOp.html" title="class in org.apache.sysds.hops">DataOp</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/cplan/CNodeTpl.html#getInputHopIDs-boolean-">getInputHopIDs(boolean)</a></span> - Method in class org.apache.sysds.hops.codegen.cplan.<a href="org/apache/sysds/hops/codegen/cplan/CNodeTpl.html" title="class in org.apache.sysds.hops.codegen.cplan">CNodeTpl</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/federated/FederatedUDF.html#getInputIDs--">getInputIDs()</a></span> - Method in class org.apache.sysds.runtime.controlprogram.federated.<a href="org/apache/sysds/runtime/controlprogram/federated/FederatedUDF.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedUDF</a></dt>
@@ -12859,6 +13843,8 @@
 <dd>
 <div class="block">Function to generate CP/SP instructions for data generation via Rand and Seq.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/lops/DeCompression.html#getInstructions-java.lang.String-java.lang.String-">getInstructions(String, String)</a></span> - Method in class org.apache.sysds.lops.<a href="org/apache/sysds/lops/DeCompression.html" title="class in org.apache.sysds.lops">DeCompression</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/lops/DnnTransform.html#getInstructions-java.lang.String-java.lang.String-java.lang.String-">getInstructions(String, String, String)</a></span> - Method in class org.apache.sysds.lops.<a href="org/apache/sysds/lops/DnnTransform.html" title="class in org.apache.sysds.lops">DnnTransform</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/lops/DnnTransform.html#getInstructions-java.lang.String-java.lang.String-java.lang.String-java.lang.String-">getInstructions(String, String, String, String)</a></span> - Method in class org.apache.sysds.lops.<a href="org/apache/sysds/lops/DnnTransform.html" title="class in org.apache.sysds.lops">DnnTransform</a></dt>
@@ -13058,6 +14044,8 @@
 <dd>
 <div class="block">Return the int value of a LiteralOp (as a long).</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html#getIntValueSafe-org.apache.sysds.hops.Hop-">getIntValueSafe(Hop)</a></span> - Static method in class org.apache.sysds.hops.rewrite.<a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html" title="class in org.apache.sysds.hops.rewrite">HopRewriteUtils</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html#getIntValueSafe-org.apache.sysds.hops.LiteralOp-">getIntValueSafe(LiteralOp)</a></span> - Static method in class org.apache.sysds.hops.rewrite.<a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html" title="class in org.apache.sysds.hops.rewrite">HopRewriteUtils</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/ipa/FunctionCallSizeInfo.html#getInvalidFunctions--">getInvalidFunctions()</a></span> - Method in class org.apache.sysds.hops.ipa.<a href="org/apache/sysds/hops/ipa/FunctionCallSizeInfo.html" title="class in org.apache.sysds.hops.ipa">FunctionCallSizeInfo</a></dt>
@@ -13069,34 +14057,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/parfor/Task.html#getIterations--">getIterations()</a></span> - Method in class org.apache.sysds.runtime.controlprogram.parfor.<a href="org/apache/sysds/runtime/controlprogram/parfor/Task.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">Task</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getIterator-int-int-boolean-boolean-">getIterator(int, int, boolean, boolean)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></dt>
-<dd>
-<div class="block">Create a column group iterator for a row index range.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#getIterator-int-int-boolean-boolean-">getIterator(int, int, boolean, boolean)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupConst</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#getIterator-int-int-boolean-boolean-">getIterator(int, int, boolean, boolean)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#getIterator-int-int-boolean-boolean-">getIterator(int, int, boolean, boolean)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOffset</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#getIterator-int-">getIterator(int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOffset</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#getIterator-int-int-int-">getIterator(int, int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOffset</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#getIterator-int-">getIterator(int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOLE</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#getIterator-int-int-int-">getIterator(int, int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOLE</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#getIterator-int-">getIterator(int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupRLE</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#getIterator-int-int-int-">getIterator(int, int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupRLE</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#getIterator-int-int-boolean-boolean-">getIterator(int, int, boolean, boolean)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupUncompressed</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#getIterator-int-int-boolean-">getIterator(int, int, boolean)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#getIterator-int-int-int-int-boolean-">getIterator(int, int, int, int, boolean)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/data/SparseBlock.html#getIterator--">getIterator()</a></span> - Method in class org.apache.sysds.runtime.data.<a href="org/apache/sysds/runtime/data/SparseBlock.html" title="class in org.apache.sysds.runtime.data">SparseBlock</a></dt>
 <dd>
 <div class="block">Get a non-zero iterator over the entire sparse block.</div>
@@ -13161,6 +14121,10 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/parfor/opt/OptNode.html#getK--">getK()</a></span> - Method in class org.apache.sysds.runtime.controlprogram.parfor.opt.<a href="org/apache/sysds/runtime/controlprogram/parfor/opt/OptNode.html" title="class in org.apache.sysds.runtime.controlprogram.parfor.opt">OptNode</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/meta/TfMetaUtils.html#getK-org.apache.wink.json4j.JSONObject-">getK(JSONObject)</a></span> - Static method in class org.apache.sysds.runtime.transform.meta.<a href="org/apache/sysds/runtime/transform/meta/TfMetaUtils.html" title="class in org.apache.sysds.runtime.transform.meta">TfMetaUtils</a></dt>
+<dd>
+<div class="block">Get K value used for calculation during feature hashing from parsed specifications.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/functionobjects/KahanPlus.html#getKahanPlusFnObject--">getKahanPlusFnObject()</a></span> - Static method in class org.apache.sysds.runtime.functionobjects.<a href="org/apache/sysds/runtime/functionobjects/KahanPlus.html" title="class in org.apache.sysds.runtime.functionobjects">KahanPlus</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/functionobjects/KahanPlusSq.html#getKahanPlusSqFnObject--">getKahanPlusSqFnObject()</a></span> - Static method in class org.apache.sysds.runtime.functionobjects.<a href="org/apache/sysds/runtime/functionobjects/KahanPlusSq.html" title="class in org.apache.sysds.runtime.functionobjects">KahanPlusSq</a></dt>
@@ -13215,10 +14179,10 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/RelationalExpression.html#getLeft--">getLeft()</a></span> - Method in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/RelationalExpression.html" title="class in org.apache.sysds.parser">RelationalExpression</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.html#getLeftGroup--">getLeftGroup()</a></span> - Method in class org.apache.sysds.runtime.compress.cocode.<a href="org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCodingGroup</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/OptimizerUtils.html#getLeftIndexingSparsity-long-long-long-long-long-long-">getLeftIndexingSparsity(long, long, long, long, long, long)</a></span> - Static method in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/OptimizerUtils.html" title="class in org.apache.sysds.hops">OptimizerUtils</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#getLegacyEncoder-java.lang.Class-">getLegacyEncoder(Class&lt;T&gt;)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/spark/data/RowMatrixBlock.html#getLen--">getLen()</a></span> - Method in class org.apache.sysds.runtime.instructions.spark.data.<a href="org/apache/sysds/runtime/instructions/spark/data/RowMatrixBlock.html" title="class in org.apache.sysds.runtime.instructions.spark.data">RowMatrixBlock</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/Hop.html#getLength--">getLength()</a></span> - Method in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a></dt>
@@ -13265,6 +14229,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/cp/DataGenCPInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem(ExecutionContext)</a></span> - Method in class org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/DataGenCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">DataGenCPInstruction</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/cp/FrameIndexingCPInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem(ExecutionContext)</a></span> - Method in class org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/FrameIndexingCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">FrameIndexingCPInstruction</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/cp/ListIndexingCPInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem(ExecutionContext)</a></span> - Method in class org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/ListIndexingCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ListIndexingCPInstruction</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/cp/ListObject.html#getLineageItem-int-">getLineageItem(int)</a></span> - Method in class org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/ListObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ListObject</a></dt>
@@ -13287,6 +14253,30 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem(ExecutionContext)</a></span> - Method in class org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">ComputationFEDInstruction</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/fed/InitFEDInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem(ExecutionContext)</a></span> - Method in class org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/InitFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">InitFEDInstruction</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/fed/MultiReturnParameterizedBuiltinFEDInstruction.CreateFrameEncoder.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem(ExecutionContext)</a></span> - Method in class org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/MultiReturnParameterizedBuiltinFEDInstruction.CreateFrameEncoder.html" title="class in org.apache.sysds.runtime.instructions.fed">MultiReturnParameterizedBuiltinFEDInstruction.CreateFrameEncoder</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/fed/MultiReturnParameterizedBuiltinFEDInstruction.ExecuteFrameEncoder.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem(ExecutionContext)</a></span> - Method in class org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/MultiReturnParameterizedBuiltinFEDInstruction.ExecuteFrameEncoder.html" title="class in org.apache.sysds.runtime.instructions.fed">MultiReturnParameterizedBuiltinFEDInstruction.ExecuteFrameEncoder</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/fed/ParameterizedBuiltinFEDInstruction.DecodeMatrix.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem(ExecutionContext)</a></span> - Method in class org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/ParameterizedBuiltinFEDInstruction.DecodeMatrix.html" title="class in org.apache.sysds.runtime.instructions.fed">ParameterizedBuiltinFEDInstruction.DecodeMatrix</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.DiagMatrix.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem(ExecutionContext)</a></span> - Method in class org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.DiagMatrix.html" title="class in org.apache.sysds.runtime.instructions.fed">ReorgFEDInstruction.DiagMatrix</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.Rdiag.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem(ExecutionContext)</a></span> - Method in class org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.Rdiag.html" title="class in org.apache.sysds.runtime.instructions.fed">ReorgFEDInstruction.Rdiag</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/fed/ReshapeFEDInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem(ExecutionContext)</a></span> - Method in class org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/ReshapeFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">ReshapeFEDInstruction</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/fed/VariableFEDInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem(ExecutionContext)</a></span> - Method in class org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/VariableFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">VariableFEDInstruction</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem(ExecutionContext)</a></span> - Method in class org.apache.sysds.runtime.instructions.gpu.<a href="org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">GPUInstruction</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/gpu/MatrixIndexingGPUInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem(ExecutionContext)</a></span> - Method in class org.apache.sysds.runtime.instructions.gpu.<a href="org/apache/sysds/runtime/instructions/gpu/MatrixIndexingGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">MatrixIndexingGPUInstruction</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/gpu/MatrixReshapeGPUInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem(ExecutionContext)</a></span> - Method in class org.apache.sysds.runtime.instructions.gpu.<a href="org/apache/sysds/runtime/instructions/gpu/MatrixReshapeGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">MatrixReshapeGPUInstruction</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem(ExecutionContext)</a></span> - Method in class org.apache.sysds.runtime.instructions.gpu.<a href="org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">SpoofCUDAInstruction</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/spark/BuiltinNarySPInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem(ExecutionContext)</a></span> - Method in class org.apache.sysds.runtime.instructions.spark.<a href="org/apache/sysds/runtime/instructions/spark/BuiltinNarySPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">BuiltinNarySPInstruction</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/spark/ComputationSPInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem(ExecutionContext)</a></span> - Method in class org.apache.sysds.runtime.instructions.spark.<a href="org/apache/sysds/runtime/instructions/spark/ComputationSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">ComputationSPInstruction</a></dt>
@@ -13331,6 +14321,10 @@
 <dd>
 <div class="block">Getter for instruction line number</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/caching/CacheStatistics.html#getLinHits--">getLinHits()</a></span> - Static method in class org.apache.sysds.runtime.controlprogram.caching.<a href="org/apache/sysds/runtime/controlprogram/caching/CacheStatistics.html" title="class in org.apache.sysds.runtime.controlprogram.caching">CacheStatistics</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/caching/CacheStatistics.html#getLinWrites--">getLinWrites()</a></span> - Static method in class org.apache.sysds.runtime.controlprogram.caching.<a href="org/apache/sysds/runtime/controlprogram/caching/CacheStatistics.html" title="class in org.apache.sysds.runtime.controlprogram.caching">CacheStatistics</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getListObject-org.apache.sysds.runtime.instructions.cp.CPOperand-">getListObject(CPOperand)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.context.<a href="org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getListObject-java.lang.String-">getListObject(String)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.context.<a href="org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a></dt>
@@ -13432,8 +14426,16 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/estim/EstimatorDensityMap.DensityMap.html#getMap--">getMap()</a></span> - Method in class org.apache.sysds.hops.estim.<a href="org/apache/sysds/hops/estim/EstimatorDensityMap.DensityMap.html" title="class in org.apache.sysds.hops.estim">EstimatorDensityMap.DensityMap</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/pre/MapPreAggregate.html#getMap--">getMap()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.pre.<a href="org/apache/sysds/runtime/compress/colgroup/pre/MapPreAggregate.html" title="class in org.apache.sysds.runtime.compress.colgroup.pre">MapPreAggregate</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/utils/IntIntMap.html#getMap--">getMap()</a></span> - Method in class org.apache.sysds.runtime.compress.utils.<a href="org/apache/sysds/runtime/compress/utils/IntIntMap.html" title="class in org.apache.sysds.runtime.compress.utils">IntIntMap</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/federated/FederationMap.html#getMap--">getMap()</a></span> - Method in class org.apache.sysds.runtime.controlprogram.federated.<a href="org/apache/sysds/runtime/controlprogram/federated/FederationMap.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationMap</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/LineageDedupBlock.html#getMap-java.lang.Long-">getMap(Long)</a></span> - Method in class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageDedupBlock.html" title="class in org.apache.sysds.runtime.lineage">LineageDedupBlock</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/pre/MapPreAggregate.html#getMapFreeValue--">getMapFreeValue()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.pre.<a href="org/apache/sysds/runtime/compress/colgroup/pre/MapPreAggregate.html" title="class in org.apache.sysds.runtime.compress.colgroup.pre">MapPreAggregate</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/AggBinaryOp.html#getMapmmMemEstimate-long-long-long-long-long-long-long-long-int-boolean-">getMapmmMemEstimate(long, long, long, long, long, long, long, long, int, boolean)</a></span> - Static method in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/AggBinaryOp.html" title="class in org.apache.sysds.hops">AggBinaryOp</a></dt>
 <dd>
 <div class="block">Estimates the memory footprint of MapMult operation depending on which input is put into distributed cache.</div>
@@ -13506,6 +14508,12 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getMatrixObject-java.lang.String-">getMatrixObject(String)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.context.<a href="org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getMax--">getMax()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#getMax--">getMax()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupUncompressed</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getMax--">getMax()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/gpu/context/GPUContext.html#getMaxBlocks--">getMaxBlocks()</a></span> - Method in class org.apache.sysds.runtime.instructions.gpu.context.<a href="org/apache/sysds/runtime/instructions/gpu/context/GPUContext.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">GPUContext</a></dt>
 <dd>
 <div class="block">Gets the maximum number of blocks supported by the active cuda device.</div>
@@ -13571,8 +14579,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/gpu/context/GPUContext.html#getMemoryManager--">getMemoryManager()</a></span> - Method in class org.apache.sysds.runtime.instructions.gpu.context.<a href="org/apache/sysds/runtime/instructions/gpu/context/GPUContext.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">GPUContext</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.html#getMergedIndexes-int:A-int:A-">getMergedIndexes(int[], int[])</a></span> - Static method in class org.apache.sysds.runtime.compress.cocode.<a href="org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCodingGroup</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/dml/CustomErrorListener.ParseIssue.html#getMessage--">getMessage()</a></span> - Method in class org.apache.sysds.parser.dml.<a href="org/apache/sysds/parser/dml/CustomErrorListener.ParseIssue.html" title="class in org.apache.sysds.parser.dml">CustomErrorListener.ParseIssue</a></dt>
 <dd>
 <div class="block">Obtain the message describing the parse issue.</div>
@@ -13587,25 +14593,31 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/cp/Data.html#getMetaData--">getMetaData()</a></span> - Method in class org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/Data.html" title="class in org.apache.sysds.runtime.instructions.cp">Data</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/Encoder.html#getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">getMetaData(FrameBlock)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderBin.html#getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">getMetaData(FrameBlock)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderBin.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderBin</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html#getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">getMetaData(FrameBlock)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderComposite</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderDummycode.html#getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">getMetaData(FrameBlock)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderDummycode.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderDummycode</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderFeatureHash.html#getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">getMetaData(FrameBlock)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderFeatureHash.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderFeatureHash</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderPassThrough.html#getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">getMetaData(FrameBlock)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderPassThrough.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderPassThrough</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderRecode.html#getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">getMetaData(FrameBlock)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderRecode.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderRecode</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/Encoder.html#getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">getMetaData(FrameBlock)</a></span> - Method in interface org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/Encoder.html" title="interface in org.apache.sysds.runtime.transform.encode">Encoder</a></dt>
 <dd>
 <div class="block">Construct a frame block out of the transform meta data.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderBin.html#getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">getMetaData(FrameBlock)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderBin.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderBin</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderComposite.html#getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">getMetaData(FrameBlock)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderComposite</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderDummycode.html#getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">getMetaData(FrameBlock)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderDummycode.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderDummycode</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderFeatureHash.html#getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">getMetaData(FrameBlock)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderFeatureHash.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderFeatureHash</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html#getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">getMetaData(FrameBlock)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderMVImpute</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderOmit.html#getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">getMetaData(FrameBlock)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderOmit.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderOmit</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderPassThrough.html#getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">getMetaData(FrameBlock)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderPassThrough.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderPassThrough</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderRecode.html#getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">getMetaData(FrameBlock)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderRecode.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderRecode</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">getMetaData(FrameBlock)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/LegacyEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">LegacyEncoder</a></dt>
+<dd>
+<div class="block">Construct a frame block out of the transform meta data.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">getMetaData(FrameBlock)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/paramserv/rpc/PSRpcCall.html#getMethod--">getMethod()</a></span> - Method in class org.apache.sysds.runtime.controlprogram.paramserv.rpc.<a href="org/apache/sysds/runtime/controlprogram/paramserv/rpc/PSRpcCall.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.rpc">PSRpcCall</a></dt>
 <dd>&nbsp;</dd>
@@ -13615,6 +14627,12 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/spark/functions/GetMIMBFromRow.html#GetMIMBFromRow--">GetMIMBFromRow()</a></span> - Constructor for class org.apache.sysds.runtime.instructions.spark.functions.<a href="org/apache/sysds/runtime/instructions/spark/functions/GetMIMBFromRow.html" title="class in org.apache.sysds.runtime.instructions.spark.functions">GetMIMBFromRow</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getMin--">getMin()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#getMin--">getMin()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupUncompressed</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getMin--">getMin()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/estim/CompressedSizeInfoColGroup.html#getMinSize--">getMinSize()</a></span> - Method in class org.apache.sysds.runtime.compress.estim.<a href="org/apache/sysds/runtime/compress/estim/CompressedSizeInfoColGroup.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfoColGroup</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/functionobjects/Minus1Multiply.html#getMinus1MultiplyFnObject--">getMinus1MultiplyFnObject()</a></span> - Static method in class org.apache.sysds.runtime.functionobjects.<a href="org/apache/sysds/runtime/functionobjects/Minus1Multiply.html" title="class in org.apache.sysds.runtime.functionobjects">Minus1Multiply</a></dt>
@@ -13675,6 +14693,12 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/StatementBlock.html#getName--">getName()</a></span> - Method in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/codegen/SpoofCUDACellwise.html#getName--">getName()</a></span> - Method in class org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/SpoofCUDACellwise.html" title="class in org.apache.sysds.runtime.codegen">SpoofCUDACellwise</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html#getName--">getName()</a></span> - Method in interface org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html" title="interface in org.apache.sysds.runtime.codegen">SpoofCUDAOperator</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/codegen/SpoofCUDARowwise.html#getName--">getName()</a></span> - Method in class org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/SpoofCUDARowwise.html" title="class in org.apache.sysds.runtime.codegen">SpoofCUDARowwise</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/cp/CPOperand.html#getName--">getName()</a></span> - Method in class org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/cp/ListObject.html#getName-int-">getName(int)</a></span> - Method in class org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/ListObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ListObject</a></dt>
@@ -13757,8 +14781,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/spark/data/BroadcastObject.html#getNonPartitionedBroadcast--">getNonPartitionedBroadcast()</a></span> - Method in class org.apache.sysds.runtime.instructions.spark.data.<a href="org/apache/sysds/runtime/instructions/spark/data/BroadcastObject.html" title="class in org.apache.sysds.runtime.instructions.spark.data">BroadcastObject</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/spark/data/BroadcastObject.html#getNonPartitionedBroadcastSize--">getNonPartitionedBroadcastSize()</a></span> - Method in class org.apache.sysds.runtime.instructions.spark.data.<a href="org/apache/sysds/runtime/instructions/spark/data/BroadcastObject.html" title="class in org.apache.sysds.runtime.instructions.spark.data">BroadcastObject</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/estim/EstimatorBitsetMM.BitsetMatrix.html#getNonZeros--">getNonZeros()</a></span> - Method in class org.apache.sysds.hops.estim.<a href="org/apache/sysds/hops/estim/EstimatorBitsetMM.BitsetMatrix.html" title="class in org.apache.sysds.hops.estim">EstimatorBitsetMM.BitsetMatrix</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/estim/EstimatorDensityMap.DensityMap.html#getNonZeros--">getNonZeros()</a></span> - Method in class org.apache.sysds.hops.estim.<a href="org/apache/sysds/hops/estim/EstimatorDensityMap.DensityMap.html" title="class in org.apache.sysds.hops.estim">EstimatorDensityMap.DensityMap</a></dt>
@@ -13771,6 +14793,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/data/TensorBlock.html#getNonZeros--">getNonZeros()</a></span> - Method in class org.apache.sysds.runtime.data.<a href="org/apache/sysds/runtime/data/TensorBlock.html" title="class in org.apache.sysds.runtime.data">TensorBlock</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/spark/utils/SparkUtils.html#getNonZeros-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-">getNonZeros(MatrixObject)</a></span> - Static method in class org.apache.sysds.runtime.instructions.spark.utils.<a href="org/apache/sysds/runtime/instructions/spark/utils/SparkUtils.html" title="class in org.apache.sysds.runtime.instructions.spark.utils">SparkUtils</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/spark/utils/SparkUtils.html#getNonZeros-org.apache.spark.api.java.JavaPairRDD-">getNonZeros(JavaPairRDD&lt;MatrixIndexes, MatrixBlock&gt;)</a></span> - Static method in class org.apache.sysds.runtime.instructions.spark.utils.<a href="org/apache/sysds/runtime/instructions/spark/utils/SparkUtils.html" title="class in org.apache.sysds.runtime.instructions.spark.utils">SparkUtils</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/CM_N_COVCell.html#getNonZeros--">getNonZeros()</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/CM_N_COVCell.html" title="class in org.apache.sysds.runtime.matrix.data">CM_N_COVCell</a></dt>
@@ -13807,6 +14831,20 @@
 <dd>
 <div class="block">Copy the nth row and return the dense pointer</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html#getNumberColGroups--">getNumberColGroups()</a></span> - Method in class org.apache.sysds.runtime.compress.estim.<a href="org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfo</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getNumberNonZeros--">getNumberNonZeros()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ADictionary.html#getNumberNonZeros-int:A-int-">getNumberNonZeros(int[], int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#getNumberNonZeros--">getNumberNonZeros()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupUncompressed</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getNumberNonZeros--">getNumberNonZeros()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/Dictionary.html#getNumberNonZeros-int:A-int-">getNumberNonZeros(int[], int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">Dictionary</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/QDictionary.html#getNumberNonZeros-int:A-int-">getNumberNonZeros(int[], int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/QDictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">QDictionary</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ADictionary.html#getNumberOfValues-int-">getNumberOfValues(int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></dt>
 <dd>
 <div class="block">Get the number of values given that the column group has n columns</div>
@@ -13835,7 +14873,7 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/lops/OutputParameters.html#getNumCols--">getNumCols()</a></span> - Method in class org.apache.sysds.lops.<a href="org/apache/sysds/lops/OutputParameters.html" title="class in org.apache.sysds.lops">OutputParameters</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getNumCols--">getNumCols()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getNumCols--">getNumCols()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></dt>
 <dd>
 <div class="block">Obtain the number of columns in this column group.</div>
 </dd>
@@ -13843,13 +14881,15 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/spark/data/PartitionedBroadcast.html#getNumCols--">getNumCols()</a></span> - Method in class org.apache.sysds.runtime.instructions.spark.data.<a href="org/apache/sysds/runtime/instructions/spark/data/PartitionedBroadcast.html" title="class in org.apache.sysds.runtime.instructions.spark.data">PartitionedBroadcast</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/Encoder.html#getNumCols--">getNumCols()</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/tokenize/Tokenizer.html#getNumCols--">getNumCols()</a></span> - Method in class org.apache.sysds.runtime.transform.tokenize.<a href="org/apache/sysds/runtime/transform/tokenize/Tokenizer.html" title="class in org.apache.sysds.runtime.transform.tokenize">Tokenizer</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderComposite.html#getNumCols--">getNumCols()</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderComposite</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/tokenize/TokenizerPost.html#getNumCols--">getNumCols()</a></span> - Method in interface org.apache.sysds.runtime.transform.tokenize.<a href="org/apache/sysds/runtime/transform/tokenize/TokenizerPost.html" title="interface in org.apache.sysds.runtime.transform.tokenize">TokenizerPost</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderDummycode.html#getNumCols--">getNumCols()</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderDummycode.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderDummycode</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/tokenize/TokenizerPostCount.html#getNumCols--">getNumCols()</a></span> - Method in class org.apache.sysds.runtime.transform.tokenize.<a href="org/apache/sysds/runtime/transform/tokenize/TokenizerPostCount.html" title="class in org.apache.sysds.runtime.transform.tokenize">TokenizerPostCount</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/TfUtils.html#getNumCols--">getNumCols()</a></span> - Method in class org.apache.sysds.runtime.transform.<a href="org/apache/sysds/runtime/transform/TfUtils.html" title="class in org.apache.sysds.runtime.transform">TfUtils</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/tokenize/TokenizerPostHash.html#getNumCols--">getNumCols()</a></span> - Method in class org.apache.sysds.runtime.transform.tokenize.<a href="org/apache/sysds/runtime/transform/tokenize/TokenizerPostHash.html" title="class in org.apache.sysds.runtime.transform.tokenize">TokenizerPostHash</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/tokenize/TokenizerPostPosition.html#getNumCols--">getNumCols()</a></span> - Method in class org.apache.sysds.runtime.transform.tokenize.<a href="org/apache/sysds/runtime/transform/tokenize/TokenizerPostPosition.html" title="class in org.apache.sysds.runtime.transform.tokenize">TokenizerPostPosition</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/spark/data/PartitionedBlock.html#getNumColumnBlocks--">getNumColumnBlocks()</a></span> - Method in class org.apache.sysds.runtime.instructions.spark.data.<a href="org/apache/sysds/runtime/instructions/spark/data/PartitionedBlock.html" title="class in org.apache.sysds.runtime.instructions.spark.data">PartitionedBlock</a></dt>
 <dd>&nbsp;</dd>
@@ -13914,6 +14954,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/FrameBlock.ColumnMetadata.html#getNumDistinct--">getNumDistinct()</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/FrameBlock.ColumnMetadata.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock.ColumnMetadata</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderRecode.html#getNumDistinctValues--">getNumDistinctValues()</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderRecode.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderRecode</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/parfor/opt/Optimizer.html#getNumEvaluatedPlans--">getNumEvaluatedPlans()</a></span> - Method in class org.apache.sysds.runtime.controlprogram.parfor.opt.<a href="org/apache/sysds/runtime/controlprogram/parfor/opt/Optimizer.html" title="class in org.apache.sysds.runtime.controlprogram.parfor.opt">Optimizer</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/parfor/RemoteParForJobReturn.html#getNumExecutedIterations--">getNumExecutedIterations()</a></span> - Method in class org.apache.sysds.runtime.controlprogram.parfor.<a href="org/apache/sysds/runtime/controlprogram/parfor/RemoteParForJobReturn.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">RemoteParForJobReturn</a></dt>
@@ -13926,6 +14968,10 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/context/SparkExecutionContext.SparkClusterConfig.html#getNumExecutors--">getNumExecutors()</a></span> - Method in class org.apache.sysds.runtime.controlprogram.context.<a href="org/apache/sysds/runtime/controlprogram/context/SparkExecutionContext.SparkClusterConfig.html" title="class in org.apache.sysds.runtime.controlprogram.context">SparkExecutionContext.SparkClusterConfig</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#getNumExtraCols--">getNumExtraCols()</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#getNumExtraCols-org.apache.sysds.runtime.util.IndexRange-">getNumExtraCols(IndexRange)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getNumGPUContexts--">getNumGPUContexts()</a></span> - Method in class org.apache.sysds.runtime.controlprogram.context.<a href="org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a></dt>
 <dd>
 <div class="block">Gets the number of GPUContexts</div>
@@ -13948,6 +14994,10 @@
 <dd>
 <div class="block">Obtain the number of non-zero values</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/estim/CompressedSizeInfoColGroup.html#getNumOffs--">getNumOffs()</a></span> - Method in class org.apache.sysds.runtime.compress.estim.<a href="org/apache/sysds/runtime/compress/estim/CompressedSizeInfoColGroup.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfoColGroup</a></dt>
+<dd>
+<div class="block">Number of offsets, or number of non zero values.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/utils/ABitmap.html#getNumOffsets--">getNumOffsets()</a></span> - Method in class org.apache.sysds.runtime.compress.utils.<a href="org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils">ABitmap</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/utils/ABitmap.html#getNumOffsets-int-">getNumOffsets(int)</a></span> - Method in class org.apache.sysds.runtime.compress.utils.<a href="org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils">ABitmap</a></dt>
@@ -13972,6 +15022,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/spark/utils/SparkUtils.html#getNumPreferredPartitions-org.apache.sysds.runtime.meta.DataCharacteristics-">getNumPreferredPartitions(DataCharacteristics)</a></span> - Static method in class org.apache.sysds.runtime.instructions.spark.utils.<a href="org/apache/sysds/runtime/instructions/spark/utils/SparkUtils.html" title="class in org.apache.sysds.runtime.instructions.spark.utils">SparkUtils</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/spark/utils/SparkUtils.html#getNumPreferredPartitions-org.apache.sysds.runtime.meta.DataCharacteristics-boolean-">getNumPreferredPartitions(DataCharacteristics, boolean)</a></span> - Static method in class org.apache.sysds.runtime.instructions.spark.utils.<a href="org/apache/sysds/runtime/instructions/spark/utils/SparkUtils.html" title="class in org.apache.sysds.runtime.instructions.spark.utils">SparkUtils</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/OptimizerUtils.html#getNumReducers-boolean-">getNumReducers(boolean)</a></span> - Static method in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/OptimizerUtils.html" title="class in org.apache.sysds.hops">OptimizerUtils</a></dt>
 <dd>
 <div class="block">Returns the number of reducers that potentially run in parallel.</div>
@@ -14006,7 +15058,7 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/lops/OutputParameters.html#getNumRows--">getNumRows()</a></span> - Method in class org.apache.sysds.lops.<a href="org/apache/sysds/lops/OutputParameters.html" title="class in org.apache.sysds.lops">OutputParameters</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getNumRows--">getNumRows()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getNumRows--">getNumRows()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></dt>
 <dd>
 <div class="block">Get number of rows contained in the ColGroup.</div>
 </dd>
@@ -14042,6 +15094,16 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/MatrixValue.html#getNumRows--">getNumRows()</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/tokenize/Tokenizer.html#getNumRows-long-">getNumRows(long)</a></span> - Method in class org.apache.sysds.runtime.transform.tokenize.<a href="org/apache/sysds/runtime/transform/tokenize/Tokenizer.html" title="class in org.apache.sysds.runtime.transform.tokenize">Tokenizer</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/tokenize/TokenizerPost.html#getNumRows-long-">getNumRows(long)</a></span> - Method in interface org.apache.sysds.runtime.transform.tokenize.<a href="org/apache/sysds/runtime/transform/tokenize/TokenizerPost.html" title="interface in org.apache.sysds.runtime.transform.tokenize">TokenizerPost</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/tokenize/TokenizerPostCount.html#getNumRows-long-">getNumRows(long)</a></span> - Method in class org.apache.sysds.runtime.transform.tokenize.<a href="org/apache/sysds/runtime/transform/tokenize/TokenizerPostCount.html" title="class in org.apache.sysds.runtime.transform.tokenize">TokenizerPostCount</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/tokenize/TokenizerPostHash.html#getNumRows-long-">getNumRows(long)</a></span> - Method in class org.apache.sysds.runtime.transform.tokenize.<a href="org/apache/sysds/runtime/transform/tokenize/TokenizerPostHash.html" title="class in org.apache.sysds.runtime.transform.tokenize">TokenizerPostHash</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/tokenize/TokenizerPostPosition.html#getNumRows-long-">getNumRows(long)</a></span> - Method in class org.apache.sysds.runtime.transform.tokenize.<a href="org/apache/sysds/runtime/transform/tokenize/TokenizerPostPosition.html" title="class in org.apache.sysds.runtime.transform.tokenize">TokenizerPostPosition</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/estim/EstimatorDensityMap.DensityMap.html#getNumRowsOrig--">getNumRowsOrig()</a></span> - Method in class org.apache.sysds.hops.estim.<a href="org/apache/sysds/hops/estim/EstimatorDensityMap.DensityMap.html" title="class in org.apache.sysds.hops.estim">EstimatorDensityMap.DensityMap</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/opt/ReachabilityGraph.html#getNumSkipPlans-boolean:A-">getNumSkipPlans(boolean[])</a></span> - Method in class org.apache.sysds.hops.codegen.opt.<a href="org/apache/sysds/hops/codegen/opt/ReachabilityGraph.html" title="class in org.apache.sysds.hops.codegen.opt">ReachabilityGraph</a></dt>
@@ -14056,14 +15118,24 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html#getNumThreads--">getNumThreads()</a></span> - Method in class org.apache.sysds.runtime.matrix.operators.<a href="org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/operators/BinaryOperator.html#getNumThreads--">getNumThreads()</a></span> - Method in class org.apache.sysds.runtime.matrix.operators.<a href="org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/operators/ReorgOperator.html#getNumThreads--">getNumThreads()</a></span> - Method in class org.apache.sysds.runtime.matrix.operators.<a href="org/apache/sysds/runtime/matrix/operators/ReorgOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ReorgOperator</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/operators/ScalarOperator.html#getNumThreads--">getNumThreads()</a></span> - Method in class org.apache.sysds.runtime.matrix.operators.<a href="org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/operators/TernaryOperator.html#getNumThreads--">getNumThreads()</a></span> - Method in class org.apache.sysds.runtime.matrix.operators.<a href="org/apache/sysds/runtime/matrix/operators/TernaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">TernaryOperator</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/operators/UnaryOperator.html#getNumThreads--">getNumThreads()</a></span> - Method in class org.apache.sysds.runtime.matrix.operators.<a href="org/apache/sysds/runtime/matrix/operators/UnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">UnaryOperator</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/parfor/opt/Optimizer.html#getNumTotalPlans--">getNumTotalPlans()</a></span> - Method in class org.apache.sysds.runtime.controlprogram.parfor.opt.<a href="org/apache/sysds/runtime/controlprogram/parfor/opt/Optimizer.html" title="class in org.apache.sysds.runtime.controlprogram.parfor.opt">Optimizer</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/estim/CompressedSizeInfoColGroup.html#getNumVals--">getNumVals()</a></span> - Method in class org.apache.sysds.runtime.compress.estim.<a href="org/apache/sysds/runtime/compress/estim/CompressedSizeInfoColGroup.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfoColGroup</a></dt>
+<dd>
+<div class="block">Note cardinality is the same as number of distinct values.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html#getNumValues--">getNumValues()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupEmpty</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getNumValues--">getNumValues()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></dt>
 <dd>
 <div class="block">Obtain number of distinct sets of values associated with the bitmaps in this column group.</div>
@@ -14093,7 +15165,7 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/FrameBlock.html#getObjectRowIterator-int:A-">getObjectRowIterator(int[])</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></dt>
 <dd>
-<div class="block">Get a row iterator over the frame where all selected fields are 
+<div class="block">Get a row iterator over the frame where all selected fields are
  encoded as boxed objects according to their value types.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/FrameBlock.html#getObjectRowIterator-int-int-">getObjectRowIterator(int, int)</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></dt>
@@ -14103,7 +15175,7 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/FrameBlock.html#getObjectRowIterator-int-int-int:A-">getObjectRowIterator(int, int, int[])</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></dt>
 <dd>
-<div class="block">Get a row iterator over the frame where all selected fields are 
+<div class="block">Get a row iterator over the frame where all selected fields are
  encoded as boxed objects according to their value types.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/meta/TfOffsetMap.html#getOffset-long-">getOffset(long)</a></span> - Method in class org.apache.sysds.runtime.transform.meta.<a href="org/apache/sysds/runtime/transform/meta/TfOffsetMap.html" title="class in org.apache.sysds.runtime.transform.meta">TfOffsetMap</a></dt>
@@ -14200,6 +15272,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/cp/SpoofCPInstruction.html#getOperatorClass--">getOperatorClass()</a></span> - Method in class org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/SpoofCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">SpoofCPInstruction</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/spark/SpoofSPInstruction.html#getOperatorClass--">getOperatorClass()</a></span> - Method in class org.apache.sysds.runtime.instructions.spark.<a href="org/apache/sysds/runtime/instructions/spark/SpoofSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">SpoofSPInstruction</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/privacy/propagation/MatrixMultiplicationPropagator.html#getOperatorTypesCol--">getOperatorTypesCol()</a></span> - Method in class org.apache.sysds.runtime.privacy.propagation.<a href="org/apache/sysds/runtime/privacy/propagation/MatrixMultiplicationPropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation">MatrixMultiplicationPropagator</a></dt>
 <dd>
 <div class="block">Gets the operator types of all columns of the right-hand input in the matrix multiplication.</div>
@@ -14244,8 +15318,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/UnaryOp.html#getOpString--">getOpString()</a></span> - Method in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/UnaryOp.html" title="class in org.apache.sysds.hops">UnaryOp</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/cocode/PlanningMemoTable.html#getOptChangeInSize--">getOptChangeInSize()</a></span> - Method in class org.apache.sysds.runtime.compress.cocode.<a href="org/apache/sysds/runtime/compress/cocode/PlanningMemoTable.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningMemoTable</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/ParForProgramBlock.html#getOptimizationMode--">getOptimizationMode()</a></span> - Method in class org.apache.sysds.runtime.controlprogram.<a href="org/apache/sysds/runtime/controlprogram/ParForProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ParForProgramBlock</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/OptimizerUtils.html#getOptLevel--">getOptLevel()</a></span> - Static method in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/OptimizerUtils.html" title="class in org.apache.sysds.hops">OptimizerUtils</a></dt>
@@ -14262,8 +15334,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/lops/SortKeys.html#getOpType--">getOpType()</a></span> - Method in class org.apache.sysds.lops.<a href="org/apache/sysds/lops/SortKeys.html" title="class in org.apache.sysds.lops">SortKeys</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/cocode/PlanningMemoTable.html#getOrCreate-org.apache.sysds.runtime.compress.cocode.PlanningCoCodingGroup-org.apache.sysds.runtime.compress.cocode.PlanningCoCodingGroup-org.apache.sysds.runtime.compress.estim.CompressedSizeEstimator-int-">getOrCreate(PlanningCoCodingGroup, PlanningCoCodingGroup, CompressedSizeEstimator, int)</a></span> - Method in class org.apache.sysds.runtime.compress.cocode.<a href="org/apache/sysds/runtime/compress/cocode/PlanningMemoTable.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningMemoTable</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/Lineage.html#getOrCreate-org.apache.sysds.runtime.instructions.cp.CPOperand-">getOrCreate(CPOperand)</a></span> - Method in class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/Lineage.html" title="class in org.apache.sysds.runtime.lineage">Lineage</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/LineageMap.html#getOrCreate-org.apache.sysds.runtime.instructions.cp.CPOperand-">getOrCreate(CPOperand)</a></span> - Method in class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageMap.html" title="class in org.apache.sysds.runtime.lineage">LineageMap</a></dt>
@@ -14308,6 +15378,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/fed/MultiReturnParameterizedBuiltinFEDInstruction.html#getOutput-int-">getOutput(int)</a></span> - Method in class org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/MultiReturnParameterizedBuiltinFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">MultiReturnParameterizedBuiltinFEDInstruction</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/cp/ListAppendRemoveCPInstruction.html#getOutput2--">getOutput2()</a></span> - Method in class org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/ListAppendRemoveCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ListAppendRemoveCPInstruction</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/cplan/CNodeCell.html#getOutputDimType--">getOutputDimType()</a></span> - Method in class org.apache.sysds.hops.codegen.cplan.<a href="org/apache/sysds/hops/codegen/cplan/CNodeCell.html" title="class in org.apache.sysds.hops.codegen.cplan">CNodeCell</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/cplan/CNodeMultiAgg.html#getOutputDimType--">getOutputDimType()</a></span> - Method in class org.apache.sysds.hops.codegen.cplan.<a href="org/apache/sysds/hops/codegen/cplan/CNodeMultiAgg.html" title="class in org.apache.sysds.hops.codegen.cplan">CNodeMultiAgg</a></dt>
@@ -14318,6 +15390,16 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/cplan/CNodeTpl.html#getOutputDimType--">getOutputDimType()</a></span> - Method in class org.apache.sysds.hops.codegen.cplan.<a href="org/apache/sysds/hops/codegen/cplan/CNodeTpl.html" title="class in org.apache.sysds.hops.codegen.cplan">CNodeTpl</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/federated/FederatedUDF.html#getOutputIds--">getOutputIds()</a></span> - Method in class org.apache.sysds.runtime.controlprogram.federated.<a href="org/apache/sysds/runtime/controlprogram/federated/FederatedUDF.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedUDF</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/fed/MultiReturnParameterizedBuiltinFEDInstruction.ExecuteFrameEncoder.html#getOutputIds--">getOutputIds()</a></span> - Method in class org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/MultiReturnParameterizedBuiltinFEDInstruction.ExecuteFrameEncoder.html" title="class in org.apache.sysds.runtime.instructions.fed">MultiReturnParameterizedBuiltinFEDInstruction.ExecuteFrameEncoder</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/fed/ParameterizedBuiltinFEDInstruction.DecodeMatrix.html#getOutputIds--">getOutputIds()</a></span> - Method in class org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/ParameterizedBuiltinFEDInstruction.DecodeMatrix.html" title="class in org.apache.sysds.runtime.instructions.fed">ParameterizedBuiltinFEDInstruction.DecodeMatrix</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.DiagMatrix.html#getOutputIds--">getOutputIds()</a></span> - Method in class org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.DiagMatrix.html" title="class in org.apache.sysds.runtime.instructions.fed">ReorgFEDInstruction.DiagMatrix</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.Rdiag.html#getOutputIds--">getOutputIds()</a></span> - Method in class org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.Rdiag.html" title="class in org.apache.sysds.runtime.instructions.fed">ReorgFEDInstruction.Rdiag</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/Hop.html#getOutputMemEstimate--">getOutputMemEstimate()</a></span> - Method in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/cp/MultiReturnBuiltinCPInstruction.html#getOutputNames--">getOutputNames()</a></span> - Method in class org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/MultiReturnBuiltinCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">MultiReturnBuiltinCPInstruction</a></dt>
@@ -14368,6 +15450,14 @@
 <dd>
 <div class="block">Obtain the output variable names as an unmodifiable set of strings.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/tokenize/TokenizerPost.html#getOutSchema--">getOutSchema()</a></span> - Method in interface org.apache.sysds.runtime.transform.tokenize.<a href="org/apache/sysds/runtime/transform/tokenize/TokenizerPost.html" title="interface in org.apache.sysds.runtime.transform.tokenize">TokenizerPost</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/tokenize/TokenizerPostCount.html#getOutSchema--">getOutSchema()</a></span> - Method in class org.apache.sysds.runtime.transform.tokenize.<a href="org/apache/sysds/runtime/transform/tokenize/TokenizerPostCount.html" title="class in org.apache.sysds.runtime.transform.tokenize">TokenizerPostCount</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/tokenize/TokenizerPostHash.html#getOutSchema--">getOutSchema()</a></span> - Method in class org.apache.sysds.runtime.transform.tokenize.<a href="org/apache/sysds/runtime/transform/tokenize/TokenizerPostHash.html" title="class in org.apache.sysds.runtime.transform.tokenize">TokenizerPostHash</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/tokenize/TokenizerPostPosition.html#getOutSchema--">getOutSchema()</a></span> - Method in class org.apache.sysds.runtime.transform.tokenize.<a href="org/apache/sysds/runtime/transform/tokenize/TokenizerPostPosition.html" title="class in org.apache.sysds.runtime.transform.tokenize">TokenizerPostPosition</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/DnnUtils.html#getP-long-long-long-long-">getP(long, long, long, long)</a></span> - Static method in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/DnnUtils.html" title="class in org.apache.sysds.runtime.util">DnnUtils</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/caching/PageCache.html#getPage-int-">getPage(int)</a></span> - Static method in class org.apache.sysds.runtime.controlprogram.caching.<a href="org/apache/sysds/runtime/controlprogram/caching/PageCache.html" title="class in org.apache.sysds.runtime.controlprogram.caching">PageCache</a></dt>
@@ -14420,6 +15510,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.html#getParams--">getParams()</a></span> - Method in class org.apache.sysds.runtime.instructions.spark.<a href="org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">ParameterizedBuiltinSPInstruction</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/ParameterizedBuiltinOp.html#getParamservPseudoFunctionCalls--">getParamservPseudoFunctionCalls()</a></span> - Method in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/ParameterizedBuiltinOp.html" title="class in org.apache.sysds.hops">ParameterizedBuiltinOp</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/Hop.html#getParent--">getParent()</a></span> - Method in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/utils/Statistics.html#getParforInitTime--">getParforInitTime()</a></span> - Static method in class org.apache.sysds.utils.<a href="org/apache/sysds/utils/Statistics.html" title="class in org.apache.sysds.utils">Statistics</a></dt>
@@ -14436,6 +15528,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/ParForProgramBlock.html#getParForParams--">getParForParams()</a></span> - Method in class org.apache.sysds.runtime.controlprogram.<a href="org/apache/sysds/runtime/controlprogram/ParForProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ParForProgramBlock</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/parser/dml/DmlSyntacticValidator.html#getParsedBuiltinFunctions--">getParsedBuiltinFunctions()</a></span> - Method in class org.apache.sysds.parser.dml.<a href="org/apache/sysds/parser/dml/DmlSyntacticValidator.html" title="class in org.apache.sysds.parser.dml">DmlSyntacticValidator</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/Expression.html#getParseExceptionList--">getParseExceptionList()</a></span> - Method in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/Expression.html" title="class in org.apache.sysds.parser">Expression</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/dml/CustomErrorListener.html#getParseIssues--">getParseIssues()</a></span> - Method in class org.apache.sysds.parser.dml.<a href="org/apache/sysds/parser/dml/CustomErrorListener.html" title="class in org.apache.sysds.parser.dml">CustomErrorListener</a></dt>
@@ -14460,8 +15554,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/spark/data/BroadcastObject.html#getPartitionedBroadcast--">getPartitionedBroadcast()</a></span> - Method in class org.apache.sysds.runtime.instructions.spark.data.<a href="org/apache/sysds/runtime/instructions/spark/data/BroadcastObject.html" title="class in org.apache.sysds.runtime.instructions.spark.data">BroadcastObject</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/spark/data/BroadcastObject.html#getPartitionedBroadcastSize--">getPartitionedBroadcastSize()</a></span> - Method in class org.apache.sysds.runtime.instructions.spark.data.<a href="org/apache/sysds/runtime/instructions/spark/data/BroadcastObject.html" title="class in org.apache.sysds.runtime.instructions.spark.data">BroadcastObject</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html#getPartitionFileName-org.apache.sysds.runtime.util.IndexRange-int-">getPartitionFileName(IndexRange, int)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.caching.<a href="org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html#getPartitionFormat--">getPartitionFormat()</a></span> - Method in class org.apache.sysds.runtime.controlprogram.caching.<a href="org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a></dt>
@@ -14474,6 +15566,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/PathStatement.html#getPathValue--">getPathValue()</a></span> - Method in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/PathStatement.html" title="class in org.apache.sysds.parser">PathStatement</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/operators/UnaryOperator.html#getPattern--">getPattern()</a></span> - Method in class org.apache.sysds.runtime.matrix.operators.<a href="org/apache/sysds/runtime/matrix/operators/UnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">UnaryOperator</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/cp/DataGenCPInstruction.html#getPdf--">getPdf()</a></span> - Method in class org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/DataGenCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">DataGenCPInstruction</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/spark/RandSPInstruction.html#getPdf--">getPdf()</a></span> - Method in class org.apache.sysds.runtime.instructions.spark.<a href="org/apache/sysds/runtime/instructions/spark/RandSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">RandSPInstruction</a></dt>
@@ -14498,6 +15592,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/functionobjects/Plus.html#getPlusFnObject--">getPlusFnObject()</a></span> - Static method in class org.apache.sysds.runtime.functionobjects.<a href="org/apache/sysds/runtime/functionobjects/Plus.html" title="class in org.apache.sysds.runtime.functionobjects">Plus</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html#getPointerAddress-jcuda.Pointer-">getPointerAddress(Pointer)</a></span> - Static method in class org.apache.sysds.runtime.instructions.gpu.context.<a href="org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">GPUObject</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/LibMatrixDNNPooling.html#getPoolingBackwardWorkers-org.apache.sysds.runtime.matrix.data.DnnParameters-boolean-org.apache.sysds.runtime.matrix.data.LibMatrixDNN.PoolingType-">getPoolingBackwardWorkers(DnnParameters, boolean, LibMatrixDNN.PoolingType)</a></span> - Static method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/LibMatrixDNNPooling.html" title="class in org.apache.sysds.runtime.matrix.data">LibMatrixDNNPooling</a></dt>
 <dd>
 <div class="block">Factory method that returns list of callable tasks for performing maxpooling backward operation</div>
@@ -14570,6 +15666,12 @@
 <dd>
 <div class="block">Return a ProjectInfo singleton instance.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/utils/Statistics.html#getPSExecutionTime--">getPSExecutionTime()</a></span> - Static method in class org.apache.sysds.utils.<a href="org/apache/sysds/utils/Statistics.html" title="class in org.apache.sysds.utils">Statistics</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/utils/Statistics.html#getPSExecutionTimer--">getPSExecutionTimer()</a></span> - Static method in class org.apache.sysds.utils.<a href="org/apache/sysds/utils/Statistics.html" title="class in org.apache.sysds.utils">Statistics</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/utils/Statistics.html#getPSValidationTime--">getPSValidationTime()</a></span> - Static method in class org.apache.sysds.utils.<a href="org/apache/sysds/utils/Statistics.html" title="class in org.apache.sysds.utils">Statistics</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/DnnUtils.html#getQ-long-long-long-long-">getQ(long, long, long, long)</a></span> - Static method in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/DnnUtils.html" title="class in org.apache.sysds.runtime.util">DnnUtils</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/caching/LazyWriteBuffer.html#getQueueSize--">getQueueSize()</a></span> - Static method in class org.apache.sysds.runtime.controlprogram.caching.<a href="org/apache/sysds/runtime/controlprogram/caching/LazyWriteBuffer.html" title="class in org.apache.sysds.runtime.controlprogram.caching">LazyWriteBuffer</a></dt>
@@ -14618,8 +15720,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/FrameBlock.html#getRecodeMap-int-">getRecodeMap(int)</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></dt>
 <dd>
-<div class="block">This function will split every Recode map in the column using delimiter Lop.DATATYPE_PREFIX, 
- as Recode map generated earlier in the form of Code+Lop.DATATYPE_PREFIX+Token and store it in a map 
+<div class="block">This function will split every Recode map in the column using delimiter Lop.DATATYPE_PREFIX,
+ as Recode map generated earlier in the form of Code+Lop.DATATYPE_PREFIX+Token and store it in a map
  which contains token and code for every unique tokens.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/BinaryBlockInputFormat.html#getRecordReader-org.apache.hadoop.mapred.InputSplit-org.apache.hadoop.mapred.JobConf-org.apache.hadoop.mapred.Reporter-">getRecordReader(InputSplit, JobConf, Reporter)</a></span> - Method in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/BinaryBlockInputFormat.html" title="class in org.apache.sysds.runtime.util">BinaryBlockInputFormat</a></dt>
@@ -14678,6 +15780,8 @@
 <div class="block">Return the result of the aggregated operation given the
  operation type.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/recompile/RecompileStatus.html#getReset--">getReset()</a></span> - Method in class org.apache.sysds.hops.recompile.<a href="org/apache/sysds/hops/recompile/RecompileStatus.html" title="class in org.apache.sysds.hops.recompile">RecompileStatus</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/paramserv/ParamServer.html#getResult--">getResult()</a></span> - Method in class org.apache.sysds.runtime.controlprogram.paramserv.<a href="org/apache/sysds/runtime/controlprogram/paramserv/ParamServer.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv">ParamServer</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/paramserv/rpc/PSRpcResponse.html#getResultModel--">getResultModel()</a></span> - Method in class org.apache.sysds.runtime.controlprogram.paramserv.rpc.<a href="org/apache/sysds/runtime/controlprogram/paramserv/rpc/PSRpcResponse.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.rpc">PSRpcResponse</a></dt>
@@ -14708,8 +15812,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/RelationalExpression.html#getRight--">getRight()</a></span> - Method in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/RelationalExpression.html" title="class in org.apache.sysds.parser">RelationalExpression</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.html#getRightGroup--">getRightGroup()</a></span> - Method in class org.apache.sysds.runtime.compress.cocode.<a href="org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCodingGroup</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/gpu/context/GPULazyCudaFreeMemoryManager.html#getRmvarPointer-java.lang.String-long-">getRmvarPointer(String, long)</a></span> - Method in class org.apache.sysds.runtime.instructions.gpu.context.<a href="org/apache/sysds/runtime/instructions/gpu/context/GPULazyCudaFreeMemoryManager.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">GPULazyCudaFreeMemoryManager</a></dt>
 <dd>
 <div class="block">Get any pointer of the given size from rmvar-ed pointers (applicable if eager cudaFree is set to false)</div>
@@ -14734,20 +15836,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/MatrixIndexes.html#getRowIndex--">getRowIndex()</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/MatrixIndexes.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixIndexes</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getRowIterator-int-int-">getRowIterator(int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></dt>
-<dd>
-<div class="block">Create a dense row iterator for a row index range.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#getRowIterator-int-int-">getRowIterator(int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupConst</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#getRowIterator-int-int-">getRowIterator(int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#getRowIterator-int-int-">getRowIterator(int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOLE</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#getRowIterator-int-int-">getRowIterator(int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupRLE</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#getRowIterator-int-int-">getRowIterator(int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupUncompressed</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/IndexedIdentifier.html#getRowLowerBound--">getRowLowerBound()</a></span> - Method in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/IndexedIdentifier.html" title="class in org.apache.sysds.parser">IndexedIdentifier</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/IndexedIdentifier.html#getRowLowerEqualsUpper--">getRowLowerEqualsUpper()</a></span> - Method in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/IndexedIdentifier.html" title="class in org.apache.sysds.parser">IndexedIdentifier</a></dt>
@@ -14830,6 +15918,8 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/DMLTranslator.html#getRuntimeProgram-org.apache.sysds.parser.DMLProgram-org.apache.sysds.conf.DMLConfig-">getRuntimeProgram(DMLProgram, DMLConfig)</a></span> - Method in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/DMLTranslator.html" title="class in org.apache.sysds.parser">DMLTranslator</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/estim/CompressedSizeEstimator.html#getSample--">getSample()</a></span> - Method in class org.apache.sysds.runtime.compress.estim.<a href="org/apache/sysds/runtime/compress/estim/CompressedSizeEstimator.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeEstimator</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/StatementBlock.html#getSBID--">getSBID()</a></span> - Method in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/operators/QuaternaryOperator.html#getScalar--">getScalar()</a></span> - Method in class org.apache.sysds.runtime.matrix.operators.<a href="org/apache/sysds/runtime/matrix/operators/QuaternaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">QuaternaryOperator</a></dt>
@@ -14852,6 +15942,12 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html#getScalarObject-org.apache.sysds.hops.LiteralOp-">getScalarObject(LiteralOp)</a></span> - Static method in class org.apache.sysds.hops.rewrite.<a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html" title="class in org.apache.sysds.hops.rewrite">HopRewriteUtils</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/codegen/SpoofCUDACellwise.html#getScalarPtr--">getScalarPtr()</a></span> - Method in class org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/SpoofCUDACellwise.html" title="class in org.apache.sysds.runtime.codegen">SpoofCUDACellwise</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html#getScalarPtr--">getScalarPtr()</a></span> - Method in interface org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html" title="interface in org.apache.sysds.runtime.codegen">SpoofCUDAOperator</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/codegen/SpoofCUDARowwise.html#getScalarPtr--">getScalarPtr()</a></span> - Method in class org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/SpoofCUDARowwise.html" title="class in org.apache.sysds.runtime.codegen">SpoofCUDARowwise</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/QDictionary.html#getScale--">getScale()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/QDictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">QDictionary</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/utils/BitmapLossy.html#getScale--">getScale()</a></span> - Method in class org.apache.sysds.runtime.compress.utils.<a href="org/apache/sysds/runtime/compress/utils/BitmapLossy.html" title="class in org.apache.sysds.runtime.compress.utils">BitmapLossy</a></dt>
@@ -14878,6 +15974,8 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/decode/Decoder.html#getSchema--">getSchema()</a></span> - Method in class org.apache.sysds.runtime.transform.decode.<a href="org/apache/sysds/runtime/transform/decode/Decoder.html" title="class in org.apache.sysds.runtime.transform.decode">Decoder</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/tokenize/Tokenizer.html#getSchema--">getSchema()</a></span> - Method in class org.apache.sysds.runtime.transform.tokenize.<a href="org/apache/sysds/runtime/transform/tokenize/Tokenizer.html" title="class in org.apache.sysds.runtime.transform.tokenize">Tokenizer</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/api/mlcontext/FrameSchema.html#getSchemaAsString--">getSchemaAsString()</a></span> - Method in class org.apache.sysds.api.mlcontext.<a href="org/apache/sysds/api/mlcontext/FrameSchema.html" title="class in org.apache.sysds.api.mlcontext">FrameSchema</a></dt>
 <dd>
 <div class="block">Obtain the schema as a comma-separated string</div>
@@ -14965,6 +16063,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/VariableSet.html#getSize--">getSize()</a></span> - Method in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/VariableSet.html" title="class in org.apache.sysds.parser">VariableSet</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/pre/MapPreAggregate.html#getSize--">getSize()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.pre.<a href="org/apache/sysds/runtime/compress/colgroup/pre/MapPreAggregate.html" title="class in org.apache.sysds.runtime.compress.colgroup.pre">MapPreAggregate</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/caching/ByteBuffer.html#getSize--">getSize()</a></span> - Method in class org.apache.sysds.runtime.controlprogram.caching.<a href="org/apache/sysds/runtime/controlprogram/caching/ByteBuffer.html" title="class in org.apache.sysds.runtime.controlprogram.caching">ByteBuffer</a></dt>
 <dd>
 <div class="block">Returns the buffer size in bytes.</div>
@@ -14973,6 +16073,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/federated/FederatedRange.html#getSize-int-">getSize(int)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.federated.<a href="org/apache/sysds/runtime/controlprogram/federated/FederatedRange.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRange</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/federated/FederationMap.html#getSize--">getSize()</a></span> - Method in class org.apache.sysds.runtime.controlprogram.federated.<a href="org/apache/sysds/runtime/controlprogram/federated/FederationMap.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationMap</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/cp/BooleanObject.html#getSize--">getSize()</a></span> - Method in class org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/BooleanObject.html" title="class in org.apache.sysds.runtime.instructions.cp">BooleanObject</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/cp/DoubleObject.html#getSize--">getSize()</a></span> - Method in class org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/DoubleObject.html" title="class in org.apache.sysds.runtime.instructions.cp">DoubleObject</a></dt>
@@ -14983,6 +16085,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/cp/StringObject.html#getSize--">getSize()</a></span> - Method in class org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/StringObject.html" title="class in org.apache.sysds.runtime.instructions.cp">StringObject</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/spark/data/BroadcastObject.html#getSize--">getSize()</a></span> - Method in class org.apache.sysds.runtime.instructions.spark.data.<a href="org/apache/sysds/runtime/instructions/spark/data/BroadcastObject.html" title="class in org.apache.sysds.runtime.instructions.spark.data">BroadcastObject</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/spark/data/FrameReblockBuffer.html#getSize--">getSize()</a></span> - Method in class org.apache.sysds.runtime.instructions.spark.data.<a href="org/apache/sysds/runtime/instructions/spark/data/FrameReblockBuffer.html" title="class in org.apache.sysds.runtime.instructions.spark.data">FrameReblockBuffer</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/spark/data/ReblockBuffer.html#getSize--">getSize()</a></span> - Method in class org.apache.sysds.runtime.instructions.spark.data.<a href="org/apache/sysds/runtime/instructions/spark/data/ReblockBuffer.html" title="class in org.apache.sysds.runtime.instructions.spark.data">ReblockBuffer</a></dt>
@@ -15059,8 +16163,6 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/estim/EstimationUtils.html#getSparseProductOutputNnz-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">getSparseProductOutputNnz(MatrixBlock, MatrixBlock)</a></span> - Static method in class org.apache.sysds.hops.estim.<a href="org/apache/sysds/hops/estim/EstimationUtils.html" title="class in org.apache.sysds.hops.estim">EstimationUtils</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#getSparseRowIterator-int-int-">getSparseRowIterator(int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/cost/VarStats.html#getSparsity--">getSparsity()</a></span> - Method in class org.apache.sysds.hops.cost.<a href="org/apache/sysds/hops/cost/VarStats.html" title="class in org.apache.sysds.hops.cost">VarStats</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/Hop.html#getSparsity--">getSparsity()</a></span> - Method in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a></dt>
@@ -15069,6 +16171,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/OptimizerUtils.html#getSparsity-long-long-long-">getSparsity(long, long, long)</a></span> - Static method in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/OptimizerUtils.html" title="class in org.apache.sysds.hops">OptimizerUtils</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/OptimizerUtils.html#getSparsity-org.apache.sysds.hops.Hop-">getSparsity(Hop)</a></span> - Static method in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/OptimizerUtils.html" title="class in org.apache.sysds.hops">OptimizerUtils</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/OptimizerUtils.html#getSparsity-long:A-long-">getSparsity(long[], long)</a></span> - Static method in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/OptimizerUtils.html" title="class in org.apache.sysds.hops">OptimizerUtils</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html#getSparsity--">getSparsity()</a></span> - Method in class org.apache.sysds.runtime.controlprogram.caching.<a href="org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a></dt>
@@ -15091,6 +16195,10 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/InputStreamInputFormat.html#getSplits-org.apache.hadoop.mapred.JobConf-int-">getSplits(JobConf, int)</a></span> - Method in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/InputStreamInputFormat.html" title="class in org.apache.sysds.runtime.util">InputStreamInputFormat</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/UtilFunctions.html#getSplittedStringAsArray-java.lang.String-">getSplittedStringAsArray(String)</a></span> - Static method in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/UtilFunctions.html" title="class in org.apache.sysds.runtime.util">UtilFunctions</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/cplan/CNodeCell.html#getSpoofAggOp--">getSpoofAggOp()</a></span> - Method in class org.apache.sysds.hops.codegen.cplan.<a href="org/apache/sysds/hops/codegen/cplan/CNodeCell.html" title="class in org.apache.sysds.hops.codegen.cplan">CNodeCell</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/codegen/SpoofCellwise.html#getSpoofType--">getSpoofType()</a></span> - Method in class org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/SpoofCellwise.html" title="class in org.apache.sysds.runtime.codegen">SpoofCellwise</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/codegen/SpoofMultiAggregate.html#getSpoofType--">getSpoofType()</a></span> - Method in class org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/SpoofMultiAggregate.html" title="class in org.apache.sysds.runtime.codegen">SpoofMultiAggregate</a></dt>
@@ -15126,8 +16234,6 @@
 <div class="block">Obtain the maximum number of heavy hitters that are printed out as part
  of the statistics.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/cocode/PlanningMemoTable.html#getStats--">getStats()</a></span> - Method in class org.apache.sysds.runtime.compress.cocode.<a href="org/apache/sysds/runtime/compress/cocode/PlanningMemoTable.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningMemoTable</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#getStatus--">getStatus()</a></span> - Method in class org.apache.sysds.runtime.controlprogram.caching.<a href="org/apache/sysds/runtime/controlprogram/caching/CacheableData.html" title="class in org.apache.sysds.runtime.controlprogram.caching">CacheableData</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/cp/ListObject.html#getStatus--">getStatus()</a></span> - Method in class org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/ListObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ListObject</a></dt>
@@ -15200,9 +16306,14 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/FrameBlock.html#getStringRowIterator-int:A-">getStringRowIterator(int[])</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></dt>
 <dd>
-<div class="block">Get a row iterator over the frame where all selected fields are 
+<div class="block">Get a row iterator over the frame where all selected fields are
  encoded as strings independent of their value types.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/FrameBlock.html#getStringRowIterator-int-">getStringRowIterator(int)</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></dt>
+<dd>
+<div class="block">Get a row iterator over the frame where all selected fields are encoded as strings independent of their value
+ types.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/FrameBlock.html#getStringRowIterator-int-int-">getStringRowIterator(int, int)</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></dt>
 <dd>
 <div class="block">Get a row iterator over the frame where all fields are encoded
@@ -15210,7 +16321,7 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/FrameBlock.html#getStringRowIterator-int-int-int:A-">getStringRowIterator(int, int, int[])</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></dt>
 <dd>
-<div class="block">Get a row iterator over the frame where all selected fields are 
+<div class="block">Get a row iterator over the frame where all selected fields are
  encoded as strings independent of their value types.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/LiteralOp.html#getStringValue--">getStringValue()</a></span> - Method in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/LiteralOp.html" title="class in org.apache.sysds.hops">LiteralOp</a></dt>
@@ -15237,6 +16348,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html#getSumValidInputNnz-org.apache.sysds.runtime.meta.DataCharacteristics:A-boolean-">getSumValidInputNnz(DataCharacteristics[], boolean)</a></span> - Static method in class org.apache.sysds.hops.rewrite.<a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html" title="class in org.apache.sysds.hops.rewrite">HopRewriteUtils</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html#getSuperType-org.apache.sysds.runtime.compress.colgroup.AColGroup.ColGroupType-">getSuperType(AColGroup.ColGroupType)</a></span> - Static method in enum org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.ColGroupType</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/functionobjects/SwapIndex.html#getSwapIndexFnObject--">getSwapIndexFnObject()</a></span> - Static method in class org.apache.sysds.runtime.functionobjects.<a href="org/apache/sysds/runtime/functionobjects/SwapIndex.html" title="class in org.apache.sysds.runtime.functionobjects">SwapIndex</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/api/mlcontext/MLResults.html#getSymbolTable--">getSymbolTable()</a></span> - Method in class org.apache.sysds.api.mlcontext.<a href="org/apache/sysds/api/mlcontext/MLResults.html" title="class in org.apache.sysds.api.mlcontext">MLResults</a></dt>
@@ -15267,13 +16380,29 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/MultiAssignmentStatement.html#getTargetList--">getTargetList()</a></span> - Method in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/MultiAssignmentStatement.html" title="class in org.apache.sysds.parser">MultiAssignmentStatement</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/cplan/CNodeBinary.BinType.html#getTemplate-boolean-boolean-boolean-boolean-">getTemplate(boolean, boolean, boolean, boolean)</a></span> - Method in enum org.apache.sysds.hops.codegen.cplan.<a href="org/apache/sysds/hops/codegen/cplan/CNodeBinary.BinType.html" title="enum in org.apache.sysds.hops.codegen.cplan">CNodeBinary.BinType</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/cplan/CNodeNary.NaryType.html#getTemplate-boolean-long-java.util.ArrayList-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">getTemplate(boolean, long, ArrayList&lt;CNode&gt;, SpoofCompiler.GeneratorAPI)</a></span> - Method in enum org.apache.sysds.hops.codegen.cplan.<a href="org/apache/sysds/hops/codegen/cplan/CNodeNary.NaryType.html" title="enum in org.apache.sysds.hops.codegen.cplan">CNodeNary.NaryType</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/cplan/CNodeNary.NaryType.html#getTemplate-boolean-long-java.util.ArrayList-">getTemplate(boolean, long, ArrayList&lt;CNode&gt;)</a></span> - Method in enum org.apache.sysds.hops.codegen.cplan.<a href="org/apache/sysds/hops/codegen/cplan/CNodeNary.NaryType.html" title="enum in org.apache.sysds.hops.codegen.cplan">CNodeNary.NaryType</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/cplan/CodeTemplate.html#getTemplate--">getTemplate()</a></span> - Method in class org.apache.sysds.hops.codegen.cplan.<a href="org/apache/sysds/hops/codegen/cplan/CodeTemplate.html" title="class in org.apache.sysds.hops.codegen.cplan">CodeTemplate</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/cplan/CNodeTernary.TernaryType.html#getTemplate-boolean-">getTemplate(boolean)</a></span> - Method in enum org.apache.sysds.hops.codegen.cplan.<a href="org/apache/sysds/hops/codegen/cplan/CNodeTernary.TernaryType.html" title="enum in org.apache.sysds.hops.codegen.cplan">CNodeTernary.TernaryType</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/cplan/CodeTemplate.html#getTemplate-org.apache.sysds.hops.codegen.cplan.CNodeBinary.BinType-boolean-boolean-boolean-boolean-boolean-">getTemplate(CNodeBinary.BinType, boolean, boolean, boolean, boolean, boolean)</a></span> - Method in class org.apache.sysds.hops.codegen.cplan.<a href="org/apache/sysds/hops/codegen/cplan/CodeTemplate.html" title="class in org.apache.sysds.hops.codegen.cplan">CodeTemplate</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/cplan/CNodeUnary.UnaryType.html#getTemplate-boolean-">getTemplate(boolean)</a></span> - Method in enum org.apache.sysds.hops.codegen.cplan.<a href="org/apache/sysds/hops/codegen/cplan/CNodeUnary.UnaryType.html" title="enum in org.apache.sysds.hops.codegen.cplan">CNodeUnary.UnaryType</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/cplan/CodeTemplate.html#getTemplate-org.apache.sysds.hops.codegen.cplan.CNodeTernary.TernaryType-boolean-">getTemplate(CNodeTernary.TernaryType, boolean)</a></span> - Method in class org.apache.sysds.hops.codegen.cplan.<a href="org/apache/sysds/hops/codegen/cplan/CodeTemplate.html" title="class in org.apache.sysds.hops.codegen.cplan">CodeTemplate</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/cplan/CodeTemplate.html#getTemplate-org.apache.sysds.hops.codegen.cplan.CNodeUnary.UnaryType-boolean-">getTemplate(CNodeUnary.UnaryType, boolean)</a></span> - Method in class org.apache.sysds.hops.codegen.cplan.<a href="org/apache/sysds/hops/codegen/cplan/CodeTemplate.html" title="class in org.apache.sysds.hops.codegen.cplan">CodeTemplate</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/cplan/CodeTemplate.html#getTemplate-java.lang.String-">getTemplate(String)</a></span> - Static method in class org.apache.sysds.hops.codegen.cplan.<a href="org/apache/sysds/hops/codegen/cplan/CodeTemplate.html" title="class in org.apache.sysds.hops.codegen.cplan">CodeTemplate</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/cplan/cuda/Binary.html#getTemplate-org.apache.sysds.hops.codegen.cplan.CNodeBinary.BinType-boolean-boolean-boolean-boolean-boolean-">getTemplate(CNodeBinary.BinType, boolean, boolean, boolean, boolean, boolean)</a></span> - Method in class org.apache.sysds.hops.codegen.cplan.cuda.<a href="org/apache/sysds/hops/codegen/cplan/cuda/Binary.html" title="class in org.apache.sysds.hops.codegen.cplan.cuda">Binary</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/cplan/cuda/Ternary.html#getTemplate-org.apache.sysds.hops.codegen.cplan.CNodeTernary.TernaryType-boolean-">getTemplate(CNodeTernary.TernaryType, boolean)</a></span> - Method in class org.apache.sysds.hops.codegen.cplan.cuda.<a href="org/apache/sysds/hops/codegen/cplan/cuda/Ternary.html" title="class in org.apache.sysds.hops.codegen.cplan.cuda">Ternary</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/cplan/cuda/Unary.html#getTemplate-org.apache.sysds.hops.codegen.cplan.CNodeUnary.UnaryType-boolean-">getTemplate(CNodeUnary.UnaryType, boolean)</a></span> - Method in class org.apache.sysds.hops.codegen.cplan.cuda.<a href="org/apache/sysds/hops/codegen/cplan/cuda/Unary.html" title="class in org.apache.sysds.hops.codegen.cplan.cuda">Unary</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/cplan/java/Binary.html#getTemplate-org.apache.sysds.hops.codegen.cplan.CNodeBinary.BinType-boolean-boolean-boolean-boolean-boolean-">getTemplate(CNodeBinary.BinType, boolean, boolean, boolean, boolean, boolean)</a></span> - Method in class org.apache.sysds.hops.codegen.cplan.java.<a href="org/apache/sysds/hops/codegen/cplan/java/Binary.html" title="class in org.apache.sysds.hops.codegen.cplan.java">Binary</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/cplan/java/Ternary.html#getTemplate-org.apache.sysds.hops.codegen.cplan.CNodeTernary.TernaryType-boolean-">getTemplate(CNodeTernary.TernaryType, boolean)</a></span> - Method in class org.apache.sysds.hops.codegen.cplan.java.<a href="org/apache/sysds/hops/codegen/cplan/java/Ternary.html" title="class in org.apache.sysds.hops.codegen.cplan.java">Ternary</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/cplan/java/Unary.html#getTemplate-org.apache.sysds.hops.codegen.cplan.CNodeUnary.UnaryType-boolean-">getTemplate(CNodeUnary.UnaryType, boolean)</a></span> - Method in class org.apache.sysds.hops.codegen.cplan.java.<a href="org/apache/sysds/hops/codegen/cplan/java/Unary.html" title="class in org.apache.sysds.hops.codegen.cplan.java">Unary</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/cplan/CNodeCell.html#getTemplateInfo--">getTemplateInfo()</a></span> - Method in class org.apache.sysds.hops.codegen.cplan.<a href="org/apache/sysds/hops/codegen/cplan/CNodeCell.html" title="class in org.apache.sysds.hops.codegen.cplan">CNodeCell</a></dt>
 <dd>&nbsp;</dd>
@@ -15326,14 +16455,14 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/ProgramBlock.html#getThreadID--">getThreadID()</a></span> - Method in class org.apache.sysds.runtime.controlprogram.<a href="org/apache/sysds/runtime/controlprogram/ProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ProgramBlock</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/recompile/RecompileStatus.html#getTID--">getTID()</a></span> - Method in class org.apache.sysds.hops.recompile.<a href="org/apache/sysds/hops/recompile/RecompileStatus.html" title="class in org.apache.sysds.hops.recompile">RecompileStatus</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getTID--">getTID()</a></span> - Method in class org.apache.sysds.runtime.controlprogram.context.<a href="org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/federated/FederatedRequest.html#getTID--">getTID()</a></span> - Method in class org.apache.sysds.runtime.controlprogram.federated.<a href="org/apache/sysds/runtime/controlprogram/federated/FederatedRequest.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRequest</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/fed/FEDInstruction.html#getTID--">getTID()</a></span> - Method in class org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/FEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">FEDInstruction</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressionStatistics.html#getTimeArrayList--">getTimeArrayList()</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressionStatistics.html" title="class in org.apache.sysds.runtime.compress">CompressionStatistics</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/cost/CostEstimationWrapper.html#getTimeEstimate-org.apache.sysds.runtime.controlprogram.Program-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getTimeEstimate(Program, ExecutionContext)</a></span> - Static method in class org.apache.sysds.hops.cost.<a href="org/apache/sysds/hops/cost/CostEstimationWrapper.html" title="class in org.apache.sysds.hops.cost">CostEstimationWrapper</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/cost/CostEstimationWrapper.html#getTimeEstimate-org.apache.sysds.runtime.controlprogram.ProgramBlock-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-boolean-">getTimeEstimate(ProgramBlock, ExecutionContext, boolean)</a></span> - Static method in class org.apache.sysds.hops.cost.<a href="org/apache/sysds/hops/cost/CostEstimationWrapper.html" title="class in org.apache.sysds.hops.cost">CostEstimationWrapper</a></dt>
@@ -15518,10 +16647,16 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/LineageItemUtils.html#getType-java.lang.String-">getType(String)</a></span> - Static method in class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageItemUtils.html" title="class in org.apache.sysds.runtime.lineage">LineageItemUtils</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupConverter.html#getUncompressedColBlock-org.apache.sysds.runtime.compress.colgroup.ColGroup-">getUncompressedColBlock(ColGroup)</a></span> - Static method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupConverter.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupConverter</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#getUncompressed-org.apache.sysds.runtime.matrix.data.MatrixValue-">getUncompressed(MatrixValue)</a></span> - Static method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#getUncompressed--">getUncompressed()</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupConverter.html#getUncompressedColBlock-org.apache.sysds.runtime.compress.colgroup.AColGroup-">getUncompressedColBlock(AColGroup)</a></span> - Static method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupConverter.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupConverter</a></dt>
 <dd>
 <div class="block">Extracts the Uncompressed MatrixBlock representation of a Col Group</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#getUncompressedColGroup--">getUncompressedColGroup()</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/cp/VariableCPInstruction.html#getUniqueFileName-java.lang.String-">getUniqueFileName(String)</a></span> - Static method in class org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/VariableCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">VariableCPInstruction</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#getUniqueID--">getUniqueID()</a></span> - Method in class org.apache.sysds.runtime.controlprogram.caching.<a href="org/apache/sysds/runtime/controlprogram/caching/CacheableData.html" title="class in org.apache.sysds.runtime.controlprogram.caching">CacheableData</a></dt>
@@ -15559,6 +16694,8 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html#getValidOpPos-org.apache.sysds.common.Types.OpOp2-org.apache.sysds.common.Types.OpOp2...-">getValidOpPos(Types.OpOp2, Types.OpOp2...)</a></span> - Static method in class org.apache.sysds.hops.rewrite.<a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html" title="class in org.apache.sysds.hops.rewrite">HopRewriteUtils</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/common/Types.AggOp.html#getValue--">getValue()</a></span> - Method in enum org.apache.sysds.common.<a href="org/apache/sysds/common/Types.AggOp.html" title="enum in org.apache.sysds.common">Types.AggOp</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/BooleanIdentifier.html#getValue--">getValue()</a></span> - Method in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/BooleanIdentifier.html" title="class in org.apache.sysds.parser">BooleanIdentifier</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/DoubleIdentifier.html#getValue--">getValue()</a></span> - Method in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/DoubleIdentifier.html" title="class in org.apache.sysds.parser">DoubleIdentifier</a></dt>
@@ -15569,8 +16706,12 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/StringIdentifier.html#getValue--">getValue()</a></span> - Method in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/StringIdentifier.html" title="class in org.apache.sysds.parser">StringIdentifier</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/codegen/SpoofCellwise.CellType.html#getValue--">getValue()</a></span> - Method in enum org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/SpoofCellwise.CellType.html" title="enum in org.apache.sysds.runtime.codegen">SpoofCellwise.CellType</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/codegen/SpoofOperator.SideInput.html#getValue-int-int-">getValue(int, int)</a></span> - Method in class org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/SpoofOperator.SideInput.html" title="class in org.apache.sysds.runtime.codegen">SpoofOperator.SideInput</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/codegen/SpoofRowwise.RowType.html#getValue--">getValue()</a></span> - Method in enum org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/SpoofRowwise.RowType.html" title="enum in org.apache.sysds.runtime.codegen">SpoofRowwise.RowType</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ADictionary.html#getValue-int-">getValue(int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></dt>
 <dd>
 <div class="block">Get Specific value contained in the dictionary at index.</div>
@@ -15583,6 +16724,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/data/IndexedTensorBlock.html#getValue--">getValue()</a></span> - Method in class org.apache.sysds.runtime.data.<a href="org/apache/sysds/runtime/data/IndexedTensorBlock.html" title="class in org.apache.sysds.runtime.data">IndexedTensorBlock</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/data/SparseRowScalar.html#getValue--">getValue()</a></span> - Method in class org.apache.sysds.runtime.data.<a href="org/apache/sysds/runtime/data/SparseRowScalar.html" title="class in org.apache.sysds.runtime.data">SparseRowScalar</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/cp/BooleanObject.html#getValue--">getValue()</a></span> - Method in class org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/BooleanObject.html" title="class in org.apache.sysds.runtime.instructions.cp">BooleanObject</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/cp/DoubleObject.html#getValue--">getValue()</a></span> - Method in class org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/DoubleObject.html" title="class in org.apache.sysds.runtime.instructions.cp">DoubleObject</a></dt>
@@ -15617,14 +16760,14 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getValueDenseUnsafe-int-int-">getValueDenseUnsafe(int, int)</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getValues--">getValues()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></dt>
+<dd>
+<div class="block">Get all the values in the colGroup.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ADictionary.html#getValues--">getValues()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></dt>
 <dd>
 <div class="block">Get all the values contained in the dictionary as a linearized double array.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getValues--">getValues()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></dt>
-<dd>
-<div class="block">Get all the values in the colGroup.</div>
-</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#getValues--">getValues()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupUncompressed</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getValues--">getValues()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></dt>
@@ -15649,7 +16792,7 @@
 <dd>
 <div class="block">Obtain tuple of column values associated with index.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getValuesAsBlock--">getValuesAsBlock()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getValuesAsBlock--">getValuesAsBlock()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></dt>
 <dd>
 <div class="block">Returns the ColGroup as a MatrixBlock.</div>
 </dd>
@@ -15659,14 +16802,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/QDictionary.html#getValuesByte--">getValuesByte()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/QDictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">QDictionary</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ADictionary.html#getValuesLength--">getValuesLength()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></dt>
-<dd>
-<div class="block">returns the count of values contained in the dictionary.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/Dictionary.html#getValuesLength--">getValuesLength()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">Dictionary</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/QDictionary.html#getValuesLength--">getValuesLength()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/QDictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">QDictionary</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#getValuesSize--">getValuesSize()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupUncompressed</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/Hop.html#getValueType--">getValueType()</a></span> - Method in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a></dt>
@@ -15729,8 +16864,12 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/cplan/CNode.html#getVarname--">getVarname()</a></span> - Method in class org.apache.sysds.hops.codegen.cplan.<a href="org/apache/sysds/hops/codegen/cplan/CNode.html" title="class in org.apache.sysds.hops.codegen.cplan">CNode</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/cplan/CNode.html#getVarname-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">getVarname(SpoofCompiler.GeneratorAPI)</a></span> - Method in class org.apache.sysds.hops.codegen.cplan.<a href="org/apache/sysds/hops/codegen/cplan/CNode.html" title="class in org.apache.sysds.hops.codegen.cplan">CNode</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/cplan/CNodeData.html#getVarname--">getVarname()</a></span> - Method in class org.apache.sysds.hops.codegen.cplan.<a href="org/apache/sysds/hops/codegen/cplan/CNodeData.html" title="class in org.apache.sysds.hops.codegen.cplan">CNodeData</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/cplan/CNodeData.html#getVarname-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">getVarname(SpoofCompiler.GeneratorAPI)</a></span> - Method in class org.apache.sysds.hops.codegen.cplan.<a href="org/apache/sysds/hops/codegen/cplan/CNodeData.html" title="class in org.apache.sysds.hops.codegen.cplan">CNodeData</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/parfor/Task.html#getVarName--">getVarName()</a></span> - Method in class org.apache.sysds.runtime.controlprogram.parfor.<a href="org/apache/sysds/runtime/controlprogram/parfor/Task.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">Task</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/DataExpression.html#getVarParam-java.lang.String-">getVarParam(String)</a></span> - Method in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/DataExpression.html" title="class in org.apache.sysds.parser">DataExpression</a></dt>
@@ -15745,7 +16884,7 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/cplan/CNodeUnary.UnaryType.html#getVectorAddPrimitive--">getVectorAddPrimitive()</a></span> - Method in enum org.apache.sysds.hops.codegen.cplan.<a href="org/apache/sysds/hops/codegen/cplan/CNodeUnary.UnaryType.html" title="enum in org.apache.sysds.hops.codegen.cplan">CNodeUnary.UnaryType</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/cplan/CNode.html#getVectorLength--">getVectorLength()</a></span> - Method in class org.apache.sysds.hops.codegen.cplan.<a href="org/apache/sysds/hops/codegen/cplan/CNode.html" title="class in org.apache.sysds.hops.codegen.cplan">CNode</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/cplan/CNode.html#getVectorLength-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">getVectorLength(SpoofCompiler.GeneratorAPI)</a></span> - Method in class org.apache.sysds.hops.codegen.cplan.<a href="org/apache/sysds/hops/codegen/cplan/CNode.html" title="class in org.apache.sysds.hops.codegen.cplan">CNode</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/cplan/CNodeBinary.BinType.html#getVectorPrimitiveName--">getVectorPrimitiveName()</a></span> - Method in enum org.apache.sysds.hops.codegen.cplan.<a href="org/apache/sysds/hops/codegen/cplan/CNodeBinary.BinType.html" title="enum in org.apache.sysds.hops.codegen.cplan">CNodeBinary.BinType</a></dt>
 <dd>&nbsp;</dd>
@@ -15773,6 +16912,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/paramserv/rpc/PSRpcCall.html#getWorkerID--">getWorkerID()</a></span> - Method in class org.apache.sysds.runtime.controlprogram.paramserv.rpc.<a href="org/apache/sysds/runtime/controlprogram/paramserv/rpc/PSRpcCall.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.rpc">PSRpcCall</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/paramserv/FederatedPSControlThread.html#getWorkerName--">getWorkerName()</a></span> - Method in class org.apache.sysds.runtime.controlprogram.paramserv.<a href="org/apache/sysds/runtime/controlprogram/paramserv/FederatedPSControlThread.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv">FederatedPSControlThread</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/paramserv/LocalPSWorker.html#getWorkerName--">getWorkerName()</a></span> - Method in class org.apache.sysds.runtime.controlprogram.paramserv.<a href="org/apache/sysds/runtime/controlprogram/paramserv/LocalPSWorker.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv">LocalPSWorker</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/paramserv/PSWorker.html#getWorkerName--">getWorkerName()</a></span> - Method in class org.apache.sysds.runtime.controlprogram.paramserv.<a href="org/apache/sysds/runtime/controlprogram/paramserv/PSWorker.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv">PSWorker</a></dt>
@@ -15847,6 +16988,8 @@
 <dd>
 <div class="block">Handle to a matrix block on the GPU</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html#GPUObject-org.apache.sysds.runtime.instructions.gpu.context.GPUContext-org.apache.sysds.runtime.instructions.gpu.context.GPUObject-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-">GPUObject(GPUContext, GPUObject, MatrixObject)</a></span> - Constructor for class org.apache.sysds.runtime.instructions.gpu.context.<a href="org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">GPUObject</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/utils/GPUStatistics.html" title="class in org.apache.sysds.utils"><span class="typeNameLink">GPUStatistics</span></a> - Class in <a href="org/apache/sysds/utils/package-summary.html">org.apache.sysds.utils</a></dt>
 <dd>
 <div class="block">Measures performance numbers when GPU mode is enabled
@@ -15864,11 +17007,9 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/gpu/context/ExecutionConfig.html#gridDimZ">gridDimZ</a></span> - Variable in class org.apache.sysds.runtime.instructions.gpu.context.<a href="org/apache/sysds/runtime/instructions/gpu/context/ExecutionConfig.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">ExecutionConfig</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html#GroupableColInfo-double-long-int-">GroupableColInfo(double, long, int)</a></span> - Constructor for class org.apache.sysds.runtime.compress.cocode.<a href="org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCoder.GroupableColInfo</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#groupedAggOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-int-org.apache.sysds.runtime.matrix.operators.Operator-">groupedAggOperations(MatrixValue, MatrixValue, MatrixValue, int, Operator)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#groupedAggOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-int-org.apache.sysds.runtime.matrix.operators.Operator-">groupedAggOperations(MatrixValue, MatrixValue, MatrixValue, int, Operator)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">AbstractCompressedMatrixBlock</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#groupedAggOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-int-org.apache.sysds.runtime.matrix.operators.Operator-int-">groupedAggOperations(MatrixValue, MatrixValue, MatrixValue, int, Operator, int)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">AbstractCompressedMatrixBlock</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#groupedAggOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-int-org.apache.sysds.runtime.matrix.operators.Operator-int-">groupedAggOperations(MatrixValue, MatrixValue, MatrixValue, int, Operator, int)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html#groupedAggOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-int-org.apache.sysds.runtime.matrix.operators.Operator-">groupedAggOperations(MatrixValue, MatrixValue, MatrixValue, int, Operator)</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></dt>
 <dd>
@@ -15931,10 +17072,6 @@
 <dd>
 <div class="block">Throws DMLPrivacyException if privacy constraint is set to private or private aggregation.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/privacy/PrivacyMonitor.html#handlePrivacyAllowAggregation-org.apache.sysds.runtime.instructions.cp.Data-">handlePrivacyAllowAggregation(Data)</a></span> - Static method in class org.apache.sysds.runtime.privacy.<a href="org/apache/sysds/runtime/privacy/PrivacyMonitor.html" title="class in org.apache.sysds.runtime.privacy">PrivacyMonitor</a></dt>
-<dd>
-<div class="block">Throws DMLPrivacyException if privacy constraint of data object has level privacy.</div>
-</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/spark/data/LineageObject.html#hasBackReference--">hasBackReference()</a></span> - Method in class org.apache.sysds.runtime.instructions.spark.data.<a href="org/apache/sysds/runtime/instructions/spark/data/LineageObject.html" title="class in org.apache.sysds.runtime.instructions.spark.data">LineageObject</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/api/mlcontext/Frame.html#hasBinaryBlocks--">hasBinaryBlocks()</a></span> - Method in class org.apache.sysds.api.mlcontext.<a href="org/apache/sysds/api/mlcontext/Frame.html" title="class in org.apache.sysds.api.mlcontext">Frame</a></dt>
@@ -15963,6 +17100,8 @@
 <dd>
 <div class="block">Return true if any constraints have level Private or PrivateAggregate.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html#hasEncoder-java.lang.Class-">hasEncoder(Class&lt;T&gt;)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderComposite</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/privacy/PrivacyConstraint.html#hasFineGrainedConstraints--">hasFineGrainedConstraints()</a></span> - Method in class org.apache.sysds.runtime.privacy.<a href="org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a></dt>
 <dd>
 <div class="block">Checks if fine-grained privacy is set for this privacy constraint.</div>
@@ -16039,12 +17178,10 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/ParForStatementBlock.ResultVar.html#hashCode--">hashCode()</a></span> - Method in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/ParForStatementBlock.ResultVar.html" title="class in org.apache.sysds.parser">ParForStatementBlock.ResultVar</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.ColIndexes.html#hashCode--">hashCode()</a></span> - Method in class org.apache.sysds.runtime.compress.cocode.<a href="org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.ColIndexes.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCodingGroup.ColIndexes</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.html#hashCode--">hashCode()</a></span> - Method in class org.apache.sysds.runtime.compress.cocode.<a href="org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCodingGroup</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/utils/DblArray.html#hashCode--">hashCode()</a></span> - Method in class org.apache.sysds.runtime.compress.utils.<a href="org/apache/sysds/runtime/compress/utils/DblArray.html" title="class in org.apache.sysds.runtime.compress.utils">DblArray</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/federated/FederatedRange.html#hashCode--">hashCode()</a></span> - Method in class org.apache.sysds.runtime.controlprogram.federated.<a href="org/apache/sysds/runtime/controlprogram/federated/FederatedRange.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRange</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/parfor/ResultMergeTaggedMatrixIndexes.html#hashCode--">hashCode()</a></span> - Method in class org.apache.sysds.runtime.controlprogram.parfor.<a href="org/apache/sysds/runtime/controlprogram/parfor/ResultMergeTaggedMatrixIndexes.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">ResultMergeTaggedMatrixIndexes</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/ParForProgramBlock.PartitionFormat.html#hashCode--">hashCode()</a></span> - Method in class org.apache.sysds.runtime.controlprogram.<a href="org/apache/sysds/runtime/controlprogram/ParForProgramBlock.PartitionFormat.html" title="class in org.apache.sysds.runtime.controlprogram">ParForProgramBlock.PartitionFormat</a></dt>
@@ -16083,9 +17220,15 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/meta/TensorCharacteristics.html#hashCode--">hashCode()</a></span> - Method in class org.apache.sysds.runtime.meta.<a href="org/apache/sysds/runtime/meta/TensorCharacteristics.html" title="class in org.apache.sysds.runtime.meta">TensorCharacteristics</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/io/FileFormatPropertiesCSV.html#hasHeader--">hasHeader()</a></span> - Method in class org.apache.sysds.runtime.io.<a href="org/apache/sysds/runtime/io/FileFormatPropertiesCSV.html" title="class in org.apache.sysds.runtime.io">FileFormatPropertiesCSV</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html#hashCode--">hashCode()</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderComposite</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/TfUtils.html#hasHeader--">hasHeader()</a></span> - Method in class org.apache.sysds.runtime.transform.<a href="org/apache/sysds/runtime/transform/TfUtils.html" title="class in org.apache.sysds.runtime.transform">TfUtils</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderDummycode.html#hashCode--">hashCode()</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderDummycode.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderDummycode</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderRecode.html#hashCode--">hashCode()</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderRecode.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderRecode</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderOmit.html#hashCode--">hashCode()</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderOmit.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderOmit</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/io/FileFormatPropertiesCSV.html#hasHeader--">hasHeader()</a></span> - Method in class org.apache.sysds.runtime.io.<a href="org/apache/sysds/runtime/io/FileFormatPropertiesCSV.html" title="class in org.apache.sysds.runtime.io">FileFormatPropertiesCSV</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/utils/DblArrayIntListHashMap.html#hashMissCount">hashMissCount</a></span> - Static variable in class org.apache.sysds.runtime.compress.utils.<a href="org/apache/sysds/runtime/compress/utils/DblArrayIntListHashMap.html" title="class in org.apache.sysds.runtime.compress.utils">DblArrayIntListHashMap</a></dt>
 <dd>&nbsp;</dd>
@@ -16101,6 +17244,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/AggBinaryOp.html#hasLeftPMInput--">hasLeftPMInput()</a></span> - Method in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/AggBinaryOp.html" title="class in org.apache.sysds.hops">AggBinaryOp</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#hasLegacyEncoder-java.lang.Class-">hasLegacyEncoder(Class&lt;T&gt;)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/template/TemplateUtils.html#hasMatrixInput-org.apache.sysds.hops.Hop-">hasMatrixInput(Hop)</a></span> - Static method in class org.apache.sysds.hops.codegen.template.<a href="org/apache/sysds/hops/codegen/template/TemplateUtils.html" title="class in org.apache.sysds.hops.codegen.template">TemplateUtils</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/Hop.html#hasMatrixInputWithDifferentBlocksizes--">hasMatrixInputWithDifferentBlocksizes()</a></span> - Method in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a></dt>
@@ -16109,6 +17254,8 @@
 <dd>
 <div class="block">Whether or not this matrix contains data as a MatrixObject</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/codegen/SpoofRowwise.html#hasMatrixObjectSideInput-java.util.ArrayList-">hasMatrixObjectSideInput(ArrayList&lt;MatrixObject&gt;)</a></span> - Static method in class org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/SpoofRowwise.html" title="class in org.apache.sysds.runtime.codegen">SpoofRowwise</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/codegen/SpoofRowwise.html#hasMatrixSideInput-java.util.ArrayList-">hasMatrixSideInput(ArrayList&lt;MatrixBlock&gt;)</a></span> - Static method in class org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/SpoofRowwise.html" title="class in org.apache.sysds.runtime.codegen">SpoofRowwise</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/cplan/CNodeCell.html#hasMultipleConsumers--">hasMultipleConsumers()</a></span> - Method in class org.apache.sysds.hops.codegen.cplan.<a href="org/apache/sysds/hops/codegen/cplan/CNodeCell.html" title="class in org.apache.sysds.hops.codegen.cplan">CNodeCell</a></dt>
@@ -16117,8 +17264,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/parfor/opt/OptNode.html#hasNestedPartitionReads-boolean-">hasNestedPartitionReads(boolean)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.parfor.opt.<a href="org/apache/sysds/runtime/controlprogram/parfor/opt/OptNode.html" title="class in org.apache.sysds.runtime.controlprogram.parfor.opt">OptNode</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/utils/ColumnGroupIterator.html#hasNext--">hasNext()</a></span> - Method in class org.apache.sysds.runtime.compress.utils.<a href="org/apache/sysds/runtime/compress/utils/ColumnGroupIterator.html" title="class in org.apache.sysds.runtime.compress.utils">ColumnGroupIterator</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/spark/data/LazyIterableIterator.html#hasNext--">hasNext()</a></span> - Method in class org.apache.sysds.runtime.instructions.spark.data.<a href="org/apache/sysds/runtime/instructions/spark/data/LazyIterableIterator.html" title="class in org.apache.sysds.runtime.instructions.spark.data">LazyIterableIterator</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/BinaryBlockToTextCellConverter.html#hasNext--">hasNext()</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/BinaryBlockToTextCellConverter.html" title="class in org.apache.sysds.runtime.matrix.data">BinaryBlockToTextCellConverter</a></dt>
@@ -16181,12 +17326,12 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/lops/Ctable.OperationTypes.html#hasThirdInput--">hasThirdInput()</a></span> - Method in enum org.apache.sysds.lops.<a href="org/apache/sysds/lops/Ctable.OperationTypes.html" title="enum in org.apache.sysds.lops">Ctable.OperationTypes</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/recompile/RecompileStatus.html#hasThreadID--">hasThreadID()</a></span> - Method in class org.apache.sysds.hops.recompile.<a href="org/apache/sysds/hops/recompile/RecompileStatus.html" title="class in org.apache.sysds.hops.recompile">RecompileStatus</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/ProgramBlock.html#hasThreadID--">hasThreadID()</a></span> - Method in class org.apache.sysds.runtime.controlprogram.<a href="org/apache/sysds/runtime/controlprogram/ProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ProgramBlock</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/template/TemplateUtils.html#hasTransposeParentUnderOuterProduct-org.apache.sysds.hops.Hop-">hasTransposeParentUnderOuterProduct(Hop)</a></span> - Static method in class org.apache.sysds.hops.codegen.template.<a href="org/apache/sysds/hops/codegen/template/TemplateUtils.html" title="class in org.apache.sysds.hops.codegen.template">TemplateUtils</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#hasUncompressedColGroup--">hasUncompressedColGroup()</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/DataGenOp.html#hasUnspecifiedSeed--">hasUnspecifiedSeed()</a></span> - Method in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/DataGenOp.html" title="class in org.apache.sysds.hops">DataGenOp</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/Hop.html#hasValidCPDimsAndSize--">hasValidCPDimsAndSize()</a></span> - Method in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a></dt>
@@ -16199,6 +17344,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html#hasValidInputNnz-org.apache.sysds.runtime.meta.DataCharacteristics:A-boolean-">hasValidInputNnz(DataCharacteristics[], boolean)</a></span> - Static method in class org.apache.sysds.hops.rewrite.<a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html" title="class in org.apache.sysds.hops.rewrite">HopRewriteUtils</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#hasValidLineage--">hasValidLineage()</a></span> - Method in class org.apache.sysds.runtime.controlprogram.caching.<a href="org/apache/sysds/runtime/controlprogram/caching/CacheableData.html" title="class in org.apache.sysds.runtime.controlprogram.caching">CacheableData</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#hasZeros--">hasZeros()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOffset</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ADictionary.html#hasZeroTuple-int-">hasZeroTuple(int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></dt>
@@ -16209,6 +17356,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/QDictionary.html#hasZeroTuple-int-">hasZeroTuple(int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/QDictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">QDictionary</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/utils/DMLCompressionStatistics.html#haveCompressed--">haveCompressed()</a></span> - Static method in class org.apache.sysds.utils.<a href="org/apache/sysds/utils/DMLCompressionStatistics.html" title="class in org.apache.sysds.utils">DMLCompressionStatistics</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/util/HDFSTool.html" title="class in org.apache.sysds.runtime.util"><span class="typeNameLink">HDFSTool</span></a> - Class in <a href="org/apache/sysds/runtime/util/package-summary.html">org.apache.sysds.runtime.util</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/HDFSTool.html#HDFSTool--">HDFSTool()</a></span> - Constructor for class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/HDFSTool.html" title="class in org.apache.sysds.runtime.util">HDFSTool</a></dt>
@@ -16367,6 +17516,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/LibMatrixDNNIm2Col.html#im2colSparse-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-int-int-int-int-int-int-int-int-int-boolean-">im2colSparse(MatrixBlock, MatrixBlock, int, int, int, int, int, int, int, int, int, int, int, int, boolean)</a></span> - Static method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/LibMatrixDNNIm2Col.html" title="class in org.apache.sysds.runtime.matrix.data">LibMatrixDNNIm2Col</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html" title="interface in org.apache.sysds.runtime.compress.colgroup.mapping"><span class="typeNameLink">IMapToData</span></a> - Interface in <a href="org/apache/sysds/runtime/compress/colgroup/mapping/package-summary.html">org.apache.sysds.runtime.compress.colgroup.mapping</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/parser/ImportStatement.html" title="class in org.apache.sysds.parser"><span class="typeNameLink">ImportStatement</span></a> - Class in <a href="org/apache/sysds/parser/package-summary.html">org.apache.sysds.parser</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/ImportStatement.html#ImportStatement--">ImportStatement()</a></span> - Constructor for class org.apache.sysds.parser.<a href="org/apache/sysds/parser/ImportStatement.html" title="class in org.apache.sysds.parser">ImportStatement</a></dt>
@@ -16394,6 +17545,10 @@
 <div class="block">Register an input (parameter ($) or variable) with optional matrix
  metadata.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/utils/IntIntMap.html#inc-int-">inc(int)</a></span> - Method in class org.apache.sysds.runtime.compress.utils.<a href="org/apache/sysds/runtime/compress/utils/IntIntMap.html" title="class in org.apache.sysds.runtime.compress.utils">IntIntMap</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/utils/IntIntMap.html#inc-int-int-">inc(int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.utils.<a href="org/apache/sysds/runtime/compress/utils/IntIntMap.html" title="class in org.apache.sysds.runtime.compress.utils">IntIntMap</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/utils/Statistics.html#incFederated-org.apache.sysds.runtime.controlprogram.federated.FederatedRequest.RequestType-">incFederated(FederatedRequest.RequestType)</a></span> - Static method in class org.apache.sysds.utils.<a href="org/apache/sysds/utils/Statistics.html" title="class in org.apache.sysds.utils">Statistics</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/parfor/opt/OptTreeConverter.html#INCLUDE_FUNCTIONS">INCLUDE_FUNCTIONS</a></span> - Static variable in class org.apache.sysds.runtime.controlprogram.parfor.opt.<a href="org/apache/sysds/runtime/controlprogram/parfor/opt/OptTreeConverter.html" title="class in org.apache.sysds.runtime.controlprogram.parfor.opt">OptTreeConverter</a></dt>
@@ -16461,13 +17616,29 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/dml/ExpressionInfo.html#increment">increment</a></span> - Variable in class org.apache.sysds.parser.dml.<a href="org/apache/sysds/parser/dml/ExpressionInfo.html" title="class in org.apache.sysds.parser.dml">ExpressionInfo</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/pre/ArrPreAggregate.html#increment-int-">increment(int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.pre.<a href="org/apache/sysds/runtime/compress/colgroup/pre/ArrPreAggregate.html" title="class in org.apache.sysds.runtime.compress.colgroup.pre">ArrPreAggregate</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/pre/ArrPreAggregate.html#increment-int-int-">increment(int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.pre.<a href="org/apache/sysds/runtime/compress/colgroup/pre/ArrPreAggregate.html" title="class in org.apache.sysds.runtime.compress.colgroup.pre">ArrPreAggregate</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html#increment-int-">increment(int)</a></span> - Method in interface org.apache.sysds.runtime.compress.colgroup.pre.<a href="org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></dt>
+<dd>
+<div class="block">Increment index by 1.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html#increment-int-int-">increment(int, int)</a></span> - Method in interface org.apache.sysds.runtime.compress.colgroup.pre.<a href="org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></dt>
+<dd>
+<div class="block">Increment the index by v values.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/pre/MapPreAggregate.html#increment-int-">increment(int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.pre.<a href="org/apache/sysds/runtime/compress/colgroup/pre/MapPreAggregate.html" title="class in org.apache.sysds.runtime.compress.colgroup.pre">MapPreAggregate</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/pre/MapPreAggregate.html#increment-int-int-">increment(int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.pre.<a href="org/apache/sysds/runtime/compress/colgroup/pre/MapPreAggregate.html" title="class in org.apache.sysds.runtime.compress.colgroup.pre">MapPreAggregate</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/caching/CacheStatistics.html#incrementAcquireMTime-long-">incrementAcquireMTime(long)</a></span> - Static method in class org.apache.sysds.runtime.controlprogram.caching.<a href="org/apache/sysds/runtime/controlprogram/caching/CacheStatistics.html" title="class in org.apache.sysds.runtime.controlprogram.caching">CacheStatistics</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/caching/CacheStatistics.html#incrementAcquireRTime-long-">incrementAcquireRTime(long)</a></span> - Static method in class org.apache.sysds.runtime.controlprogram.caching.<a href="org/apache/sysds/runtime/controlprogram/caching/CacheStatistics.html" title="class in org.apache.sysds.runtime.controlprogram.caching">CacheStatistics</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#incrementalAggregate-org.apache.sysds.runtime.matrix.operators.AggregateOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-boolean-">incrementalAggregate(AggregateOperator, MatrixValue, MatrixValue, boolean)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">AbstractCompressedMatrixBlock</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#incrementalAggregate-org.apache.sysds.runtime.matrix.operators.AggregateOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-boolean-">incrementalAggregate(AggregateOperator, MatrixValue, MatrixValue, boolean)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#incrementalAggregate-org.apache.sysds.runtime.matrix.operators.AggregateOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-">incrementalAggregate(AggregateOperator, MatrixValue)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">AbstractCompressedMatrixBlock</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#incrementalAggregate-org.apache.sysds.runtime.matrix.operators.AggregateOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-">incrementalAggregate(AggregateOperator, MatrixValue)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/data/BasicTensorBlock.html#incrementalAggregate-org.apache.sysds.runtime.matrix.operators.AggregateOperator-org.apache.sysds.runtime.data.BasicTensorBlock-">incrementalAggregate(AggregateOperator, BasicTensorBlock)</a></span> - Method in class org.apache.sysds.runtime.data.<a href="org/apache/sysds/runtime/data/BasicTensorBlock.html" title="class in org.apache.sysds.runtime.data">BasicTensorBlock</a></dt>
 <dd>&nbsp;</dd>
@@ -16577,6 +17748,14 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/utils/Statistics.html#incrementJVMgcTime-long-">incrementJVMgcTime(long)</a></span> - Static method in class org.apache.sysds.utils.<a href="org/apache/sysds/utils/Statistics.html" title="class in org.apache.sysds.utils">Statistics</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/caching/CacheStatistics.html#incrementLinHits--">incrementLinHits()</a></span> - Static method in class org.apache.sysds.runtime.controlprogram.caching.<a href="org/apache/sysds/runtime/controlprogram/caching/CacheStatistics.html" title="class in org.apache.sysds.runtime.controlprogram.caching">CacheStatistics</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/caching/CacheStatistics.html#incrementLinHits-int-">incrementLinHits(int)</a></span> - Static method in class org.apache.sysds.runtime.controlprogram.caching.<a href="org/apache/sysds/runtime/controlprogram/caching/CacheStatistics.html" title="class in org.apache.sysds.runtime.controlprogram.caching">CacheStatistics</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/caching/CacheStatistics.html#incrementLinWrites--">incrementLinWrites()</a></span> - Static method in class org.apache.sysds.runtime.controlprogram.caching.<a href="org/apache/sysds/runtime/controlprogram/caching/CacheStatistics.html" title="class in org.apache.sysds.runtime.controlprogram.caching">CacheStatistics</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/caching/CacheStatistics.html#incrementLinWrites-int-">incrementLinWrites(int)</a></span> - Static method in class org.apache.sysds.runtime.controlprogram.caching.<a href="org/apache/sysds/runtime/controlprogram/caching/CacheStatistics.html" title="class in org.apache.sysds.runtime.controlprogram.caching">CacheStatistics</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/LineageCacheStatistics.html#incrementMemDeletes--">incrementMemDeletes()</a></span> - Static method in class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageCacheStatistics.html" title="class in org.apache.sysds.runtime.lineage">LineageCacheStatistics</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/caching/CacheStatistics.html#incrementMemHits--">incrementMemHits()</a></span> - Static method in class org.apache.sysds.runtime.controlprogram.caching.<a href="org/apache/sysds/runtime/controlprogram/caching/CacheStatistics.html" title="class in org.apache.sysds.runtime.controlprogram.caching">CacheStatistics</a></dt>
@@ -16587,6 +17766,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/LineageCacheStatistics.html#incrementMemWrites--">incrementMemWrites()</a></span> - Static method in class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageCacheStatistics.html" title="class in org.apache.sysds.runtime.lineage">LineageCacheStatistics</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/LineageCacheStatistics.html#incrementMissedComputeTime-long-">incrementMissedComputeTime(long)</a></span> - Static method in class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageCacheStatistics.html" title="class in org.apache.sysds.runtime.lineage">LineageCacheStatistics</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/utils/Statistics.html#incrementNativeFailuresCounter--">incrementNativeFailuresCounter()</a></span> - Static method in class org.apache.sysds.utils.<a href="org/apache/sysds/utils/Statistics.html" title="class in org.apache.sysds.utils">Statistics</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/utils/Statistics.html#incrementNoOfCompiledSPInst--">incrementNoOfCompiledSPInst()</a></span> - Static method in class org.apache.sysds.utils.<a href="org/apache/sysds/utils/Statistics.html" title="class in org.apache.sysds.utils">Statistics</a></dt>
@@ -16611,6 +17792,10 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/caching/CacheStatistics.html#incrementReleaseTime-long-">incrementReleaseTime(long)</a></span> - Static method in class org.apache.sysds.runtime.controlprogram.caching.<a href="org/apache/sysds/runtime/controlprogram/caching/CacheStatistics.html" title="class in org.apache.sysds.runtime.controlprogram.caching">CacheStatistics</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/LineageCacheStatistics.html#incrementSavedComputeTime-long-">incrementSavedComputeTime(long)</a></span> - Static method in class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageCacheStatistics.html" title="class in org.apache.sysds.runtime.lineage">LineageCacheStatistics</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/LineageEstimatorStatistics.html#incrementSavedComputeTime-long-">incrementSavedComputeTime(long)</a></span> - Static method in class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageEstimatorStatistics.html" title="class in org.apache.sysds.runtime.lineage">LineageEstimatorStatistics</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/LineageCacheStatistics.html#incrementSBHits--">incrementSBHits()</a></span> - Static method in class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageCacheStatistics.html" title="class in org.apache.sysds.runtime.lineage">LineageCacheStatistics</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/utils/Statistics.html#incrementTotalLix--">incrementTotalLix()</a></span> - Static method in class org.apache.sysds.utils.<a href="org/apache/sysds/utils/Statistics.html" title="class in org.apache.sysds.utils">Statistics</a></dt>
@@ -16621,8 +17806,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/operators/AggregateOperator.html#increOp">increOp</a></span> - Variable in class org.apache.sysds.runtime.matrix.operators.<a href="org/apache/sysds/runtime/matrix/operators/AggregateOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateOperator</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/cocode/PlanningMemoTable.html#incrStats-int-int-int-">incrStats(int, int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.cocode.<a href="org/apache/sysds/runtime/compress/cocode/PlanningMemoTable.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningMemoTable</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/utils/Statistics.html#incSparkBroadcastCount-long-">incSparkBroadcastCount(long)</a></span> - Static method in class org.apache.sysds.utils.<a href="org/apache/sysds/utils/Statistics.html" title="class in org.apache.sysds.utils">Statistics</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/utils/Statistics.html#incSparkCollectCount-long-">incSparkCollectCount(long)</a></span> - Static method in class org.apache.sysds.utils.<a href="org/apache/sysds/utils/Statistics.html" title="class in org.apache.sysds.utils">Statistics</a></dt>
@@ -16723,6 +17906,8 @@
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/instructions/cp/IndexingCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp"><span class="typeNameLink">IndexingCPInstruction</span></a> - Class in <a href="org/apache/sysds/runtime/instructions/cp/package-summary.html">org.apache.sysds.runtime.instructions.cp</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/instructions/fed/IndexingFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">IndexingFEDInstruction</span></a> - Class in <a href="org/apache/sysds/runtime/instructions/fed/package-summary.html">org.apache.sysds.runtime.instructions.fed</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/hops/IndexingOp.html" title="class in org.apache.sysds.hops"><span class="typeNameLink">IndexingOp</span></a> - Class in <a href="org/apache/sysds/hops/package-summary.html">org.apache.sysds.hops</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/IndexingOp.html#IndexingOp-java.lang.String-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-boolean-boolean-">IndexingOp(String, Types.DataType, Types.ValueType, Hop, Hop, Hop, Hop, Hop, boolean, boolean)</a></span> - Constructor for class org.apache.sysds.hops.<a href="org/apache/sysds/hops/IndexingOp.html" title="class in org.apache.sysds.hops">IndexingOp</a></dt>
@@ -16807,9 +17992,11 @@
 <dd>
 <div class="block">Creates the DML-script-specific caching working dir.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/Encoder.html#initColList-org.apache.wink.json4j.JSONArray-">initColList(JSONArray)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderOmit.html#initColList-int:A-">initColList(int[])</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderOmit.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderOmit</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/Encoder.html#initColList-int:A-">initColList(int[])</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#initColList-org.apache.wink.json4j.JSONArray-">initColList(JSONArray)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/LegacyEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">LegacyEncoder</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#initColList-int:A-">initColList(int[])</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/LegacyEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">LegacyEncoder</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/federated/FederatedData.html#initFederatedData-long-">initFederatedData(long)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.federated.<a href="org/apache/sysds/runtime/controlprogram/federated/FederatedData.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedData</a></dt>
 <dd>&nbsp;</dd>
@@ -16932,29 +18119,34 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/decode/DecoderRecode.html#initMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">initMetaData(FrameBlock)</a></span> - Method in class org.apache.sysds.runtime.transform.decode.<a href="org/apache/sysds/runtime/transform/decode/DecoderRecode.html" title="class in org.apache.sysds.runtime.transform.decode">DecoderRecode</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/Encoder.html#initMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">initMetaData(FrameBlock)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderBin.html#initMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">initMetaData(FrameBlock)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderBin.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderBin</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html#initMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">initMetaData(FrameBlock)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderComposite</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderDummycode.html#initMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">initMetaData(FrameBlock)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderDummycode.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderDummycode</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderFeatureHash.html#initMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">initMetaData(FrameBlock)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderFeatureHash.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderFeatureHash</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderPassThrough.html#initMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">initMetaData(FrameBlock)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderPassThrough.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderPassThrough</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderRecode.html#initMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">initMetaData(FrameBlock)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderRecode.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderRecode</a></dt>
+<dd>
+<div class="block">Construct the recodemaps from the given input frame for all columns registered for recode.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/Encoder.html#initMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">initMetaData(FrameBlock)</a></span> - Method in interface org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/Encoder.html" title="interface in org.apache.sysds.runtime.transform.encode">Encoder</a></dt>
 <dd>
 <div class="block">Sets up the required meta data for a subsequent call to apply.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderBin.html#initMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">initMetaData(FrameBlock)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderBin.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderBin</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderComposite.html#initMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">initMetaData(FrameBlock)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderComposite</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderDummycode.html#initMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">initMetaData(FrameBlock)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderDummycode.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderDummycode</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderFeatureHash.html#initMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">initMetaData(FrameBlock)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderFeatureHash.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderFeatureHash</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html#initMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">initMetaData(FrameBlock)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderMVImpute</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderOmit.html#initMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">initMetaData(FrameBlock)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderOmit.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderOmit</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderPassThrough.html#initMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">initMetaData(FrameBlock)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderPassThrough.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderPassThrough</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderRecode.html#initMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">initMetaData(FrameBlock)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderRecode.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderRecode</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#initMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">initMetaData(FrameBlock)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/LegacyEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">LegacyEncoder</a></dt>
 <dd>
-<div class="block">Construct the recodemaps from the given input frame for all 
- columns registered for recode.</div>
+<div class="block">Sets up the required meta data for a subsequent call to apply.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#initMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">initMetaData(FrameBlock)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html#initRecodeIDList-java.util.List-">initRecodeIDList(List&lt;Integer&gt;)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderMVImpute</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/data/SparseBlockCSR.html#initSparse-int-int-java.io.DataInput-">initSparse(int, int, DataInput)</a></span> - Method in class org.apache.sysds.runtime.data.<a href="org/apache/sysds/runtime/data/SparseBlockCSR.html" title="class in org.apache.sysds.runtime.data">SparseBlockCSR</a></dt>
@@ -17020,6 +18212,22 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/IndexRange.html#inRowRange-long-">inRowRange(long)</a></span> - Method in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/tree/AInsertionSorter.html#insert-org.apache.sysds.runtime.compress.utils.IntArrayList:A-">insert(IntArrayList[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.tree.<a href="org/apache/sysds/runtime/compress/colgroup/tree/AInsertionSorter.html" title="class in org.apache.sysds.runtime.compress.colgroup.tree">AInsertionSorter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/tree/AInsertionSorter.html#insert-org.apache.sysds.runtime.compress.utils.IntArrayList:A-int-">insert(IntArrayList[], int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.tree.<a href="org/apache/sysds/runtime/compress/colgroup/tree/AInsertionSorter.html" title="class in org.apache.sysds.runtime.compress.colgroup.tree">AInsertionSorter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/tree/MaterializeSort.html#insert-org.apache.sysds.runtime.compress.utils.IntArrayList:A-">insert(IntArrayList[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.tree.<a href="org/apache/sysds/runtime/compress/colgroup/tree/MaterializeSort.html" title="class in org.apache.sysds.runtime.compress.colgroup.tree">MaterializeSort</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/tree/MaterializeSort.html#insert-org.apache.sysds.runtime.compress.utils.IntArrayList:A-int-">insert(IntArrayList[], int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.tree.<a href="org/apache/sysds/runtime/compress/colgroup/tree/MaterializeSort.html" title="class in org.apache.sysds.runtime.compress.colgroup.tree">MaterializeSort</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/tree/Naive.html#insert-org.apache.sysds.runtime.compress.utils.IntArrayList:A-">insert(IntArrayList[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.tree.<a href="org/apache/sysds/runtime/compress/colgroup/tree/Naive.html" title="class in org.apache.sysds.runtime.compress.colgroup.tree">Naive</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/tree/Naive.html#insert-org.apache.sysds.runtime.compress.utils.IntArrayList:A-int-">insert(IntArrayList[], int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.tree.<a href="org/apache/sysds/runtime/compress/colgroup/tree/Naive.html" title="class in org.apache.sysds.runtime.compress.colgroup.tree">Naive</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/compress/colgroup/tree/InsertionSorterFactory.html" title="class in org.apache.sysds.runtime.compress.colgroup.tree"><span class="typeNameLink">InsertionSorterFactory</span></a> - Class in <a href="org/apache/sysds/runtime/compress/colgroup/tree/package-summary.html">org.apache.sysds.runtime.compress.colgroup.tree</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/tree/InsertionSorterFactory.html#InsertionSorterFactory--">InsertionSorterFactory()</a></span> - Constructor for class org.apache.sysds.runtime.compress.colgroup.tree.<a href="org/apache/sysds/runtime/compress/colgroup/tree/InsertionSorterFactory.html" title="class in org.apache.sysds.runtime.compress.colgroup.tree">InsertionSorterFactory</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/ProgramConverter.html#INST_BEGIN">INST_BEGIN</a></span> - Static variable in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/ProgramConverter.html" title="class in org.apache.sysds.runtime.util">ProgramConverter</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/ProgramConverter.html#INST_END">INST_END</a></span> - Static variable in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/ProgramConverter.html" title="class in org.apache.sysds.runtime.util">ProgramConverter</a></dt>
@@ -17056,8 +18264,10 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/Statement.html#INT_VALUE_TYPE">INT_VALUE_TYPE</a></span> - Static variable in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/Statement.html" title="class in org.apache.sysds.parser">Statement</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/utils/MemoryEstimates.html#intArrayCost-int-">intArrayCost(int)</a></span> - Static method in class org.apache.sysds.utils.<a href="org/apache/sysds/utils/MemoryEstimates.html" title="class in org.apache.sysds.utils">MemoryEstimates</a></dt>
-<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/utils/MemoryEstimates.html#intArrayCost-long-">intArrayCost(long)</a></span> - Static method in class org.apache.sysds.utils.<a href="org/apache/sysds/utils/MemoryEstimates.html" title="class in org.apache.sysds.utils">MemoryEstimates</a></dt>
+<dd>
+<div class="block">Get the worst case memory usage of an array of integers.</div>
+</dd>
 <dt><a href="org/apache/sysds/runtime/compress/utils/IntArrayList.html" title="class in org.apache.sysds.runtime.compress.utils"><span class="typeNameLink">IntArrayList</span></a> - Class in <a href="org/apache/sysds/runtime/compress/utils/package-summary.html">org.apache.sysds.runtime.compress.utils</a></dt>
 <dd>
 <div class="block">This class provides a memory-efficient replacement for <code>ArrayList&lt;Integer&gt;</code> for restricted use cases.</div>
@@ -17121,6 +18331,12 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/IntIdentifier.html#IntIdentifier-org.antlr.v4.runtime.ParserRuleContext-long-java.lang.String-">IntIdentifier(ParserRuleContext, long, String)</a></span> - Constructor for class org.apache.sysds.parser.<a href="org/apache/sysds/parser/IntIdentifier.html" title="class in org.apache.sysds.parser">IntIdentifier</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/compress/utils/IntIntMap.html" title="class in org.apache.sysds.runtime.compress.utils"><span class="typeNameLink">IntIntMap</span></a> - Class in <a href="org/apache/sysds/runtime/compress/utils/package-summary.html">org.apache.sysds.runtime.compress.utils</a></dt>
+<dd>
+<div class="block">This int it map supports incrementing entries and only this.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/utils/IntIntMap.html#IntIntMap-int-float-">IntIntMap(int, float)</a></span> - Constructor for class org.apache.sysds.runtime.compress.utils.<a href="org/apache/sysds/runtime/compress/utils/IntIntMap.html" title="class in org.apache.sysds.runtime.compress.utils">IntIntMap</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/instructions/cp/IntObject.html" title="class in org.apache.sysds.runtime.instructions.cp"><span class="typeNameLink">IntObject</span></a> - Class in <a href="org/apache/sysds/runtime/instructions/cp/package-summary.html">org.apache.sysds.runtime.instructions.cp</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/cp/IntObject.html#IntObject-long-">IntObject(long)</a></span> - Constructor for class org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/IntObject.html" title="class in org.apache.sysds.runtime.instructions.cp">IntObject</a></dt>
@@ -17244,6 +18460,8 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/ipa/IPAPassRemoveUnusedFunctions.html#IPAPassRemoveUnusedFunctions--">IPAPassRemoveUnusedFunctions()</a></span> - Constructor for class org.apache.sysds.hops.ipa.<a href="org/apache/sysds/hops/ipa/IPAPassRemoveUnusedFunctions.html" title="class in org.apache.sysds.hops.ipa">IPAPassRemoveUnusedFunctions</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre"><span class="typeNameLink">IPreAggregate</span></a> - Interface in <a href="org/apache/sysds/runtime/compress/colgroup/pre/package-summary.html">org.apache.sysds.runtime.compress.colgroup.pre</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/AssignmentStatement.html#isAccumulator--">isAccumulator()</a></span> - Method in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/AssignmentStatement.html" title="class in org.apache.sysds.parser">AssignmentStatement</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/utils/MLContextProxy.html#isActive--">isActive()</a></span> - Static method in class org.apache.sysds.utils.<a href="org/apache/sysds/utils/MLContextProxy.html" title="class in org.apache.sysds.utils">MLContextProxy</a></dt>
@@ -17270,6 +18488,8 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/IndexingOp.html#isAllCols--">isAllCols()</a></span> - Method in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/IndexingOp.html" title="class in org.apache.sysds.hops">IndexingOp</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/LibMatrixBincell.html#isAllDense-org.apache.sysds.runtime.matrix.data.MatrixBlock...-">isAllDense(MatrixBlock...)</a></span> - Static method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/LibMatrixBincell.html" title="class in org.apache.sysds.runtime.matrix.data">LibMatrixBincell</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/data/BasicTensorBlock.html#isAllocated--">isAllocated()</a></span> - Method in class org.apache.sysds.runtime.data.<a href="org/apache/sysds/runtime/data/BasicTensorBlock.html" title="class in org.apache.sysds.runtime.data">BasicTensorBlock</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/data/DataTensorBlock.html#isAllocated--">isAllocated()</a></span> - Method in class org.apache.sysds.runtime.data.<a href="org/apache/sysds/runtime/data/DataTensorBlock.html" title="class in org.apache.sysds.runtime.data">DataTensorBlock</a></dt>
@@ -17325,15 +18545,25 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/ipa/IPAPassRemoveUnusedFunctions.html#isApplicable-org.apache.sysds.hops.ipa.FunctionCallGraph-">isApplicable(FunctionCallGraph)</a></span> - Method in class org.apache.sysds.hops.ipa.<a href="org/apache/sysds/hops/ipa/IPAPassRemoveUnusedFunctions.html" title="class in org.apache.sysds.hops.ipa">IPAPassRemoveUnusedFunctions</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/Encoder.html#isApplicable--">isApplicable()</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#isApplicable--">isApplicable()</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a></dt>
 <dd>
-<div class="block">Indicates if this encoder is applicable, i.e, if there is at 
- least one column to encode.</div>
+<div class="block">Indicates if this encoder is applicable, i.e, if there is a column to encode.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/Encoder.html#isApplicable-int-">isApplicable(int)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#isApplicable-int-">isApplicable(int)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a></dt>
 <dd>
-<div class="block">Indicates if this encoder is applicable for the given column ID,
- i.e., if it is subject to this transformation.</div>
+<div class="block">Indicates if this encoder is applicable for the given column ID, i.e., if it is subject to this transformation.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderOmit.html#isApplicable--">isApplicable()</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderOmit.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderOmit</a></dt>
+<dd>
+<div class="block">Indicates if this encoder is applicable, i.e, if there is at least one column to encode.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#isApplicable--">isApplicable()</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/LegacyEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">LegacyEncoder</a></dt>
+<dd>
+<div class="block">Indicates if this encoder is applicable, i.e, if there is at least one column to encode.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#isApplicable-int-">isApplicable(int)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/LegacyEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">LegacyEncoder</a></dt>
+<dd>
+<div class="block">Indicates if this encoder is applicable for the given column ID, i.e., if it is subject to this transformation.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/parfor/opt/ProgramRecompiler.html#isApplicableForReuseVariable-org.apache.sysds.parser.DMLProgram-org.apache.sysds.parser.StatementBlock-java.lang.String-">isApplicableForReuseVariable(DMLProgram, StatementBlock, String)</a></span> - Static method in class org.apache.sysds.runtime.controlprogram.parfor.opt.<a href="org/apache/sysds/runtime/controlprogram/parfor/opt/ProgramRecompiler.html" title="class in org.apache.sysds.runtime.controlprogram.parfor.opt">ProgramRecompiler</a></dt>
 <dd>
@@ -17371,6 +18601,8 @@
 <div class="block">Is the object one of the supported basic data types? (Integer, Boolean,
  Double, String)</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#isBelowCachingThreshold-org.apache.sysds.runtime.controlprogram.caching.CacheBlock-">isBelowCachingThreshold(CacheBlock)</a></span> - Static method in class org.apache.sysds.runtime.controlprogram.caching.<a href="org/apache/sysds/runtime/controlprogram/caching/CacheableData.html" title="class in org.apache.sysds.runtime.controlprogram.caching">CacheableData</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/template/TemplateUtils.html#isBinary-org.apache.sysds.hops.codegen.cplan.CNode-org.apache.sysds.hops.codegen.cplan.CNodeBinary.BinType...-">isBinary(CNode, CNodeBinary.BinType...)</a></span> - Static method in class org.apache.sysds.hops.codegen.template.<a href="org/apache/sysds/hops/codegen/template/TemplateUtils.html" title="class in org.apache.sysds.hops.codegen.template">TemplateUtils</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isBinary-org.apache.sysds.hops.Hop-org.apache.sysds.common.Types.OpOp2-">isBinary(Hop, Types.OpOp2)</a></span> - Static method in class org.apache.sysds.hops.rewrite.<a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html" title="class in org.apache.sysds.hops.rewrite">HopRewriteUtils</a></dt>
@@ -17389,6 +18621,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/template/TemplateUtils.html#isBinaryMatrixRowVector-org.apache.sysds.hops.Hop-">isBinaryMatrixRowVector(Hop)</a></span> - Static method in class org.apache.sysds.hops.codegen.template.<a href="org/apache/sysds/hops/codegen/template/TemplateUtils.html" title="class in org.apache.sysds.hops.codegen.template">TemplateUtils</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isBinaryMatrixRowVectorOperation-org.apache.sysds.hops.Hop-">isBinaryMatrixRowVectorOperation(Hop)</a></span> - Static method in class org.apache.sysds.hops.rewrite.<a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html" title="class in org.apache.sysds.hops.rewrite">HopRewriteUtils</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isBinaryMatrixScalar-org.apache.sysds.hops.Hop-org.apache.sysds.common.Types.OpOp2-double-">isBinaryMatrixScalar(Hop, Types.OpOp2, double)</a></span> - Static method in class org.apache.sysds.hops.rewrite.<a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html" title="class in org.apache.sysds.hops.rewrite">HopRewriteUtils</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isBinaryMatrixScalarOperation-org.apache.sysds.hops.Hop-">isBinaryMatrixScalarOperation(Hop)</a></span> - Static method in class org.apache.sysds.hops.rewrite.<a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html" title="class in org.apache.sysds.hops.rewrite">HopRewriteUtils</a></dt>
@@ -17426,7 +18660,7 @@
 <dd>
 <div class="block">Check if the gpu object is shadow buffered</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/functionobjects/Builtin.html#isBuiltinCode-org.apache.sysds.runtime.functionobjects.ValueFunction-org.apache.sysds.runtime.functionobjects.Builtin.BuiltinCode-">isBuiltinCode(ValueFunction, Builtin.BuiltinCode)</a></span> - Static method in class org.apache.sysds.runtime.functionobjects.<a href="org/apache/sysds/runtime/functionobjects/Builtin.html" title="class in org.apache.sysds.runtime.functionobjects">Builtin</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/functionobjects/Builtin.html#isBuiltinCode-org.apache.sysds.runtime.functionobjects.ValueFunction-org.apache.sysds.runtime.functionobjects.Builtin.BuiltinCode...-">isBuiltinCode(ValueFunction, Builtin.BuiltinCode...)</a></span> - Static method in class org.apache.sysds.runtime.functionobjects.<a href="org/apache/sysds/runtime/functionobjects/Builtin.html" title="class in org.apache.sysds.runtime.functionobjects">Builtin</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/functionobjects/Builtin.html#isBuiltinFnObject-java.lang.String-">isBuiltinFnObject(String)</a></span> - Static method in class org.apache.sysds.runtime.functionobjects.<a href="org/apache/sysds/runtime/functionobjects/Builtin.html" title="class in org.apache.sysds.runtime.functionobjects">Builtin</a></dt>
 <dd>&nbsp;</dd>
@@ -17467,6 +18701,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/FrameBlock.html#isColNamesDefault--">isColNamesDefault()</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/federated/FederationMap.FType.html#isColPartitioned--">isColPartitioned()</a></span> - Method in enum org.apache.sysds.runtime.controlprogram.federated.<a href="org/apache/sysds/runtime/controlprogram/federated/FederationMap.FType.html" title="enum in org.apache.sysds.runtime.controlprogram.federated">FederationMap.FType</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/codegen/SpoofRowwise.RowType.html#isColumnAgg--">isColumnAgg()</a></span> - Method in enum org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/SpoofRowwise.RowType.html" title="enum in org.apache.sysds.runtime.codegen">SpoofRowwise.RowType</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/FrameBlock.html#isColumnMetadataDefault--">isColumnMetadataDefault()</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></dt>
@@ -17483,6 +18719,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/cplan/CNodeBinary.BinType.html#isCommutative--">isCommutative()</a></span> - Method in enum org.apache.sysds.hops.codegen.cplan.<a href="org/apache/sysds/hops/codegen/cplan/CNodeBinary.BinType.html" title="enum in org.apache.sysds.hops.codegen.cplan">CNodeBinary.BinType</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/operators/BinaryOperator.html#isCommutative--">isCommutative()</a></span> - Method in class org.apache.sysds.runtime.matrix.operators.<a href="org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/LibMatrixOuterAgg.html#isCompareOperator-org.apache.sysds.runtime.matrix.operators.BinaryOperator-">isCompareOperator(BinaryOperator)</a></span> - Static method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/LibMatrixOuterAgg.html" title="class in org.apache.sysds.runtime.matrix.data">LibMatrixOuterAgg</a></dt>
 <dd>
 <div class="block">This will return if uaggOp is of type RowIndexMin</div>
@@ -17492,6 +18730,10 @@
 <div class="block">Is the object one of the supported complex data types? (JavaRDD, RDD,
  DataFrame, Matrix, double[][], MatrixBlock, URL)</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html#isCompressible-long-">isCompressible(long)</a></span> - Method in class org.apache.sysds.runtime.compress.estim.<a href="org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfo</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/conf/ConfigurationManager.html#isCompressionEnabled--">isCompressionEnabled()</a></span> - Static method in class org.apache.sysds.conf.<a href="org/apache/sysds/conf/ConfigurationManager.html" title="class in org.apache.sysds.conf">ConfigurationManager</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isConsecutiveIndex-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-">isConsecutiveIndex(Hop, Hop)</a></span> - Static method in class org.apache.sysds.hops.rewrite.<a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html" title="class in org.apache.sysds.hops.rewrite">HopRewriteUtils</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/codegen/SpoofRowwise.RowType.html#isConstDim2-long-">isConstDim2(long)</a></span> - Method in enum org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/SpoofRowwise.RowType.html" title="enum in org.apache.sysds.runtime.codegen">SpoofRowwise.RowType</a></dt>
@@ -17536,8 +18778,12 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/data/SparseBlockMCSR.html#isContiguous--">isContiguous()</a></span> - Method in class org.apache.sysds.runtime.data.<a href="org/apache/sysds/runtime/data/SparseBlockMCSR.html" title="class in org.apache.sysds.runtime.data">SparseBlockMCSR</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.PartitionerType.html#isCost-org.apache.sysds.runtime.compress.cocode.PlanningCoCoder.PartitionerType-">isCost(PlanningCoCoder.PartitionerType)</a></span> - Static method in enum org.apache.sysds.runtime.compress.cocode.<a href="org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.PartitionerType.html" title="enum in org.apache.sysds.runtime.compress.cocode">PlanningCoCoder.PartitionerType</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/SpoofCompiler.PlanSelector.html#isCostBased--">isCostBased()</a></span> - Method in enum org.apache.sysds.hops.codegen.<a href="org/apache/sysds/hops/codegen/SpoofCompiler.PlanSelector.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.PlanSelector</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/LineageCacheConfig.html#isCostNsize--">isCostNsize()</a></span> - Static method in class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageCacheConfig.html" title="class in org.apache.sysds.runtime.lineage">LineageCacheConfig</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/ParameterizedBuiltinOp.html#isCountFunction--">isCountFunction()</a></span> - Method in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/ParameterizedBuiltinOp.html" title="class in org.apache.sysds.hops">ParameterizedBuiltinOp</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/cp/CM_COV_Object.html#isCOVAllZeros--">isCOVAllZeros()</a></span> - Method in class org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/CM_COV_Object.html" title="class in org.apache.sysds.runtime.instructions.cp">CM_COV_Object</a></dt>
@@ -17556,12 +18802,16 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/DataExpression.html#isCSVReadWithUnknownSize--">isCSVReadWithUnknownSize()</a></span> - Method in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/DataExpression.html" title="class in org.apache.sysds.parser">DataExpression</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/TernaryOp.html#isCTableReshapeRewriteApplicable-org.apache.sysds.lops.LopProperties.ExecType-org.apache.sysds.lops.Ctable.OperationTypes-">isCTableReshapeRewriteApplicable(LopProperties.ExecType, Ctable.OperationTypes)</a></span> - Method in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/TernaryOp.html" title="class in org.apache.sysds.hops">TernaryOp</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/UnaryOp.html#isCumulativeUnaryOperation--">isCumulativeUnaryOperation()</a></span> - Method in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/UnaryOp.html" title="class in org.apache.sysds.hops">UnaryOp</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/opt/ReachabilityGraph.html#isCutSet-boolean:A-">isCutSet(boolean[])</a></span> - Method in class org.apache.sysds.hops.codegen.opt.<a href="org/apache/sysds/hops/codegen/opt/ReachabilityGraph.html" title="class in org.apache.sysds.hops.codegen.opt">ReachabilityGraph</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/opt/ReachabilityGraph.html#isCutSet-org.apache.sysds.hops.codegen.opt.ReachabilityGraph.CutSet-boolean:A-">isCutSet(ReachabilityGraph.CutSet, boolean[])</a></span> - Method in class org.apache.sysds.hops.codegen.opt.<a href="org/apache/sysds/hops/codegen/opt/ReachabilityGraph.html" title="class in org.apache.sysds.hops.codegen.opt">ReachabilityGraph</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/LineageCacheConfig.html#isDagHeightBased--">isDagHeightBased()</a></span> - Static method in class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageCacheConfig.html" title="class in org.apache.sysds.runtime.lineage">LineageCacheConfig</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isData-org.apache.sysds.hops.Hop-org.apache.sysds.common.Types.OpOpData-">isData(Hop, Types.OpOpData)</a></span> - Static method in class org.apache.sysds.hops.rewrite.<a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html" title="class in org.apache.sysds.hops.rewrite">HopRewriteUtils</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/lops/Lop.html#isDataExecLocation--">isDataExecLocation()</a></span> - Method in class org.apache.sysds.lops.<a href="org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a></dt>
@@ -17592,6 +18842,10 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isDense-org.apache.sysds.hops.Hop-">isDense(Hop)</a></span> - Static method in class org.apache.sysds.hops.rewrite.<a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html" title="class in org.apache.sysds.hops.rewrite">HopRewriteUtils</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html#isDense--">isDense()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></dt>
+<dd>
+<div class="block">Is dense, signals that the entire column group is allocated an processed.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/data/DenseBlockFactory.html#isDenseBlockType-org.apache.sysds.runtime.data.DenseBlock-org.apache.sysds.runtime.data.DenseBlock.Type-">isDenseBlockType(DenseBlock, DenseBlock.Type)</a></span> - Static method in class org.apache.sysds.runtime.data.<a href="org/apache/sysds/runtime/data/DenseBlockFactory.html" title="class in org.apache.sysds.runtime.data">DenseBlockFactory</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html#isDensePointerNull--">isDensePointerNull()</a></span> - Method in class org.apache.sysds.runtime.instructions.gpu.context.<a href="org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">GPUObject</a></dt>
@@ -17669,7 +18923,7 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/MatrixValue.html#isEmpty--">isEmpty()</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#isEmptyBlock-boolean-">isEmptyBlock(boolean)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">AbstractCompressedMatrixBlock</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#isEmptyBlock-boolean-">isEmptyBlock(boolean)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html#isEmptyBlock--">isEmptyBlock()</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></dt>
 <dd>&nbsp;</dd>
@@ -17679,14 +18933,22 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/lops/Compression.CompressConfig.html#isEnabled--">isEnabled()</a></span> - Method in enum org.apache.sysds.lops.<a href="org/apache/sysds/lops/Compression.CompressConfig.html" title="enum in org.apache.sysds.lops">Compression.CompressConfig</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/lops/DeCompression.CompressConfig.html#isEnabled--">isEnabled()</a></span> - Method in enum org.apache.sysds.lops.<a href="org/apache/sysds/lops/DeCompression.CompressConfig.html" title="enum in org.apache.sysds.lops">DeCompression.CompressConfig</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html#isEncoder-int-java.lang.Class-">isEncoder(int, Class&lt;?&gt;)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderComposite</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isEqualMatrixSize-org.apache.sysds.hops.BinaryOp-">isEqualMatrixSize(BinaryOp)</a></span> - Static method in class org.apache.sysds.hops.rewrite.<a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html" title="class in org.apache.sysds.hops.rewrite">HopRewriteUtils</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isEqualSize-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-">isEqualSize(Hop, Hop)</a></span> - Static method in class org.apache.sysds.hops.rewrite.<a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html" title="class in org.apache.sysds.hops.rewrite">HopRewriteUtils</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isEqualSize-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop...-">isEqualSize(Hop, Hop...)</a></span> - Static method in class org.apache.sysds.hops.rewrite.<a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html" title="class in org.apache.sysds.hops.rewrite">HopRewriteUtils</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isEqualValue-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-">isEqualValue(Hop, Hop)</a></span> - Static method in class org.apache.sysds.hops.rewrite.<a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html" title="class in org.apache.sysds.hops.rewrite">HopRewriteUtils</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isEqualValue-org.apache.sysds.hops.LiteralOp-org.apache.sysds.hops.LiteralOp-">isEqualValue(LiteralOp, LiteralOp)</a></span> - Static method in class org.apache.sysds.hops.rewrite.<a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html" title="class in org.apache.sysds.hops.rewrite">HopRewriteUtils</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/LineageCacheConfig.html#isEstimator--">isEstimator()</a></span> - Static method in class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageCacheConfig.html" title="class in org.apache.sysds.runtime.lineage">LineageCacheConfig</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/LocalFileUtils.html#isExisting-java.lang.String-">isExisting(String)</a></span> - Static method in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/LocalFileUtils.html" title="class in org.apache.sysds.runtime.util">LocalFileUtils</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/UnaryOp.html#isExpensiveUnaryOperation--">isExpensiveUnaryOperation()</a></span> - Method in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/UnaryOp.html" title="class in org.apache.sysds.hops">UnaryOp</a></dt>
@@ -17702,6 +18964,10 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#isFederated-org.apache.sysds.runtime.controlprogram.federated.FederationMap.FType-">isFederated(FederationMap.FType)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.caching.<a href="org/apache/sysds/runtime/controlprogram/caching/CacheableData.html" title="class in org.apache.sysds.runtime.controlprogram.caching">CacheableData</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/cp/SpoofCPInstruction.html#isFederated-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">isFederated(ExecutionContext)</a></span> - Method in class org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/SpoofCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">SpoofCPInstruction</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/spark/SpoofSPInstruction.html#isFederated-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">isFederated(ExecutionContext)</a></span> - Method in class org.apache.sysds.runtime.instructions.spark.<a href="org/apache/sysds/runtime/instructions/spark/SpoofSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">SpoofSPInstruction</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/HDFSTool.html#isFileEmpty-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-">isFileEmpty(FileSystem, Path)</a></span> - Static method in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/HDFSTool.html" title="class in org.apache.sysds.runtime.util">HDFSTool</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/io/FileFormatPropertiesCSV.html#isFill--">isFill()</a></span> - Method in class org.apache.sysds.runtime.io.<a href="org/apache/sysds/runtime/io/FileFormatPropertiesCSV.html" title="class in org.apache.sysds.runtime.io">FileFormatPropertiesCSV</a></dt>
@@ -17798,7 +19064,7 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/meta/TfMetaUtils.html#isIDSpec-org.apache.wink.json4j.JSONObject-">isIDSpec(JSONObject)</a></span> - Static method in class org.apache.sysds.runtime.transform.meta.<a href="org/apache/sysds/runtime/transform/meta/TfMetaUtils.html" title="class in org.apache.sysds.runtime.transform.meta">TfMetaUtils</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/common/Types.FileFormat.html#isIJVFormat--">isIJVFormat()</a></span> - Method in enum org.apache.sysds.common.<a href="org/apache/sysds/common/Types.FileFormat.html" title="enum in org.apache.sysds.common">Types.FileFormat</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/common/Types.FileFormat.html#isIJV--">isIJV()</a></span> - Method in enum org.apache.sysds.common.<a href="org/apache/sysds/common/Types.FileFormat.html" title="enum in org.apache.sysds.common">Types.FileFormat</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/template/TemplateBase.TemplateType.html#isIn-org.apache.sysds.hops.codegen.template.TemplateBase.TemplateType...-">isIn(TemplateBase.TemplateType...)</a></span> - Method in enum org.apache.sysds.hops.codegen.template.<a href="org/apache/sysds/hops/codegen/template/TemplateBase.TemplateType.html" title="enum in org.apache.sysds.hops.codegen.template">TemplateBase.TemplateType</a></dt>
 <dd>&nbsp;</dd>
@@ -17835,6 +19101,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html#isInParforContext--">isInParforContext()</a></span> - Method in class org.apache.sysds.hops.rewrite.<a href="org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/recompile/RecompileStatus.html#isInPlace--">isInPlace()</a></span> - Method in class org.apache.sysds.hops.recompile.<a href="org/apache/sysds/hops/recompile/RecompileStatus.html" title="class in org.apache.sysds.hops.recompile">RecompileStatus</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/caching/MatrixObject.UpdateType.html#isInPlace--">isInPlace()</a></span> - Method in enum org.apache.sysds.runtime.controlprogram.caching.<a href="org/apache/sysds/runtime/controlprogram/caching/MatrixObject.UpdateType.html" title="enum in org.apache.sysds.runtime.controlprogram.caching">MatrixObject.UpdateType</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/operators/UnaryOperator.html#isInplace--">isInplace()</a></span> - Method in class org.apache.sysds.runtime.matrix.operators.<a href="org/apache/sysds/runtime/matrix/operators/UnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">UnaryOperator</a></dt>
@@ -17855,8 +19123,12 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/UtilFunctions.html#isIntegerNumber-java.lang.String-">isIntegerNumber(String)</a></span> - Static method in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/UtilFunctions.html" title="class in org.apache.sysds.runtime.util">UtilFunctions</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/parser/DMLProgram.html#isInternalNamespace-java.lang.String-">isInternalNamespace(String)</a></span> - Static method in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/DMLProgram.html" title="class in org.apache.sysds.parser">DMLProgram</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/io/FileFormatPropertiesMM.html#isIntField--">isIntField()</a></span> - Method in class org.apache.sysds.runtime.io.<a href="org/apache/sysds/runtime/io/FileFormatPropertiesMM.html" title="class in org.apache.sysds.runtime.io">FileFormatPropertiesMM</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html#isJava--">isJava()</a></span> - Method in enum org.apache.sysds.hops.codegen.<a href="org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isLastLevelStatementBlock-org.apache.sysds.parser.StatementBlock-">isLastLevelStatementBlock(StatementBlock)</a></span> - Static method in class org.apache.sysds.hops.rewrite.<a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html" title="class in org.apache.sysds.hops.rewrite">HopRewriteUtils</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/context/SparkExecutionContext.html#isLazySparkContextCreation--">isLazySparkContextCreation()</a></span> - Static method in class org.apache.sysds.runtime.controlprogram.context.<a href="org/apache/sysds/runtime/controlprogram/context/SparkExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">SparkExecutionContext</a></dt>
@@ -17911,7 +19183,7 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isLoopStatementBlock-org.apache.sysds.parser.StatementBlock-">isLoopStatementBlock(StatementBlock)</a></span> - Static method in class org.apache.sysds.hops.rewrite.<a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html" title="class in org.apache.sysds.hops.rewrite">HopRewriteUtils</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html#isLossy--">isLossy()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html#isLossy--">isLossy()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></dt>
 <dd>
 <div class="block">Is Lossy</div>
 </dd>
@@ -17966,6 +19238,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/LineageCacheEntry.html#isMatrixValue--">isMatrixValue()</a></span> - Method in class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageCacheEntry.html" title="class in org.apache.sysds.runtime.lineage">LineageCacheEntry</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/LibMatrixBincell.BinaryAccessType.html#isMatrixVector--">isMatrixVector()</a></span> - Method in enum org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/LibMatrixBincell.BinaryAccessType.html" title="enum in org.apache.sysds.runtime.matrix.data">LibMatrixBincell.BinaryAccessType</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/OptimizerUtils.html#isMaxLocalParallelism-int-">isMaxLocalParallelism(int)</a></span> - Static method in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/OptimizerUtils.html" title="class in org.apache.sysds.hops">OptimizerUtils</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/Hop.html#isMemEstimated--">isMemEstimated()</a></span> - Method in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a></dt>
@@ -18017,6 +19291,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/ReorgOp.html#isMultiThreadedOpType--">isMultiThreadedOpType()</a></span> - Method in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/ReorgOp.html" title="class in org.apache.sysds.hops">ReorgOp</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/TernaryOp.html#isMultiThreadedOpType--">isMultiThreadedOpType()</a></span> - Method in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/TernaryOp.html" title="class in org.apache.sysds.hops">TernaryOp</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/UnaryOp.html#isMultiThreadedOpType--">isMultiThreadedOpType()</a></span> - Method in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/UnaryOp.html" title="class in org.apache.sysds.hops">UnaryOp</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/TfUtils.html#isNA-java.lang.String:A-java.lang.String-">isNA(String[], String)</a></span> - Static method in class org.apache.sysds.runtime.transform.<a href="org/apache/sysds/runtime/transform/TfUtils.html" title="class in org.apache.sysds.runtime.transform">TfUtils</a></dt>
@@ -18043,13 +19319,14 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/ProgramBlock.html#isNested--">isNested()</a></span> - Method in class org.apache.sysds.runtime.controlprogram.<a href="org/apache/sysds/runtime/controlprogram/ProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ProgramBlock</a></dt>
 <dd>
-<div class="block">Indicates if the program block is nested, i.e., 
- if it contains other program blocks (e.g., loops).</div>
+<div class="block">Indicates if the program block is nested, i.e., if it contains other program blocks (e.g., loops).</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/WhileProgramBlock.html#isNested--">isNested()</a></span> - Method in class org.apache.sysds.runtime.controlprogram.<a href="org/apache/sysds/runtime/controlprogram/WhileProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">WhileProgramBlock</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/parfor/opt/OptNode.html#isNodeType-org.apache.sysds.runtime.controlprogram.parfor.opt.OptNode.NodeType...-">isNodeType(OptNode.NodeType...)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.parfor.opt.<a href="org/apache/sysds/runtime/controlprogram/parfor/opt/OptNode.html" title="class in org.apache.sysds.runtime.controlprogram.parfor.opt">OptNode</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/meta/DataCharacteristics.html#isNoEmptyBlocks--">isNoEmptyBlocks()</a></span> - Method in class org.apache.sysds.runtime.meta.<a href="org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/FunctionStatementBlock.html#isNondeterministic--">isNondeterministic()</a></span> - Method in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/FunctionStatementBlock.html" title="class in org.apache.sysds.parser">FunctionStatementBlock</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/StatementBlock.html#isNondeterministic--">isNondeterministic()</a></span> - Method in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a></dt>
@@ -18066,10 +19343,19 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isNotMatrixVectorBinaryOperation-org.apache.sysds.hops.Hop-">isNotMatrixVectorBinaryOperation(Hop)</a></span> - Static method in class org.apache.sysds.hops.rewrite.<a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html" title="class in org.apache.sysds.hops.rewrite">HopRewriteUtils</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/cplan/CNodeBinary.BinType.html#isNotSupportedBySpoofCUDA--">isNotSupportedBySpoofCUDA()</a></span> - Method in enum org.apache.sysds.hops.codegen.cplan.<a href="org/apache/sysds/hops/codegen/cplan/CNodeBinary.BinType.html" title="enum in org.apache.sysds.hops.codegen.cplan">CNodeBinary.BinType</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/cplan/CNodeUnary.UnaryType.html#isNotSupportedBySpoofCUDA--">isNotSupportedBySpoofCUDA()</a></span> - Method in enum org.apache.sysds.hops.codegen.cplan.<a href="org/apache/sysds/hops/codegen/cplan/CNodeUnary.UnaryType.html" title="enum in org.apache.sysds.hops.codegen.cplan">CNodeUnary.UnaryType</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/LineageCacheEntry.html#isNullVal--">isNullVal()</a></span> - Method in class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageCacheEntry.html" title="class in org.apache.sysds.runtime.lineage">LineageCacheEntry</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/common/Types.ValueType.html#isNumeric--">isNumeric()</a></span> - Method in enum org.apache.sysds.common.<a href="org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/codegen/CodegenUtils.html#isNumeric-java.lang.String-">isNumeric(String)</a></span> - Static method in class org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/CodegenUtils.html" title="class in org.apache.sysds.runtime.codegen">CodegenUtils</a></dt>
+<dd>
+<div class="block">Extension of org.apache.commons.lang.StringUtils
+ to account for negatives and decimals.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/data/DenseBlock.html#isNumeric--">isNumeric()</a></span> - Method in class org.apache.sysds.runtime.data.<a href="org/apache/sysds/runtime/data/DenseBlock.html" title="class in org.apache.sysds.runtime.data">DenseBlock</a></dt>
 <dd>
 <div class="block">Indicates if the dense block is numeric.</div>
@@ -18114,8 +19400,12 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isOuterProductLikeMM-org.apache.sysds.hops.Hop-">isOuterProductLikeMM(Hop)</a></span> - Static method in class org.apache.sysds.hops.rewrite.<a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html" title="class in org.apache.sysds.hops.rewrite">HopRewriteUtils</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/LibMatrixMult.html#isOuterProductTSMM-int-int-boolean-">isOuterProductTSMM(int, int, boolean)</a></span> - Static method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/LibMatrixMult.html" title="class in org.apache.sysds.runtime.matrix.data">LibMatrixMult</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/Hop.html#isOutputEmptyBlocks--">isOutputEmptyBlocks()</a></span> - Method in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/LineageCacheConfig.html#isOutputFederated-org.apache.sysds.runtime.instructions.Instruction-org.apache.sysds.runtime.instructions.cp.Data-">isOutputFederated(Instruction, Data)</a></span> - Static method in class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageCacheConfig.html" title="class in org.apache.sysds.runtime.lineage">LineageCacheConfig</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/DnnParameters.html#isOutputThreadSafe--">isOutputThreadSafe()</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/DnnParameters.html" title="class in org.apache.sysds.runtime.matrix.data">DnnParameters</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#isOverlapping--">isOverlapping()</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></dt>
@@ -18150,10 +19440,14 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/lops/Data.html#isPersistentWrite--">isPersistentWrite()</a></span> - Method in class org.apache.sysds.lops.<a href="org/apache/sysds/lops/Data.html" title="class in org.apache.sysds.lops">Data</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/LineageItem.html#isPlaceholder--">isPlaceholder()</a></span> - Method in class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/template/CPlanMemoTable.MemoTableEntry.html#isPlanRef-int-">isPlanRef(int)</a></span> - Method in class org.apache.sysds.hops.codegen.template.<a href="org/apache/sysds/hops/codegen/template/CPlanMemoTable.MemoTableEntry.html" title="class in org.apache.sysds.hops.codegen.template">CPlanMemoTable.MemoTableEntry</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/BinaryOp.html#isPPredOperation--">isPPredOperation()</a></span> - Method in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/BinaryOp.html" title="class in org.apache.sysds.hops">BinaryOp</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/FunctionOp.html#isPseudoFunctionCall--">isPseudoFunctionCall()</a></span> - Method in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/FunctionOp.html" title="class in org.apache.sysds.hops">FunctionOp</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/common/Types.ValueType.html#isPseudoNumeric--">isPseudoNumeric()</a></span> - Method in enum org.apache.sysds.common.<a href="org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/context/SparkExecutionContext.html#isRDDCached-int-">isRDDCached(int)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.context.<a href="org/apache/sysds/runtime/controlprogram/context/SparkExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">SparkExecutionContext</a></dt>
@@ -18206,12 +19500,16 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/recompile/Recompiler.ResetType.html#isReset--">isReset()</a></span> - Method in enum org.apache.sysds.hops.recompile.<a href="org/apache/sysds/hops/recompile/Recompiler.ResetType.html" title="enum in org.apache.sysds.hops.recompile">Recompiler.ResetType</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/recompile/RecompileStatus.html#isReset--">isReset()</a></span> - Method in class org.apache.sysds.hops.recompile.<a href="org/apache/sysds/hops/recompile/RecompileStatus.html" title="class in org.apache.sysds.hops.recompile">RecompileStatus</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/LineageCacheConfig.html#isReusable-org.apache.sysds.runtime.instructions.Instruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">isReusable(Instruction, ExecutionContext)</a></span> - Static method in class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageCacheConfig.html" title="class in org.apache.sysds.runtime.lineage">LineageCacheConfig</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/StatementBlock.html#isRewritableFunctionCall-org.apache.sysds.parser.Statement-org.apache.sysds.parser.DMLProgram-">isRewritableFunctionCall(Statement, DMLProgram)</a></span> - Method in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/lops/MapMult.CacheType.html#isRight--">isRight()</a></span> - Method in enum org.apache.sysds.lops.<a href="org/apache/sysds/lops/MapMult.CacheType.html" title="enum in org.apache.sysds.lops">MapMult.CacheType</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/lops/MMTSJ.MMTSJType.html#isRight--">isRight()</a></span> - Method in enum org.apache.sysds.lops.<a href="org/apache/sysds/lops/MMTSJ.MMTSJType.html" title="enum in org.apache.sysds.lops">MMTSJ.MMTSJType</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/lops/WeightedDivMM.WDivMMType.html#isRight--">isRight()</a></span> - Method in enum org.apache.sysds.lops.<a href="org/apache/sysds/lops/WeightedDivMM.WDivMMType.html" title="enum in org.apache.sysds.lops">WeightedDivMM.WDivMMType</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html#isRowAggregate--">isRowAggregate()</a></span> - Method in class org.apache.sysds.runtime.matrix.operators.<a href="org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a></dt>
@@ -18228,6 +19526,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/LeftIndexingOp.html#isRowLowerEqualsUpper--">isRowLowerEqualsUpper()</a></span> - Method in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/LeftIndexingOp.html" title="class in org.apache.sysds.hops">LeftIndexingOp</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/federated/FederationMap.FType.html#isRowPartitioned--">isRowPartitioned()</a></span> - Method in enum org.apache.sysds.runtime.controlprogram.federated.<a href="org/apache/sysds/runtime/controlprogram/federated/FederationMap.FType.html" title="enum in org.apache.sysds.runtime.controlprogram.federated">FederationMap.FType</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/common/Types.CorrectionLocationType.html#isRows--">isRows()</a></span> - Method in enum org.apache.sysds.common.<a href="org/apache/sysds/common/Types.CorrectionLocationType.html" title="enum in org.apache.sysds.common">Types.CorrectionLocationType</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/codegen/SpoofRowwise.RowType.html#isRowTypeB1--">isRowTypeB1()</a></span> - Method in enum org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/SpoofRowwise.RowType.html" title="enum in org.apache.sysds.runtime.codegen">SpoofRowwise.RowType</a></dt>
@@ -18272,15 +19572,17 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/common/Types.OpOp1.html#isScalarOutput--">isScalarOutput()</a></span> - Method in enum org.apache.sysds.common.<a href="org/apache/sysds/common/Types.OpOp1.html" title="enum in org.apache.sysds.common">Types.OpOp1</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/LineageCacheEntry.html#isScalarValue--">isScalarValue()</a></span> - Method in class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageCacheEntry.html" title="class in org.apache.sysds.runtime.lineage">LineageCacheEntry</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/common/Builtins.html#isScript--">isScript()</a></span> - Method in enum org.apache.sysds.common.<a href="org/apache/sysds/common/Builtins.html" title="enum in org.apache.sysds.common">Builtins</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/LineageCacheConfig.html#isSetSpill--">isSetSpill()</a></span> - Static method in class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageCacheConfig.html" title="class in org.apache.sysds.runtime.lineage">LineageCacheConfig</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/caching/ByteBuffer.html#isShallow--">isShallow()</a></span> - Method in class org.apache.sysds.runtime.controlprogram.caching.<a href="org/apache/sysds/runtime/controlprogram/caching/ByteBuffer.html" title="class in org.apache.sysds.runtime.controlprogram.caching">ByteBuffer</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#isShallowSerialize--">isShallowSerialize()</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">AbstractCompressedMatrixBlock</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#isShallowSerialize--">isShallowSerialize()</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#isShallowSerialize-boolean-">isShallowSerialize(boolean)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">AbstractCompressedMatrixBlock</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#isShallowSerialize-boolean-">isShallowSerialize(boolean)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html#isShallowSerialize--">isShallowSerialize()</a></span> - Method in interface org.apache.sysds.runtime.controlprogram.caching.<a href="org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html" title="interface in org.apache.sysds.runtime.controlprogram.caching">CacheBlock</a></dt>
 <dd>
@@ -18333,6 +19635,8 @@
 <dd>
 <div class="block">Indicates if the given index range only covers a single blocks of the inputs matrix.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/LibMatrixNative.html#isSinglePrecision--">isSinglePrecision()</a></span> - Static method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/LibMatrixNative.html" title="class in org.apache.sysds.runtime.matrix.data">LibMatrixNative</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#isSingleUncompressedGroup--">isSingleUncompressedGroup()</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isSizeExpressionOf-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-boolean-">isSizeExpressionOf(Hop, Hop, boolean)</a></span> - Static method in class org.apache.sysds.hops.rewrite.<a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html" title="class in org.apache.sysds.hops.rewrite">HopRewriteUtils</a></dt>
@@ -18373,6 +19677,8 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/data/SparseBlockFactory.html#isSparseBlockType-org.apache.sysds.runtime.data.SparseBlock-org.apache.sysds.runtime.data.SparseBlock.Type-">isSparseBlockType(SparseBlock, SparseBlock.Type)</a></span> - Static method in class org.apache.sysds.runtime.data.<a href="org/apache/sysds/runtime/data/SparseBlockFactory.html" title="class in org.apache.sysds.runtime.data">SparseBlockFactory</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/LibMatrixMult.html#isSparseOutputMatrixMult-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">isSparseOutputMatrixMult(MatrixBlock, MatrixBlock)</a></span> - Static method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/LibMatrixMult.html" title="class in org.apache.sysds.runtime.matrix.data">LibMatrixMult</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html#isSparsePermutationMatrix--">isSparsePermutationMatrix()</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/cplan/CNodeCell.html#isSparseSafe--">isSparseSafe()</a></span> - Method in class org.apache.sysds.hops.codegen.cplan.<a href="org/apache/sysds/hops/codegen/cplan/CNodeCell.html" title="class in org.apache.sysds.hops.codegen.cplan">CNodeCell</a></dt>
@@ -18387,6 +19693,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/cplan/CNodeUnary.UnaryType.html#isSparseSafeScalar--">isSparseSafeScalar()</a></span> - Method in enum org.apache.sysds.hops.codegen.cplan.<a href="org/apache/sysds/hops/codegen/cplan/CNodeUnary.UnaryType.html" title="enum in org.apache.sysds.hops.codegen.cplan">CNodeUnary.UnaryType</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/UtilFunctions.html#isSpecial-double-">isSpecial(double)</a></span> - Static method in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/UtilFunctions.html" title="class in org.apache.sysds.runtime.util">UtilFunctions</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/StatementBlock.html#isSplitDag--">isSplitDag()</a></span> - Method in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/api/mlcontext/MLContext.html#isStatistics--">isStatistics()</a></span> - Method in class org.apache.sysds.api.mlcontext.<a href="org/apache/sysds/api/mlcontext/MLContext.html" title="class in org.apache.sysds.api.mlcontext">MLContext</a></dt>
@@ -18408,6 +19716,26 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isSumSq-org.apache.sysds.hops.Hop-">isSumSq(Hop)</a></span> - Static method in class org.apache.sysds.hops.rewrite.<a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html" title="class in org.apache.sysds.hops.rewrite">HopRewriteUtils</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/cplan/CNode.html#isSupported-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">isSupported(SpoofCompiler.GeneratorAPI)</a></span> - Method in class org.apache.sysds.hops.codegen.cplan.<a href="org/apache/sysds/hops/codegen/cplan/CNode.html" title="class in org.apache.sysds.hops.codegen.cplan">CNode</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/cplan/CNodeBinary.html#isSupported-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">isSupported(SpoofCompiler.GeneratorAPI)</a></span> - Method in class org.apache.sysds.hops.codegen.cplan.<a href="org/apache/sysds/hops/codegen/cplan/CNodeBinary.html" title="class in org.apache.sysds.hops.codegen.cplan">CNodeBinary</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/cplan/CNodeCell.html#isSupported-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">isSupported(SpoofCompiler.GeneratorAPI)</a></span> - Method in class org.apache.sysds.hops.codegen.cplan.<a href="org/apache/sysds/hops/codegen/cplan/CNodeCell.html" title="class in org.apache.sysds.hops.codegen.cplan">CNodeCell</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/cplan/CNodeData.html#isSupported-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">isSupported(SpoofCompiler.GeneratorAPI)</a></span> - Method in class org.apache.sysds.hops.codegen.cplan.<a href="org/apache/sysds/hops/codegen/cplan/CNodeData.html" title="class in org.apache.sysds.hops.codegen.cplan">CNodeData</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/cplan/CNodeMultiAgg.html#isSupported-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">isSupported(SpoofCompiler.GeneratorAPI)</a></span> - Method in class org.apache.sysds.hops.codegen.cplan.<a href="org/apache/sysds/hops/codegen/cplan/CNodeMultiAgg.html" title="class in org.apache.sysds.hops.codegen.cplan">CNodeMultiAgg</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/cplan/CNodeNary.html#isSupported-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">isSupported(SpoofCompiler.GeneratorAPI)</a></span> - Method in class org.apache.sysds.hops.codegen.cplan.<a href="org/apache/sysds/hops/codegen/cplan/CNodeNary.html" title="class in org.apache.sysds.hops.codegen.cplan">CNodeNary</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/cplan/CNodeOuterProduct.html#isSupported-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">isSupported(SpoofCompiler.GeneratorAPI)</a></span> - Method in class org.apache.sysds.hops.codegen.cplan.<a href="org/apache/sysds/hops/codegen/cplan/CNodeOuterProduct.html" title="class in org.apache.sysds.hops.codegen.cplan">CNodeOuterProduct</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/cplan/CNodeRow.html#isSupported-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">isSupported(SpoofCompiler.GeneratorAPI)</a></span> - Method in class org.apache.sysds.hops.codegen.cplan.<a href="org/apache/sysds/hops/codegen/cplan/CNodeRow.html" title="class in org.apache.sysds.hops.codegen.cplan">CNodeRow</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/cplan/CNodeTernary.html#isSupported-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">isSupported(SpoofCompiler.GeneratorAPI)</a></span> - Method in class org.apache.sysds.hops.codegen.cplan.<a href="org/apache/sysds/hops/codegen/cplan/CNodeTernary.html" title="class in org.apache.sysds.hops.codegen.cplan">CNodeTernary</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/cplan/CNodeUnary.html#isSupported-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">isSupported(SpoofCompiler.GeneratorAPI)</a></span> - Method in class org.apache.sysds.hops.codegen.cplan.<a href="org/apache/sysds/hops/codegen/cplan/CNodeUnary.html" title="class in org.apache.sysds.hops.codegen.cplan">CNodeUnary</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/LibCommonsMath.html#isSupportedMatrixMatrixOperation-java.lang.String-">isSupportedMatrixMatrixOperation(String)</a></span> - Static method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/LibCommonsMath.html" title="class in org.apache.sysds.runtime.matrix.data">LibCommonsMath</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/LibCommonsMath.html#isSupportedMultiReturnOperation-java.lang.String-">isSupportedMultiReturnOperation(String)</a></span> - Static method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/LibCommonsMath.html" title="class in org.apache.sysds.runtime.matrix.data">LibCommonsMath</a></dt>
@@ -18496,6 +19824,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/template/TemplateUtils.html#isType-org.apache.sysds.hops.codegen.template.TemplateBase.TemplateType-org.apache.sysds.hops.codegen.template.TemplateBase.TemplateType...-">isType(TemplateBase.TemplateType, TemplateBase.TemplateType...)</a></span> - Static method in class org.apache.sysds.hops.codegen.template.<a href="org/apache/sysds/hops/codegen/template/TemplateUtils.html" title="class in org.apache.sysds.hops.codegen.template">TemplateUtils</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/federated/FederationMap.FType.html#isType-org.apache.sysds.runtime.controlprogram.federated.FederationMap.FType-">isType(FederationMap.FType)</a></span> - Method in enum org.apache.sysds.runtime.controlprogram.federated.<a href="org/apache/sysds/runtime/controlprogram/federated/FederationMap.FType.html" title="enum in org.apache.sysds.runtime.controlprogram.federated">FederationMap.FType</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/gpu/context/CSRPointer.html#isUltraSparse-int-int-">isUltraSparse(int, int)</a></span> - Method in class org.apache.sysds.runtime.instructions.gpu.context.<a href="org/apache/sysds/runtime/instructions/gpu/context/CSRPointer.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">CSRPointer</a></dt>
 <dd>
 <div class="block">Check for ultra sparsity</div>
@@ -18574,6 +19904,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isValidOp-org.apache.sysds.common.Types.ParamBuiltinOp-org.apache.sysds.common.Types.ParamBuiltinOp...-">isValidOp(Types.ParamBuiltinOp, Types.ParamBuiltinOp...)</a></span> - Static method in class org.apache.sysds.hops.rewrite.<a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html" title="class in org.apache.sysds.hops.rewrite">HopRewriteUtils</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/fed/UnaryMatrixFEDInstruction.html#isValidOpcode-java.lang.String-">isValidOpcode(String)</a></span> - Static method in class org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/UnaryMatrixFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">UnaryMatrixFEDInstruction</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/common/Types.OpOp2.html#isValidOuter--">isValidOuter()</a></span> - Method in enum org.apache.sysds.common.<a href="org/apache/sysds/common/Types.OpOp2.html" title="enum in org.apache.sysds.common">Types.OpOp2</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isValidOuterBinaryOp-org.apache.sysds.common.Types.OpOp2-">isValidOuterBinaryOp(Types.OpOp2)</a></span> - Static method in class org.apache.sysds.hops.rewrite.<a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html" title="class in org.apache.sysds.hops.rewrite">HopRewriteUtils</a></dt>
@@ -18670,6 +20002,8 @@
 </a>
 <h2 class="title">J</h2>
 <dl>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/UtilFunctions.html#jaccardSim-java.lang.String-java.lang.String-">jaccardSim(String, String)</a></span> - Static method in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/UtilFunctions.html" title="class in org.apache.sysds.runtime.util">UtilFunctions</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/SpoofCompiler.html#JAVA_COMPILER">JAVA_COMPILER</a></span> - Static variable in class org.apache.sysds.hops.codegen.<a href="org/apache/sysds/hops/codegen/SpoofCompiler.html" title="class in org.apache.sysds.hops.codegen">SpoofCompiler</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/api/mlcontext/MLContextConversionUtil.html#javaRDDStringCSVToFrameObject-org.apache.spark.api.java.JavaRDD-">javaRDDStringCSVToFrameObject(JavaRDD&lt;String&gt;)</a></span> - Static method in class org.apache.sysds.api.mlcontext.<a href="org/apache/sysds/api/mlcontext/MLContextConversionUtil.html" title="class in org.apache.sysds.api.mlcontext">MLContextConversionUtil</a></dt>
@@ -18708,6 +20042,14 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/api/jmlc/JMLCUtils.html#JMLCUtils--">JMLCUtils()</a></span> - Constructor for class org.apache.sysds.api.jmlc.<a href="org/apache/sysds/api/jmlc/JMLCUtils.html" title="class in org.apache.sysds.api.jmlc">JMLCUtils</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html#JNI_MAT_ENTRY_SIZE">JNI_MAT_ENTRY_SIZE</a></span> - Static variable in interface org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html" title="interface in org.apache.sysds.runtime.codegen">SpoofCUDAOperator</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/utils/CustomHashMap.html#joinHashMap-org.apache.sysds.runtime.compress.utils.CustomHashMap-">joinHashMap(CustomHashMap)</a></span> - Method in class org.apache.sysds.runtime.compress.utils.<a href="org/apache/sysds/runtime/compress/utils/CustomHashMap.html" title="class in org.apache.sysds.runtime.compress.utils">CustomHashMap</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/utils/CustomHashMap.html#joinHashMaps-org.apache.sysds.runtime.compress.utils.CustomHashMap:A-org.apache.sysds.runtime.compress.utils.CustomHashMap:A-">joinHashMaps(CustomHashMap[], CustomHashMap[])</a></span> - Static method in class org.apache.sysds.runtime.compress.utils.<a href="org/apache/sysds/runtime/compress/utils/CustomHashMap.html" title="class in org.apache.sysds.runtime.compress.utils">CustomHashMap</a></dt>
+<dd>
+<div class="block">Joins the two lists of hashmaps together to form one list containing element wise joins of the hashmaps.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/api/mlcontext/MLContextConversionUtil.html#jsc--">jsc()</a></span> - Static method in class org.apache.sysds.api.mlcontext.<a href="org/apache/sysds/api/mlcontext/MLContextConversionUtil.html" title="class in org.apache.sysds.api.mlcontext">MLContextConversionUtil</a></dt>
 <dd>
 <div class="block">Obtain JavaSparkContext from MLContextProxy.</div>
@@ -18750,6 +20092,14 @@
 <div class="block">Runtime function to perform the summation of squared values using
  the Kahan summation algorithm.</div>
 </dd>
+<dt><a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/KeepDataOnWorkerFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">KeepDataOnWorkerFederatedScheme</span></a> - Class in <a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/package-summary.html">org.apache.sysds.runtime.controlprogram.paramserv.dp</a></dt>
+<dd>
+<div class="block">Keep Data on Worker Federated scheme
+
+ When the parameter server runs in federated mode it cannot pull in the data which is already on the workers.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/KeepDataOnWorkerFederatedScheme.html#KeepDataOnWorkerFederatedScheme--">KeepDataOnWorkerFederatedScheme()</a></span> - Constructor for class org.apache.sysds.runtime.controlprogram.paramserv.dp.<a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/KeepDataOnWorkerFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">KeepDataOnWorkerFederatedScheme</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/utils/DblArrayIntListHashMap.DArrayIListEntry.html#key">key</a></span> - Variable in class org.apache.sysds.runtime.compress.utils.<a href="org/apache/sysds/runtime/compress/utils/DblArrayIntListHashMap.DArrayIListEntry.html" title="class in org.apache.sysds.runtime.compress.utils">DblArrayIntListHashMap.DArrayIListEntry</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/utils/DoubleIntListHashMap.DIListEntry.html#key">key</a></span> - Variable in class org.apache.sysds.runtime.compress.utils.<a href="org/apache/sysds/runtime/compress/utils/DoubleIntListHashMap.DIListEntry.html" title="class in org.apache.sysds.runtime.compress.utils">DoubleIntListHashMap.DIListEntry</a></dt>
@@ -18762,6 +20112,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/LocalVariableMap.html#keySet--">keySet()</a></span> - Method in class org.apache.sysds.runtime.controlprogram.<a href="org/apache/sysds/runtime/controlprogram/LocalVariableMap.html" title="class in org.apache.sysds.runtime.controlprogram">LocalVariableMap</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html#knownParamservFunctions-org.apache.sysds.hops.Hop-">knownParamservFunctions(Hop)</a></span> - Static method in class org.apache.sysds.hops.rewrite.<a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html" title="class in org.apache.sysds.hops.rewrite">HopRewriteUtils</a></dt>
+<dd>&nbsp;</dd>
 </dl>
 <a name="I:L">
 <!--   -->
@@ -18846,9 +20198,9 @@
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/hops/LeftIndexingOp.LeftIndexingMethod.html" title="enum in org.apache.sysds.hops"><span class="typeNameLink">LeftIndexingOp.LeftIndexingMethod</span></a> - Enum in <a href="org/apache/sysds/hops/package-summary.html">org.apache.sysds.hops</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#leftIndexingOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-int-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType-">leftIndexingOperations(MatrixBlock, int, int, int, int, MatrixBlock, MatrixObject.UpdateType)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">AbstractCompressedMatrixBlock</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#leftIndexingOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-int-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType-">leftIndexingOperations(MatrixBlock, int, int, int, int, MatrixBlock, MatrixObject.UpdateType)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#leftIndexingOperations-org.apache.sysds.runtime.instructions.cp.ScalarObject-int-int-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType-">leftIndexingOperations(ScalarObject, int, int, MatrixBlock, MatrixObject.UpdateType)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">AbstractCompressedMatrixBlock</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#leftIndexingOperations-org.apache.sysds.runtime.instructions.cp.ScalarObject-int-int-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType-">leftIndexingOperations(ScalarObject, int, int, MatrixBlock, MatrixObject.UpdateType)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/FrameBlock.html#leftIndexingOperations-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.util.IndexRange-org.apache.sysds.runtime.matrix.data.FrameBlock-">leftIndexingOperations(FrameBlock, IndexRange, FrameBlock)</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></dt>
 <dd>&nbsp;</dd>
@@ -18862,7 +20214,11 @@
 <dd>
 <div class="block">Explicitly allow left indexing for scalars.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html#leftMultByMatrix-double:A-double:A-double:A-int-int-int-int-int-">leftMultByMatrix(double[], double[], double[], int, int, int, int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#leftMultByAggregatedColGroup-org.apache.sysds.runtime.compress.colgroup.ColGroupValue-double:A-int-int-">leftMultByAggregatedColGroup(ColGroupValue, double[], int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></dt>
+<dd>
+<div class="block">Multiply with a matrix on the left.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html#leftMultByMatrix-double:A-double:A-double:A-int-int-int-int-int-">leftMultByMatrix(double[], double[], double[], int, int, int, int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></dt>
 <dd>
 <div class="block">Multiply with a matrix on the left.</div>
 </dd>
@@ -18870,63 +20226,107 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#leftMultByMatrix-double:A-double:A-double:A-int-int-int-int-int-">leftMultByMatrix(double[], double[], double[], int, int, int, int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html#leftMultByMatrix-double:A-double:A-double:A-int-int-int-int-int-">leftMultByMatrix(double[], double[], double[], int, int, int, int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupEmpty</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#leftMultByMatrix-double:A-double:A-double:A-int-int-int-int-int-">leftMultByMatrix(double[], double[], double[], int, int, int, int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOLE</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#leftMultByMatrix-double:A-double:A-double:A-int-int-int-int-int-">leftMultByMatrix(double[], double[], double[], int, int, int, int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupRLE</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html#leftMultByMatrix-double:A-double:A-double:A-int-int-int-int-int-">leftMultByMatrix(double[], double[], double[], int, int, int, int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDC</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html#leftMultByMatrix-double:A-double:A-double:A-int-int-int-int-int-">leftMultByMatrix(double[], double[], double[], int, int, int, int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingle</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html#leftMultByMatrix-double:A-double:A-double:A-int-int-int-int-int-">leftMultByMatrix(double[], double[], double[], int, int, int, int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingleZeros</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#leftMultByMatrix-double:A-double:A-double:A-int-int-int-int-int-">leftMultByMatrix(double[], double[], double[], int, int, int, int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCZeros</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#leftMultByMatrix-double:A-double:A-double:A-int-int-int-int-int-">leftMultByMatrix(double[], double[], double[], int, int, int, int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupUncompressed</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#leftMultByMatrix-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">leftMultByMatrix(MatrixBlock, MatrixBlock)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupUncompressed</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/lib/LibLeftMultBy.html#leftMultByMatrix-java.util.List-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-boolean-int-int-boolean-int-org.apache.commons.lang3.tuple.Pair-">leftMultByMatrix(List&lt;ColGroup&gt;, MatrixBlock, MatrixBlock, boolean, boolean, int, int, boolean, int, Pair&lt;Integer, int[]&gt;)</a></span> - Static method in class org.apache.sysds.runtime.compress.lib.<a href="org/apache/sysds/runtime/compress/lib/LibLeftMultBy.html" title="class in org.apache.sysds.runtime.compress.lib">LibLeftMultBy</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/lib/CLALibLeftMultBy.html#leftMultByMatrix-org.apache.sysds.runtime.compress.CompressedMatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">leftMultByMatrix(CompressedMatrixBlock, MatrixBlock, MatrixBlock, int)</a></span> - Static method in class org.apache.sysds.runtime.compress.lib.<a href="org/apache/sysds/runtime/compress/lib/CLALibLeftMultBy.html" title="class in org.apache.sysds.runtime.compress.lib">CLALibLeftMultBy</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html#leftMultByRowVector-double:A-double:A-int-">leftMultByRowVector(double[], double[], int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/lib/CLALibLeftMultBy.html#leftMultByMatrixTransposed-org.apache.sysds.runtime.compress.CompressedMatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">leftMultByMatrixTransposed(CompressedMatrixBlock, MatrixBlock, MatrixBlock, int)</a></span> - Static method in class org.apache.sysds.runtime.compress.lib.<a href="org/apache/sysds/runtime/compress/lib/CLALibLeftMultBy.html" title="class in org.apache.sysds.runtime.compress.lib">CLALibLeftMultBy</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/lib/CLALibLeftMultBy.html#leftMultByMatrixTransposed-org.apache.sysds.runtime.compress.CompressedMatrixBlock-org.apache.sysds.runtime.compress.CompressedMatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">leftMultByMatrixTransposed(CompressedMatrixBlock, CompressedMatrixBlock, MatrixBlock, int)</a></span> - Static method in class org.apache.sysds.runtime.compress.lib.<a href="org/apache/sysds/runtime/compress/lib/CLALibLeftMultBy.html" title="class in org.apache.sysds.runtime.compress.lib">CLALibLeftMultBy</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html#leftMultByRowVector-double:A-double:A-">leftMultByRowVector(double[], double[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></dt>
 <dd>
 <div class="block">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.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html#leftMultByRowVector-double:A-double:A-int-double:A-">leftMultByRowVector(double[], double[], int, double[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html#leftMultByRowVector-double:A-double:A-int-">leftMultByRowVector(double[], double[], int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></dt>
 <dd>
 <div class="block">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.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#leftMultByRowVector-double:A-double:A-int-">leftMultByRowVector(double[], double[], int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupConst</a></dt>
-<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html#leftMultByRowVector-double:A-double:A-int-double:A-">leftMultByRowVector(double[], double[], int, double[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></dt>
+<dd>
+<div class="block">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.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html#leftMultByRowVector-double:A-double:A-int-double:A-int-">leftMultByRowVector(double[], double[], int, double[], int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></dt>
+<dd>
+<div class="block">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.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#leftMultByRowVector-double:A-double:A-int-double:A-">leftMultByRowVector(double[], double[], int, double[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupConst</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#leftMultByRowVector-double:A-double:A-int-">leftMultByRowVector(double[], double[], int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html#leftMultByRowVector-double:A-double:A-">leftMultByRowVector(double[], double[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupEmpty</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#leftMultByRowVector-double:A-double:A-int-double:A-">leftMultByRowVector(double[], double[], int, double[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#leftMultByRowVector-double:A-double:A-int-">leftMultByRowVector(double[], double[], int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOLE</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html#leftMultByRowVector-double:A-double:A-int-double:A-int-">leftMultByRowVector(double[], double[], int, double[], int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupEmpty</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#leftMultByRowVector-double:A-double:A-int-double:A-">leftMultByRowVector(double[], double[], int, double[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOLE</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#leftMultByRowVector-double:A-double:A-int-">leftMultByRowVector(double[], double[], int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupRLE</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#leftMultByRowVector-double:A-double:A-int-double:A-">leftMultByRowVector(double[], double[], int, double[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupRLE</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#leftMultByRowVector-double:A-double:A-int-">leftMultByRowVector(double[], double[], int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupUncompressed</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#leftMultByRowVector-double:A-double:A-">leftMultByRowVector(double[], double[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupUncompressed</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#leftMultByRowVector-double:A-double:A-int-double:A-">leftMultByRowVector(double[], double[], int, double[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupUncompressed</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html#leftMultBySparseMatrix-int-int:A-double:A-double:A-int-double:A-int-int-int-double:A-">leftMultBySparseMatrix(int, int[], double[], double[], int, double[], int, int, int, double[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#leftMultByRowVector-double:A-double:A-int-">leftMultByRowVector(double[], double[], int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupUncompressed</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#leftMultByRowVector-double:A-double:A-int-double:A-int-">leftMultByRowVector(double[], double[], int, double[], int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupUncompressed</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#leftMultByRowVector-double:A-double:A-">leftMultByRowVector(double[], double[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#leftMultByRowVector-double:A-double:A-int-">leftMultByRowVector(double[], double[], int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#leftMultByRowVector-double:A-double:A-int-double:A-">leftMultByRowVector(double[], double[], int, double[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#leftMultByRowVector-double:A-double:A-int-double:A-int-">leftMultByRowVector(double[], double[], int, double[], int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html#leftMultBySelfDiagonalColGroup-double:A-int-">leftMultBySelfDiagonalColGroup(double[], int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#leftMultBySelfDiagonalColGroup-double:A-int-">leftMultBySelfDiagonalColGroup(double[], int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupUncompressed</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#leftMultBySelfDiagonalColGroup-double:A-int-">leftMultBySelfDiagonalColGroup(double[], int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html#leftMultBySparseMatrix-org.apache.sysds.runtime.data.SparseBlock-double:A-double:A-int-int-int-double:A-">leftMultBySparseMatrix(SparseBlock, double[], double[], int, int, int, double[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></dt>
 <dd>
 <div class="block">Multiply with a sparse matrix on the left hand side, and add the values to the output result</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#leftMultBySparseMatrix-int-int:A-double:A-double:A-int-double:A-int-int-int-double:A-">leftMultBySparseMatrix(int, int[], double[], double[], int, double[], int, int, int, double[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupConst</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#leftMultBySparseMatrix-org.apache.sysds.runtime.data.SparseBlock-double:A-double:A-int-int-int-double:A-">leftMultBySparseMatrix(SparseBlock, double[], double[], int, int, int, double[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupConst</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#leftMultBySparseMatrix-int-int:A-double:A-double:A-int-double:A-int-int-int-double:A-">leftMultBySparseMatrix(int, int[], double[], double[], int, double[], int, int, int, double[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#leftMultBySparseMatrix-org.apache.sysds.runtime.data.SparseBlock-double:A-double:A-int-int-int-double:A-">leftMultBySparseMatrix(SparseBlock, double[], double[], int, int, int, double[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#leftMultBySparseMatrix-int-int:A-double:A-double:A-int-double:A-int-int-int-double:A-">leftMultBySparseMatrix(int, int[], double[], double[], int, double[], int, int, int, double[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOLE</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html#leftMultBySparseMatrix-org.apache.sysds.runtime.data.SparseBlock-double:A-double:A-int-int-int-double:A-">leftMultBySparseMatrix(SparseBlock, double[], double[], int, int, int, double[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupEmpty</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#leftMultBySparseMatrix-int-int:A-double:A-double:A-int-double:A-int-int-int-double:A-">leftMultBySparseMatrix(int, int[], double[], double[], int, double[], int, int, int, double[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupRLE</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#leftMultBySparseMatrix-org.apache.sysds.runtime.data.SparseBlock-double:A-double:A-int-int-int-double:A-">leftMultBySparseMatrix(SparseBlock, double[], double[], int, int, int, double[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOLE</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#leftMultBySparseMatrix-int-int:A-double:A-double:A-int-double:A-int-int-int-double:A-">leftMultBySparseMatrix(int, int[], double[], double[], int, double[], int, int, int, double[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupUncompressed</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#leftMultBySparseMatrix-org.apache.sysds.runtime.data.SparseBlock-double:A-double:A-int-int-int-double:A-">leftMultBySparseMatrix(SparseBlock, double[], double[], int, int, int, double[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupRLE</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/lib/LibLeftMultBy.html#leftMultByTransposeSelf-java.util.List-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-int-org.apache.commons.lang3.tuple.Pair-boolean-">leftMultByTransposeSelf(List&lt;ColGroup&gt;, MatrixBlock, int, int, int, int, Pair&lt;Integer, int[]&gt;, boolean)</a></span> - Static method in class org.apache.sysds.runtime.compress.lib.<a href="org/apache/sysds/runtime/compress/lib/LibLeftMultBy.html" title="class in org.apache.sysds.runtime.compress.lib">LibLeftMultBy</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html#leftMultBySparseMatrix-org.apache.sysds.runtime.data.SparseBlock-double:A-double:A-int-int-int-double:A-">leftMultBySparseMatrix(SparseBlock, double[], double[], int, int, int, double[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDC</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/lib/LibLeftMultBy.html#leftMultByVectorTranspose-java.util.List-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-int-org.apache.commons.lang3.tuple.Pair-boolean-">leftMultByVectorTranspose(List&lt;ColGroup&gt;, MatrixBlock, MatrixBlock, boolean, int, Pair&lt;Integer, int[]&gt;, boolean)</a></span> - Static method in class org.apache.sysds.runtime.compress.lib.<a href="org/apache/sysds/runtime/compress/lib/LibLeftMultBy.html" title="class in org.apache.sysds.runtime.compress.lib">LibLeftMultBy</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html#leftMultBySparseMatrix-org.apache.sysds.runtime.data.SparseBlock-double:A-double:A-int-int-int-double:A-">leftMultBySparseMatrix(SparseBlock, double[], double[], int, int, int, double[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingle</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html#leftMultBySparseMatrix-org.apache.sysds.runtime.data.SparseBlock-double:A-double:A-int-int-int-double:A-">leftMultBySparseMatrix(SparseBlock, double[], double[], int, int, int, double[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingleZeros</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#leftMultBySparseMatrix-org.apache.sysds.runtime.data.SparseBlock-double:A-double:A-int-int-int-double:A-">leftMultBySparseMatrix(SparseBlock, double[], double[], int, int, int, double[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCZeros</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#leftMultBySparseMatrix-org.apache.sysds.runtime.data.SparseBlock-double:A-double:A-int-int-int-double:A-">leftMultBySparseMatrix(SparseBlock, double[], double[], int, int, int, double[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupUncompressed</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/lib/CLALibLeftMultBy.html#leftMultByTransposeSelf-java.util.List-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-org.apache.commons.lang3.tuple.Pair-boolean-">leftMultByTransposeSelf(List&lt;AColGroup&gt;, MatrixBlock, int, int, Pair&lt;Integer, int[]&gt;, boolean)</a></span> - Static method in class org.apache.sysds.runtime.compress.lib.<a href="org/apache/sysds/runtime/compress/lib/CLALibLeftMultBy.html" title="class in org.apache.sysds.runtime.compress.lib">CLALibLeftMultBy</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/matrix/operators/LeftScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators"><span class="typeNameLink">LeftScalarOperator</span></a> - Class in <a href="org/apache/sysds/runtime/matrix/operators/package-summary.html">org.apache.sysds.runtime.matrix.operators</a></dt>
 <dd>
@@ -18937,6 +20337,12 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/operators/LeftScalarOperator.html#LeftScalarOperator-org.apache.sysds.runtime.functionobjects.ValueFunction-double-int-">LeftScalarOperator(ValueFunction, double, int)</a></span> - Constructor for class org.apache.sysds.runtime.matrix.operators.<a href="org/apache/sysds/runtime/matrix/operators/LeftScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">LeftScalarOperator</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#legacyBuild-org.apache.sysds.runtime.matrix.data.FrameBlock-">legacyBuild(FrameBlock)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/transform/encode/LegacyEncoder.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">LegacyEncoder</span></a> - Class in <a href="org/apache/sysds/runtime/transform/encode/package-summary.html">org.apache.sysds.runtime.transform.encode</a></dt>
+<dd>
+<div class="block">Base class for all transform encoders providing both a row and block interface for decoding frames to matrices.</div>
+</dd>
 <dt><a href="org/apache/sysds/runtime/functionobjects/LessThan.html" title="class in org.apache.sysds.runtime.functionobjects"><span class="typeNameLink">LessThan</span></a> - Class in <a href="org/apache/sysds/runtime/functionobjects/package-summary.html">org.apache.sysds.runtime.functionobjects</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/functionobjects/LessThanEquals.html" title="class in org.apache.sysds.runtime.functionobjects"><span class="typeNameLink">LessThanEquals</span></a> - Class in <a href="org/apache/sysds/runtime/functionobjects/package-summary.html">org.apache.sysds.runtime.functionobjects</a></dt>
@@ -18945,19 +20351,13 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/ProgramConverter.html#LEVELOUT">LEVELOUT</a></span> - Static variable in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/ProgramConverter.html" title="class in org.apache.sysds.runtime.util">ProgramConverter</a></dt>
 <dd>&nbsp;</dd>
-<dt><a href="org/apache/sysds/runtime/compress/lib/LibBinaryCellOp.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">LibBinaryCellOp</span></a> - Class in <a href="org/apache/sysds/runtime/compress/lib/package-summary.html">org.apache.sysds.runtime.compress.lib</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/lib/LibBinaryCellOp.html#LibBinaryCellOp--">LibBinaryCellOp()</a></span> - Constructor for class org.apache.sysds.runtime.compress.lib.<a href="org/apache/sysds/runtime/compress/lib/LibBinaryCellOp.html" title="class in org.apache.sysds.runtime.compress.lib">LibBinaryCellOp</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/DMVUtils.html#LevelsExecutor-java.util.Map-org.apache.sysds.runtime.util.DMVUtils.LEVEL_ENUM-">LevelsExecutor(Map&lt;String, Integer&gt;, DMVUtils.LEVEL_ENUM)</a></span> - Static method in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/DMVUtils.html" title="class in org.apache.sysds.runtime.util">DMVUtils</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/matrix/data/LibCommonsMath.html" title="class in org.apache.sysds.runtime.matrix.data"><span class="typeNameLink">LibCommonsMath</span></a> - Class in <a href="org/apache/sysds/runtime/matrix/data/package-summary.html">org.apache.sysds.runtime.matrix.data</a></dt>
 <dd>
 <div class="block">Library for matrix operations that need invocation of 
  Apache Commons Math library.</div>
 </dd>
-<dt><a href="org/apache/sysds/runtime/compress/lib/LibLeftMultBy.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">LibLeftMultBy</span></a> - Class in <a href="org/apache/sysds/runtime/compress/lib/package-summary.html">org.apache.sysds.runtime.compress.lib</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/lib/LibLeftMultBy.html#LibLeftMultBy--">LibLeftMultBy()</a></span> - Constructor for class org.apache.sysds.runtime.compress.lib.<a href="org/apache/sysds/runtime/compress/lib/LibLeftMultBy.html" title="class in org.apache.sysds.runtime.compress.lib">LibLeftMultBy</a></dt>
-<dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/matrix/data/LibMatrixAgg.html" title="class in org.apache.sysds.runtime.matrix.data"><span class="typeNameLink">LibMatrixAgg</span></a> - Class in <a href="org/apache/sysds/runtime/matrix/data/package-summary.html">org.apache.sysds.runtime.matrix.data</a></dt>
 <dd>
 <div class="block">MB:
@@ -19087,14 +20487,10 @@
  Library for selected matrix reorg operations including special cases
  and all combinations of dense and sparse representations.</div>
 </dd>
-<dt><a href="org/apache/sysds/runtime/compress/lib/LibRightMultBy.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">LibRightMultBy</span></a> - Class in <a href="org/apache/sysds/runtime/compress/lib/package-summary.html">org.apache.sysds.runtime.compress.lib</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/lib/LibRightMultBy.html#LibRightMultBy--">LibRightMultBy()</a></span> - Constructor for class org.apache.sysds.runtime.compress.lib.<a href="org/apache/sysds/runtime/compress/lib/LibRightMultBy.html" title="class in org.apache.sysds.runtime.compress.lib">LibRightMultBy</a></dt>
-<dd>&nbsp;</dd>
-<dt><a href="org/apache/sysds/runtime/compress/lib/LibScalar.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">LibScalar</span></a> - Class in <a href="org/apache/sysds/runtime/compress/lib/package-summary.html">org.apache.sysds.runtime.compress.lib</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/lib/LibScalar.html#LibScalar--">LibScalar()</a></span> - Constructor for class org.apache.sysds.runtime.compress.lib.<a href="org/apache/sysds/runtime/compress/lib/LibScalar.html" title="class in org.apache.sysds.runtime.compress.lib">LibScalar</a></dt>
-<dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/matrix/data/LibMatrixTercell.html" title="class in org.apache.sysds.runtime.matrix.data"><span class="typeNameLink">LibMatrixTercell</span></a> - Class in <a href="org/apache/sysds/runtime/matrix/data/package-summary.html">org.apache.sysds.runtime.matrix.data</a></dt>
+<dd>
+<div class="block">Library for ternary cellwise operations.</div>
+</dd>
 <dt><a href="org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html" title="class in org.apache.sysds.runtime.codegen"><span class="typeNameLink">LibSpoofPrimitives</span></a> - Class in <a href="org/apache/sysds/runtime/codegen/package-summary.html">org.apache.sysds.runtime.codegen</a></dt>
 <dd>
 <div class="block">This library contains all vector primitives that are used in 
@@ -19143,6 +20539,10 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/api/DMLScript.html#LINEAGE_DEDUP">LINEAGE_DEDUP</a></span> - Static variable in class org.apache.sysds.api.<a href="org/apache/sysds/api/DMLScript.html" title="class in org.apache.sysds.api">DMLScript</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/api/DMLOptions.html#lineage_estimate">lineage_estimate</a></span> - Variable in class org.apache.sysds.api.<a href="org/apache/sysds/api/DMLOptions.html" title="class in org.apache.sysds.api">DMLOptions</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/api/DMLScript.html#LINEAGE_ESTIMATE">LINEAGE_ESTIMATE</a></span> - Static variable in class org.apache.sysds.api.<a href="org/apache/sysds/api/DMLScript.html" title="class in org.apache.sysds.api">DMLScript</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/api/DMLScript.html#LINEAGE_POLICY">LINEAGE_POLICY</a></span> - Static variable in class org.apache.sysds.api.<a href="org/apache/sysds/api/DMLScript.html" title="class in org.apache.sysds.api">DMLScript</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/api/DMLScript.html#LINEAGE_REUSE">LINEAGE_REUSE</a></span> - Static variable in class org.apache.sysds.api.<a href="org/apache/sysds/api/DMLScript.html" title="class in org.apache.sysds.api">DMLScript</a></dt>
@@ -19167,6 +20567,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/LineageCacheEviction.html#LineageCacheEviction--">LineageCacheEviction()</a></span> - Constructor for class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageCacheEviction.html" title="class in org.apache.sysds.runtime.lineage">LineageCacheEviction</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/conf/DMLConfig.html#LINEAGECACHESPILL">LINEAGECACHESPILL</a></span> - Static variable in class org.apache.sysds.conf.<a href="org/apache/sysds/conf/DMLConfig.html" title="class in org.apache.sysds.conf">DMLConfig</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/lineage/LineageCacheStatistics.html" title="class in org.apache.sysds.runtime.lineage"><span class="typeNameLink">LineageCacheStatistics</span></a> - Class in <a href="org/apache/sysds/runtime/lineage/package-summary.html">org.apache.sysds.runtime.lineage</a></dt>
 <dd>
 <div class="block">This singleton provides basic lineage caching statistics in CP.</div>
@@ -19185,6 +20587,14 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/LineageDedupUtils.html#LineageDedupUtils--">LineageDedupUtils()</a></span> - Constructor for class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageDedupUtils.html" title="class in org.apache.sysds.runtime.lineage">LineageDedupUtils</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/lineage/LineageEstimator.html" title="class in org.apache.sysds.runtime.lineage"><span class="typeNameLink">LineageEstimator</span></a> - Class in <a href="org/apache/sysds/runtime/lineage/package-summary.html">org.apache.sysds.runtime.lineage</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/LineageEstimator.html#LineageEstimator--">LineageEstimator()</a></span> - Constructor for class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageEstimator.html" title="class in org.apache.sysds.runtime.lineage">LineageEstimator</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/lineage/LineageEstimatorStatistics.html" title="class in org.apache.sysds.runtime.lineage"><span class="typeNameLink">LineageEstimatorStatistics</span></a> - Class in <a href="org/apache/sysds/runtime/lineage/package-summary.html">org.apache.sysds.runtime.lineage</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/LineageEstimatorStatistics.html#LineageEstimatorStatistics--">LineageEstimatorStatistics()</a></span> - Constructor for class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageEstimatorStatistics.html" title="class in org.apache.sysds.runtime.lineage">LineageEstimatorStatistics</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage"><span class="typeNameLink">LineageItem</span></a> - Class in <a href="org/apache/sysds/runtime/lineage/package-summary.html">org.apache.sysds.runtime.lineage</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/LineageItem.html#LineageItem--">LineageItem()</a></span> - Constructor for class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a></dt>
@@ -19199,6 +20609,10 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/LineageItem.html#LineageItem-java.lang.String-java.lang.String-org.apache.sysds.runtime.lineage.LineageItem:A-">LineageItem(String, String, LineageItem[])</a></span> - Constructor for class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/LineageItem.html#LineageItem-java.lang.String-org.apache.sysds.runtime.lineage.LineageItem-org.apache.sysds.runtime.lineage.LineageItem:A-">LineageItem(String, LineageItem, LineageItem[])</a></span> - Constructor for class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/LineageItem.html#LineageItem-java.lang.String-org.apache.sysds.runtime.lineage.LineageItem-int-org.apache.sysds.runtime.lineage.LineageItem:A-">LineageItem(String, LineageItem, int, LineageItem[])</a></span> - Constructor for class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/LineageItem.html#LineageItem-org.apache.sysds.runtime.lineage.LineageItem-">LineageItem(LineageItem)</a></span> - Constructor for class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/LineageItem.html#LineageItem-long-org.apache.sysds.runtime.lineage.LineageItem-">LineageItem(long, LineageItem)</a></span> - Constructor for class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a></dt>
@@ -19259,12 +20673,18 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/ProgramConverter.html#LIST_ELEMENT_DELIM">LIST_ELEMENT_DELIM</a></span> - Static variable in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/ProgramConverter.html" title="class in org.apache.sysds.runtime.util">ProgramConverter</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/privacy/propagation/ListAppendPropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation"><span class="typeNameLink">ListAppendPropagator</span></a> - Class in <a href="org/apache/sysds/runtime/privacy/propagation/package-summary.html">org.apache.sysds.runtime.privacy.propagation</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/privacy/propagation/ListAppendPropagator.html#ListAppendPropagator-org.apache.sysds.runtime.instructions.cp.ListObject-org.apache.sysds.runtime.privacy.PrivacyConstraint-org.apache.sysds.runtime.instructions.cp.ListObject-org.apache.sysds.runtime.privacy.PrivacyConstraint-">ListAppendPropagator(ListObject, PrivacyConstraint, ListObject, PrivacyConstraint)</a></span> - Constructor for class org.apache.sysds.runtime.privacy.propagation.<a href="org/apache/sysds/runtime/privacy/propagation/ListAppendPropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation">ListAppendPropagator</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/instructions/cp/ListAppendRemoveCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp"><span class="typeNameLink">ListAppendRemoveCPInstruction</span></a> - Class in <a href="org/apache/sysds/runtime/instructions/cp/package-summary.html">org.apache.sysds.runtime.instructions.cp</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/instructions/cp/ListIndexingCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp"><span class="typeNameLink">ListIndexingCPInstruction</span></a> - Class in <a href="org/apache/sysds/runtime/instructions/cp/package-summary.html">org.apache.sysds.runtime.instructions.cp</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/instructions/cp/ListObject.html" title="class in org.apache.sysds.runtime.instructions.cp"><span class="typeNameLink">ListObject</span></a> - Class in <a href="org/apache/sysds/runtime/instructions/cp/package-summary.html">org.apache.sysds.runtime.instructions.cp</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/cp/ListObject.html#ListObject--">ListObject()</a></span> - Constructor for class org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/ListObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ListObject</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/cp/ListObject.html#ListObject-java.util.List-">ListObject(List&lt;Data&gt;)</a></span> - Constructor for class org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/ListObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ListObject</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/cp/ListObject.html#ListObject-java.util.List-java.util.List-">ListObject(List&lt;Data&gt;, List&lt;String&gt;)</a></span> - Constructor for class org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/ListObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ListObject</a></dt>
@@ -19273,6 +20693,10 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/cp/ListObject.html#ListObject-org.apache.sysds.runtime.instructions.cp.ListObject-">ListObject(ListObject)</a></span> - Constructor for class org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/ListObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ListObject</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/privacy/propagation/ListRemovePropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation"><span class="typeNameLink">ListRemovePropagator</span></a> - Class in <a href="org/apache/sysds/runtime/privacy/propagation/package-summary.html">org.apache.sysds.runtime.privacy.propagation</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/privacy/propagation/ListRemovePropagator.html#ListRemovePropagator-org.apache.sysds.runtime.instructions.cp.ListObject-org.apache.sysds.runtime.privacy.PrivacyConstraint-org.apache.sysds.runtime.instructions.cp.ScalarObject-org.apache.sysds.runtime.privacy.PrivacyConstraint-">ListRemovePropagator(ListObject, PrivacyConstraint, ScalarObject, PrivacyConstraint)</a></span> - Constructor for class org.apache.sysds.runtime.privacy.propagation.<a href="org/apache/sysds/runtime/privacy/propagation/ListRemovePropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation">ListRemovePropagator</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/lops/Lop.html#LITERAL_PREFIX">LITERAL_PREFIX</a></span> - Static variable in class org.apache.sysds.lops.<a href="org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/Instruction.html#LITERAL_PREFIX">LITERAL_PREFIX</a></span> - Static variable in class org.apache.sysds.runtime.instructions.<a href="org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></dt>
@@ -19311,6 +20735,16 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/dml/DmlSyntacticValidator.html#loadAndParseBuiltinFunction-java.lang.String-java.lang.String-">loadAndParseBuiltinFunction(String, String)</a></span> - Static method in class org.apache.sysds.parser.dml.<a href="org/apache/sysds/parser/dml/DmlSyntacticValidator.html" title="class in org.apache.sysds.parser.dml">DmlSyntacticValidator</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/utils/NativeHelper.html#loadBLAS-java.lang.String-java.lang.String-java.lang.String-">loadBLAS(String, String, String)</a></span> - Static method in class org.apache.sysds.utils.<a href="org/apache/sysds/utils/NativeHelper.html" title="class in org.apache.sysds.utils">NativeHelper</a></dt>
+<dd>
+<div class="block">Attempts to load native BLAS</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/utils/NativeHelper.html#loadLibraryHelperFromResource-java.lang.String-">loadLibraryHelperFromResource(String)</a></span> - Static method in class org.apache.sysds.utils.<a href="org/apache/sysds/utils/NativeHelper.html" title="class in org.apache.sysds.utils">NativeHelper</a></dt>
+<dd>
+<div class="block">Attempts to load the JNI shared library from the sysds jar</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/SpoofCompiler.html#loadNativeCodeGenerator-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">loadNativeCodeGenerator(SpoofCompiler.GeneratorAPI)</a></span> - Static method in class org.apache.sysds.hops.codegen.<a href="org/apache/sysds/hops/codegen/SpoofCompiler.html" title="class in org.apache.sysds.hops.codegen">SpoofCompiler</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/utils/SystemDSLoaderUtils.html#loadSystemDS-java.lang.String-">loadSystemDS(String)</a></span> - Method in class org.apache.sysds.utils.<a href="org/apache/sysds/utils/SystemDSLoaderUtils.html" title="class in org.apache.sysds.utils">SystemDSLoaderUtils</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/conf/DMLConfig.html#LOCAL_SPARK_NUM_THREADS">LOCAL_SPARK_NUM_THREADS</a></span> - Static variable in class org.apache.sysds.conf.<a href="org/apache/sysds/conf/DMLConfig.html" title="class in org.apache.sysds.conf">DMLConfig</a></dt>
@@ -19357,10 +20791,16 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/LocalVariableMap.html#LocalVariableMap-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">LocalVariableMap(LocalVariableMap)</a></span> - Constructor for class org.apache.sysds.runtime.controlprogram.<a href="org/apache/sysds/runtime/controlprogram/LocalVariableMap.html" title="class in org.apache.sysds.runtime.controlprogram">LocalVariableMap</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html#LOG">LOG</a></span> - Static variable in interface org.apache.sysds.runtime.compress.colgroup.pre.<a href="org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/LibMatrixCUDA.html#log-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.runtime.instructions.gpu.context.GPUContext-java.lang.String-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-java.lang.String-">log(ExecutionContext, GPUContext, String, MatrixObject, String)</a></span> - Static method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/LibMatrixCUDA.html" title="class in org.apache.sysds.runtime.matrix.data">LibMatrixCUDA</a></dt>
 <dd>
 <div class="block">Performs an "log" operation on a matrix on the GPU</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/utils/MemoryEstimates.html#longArrayCost-int-">longArrayCost(int)</a></span> - Static method in class org.apache.sysds.utils.<a href="org/apache/sysds/utils/MemoryEstimates.html" title="class in org.apache.sysds.utils">MemoryEstimates</a></dt>
+<dd>
+<div class="block">Get the worst case memory usage for an array of longs</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/spark/utils/FrameRDDConverterUtils.LongFrameToLongWritableFrameFunction.html#LongFrameToLongWritableFrameFunction--">LongFrameToLongWritableFrameFunction()</a></span> - Constructor for class org.apache.sysds.runtime.instructions.spark.utils.<a href="org/apache/sysds/runtime/instructions/spark/utils/FrameRDDConverterUtils.LongFrameToLongWritableFrameFunction.html" title="class in org.apache.sysds.runtime.instructions.spark.utils">FrameRDDConverterUtils.LongFrameToLongWritableFrameFunction</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/UtilFunctions.html#longHashCode-long-">longHashCode(long)</a></span> - Static method in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/UtilFunctions.html" title="class in org.apache.sysds.runtime.util">UtilFunctions</a></dt>
@@ -19434,6 +20874,8 @@
 <dd>
 <div class="block">True if lossy compression is enabled</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/DMVUtils.html#LOWER">LOWER</a></span> - Static variable in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/DMVUtils.html" title="class in org.apache.sysds.runtime.util">DMVUtils</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/LineageItemUtils.html#LPLACEHOLDER">LPLACEHOLDER</a></span> - Static variable in class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageItemUtils.html" title="class in org.apache.sysds.runtime.lineage">LineageItemUtils</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/LineageRecomputeUtils.html#LPLACEHOLDER">LPLACEHOLDER</a></span> - Static variable in class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageRecomputeUtils.html" title="class in org.apache.sysds.runtime.lineage">LineageRecomputeUtils</a></dt>
@@ -19477,6 +20919,12 @@
 <div class="block">Helper method which keeps track of the heaviest weight objects (by total memory used)
  throughout execution of the program.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/lib/BitmapLossyEncoder.html#makeBitmapLossy-org.apache.sysds.runtime.compress.utils.Bitmap-">makeBitmapLossy(Bitmap)</a></span> - Static method in class org.apache.sysds.runtime.compress.lib.<a href="org/apache/sysds/runtime/compress/lib/BitmapLossyEncoder.html" title="class in org.apache.sysds.runtime.compress.lib">BitmapLossyEncoder</a></dt>
+<dd>
+<div class="block">Given a Bitmap try to make a lossy version of the same bitmap.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/QDictionary.html#makeDoubleDictionary--">makeDoubleDictionary()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/QDictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">QDictionary</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/gpu/context/GPUMemoryManager.html#malloc-java.lang.String-long-">malloc(String, long)</a></span> - Method in class org.apache.sysds.runtime.instructions.gpu.context.<a href="org/apache/sysds/runtime/instructions/gpu/context/GPUMemoryManager.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">GPUMemoryManager</a></dt>
 <dd>
 <div class="block">Allocate pointer of the given size in bytes.</div>
@@ -19485,6 +20933,10 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/FrameBlock.html#map-org.apache.sysds.runtime.matrix.data.FrameBlock.FrameMapFunction-">map(FrameBlock.FrameMapFunction)</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/FrameBlock.html#mapDist-org.apache.sysds.runtime.matrix.data.FrameBlock.FrameMapFunction-">mapDist(FrameBlock.FrameMapFunction)</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/FrameBlock.html#mapInplace-java.util.function.Function-">mapInplace(Function&lt;String, String&gt;)</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/instructions/spark/functions/MapInputSignature.html" title="class in org.apache.sysds.runtime.instructions.spark.functions"><span class="typeNameLink">MapInputSignature</span></a> - Class in <a href="org/apache/sysds/runtime/instructions/spark/functions/package-summary.html">org.apache.sysds.runtime.instructions.spark.functions</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/spark/functions/MapInputSignature.html#MapInputSignature--">MapInputSignature()</a></span> - Constructor for class org.apache.sysds.runtime.instructions.spark.functions.<a href="org/apache/sysds/runtime/instructions/spark/functions/MapInputSignature.html" title="class in org.apache.sysds.runtime.instructions.spark.functions">MapInputSignature</a></dt>
@@ -19530,10 +20982,36 @@
 <div class="block">Execute a function for each <code>FederatedRange</code> + <code>FederatedData</code> pair mapping the pairs to
  their new form by directly changing both <code>FederatedRange</code> and <code>FederatedData</code>.</div>
 </dd>
+<dt><a href="org/apache/sysds/runtime/compress/colgroup/pre/MapPreAggregate.html" title="class in org.apache.sysds.runtime.compress.colgroup.pre"><span class="typeNameLink">MapPreAggregate</span></a> - Class in <a href="org/apache/sysds/runtime/compress/colgroup/pre/package-summary.html">org.apache.sysds.runtime.compress.colgroup.pre</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToBit.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping"><span class="typeNameLink">MapToBit</span></a> - Class in <a href="org/apache/sysds/runtime/compress/colgroup/mapping/package-summary.html">org.apache.sysds.runtime.compress.colgroup.mapping</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToBit.html#MapToBit-int-">MapToBit(int)</a></span> - Constructor for class org.apache.sysds.runtime.compress.colgroup.mapping.<a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToBit.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping">MapToBit</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToByte.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping"><span class="typeNameLink">MapToByte</span></a> - Class in <a href="org/apache/sysds/runtime/compress/colgroup/mapping/package-summary.html">org.apache.sysds.runtime.compress.colgroup.mapping</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToByte.html#MapToByte-int-">MapToByte(int)</a></span> - Constructor for class org.apache.sysds.runtime.compress.colgroup.mapping.<a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToByte.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping">MapToByte</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToChar.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping"><span class="typeNameLink">MapToChar</span></a> - Class in <a href="org/apache/sysds/runtime/compress/colgroup/mapping/package-summary.html">org.apache.sysds.runtime.compress.colgroup.mapping</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToChar.html#MapToChar-int-">MapToChar(int)</a></span> - Constructor for class org.apache.sysds.runtime.compress.colgroup.mapping.<a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToChar.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping">MapToChar</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToFactory.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping"><span class="typeNameLink">MapToFactory</span></a> - Class in <a href="org/apache/sysds/runtime/compress/colgroup/mapping/package-summary.html">org.apache.sysds.runtime.compress.colgroup.mapping</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToFactory.html#MapToFactory--">MapToFactory()</a></span> - Constructor for class org.apache.sysds.runtime.compress.colgroup.mapping.<a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToFactory.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping">MapToFactory</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToInt.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping"><span class="typeNameLink">MapToInt</span></a> - Class in <a href="org/apache/sysds/runtime/compress/colgroup/mapping/package-summary.html">org.apache.sysds.runtime.compress.colgroup.mapping</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToInt.html#MapToInt-int-">MapToInt(int)</a></span> - Constructor for class org.apache.sysds.runtime.compress.colgroup.mapping.<a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToInt.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping">MapToInt</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/hops/rewrite/MarkForLineageReuse.html" title="class in org.apache.sysds.hops.rewrite"><span class="typeNameLink">MarkForLineageReuse</span></a> - Class in <a href="org/apache/sysds/hops/rewrite/package-summary.html">org.apache.sysds.hops.rewrite</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/rewrite/MarkForLineageReuse.html#MarkForLineageReuse--">MarkForLineageReuse()</a></span> - Constructor for class org.apache.sysds.hops.rewrite.<a href="org/apache/sysds/hops/rewrite/MarkForLineageReuse.html" title="class in org.apache.sysds.hops.rewrite">MarkForLineageReuse</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/compress/colgroup/tree/MaterializeSort.html" title="class in org.apache.sysds.runtime.compress.colgroup.tree"><span class="typeNameLink">MaterializeSort</span></a> - Class in <a href="org/apache/sysds/runtime/compress/colgroup/tree/package-summary.html">org.apache.sysds.runtime.compress.colgroup.tree</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/tree/MaterializeSort.html#MaterializeSort-int-int-int-">MaterializeSort(int, int, int)</a></span> - Constructor for class org.apache.sysds.runtime.compress.colgroup.tree.<a href="org/apache/sysds/runtime/compress/colgroup/tree/MaterializeSort.html" title="class in org.apache.sysds.runtime.compress.colgroup.tree">MaterializeSort</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/estim/EstimatorBitsetMM.BitsetMatrix.html#matMult-org.apache.sysds.hops.estim.EstimatorBitsetMM.BitsetMatrix-">matMult(EstimatorBitsetMM.BitsetMatrix)</a></span> - Method in class org.apache.sysds.hops.estim.<a href="org/apache/sysds/hops/estim/EstimatorBitsetMM.BitsetMatrix.html" title="class in org.apache.sysds.hops.estim">EstimatorBitsetMM.BitsetMatrix</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/LibMatrixCuMatMult.html#matmult-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.runtime.instructions.gpu.context.GPUContext-java.lang.String-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-java.lang.String-boolean-boolean-">matmult(ExecutionContext, GPUContext, String, MatrixObject, MatrixObject, String, boolean, boolean)</a></span> - Static method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/LibMatrixCuMatMult.html" title="class in org.apache.sysds.runtime.matrix.data">LibMatrixCuMatMult</a></dt>
@@ -19556,6 +21034,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/lops/MatMultCP.html#MatMultCP-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-boolean-boolean-">MatMultCP(Lop, Lop, Types.DataType, Types.ValueType, LopProperties.ExecType, boolean, boolean)</a></span> - Constructor for class org.apache.sysds.lops.<a href="org/apache/sysds/lops/MatMultCP.html" title="class in org.apache.sysds.lops">MatMultCP</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/lops/MatMultCP.html#MatMultCP-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-int-boolean-boolean-">MatMultCP(Lop, Lop, Types.DataType, Types.ValueType, LopProperties.ExecType, int, boolean, boolean)</a></span> - Constructor for class org.apache.sysds.lops.<a href="org/apache/sysds/lops/MatMultCP.html" title="class in org.apache.sysds.lops">MatMultCP</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/LibMatrixCUDA.html#matmultTSMM-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.runtime.instructions.gpu.context.GPUContext-java.lang.String-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-java.lang.String-boolean-">matmultTSMM(ExecutionContext, GPUContext, String, MatrixObject, String, boolean)</a></span> - Static method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/LibMatrixCUDA.html" title="class in org.apache.sysds.runtime.matrix.data">LibMatrixCUDA</a></dt>
 <dd>
 <div class="block">Performs tsmm, A %*% A' or A' %*% A, on GPU by exploiting cublasDsyrk(...)</div>
@@ -19946,6 +21426,11 @@
 <dd>
 <div class="block">Constructor that takes the value type, HDFS filename and associated metadata.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html#MatrixObject-org.apache.sysds.common.Types.ValueType-java.lang.String-org.apache.sysds.runtime.meta.MetaData-org.apache.sysds.runtime.matrix.data.MatrixBlock-">MatrixObject(Types.ValueType, String, MetaData, MatrixBlock)</a></span> - Constructor for class org.apache.sysds.runtime.controlprogram.caching.<a href="org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a></dt>
+<dd>
+<div class="block">Constructor that takes the value type, HDFS filename and associated metadata and a MatrixBlock
+ used for creation after serialization</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html#MatrixObject-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-">MatrixObject(MatrixObject)</a></span> - Constructor for class org.apache.sysds.runtime.controlprogram.caching.<a href="org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a></dt>
 <dd>
 <div class="block">Copy constructor that copies meta data but NO data.</div>
@@ -20043,6 +21528,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/io/MatrixWriterFactory.html#MatrixWriterFactory--">MatrixWriterFactory()</a></span> - Constructor for class org.apache.sysds.runtime.io.<a href="org/apache/sysds/runtime/io/MatrixWriterFactory.html" title="class in org.apache.sysds.runtime.io">MatrixWriterFactory</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#max--">max()</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/spark/utils/RDDAggregateUtils.html#max-org.apache.spark.api.java.JavaPairRDD-">max(JavaPairRDD&lt;MatrixIndexes, MatrixBlock&gt;)</a></span> - Static method in class org.apache.sysds.runtime.instructions.spark.utils.<a href="org/apache/sysds/runtime/instructions/spark/utils/RDDAggregateUtils.html" title="class in org.apache.sysds.runtime.instructions.spark.utils">RDDAggregateUtils</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html#max--">max()</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></dt>
@@ -20055,7 +21542,7 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/OptimizerUtils.html#MAX_NUMCELLS_CP_DENSE">MAX_NUMCELLS_CP_DENSE</a></span> - Static variable in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/OptimizerUtils.html" title="class in org.apache.sysds.hops">OptimizerUtils</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderBin.html#MAX_PREFIX">MAX_PREFIX</a></span> - Static variable in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderBin.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderBin</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderBin.html#MAX_PREFIX">MAX_PREFIX</a></span> - Static variable in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderBin.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderBin</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/parfor/opt/OptimizerRuleBased.html#MAX_REPLICATION_FACTOR_EXPORT">MAX_REPLICATION_FACTOR_EXPORT</a></span> - Static variable in class org.apache.sysds.runtime.controlprogram.parfor.opt.<a href="org/apache/sysds/runtime/controlprogram/parfor/opt/OptimizerRuleBased.html" title="class in org.apache.sysds.runtime.controlprogram.parfor.opt">OptimizerRuleBased</a></dt>
 <dd>&nbsp;</dd>
@@ -20161,25 +21648,31 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/StatementBlock.html#mergeable--">mergeable()</a></span> - Method in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/Encoder.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-int-">mergeAt(Encoder, int, int)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#mergeAt-org.apache.sysds.runtime.transform.encode.ColumnEncoder-">mergeAt(ColumnEncoder)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a></dt>
 <dd>
 <div class="block">Merges another encoder, of a compatible type, in after a certain position.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderBin.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-int-">mergeAt(Encoder, int, int)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderBin.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderBin</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderBin.html#mergeAt-org.apache.sysds.runtime.transform.encode.ColumnEncoder-">mergeAt(ColumnEncoder)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderBin.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderBin</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderComposite.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-int-">mergeAt(Encoder, int, int)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderComposite</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html#mergeAt-org.apache.sysds.runtime.transform.encode.ColumnEncoder-">mergeAt(ColumnEncoder)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderComposite</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderDummycode.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-int-">mergeAt(Encoder, int, int)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderDummycode.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderDummycode</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderDummycode.html#mergeAt-org.apache.sysds.runtime.transform.encode.ColumnEncoder-">mergeAt(ColumnEncoder)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderDummycode.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderDummycode</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderFeatureHash.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-int-">mergeAt(Encoder, int, int)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderFeatureHash.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderFeatureHash</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderFeatureHash.html#mergeAt-org.apache.sysds.runtime.transform.encode.ColumnEncoder-">mergeAt(ColumnEncoder)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderFeatureHash.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderFeatureHash</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-int-">mergeAt(Encoder, int, int)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderMVImpute</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderPassThrough.html#mergeAt-org.apache.sysds.runtime.transform.encode.ColumnEncoder-">mergeAt(ColumnEncoder)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderPassThrough.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderPassThrough</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderOmit.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-int-">mergeAt(Encoder, int, int)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderOmit.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderOmit</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderRecode.html#mergeAt-org.apache.sysds.runtime.transform.encode.ColumnEncoder-">mergeAt(ColumnEncoder)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderRecode.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderRecode</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderPassThrough.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-int-">mergeAt(Encoder, int, int)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderPassThrough.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderPassThrough</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html#mergeAt-org.apache.sysds.runtime.transform.encode.LegacyEncoder-int-int-">mergeAt(LegacyEncoder, int, int)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderMVImpute</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderRecode.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-int-">mergeAt(Encoder, int, int)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderRecode.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderRecode</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderOmit.html#mergeAt-org.apache.sysds.runtime.transform.encode.EncoderOmit-int-int-">mergeAt(EncoderOmit, int, int)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderOmit.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderOmit</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#mergeAt-org.apache.sysds.runtime.transform.encode.LegacyEncoder-int-int-">mergeAt(LegacyEncoder, int, int)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/LegacyEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">LegacyEncoder</a></dt>
+<dd>
+<div class="block">Merges another encoder, of a compatible type, in after a certain position.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-int-">mergeAt(Encoder, int, int)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/privacy/propagation/PrivacyPropagator.html#mergeBinary-org.apache.sysds.runtime.privacy.PrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">mergeBinary(PrivacyConstraint, PrivacyConstraint)</a></span> - Static method in class org.apache.sysds.runtime.privacy.propagation.<a href="org/apache/sysds/runtime/privacy/propagation/PrivacyPropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation">PrivacyPropagator</a></dt>
 <dd>&nbsp;</dd>
@@ -20207,6 +21700,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/privacy/propagation/PrivacyPropagator.html#mergeNary-org.apache.sysds.runtime.privacy.PrivacyConstraint:A-">mergeNary(PrivacyConstraint[])</a></span> - Static method in class org.apache.sysds.runtime.privacy.propagation.<a href="org/apache/sysds/runtime/privacy/propagation/PrivacyPropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation">PrivacyPropagator</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#mergeReplace-org.apache.sysds.runtime.transform.encode.MultiColumnEncoder-">mergeReplace(MultiColumnEncoder)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/spark/utils/RDDAggregateUtils.html#mergeRowsByKey-org.apache.spark.api.java.JavaPairRDD-">mergeRowsByKey(JavaPairRDD&lt;MatrixIndexes, RowMatrixBlock&gt;)</a></span> - Static method in class org.apache.sysds.runtime.instructions.spark.utils.<a href="org/apache/sysds/runtime/instructions/spark/utils/RDDAggregateUtils.html" title="class in org.apache.sysds.runtime.instructions.spark.utils">RDDAggregateUtils</a></dt>
 <dd>
 <div class="block">Merges disjoint data of all blocks per key.</div>
@@ -20218,6 +21713,10 @@
 <div class="block">Creates a new collection which contains the schema of the current
  frame object concatenated with the schema of the passed frame object.</div>
 </dd>
+<dt><a href="org/apache/sysds/runtime/compress/colgroup/tree/MergeSort.html" title="class in org.apache.sysds.runtime.compress.colgroup.tree"><span class="typeNameLink">MergeSort</span></a> - Class in <a href="org/apache/sysds/runtime/compress/colgroup/tree/package-summary.html">org.apache.sysds.runtime.compress.colgroup.tree</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/tree/MergeSort.html#MergeSort-int-int-int-">MergeSort(int, int, int)</a></span> - Constructor for class org.apache.sysds.runtime.compress.colgroup.tree.<a href="org/apache/sysds/runtime/compress/colgroup/tree/MergeSort.html" title="class in org.apache.sysds.runtime.compress.colgroup.tree">MergeSort</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/DMLProgram.html#mergeStatementBlocks--">mergeStatementBlocks()</a></span> - Method in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/DMLProgram.html" title="class in org.apache.sysds.parser">DMLProgram</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/ForStatement.html#mergeStatementBlocks--">mergeStatementBlocks()</a></span> - Method in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/ForStatement.html" title="class in org.apache.sysds.parser">ForStatement</a></dt>
@@ -20256,17 +21755,23 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/HDFSTool.html#metaDataToString-org.apache.sysds.common.Types.ValueType-org.apache.sysds.common.Types.ValueType:A-org.apache.sysds.common.Types.DataType-org.apache.sysds.runtime.meta.DataCharacteristics-org.apache.sysds.common.Types.FileFormat-org.apache.sysds.runtime.io.FileFormatProperties-org.apache.sysds.runtime.privacy.PrivacyConstraint-">metaDataToString(Types.ValueType, Types.ValueType[], Types.DataType, DataCharacteristics, Types.FileFormat, FileFormatProperties, PrivacyConstraint)</a></span> - Static method in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/HDFSTool.html" title="class in org.apache.sysds.runtime.util">HDFSTool</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/meta/MetaDataUtils.html" title="class in org.apache.sysds.runtime.meta"><span class="typeNameLink">MetaDataUtils</span></a> - Class in <a href="org/apache/sysds/runtime/meta/package-summary.html">org.apache.sysds.runtime.meta</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/meta/MetaDataUtils.html#MetaDataUtils--">MetaDataUtils()</a></span> - Constructor for class org.apache.sysds.runtime.meta.<a href="org/apache/sysds/runtime/meta/MetaDataUtils.html" title="class in org.apache.sysds.runtime.meta">MetaDataUtils</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/meta/DataCharacteristics.html#mightHaveEmptyBlocks--">mightHaveEmptyBlocks()</a></span> - Method in class org.apache.sysds.runtime.meta.<a href="org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/meta/MatrixCharacteristics.html#mightHaveEmptyBlocks--">mightHaveEmptyBlocks()</a></span> - Method in class org.apache.sysds.runtime.meta.<a href="org/apache/sysds/runtime/meta/MatrixCharacteristics.html" title="class in org.apache.sysds.runtime.meta">MatrixCharacteristics</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#min--">min()</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html#min--">min()</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></dt>
 <dd>
 <div class="block">Wrapper method for reduceall-min of a matrix.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/estim/SparsityEstimator.html#MIN_PAR_THRESHOLD">MIN_PAR_THRESHOLD</a></span> - Static variable in class org.apache.sysds.hops.estim.<a href="org/apache/sysds/hops/estim/SparsityEstimator.html" title="class in org.apache.sysds.hops.estim">SparsityEstimator</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderBin.html#MIN_PREFIX">MIN_PREFIX</a></span> - Static variable in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderBin.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderBin</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderBin.html#MIN_PREFIX">MIN_PREFIX</a></span> - Static variable in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderBin.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderBin</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/LineageCacheConfig.html#MIN_SPILL_DATA">MIN_SPILL_DATA</a></span> - Static variable in class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageCacheConfig.html" title="class in org.apache.sysds.runtime.lineage">LineageCacheConfig</a></dt>
 <dd>&nbsp;</dd>
@@ -20289,6 +21794,8 @@
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/functionobjects/Minus.html" title="class in org.apache.sysds.runtime.functionobjects"><span class="typeNameLink">Minus</span></a> - Class in <a href="org/apache/sysds/runtime/functionobjects/package-summary.html">org.apache.sysds.runtime.functionobjects</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/DMVUtils.html#MINUS">MINUS</a></span> - Static variable in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/DMVUtils.html" title="class in org.apache.sysds.runtime.util">DMVUtils</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/functionobjects/Minus1Multiply.html" title="class in org.apache.sysds.runtime.functionobjects"><span class="typeNameLink">Minus1Multiply</span></a> - Class in <a href="org/apache/sysds/runtime/functionobjects/package-summary.html">org.apache.sysds.runtime.functionobjects</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/functionobjects/MinusMultiply.html" title="class in org.apache.sysds.runtime.functionobjects"><span class="typeNameLink">MinusMultiply</span></a> - Class in <a href="org/apache/sysds/runtime/functionobjects/package-summary.html">org.apache.sysds.runtime.functionobjects</a></dt>
@@ -20658,6 +22165,12 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/MultiAssignmentStatement.html#MultiAssignmentStatement-java.util.ArrayList-org.apache.sysds.parser.Expression-">MultiAssignmentStatement(ArrayList&lt;DataIdentifier&gt;, Expression)</a></span> - Constructor for class org.apache.sysds.parser.<a href="org/apache/sysds/parser/MultiAssignmentStatement.html" title="class in org.apache.sysds.parser">MultiAssignmentStatement</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">MultiColumnEncoder</span></a> - Class in <a href="org/apache/sysds/runtime/transform/encode/package-summary.html">org.apache.sysds.runtime.transform.encode</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#MultiColumnEncoder-java.util.List-">MultiColumnEncoder(List&lt;ColumnEncoderComposite&gt;)</a></span> - Constructor for class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#MultiColumnEncoder--">MultiColumnEncoder()</a></span> - Constructor for class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/dml/DmlParser.MultiIdExpressionContext.html#MultiIdExpressionContext-org.apache.sysds.parser.dml.DmlParser.ExpressionContext-">MultiIdExpressionContext(DmlParser.ExpressionContext)</a></span> - Constructor for class org.apache.sysds.parser.dml.<a href="org/apache/sysds/parser/dml/DmlParser.MultiIdExpressionContext.html" title="class in org.apache.sysds.parser.dml">DmlParser.MultiIdExpressionContext</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/dml/DmlLexer.html#MULTILINE_BLOCK_COMMENT">MULTILINE_BLOCK_COMMENT</a></span> - Static variable in class org.apache.sysds.parser.dml.<a href="org/apache/sysds/parser/dml/DmlLexer.html" title="class in org.apache.sysds.parser.dml">DmlLexer</a></dt>
@@ -20702,16 +22215,15 @@
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/instructions/spark/MultiReturnParameterizedBuiltinSPInstruction.TransformEncodeBuildFunction.html" title="class in org.apache.sysds.runtime.instructions.spark"><span class="typeNameLink">MultiReturnParameterizedBuiltinSPInstruction.TransformEncodeBuildFunction</span></a> - Class in <a href="org/apache/sysds/runtime/instructions/spark/package-summary.html">org.apache.sysds.runtime.instructions.spark</a></dt>
 <dd>
-<div class="block">This function pre-aggregates distinct values of recoded columns per partition
- (part of distributed recode map construction, used for recoding, binning and 
- dummy coding).</div>
+<div class="block">This function pre-aggregates distinct values of recoded columns per partition (part of distributed recode map
+ construction, used for recoding, binning and dummy coding).</div>
 </dd>
 <dt><a href="org/apache/sysds/runtime/instructions/spark/MultiReturnParameterizedBuiltinSPInstruction.TransformEncodeGroup2Function.html" title="class in org.apache.sysds.runtime.instructions.spark"><span class="typeNameLink">MultiReturnParameterizedBuiltinSPInstruction.TransformEncodeGroup2Function</span></a> - Class in <a href="org/apache/sysds/runtime/instructions/spark/package-summary.html">org.apache.sysds.runtime.instructions.spark</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/instructions/spark/MultiReturnParameterizedBuiltinSPInstruction.TransformEncodeGroupFunction.html" title="class in org.apache.sysds.runtime.instructions.spark"><span class="typeNameLink">MultiReturnParameterizedBuiltinSPInstruction.TransformEncodeGroupFunction</span></a> - Class in <a href="org/apache/sysds/runtime/instructions/spark/package-summary.html">org.apache.sysds.runtime.instructions.spark</a></dt>
 <dd>
-<div class="block">This function assigns codes to globally distinct values of recoded columns 
- and writes the resulting column map in textcell (IJV) format to the output.</div>
+<div class="block">This function assigns codes to globally distinct values of recoded columns and writes the resulting column map in
+ textcell (IJV) format to the output.</div>
 </dd>
 <dt><a href="org/apache/sysds/hops/MultiThreadedHop.html" title="class in org.apache.sysds.hops"><span class="typeNameLink">MultiThreadedHop</span></a> - Class in <a href="org/apache/sysds/hops/package-summary.html">org.apache.sysds.hops</a></dt>
 <dd>
@@ -20729,6 +22241,10 @@
 <dl>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/DnnParameters.html#N">N</a></span> - Variable in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/DnnParameters.html" title="class in org.apache.sysds.runtime.matrix.data">DnnParameters</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/compress/colgroup/tree/Naive.html" title="class in org.apache.sysds.runtime.compress.colgroup.tree"><span class="typeNameLink">Naive</span></a> - Class in <a href="org/apache/sysds/runtime/compress/colgroup/tree/package-summary.html">org.apache.sysds.runtime.compress.colgroup.tree</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/tree/Naive.html#Naive-int-int-int-">Naive(int, int, int)</a></span> - Constructor for class org.apache.sysds.runtime.compress.colgroup.tree.<a href="org/apache/sysds/runtime/compress/colgroup/tree/Naive.html" title="class in org.apache.sysds.runtime.compress.colgroup.tree">Naive</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/dml/DmlParser.BuiltinFunctionExpressionContext.html#name">name</a></span> - Variable in class org.apache.sysds.parser.dml.<a href="org/apache/sysds/parser/dml/DmlParser.BuiltinFunctionExpressionContext.html" title="class in org.apache.sysds.parser.dml">DmlParser.BuiltinFunctionExpressionContext</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/dml/DmlParser.ExternalFunctionDefExpressionContext.html#name">name</a></span> - Variable in class org.apache.sysds.parser.dml.<a href="org/apache/sysds/parser/dml/DmlParser.ExternalFunctionDefExpressionContext.html" title="class in org.apache.sysds.parser.dml">DmlParser.ExternalFunctionDefExpressionContext</a></dt>
@@ -20774,6 +22290,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/conf/DMLConfig.html#NATIVE_BLAS_DIR">NATIVE_BLAS_DIR</a></span> - Static variable in class org.apache.sysds.conf.<a href="org/apache/sysds/conf/DMLConfig.html" title="class in org.apache.sysds.conf">DMLConfig</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/SpoofCompiler.html#native_contexts">native_contexts</a></span> - Static variable in class org.apache.sysds.hops.codegen.<a href="org/apache/sysds/hops/codegen/SpoofCompiler.html" title="class in org.apache.sysds.hops.codegen">SpoofCompiler</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/utils/Statistics.html#nativeConv2dBwdDataTime">nativeConv2dBwdDataTime</a></span> - Static variable in class org.apache.sysds.utils.<a href="org/apache/sysds/utils/Statistics.html" title="class in org.apache.sysds.utils">Statistics</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/utils/Statistics.html#nativeConv2dBwdFilterTime">nativeConv2dBwdFilterTime</a></span> - Static variable in class org.apache.sysds.utils.<a href="org/apache/sysds/utils/Statistics.html" title="class in org.apache.sysds.utils">Statistics</a></dt>
@@ -20790,7 +22308,7 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/utils/Statistics.html#nativeLibMatrixMultTime">nativeLibMatrixMultTime</a></span> - Static variable in class org.apache.sysds.utils.<a href="org/apache/sysds/utils/Statistics.html" title="class in org.apache.sysds.utils">Statistics</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderBin.html#NBINS_PREFIX">NBINS_PREFIX</a></span> - Static variable in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderBin.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderBin</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderBin.html#NBINS_PREFIX">NBINS_PREFIX</a></span> - Static variable in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderBin.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderBin</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/UtilFunctions.html#nCopies-int-org.apache.sysds.common.Types.ValueType-">nCopies(int, Types.ValueType)</a></span> - Static method in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/UtilFunctions.html" title="class in org.apache.sysds.runtime.util">UtilFunctions</a></dt>
 <dd>&nbsp;</dd>
@@ -20804,12 +22322,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/codegen/SpoofOperator.SideInputSparseCell.html#next-int-int-">next(int, int)</a></span> - Method in class org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/SpoofOperator.SideInputSparseCell.html" title="class in org.apache.sysds.runtime.codegen">SpoofOperator.SideInputSparseCell</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/DenseRowIterator.html#next--">next()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/DenseRowIterator.html" title="class in org.apache.sysds.runtime.compress.colgroup">DenseRowIterator</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/SparseRowIterator.html#next--">next()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/SparseRowIterator.html" title="class in org.apache.sysds.runtime.compress.colgroup">SparseRowIterator</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/utils/ColumnGroupIterator.html#next--">next()</a></span> - Method in class org.apache.sysds.runtime.compress.utils.<a href="org/apache/sysds/runtime/compress/utils/ColumnGroupIterator.html" title="class in org.apache.sysds.runtime.compress.utils">ColumnGroupIterator</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/utils/DblArrayIntListHashMap.DArrayIListEntry.html#next">next</a></span> - Variable in class org.apache.sysds.runtime.compress.utils.<a href="org/apache/sysds/runtime/compress/utils/DblArrayIntListHashMap.DArrayIListEntry.html" title="class in org.apache.sysds.runtime.compress.utils">DblArrayIntListHashMap.DArrayIListEntry</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/utils/DoubleIntListHashMap.DIListEntry.html#next">next</a></span> - Variable in class org.apache.sysds.runtime.compress.utils.<a href="org/apache/sysds/runtime/compress/utils/DoubleIntListHashMap.DIListEntry.html" title="class in org.apache.sysds.runtime.compress.utils">DoubleIntListHashMap.DIListEntry</a></dt>
@@ -20844,7 +22356,7 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/FastStringTokenizer.html#nextLong--">nextLong()</a></span> - Method in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/FastStringTokenizer.html" title="class in org.apache.sysds.runtime.util">FastStringTokenizer</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/ReaderColumnSelection.html#nextRow--">nextRow()</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/ReaderColumnSelection.html" title="class in org.apache.sysds.runtime.compress">ReaderColumnSelection</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/readers/ReaderColumnSelection.html#nextRow--">nextRow()</a></span> - Method in class org.apache.sysds.runtime.compress.readers.<a href="org/apache/sysds/runtime/compress/readers/ReaderColumnSelection.html" title="class in org.apache.sysds.runtime.compress.readers">ReaderColumnSelection</a></dt>
 <dd>
 <div class="block">Gets the next row, null when no more rows.</div>
 </dd>
@@ -20854,6 +22366,8 @@
 <dd>
 <div class="block">Returns the next token in the string as a String.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html#nnz">nnz</a></span> - Variable in class org.apache.sysds.runtime.compress.estim.<a href="org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfo</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/gpu/context/CSRPointer.html#nnz">nnz</a></span> - Variable in class org.apache.sysds.runtime.instructions.gpu.context.<a href="org/apache/sysds/runtime/instructions/gpu/context/CSRPointer.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">CSRPointer</a></dt>
 <dd>
 <div class="block">Number of non zeroes</div>
@@ -20864,8 +22378,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/meta/TensorCharacteristics.html#nnzKnown--">nnzKnown()</a></span> - Method in class org.apache.sysds.runtime.meta.<a href="org/apache/sysds/runtime/meta/TensorCharacteristics.html" title="class in org.apache.sysds.runtime.meta">TensorCharacteristics</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html#nnzUC">nnzUC</a></span> - Variable in class org.apache.sysds.runtime.compress.estim.<a href="org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfo</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/parfor/LocalTaskQueue.html#NO_MORE_TASKS">NO_MORE_TASKS</a></span> - Static variable in class org.apache.sysds.runtime.controlprogram.parfor.<a href="org/apache/sysds/runtime/controlprogram/parfor/LocalTaskQueue.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">LocalTaskQueue</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/ParForProgramBlock.PartitionFormat.html#NONE">NONE</a></span> - Static variable in class org.apache.sysds.runtime.controlprogram.<a href="org/apache/sysds/runtime/controlprogram/ParForProgramBlock.PartitionFormat.html" title="class in org.apache.sysds.runtime.controlprogram">ParForProgramBlock.PartitionFormat</a></dt>
@@ -20889,8 +22401,6 @@
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/functionobjects/NotEquals.html" title="class in org.apache.sysds.runtime.functionobjects"><span class="typeNameLink">NotEquals</span></a> - Class in <a href="org/apache/sysds/runtime/functionobjects/package-summary.html">org.apache.sysds.runtime.functionobjects</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html#nrDistinct">nrDistinct</a></span> - Variable in class org.apache.sysds.runtime.compress.cocode.<a href="org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCoder.GroupableColInfo</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/data/DenseBlock.html#numBlocks--">numBlocks()</a></span> - Method in class org.apache.sysds.runtime.data.<a href="org/apache/sysds/runtime/data/DenseBlock.html" title="class in org.apache.sysds.runtime.data">DenseBlock</a></dt>
 <dd>
 <div class="block">Get the number of allocated blocks.</div>
@@ -20911,14 +22421,14 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/utils/Explain.ExplainCounts.html#numChkpts">numChkpts</a></span> - Variable in class org.apache.sysds.utils.<a href="org/apache/sysds/utils/Explain.ExplainCounts.html" title="class in org.apache.sysds.utils">Explain.ExplainCounts</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html#numCols">numCols</a></span> - Variable in class org.apache.sysds.runtime.compress.estim.<a href="org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfo</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/utils/Explain.ExplainCounts.html#numCPInst">numCPInst</a></span> - Variable in class org.apache.sysds.utils.<a href="org/apache/sysds/utils/Explain.ExplainCounts.html" title="class in org.apache.sysds.utils">Explain.ExplainCounts</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/data/DenseBlock.html#numDims--">numDims()</a></span> - Method in class org.apache.sysds.runtime.data.<a href="org/apache/sysds/runtime/data/DenseBlock.html" title="class in org.apache.sysds.runtime.data">DenseBlock</a></dt>
 <dd>
 <div class="block">Get the number of dimensions.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderRecode.html#numDistinctValues--">numDistinctValues()</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderRecode.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderRecode</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/utils/Explain.ExplainCounts.html#numJobs">numJobs</a></span> - Variable in class org.apache.sysds.utils.<a href="org/apache/sysds/utils/Explain.ExplainCounts.html" title="class in org.apache.sysds.utils">Explain.ExplainCounts</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/utils/Statistics.html#numNativeConv2dBwdDataCalls">numNativeConv2dBwdDataCalls</a></span> - Static variable in class org.apache.sysds.utils.<a href="org/apache/sysds/utils/Statistics.html" title="class in org.apache.sysds.utils">Statistics</a></dt>
@@ -20941,6 +22451,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/utils/Explain.ExplainCounts.html#numReblocks">numReblocks</a></span> - Variable in class org.apache.sysds.utils.<a href="org/apache/sysds/utils/Explain.ExplainCounts.html" title="class in org.apache.sysds.utils">Explain.ExplainCounts</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html#numRows">numRows</a></span> - Variable in class org.apache.sysds.runtime.compress.estim.<a href="org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfo</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/data/DenseBlock.html#numRows--">numRows()</a></span> - Method in class org.apache.sysds.runtime.data.<a href="org/apache/sysds/runtime/data/DenseBlock.html" title="class in org.apache.sysds.runtime.data">DenseBlock</a></dt>
 <dd>
 <div class="block">Get the number of rows.</div>
@@ -20963,6 +22475,10 @@
 </a>
 <h2 class="title">O</h2>
 <dl>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/utils/MemoryEstimates.html#objectArrayCost-long-">objectArrayCost(long)</a></span> - Static method in class org.apache.sysds.utils.<a href="org/apache/sysds/utils/MemoryEstimates.html" title="class in org.apache.sysds.utils">MemoryEstimates</a></dt>
+<dd>
+<div class="block">Get the worst case memory usage for an array of objects.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/UtilFunctions.html#objectToDouble-org.apache.sysds.common.Types.ValueType-java.lang.Object-">objectToDouble(Types.ValueType, Object)</a></span> - Static method in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/UtilFunctions.html" title="class in org.apache.sysds.runtime.util">UtilFunctions</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/UtilFunctions.html#objectToObject-org.apache.sysds.common.Types.ValueType-java.lang.Object-">objectToObject(Types.ValueType, Object)</a></span> - Static method in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/UtilFunctions.html" title="class in org.apache.sysds.runtime.util">UtilFunctions</a></dt>
@@ -21033,6 +22549,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/lops/CSVReBlock.html#OPCODE">OPCODE</a></span> - Static variable in class org.apache.sysds.lops.<a href="org/apache/sysds/lops/CSVReBlock.html" title="class in org.apache.sysds.lops">CSVReBlock</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/lops/DeCompression.html#OPCODE">OPCODE</a></span> - Static variable in class org.apache.sysds.lops.<a href="org/apache/sysds/lops/DeCompression.html" title="class in org.apache.sysds.lops">DeCompression</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/lops/GroupedAggregateM.html#OPCODE">OPCODE</a></span> - Static variable in class org.apache.sysds.lops.<a href="org/apache/sysds/lops/GroupedAggregateM.html" title="class in org.apache.sysds.lops">GroupedAggregateM</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/lops/LeftIndex.html#OPCODE">OPCODE</a></span> - Static variable in class org.apache.sysds.lops.<a href="org/apache/sysds/lops/LeftIndex.html" title="class in org.apache.sysds.lops">LeftIndex</a></dt>
@@ -21301,6 +22819,10 @@
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/hops/codegen/cplan/package-summary.html">org.apache.sysds.hops.codegen.cplan</a> - package org.apache.sysds.hops.codegen.cplan</dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/hops/codegen/cplan/cuda/package-summary.html">org.apache.sysds.hops.codegen.cplan.cuda</a> - package org.apache.sysds.hops.codegen.cplan.cuda</dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/hops/codegen/cplan/java/package-summary.html">org.apache.sysds.hops.codegen.cplan.java</a> - package org.apache.sysds.hops.codegen.cplan.java</dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/hops/codegen/opt/package-summary.html">org.apache.sysds.hops.codegen.opt</a> - package org.apache.sysds.hops.codegen.opt</dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/hops/codegen/template/package-summary.html">org.apache.sysds.hops.codegen.template</a> - package org.apache.sysds.hops.codegen.template</dt>
@@ -21333,12 +22855,20 @@
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a> - package org.apache.sysds.runtime.compress.colgroup</dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/compress/colgroup/mapping/package-summary.html">org.apache.sysds.runtime.compress.colgroup.mapping</a> - package org.apache.sysds.runtime.compress.colgroup.mapping</dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/compress/colgroup/pre/package-summary.html">org.apache.sysds.runtime.compress.colgroup.pre</a> - package org.apache.sysds.runtime.compress.colgroup.pre</dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/compress/colgroup/tree/package-summary.html">org.apache.sysds.runtime.compress.colgroup.tree</a> - package org.apache.sysds.runtime.compress.colgroup.tree</dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/compress/estim/package-summary.html">org.apache.sysds.runtime.compress.estim</a> - package org.apache.sysds.runtime.compress.estim</dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/compress/estim/sample/package-summary.html">org.apache.sysds.runtime.compress.estim.sample</a> - package org.apache.sysds.runtime.compress.estim.sample</dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/compress/lib/package-summary.html">org.apache.sysds.runtime.compress.lib</a> - package org.apache.sysds.runtime.compress.lib</dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/compress/readers/package-summary.html">org.apache.sysds.runtime.compress.readers</a> - package org.apache.sysds.runtime.compress.readers</dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/compress/utils/package-summary.html">org.apache.sysds.runtime.compress.utils</a> - package org.apache.sysds.runtime.compress.utils</dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/controlprogram/package-summary.html">org.apache.sysds.runtime.controlprogram</a> - package org.apache.sysds.runtime.controlprogram</dt>
@@ -21411,6 +22941,8 @@
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/transform/meta/package-summary.html">org.apache.sysds.runtime.transform.meta</a> - package org.apache.sysds.runtime.transform.meta</dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/transform/tokenize/package-summary.html">org.apache.sysds.runtime.transform.tokenize</a> - package org.apache.sysds.runtime.transform.tokenize</dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/util/package-summary.html">org.apache.sysds.runtime.util</a> - package org.apache.sysds.runtime.util</dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/utils/package-summary.html">org.apache.sysds.utils</a> - package org.apache.sysds.utils</dt>
@@ -21429,6 +22961,8 @@
 <dd>
 <div class="block">Spark data partitioner Overlap_Reshuffle:</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/DMVUtils.html#OTHER">OTHER</a></span> - Static variable in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/DMVUtils.html" title="class in org.apache.sysds.runtime.util">DMVUtils</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/dml/DmlParser.ExternalFunctionDefExpressionContext.html#otherParams">otherParams</a></span> - Variable in class org.apache.sysds.parser.dml.<a href="org/apache/sysds/parser/dml/DmlParser.ExternalFunctionDefExpressionContext.html" title="class in org.apache.sysds.parser.dml">DmlParser.ExternalFunctionDefExpressionContext</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/api/mlcontext/Script.html#out-java.lang.String-">out(String)</a></span> - Method in class org.apache.sysds.api.mlcontext.<a href="org/apache/sysds/api/mlcontext/Script.html" title="class in org.apache.sysds.api.mlcontext">Script</a></dt>
@@ -21485,6 +23019,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/Statement.html#OUTPUTSTATEMENT">OUTPUTSTATEMENT</a></span> - Static variable in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/Statement.html" title="class in org.apache.sysds.parser">Statement</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/lib/CLALibRelationalOp.html#overlappingRelativeRelationalOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-org.apache.sysds.runtime.compress.CompressedMatrixBlock-">overlappingRelativeRelationalOperation(ScalarOperator, CompressedMatrixBlock)</a></span> - Static method in class org.apache.sysds.runtime.compress.lib.<a href="org/apache/sysds/runtime/compress/lib/CLALibRelationalOp.html" title="class in org.apache.sysds.runtime.compress.lib">CLALibRelationalOp</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/privacy/finegrained/DataRange.html#overlaps-org.apache.sysds.runtime.privacy.finegrained.DataRange-">overlaps(DataRange)</a></span> - Method in class org.apache.sysds.runtime.privacy.finegrained.<a href="org/apache/sysds/runtime/privacy/finegrained/DataRange.html" title="class in org.apache.sysds.runtime.privacy.finegrained">DataRange</a></dt>
 <dd>
 <div class="block">Returns true if this data range overlaps with the given data range.</div>
@@ -21614,6 +23150,8 @@
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDRExpandFunction.html" title="class in org.apache.sysds.runtime.instructions.spark"><span class="typeNameLink">ParameterizedBuiltinSPInstruction.RDDRExpandFunction</span></a> - Class in <a href="org/apache/sysds/runtime/instructions/spark/package-summary.html">org.apache.sysds.runtime.instructions.spark</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDTokenizeFunction.html" title="class in org.apache.sysds.runtime.instructions.spark"><span class="typeNameLink">ParameterizedBuiltinSPInstruction.RDDTokenizeFunction</span></a> - Class in <a href="org/apache/sysds/runtime/instructions/spark/package-summary.html">org.apache.sysds.runtime.instructions.spark</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDTransformApplyFunction.html" title="class in org.apache.sysds.runtime.instructions.spark"><span class="typeNameLink">ParameterizedBuiltinSPInstruction.RDDTransformApplyFunction</span></a> - Class in <a href="org/apache/sysds/runtime/instructions/spark/package-summary.html">org.apache.sysds.runtime.instructions.spark</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDTransformApplyOffsetFunction.html" title="class in org.apache.sysds.runtime.instructions.spark"><span class="typeNameLink">ParameterizedBuiltinSPInstruction.RDDTransformApplyOffsetFunction</span></a> - Class in <a href="org/apache/sysds/runtime/instructions/spark/package-summary.html">org.apache.sysds.runtime.instructions.spark</a></dt>
@@ -21773,6 +23311,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/InstructionUtils.html#parseAggregateTernaryOperator-java.lang.String-int-">parseAggregateTernaryOperator(String, int)</a></span> - Static method in class org.apache.sysds.runtime.instructions.<a href="org/apache/sysds/runtime/instructions/InstructionUtils.html" title="class in org.apache.sysds.runtime.instructions">InstructionUtils</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/InstructionUtils.html#parseAggregateUnaryRowIndexOperator-java.lang.String-int-int-">parseAggregateUnaryRowIndexOperator(String, int, int)</a></span> - Static method in class org.apache.sysds.runtime.instructions.<a href="org/apache/sysds/runtime/instructions/InstructionUtils.html" title="class in org.apache.sysds.runtime.instructions">InstructionUtils</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/privacy/propagation/PrivacyPropagator.html#parseAndSetPrivacyConstraint-org.apache.sysds.runtime.instructions.cp.Data-org.apache.wink.json4j.JSONObject-">parseAndSetPrivacyConstraint(Data, JSONObject)</a></span> - Static method in class org.apache.sysds.runtime.privacy.propagation.<a href="org/apache/sysds/runtime/privacy/propagation/PrivacyPropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation">PrivacyPropagator</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/InstructionUtils.html#parseBasicAggregateUnaryOperator-java.lang.String-">parseBasicAggregateUnaryOperator(String)</a></span> - Static method in class org.apache.sysds.runtime.instructions.<a href="org/apache/sysds/runtime/instructions/InstructionUtils.html" title="class in org.apache.sysds.runtime.instructions">InstructionUtils</a></dt>
@@ -21849,6 +23389,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/cp/DataGenCPInstruction.html#parseInstruction-java.lang.String-">parseInstruction(String)</a></span> - Static method in class org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/DataGenCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">DataGenCPInstruction</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/cp/DeCompressionCPInstruction.html#parseInstruction-java.lang.String-">parseInstruction(String)</a></span> - Static method in class org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/DeCompressionCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">DeCompressionCPInstruction</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/cp/DnnCPInstruction.html#parseInstruction-java.lang.String-">parseInstruction(String)</a></span> - Static method in class org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/DnnCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">DnnCPInstruction</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/cp/FunctionCallCPInstruction.html#parseInstruction-java.lang.String-">parseInstruction(String)</a></span> - Static method in class org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/FunctionCallCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">FunctionCallCPInstruction</a></dt>
@@ -21895,12 +23437,20 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/fed/AggregateBinaryFEDInstruction.html#parseInstruction-java.lang.String-">parseInstruction(String)</a></span> - Static method in class org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/AggregateBinaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">AggregateBinaryFEDInstruction</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/fed/AggregateTernaryFEDInstruction.html#parseInstruction-org.apache.sysds.runtime.instructions.cp.AggregateTernaryCPInstruction-">parseInstruction(AggregateTernaryCPInstruction)</a></span> - Static method in class org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/AggregateTernaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">AggregateTernaryFEDInstruction</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/fed/AggregateUnaryFEDInstruction.html#parseInstruction-java.lang.String-">parseInstruction(String)</a></span> - Static method in class org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/AggregateUnaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">AggregateUnaryFEDInstruction</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/fed/AppendFEDInstruction.html#parseInstruction-java.lang.String-">parseInstruction(String)</a></span> - Static method in class org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/AppendFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">AppendFEDInstruction</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/fed/BinaryFEDInstruction.html#parseInstruction-java.lang.String-">parseInstruction(String)</a></span> - Static method in class org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/BinaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">BinaryFEDInstruction</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/fed/CentralMomentFEDInstruction.html#parseInstruction-java.lang.String-">parseInstruction(String)</a></span> - Static method in class org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/CentralMomentFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">CentralMomentFEDInstruction</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/fed/CovarianceFEDInstruction.html#parseInstruction-java.lang.String-">parseInstruction(String)</a></span> - Static method in class org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/CovarianceFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">CovarianceFEDInstruction</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/fed/IndexingFEDInstruction.html#parseInstruction-java.lang.String-">parseInstruction(String)</a></span> - Static method in class org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/IndexingFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">IndexingFEDInstruction</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/fed/InitFEDInstruction.html#parseInstruction-java.lang.String-">parseInstruction(String)</a></span> - Static method in class org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/InitFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">InitFEDInstruction</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/fed/MMChainFEDInstruction.html#parseInstruction-java.lang.String-">parseInstruction(String)</a></span> - Static method in class org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/MMChainFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">MMChainFEDInstruction</a></dt>
@@ -21909,10 +23459,26 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/fed/ParameterizedBuiltinFEDInstruction.html#parseInstruction-java.lang.String-">parseInstruction(String)</a></span> - Static method in class org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/ParameterizedBuiltinFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">ParameterizedBuiltinFEDInstruction</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/fed/QuantilePickFEDInstruction.html#parseInstruction-java.lang.String-">parseInstruction(String)</a></span> - Static method in class org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/QuantilePickFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuantilePickFEDInstruction</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/fed/QuantileSortFEDInstruction.html#parseInstruction-java.lang.String-">parseInstruction(String)</a></span> - Static method in class org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/QuantileSortFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuantileSortFEDInstruction</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/fed/QuaternaryFEDInstruction.html#parseInstruction-java.lang.String-">parseInstruction(String)</a></span> - Static method in class org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/QuaternaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuaternaryFEDInstruction</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.html#parseInstruction-java.lang.String-">parseInstruction(String)</a></span> - Static method in class org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">ReorgFEDInstruction</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/fed/ReshapeFEDInstruction.html#parseInstruction-java.lang.String-">parseInstruction(String)</a></span> - Static method in class org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/ReshapeFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">ReshapeFEDInstruction</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/fed/SpoofFEDInstruction.html#parseInstruction-java.lang.String-">parseInstruction(String)</a></span> - Static method in class org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/SpoofFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">SpoofFEDInstruction</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/fed/TernaryFEDInstruction.html#parseInstruction-java.lang.String-">parseInstruction(String)</a></span> - Static method in class org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/TernaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">TernaryFEDInstruction</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/fed/TsmmFEDInstruction.html#parseInstruction-java.lang.String-">parseInstruction(String)</a></span> - Static method in class org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/TsmmFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">TsmmFEDInstruction</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/fed/UnaryMatrixFEDInstruction.html#parseInstruction-java.lang.String-">parseInstruction(String)</a></span> - Static method in class org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/UnaryMatrixFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">UnaryMatrixFEDInstruction</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/fed/VariableFEDInstruction.html#parseInstruction-org.apache.sysds.runtime.instructions.cp.VariableCPInstruction-">parseInstruction(VariableCPInstruction)</a></span> - Static method in class org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/VariableFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">VariableFEDInstruction</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/gpu/AggregateBinaryGPUInstruction.html#parseInstruction-java.lang.String-">parseInstruction(String)</a></span> - Static method in class org.apache.sysds.runtime.instructions.gpu.<a href="org/apache/sysds/runtime/instructions/gpu/AggregateBinaryGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">AggregateBinaryGPUInstruction</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/gpu/AggregateUnaryGPUInstruction.html#parseInstruction-java.lang.String-">parseInstruction(String)</a></span> - Static method in class org.apache.sysds.runtime.instructions.gpu.<a href="org/apache/sysds/runtime/instructions/gpu/AggregateUnaryGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">AggregateUnaryGPUInstruction</a></dt>
@@ -21939,6 +23505,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/gpu/ReorgGPUInstruction.html#parseInstruction-java.lang.String-">parseInstruction(String)</a></span> - Static method in class org.apache.sysds.runtime.instructions.gpu.<a href="org/apache/sysds/runtime/instructions/gpu/ReorgGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">ReorgGPUInstruction</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.html#parseInstruction-java.lang.String-">parseInstruction(String)</a></span> - Static method in class org.apache.sysds.runtime.instructions.gpu.<a href="org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">SpoofCUDAInstruction</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/spark/AggregateTernarySPInstruction.html#parseInstruction-java.lang.String-">parseInstruction(String)</a></span> - Static method in class org.apache.sysds.runtime.instructions.spark.<a href="org/apache/sysds/runtime/instructions/spark/AggregateTernarySPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">AggregateTernarySPInstruction</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/spark/AggregateUnarySPInstruction.html#parseInstruction-java.lang.String-">parseInstruction(String)</a></span> - Static method in class org.apache.sysds.runtime.instructions.spark.<a href="org/apache/sysds/runtime/instructions/spark/AggregateUnarySPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">AggregateUnarySPInstruction</a></dt>
@@ -21977,6 +23545,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/spark/CumulativeOffsetSPInstruction.html#parseInstruction-java.lang.String-">parseInstruction(String)</a></span> - Static method in class org.apache.sysds.runtime.instructions.spark.<a href="org/apache/sysds/runtime/instructions/spark/CumulativeOffsetSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">CumulativeOffsetSPInstruction</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/spark/DeCompressionSPInstruction.html#parseInstruction-java.lang.String-">parseInstruction(String)</a></span> - Static method in class org.apache.sysds.runtime.instructions.spark.<a href="org/apache/sysds/runtime/instructions/spark/DeCompressionSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">DeCompressionSPInstruction</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/spark/DnnSPInstruction.html#parseInstruction-java.lang.String-">parseInstruction(String)</a></span> - Static method in class org.apache.sysds.runtime.instructions.spark.<a href="org/apache/sysds/runtime/instructions/spark/DnnSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">DnnSPInstruction</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/spark/IndexingSPInstruction.html#parseInstruction-java.lang.String-">parseInstruction(String)</a></span> - Static method in class org.apache.sysds.runtime.instructions.spark.<a href="org/apache/sysds/runtime/instructions/spark/IndexingSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">IndexingSPInstruction</a></dt>
@@ -22037,6 +23607,8 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/meta/TfMetaUtils.html#parseJsonIDList-org.apache.wink.json4j.JSONObject-java.lang.String:A-java.lang.String-int-int-">parseJsonIDList(JSONObject, String[], String, int, int)</a></span> - Static method in class org.apache.sysds.runtime.transform.meta.<a href="org/apache/sysds/runtime/transform/meta/TfMetaUtils.html" title="class in org.apache.sysds.runtime.transform.meta">TfMetaUtils</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/meta/TfMetaUtils.html#parseJsonObjectID-org.apache.wink.json4j.JSONObject-java.lang.String:A-int-int-boolean-">parseJsonObjectID(JSONObject, String[], int, int, boolean)</a></span> - Static method in class org.apache.sysds.runtime.transform.meta.<a href="org/apache/sysds/runtime/transform/meta/TfMetaUtils.html" title="class in org.apache.sysds.runtime.transform.meta">TfMetaUtils</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/meta/TfMetaUtils.html#parseJsonObjectIDList-org.apache.wink.json4j.JSONObject-java.lang.String:A-java.lang.String-int-int-">parseJsonObjectIDList(JSONObject, String[], String, int, int)</a></span> - Static method in class org.apache.sysds.runtime.transform.meta.<a href="org/apache/sysds/runtime/transform/meta/TfMetaUtils.html" title="class in org.apache.sysds.runtime.transform.meta">TfMetaUtils</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/LineageParser.html#parseLineageTrace-java.lang.String-">parseLineageTrace(String)</a></span> - Static method in class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageParser.html" title="class in org.apache.sysds.runtime.lineage">LineageParser</a></dt>
@@ -22067,6 +23639,8 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/ProgramConverter.html#parseProgram-java.lang.String-int-">parseProgram(String, int)</a></span> - Static method in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/ProgramConverter.html" title="class in org.apache.sysds.runtime.util">ProgramConverter</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/ProgramConverter.html#parseProgram-java.lang.String-int-boolean-">parseProgram(String, int, boolean)</a></span> - Static method in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/ProgramConverter.html" title="class in org.apache.sysds.runtime.util">ProgramConverter</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/decode/DecoderRecode.html#parseRecodeMapEntry-java.lang.String-org.apache.sysds.runtime.matrix.data.Pair-">parseRecodeMapEntry(String, Pair&lt;String, String&gt;)</a></span> - Static method in class org.apache.sysds.runtime.transform.decode.<a href="org/apache/sysds/runtime/transform/decode/DecoderRecode.html" title="class in org.apache.sysds.runtime.transform.decode">DecoderRecode</a></dt>
 <dd>
 <div class="block">Parses a line of &lt;token, ID, count&gt; into &lt;token, ID&gt; pairs, where 
@@ -22113,6 +23687,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/InstructionUtils.html#parseTernaryOperator-java.lang.String-">parseTernaryOperator(String)</a></span> - Static method in class org.apache.sysds.runtime.instructions.<a href="org/apache/sysds/runtime/instructions/InstructionUtils.html" title="class in org.apache.sysds.runtime.instructions">InstructionUtils</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/InstructionUtils.html#parseTernaryOperator-java.lang.String-int-">parseTernaryOperator(String, int)</a></span> - Static method in class org.apache.sysds.runtime.instructions.<a href="org/apache/sysds/runtime/instructions/InstructionUtils.html" title="class in org.apache.sysds.runtime.instructions">InstructionUtils</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/UtilFunctions.html#parseToDouble-java.lang.String-java.util.Set-">parseToDouble(String, Set&lt;String&gt;)</a></span> - Static method in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/UtilFunctions.html" title="class in org.apache.sysds.runtime.util">UtilFunctions</a></dt>
 <dd>
 <div class="block">Safe double parsing including handling of NAs.</div>
@@ -22133,19 +23709,29 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/lops/PartialAggregate.html#PartialAggregate-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.AggOp-org.apache.sysds.common.Types.Direction-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.hops.AggBinaryOp.SparkAggType-org.apache.sysds.lops.LopProperties.ExecType-">PartialAggregate(Lop, Types.AggOp, Types.Direction, Types.DataType, Types.ValueType, AggBinaryOp.SparkAggType, LopProperties.ExecType)</a></span> - Constructor for class org.apache.sysds.lops.<a href="org/apache/sysds/lops/PartialAggregate.html" title="class in org.apache.sysds.lops">PartialAggregate</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/BalanceToAvgFederatedScheme.html#partition-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-int-">partition(MatrixObject, MatrixObject, int)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.paramserv.dp.<a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/BalanceToAvgFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">BalanceToAvgFederatedScheme</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.html#partition-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-int-">partition(MatrixObject, MatrixObject, int)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.paramserv.dp.<a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionFederatedScheme</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/DCLocalScheme.html#partition-int-org.apache.sysds.runtime.matrix.data.MatrixBlock-">partition(int, MatrixBlock)</a></span> - Static method in class org.apache.sysds.runtime.controlprogram.paramserv.dp.<a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/DCLocalScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DCLocalScheme</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/KeepDataOnWorkerFederatedScheme.html#partition-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-int-">partition(MatrixObject, MatrixObject, int)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.paramserv.dp.<a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/KeepDataOnWorkerFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">KeepDataOnWorkerFederatedScheme</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/ORLocalScheme.html#partition-int-org.apache.sysds.runtime.matrix.data.MatrixBlock-java.util.List-">partition(int, MatrixBlock, List&lt;MatrixBlock&gt;)</a></span> - Static method in class org.apache.sysds.runtime.controlprogram.paramserv.dp.<a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/ORLocalScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">ORLocalScheme</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitioner.html#partitionColumns-java.util.List-java.util.HashMap-org.apache.sysds.runtime.compress.CompressionSettings-">partitionColumns(List&lt;Integer&gt;, HashMap&lt;Integer, PlanningCoCoder.GroupableColInfo&gt;, CompressionSettings)</a></span> - Method in class org.apache.sysds.runtime.compress.cocode.<a href="org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitioner.html" title="class in org.apache.sysds.runtime.compress.cocode">ColumnGroupPartitioner</a></dt>
-<dd>
-<div class="block">Partitions a list of columns into a list of partitions that contains subsets of columns.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitionerBinPacking.html#partitionColumns-java.util.List-java.util.HashMap-org.apache.sysds.runtime.compress.CompressionSettings-">partitionColumns(List&lt;Integer&gt;, HashMap&lt;Integer, PlanningCoCoder.GroupableColInfo&gt;, CompressionSettings)</a></span> - Method in class org.apache.sysds.runtime.compress.cocode.<a href="org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitionerBinPacking.html" title="class in org.apache.sysds.runtime.compress.cocode">ColumnGroupPartitionerBinPacking</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/ReplicateToMaxFederatedScheme.html#partition-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-int-">partition(MatrixObject, MatrixObject, int)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.paramserv.dp.<a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/ReplicateToMaxFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">ReplicateToMaxFederatedScheme</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitionerCost.html#partitionColumns-java.util.List-java.util.HashMap-org.apache.sysds.runtime.compress.CompressionSettings-">partitionColumns(List&lt;Integer&gt;, HashMap&lt;Integer, PlanningCoCoder.GroupableColInfo&gt;, CompressionSettings)</a></span> - Method in class org.apache.sysds.runtime.compress.cocode.<a href="org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitionerCost.html" title="class in org.apache.sysds.runtime.compress.cocode">ColumnGroupPartitionerCost</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/ShuffleFederatedScheme.html#partition-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-int-">partition(MatrixObject, MatrixObject, int)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.paramserv.dp.<a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/ShuffleFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">ShuffleFederatedScheme</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitionerStatic.html#partitionColumns-java.util.List-java.util.HashMap-org.apache.sysds.runtime.compress.CompressionSettings-">partitionColumns(List&lt;Integer&gt;, HashMap&lt;Integer, PlanningCoCoder.GroupableColInfo&gt;, CompressionSettings)</a></span> - Method in class org.apache.sysds.runtime.compress.cocode.<a href="org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitionerStatic.html" title="class in org.apache.sysds.runtime.compress.cocode">ColumnGroupPartitionerStatic</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/SubsampleToMinFederatedScheme.html#partition-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-int-">partition(MatrixObject, MatrixObject, int)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.paramserv.dp.<a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/SubsampleToMinFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">SubsampleToMinFederatedScheme</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/cocode/AColumnGroupPartitioner.html#partitionColumns-org.apache.sysds.runtime.compress.estim.CompressedSizeInfo-">partitionColumns(CompressedSizeInfo)</a></span> - Method in class org.apache.sysds.runtime.compress.cocode.<a href="org/apache/sysds/runtime/compress/cocode/AColumnGroupPartitioner.html" title="class in org.apache.sysds.runtime.compress.cocode">AColumnGroupPartitioner</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitionerBinPacking.html#partitionColumns-org.apache.sysds.runtime.compress.estim.CompressedSizeInfo-">partitionColumns(CompressedSizeInfo)</a></span> - Method in class org.apache.sysds.runtime.compress.cocode.<a href="org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitionerBinPacking.html" title="class in org.apache.sysds.runtime.compress.cocode">ColumnGroupPartitionerBinPacking</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitionerCost.html#partitionColumns-org.apache.sysds.runtime.compress.estim.CompressedSizeInfo-">partitionColumns(CompressedSizeInfo)</a></span> - Method in class org.apache.sysds.runtime.compress.cocode.<a href="org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitionerCost.html" title="class in org.apache.sysds.runtime.compress.cocode">ColumnGroupPartitionerCost</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitionerStatic.html#partitionColumns-org.apache.sysds.runtime.compress.estim.CompressedSizeInfo-">partitionColumns(CompressedSizeInfo)</a></span> - Method in class org.apache.sysds.runtime.compress.cocode.<a href="org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitionerStatic.html" title="class in org.apache.sysds.runtime.compress.cocode">ColumnGroupPartitionerStatic</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/instructions/spark/data/PartitionedBlock.html" title="class in org.apache.sysds.runtime.instructions.spark.data"><span class="typeNameLink">PartitionedBlock</span></a>&lt;<a href="org/apache/sysds/runtime/instructions/spark/data/PartitionedBlock.html" title="type parameter in PartitionedBlock">T</a> extends <a href="org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html" title="interface in org.apache.sysds.runtime.controlprogram.caching">CacheBlock</a>&gt; - Class in <a href="org/apache/sysds/runtime/instructions/spark/data/package-summary.html">org.apache.sysds.runtime.instructions.spark.data</a></dt>
 <dd>
@@ -22249,22 +23835,25 @@
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/OperationsOnMatrixValues.html#performShift-org.apache.sysds.runtime.matrix.data.Pair-org.apache.sysds.runtime.util.IndexRange-int-long-long-java.util.ArrayList-">performShift(Pair&lt;Long, FrameBlock&gt;, IndexRange, int, long, long, ArrayList&lt;Pair&lt;Long, FrameBlock&gt;&gt;)</a></span> - Static method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/OperationsOnMatrixValues.html" title="class in org.apache.sysds.runtime.matrix.data">OperationsOnMatrixValues</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/OperationsOnMatrixValues.html#performSlice-org.apache.sysds.runtime.util.IndexRange-int-int-int-org.apache.sysds.runtime.controlprogram.caching.CacheBlock-">performSlice(IndexRange, int, int, int, CacheBlock)</a></span> - Static method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/OperationsOnMatrixValues.html" title="class in org.apache.sysds.runtime.matrix.data">OperationsOnMatrixValues</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block">Slice used in broadcasting matrix blocks for spark, since this slice up a given matrix
+ into blocks.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/OperationsOnMatrixValues.html#performSlice-org.apache.sysds.runtime.util.IndexRange-int-int-int-org.apache.sysds.runtime.matrix.data.MatrixBlock-">performSlice(IndexRange, int, int, int, MatrixBlock)</a></span> - Static method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/OperationsOnMatrixValues.html" title="class in org.apache.sysds.runtime.matrix.data">OperationsOnMatrixValues</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/OperationsOnMatrixValues.html#performSlice-org.apache.sysds.runtime.instructions.spark.data.IndexedMatrixValue-org.apache.sysds.runtime.util.IndexRange-int-java.util.ArrayList-">performSlice(IndexedMatrixValue, IndexRange, int, ArrayList&lt;IndexedMatrixValue&gt;)</a></span> - Static method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/OperationsOnMatrixValues.html" title="class in org.apache.sysds.runtime.matrix.data">OperationsOnMatrixValues</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/OperationsOnMatrixValues.html#performSlice-org.apache.sysds.runtime.instructions.spark.data.IndexedMatrixValue-org.apache.sysds.runtime.util.IndexRange-int-">performSlice(IndexedMatrixValue, IndexRange, int)</a></span> - Static method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/OperationsOnMatrixValues.html" title="class in org.apache.sysds.runtime.matrix.data">OperationsOnMatrixValues</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/OperationsOnMatrixValues.html#performSlice-org.apache.sysds.runtime.util.IndexRange-int-int-int-org.apache.sysds.runtime.matrix.data.FrameBlock-">performSlice(IndexRange, int, int, int, FrameBlock)</a></span> - Static method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/OperationsOnMatrixValues.html" title="class in org.apache.sysds.runtime.matrix.data">OperationsOnMatrixValues</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/OperationsOnMatrixValues.html#performSlice-org.apache.sysds.runtime.matrix.data.Pair-org.apache.sysds.runtime.util.IndexRange-int-java.util.ArrayList-">performSlice(Pair&lt;Long, FrameBlock&gt;, IndexRange, int, ArrayList&lt;Pair&lt;Long, FrameBlock&gt;&gt;)</a></span> - Static method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/OperationsOnMatrixValues.html" title="class in org.apache.sysds.runtime.matrix.data">OperationsOnMatrixValues</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/OperationsOnMatrixValues.html#performSlice-org.apache.sysds.runtime.matrix.data.Pair-org.apache.sysds.runtime.util.IndexRange-int-">performSlice(Pair&lt;Long, FrameBlock&gt;, IndexRange, int)</a></span> - Static method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/OperationsOnMatrixValues.html" title="class in org.apache.sysds.runtime.matrix.data">OperationsOnMatrixValues</a></dt>
 <dd>
 <div class="block">This function will get slice of the input frame block overlapping in overall slice(Range), slice has requested for.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/OperationsOnMatrixValues.html#performZeroOut-org.apache.sysds.runtime.matrix.data.MatrixIndexes-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixIndexes-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.util.IndexRange-boolean-">performZeroOut(MatrixIndexes, MatrixValue, MatrixIndexes, MatrixValue, IndexRange, boolean)</a></span> - Static method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/OperationsOnMatrixValues.html" title="class in org.apache.sysds.runtime.matrix.data">OperationsOnMatrixValues</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#permutationMatrixMultOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-">permutationMatrixMultOperations(MatrixValue, MatrixValue, MatrixValue)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">AbstractCompressedMatrixBlock</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#permutationMatrixMultOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-">permutationMatrixMultOperations(MatrixValue, MatrixValue, MatrixValue)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#permutationMatrixMultOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-int-">permutationMatrixMultOperations(MatrixValue, MatrixValue, MatrixValue, int)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">AbstractCompressedMatrixBlock</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#permutationMatrixMultOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-int-">permutationMatrixMultOperations(MatrixValue, MatrixValue, MatrixValue, int)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html#permutationMatrixMultOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-">permutationMatrixMultOperations(MatrixValue, MatrixValue, MatrixValue)</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></dt>
 <dd>&nbsp;</dd>
@@ -22286,6 +23875,14 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html#pickValues-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-">pickValues(MatrixValue, MatrixValue)</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/caching/UnifiedMemoryManager.html#pin-java.lang.String-org.apache.sysds.runtime.controlprogram.caching.CacheBlock-boolean-">pin(String, CacheBlock, boolean)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.caching.<a href="org/apache/sysds/runtime/controlprogram/caching/UnifiedMemoryManager.html" title="class in org.apache.sysds.runtime.controlprogram.caching">UnifiedMemoryManager</a></dt>
+<dd>
+<div class="block">Pins a cache block into operation memory.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/caching/UnifiedMemoryManager.html#pin-java.lang.String-long-boolean-">pin(String, long, boolean)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.caching.<a href="org/apache/sysds/runtime/controlprogram/caching/UnifiedMemoryManager.html" title="class in org.apache.sysds.runtime.controlprogram.caching">UnifiedMemoryManager</a></dt>
+<dd>
+<div class="block">Pins a virtual cache block into operation memory, by making a size reservation.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#pinVariables-java.util.List-">pinVariables(List&lt;String&gt;)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.context.<a href="org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a></dt>
 <dd>
 <div class="block">Pin a given list of variables i.e., set the "clean up" state in
@@ -22315,28 +23912,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.html#PlanningCoCoder--">PlanningCoCoder()</a></span> - Constructor for class org.apache.sysds.runtime.compress.cocode.<a href="org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCoder</a></dt>
 <dd>&nbsp;</dd>
-<dt><a href="org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html" title="class in org.apache.sysds.runtime.compress.cocode"><span class="typeNameLink">PlanningCoCoder.GroupableColInfo</span></a> - Class in <a href="org/apache/sysds/runtime/compress/cocode/package-summary.html">org.apache.sysds.runtime.compress.cocode</a></dt>
-<dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.PartitionerType.html" title="enum in org.apache.sysds.runtime.compress.cocode"><span class="typeNameLink">PlanningCoCoder.PartitionerType</span></a> - Enum in <a href="org/apache/sysds/runtime/compress/cocode/package-summary.html">org.apache.sysds.runtime.compress.cocode</a></dt>
 <dd>&nbsp;</dd>
-<dt><a href="org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.html" title="class in org.apache.sysds.runtime.compress.cocode"><span class="typeNameLink">PlanningCoCodingGroup</span></a> - Class in <a href="org/apache/sysds/runtime/compress/cocode/package-summary.html">org.apache.sysds.runtime.compress.cocode</a></dt>
-<dd>
-<div class="block">Class to represent information about co-coding a group of columns.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.html#PlanningCoCodingGroup-int-org.apache.sysds.runtime.compress.cocode.PlanningCoCoder.GroupableColInfo-">PlanningCoCodingGroup(int, PlanningCoCoder.GroupableColInfo)</a></span> - Constructor for class org.apache.sysds.runtime.compress.cocode.<a href="org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCodingGroup</a></dt>
-<dd>
-<div class="block">Constructor for a one-column group; i.e.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.html#PlanningCoCodingGroup-org.apache.sysds.runtime.compress.cocode.PlanningCoCodingGroup-org.apache.sysds.runtime.compress.cocode.PlanningCoCodingGroup-org.apache.sysds.runtime.compress.estim.CompressedSizeEstimator-int-">PlanningCoCodingGroup(PlanningCoCodingGroup, PlanningCoCodingGroup, CompressedSizeEstimator, int)</a></span> - Constructor for class org.apache.sysds.runtime.compress.cocode.<a href="org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCodingGroup</a></dt>
-<dd>
-<div class="block">Constructor for merging two disjoint groups of columns</div>
-</dd>
-<dt><a href="org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.ColIndexes.html" title="class in org.apache.sysds.runtime.compress.cocode"><span class="typeNameLink">PlanningCoCodingGroup.ColIndexes</span></a> - Class in <a href="org/apache/sysds/runtime/compress/cocode/package-summary.html">org.apache.sysds.runtime.compress.cocode</a></dt>
-<dd>&nbsp;</dd>
-<dt><a href="org/apache/sysds/runtime/compress/cocode/PlanningMemoTable.html" title="class in org.apache.sysds.runtime.compress.cocode"><span class="typeNameLink">PlanningMemoTable</span></a> - Class in <a href="org/apache/sysds/runtime/compress/cocode/package-summary.html">org.apache.sysds.runtime.compress.cocode</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/cocode/PlanningMemoTable.html#PlanningMemoTable--">PlanningMemoTable()</a></span> - Constructor for class org.apache.sysds.runtime.compress.cocode.<a href="org/apache/sysds/runtime/compress/cocode/PlanningMemoTable.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningMemoTable</a></dt>
-<dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/hops/codegen/opt/PlanPartition.html" title="class in org.apache.sysds.hops.codegen.opt"><span class="typeNameLink">PlanPartition</span></a> - Class in <a href="org/apache/sysds/hops/codegen/opt/package-summary.html">org.apache.sysds.hops.codegen.opt</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/opt/PlanPartition.html#PlanPartition-java.util.HashSet-java.util.HashSet-java.util.HashSet-java.util.HashSet-java.util.ArrayList-org.apache.sysds.hops.codegen.opt.InterestingPoint:A-boolean-">PlanPartition(HashSet&lt;Long&gt;, HashSet&lt;Long&gt;, HashSet&lt;Long&gt;, HashSet&lt;Long&gt;, ArrayList&lt;Long&gt;, InterestingPoint[], boolean)</a></span> - Constructor for class org.apache.sysds.hops.codegen.opt.<a href="org/apache/sysds/hops/codegen/opt/PlanPartition.html" title="class in org.apache.sysds.hops.codegen.opt">PlanPartition</a></dt>
@@ -22533,9 +24110,7 @@
  based on privacy constraint of CPOperand output in instruction
  which has been set during privacy propagation preprocessing.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#postScaling-double:A-double:A-double:A-int-">postScaling(double[], double[], double[], int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#postScaling-double:A-double:A-double:A-int-int-int-">postScaling(double[], double[], double[], int, int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/spark/utils/SparkUtils.html#postprocessUltraSparseOutput-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-org.apache.sysds.runtime.meta.DataCharacteristics-">postprocessUltraSparseOutput(MatrixObject, DataCharacteristics)</a></span> - Static method in class org.apache.sysds.runtime.instructions.spark.utils.<a href="org/apache/sysds/runtime/instructions/spark/utils/SparkUtils.html" title="class in org.apache.sysds.runtime.instructions.spark.utils">SparkUtils</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/UtilFunctions.html#pow-int-int-">pow(int, int)</a></span> - Static method in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/UtilFunctions.html" title="class in org.apache.sysds.runtime.util">UtilFunctions</a></dt>
 <dd>&nbsp;</dd>
@@ -22547,31 +24122,241 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/lops/Data.html#PREAD_PREFIX">PREAD_PREFIX</a></span> - Static variable in class org.apache.sysds.lops.<a href="org/apache/sysds/lops/Data.html" title="class in org.apache.sysds.lops">Data</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#preAggregate-double:A-int-">preAggregate(double[], int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupConst</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#preAggregate-double:A-int-">preAggregate(double[], int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#preAggregate-double:A-int-int-">preAggregate(double[], int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a></dt>
-<dd>
-<div class="block">Pre aggregates a specific row from the input a which can be a row or a matrix.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preaggValues-int-double:A-double:A-int-int-int-double:A-">preaggValues(int, double[], double[], int, int, int, double[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></dt>
-<dd>
-<div class="block">Aggregates a double array, that contains the values to add to the output matrix.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preaggValues-int-double:A-double:A-int-int-int-">preaggValues(int, double[], double[], int, int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html#preAggregate-double:A-int-">preAggregate(double[], int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupEmpty</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preaggValues-int-org.apache.sysds.runtime.data.SparseBlock-double:A-int-int-int-double:A-">preaggValues(int, SparseBlock, double[], int, int, int, double[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#preAggregate-double:A-int-">preAggregate(double[], int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOLE</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preaggValues-int-org.apache.sysds.runtime.data.SparseBlock-double:A-int-int-int-">preaggValues(int, SparseBlock, double[], int, int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#preAggregate-double:A-int-">preAggregate(double[], int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupRLE</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html#preAggregate-double:A-int-">preAggregate(double[], int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDC</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html#preAggregate-double:A-int-">preAggregate(double[], int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingle</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html#preAggregate-double:A-int-">preAggregate(double[], int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingleZeros</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#preAggregate-double:A-int-">preAggregate(double[], int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCZeros</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregate-double:A-">preAggregate(double[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></dt>
+<dd>
+<div class="block">Pre aggregate a vector</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregate-double:A-int-">preAggregate(double[], int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></dt>
+<dd>
+<div class="block">Pre aggregates for left multiplication</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregate-org.apache.sysds.runtime.data.SparseBlock-">preAggregate(SparseBlock)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></dt>
+<dd>
+<div class="block">Pre aggregate for left multiplication</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregate-org.apache.sysds.runtime.compress.colgroup.ColGroupValue-">preAggregate(ColGroupValue)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateCONST-org.apache.sysds.runtime.compress.colgroup.ColGroupConst-">preAggregateCONST(ColGroupConst)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#preAggregateDDC-org.apache.sysds.runtime.compress.colgroup.ColGroupDDC-">preAggregateDDC(ColGroupDDC)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupConst</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#preAggregateDDC-org.apache.sysds.runtime.compress.colgroup.ColGroupDDC-">preAggregateDDC(ColGroupDDC)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html#preAggregateDDC-org.apache.sysds.runtime.compress.colgroup.ColGroupDDC-">preAggregateDDC(ColGroupDDC)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupEmpty</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#preAggregateDDC-org.apache.sysds.runtime.compress.colgroup.ColGroupDDC-">preAggregateDDC(ColGroupDDC)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOLE</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#preAggregateDDC-org.apache.sysds.runtime.compress.colgroup.ColGroupDDC-">preAggregateDDC(ColGroupDDC)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupRLE</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html#preAggregateDDC-org.apache.sysds.runtime.compress.colgroup.ColGroupDDC-">preAggregateDDC(ColGroupDDC)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDC</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html#preAggregateDDC-org.apache.sysds.runtime.compress.colgroup.ColGroupDDC-">preAggregateDDC(ColGroupDDC)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingle</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html#preAggregateDDC-org.apache.sysds.runtime.compress.colgroup.ColGroupDDC-">preAggregateDDC(ColGroupDDC)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingleZeros</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#preAggregateDDC-org.apache.sysds.runtime.compress.colgroup.ColGroupDDC-">preAggregateDDC(ColGroupDDC)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCZeros</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateDDC-org.apache.sysds.runtime.compress.colgroup.ColGroupDDC-">preAggregateDDC(ColGroupDDC)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/compress/colgroup/pre/PreAggregateFactory.html" title="class in org.apache.sysds.runtime.compress.colgroup.pre"><span class="typeNameLink">PreAggregateFactory</span></a> - Class in <a href="org/apache/sysds/runtime/compress/colgroup/pre/package-summary.html">org.apache.sysds.runtime.compress.colgroup.pre</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/pre/PreAggregateFactory.html#PreAggregateFactory--">PreAggregateFactory()</a></span> - Constructor for class org.apache.sysds.runtime.compress.colgroup.pre.<a href="org/apache/sysds/runtime/compress/colgroup/pre/PreAggregateFactory.html" title="class in org.apache.sysds.runtime.compress.colgroup.pre">PreAggregateFactory</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#preAggregateOLE-org.apache.sysds.runtime.compress.colgroup.ColGroupOLE-">preAggregateOLE(ColGroupOLE)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupConst</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#preAggregateOLE-org.apache.sysds.runtime.compress.colgroup.ColGroupOLE-">preAggregateOLE(ColGroupOLE)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html#preAggregateOLE-org.apache.sysds.runtime.compress.colgroup.ColGroupOLE-">preAggregateOLE(ColGroupOLE)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupEmpty</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#preAggregateOLE-org.apache.sysds.runtime.compress.colgroup.ColGroupOLE-">preAggregateOLE(ColGroupOLE)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOLE</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#preAggregateOLE-org.apache.sysds.runtime.compress.colgroup.ColGroupOLE-">preAggregateOLE(ColGroupOLE)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupRLE</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html#preAggregateOLE-org.apache.sysds.runtime.compress.colgroup.ColGroupOLE-">preAggregateOLE(ColGroupOLE)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDC</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html#preAggregateOLE-org.apache.sysds.runtime.compress.colgroup.ColGroupOLE-">preAggregateOLE(ColGroupOLE)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingle</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html#preAggregateOLE-org.apache.sysds.runtime.compress.colgroup.ColGroupOLE-">preAggregateOLE(ColGroupOLE)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingleZeros</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#preAggregateOLE-org.apache.sysds.runtime.compress.colgroup.ColGroupOLE-">preAggregateOLE(ColGroupOLE)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCZeros</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateOLE-org.apache.sysds.runtime.compress.colgroup.ColGroupOLE-">preAggregateOLE(ColGroupOLE)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#preAggregateRLE-org.apache.sysds.runtime.compress.colgroup.ColGroupRLE-">preAggregateRLE(ColGroupRLE)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupConst</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#preAggregateRLE-org.apache.sysds.runtime.compress.colgroup.ColGroupRLE-">preAggregateRLE(ColGroupRLE)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html#preAggregateRLE-org.apache.sysds.runtime.compress.colgroup.ColGroupRLE-">preAggregateRLE(ColGroupRLE)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupEmpty</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#preAggregateRLE-org.apache.sysds.runtime.compress.colgroup.ColGroupRLE-">preAggregateRLE(ColGroupRLE)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOLE</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#preAggregateRLE-org.apache.sysds.runtime.compress.colgroup.ColGroupRLE-">preAggregateRLE(ColGroupRLE)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupRLE</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html#preAggregateRLE-org.apache.sysds.runtime.compress.colgroup.ColGroupRLE-">preAggregateRLE(ColGroupRLE)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDC</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html#preAggregateRLE-org.apache.sysds.runtime.compress.colgroup.ColGroupRLE-">preAggregateRLE(ColGroupRLE)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingle</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html#preAggregateRLE-org.apache.sysds.runtime.compress.colgroup.ColGroupRLE-">preAggregateRLE(ColGroupRLE)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingleZeros</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#preAggregateRLE-org.apache.sysds.runtime.compress.colgroup.ColGroupRLE-">preAggregateRLE(ColGroupRLE)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCZeros</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateRLE-org.apache.sysds.runtime.compress.colgroup.ColGroupRLE-">preAggregateRLE(ColGroupRLE)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#preAggregateSDC-org.apache.sysds.runtime.compress.colgroup.ColGroupSDC-">preAggregateSDC(ColGroupSDC)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupConst</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#preAggregateSDC-org.apache.sysds.runtime.compress.colgroup.ColGroupSDC-">preAggregateSDC(ColGroupSDC)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html#preAggregateSDC-org.apache.sysds.runtime.compress.colgroup.ColGroupSDC-">preAggregateSDC(ColGroupSDC)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupEmpty</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#preAggregateSDC-org.apache.sysds.runtime.compress.colgroup.ColGroupSDC-">preAggregateSDC(ColGroupSDC)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOLE</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#preAggregateSDC-org.apache.sysds.runtime.compress.colgroup.ColGroupSDC-">preAggregateSDC(ColGroupSDC)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupRLE</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html#preAggregateSDC-org.apache.sysds.runtime.compress.colgroup.ColGroupSDC-">preAggregateSDC(ColGroupSDC)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDC</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html#preAggregateSDC-org.apache.sysds.runtime.compress.colgroup.ColGroupSDC-">preAggregateSDC(ColGroupSDC)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingle</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html#preAggregateSDC-org.apache.sysds.runtime.compress.colgroup.ColGroupSDC-">preAggregateSDC(ColGroupSDC)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingleZeros</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#preAggregateSDC-org.apache.sysds.runtime.compress.colgroup.ColGroupSDC-">preAggregateSDC(ColGroupSDC)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCZeros</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateSDC-org.apache.sysds.runtime.compress.colgroup.ColGroupSDC-">preAggregateSDC(ColGroupSDC)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#preAggregateSDCSingle-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingle-">preAggregateSDCSingle(ColGroupSDCSingle)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupConst</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#preAggregateSDCSingle-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingle-">preAggregateSDCSingle(ColGroupSDCSingle)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html#preAggregateSDCSingle-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingle-">preAggregateSDCSingle(ColGroupSDCSingle)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupEmpty</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#preAggregateSDCSingle-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingle-">preAggregateSDCSingle(ColGroupSDCSingle)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOLE</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#preAggregateSDCSingle-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingle-">preAggregateSDCSingle(ColGroupSDCSingle)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupRLE</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html#preAggregateSDCSingle-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingle-">preAggregateSDCSingle(ColGroupSDCSingle)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDC</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html#preAggregateSDCSingle-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingle-">preAggregateSDCSingle(ColGroupSDCSingle)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingle</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html#preAggregateSDCSingle-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingle-">preAggregateSDCSingle(ColGroupSDCSingle)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingleZeros</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#preAggregateSDCSingle-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingle-">preAggregateSDCSingle(ColGroupSDCSingle)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCZeros</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateSDCSingle-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingle-">preAggregateSDCSingle(ColGroupSDCSingle)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#preAggregateSDCSingleZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingleZeros-">preAggregateSDCSingleZeros(ColGroupSDCSingleZeros)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupConst</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#preAggregateSDCSingleZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingleZeros-">preAggregateSDCSingleZeros(ColGroupSDCSingleZeros)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html#preAggregateSDCSingleZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingleZeros-">preAggregateSDCSingleZeros(ColGroupSDCSingleZeros)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupEmpty</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#preAggregateSDCSingleZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingleZeros-">preAggregateSDCSingleZeros(ColGroupSDCSingleZeros)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOLE</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#preAggregateSDCSingleZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingleZeros-">preAggregateSDCSingleZeros(ColGroupSDCSingleZeros)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupRLE</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html#preAggregateSDCSingleZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingleZeros-">preAggregateSDCSingleZeros(ColGroupSDCSingleZeros)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDC</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html#preAggregateSDCSingleZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingleZeros-">preAggregateSDCSingleZeros(ColGroupSDCSingleZeros)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingle</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html#preAggregateSDCSingleZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingleZeros-">preAggregateSDCSingleZeros(ColGroupSDCSingleZeros)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingleZeros</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#preAggregateSDCSingleZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingleZeros-">preAggregateSDCSingleZeros(ColGroupSDCSingleZeros)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCZeros</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateSDCSingleZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingleZeros-">preAggregateSDCSingleZeros(ColGroupSDCSingleZeros)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#preAggregateSDCZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCZeros-">preAggregateSDCZeros(ColGroupSDCZeros)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupConst</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#preAggregateSDCZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCZeros-">preAggregateSDCZeros(ColGroupSDCZeros)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html#preAggregateSDCZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCZeros-">preAggregateSDCZeros(ColGroupSDCZeros)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupEmpty</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#preAggregateSDCZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCZeros-">preAggregateSDCZeros(ColGroupSDCZeros)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOLE</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#preAggregateSDCZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCZeros-">preAggregateSDCZeros(ColGroupSDCZeros)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupRLE</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html#preAggregateSDCZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCZeros-">preAggregateSDCZeros(ColGroupSDCZeros)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDC</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html#preAggregateSDCZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCZeros-">preAggregateSDCZeros(ColGroupSDCZeros)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingle</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html#preAggregateSDCZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCZeros-">preAggregateSDCZeros(ColGroupSDCZeros)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingleZeros</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#preAggregateSDCZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCZeros-">preAggregateSDCZeros(ColGroupSDCZeros)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCZeros</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateSDCZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCZeros-">preAggregateSDCZeros(ColGroupSDCZeros)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#preAggregateSparse-org.apache.sysds.runtime.data.SparseBlock-int-">preAggregateSparse(SparseBlock, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupConst</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#preAggregateSparse-org.apache.sysds.runtime.data.SparseBlock-int-">preAggregateSparse(SparseBlock, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html#preAggregateSparse-org.apache.sysds.runtime.data.SparseBlock-int-">preAggregateSparse(SparseBlock, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupEmpty</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#preAggregateSparse-org.apache.sysds.runtime.data.SparseBlock-int-">preAggregateSparse(SparseBlock, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOLE</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#preAggregateSparse-org.apache.sysds.runtime.data.SparseBlock-int-">preAggregateSparse(SparseBlock, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupRLE</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html#preAggregateSparse-org.apache.sysds.runtime.data.SparseBlock-int-">preAggregateSparse(SparseBlock, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDC</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html#preAggregateSparse-org.apache.sysds.runtime.data.SparseBlock-int-">preAggregateSparse(SparseBlock, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingle</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html#preAggregateSparse-org.apache.sysds.runtime.data.SparseBlock-int-">preAggregateSparse(SparseBlock, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingleZeros</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#preAggregateSparse-org.apache.sysds.runtime.data.SparseBlock-int-">preAggregateSparse(SparseBlock, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCZeros</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateSparse-org.apache.sysds.runtime.data.SparseBlock-int-">preAggregateSparse(SparseBlock, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></dt>
+<dd>
+<div class="block">Pre aggregate for left multiplication of sparse vector or matrix.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#preAggregateSparseSingle-org.apache.sysds.runtime.data.SparseBlock-int-">preAggregateSparseSingle(SparseBlock, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupConst</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preaggValues-int-org.apache.sysds.runtime.matrix.data.MatrixBlock-double:A-int-int-int-">preaggValues(int, MatrixBlock, double[], int, int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/LibMatrixDNNIm2Col.html#preallocateSparseOutput-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">preallocateSparseOutput(MatrixBlock, MatrixBlock)</a></span> - Static method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/LibMatrixDNNIm2Col.html" title="class in org.apache.sysds.runtime.matrix.data">LibMatrixDNNIm2Col</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preCallAggregate-org.apache.sysds.runtime.compress.colgroup.ColGroupValue-">preCallAggregate(ColGroupValue)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/codegen/SpoofCUDAOperator.PrecisionProxy.html#PrecisionProxy--">PrecisionProxy()</a></span> - Constructor for class org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/SpoofCUDAOperator.PrecisionProxy.html" title="class in org.apache.sysds.runtime.codegen">SpoofCUDAOperator.PrecisionProxy</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/ProgramBlock.html#PRED_VAR">PRED_VAR</a></span> - Static variable in class org.apache.sysds.runtime.controlprogram.<a href="org/apache/sysds/runtime/controlprogram/ProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ProgramBlock</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/dml/DmlParser.IfStatementContext.html#predicate">predicate</a></span> - Variable in class org.apache.sysds.parser.dml.<a href="org/apache/sysds/parser/dml/DmlParser.IfStatementContext.html" title="class in org.apache.sysds.parser.dml">DmlParser.IfStatementContext</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/dml/DmlParser.WhileStatementContext.html#predicate">predicate</a></span> - Variable in class org.apache.sysds.parser.dml.<a href="org/apache/sysds/parser/dml/DmlParser.WhileStatementContext.html" title="class in org.apache.sysds.parser.dml">DmlParser.WhileStatementContext</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderRecode.html#prepareBuildPartial--">prepareBuildPartial()</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderRecode.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderRecode</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#prepareBuildPartial--">prepareBuildPartial()</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a></dt>
+<dd>
+<div class="block">Allocates internal data structures for partial build.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderBin.html#prepareBuildPartial--">prepareBuildPartial()</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderBin.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderBin</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html#prepareBuildPartial--">prepareBuildPartial()</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderComposite</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderRecode.html#prepareBuildPartial--">prepareBuildPartial()</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderRecode.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderRecode</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/Encoder.html#prepareBuildPartial--">prepareBuildPartial()</a></span> - Method in interface org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/Encoder.html" title="interface in org.apache.sysds.runtime.transform.encode">Encoder</a></dt>
+<dd>
+<div class="block">Allocates internal data structures for partial build.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#prepareBuildPartial--">prepareBuildPartial()</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/LegacyEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">LegacyEncoder</a></dt>
+<dd>
+<div class="block">Allocates internal data structures for partial build.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#prepareBuildPartial--">prepareBuildPartial()</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/cp/VariableCPInstruction.html#prepareCopyInstruction-java.lang.String-java.lang.String-">prepareCopyInstruction(String, String)</a></span> - Static method in class org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/VariableCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">VariableCPInstruction</a></dt>
 <dd>&nbsp;</dd>
@@ -22579,6 +24364,10 @@
 <dd>
 <div class="block">Representation of a prepared (precompiled) DML/PyDML script.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html#prepareInputPointers-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-java.util.ArrayList-int-">prepareInputPointers(ExecutionContext, ArrayList&lt;MatrixObject&gt;, int)</a></span> - Method in interface org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html" title="interface in org.apache.sysds.runtime.codegen">SpoofCUDAOperator</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html#prepareOutputPointers-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-boolean-">prepareOutputPointers(ExecutionContext, MatrixObject, boolean)</a></span> - Method in interface org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html" title="interface in org.apache.sysds.runtime.codegen">SpoofCUDAOperator</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/cp/VariableCPInstruction.html#prepareRemoveInstruction-long...-">prepareRemoveInstruction(long...)</a></span> - Static method in class org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/VariableCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">VariableCPInstruction</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/cp/VariableCPInstruction.html#prepareRemoveInstruction-java.lang.String...-">prepareRemoveInstruction(String...)</a></span> - Static method in class org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/VariableCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">VariableCPInstruction</a></dt>
@@ -22605,6 +24394,8 @@
 <dd>
 <div class="block">Prepares (precompiles) a script, sets input parameter values, and registers input and output variables.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html#prepareSideInputPointers-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-java.util.ArrayList-int-boolean-">prepareSideInputPointers(ExecutionContext, ArrayList&lt;MatrixObject&gt;, int, boolean)</a></span> - Method in interface org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html" title="interface in org.apache.sysds.runtime.codegen">SpoofCUDAOperator</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/cp/VariableCPInstruction.html#prepCreatevarInstruction-java.lang.String-java.lang.String-boolean-java.lang.String-">prepCreatevarInstruction(String, String, boolean, String)</a></span> - Static method in class org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/VariableCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">VariableCPInstruction</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/cp/VariableCPInstruction.html#prepCreatevarInstruction-java.lang.String-java.lang.String-boolean-org.apache.sysds.common.Types.DataType-java.lang.String-org.apache.sysds.runtime.meta.DataCharacteristics-org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType-">prepCreatevarInstruction(String, String, boolean, Types.DataType, String, DataCharacteristics, MatrixObject.UpdateType)</a></span> - Static method in class org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/VariableCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">VariableCPInstruction</a></dt>
@@ -22635,6 +24426,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/lops/Lop.html#prepOutputOperand-java.lang.String-">prepOutputOperand(String)</a></span> - Method in class org.apache.sysds.lops.<a href="org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/privacy/propagation/PrivacyPropagator.html#preprocessAppendCPInstruction-org.apache.sysds.runtime.instructions.cp.AppendCPInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessAppendCPInstruction(AppendCPInstruction, ExecutionContext)</a></span> - Static method in class org.apache.sysds.runtime.privacy.propagation.<a href="org/apache/sysds/runtime/privacy/propagation/PrivacyPropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation">PrivacyPropagator</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/privacy/propagation/PrivacyPropagator.html#preprocessBinaryCPInstruction-org.apache.sysds.runtime.instructions.cp.BinaryCPInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessBinaryCPInstruction(BinaryCPInstruction, ExecutionContext)</a></span> - Static method in class org.apache.sysds.runtime.privacy.propagation.<a href="org/apache/sysds/runtime/privacy/propagation/PrivacyPropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation">PrivacyPropagator</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/privacy/propagation/PrivacyPropagator.html#preprocessBuiltinNary-org.apache.sysds.runtime.instructions.cp.BuiltinNaryCPInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessBuiltinNary(BuiltinNaryCPInstruction, ExecutionContext)</a></span> - Static method in class org.apache.sysds.runtime.privacy.propagation.<a href="org/apache/sysds/runtime/privacy/propagation/PrivacyPropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation">PrivacyPropagator</a></dt>
@@ -22763,6 +24556,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/StatementBlock.html#printWarningLocation--">printWarningLocation()</a></span> - Method in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/codegen/CodegenUtils.html#printWithLineNumber-java.lang.String-">printWithLineNumber(String)</a></span> - Static method in class org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/CodegenUtils.html" title="class in org.apache.sysds.runtime.codegen">CodegenUtils</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/DataExpression.html#PRIVACY">PRIVACY</a></span> - Static variable in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/DataExpression.html" title="class in org.apache.sysds.parser">DataExpression</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy"><span class="typeNameLink">PrivacyConstraint</span></a> - Class in <a href="org/apache/sysds/runtime/privacy/package-summary.html">org.apache.sysds.runtime.privacy</a></dt>
@@ -22787,6 +24582,14 @@
 </dd>
 <dt><a href="org/apache/sysds/runtime/privacy/PrivacyConstraint.PrivacyLevel.html" title="enum in org.apache.sysds.runtime.privacy"><span class="typeNameLink">PrivacyConstraint.PrivacyLevel</span></a> - Enum in <a href="org/apache/sysds/runtime/privacy/package-summary.html">org.apache.sysds.runtime.privacy</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/privacy/PrivacyUtils.html#privacyConstraintActivated-org.apache.sysds.runtime.privacy.PrivacyConstraint-">privacyConstraintActivated(PrivacyConstraint)</a></span> - Static method in class org.apache.sysds.runtime.privacy.<a href="org/apache/sysds/runtime/privacy/PrivacyUtils.html" title="class in org.apache.sysds.runtime.privacy">PrivacyUtils</a></dt>
+<dd>
+<div class="block">Returns true if the privacy constraint is not null and the privacy level is set to Private or PrivateAggregation.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/privacy/PrivacyUtils.html#privacyConstraintFineGrainedActivated-org.apache.sysds.runtime.privacy.PrivacyConstraint-">privacyConstraintFineGrainedActivated(PrivacyConstraint)</a></span> - Static method in class org.apache.sysds.runtime.privacy.<a href="org/apache/sysds/runtime/privacy/PrivacyUtils.html" title="class in org.apache.sysds.runtime.privacy">PrivacyUtils</a></dt>
+<dd>
+<div class="block">Returns true if the privacy constraint is not null and it has fine-grained constraints.</div>
+</dd>
 <dt><a href="org/apache/sysds/runtime/privacy/PrivacyMonitor.html" title="class in org.apache.sysds.runtime.privacy"><span class="typeNameLink">PrivacyMonitor</span></a> - Class in <a href="org/apache/sysds/runtime/privacy/package-summary.html">org.apache.sysds.runtime.privacy</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/privacy/PrivacyMonitor.html#PrivacyMonitor--">PrivacyMonitor()</a></span> - Constructor for class org.apache.sysds.runtime.privacy.<a href="org/apache/sysds/runtime/privacy/PrivacyMonitor.html" title="class in org.apache.sysds.runtime.privacy">PrivacyMonitor</a></dt>
@@ -22826,7 +24629,11 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/cp/DnnCPInstruction.html#processBiasMultiplyInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processBiasMultiplyInstruction(ExecutionContext)</a></span> - Method in class org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/DnnCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">DnnCPInstruction</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/LineageMap.html#processDedupItem-org.apache.sysds.runtime.lineage.LineageMap-java.lang.Long-org.apache.sysds.runtime.lineage.LineageItem:A-java.lang.String-">processDedupItem(LineageMap, Long, LineageItem[], String)</a></span> - Method in class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageMap.html" title="class in org.apache.sysds.runtime.lineage">LineageMap</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/fed/UnaryMatrixFEDInstruction.html#processCumulativeInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-">processCumulativeInstruction(ExecutionContext, MatrixObject)</a></span> - Method in class org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/UnaryMatrixFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">UnaryMatrixFEDInstruction</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/LineageMap.html#processDedupItem-org.apache.sysds.runtime.lineage.LineageMap-java.lang.Long-org.apache.sysds.runtime.lineage.LineageItem:A-java.lang.String-java.util.Map-">processDedupItem(LineageMap, Long, LineageItem[], String, Map&lt;String, Integer&gt;)</a></span> - Method in class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageMap.html" title="class in org.apache.sysds.runtime.lineage">LineageMap</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/LineageEstimator.html#processFunc-java.util.List-org.apache.sysds.runtime.lineage.LineageItem:A-java.lang.String-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-long-">processFunc(List&lt;DataIdentifier&gt;, LineageItem[], String, ExecutionContext, long)</a></span> - Static method in class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageEstimator.html" title="class in org.apache.sysds.runtime.lineage">LineageEstimator</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/cp/AggregateBinaryCPInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction(ExecutionContext)</a></span> - Method in class org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/AggregateBinaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">AggregateBinaryCPInstruction</a></dt>
 <dd>&nbsp;</dd>
@@ -22860,6 +24667,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/cp/DataGenCPInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction(ExecutionContext)</a></span> - Method in class org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/DataGenCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">DataGenCPInstruction</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/cp/DeCompressionCPInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction(ExecutionContext)</a></span> - Method in class org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/DeCompressionCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">DeCompressionCPInstruction</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/cp/DnnCPInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction(ExecutionContext)</a></span> - Method in class org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/DnnCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">DnnCPInstruction</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/cp/EvalNaryCPInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction(ExecutionContext)</a></span> - Method in class org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/EvalNaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">EvalNaryCPInstruction</a></dt>
@@ -22930,6 +24739,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/fed/AggregateBinaryFEDInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction(ExecutionContext)</a></span> - Method in class org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/AggregateBinaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">AggregateBinaryFEDInstruction</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/fed/AggregateTernaryFEDInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction(ExecutionContext)</a></span> - Method in class org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/AggregateTernaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">AggregateTernaryFEDInstruction</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/fed/AggregateUnaryFEDInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction(ExecutionContext)</a></span> - Method in class org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/AggregateUnaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">AggregateUnaryFEDInstruction</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/fed/AppendFEDInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction(ExecutionContext)</a></span> - Method in class org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/AppendFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">AppendFEDInstruction</a></dt>
@@ -22938,6 +24749,12 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/fed/BinaryMatrixScalarFEDInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction(ExecutionContext)</a></span> - Method in class org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/BinaryMatrixScalarFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">BinaryMatrixScalarFEDInstruction</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/fed/CentralMomentFEDInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction(ExecutionContext)</a></span> - Method in class org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/CentralMomentFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">CentralMomentFEDInstruction</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/fed/CovarianceFEDInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction(ExecutionContext)</a></span> - Method in class org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/CovarianceFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">CovarianceFEDInstruction</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/fed/IndexingFEDInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction(ExecutionContext)</a></span> - Method in class org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/IndexingFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">IndexingFEDInstruction</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/fed/InitFEDInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction(ExecutionContext)</a></span> - Method in class org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/InitFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">InitFEDInstruction</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/fed/MMChainFEDInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction(ExecutionContext)</a></span> - Method in class org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/MMChainFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">MMChainFEDInstruction</a></dt>
@@ -22946,10 +24763,34 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/fed/ParameterizedBuiltinFEDInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction(ExecutionContext)</a></span> - Method in class org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/ParameterizedBuiltinFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">ParameterizedBuiltinFEDInstruction</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/fed/QuantilePickFEDInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction(ExecutionContext)</a></span> - Method in class org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/QuantilePickFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuantilePickFEDInstruction</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/fed/QuantileSortFEDInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction(ExecutionContext)</a></span> - Method in class org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/QuantileSortFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuantileSortFEDInstruction</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/fed/QuaternaryWCeMMFEDInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction(ExecutionContext)</a></span> - Method in class org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/QuaternaryWCeMMFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuaternaryWCeMMFEDInstruction</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/fed/QuaternaryWDivMMFEDInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction(ExecutionContext)</a></span> - Method in class org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/QuaternaryWDivMMFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuaternaryWDivMMFEDInstruction</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/fed/QuaternaryWSigmoidFEDInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction(ExecutionContext)</a></span> - Method in class org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/QuaternaryWSigmoidFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuaternaryWSigmoidFEDInstruction</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/fed/QuaternaryWSLossFEDInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction(ExecutionContext)</a></span> - Method in class org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/QuaternaryWSLossFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuaternaryWSLossFEDInstruction</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/fed/QuaternaryWUMMFEDInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction(ExecutionContext)</a></span> - Method in class org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/QuaternaryWUMMFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuaternaryWUMMFEDInstruction</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction(ExecutionContext)</a></span> - Method in class org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">ReorgFEDInstruction</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/fed/ReshapeFEDInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction(ExecutionContext)</a></span> - Method in class org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/ReshapeFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">ReshapeFEDInstruction</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/fed/SpoofFEDInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction(ExecutionContext)</a></span> - Method in class org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/SpoofFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">SpoofFEDInstruction</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/fed/TernaryFEDInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction(ExecutionContext)</a></span> - Method in class org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/TernaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">TernaryFEDInstruction</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/fed/TsmmFEDInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction(ExecutionContext)</a></span> - Method in class org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/TsmmFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">TsmmFEDInstruction</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/fed/UnaryMatrixFEDInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction(ExecutionContext)</a></span> - Method in class org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/UnaryMatrixFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">UnaryMatrixFEDInstruction</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/fed/VariableFEDInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction(ExecutionContext)</a></span> - Method in class org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/VariableFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">VariableFEDInstruction</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/gpu/AggregateBinaryGPUInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction(ExecutionContext)</a></span> - Method in class org.apache.sysds.runtime.instructions.gpu.<a href="org/apache/sysds/runtime/instructions/gpu/AggregateBinaryGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">AggregateBinaryGPUInstruction</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/gpu/AggregateUnaryGPUInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction(ExecutionContext)</a></span> - Method in class org.apache.sysds.runtime.instructions.gpu.<a href="org/apache/sysds/runtime/instructions/gpu/AggregateUnaryGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">AggregateUnaryGPUInstruction</a></dt>
@@ -22984,6 +24825,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/gpu/ScalarMatrixRelationalBinaryGPUInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction(ExecutionContext)</a></span> - Method in class org.apache.sysds.runtime.instructions.gpu.<a href="org/apache/sysds/runtime/instructions/gpu/ScalarMatrixRelationalBinaryGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">ScalarMatrixRelationalBinaryGPUInstruction</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction(ExecutionContext)</a></span> - Method in class org.apache.sysds.runtime.instructions.gpu.<a href="org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">SpoofCUDAInstruction</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/Instruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction(ExecutionContext)</a></span> - Method in class org.apache.sysds.runtime.instructions.<a href="org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></dt>
 <dd>
 <div class="block">This method should be used to execute the instruction.</div>
@@ -23036,6 +24879,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/spark/CumulativeOffsetSPInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction(ExecutionContext)</a></span> - Method in class org.apache.sysds.runtime.instructions.spark.<a href="org/apache/sysds/runtime/instructions/spark/CumulativeOffsetSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">CumulativeOffsetSPInstruction</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/spark/DeCompressionSPInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction(ExecutionContext)</a></span> - Method in class org.apache.sysds.runtime.instructions.spark.<a href="org/apache/sysds/runtime/instructions/spark/DeCompressionSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">DeCompressionSPInstruction</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/spark/DnnSPInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction(ExecutionContext)</a></span> - Method in class org.apache.sysds.runtime.instructions.spark.<a href="org/apache/sysds/runtime/instructions/spark/DnnSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">DnnSPInstruction</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/spark/FrameAppendMSPInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction(ExecutionContext)</a></span> - Method in class org.apache.sysds.runtime.instructions.spark.<a href="org/apache/sysds/runtime/instructions/spark/FrameAppendMSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">FrameAppendMSPInstruction</a></dt>
@@ -23107,6 +24952,8 @@
 <div class="block">Remove variable instruction externalized as a static function in order to allow various
  cleanup procedures to use the same codepath as the actual rmVar instruction</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/LineageEstimator.html#processSingleInst-org.apache.sysds.runtime.instructions.Instruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-long-">processSingleInst(Instruction, ExecutionContext, long)</a></span> - Static method in class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageEstimator.html" title="class in org.apache.sysds.runtime.lineage">LineageEstimator</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html#prod--">prod()</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></dt>
 <dd>
 <div class="block">Wrapper method for reduceall-product of a matrix.</div>
@@ -23184,15 +25031,29 @@
 <div class="block">Obtains information that is stored in the manifest when the SystemDS jar is
  built.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/privacy/propagation/AppendPropagator.html#propagate--">propagate()</a></span> - Method in class org.apache.sysds.runtime.privacy.propagation.<a href="org/apache/sysds/runtime/privacy/propagation/AppendPropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation">AppendPropagator</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/privacy/propagation/ListAppendPropagator.html#propagate--">propagate()</a></span> - Method in class org.apache.sysds.runtime.privacy.propagation.<a href="org/apache/sysds/runtime/privacy/propagation/ListAppendPropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation">ListAppendPropagator</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/privacy/propagation/ListRemovePropagator.html#propagate--">propagate()</a></span> - Method in class org.apache.sysds.runtime.privacy.propagation.<a href="org/apache/sysds/runtime/privacy/propagation/ListRemovePropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation">ListRemovePropagator</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/privacy/propagation/MatrixMultiplicationPropagator.html#propagate--">propagate()</a></span> - Method in class org.apache.sysds.runtime.privacy.propagation.<a href="org/apache/sysds/runtime/privacy/propagation/MatrixMultiplicationPropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation">MatrixMultiplicationPropagator</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/privacy/propagation/Propagator.html#propagate--">propagate()</a></span> - Method in interface org.apache.sysds.runtime.privacy.propagation.<a href="org/apache/sysds/runtime/privacy/propagation/Propagator.html" title="interface in org.apache.sysds.runtime.privacy.propagation">Propagator</a></dt>
 <dd>
 <div class="block">Activates the propagation and returns the output privacy constraint.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/privacy/propagation/PropagatorMultiReturn.html#propagate--">propagate()</a></span> - Method in interface org.apache.sysds.runtime.privacy.propagation.<a href="org/apache/sysds/runtime/privacy/propagation/PropagatorMultiReturn.html" title="interface in org.apache.sysds.runtime.privacy.propagation">PropagatorMultiReturn</a></dt>
+<dd>
+<div class="block">Activates the propagation and returns the output privacy constraints.</div>
+</dd>
 <dt><a href="org/apache/sysds/runtime/privacy/propagation/Propagator.html" title="interface in org.apache.sysds.runtime.privacy.propagation"><span class="typeNameLink">Propagator</span></a> - Interface in <a href="org/apache/sysds/runtime/privacy/propagation/package-summary.html">org.apache.sysds.runtime.privacy.propagation</a></dt>
 <dd>
-<div class="block">Interface for all propagator instances.</div>
+<div class="block">Interface for all propagator instances with a single output.</div>
+</dd>
+<dt><a href="org/apache/sysds/runtime/privacy/propagation/PropagatorMultiReturn.html" title="interface in org.apache.sysds.runtime.privacy.propagation"><span class="typeNameLink">PropagatorMultiReturn</span></a> - Interface in <a href="org/apache/sysds/runtime/privacy/propagation/package-summary.html">org.apache.sysds.runtime.privacy.propagation</a></dt>
+<dd>
+<div class="block">Interface for all propagator instances with multiple outputs.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/api/mlcontext/ProjectInfo.html#properties--">properties()</a></span> - Method in class org.apache.sysds.api.mlcontext.<a href="org/apache/sysds/api/mlcontext/ProjectInfo.html" title="class in org.apache.sysds.api.mlcontext">ProjectInfo</a></dt>
 <dd>
@@ -23202,6 +25063,8 @@
 <dd>
 <div class="block">Obtain a manifest property value based on the key.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.html#proxy">proxy</a></span> - Static variable in class org.apache.sysds.runtime.instructions.gpu.<a href="org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">SpoofCUDAInstruction</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/SpoofCompiler.html#PRUNE_REDUNDANT_PLANS">PRUNE_REDUNDANT_PLANS</a></span> - Static variable in class org.apache.sysds.hops.codegen.<a href="org/apache/sysds/hops/codegen/SpoofCompiler.html" title="class in org.apache.sysds.hops.codegen">SpoofCompiler</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/template/CPlanMemoTable.html#pruneRedundant-long-boolean-org.apache.sysds.hops.codegen.opt.InterestingPoint:A-">pruneRedundant(long, boolean, InterestingPoint[])</a></span> - Method in class org.apache.sysds.hops.codegen.template.<a href="org/apache/sysds/hops/codegen/template/CPlanMemoTable.html" title="class in org.apache.sysds.hops.codegen.template">CPlanMemoTable</a></dt>
@@ -23218,6 +25081,24 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/Statement.html#PS_FEATURES">PS_FEATURES</a></span> - Static variable in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/Statement.html" title="class in org.apache.sysds.parser">Statement</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/parser/Statement.html#PS_FED_AGGREGATION_FNAME">PS_FED_AGGREGATION_FNAME</a></span> - Static variable in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/Statement.html" title="class in org.apache.sysds.parser">Statement</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/parser/Statement.html#PS_FED_BATCH_SIZE">PS_FED_BATCH_SIZE</a></span> - Static variable in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/Statement.html" title="class in org.apache.sysds.parser">Statement</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/parser/Statement.html#PS_FED_DATA_SIZE">PS_FED_DATA_SIZE</a></span> - Static variable in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/Statement.html" title="class in org.apache.sysds.parser">Statement</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/parser/Statement.html#PS_FED_GRADIENTS_FNAME">PS_FED_GRADIENTS_FNAME</a></span> - Static variable in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/Statement.html" title="class in org.apache.sysds.parser">Statement</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/parser/Statement.html#PS_FED_MODEL_VARID">PS_FED_MODEL_VARID</a></span> - Static variable in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/Statement.html" title="class in org.apache.sysds.parser">Statement</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/parser/Statement.html#PS_FED_NAMESPACE">PS_FED_NAMESPACE</a></span> - Static variable in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/Statement.html" title="class in org.apache.sysds.parser">Statement</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/parser/Statement.html#PS_FED_POSS_BATCHES_LOCAL">PS_FED_POSS_BATCHES_LOCAL</a></span> - Static variable in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/Statement.html" title="class in org.apache.sysds.parser">Statement</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/parser/Statement.html#PS_FED_RUNTIME_BALANCING">PS_FED_RUNTIME_BALANCING</a></span> - Static variable in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/Statement.html" title="class in org.apache.sysds.parser">Statement</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/parser/Statement.html#PS_FED_WEIGHTING">PS_FED_WEIGHTING</a></span> - Static variable in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/Statement.html" title="class in org.apache.sysds.parser">Statement</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/Statement.html#PS_FREQUENCY">PS_FREQUENCY</a></span> - Static variable in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/Statement.html" title="class in org.apache.sysds.parser">Statement</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/paramserv/ParamservUtils.html#PS_FUNC_PREFIX">PS_FUNC_PREFIX</a></span> - Static variable in class org.apache.sysds.runtime.controlprogram.paramserv.<a href="org/apache/sysds/runtime/controlprogram/paramserv/ParamservUtils.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv">ParamservUtils</a></dt>
@@ -23236,12 +25117,16 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/Statement.html#PS_SCHEME">PS_SCHEME</a></span> - Static variable in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/Statement.html" title="class in org.apache.sysds.parser">Statement</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/parser/Statement.html#PS_SEED">PS_SEED</a></span> - Static variable in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/Statement.html" title="class in org.apache.sysds.parser">Statement</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/Statement.html#PS_UPDATE_FUN">PS_UPDATE_FUN</a></span> - Static variable in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/Statement.html" title="class in org.apache.sysds.parser">Statement</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/Statement.html#PS_UPDATE_TYPE">PS_UPDATE_TYPE</a></span> - Static variable in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/Statement.html" title="class in org.apache.sysds.parser">Statement</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/Statement.html#PS_VAL_FEATURES">PS_VAL_FEATURES</a></span> - Static variable in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/Statement.html" title="class in org.apache.sysds.parser">Statement</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/parser/Statement.html#PS_VAL_FUN">PS_VAL_FUN</a></span> - Static variable in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/Statement.html" title="class in org.apache.sysds.parser">Statement</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/Statement.html#PS_VAL_LABELS">PS_VAL_LABELS</a></span> - Static variable in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/Statement.html" title="class in org.apache.sysds.parser">Statement</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/ProgramConverter.html#PSBODY_BEGIN">PSBODY_BEGIN</a></span> - Static variable in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/ProgramConverter.html" title="class in org.apache.sysds.runtime.util">ProgramConverter</a></dt>
@@ -23315,12 +25200,18 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyMap.html#putCol-int-int-org.apache.sysds.runtime.privacy.PrivacyConstraint.PrivacyLevel-">putCol(int, int, PrivacyConstraint.PrivacyLevel)</a></span> - Method in class org.apache.sysds.runtime.privacy.finegrained.<a href="org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyMap.html" title="class in org.apache.sysds.runtime.privacy.finegrained">FineGrainedPrivacyMap</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/codegen/CodegenUtils.html#putCUDAOpID-java.lang.String-int-">putCUDAOpID(String, int)</a></span> - Static method in class org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/CodegenUtils.html" title="class in org.apache.sysds.runtime.codegen">CodegenUtils</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/codegen/CodegenUtils.html#putCUDASource-int-java.lang.String-">putCUDASource(int, String)</a></span> - Static method in class org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/CodegenUtils.html" title="class in org.apache.sysds.runtime.codegen">CodegenUtils</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html#putElement-int-int-org.apache.sysds.runtime.privacy.PrivacyConstraint.PrivacyLevel-">putElement(int, int, PrivacyConstraint.PrivacyLevel)</a></span> - Method in interface org.apache.sysds.runtime.privacy.finegrained.<a href="org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html" title="interface in org.apache.sysds.runtime.privacy.finegrained">FineGrainedPrivacy</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyList.html#putElement-int-int-org.apache.sysds.runtime.privacy.PrivacyConstraint.PrivacyLevel-">putElement(int, int, PrivacyConstraint.PrivacyLevel)</a></span> - Method in class org.apache.sysds.runtime.privacy.finegrained.<a href="org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyList.html" title="class in org.apache.sysds.runtime.privacy.finegrained">FineGrainedPrivacyList</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyMap.html#putElement-int-int-org.apache.sysds.runtime.privacy.PrivacyConstraint.PrivacyLevel-">putElement(int, int, PrivacyConstraint.PrivacyLevel)</a></span> - Method in class org.apache.sysds.runtime.privacy.finegrained.<a href="org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyMap.html" title="class in org.apache.sysds.runtime.privacy.finegrained">FineGrainedPrivacyMap</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/privacy/PrivacyUtils.html#putFineGrainedConstraintsFromString-org.apache.sysds.runtime.privacy.finegrained.FineGrainedPrivacy-java.lang.String-">putFineGrainedConstraintsFromString(FineGrainedPrivacy, String)</a></span> - Static method in class org.apache.sysds.runtime.privacy.<a href="org/apache/sysds/runtime/privacy/PrivacyUtils.html" title="class in org.apache.sysds.runtime.privacy">PrivacyUtils</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/parfor/opt/OptTreePlanMappingAbstract.html#putHopMapping-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.parfor.opt.OptNode-">putHopMapping(Hop, OptNode)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.parfor.opt.<a href="org/apache/sysds/runtime/controlprogram/parfor/opt/OptTreePlanMappingAbstract.html" title="class in org.apache.sysds.runtime.controlprogram.parfor.opt">OptTreePlanMappingAbstract</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/parfor/opt/OptTreePlanMappingRuntime.html#putMapping-org.apache.sysds.runtime.instructions.Instruction-org.apache.sysds.runtime.controlprogram.parfor.opt.OptNode-">putMapping(Instruction, OptNode)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.parfor.opt.<a href="org/apache/sysds/runtime/controlprogram/parfor/opt/OptTreePlanMappingRuntime.html" title="class in org.apache.sysds.runtime.controlprogram.parfor.opt">OptTreePlanMappingRuntime</a></dt>
@@ -23358,6 +25249,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/LineageCache.html#putValue-java.util.List-org.apache.sysds.runtime.lineage.LineageItem:A-java.lang.String-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-long-">putValue(List&lt;DataIdentifier&gt;, LineageItem[], String, ExecutionContext, long)</a></span> - Static method in class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageCache.html" title="class in org.apache.sysds.runtime.lineage">LineageCache</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/LineageCache.html#putValue-org.apache.sysds.runtime.controlprogram.federated.FederatedUDF-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-long-">putValue(FederatedUDF, ExecutionContext, long)</a></span> - Static method in class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageCache.html" title="class in org.apache.sysds.runtime.lineage">LineageCache</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/util/Py4jConverterUtils.html" title="class in org.apache.sysds.runtime.util"><span class="typeNameLink">Py4jConverterUtils</span></a> - Class in <a href="org/apache/sysds/runtime/util/package-summary.html">org.apache.sysds.runtime.util</a></dt>
 <dd>
 <div class="block">Utils for converting python data to java.</div>
@@ -23383,18 +25276,24 @@
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/instructions/cp/QuantilePickCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp"><span class="typeNameLink">QuantilePickCPInstruction</span></a> - Class in <a href="org/apache/sysds/runtime/instructions/cp/package-summary.html">org.apache.sysds.runtime.instructions.cp</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/instructions/fed/QuantilePickFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">QuantilePickFEDInstruction</span></a> - Class in <a href="org/apache/sysds/runtime/instructions/fed/package-summary.html">org.apache.sysds.runtime.instructions.fed</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/instructions/spark/QuantilePickSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark"><span class="typeNameLink">QuantilePickSPInstruction</span></a> - Class in <a href="org/apache/sysds/runtime/instructions/spark/package-summary.html">org.apache.sysds.runtime.instructions.spark</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/instructions/cp/QuantileSortCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp"><span class="typeNameLink">QuantileSortCPInstruction</span></a> - Class in <a href="org/apache/sysds/runtime/instructions/cp/package-summary.html">org.apache.sysds.runtime.instructions.cp</a></dt>
 <dd>
 <div class="block">This class supports two variants of sort operation on a 1-dimensional input matrix.</div>
 </dd>
+<dt><a href="org/apache/sysds/runtime/instructions/fed/QuantileSortFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">QuantileSortFEDInstruction</span></a> - Class in <a href="org/apache/sysds/runtime/instructions/fed/package-summary.html">org.apache.sysds.runtime.instructions.fed</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/instructions/spark/QuantileSortSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark"><span class="typeNameLink">QuantileSortSPInstruction</span></a> - Class in <a href="org/apache/sysds/runtime/instructions/spark/package-summary.html">org.apache.sysds.runtime.instructions.spark</a></dt>
 <dd>
 <div class="block">This class supports two variants of sort operation on a 1-dimensional input matrix.</div>
 </dd>
 <dt><a href="org/apache/sysds/runtime/instructions/cp/QuaternaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp"><span class="typeNameLink">QuaternaryCPInstruction</span></a> - Class in <a href="org/apache/sysds/runtime/instructions/cp/package-summary.html">org.apache.sysds.runtime.instructions.cp</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/instructions/fed/QuaternaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">QuaternaryFEDInstruction</span></a> - Class in <a href="org/apache/sysds/runtime/instructions/fed/package-summary.html">org.apache.sysds.runtime.instructions.fed</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/hops/QuaternaryOp.html" title="class in org.apache.sysds.hops"><span class="typeNameLink">QuaternaryOp</span></a> - Class in <a href="org/apache/sysds/hops/package-summary.html">org.apache.sysds.hops</a></dt>
 <dd>
 <div class="block">Note: this hop should be called AggQuaternaryOp in consistency with AggUnaryOp and AggBinaryOp;
@@ -23414,9 +25313,9 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/QuaternaryOp.html#QuaternaryOp-java.lang.String-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.common.Types.OpOp4-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-">QuaternaryOp(String, Types.DataType, Types.ValueType, Types.OpOp4, Hop, Hop, Hop)</a></span> - Constructor for class org.apache.sysds.hops.<a href="org/apache/sysds/hops/QuaternaryOp.html" title="class in org.apache.sysds.hops">QuaternaryOp</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#quaternaryOperations-org.apache.sysds.runtime.matrix.operators.QuaternaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">quaternaryOperations(QuaternaryOperator, MatrixBlock, MatrixBlock, MatrixBlock, MatrixBlock)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">AbstractCompressedMatrixBlock</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#quaternaryOperations-org.apache.sysds.runtime.matrix.operators.QuaternaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">quaternaryOperations(QuaternaryOperator, MatrixBlock, MatrixBlock, MatrixBlock, MatrixBlock)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#quaternaryOperations-org.apache.sysds.runtime.matrix.operators.QuaternaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">quaternaryOperations(QuaternaryOperator, MatrixBlock, MatrixBlock, MatrixBlock, MatrixBlock, int)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">AbstractCompressedMatrixBlock</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#quaternaryOperations-org.apache.sysds.runtime.matrix.operators.QuaternaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">quaternaryOperations(QuaternaryOperator, MatrixBlock, MatrixBlock, MatrixBlock, MatrixBlock, int)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html#quaternaryOperations-org.apache.sysds.runtime.matrix.operators.QuaternaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">quaternaryOperations(QuaternaryOperator, MatrixBlock, MatrixBlock, MatrixBlock, MatrixBlock)</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></dt>
 <dd>&nbsp;</dd>
@@ -23454,6 +25353,16 @@
 </dd>
 <dt><a href="org/apache/sysds/runtime/instructions/spark/QuaternarySPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark"><span class="typeNameLink">QuaternarySPInstruction</span></a> - Class in <a href="org/apache/sysds/runtime/instructions/spark/package-summary.html">org.apache.sysds.runtime.instructions.spark</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/instructions/fed/QuaternaryWCeMMFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">QuaternaryWCeMMFEDInstruction</span></a> - Class in <a href="org/apache/sysds/runtime/instructions/fed/package-summary.html">org.apache.sysds.runtime.instructions.fed</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/instructions/fed/QuaternaryWDivMMFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">QuaternaryWDivMMFEDInstruction</span></a> - Class in <a href="org/apache/sysds/runtime/instructions/fed/package-summary.html">org.apache.sysds.runtime.instructions.fed</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/instructions/fed/QuaternaryWSigmoidFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">QuaternaryWSigmoidFEDInstruction</span></a> - Class in <a href="org/apache/sysds/runtime/instructions/fed/package-summary.html">org.apache.sysds.runtime.instructions.fed</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/instructions/fed/QuaternaryWSLossFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">QuaternaryWSLossFEDInstruction</span></a> - Class in <a href="org/apache/sysds/runtime/instructions/fed/package-summary.html">org.apache.sysds.runtime.instructions.fed</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/instructions/fed/QuaternaryWUMMFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">QuaternaryWUMMFEDInstruction</span></a> - Class in <a href="org/apache/sysds/runtime/instructions/fed/package-summary.html">org.apache.sysds.runtime.instructions.fed</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#quickGetValue-int-int-">quickGetValue(int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html#quickGetValue-int-int-">quickGetValue(int, int)</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></dt>
@@ -23570,9 +25479,9 @@
 <dd>
 <div class="block">Function to generate the random matrix with specified dimensions and block dimensions.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#randOperationsInPlace-org.apache.sysds.runtime.matrix.data.RandomMatrixGenerator-org.apache.commons.math3.random.Well1024a-long-">randOperationsInPlace(RandomMatrixGenerator, Well1024a, long)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">AbstractCompressedMatrixBlock</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#randOperationsInPlace-org.apache.sysds.runtime.matrix.data.RandomMatrixGenerator-org.apache.commons.math3.random.Well1024a-long-">randOperationsInPlace(RandomMatrixGenerator, Well1024a, long)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#randOperationsInPlace-org.apache.sysds.runtime.matrix.data.RandomMatrixGenerator-org.apache.commons.math3.random.Well1024a-long-int-">randOperationsInPlace(RandomMatrixGenerator, Well1024a, long, int)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">AbstractCompressedMatrixBlock</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#randOperationsInPlace-org.apache.sysds.runtime.matrix.data.RandomMatrixGenerator-org.apache.commons.math3.random.Well1024a-long-int-">randOperationsInPlace(RandomMatrixGenerator, Well1024a, long, int)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html#randOperationsInPlace-org.apache.sysds.runtime.matrix.data.RandomMatrixGenerator-org.apache.commons.math3.random.Well1024a-long-">randOperationsInPlace(RandomMatrixGenerator, Well1024a, long)</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></dt>
 <dd>
@@ -23592,6 +25501,10 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/LibMatrixCUDA.html#rbind-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.runtime.instructions.gpu.context.GPUContext-java.lang.String-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-java.lang.String-">rbind(ExecutionContext, GPUContext, String, MatrixObject, MatrixObject, String)</a></span> - Static method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/LibMatrixCUDA.html" title="class in org.apache.sysds.runtime.matrix.data">LibMatrixCUDA</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/privacy/propagation/RBindPropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation"><span class="typeNameLink">RBindPropagator</span></a> - Class in <a href="org/apache/sysds/runtime/privacy/propagation/package-summary.html">org.apache.sysds.runtime.privacy.propagation</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/privacy/propagation/RBindPropagator.html#RBindPropagator-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.privacy.PrivacyConstraint-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.privacy.PrivacyConstraint-">RBindPropagator(MatrixBlock, PrivacyConstraint, MatrixBlock, PrivacyConstraint)</a></span> - Constructor for class org.apache.sysds.runtime.privacy.propagation.<a href="org/apache/sysds/runtime/privacy/propagation/RBindPropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation">RBindPropagator</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/LocalFileUtils.html#rcDelete-java.io.File-">rcDelete(File)</a></span> - Static method in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/LocalFileUtils.html" title="class in org.apache.sysds.runtime.util">LocalFileUtils</a></dt>
 <dd>
 <div class="block">Recursively deletes an entire local file system directory
@@ -23671,7 +25584,7 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDReplaceFunction.html#RDDReplaceFunction-double-double-">RDDReplaceFunction(double, double)</a></span> - Constructor for class org.apache.sysds.runtime.instructions.spark.<a href="org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDReplaceFunction.html" title="class in org.apache.sysds.runtime.instructions.spark">ParameterizedBuiltinSPInstruction.RDDReplaceFunction</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDRExpandFunction.html#RDDRExpandFunction-double-boolean-boolean-boolean-long-">RDDRExpandFunction(double, boolean, boolean, boolean, long)</a></span> - Constructor for class org.apache.sysds.runtime.instructions.spark.<a href="org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDRExpandFunction.html" title="class in org.apache.sysds.runtime.instructions.spark">ParameterizedBuiltinSPInstruction.RDDRExpandFunction</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDRExpandFunction.html#RDDRExpandFunction-long-boolean-boolean-boolean-long-">RDDRExpandFunction(long, boolean, boolean, boolean, long)</a></span> - Constructor for class org.apache.sysds.runtime.instructions.spark.<a href="org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDRExpandFunction.html" title="class in org.apache.sysds.runtime.instructions.spark">ParameterizedBuiltinSPInstruction.RDDRExpandFunction</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/instructions/spark/utils/RDDSortUtils.html" title="class in org.apache.sysds.runtime.instructions.spark.utils"><span class="typeNameLink">RDDSortUtils</span></a> - Class in <a href="org/apache/sysds/runtime/instructions/spark/utils/package-summary.html">org.apache.sysds.runtime.instructions.spark.utils</a></dt>
 <dd>&nbsp;</dd>
@@ -23705,7 +25618,9 @@
 <dd>
 <div class="block">Convert a <code>RDD&lt;String&gt;</code> in IJV format to a <code>MatrixObject</code>.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDTransformApplyFunction.html#RDDTransformApplyFunction-org.apache.spark.broadcast.Broadcast-org.apache.spark.broadcast.Broadcast-">RDDTransformApplyFunction(Broadcast&lt;Encoder&gt;, Broadcast&lt;TfOffsetMap&gt;)</a></span> - Constructor for class org.apache.sysds.runtime.instructions.spark.<a href="org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDTransformApplyFunction.html" title="class in org.apache.sysds.runtime.instructions.spark">ParameterizedBuiltinSPInstruction.RDDTransformApplyFunction</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDTokenizeFunction.html#RDDTokenizeFunction-org.apache.sysds.runtime.transform.tokenize.Tokenizer-int-">RDDTokenizeFunction(Tokenizer, int)</a></span> - Constructor for class org.apache.sysds.runtime.instructions.spark.<a href="org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDTokenizeFunction.html" title="class in org.apache.sysds.runtime.instructions.spark">ParameterizedBuiltinSPInstruction.RDDTokenizeFunction</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDTransformApplyFunction.html#RDDTransformApplyFunction-org.apache.spark.broadcast.Broadcast-org.apache.spark.broadcast.Broadcast-">RDDTransformApplyFunction(Broadcast&lt;MultiColumnEncoder&gt;, Broadcast&lt;TfOffsetMap&gt;)</a></span> - Constructor for class org.apache.sysds.runtime.instructions.spark.<a href="org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDTransformApplyFunction.html" title="class in org.apache.sysds.runtime.instructions.spark">ParameterizedBuiltinSPInstruction.RDDTransformApplyFunction</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDTransformApplyOffsetFunction.html#RDDTransformApplyOffsetFunction-java.lang.String-java.lang.String:A-">RDDTransformApplyOffsetFunction(String, String[])</a></span> - Constructor for class org.apache.sysds.runtime.instructions.spark.<a href="org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDTransformApplyOffsetFunction.html" title="class in org.apache.sysds.runtime.instructions.spark">ParameterizedBuiltinSPInstruction.RDDTransformApplyOffsetFunction</a></dt>
 <dd>&nbsp;</dd>
@@ -23741,6 +25656,12 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/cp/KahanObject.html#read-java.io.DataInput-">read(DataInput)</a></span> - Method in class org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/KahanObject.html" title="class in org.apache.sysds.runtime.instructions.cp">KahanObject</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/io/ReaderWriterFederated.html#read-java.lang.String-org.apache.sysds.runtime.meta.DataCharacteristics-">read(String, DataCharacteristics)</a></span> - Static method in class org.apache.sysds.runtime.io.<a href="org/apache/sysds/runtime/io/ReaderWriterFederated.html" title="class in org.apache.sysds.runtime.io">ReaderWriterFederated</a></dt>
+<dd>
+<div class="block">Read a federated map from disk, It is not initialized before it is used in:
+ 
+ org.apache.sysds.runtime.instructions.fed.InitFEDInstruction</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/DataExpression.html#READ_VALID_MTD_PARAM_NAMES">READ_VALID_MTD_PARAM_NAMES</a></span> - Static variable in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/DataExpression.html" title="class in org.apache.sysds.parser">DataExpression</a></dt>
 <dd>
 <div class="block">Valid parameter names in metadata file</div>
@@ -23831,30 +25752,52 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/io/ReaderBinaryBlockParallel.html#ReaderBinaryBlockParallel-boolean-">ReaderBinaryBlockParallel(boolean)</a></span> - Constructor for class org.apache.sysds.runtime.io.<a href="org/apache/sysds/runtime/io/ReaderBinaryBlockParallel.html" title="class in org.apache.sysds.runtime.io">ReaderBinaryBlockParallel</a></dt>
 <dd>&nbsp;</dd>
-<dt><a href="org/apache/sysds/runtime/compress/ReaderColumnSelection.html" title="class in org.apache.sysds.runtime.compress"><span class="typeNameLink">ReaderColumnSelection</span></a> - Class in <a href="org/apache/sysds/runtime/compress/package-summary.html">org.apache.sysds.runtime.compress</a></dt>
+<dt><a href="org/apache/sysds/runtime/compress/readers/ReaderColumnSelection.html" title="class in org.apache.sysds.runtime.compress.readers"><span class="typeNameLink">ReaderColumnSelection</span></a> - Class in <a href="org/apache/sysds/runtime/compress/readers/package-summary.html">org.apache.sysds.runtime.compress.readers</a></dt>
 <dd>
 <div class="block">Base class for all column selection readers.</div>
 </dd>
-<dt><a href="org/apache/sysds/runtime/compress/ReaderColumnSelectionDense.html" title="class in org.apache.sysds.runtime.compress"><span class="typeNameLink">ReaderColumnSelectionDense</span></a> - Class in <a href="org/apache/sysds/runtime/compress/package-summary.html">org.apache.sysds.runtime.compress</a></dt>
+<dt><a href="org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionBitSet.html" title="class in org.apache.sysds.runtime.compress.readers"><span class="typeNameLink">ReaderColumnSelectionBitSet</span></a> - Class in <a href="org/apache/sysds/runtime/compress/readers/package-summary.html">org.apache.sysds.runtime.compress.readers</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/ReaderColumnSelectionDense.html#ReaderColumnSelectionDense-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-org.apache.sysds.runtime.compress.CompressionSettings-">ReaderColumnSelectionDense(MatrixBlock, int[], CompressionSettings)</a></span> - Constructor for class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/ReaderColumnSelectionDense.html" title="class in org.apache.sysds.runtime.compress">ReaderColumnSelectionDense</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionBitSet.html#ReaderColumnSelectionBitSet-java.util.BitSet-int-int:A-">ReaderColumnSelectionBitSet(BitSet, int, int[])</a></span> - Constructor for class org.apache.sysds.runtime.compress.readers.<a href="org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionBitSet.html" title="class in org.apache.sysds.runtime.compress.readers">ReaderColumnSelectionBitSet</a></dt>
 <dd>&nbsp;</dd>
-<dt><a href="org/apache/sysds/runtime/compress/ReaderColumnSelectionDenseSample.html" title="class in org.apache.sysds.runtime.compress"><span class="typeNameLink">ReaderColumnSelectionDenseSample</span></a> - Class in <a href="org/apache/sysds/runtime/compress/package-summary.html">org.apache.sysds.runtime.compress</a></dt>
-<dd>
-<div class="block">considers only a subset of row indexes</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/ReaderColumnSelectionDenseSample.html#ReaderColumnSelectionDenseSample-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-int:A-org.apache.sysds.runtime.compress.CompressionSettings-">ReaderColumnSelectionDenseSample(MatrixBlock, int[], int[], CompressionSettings)</a></span> - Constructor for class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/ReaderColumnSelectionDenseSample.html" title="class in org.apache.sysds.runtime.compress">ReaderColumnSelectionDenseSample</a></dt>
+<dt><a href="org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionDenseMultiBlock.html" title="class in org.apache.sysds.runtime.compress.readers"><span class="typeNameLink">ReaderColumnSelectionDenseMultiBlock</span></a> - Class in <a href="org/apache/sysds/runtime/compress/readers/package-summary.html">org.apache.sysds.runtime.compress.readers</a></dt>
 <dd>&nbsp;</dd>
-<dt><a href="org/apache/sysds/runtime/compress/ReaderColumnSelectionSparse.html" title="class in org.apache.sysds.runtime.compress"><span class="typeNameLink">ReaderColumnSelectionSparse</span></a> - Class in <a href="org/apache/sysds/runtime/compress/package-summary.html">org.apache.sysds.runtime.compress</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionDenseMultiBlock.html#ReaderColumnSelectionDenseMultiBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">ReaderColumnSelectionDenseMultiBlock(MatrixBlock, int[])</a></span> - Constructor for class org.apache.sysds.runtime.compress.readers.<a href="org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionDenseMultiBlock.html" title="class in org.apache.sysds.runtime.compress.readers">ReaderColumnSelectionDenseMultiBlock</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionDenseMultiBlockTransposed.html" title="class in org.apache.sysds.runtime.compress.readers"><span class="typeNameLink">ReaderColumnSelectionDenseMultiBlockTransposed</span></a> - Class in <a href="org/apache/sysds/runtime/compress/readers/package-summary.html">org.apache.sysds.runtime.compress.readers</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionDenseMultiBlockTransposed.html#ReaderColumnSelectionDenseMultiBlockTransposed-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">ReaderColumnSelectionDenseMultiBlockTransposed(MatrixBlock, int[])</a></span> - Constructor for class org.apache.sysds.runtime.compress.readers.<a href="org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionDenseMultiBlockTransposed.html" title="class in org.apache.sysds.runtime.compress.readers">ReaderColumnSelectionDenseMultiBlockTransposed</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionDenseSingleBlock.html" title="class in org.apache.sysds.runtime.compress.readers"><span class="typeNameLink">ReaderColumnSelectionDenseSingleBlock</span></a> - Class in <a href="org/apache/sysds/runtime/compress/readers/package-summary.html">org.apache.sysds.runtime.compress.readers</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionDenseSingleBlock.html#ReaderColumnSelectionDenseSingleBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">ReaderColumnSelectionDenseSingleBlock(MatrixBlock, int[])</a></span> - Constructor for class org.apache.sysds.runtime.compress.readers.<a href="org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionDenseSingleBlock.html" title="class in org.apache.sysds.runtime.compress.readers">ReaderColumnSelectionDenseSingleBlock</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionDenseSingleBlockTransposed.html" title="class in org.apache.sysds.runtime.compress.readers"><span class="typeNameLink">ReaderColumnSelectionDenseSingleBlockTransposed</span></a> - Class in <a href="org/apache/sysds/runtime/compress/readers/package-summary.html">org.apache.sysds.runtime.compress.readers</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionDenseSingleBlockTransposed.html#ReaderColumnSelectionDenseSingleBlockTransposed-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">ReaderColumnSelectionDenseSingleBlockTransposed(MatrixBlock, int[])</a></span> - Constructor for class org.apache.sysds.runtime.compress.readers.<a href="org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionDenseSingleBlockTransposed.html" title="class in org.apache.sysds.runtime.compress.readers">ReaderColumnSelectionDenseSingleBlockTransposed</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionSparse.html" title="class in org.apache.sysds.runtime.compress.readers"><span class="typeNameLink">ReaderColumnSelectionSparse</span></a> - Class in <a href="org/apache/sysds/runtime/compress/readers/package-summary.html">org.apache.sysds.runtime.compress.readers</a></dt>
 <dd>
 <div class="block">Used to extract the values at certain indexes from each row in a sparse matrix
  
  Keeps returning all-zeros arrays until reaching the last possible index.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/ReaderColumnSelectionSparse.html#ReaderColumnSelectionSparse-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-org.apache.sysds.runtime.compress.CompressionSettings-">ReaderColumnSelectionSparse(MatrixBlock, int[], CompressionSettings)</a></span> - Constructor for class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/ReaderColumnSelectionSparse.html" title="class in org.apache.sysds.runtime.compress">ReaderColumnSelectionSparse</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionSparse.html#ReaderColumnSelectionSparse-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">ReaderColumnSelectionSparse(MatrixBlock, int[])</a></span> - Constructor for class org.apache.sysds.runtime.compress.readers.<a href="org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionSparse.html" title="class in org.apache.sysds.runtime.compress.readers">ReaderColumnSelectionSparse</a></dt>
 <dd>
 <div class="block">Reader of sparse matrix blocks for compression.</div>
 </dd>
+<dt><a href="org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionSparseTransposed.html" title="class in org.apache.sysds.runtime.compress.readers"><span class="typeNameLink">ReaderColumnSelectionSparseTransposed</span></a> - Class in <a href="org/apache/sysds/runtime/compress/readers/package-summary.html">org.apache.sysds.runtime.compress.readers</a></dt>
+<dd>
+<div class="block">Used to extract the values at certain indexes from each row in a sparse matrix
+ 
+ Keeps returning all-zeros arrays until reaching the last possible index.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionSparseTransposed.html#ReaderColumnSelectionSparseTransposed-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">ReaderColumnSelectionSparseTransposed(MatrixBlock, int[])</a></span> - Constructor for class org.apache.sysds.runtime.compress.readers.<a href="org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionSparseTransposed.html" title="class in org.apache.sysds.runtime.compress.readers">ReaderColumnSelectionSparseTransposed</a></dt>
+<dd>
+<div class="block">Reader of sparse matrix blocks for compression.</div>
+</dd>
+<dt><a href="org/apache/sysds/runtime/compress/readers/ReaderCompressedSelection.html" title="class in org.apache.sysds.runtime.compress.readers"><span class="typeNameLink">ReaderCompressedSelection</span></a> - Class in <a href="org/apache/sysds/runtime/compress/readers/package-summary.html">org.apache.sysds.runtime.compress.readers</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/io/ReaderTextCell.html" title="class in org.apache.sysds.runtime.io"><span class="typeNameLink">ReaderTextCell</span></a> - Class in <a href="org/apache/sysds/runtime/io/package-summary.html">org.apache.sysds.runtime.io</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/io/ReaderTextCell.html#ReaderTextCell-org.apache.sysds.common.Types.FileFormat-">ReaderTextCell(Types.FileFormat)</a></span> - Constructor for class org.apache.sysds.runtime.io.<a href="org/apache/sysds/runtime/io/ReaderTextCell.html" title="class in org.apache.sysds.runtime.io">ReaderTextCell</a></dt>
@@ -23894,6 +25837,12 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/io/ReaderTextLIBSVMParallel.html#ReaderTextLIBSVMParallel--">ReaderTextLIBSVMParallel()</a></span> - Constructor for class org.apache.sysds.runtime.io.<a href="org/apache/sysds/runtime/io/ReaderTextLIBSVMParallel.html" title="class in org.apache.sysds.runtime.io">ReaderTextLIBSVMParallel</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/io/ReaderWriterFederated.html" title="class in org.apache.sysds.runtime.io"><span class="typeNameLink">ReaderWriterFederated</span></a> - Class in <a href="org/apache/sysds/runtime/io/package-summary.html">org.apache.sysds.runtime.io</a></dt>
+<dd>
+<div class="block">This class serves as the reader for federated objects.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/io/ReaderWriterFederated.html#ReaderWriterFederated--">ReaderWriterFederated()</a></span> - Constructor for class org.apache.sysds.runtime.io.<a href="org/apache/sysds/runtime/io/ReaderWriterFederated.html" title="class in org.apache.sysds.runtime.io">ReaderWriterFederated</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#readExternal-java.io.ObjectInput-">readExternal(ObjectInput)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></dt>
 <dd>
 <div class="block">Redirects the default java serialization via externalizable to our default hadoop writable serialization for
@@ -23906,6 +25855,11 @@
 <div class="block">Redirects the default java serialization via externalizable to our default
  hadoop writable serialization for consistency/maintainability.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/cp/ListObject.html#readExternal-java.io.ObjectInput-">readExternal(ObjectInput)</a></span> - Method in class org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/ListObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ListObject</a></dt>
+<dd>
+<div class="block">Redirects the default java serialization via externalizable to our default
+ hadoop writable serialization for efficient broadcast/rdd deserialization.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/spark/data/CorrMatrixBlock.html#readExternal-java.io.ObjectInput-">readExternal(ObjectInput)</a></span> - Method in class org.apache.sysds.runtime.instructions.spark.data.<a href="org/apache/sysds/runtime/instructions/spark/data/CorrMatrixBlock.html" title="class in org.apache.sysds.runtime.instructions.spark.data">CorrMatrixBlock</a></dt>
 <dd>
 <div class="block">Redirects the default java serialization via externalizable to our default 
@@ -23935,20 +25889,75 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/privacy/PrivacyConstraint.html#readExternal-java.io.ObjectInput-">readExternal(ObjectInput)</a></span> - Method in class org.apache.sysds.runtime.privacy.<a href="org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html#readFields-java.io.DataInput-">readFields(DataInput)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/decode/Decoder.html#readExternal-java.io.ObjectInput-">readExternal(ObjectInput)</a></span> - Method in class org.apache.sysds.runtime.transform.decode.<a href="org/apache/sysds/runtime/transform/decode/Decoder.html" title="class in org.apache.sysds.runtime.transform.decode">Decoder</a></dt>
+<dd>
+<div class="block">Redirects the default java serialization via externalizable to our default
+ hadoop writable serialization for efficient broadcast/rdd deserialization.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/decode/DecoderComposite.html#readExternal-java.io.ObjectInput-">readExternal(ObjectInput)</a></span> - Method in class org.apache.sysds.runtime.transform.decode.<a href="org/apache/sysds/runtime/transform/decode/DecoderComposite.html" title="class in org.apache.sysds.runtime.transform.decode">DecoderComposite</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/decode/DecoderDummycode.html#readExternal-java.io.ObjectInput-">readExternal(ObjectInput)</a></span> - Method in class org.apache.sysds.runtime.transform.decode.<a href="org/apache/sysds/runtime/transform/decode/DecoderDummycode.html" title="class in org.apache.sysds.runtime.transform.decode">DecoderDummycode</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/decode/DecoderPassThrough.html#readExternal-java.io.ObjectInput-">readExternal(ObjectInput)</a></span> - Method in class org.apache.sysds.runtime.transform.decode.<a href="org/apache/sysds/runtime/transform/decode/DecoderPassThrough.html" title="class in org.apache.sysds.runtime.transform.decode">DecoderPassThrough</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/decode/DecoderRecode.html#readExternal-java.io.ObjectInput-">readExternal(ObjectInput)</a></span> - Method in class org.apache.sysds.runtime.transform.decode.<a href="org/apache/sysds/runtime/transform/decode/DecoderRecode.html" title="class in org.apache.sysds.runtime.transform.decode">DecoderRecode</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#readExternal-java.io.ObjectInput-">readExternal(ObjectInput)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a></dt>
+<dd>
+<div class="block">Redirects the default java serialization via externalizable to our default hadoop writable serialization for
+ efficient broadcast/rdd deserialization.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderBin.html#readExternal-java.io.ObjectInput-">readExternal(ObjectInput)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderBin.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderBin</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html#readExternal-java.io.ObjectInput-">readExternal(ObjectInput)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderComposite</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderDummycode.html#readExternal-java.io.ObjectInput-">readExternal(ObjectInput)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderDummycode.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderDummycode</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderFeatureHash.html#readExternal-java.io.ObjectInput-">readExternal(ObjectInput)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderFeatureHash.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderFeatureHash</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderRecode.html#readExternal-java.io.ObjectInput-">readExternal(ObjectInput)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderRecode.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderRecode</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html#readExternal-java.io.ObjectInput-">readExternal(ObjectInput)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderMVImpute</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderOmit.html#readExternal-java.io.ObjectInput-">readExternal(ObjectInput)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderOmit.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderOmit</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#readExternal-java.io.ObjectInput-">readExternal(ObjectInput)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/LegacyEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">LegacyEncoder</a></dt>
+<dd>
+<div class="block">Redirects the default java serialization via externalizable to our default hadoop writable serialization for
+ efficient broadcast/rdd deserialization.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#readExternal-java.io.ObjectInput-">readExternal(ObjectInput)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html#readFields-java.io.DataInput-">readFields(DataInput)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></dt>
 <dd>
 <div class="block">Deserialize column group from data input.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html#readFields-java.io.DataInput-">readFields(DataInput)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC1</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html#readFields-java.io.DataInput-">readFields(DataInput)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC2</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#readFields-java.io.DataInput-">readFields(DataInput)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#readFields-java.io.DataInput-">readFields(DataInput)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOffset</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html#readFields-java.io.DataInput-">readFields(DataInput)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDC</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html#readFields-java.io.DataInput-">readFields(DataInput)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingle</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html#readFields-java.io.DataInput-">readFields(DataInput)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingleZeros</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#readFields-java.io.DataInput-">readFields(DataInput)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCZeros</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#readFields-java.io.DataInput-">readFields(DataInput)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupUncompressed</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#readFields-java.io.DataInput-">readFields(DataInput)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html#readFields-java.io.DataInput-">readFields(DataInput)</a></span> - Method in interface org.apache.sysds.runtime.compress.colgroup.mapping.<a href="org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html" title="interface in org.apache.sysds.runtime.compress.colgroup.mapping">IMapToData</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToBit.html#readFields-java.io.DataInput-">readFields(DataInput)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.mapping.<a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToBit.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping">MapToBit</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToByte.html#readFields-java.io.DataInput-">readFields(DataInput)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.mapping.<a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToByte.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping">MapToByte</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToChar.html#readFields-java.io.DataInput-">readFields(DataInput)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.mapping.<a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToChar.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping">MapToChar</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToInt.html#readFields-java.io.DataInput-">readFields(DataInput)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.mapping.<a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToInt.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping">MapToInt</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#readFields-java.io.DataInput-">readFields(DataInput)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/parfor/ResultMergeTaggedMatrixIndexes.html#readFields-java.io.DataInput-">readFields(DataInput)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.parfor.<a href="org/apache/sysds/runtime/controlprogram/parfor/ResultMergeTaggedMatrixIndexes.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">ResultMergeTaggedMatrixIndexes</a></dt>
@@ -24042,6 +26051,8 @@
 <dd>
 <div class="block">Read groups from a file.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToFactory.html#readIn-int-java.io.DataInput-int-">readIn(int, DataInput, int)</a></span> - Static method in class org.apache.sysds.runtime.compress.colgroup.mapping.<a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToFactory.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping">MapToFactory</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/io/ReaderBinaryBlock.html#readIndexedMatrixBlocksFromHDFS-java.lang.String-long-long-int-">readIndexedMatrixBlocksFromHDFS(String, long, long, int)</a></span> - Method in class org.apache.sysds.runtime.io.<a href="org/apache/sysds/runtime/io/ReaderBinaryBlock.html" title="class in org.apache.sysds.runtime.io">ReaderBinaryBlock</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/caching/CacheDataInput.html#readInt--">readInt()</a></span> - Method in class org.apache.sysds.runtime.controlprogram.caching.<a href="org/apache/sysds/runtime/controlprogram/caching/CacheDataInput.html" title="class in org.apache.sysds.runtime.controlprogram.caching">CacheDataInput</a></dt>
@@ -24272,16 +26283,12 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/paramserv/rpc/PSRpcHandler.html#receive-org.apache.spark.network.client.TransportClient-java.nio.ByteBuffer-org.apache.spark.network.client.RpcResponseCallback-">receive(TransportClient, ByteBuffer, RpcResponseCallback)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.paramserv.rpc.<a href="org/apache/sysds/runtime/controlprogram/paramserv/rpc/PSRpcHandler.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.rpc">PSRpcHandler</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html#recodeData-java.util.HashMap-">recodeData(HashMap&lt;Double, Integer&gt;)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC1</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/SpoofCompiler.html#RECOMPILE_CODEGEN">RECOMPILE_CODEGEN</a></span> - Static variable in class org.apache.sysds.hops.codegen.<a href="org/apache/sysds/hops/codegen/SpoofCompiler.html" title="class in org.apache.sysds.hops.codegen">SpoofCompiler</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/recompile/Recompiler.html#recompileHopsDag-org.apache.sysds.parser.StatementBlock-java.util.ArrayList-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.hops.recompile.RecompileStatus-boolean-boolean-long-">recompileHopsDag(StatementBlock, ArrayList&lt;Hop&gt;, ExecutionContext, RecompileStatus, boolean, boolean, long)</a></span> - Static method in class org.apache.sysds.hops.recompile.<a href="org/apache/sysds/hops/recompile/Recompiler.html" title="class in org.apache.sysds.hops.recompile">Recompiler</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/recompile/Recompiler.html#recompileHopsDag-org.apache.sysds.parser.StatementBlock-java.util.ArrayList-org.apache.sysds.runtime.controlprogram.LocalVariableMap-org.apache.sysds.hops.recompile.RecompileStatus-boolean-boolean-long-">recompileHopsDag(StatementBlock, ArrayList&lt;Hop&gt;, LocalVariableMap, RecompileStatus, boolean, boolean, long)</a></span> - Static method in class org.apache.sysds.hops.recompile.<a href="org/apache/sysds/hops/recompile/Recompiler.html" title="class in org.apache.sysds.hops.recompile">Recompiler</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/recompile/Recompiler.html#recompileHopsDag-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.hops.recompile.RecompileStatus-boolean-boolean-long-">recompileHopsDag(Hop, ExecutionContext, RecompileStatus, boolean, boolean, long)</a></span> - Static method in class org.apache.sysds.hops.recompile.<a href="org/apache/sysds/hops/recompile/Recompiler.html" title="class in org.apache.sysds.hops.recompile">Recompiler</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/recompile/Recompiler.html#recompileHopsDag-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-org.apache.sysds.hops.recompile.RecompileStatus-boolean-boolean-long-">recompileHopsDag(Hop, LocalVariableMap, RecompileStatus, boolean, boolean, long)</a></span> - Static method in class org.apache.sysds.hops.recompile.<a href="org/apache/sysds/hops/recompile/Recompiler.html" title="class in org.apache.sysds.hops.recompile">Recompiler</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/recompile/Recompiler.html#recompileHopsDag2Forced-org.apache.sysds.parser.StatementBlock-java.util.ArrayList-long-org.apache.sysds.lops.LopProperties.ExecType-">recompileHopsDag2Forced(StatementBlock, ArrayList&lt;Hop&gt;, long, LopProperties.ExecType)</a></span> - Static method in class org.apache.sysds.hops.recompile.<a href="org/apache/sysds/hops/recompile/Recompiler.html" title="class in org.apache.sysds.hops.recompile">Recompiler</a></dt>
@@ -24292,7 +26299,7 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/recompile/Recompiler.html#recompileHopsDagInstructions-org.apache.sysds.hops.Hop-">recompileHopsDagInstructions(Hop)</a></span> - Static method in class org.apache.sysds.hops.recompile.<a href="org/apache/sysds/hops/recompile/Recompiler.html" title="class in org.apache.sysds.hops.recompile">Recompiler</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/recompile/Recompiler.html#recompileProgramBlockHierarchy-java.util.ArrayList-org.apache.sysds.runtime.controlprogram.LocalVariableMap-long-org.apache.sysds.hops.recompile.Recompiler.ResetType-">recompileProgramBlockHierarchy(ArrayList&lt;ProgramBlock&gt;, LocalVariableMap, long, Recompiler.ResetType)</a></span> - Static method in class org.apache.sysds.hops.recompile.<a href="org/apache/sysds/hops/recompile/Recompiler.html" title="class in org.apache.sysds.hops.recompile">Recompiler</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/recompile/Recompiler.html#recompileProgramBlockHierarchy-java.util.ArrayList-org.apache.sysds.runtime.controlprogram.LocalVariableMap-long-boolean-org.apache.sysds.hops.recompile.Recompiler.ResetType-">recompileProgramBlockHierarchy(ArrayList&lt;ProgramBlock&gt;, LocalVariableMap, long, boolean, Recompiler.ResetType)</a></span> - Static method in class org.apache.sysds.hops.recompile.<a href="org/apache/sysds/hops/recompile/Recompiler.html" title="class in org.apache.sysds.hops.recompile">Recompiler</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/recompile/Recompiler.html#recompileProgramBlockHierarchy2Forced-java.util.ArrayList-long-java.util.HashSet-org.apache.sysds.lops.LopProperties.ExecType-">recompileProgramBlockHierarchy2Forced(ArrayList&lt;ProgramBlock&gt;, long, HashSet&lt;String&gt;, LopProperties.ExecType)</a></span> - Static method in class org.apache.sysds.hops.recompile.<a href="org/apache/sysds/hops/recompile/Recompiler.html" title="class in org.apache.sysds.hops.recompile">Recompiler</a></dt>
 <dd>
@@ -24305,6 +26312,8 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/paramserv/ParamservUtils.html#recompileProgramBlocks-int-java.util.List-">recompileProgramBlocks(int, List&lt;ProgramBlock&gt;)</a></span> - Static method in class org.apache.sysds.runtime.controlprogram.paramserv.<a href="org/apache/sysds/runtime/controlprogram/paramserv/ParamservUtils.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv">ParamservUtils</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/paramserv/ParamservUtils.html#recompileProgramBlocks-int-java.util.List-boolean-">recompileProgramBlocks(int, List&lt;ProgramBlock&gt;, boolean)</a></span> - Static method in class org.apache.sysds.runtime.controlprogram.paramserv.<a href="org/apache/sysds/runtime/controlprogram/paramserv/ParamservUtils.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv">ParamservUtils</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/hops/recompile/Recompiler.html" title="class in org.apache.sysds.hops.recompile"><span class="typeNameLink">Recompiler</span></a> - Class in <a href="org/apache/sysds/hops/recompile/package-summary.html">org.apache.sysds.hops.recompile</a></dt>
 <dd>
 <div class="block">Dynamic recompilation of hop dags to runtime instructions, which includes the 
@@ -24324,6 +26333,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/recompile/RecompileStatus.html#RecompileStatus-boolean-">RecompileStatus(boolean)</a></span> - Constructor for class org.apache.sysds.hops.recompile.<a href="org/apache/sysds/hops/recompile/RecompileStatus.html" title="class in org.apache.sysds.hops.recompile">RecompileStatus</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/recompile/RecompileStatus.html#RecompileStatus-long-boolean-org.apache.sysds.hops.recompile.Recompiler.ResetType-boolean-">RecompileStatus(long, boolean, Recompiler.ResetType, boolean)</a></span> - Constructor for class org.apache.sysds.hops.recompile.<a href="org/apache/sysds/hops/recompile/RecompileStatus.html" title="class in org.apache.sysds.hops.recompile">RecompileStatus</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/FrameBlock.html#recomputeColumnCardinality--">recomputeColumnCardinality()</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/LibMatrixAgg.html#recomputeIndexes-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-int-org.apache.sysds.runtime.matrix.data.MatrixIndexes-">recomputeIndexes(MatrixBlock, AggregateUnaryOperator, int, MatrixIndexes)</a></span> - Static method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/LibMatrixAgg.html" title="class in org.apache.sysds.runtime.matrix.data">LibMatrixAgg</a></dt>
@@ -24336,6 +26347,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/utils/Statistics.html#recomputeNNZTime">recomputeNNZTime</a></span> - Static variable in class org.apache.sysds.utils.<a href="org/apache/sysds/utils/Statistics.html" title="class in org.apache.sysds.utils">Statistics</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#recomputeNonZeros--">recomputeNonZeros()</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/data/BasicTensorBlock.html#recomputeNonZeros--">recomputeNonZeros()</a></span> - Method in class org.apache.sysds.runtime.data.<a href="org/apache/sysds/runtime/data/BasicTensorBlock.html" title="class in org.apache.sysds.runtime.data">BasicTensorBlock</a></dt>
 <dd>
 <div class="block">Recomputes and materializes the number of non-zero values
@@ -24369,6 +26382,16 @@
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/functionobjects/ReduceRow.html" title="class in org.apache.sysds.runtime.functionobjects"><span class="typeNameLink">ReduceRow</span></a> - Class in <a href="org/apache/sysds/runtime/functionobjects/package-summary.html">org.apache.sysds.runtime.functionobjects</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/lib/CLALibReExpand.html#reExpand-org.apache.sysds.runtime.compress.CompressedMatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-double-boolean-boolean-int-">reExpand(CompressedMatrixBlock, MatrixBlock, double, boolean, boolean, int)</a></span> - Static method in class org.apache.sysds.runtime.compress.lib.<a href="org/apache/sysds/runtime/compress/lib/CLALibReExpand.html" title="class in org.apache.sysds.runtime.compress.lib">CLALibReExpand</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ADictionary.html#reExpandColumns-int-">reExpandColumns(int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></dt>
+<dd>
+<div class="block">return a new Dictionary that have re expanded all values, based on the entries already contained.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/Dictionary.html#reExpandColumns-int-">reExpandColumns(int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">Dictionary</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/QDictionary.html#reExpandColumns-int-">reExpandColumns(int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/QDictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">QDictionary</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/ProgramConverter.html#REF">REF</a></span> - Static variable in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/ProgramConverter.html" title="class in org.apache.sysds.runtime.util">ProgramConverter</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/Hop.html#refreshColsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">refreshColsParameterInformation(Hop, LocalVariableMap)</a></span> - Method in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a></dt>
@@ -24492,6 +26515,12 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html#releaseReadLock--">releaseReadLock()</a></span> - Method in class org.apache.sysds.runtime.instructions.gpu.context.<a href="org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">GPUObject</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/codegen/SpoofCUDACellwise.html#releaseScalarGPUMemory-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">releaseScalarGPUMemory(ExecutionContext)</a></span> - Method in class org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/SpoofCUDACellwise.html" title="class in org.apache.sysds.runtime.codegen">SpoofCUDACellwise</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html#releaseScalarGPUMemory-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">releaseScalarGPUMemory(ExecutionContext)</a></span> - Method in interface org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html" title="interface in org.apache.sysds.runtime.codegen">SpoofCUDAOperator</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/codegen/SpoofCUDARowwise.html#releaseScalarGPUMemory-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">releaseScalarGPUMemory(ExecutionContext)</a></span> - Method in class org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/SpoofCUDARowwise.html" title="class in org.apache.sysds.runtime.codegen">SpoofCUDARowwise</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#releaseTensorInput-java.lang.String-">releaseTensorInput(String)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.context.<a href="org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#releaseTensorInput-java.lang.String...-">releaseTensorInput(String...)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.context.<a href="org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a></dt>
@@ -24553,12 +26582,13 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/template/CPlanMemoTable.html#remove-org.apache.sysds.hops.Hop-org.apache.sysds.hops.codegen.template.TemplateBase.TemplateType-">remove(Hop, TemplateBase.TemplateType)</a></span> - Method in class org.apache.sysds.hops.codegen.template.<a href="org/apache/sysds/hops/codegen/template/CPlanMemoTable.html" title="class in org.apache.sysds.hops.codegen.template">CPlanMemoTable</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/cocode/PlanningMemoTable.html#remove-org.apache.sysds.runtime.compress.cocode.PlanningCoCodingGroup-">remove(PlanningCoCodingGroup)</a></span> - Method in class org.apache.sysds.runtime.compress.cocode.<a href="org/apache/sysds/runtime/compress/cocode/PlanningMemoTable.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningMemoTable</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/LocalVariableMap.html#remove-java.lang.String-">remove(String)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.<a href="org/apache/sysds/runtime/controlprogram/LocalVariableMap.html" title="class in org.apache.sysds.runtime.controlprogram">LocalVariableMap</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/cp/ListObject.html#remove-int-">remove(int)</a></span> - Method in class org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/ListObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ListObject</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block">Removes the element at the specified position from the list
+ and returns that element as the only element in a new ListObject.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/spark/data/LazyIterableIterator.html#remove--">remove()</a></span> - Method in class org.apache.sysds.runtime.instructions.spark.data.<a href="org/apache/sysds/runtime/instructions/spark/data/LazyIterableIterator.html" title="class in org.apache.sysds.runtime.instructions.spark.data">LazyIterableIterator</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/LocalVariableMap.html#removeAll--">removeAll()</a></span> - Method in class org.apache.sysds.runtime.controlprogram.<a href="org/apache/sysds/runtime/controlprogram/LocalVariableMap.html" title="class in org.apache.sysds.runtime.controlprogram">LocalVariableMap</a></dt>
@@ -24593,14 +26623,16 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/DRRLocalScheme.html#removeEmpty-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">removeEmpty(MatrixBlock, int, int)</a></span> - Static method in class org.apache.sysds.runtime.controlprogram.paramserv.dp.<a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/DRRLocalScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DRRLocalScheme</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#removeEmptyOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-boolean-org.apache.sysds.runtime.matrix.data.MatrixBlock-">removeEmptyOperations(MatrixBlock, boolean, boolean, MatrixBlock)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">AbstractCompressedMatrixBlock</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#removeEmptyOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-boolean-org.apache.sysds.runtime.matrix.data.MatrixBlock-">removeEmptyOperations(MatrixBlock, boolean, boolean, MatrixBlock)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#removeEmptyOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-boolean-">removeEmptyOperations(MatrixBlock, boolean, boolean)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">AbstractCompressedMatrixBlock</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#removeEmptyOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-boolean-">removeEmptyOperations(MatrixBlock, boolean, boolean)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html#removeEmptyOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-boolean-org.apache.sysds.runtime.matrix.data.MatrixBlock-">removeEmptyOperations(MatrixBlock, boolean, boolean, MatrixBlock)</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html#removeEmptyOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-boolean-">removeEmptyOperations(MatrixBlock, boolean, boolean)</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/LineageCache.html#removeEntry-org.apache.sysds.runtime.lineage.LineageItem-">removeEntry(LineageItem)</a></span> - Static method in class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageCache.html" title="class in org.apache.sysds.runtime.lineage">LineageCache</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/FunctionDictionary.html#removeFunction-java.lang.String-">removeFunction(String)</a></span> - Method in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/FunctionDictionary.html" title="class in org.apache.sysds.parser">FunctionDictionary</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/ipa/FunctionCallGraph.html#removeFunctionCall-java.lang.String-org.apache.sysds.hops.FunctionOp-org.apache.sysds.parser.StatementBlock-">removeFunctionCall(String, FunctionOp, StatementBlock)</a></span> - Method in class org.apache.sysds.hops.ipa.<a href="org/apache/sysds/hops/ipa/FunctionCallGraph.html" title="class in org.apache.sysds.hops.ipa">FunctionCallGraph</a></dt>
@@ -24618,6 +26650,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/DMLProgram.html#removeFunctionStatementBlock-java.lang.String-java.lang.String-">removeFunctionStatementBlock(String, String)</a></span> - Method in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/DMLProgram.html" title="class in org.apache.sysds.parser">DMLProgram</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#removeGPUObject-org.apache.sysds.runtime.instructions.gpu.context.GPUContext-">removeGPUObject(GPUContext)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.caching.<a href="org/apache/sysds/runtime/controlprogram/caching/CacheableData.html" title="class in org.apache.sysds.runtime.controlprogram.caching">CacheableData</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/gpu/context/GPUMemoryManager.html#removeGPUObject-org.apache.sysds.runtime.instructions.gpu.context.GPUObject-">removeGPUObject(GPUObject)</a></span> - Method in class org.apache.sysds.runtime.instructions.gpu.context.<a href="org/apache/sysds/runtime/instructions/gpu/context/GPUMemoryManager.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">GPUMemoryManager</a></dt>
 <dd>
 <div class="block">Removes the GPU object from the memory manager</div>
@@ -24628,10 +26662,14 @@
 <dd>
 <div class="block">Remove a specific pointer if present in the internal hashmap</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/DMVUtils.html#removeInnerCharacterInPattern-java.lang.String-char-char-">removeInnerCharacterInPattern(String, char, char)</a></span> - Static method in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/DMVUtils.html" title="class in org.apache.sysds.runtime.util">DMVUtils</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/DataOp.html#removeInput-java.lang.String-">removeInput(String)</a></span> - Method in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/DataOp.html" title="class in org.apache.sysds.hops">DataOp</a></dt>
 <dd>
 <div class="block">Remove an input from the list of inputs and from the parameter index map.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/LineageMap.html#removeLineageItem-java.lang.String-">removeLineageItem(String)</a></span> - Method in class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageMap.html" title="class in org.apache.sysds.runtime.lineage">LineageMap</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#removeMetaData--">removeMetaData()</a></span> - Method in class org.apache.sysds.runtime.controlprogram.caching.<a href="org/apache/sysds/runtime/controlprogram/caching/CacheableData.html" title="class in org.apache.sysds.runtime.controlprogram.caching">CacheableData</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/cp/Data.html#removeMetaData--">removeMetaData()</a></span> - Method in class org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/Data.html" title="class in org.apache.sysds.runtime.instructions.cp">Data</a></dt>
@@ -24643,6 +26681,8 @@
 <div class="block">Remove any scalar variables from the variable map if the variable
  is updated in this block.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/DMVUtils.html#removeUpperLowerCase-java.lang.String-">removeUpperLowerCase(String)</a></span> - Static method in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/DMVUtils.html" title="class in org.apache.sysds.runtime.util">DMVUtils</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#removeVariable-java.lang.String-">removeVariable(String)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.context.<a href="org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/VariableSet.html#removeVariables-org.apache.sysds.parser.VariableSet-">removeVariables(VariableSet)</a></span> - Method in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/VariableSet.html" title="class in org.apache.sysds.parser">VariableSet</a></dt>
@@ -24671,10 +26711,16 @@
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">ReorgFEDInstruction</span></a> - Class in <a href="org/apache/sysds/runtime/instructions/fed/package-summary.html">org.apache.sysds.runtime.instructions.fed</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.html#ReorgFEDInstruction-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-java.lang.String-java.lang.String-">ReorgFEDInstruction(CPOperand, CPOperand, String, String)</a></span> - Constructor for class org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">ReorgFEDInstruction</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.html#ReorgFEDInstruction-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-java.lang.String-java.lang.String-">ReorgFEDInstruction(Operator, CPOperand, CPOperand, String, String)</a></span> - Constructor for class org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">ReorgFEDInstruction</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.DiagMatrix.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">ReorgFEDInstruction.DiagMatrix</span></a> - Class in <a href="org/apache/sysds/runtime/instructions/fed/package-summary.html">org.apache.sysds.runtime.instructions.fed</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.Rdiag.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">ReorgFEDInstruction.Rdiag</span></a> - Class in <a href="org/apache/sysds/runtime/instructions/fed/package-summary.html">org.apache.sysds.runtime.instructions.fed</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/instructions/gpu/ReorgGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu"><span class="typeNameLink">ReorgGPUInstruction</span></a> - Class in <a href="org/apache/sysds/runtime/instructions/gpu/package-summary.html">org.apache.sysds.runtime.instructions.gpu</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/LibMatrixReorg.html#reorgInPlace-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.ReorgOperator-">reorgInPlace(MatrixBlock, ReorgOperator)</a></span> - Static method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/LibMatrixReorg.html" title="class in org.apache.sysds.runtime.matrix.data">LibMatrixReorg</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/instructions/spark/functions/ReorgMapFunction.html" title="class in org.apache.sysds.runtime.instructions.spark.functions"><span class="typeNameLink">ReorgMapFunction</span></a> - Class in <a href="org/apache/sysds/runtime/instructions/spark/functions/package-summary.html">org.apache.sysds.runtime.instructions.spark.functions</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/spark/functions/ReorgMapFunction.html#ReorgMapFunction-java.lang.String-">ReorgMapFunction(String)</a></span> - Constructor for class org.apache.sysds.runtime.instructions.spark.functions.<a href="org/apache/sysds/runtime/instructions/spark/functions/ReorgMapFunction.html" title="class in org.apache.sysds.runtime.instructions.spark.functions">ReorgMapFunction</a></dt>
@@ -24696,7 +26742,7 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/ReorgOp.html#ReorgOp-java.lang.String-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.common.Types.ReOrgOp-java.util.ArrayList-">ReorgOp(String, Types.DataType, Types.ValueType, Types.ReOrgOp, ArrayList&lt;Hop&gt;)</a></span> - Constructor for class org.apache.sysds.hops.<a href="org/apache/sysds/hops/ReorgOp.html" title="class in org.apache.sysds.hops">ReorgOp</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#reorgOperations-org.apache.sysds.runtime.matrix.operators.ReorgOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-int-int-int-">reorgOperations(ReorgOperator, MatrixValue, int, int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">AbstractCompressedMatrixBlock</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#reorgOperations-org.apache.sysds.runtime.matrix.operators.ReorgOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-int-int-int-">reorgOperations(ReorgOperator, MatrixValue, int, int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/CM_N_COVCell.html#reorgOperations-org.apache.sysds.runtime.matrix.operators.ReorgOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-int-int-int-">reorgOperations(ReorgOperator, MatrixValue, int, int, int)</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/CM_N_COVCell.html" title="class in org.apache.sysds.runtime.matrix.data">CM_N_COVCell</a></dt>
 <dd>&nbsp;</dd>
@@ -24745,7 +26791,7 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/InstructionUtils.html#replaceOperandName-java.lang.String-">replaceOperandName(String)</a></span> - Static method in class org.apache.sysds.runtime.instructions.<a href="org/apache/sysds/runtime/instructions/InstructionUtils.html" title="class in org.apache.sysds.runtime.instructions">InstructionUtils</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#replaceOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-double-double-">replaceOperations(MatrixValue, double, double)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">AbstractCompressedMatrixBlock</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#replaceOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-double-double-">replaceOperations(MatrixValue, double, double)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/CM_N_COVCell.html#replaceOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-double-double-">replaceOperations(MatrixValue, double, double)</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/CM_N_COVCell.html" title="class in org.apache.sysds.runtime.matrix.data">CM_N_COVCell</a></dt>
 <dd>&nbsp;</dd>
@@ -24771,6 +26817,14 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/spark/functions/ReplicateTensorFunction.html#ReplicateTensorFunction-int-long-">ReplicateTensorFunction(int, long)</a></span> - Constructor for class org.apache.sysds.runtime.instructions.spark.functions.<a href="org/apache/sysds/runtime/instructions/spark/functions/ReplicateTensorFunction.html" title="class in org.apache.sysds.runtime.instructions.spark.functions">ReplicateTensorFunction</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/ReplicateToMaxFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">ReplicateToMaxFederatedScheme</span></a> - Class in <a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/package-summary.html">org.apache.sysds.runtime.controlprogram.paramserv.dp</a></dt>
+<dd>
+<div class="block">Replicate to Max Federated scheme
+
+ When the parameter server runs in federated mode it cannot pull in the data which is already on the workers.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/ReplicateToMaxFederatedScheme.html#ReplicateToMaxFederatedScheme--">ReplicateToMaxFederatedScheme()</a></span> - Constructor for class org.apache.sysds.runtime.controlprogram.paramserv.dp.<a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/ReplicateToMaxFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">ReplicateToMaxFederatedScheme</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/instructions/spark/functions/ReplicateVectorFunction.html" title="class in org.apache.sysds.runtime.instructions.spark.functions"><span class="typeNameLink">ReplicateVectorFunction</span></a> - Class in <a href="org/apache/sysds/runtime/instructions/spark/functions/package-summary.html">org.apache.sysds.runtime.instructions.spark.functions</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/spark/functions/ReplicateVectorFunction.html#ReplicateVectorFunction-boolean-long-">ReplicateVectorFunction(boolean, long)</a></span> - Constructor for class org.apache.sysds.runtime.instructions.spark.functions.<a href="org/apache/sysds/runtime/instructions/spark/functions/ReplicateVectorFunction.html" title="class in org.apache.sysds.runtime.instructions.spark.functions">ReplicateVectorFunction</a></dt>
@@ -24803,6 +26857,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/lops/FunctionCallCP.html#requiresOutputCreateVar--">requiresOutputCreateVar()</a></span> - Method in class org.apache.sysds.lops.<a href="org/apache/sysds/lops/FunctionCallCP.html" title="class in org.apache.sysds.lops">FunctionCallCP</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/parser/ForStatementBlock.html#requiresPredicateRecompilation--">requiresPredicateRecompilation()</a></span> - Method in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/ForStatementBlock.html" title="class in org.apache.sysds.parser">ForStatementBlock</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/IfStatementBlock.html#requiresPredicateRecompilation--">requiresPredicateRecompilation()</a></span> - Method in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/IfStatementBlock.html" title="class in org.apache.sysds.parser">IfStatementBlock</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/WhileStatementBlock.html#requiresPredicateRecompilation--">requiresPredicateRecompilation()</a></span> - Method in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/WhileStatementBlock.html" title="class in org.apache.sysds.parser">WhileStatementBlock</a></dt>
@@ -24819,6 +26875,8 @@
 <dd>
 <div class="block">Indicates if dynamic recompilation is required for this hop.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/recompile/RecompileStatus.html#requiresRecompile--">requiresRecompile()</a></span> - Method in class org.apache.sysds.hops.recompile.<a href="org/apache/sysds/hops/recompile/RecompileStatus.html" title="class in org.apache.sysds.hops.recompile">RecompileStatus</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/BinaryOp.html#requiresReplication-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-">requiresReplication(Hop, Hop)</a></span> - Static method in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/BinaryOp.html" title="class in org.apache.sysds.hops">BinaryOp</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/ForStatementBlock.html#requiresToRecompilation--">requiresToRecompilation()</a></span> - Method in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/ForStatementBlock.html" title="class in org.apache.sysds.parser">ForStatementBlock</a></dt>
@@ -24833,10 +26891,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/codegen/SpoofOperator.SideInputSparseCell.html#reset--">reset()</a></span> - Method in class org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/SpoofOperator.SideInputSparseCell.html" title="class in org.apache.sysds.runtime.codegen">SpoofOperator.SideInputSparseCell</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/ReaderColumnSelection.html#reset--">reset()</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/ReaderColumnSelection.html" title="class in org.apache.sysds.runtime.compress">ReaderColumnSelection</a></dt>
-<dd>
-<div class="block">Resets the reader to the first row.</div>
-</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/caching/CacheStatistics.html#reset--">reset()</a></span> - Static method in class org.apache.sysds.runtime.controlprogram.caching.<a href="org/apache/sysds/runtime/controlprogram/caching/CacheStatistics.html" title="class in org.apache.sysds.runtime.controlprogram.caching">CacheStatistics</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/parfor/util/IDSequence.html#reset--">reset()</a></span> - Method in class org.apache.sysds.runtime.controlprogram.parfor.util.<a href="org/apache/sysds/runtime/controlprogram/parfor/util/IDSequence.html" title="class in org.apache.sysds.runtime.controlprogram.parfor.util">IDSequence</a></dt>
@@ -24952,6 +27006,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/LineageCodegenItem.html#reset--">reset()</a></span> - Static method in class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageCodegenItem.html" title="class in org.apache.sysds.runtime.lineage">LineageCodegenItem</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/LineageEstimatorStatistics.html#reset--">reset()</a></span> - Static method in class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageEstimatorStatistics.html" title="class in org.apache.sysds.runtime.lineage">LineageEstimatorStatistics</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/CM_N_COVCell.html#reset--">reset()</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/CM_N_COVCell.html" title="class in org.apache.sysds.runtime.matrix.data">CM_N_COVCell</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/CM_N_COVCell.html#reset-int-int-">reset(int, int)</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/CM_N_COVCell.html" title="class in org.apache.sysds.runtime.matrix.data">CM_N_COVCell</a></dt>
@@ -25004,6 +27060,8 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/FastStringTokenizer.html#reset-java.lang.String-">reset(String)</a></span> - Method in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/FastStringTokenizer.html" title="class in org.apache.sysds.runtime.util">FastStringTokenizer</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/utils/DMLCompressionStatistics.html#reset--">reset()</a></span> - Static method in class org.apache.sysds.utils.<a href="org/apache/sysds/utils/DMLCompressionStatistics.html" title="class in org.apache.sysds.utils">DMLCompressionStatistics</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/utils/GPUStatistics.html#reset--">reset()</a></span> - Static method in class org.apache.sysds.utils.<a href="org/apache/sysds/utils/GPUStatistics.html" title="class in org.apache.sysds.utils">GPUStatistics</a></dt>
 <dd>
 <div class="block">Resets all the cuda counters and timers, including the misc timers &amp; counters</div>
@@ -25028,12 +27086,18 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/OptimizerUtils.html#resetDefaultSize--">resetDefaultSize()</a></span> - Static method in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/OptimizerUtils.html" title="class in org.apache.sysds.hops">OptimizerUtils</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/LineageEstimator.html#resetEstimatorCache--">resetEstimatorCache()</a></span> - Static method in class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageEstimator.html" title="class in org.apache.sysds.runtime.lineage">LineageEstimator</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/Hop.html#resetExecType--">resetExecType()</a></span> - Method in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/federated/FederationUtils.html#resetFedDataID--">resetFedDataID()</a></span> - Static method in class org.apache.sysds.runtime.controlprogram.federated.<a href="org/apache/sysds/runtime/controlprogram/federated/FederationUtils.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationUtils</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/federated/FederatedData.html#resetFederatedSites--">resetFederatedSites()</a></span> - Static method in class org.apache.sysds.runtime.controlprogram.federated.<a href="org/apache/sysds/runtime/controlprogram/federated/FederatedData.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedData</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.html#resetFloatingPointPrecision--">resetFloatingPointPrecision()</a></span> - Static method in class org.apache.sysds.runtime.instructions.gpu.<a href="org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">SpoofCUDAInstruction</a></dt>
+<dd>
+<div class="block">Sets the internal state based on the DMLScript.DATA_TYPE</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/LibMatrixCUDA.html#resetFloatingPointPrecision--">resetFloatingPointPrecision()</a></span> - Static method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/LibMatrixCUDA.html" title="class in org.apache.sysds.runtime.matrix.data">LibMatrixCUDA</a></dt>
 <dd>
 <div class="block">Sets the internal state based on the DMLScript.DATA_TYPE</div>
@@ -25048,6 +27112,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/LineageItem.html#resetIDSequence--">resetIDSequence()</a></span> - Static method in class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/LineageItem.html#resetInputs--">resetInputs()</a></span> - Method in class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/Lineage.html#resetInternalState--">resetInternalState()</a></span> - Static method in class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/Lineage.html" title="class in org.apache.sysds.runtime.lineage">Lineage</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/utils/Statistics.html#resetJITCompileTime--">resetJITCompileTime()</a></span> - Static method in class org.apache.sysds.utils.<a href="org/apache/sysds/utils/Statistics.html" title="class in org.apache.sysds.utils">Statistics</a></dt>
@@ -25088,8 +27154,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/OptimizerUtils.html#resetStaticCompilerFlags--">resetStaticCompilerFlags()</a></span> - Static method in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/OptimizerUtils.html" title="class in org.apache.sysds.hops">OptimizerUtils</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/LibMatrixDNN.html#resetStatistics--">resetStatistics()</a></span> - Static method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/LibMatrixDNN.html" title="class in org.apache.sysds.runtime.matrix.data">LibMatrixDNN</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/cplan/CNode.html#resetVisitStatus--">resetVisitStatus()</a></span> - Method in class org.apache.sysds.hops.codegen.cplan.<a href="org/apache/sysds/hops/codegen/cplan/CNode.html" title="class in org.apache.sysds.hops.codegen.cplan">CNode</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/cplan/CNodeTpl.html#resetVisitStatus-java.util.List-">resetVisitStatus(List&lt;CNode&gt;)</a></span> - Static method in class org.apache.sysds.hops.codegen.cplan.<a href="org/apache/sysds/hops/codegen/cplan/CNodeTpl.html" title="class in org.apache.sysds.hops.codegen.cplan">CNodeTpl</a></dt>
@@ -25155,8 +27219,12 @@
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/instructions/cp/ReshapeCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp"><span class="typeNameLink">ReshapeCPInstruction</span></a> - Class in <a href="org/apache/sysds/runtime/instructions/cp/package-summary.html">org.apache.sysds.runtime.instructions.cp</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/instructions/fed/ReshapeFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">ReshapeFEDInstruction</span></a> - Class in <a href="org/apache/sysds/runtime/instructions/fed/package-summary.html">org.apache.sysds.runtime.instructions.fed</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/LineageCacheConfig.html#restartReuse-org.apache.sysds.runtime.lineage.LineageCacheConfig.ReuseCacheType-">restartReuse(LineageCacheConfig.ReuseCacheType)</a></span> - Static method in class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageCacheConfig.html" title="class in org.apache.sysds.runtime.lineage">LineageCacheConfig</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.Result.html#Result-java.util.List-java.util.List-int-org.apache.sysds.runtime.controlprogram.paramserv.dp.DataPartitionFederatedScheme.BalanceMetrics-java.util.List-">Result(List&lt;MatrixObject&gt;, List&lt;MatrixObject&gt;, int, DataPartitionFederatedScheme.BalanceMetrics, List&lt;Double&gt;)</a></span> - Constructor for class org.apache.sysds.runtime.controlprogram.paramserv.dp.<a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.Result.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionFederatedScheme.Result</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionLocalScheme.Result.html#Result-java.util.List-java.util.List-">Result(List&lt;MatrixObject&gt;, List&lt;MatrixObject&gt;)</a></span> - Constructor for class org.apache.sysds.runtime.controlprogram.paramserv.dp.<a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionLocalScheme.Result.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionLocalScheme.Result</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/ParForStatementBlock.html#RESULT_MERGE">RESULT_MERGE</a></span> - Static variable in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/ParForStatementBlock.html" title="class in org.apache.sysds.parser">ParForStatementBlock</a></dt>
@@ -25227,6 +27295,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/LineageCache.html#reuse-java.util.List-java.util.List-int-org.apache.sysds.runtime.lineage.LineageItem:A-java.lang.String-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">reuse(List&lt;String&gt;, List&lt;DataIdentifier&gt;, int, LineageItem[], String, ExecutionContext)</a></span> - Static method in class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageCache.html" title="class in org.apache.sysds.runtime.lineage">LineageCache</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/LineageCache.html#reuse-org.apache.sysds.runtime.controlprogram.federated.FederatedUDF-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">reuse(FederatedUDF, ExecutionContext)</a></span> - Static method in class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageCache.html" title="class in org.apache.sysds.runtime.lineage">LineageCache</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/parfor/CachedReuseVariables.html#reuseVariables-long-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.Collection-java.util.Map-boolean-">reuseVariables(long, LocalVariableMap, Collection&lt;String&gt;, Map&lt;String, Broadcast&lt;CacheBlock&gt;&gt;, boolean)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.parfor.<a href="org/apache/sysds/runtime/controlprogram/parfor/CachedReuseVariables.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">CachedReuseVariables</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/LibMatrixReorg.html#rev-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">rev(MatrixBlock, MatrixBlock)</a></span> - Static method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/LibMatrixReorg.html" title="class in org.apache.sysds.runtime.matrix.data">LibMatrixReorg</a></dt>
@@ -25243,6 +27313,8 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/OptimizerUtils.html#rEvalSimpleLongExpression-org.apache.sysds.hops.Hop-java.util.HashMap-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">rEvalSimpleLongExpression(Hop, HashMap&lt;Long, Long&gt;, LocalVariableMap)</a></span> - Static method in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/OptimizerUtils.html" title="class in org.apache.sysds.hops">OptimizerUtils</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/federated/FederationMap.html#reverseFedMap--">reverseFedMap()</a></span> - Method in class org.apache.sysds.runtime.controlprogram.federated.<a href="org/apache/sysds/runtime/controlprogram/federated/FederationMap.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationMap</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/functionobjects/RevIndex.html" title="class in org.apache.sysds.runtime.functionobjects"><span class="typeNameLink">RevIndex</span></a> - Class in <a href="org/apache/sysds/runtime/functionobjects/package-summary.html">org.apache.sysds.runtime.functionobjects</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html#rewireAllParentChildReferences-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-">rewireAllParentChildReferences(Hop, Hop)</a></span> - Static method in class org.apache.sysds.hops.rewrite.<a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html" title="class in org.apache.sysds.hops.rewrite">HopRewriteUtils</a></dt>
@@ -25277,9 +27349,8 @@
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/hops/rewrite/RewriteCompressedReblock.html" title="class in org.apache.sysds.hops.rewrite"><span class="typeNameLink">RewriteCompressedReblock</span></a> - Class in <a href="org/apache/sysds/hops/rewrite/package-summary.html">org.apache.sysds.hops.rewrite</a></dt>
 <dd>
-<div class="block">Rule: CompressedReblock: If config compressed.linalg is enabled, we
- inject compression directions after pread of matrices w/ both dims &gt; 1
- (i.e., multi-column matrices).</div>
+<div class="block">Rule: Compressed Re block if config compressed.linalg is enabled, we inject compression directions after read of
+ matrices if number of rows is above 1000 and cols at least 1.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/rewrite/RewriteCompressedReblock.html#RewriteCompressedReblock--">RewriteCompressedReblock()</a></span> - Constructor for class org.apache.sysds.hops.rewrite.<a href="org/apache/sysds/hops/rewrite/RewriteCompressedReblock.html" title="class in org.apache.sysds.hops.rewrite">RewriteCompressedReblock</a></dt>
 <dd>&nbsp;</dd>
@@ -25531,6 +27602,13 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/rewrite/RewriteRemoveEmptyBasicBlocks.html#RewriteRemoveEmptyBasicBlocks--">RewriteRemoveEmptyBasicBlocks()</a></span> - Constructor for class org.apache.sysds.hops.rewrite.<a href="org/apache/sysds/hops/rewrite/RewriteRemoveEmptyBasicBlocks.html" title="class in org.apache.sysds.hops.rewrite">RewriteRemoveEmptyBasicBlocks</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/hops/rewrite/RewriteRemoveForLoopEmptySequence.html" title="class in org.apache.sysds.hops.rewrite"><span class="typeNameLink">RewriteRemoveForLoopEmptySequence</span></a> - Class in <a href="org/apache/sysds/hops/rewrite/package-summary.html">org.apache.sysds.hops.rewrite</a></dt>
+<dd>
+<div class="block">Rule: Simplify program structure by removing (par)for statements iterating over
+ an empty sequence, i.e., (par)for-loops without a single iteration.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/rewrite/RewriteRemoveForLoopEmptySequence.html#RewriteRemoveForLoopEmptySequence--">RewriteRemoveForLoopEmptySequence()</a></span> - Constructor for class org.apache.sysds.hops.rewrite.<a href="org/apache/sysds/hops/rewrite/RewriteRemoveForLoopEmptySequence.html" title="class in org.apache.sysds.hops.rewrite">RewriteRemoveForLoopEmptySequence</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/hops/rewrite/RewriteRemovePersistentReadWrite.html" title="class in org.apache.sysds.hops.rewrite"><span class="typeNameLink">RewriteRemovePersistentReadWrite</span></a> - Class in <a href="org/apache/sysds/hops/rewrite/package-summary.html">org.apache.sysds.hops.rewrite</a></dt>
 <dd>
 <div class="block">This rewrite is a custom rewrite for JMLC in order to replace all persistent reads
@@ -25610,6 +27688,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/rewrite/RewriteRemoveEmptyBasicBlocks.html#rewriteStatementBlock-org.apache.sysds.parser.StatementBlock-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteStatementBlock(StatementBlock, ProgramRewriteStatus)</a></span> - Method in class org.apache.sysds.hops.rewrite.<a href="org/apache/sysds/hops/rewrite/RewriteRemoveEmptyBasicBlocks.html" title="class in org.apache.sysds.hops.rewrite">RewriteRemoveEmptyBasicBlocks</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/rewrite/RewriteRemoveForLoopEmptySequence.html#rewriteStatementBlock-org.apache.sysds.parser.StatementBlock-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteStatementBlock(StatementBlock, ProgramRewriteStatus)</a></span> - Method in class org.apache.sysds.hops.rewrite.<a href="org/apache/sysds/hops/rewrite/RewriteRemoveForLoopEmptySequence.html" title="class in org.apache.sysds.hops.rewrite">RewriteRemoveForLoopEmptySequence</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/rewrite/RewriteRemoveUnnecessaryBranches.html#rewriteStatementBlock-org.apache.sysds.parser.StatementBlock-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteStatementBlock(StatementBlock, ProgramRewriteStatus)</a></span> - Method in class org.apache.sysds.hops.rewrite.<a href="org/apache/sysds/hops/rewrite/RewriteRemoveUnnecessaryBranches.html" title="class in org.apache.sysds.hops.rewrite">RewriteRemoveUnnecessaryBranches</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/rewrite/RewriteSplitDagDataDependentOperators.html#rewriteStatementBlock-org.apache.sysds.parser.StatementBlock-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteStatementBlock(StatementBlock, ProgramRewriteStatus)</a></span> - Method in class org.apache.sysds.hops.rewrite.<a href="org/apache/sysds/hops/rewrite/RewriteSplitDagDataDependentOperators.html" title="class in org.apache.sysds.hops.rewrite">RewriteSplitDagDataDependentOperators</a></dt>
@@ -25636,6 +27716,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/rewrite/RewriteRemoveEmptyBasicBlocks.html#rewriteStatementBlocks-java.util.List-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteStatementBlocks(List&lt;StatementBlock&gt;, ProgramRewriteStatus)</a></span> - Method in class org.apache.sysds.hops.rewrite.<a href="org/apache/sysds/hops/rewrite/RewriteRemoveEmptyBasicBlocks.html" title="class in org.apache.sysds.hops.rewrite">RewriteRemoveEmptyBasicBlocks</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/rewrite/RewriteRemoveForLoopEmptySequence.html#rewriteStatementBlocks-java.util.List-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteStatementBlocks(List&lt;StatementBlock&gt;, ProgramRewriteStatus)</a></span> - Method in class org.apache.sysds.hops.rewrite.<a href="org/apache/sysds/hops/rewrite/RewriteRemoveForLoopEmptySequence.html" title="class in org.apache.sysds.hops.rewrite">RewriteRemoveForLoopEmptySequence</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/rewrite/RewriteRemoveUnnecessaryBranches.html#rewriteStatementBlocks-java.util.List-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteStatementBlocks(List&lt;StatementBlock&gt;, ProgramRewriteStatus)</a></span> - Method in class org.apache.sysds.hops.rewrite.<a href="org/apache/sysds/hops/rewrite/RewriteRemoveUnnecessaryBranches.html" title="class in org.apache.sysds.hops.rewrite">RewriteRemoveUnnecessaryBranches</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/rewrite/RewriteSplitDagDataDependentOperators.html#rewriteStatementBlocks-java.util.List-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteStatementBlocks(List&lt;StatementBlock&gt;, ProgramRewriteStatus)</a></span> - Method in class org.apache.sysds.hops.rewrite.<a href="org/apache/sysds/hops/rewrite/RewriteSplitDagDataDependentOperators.html" title="class in org.apache.sysds.hops.rewrite">RewriteSplitDagDataDependentOperators</a></dt>
@@ -25664,7 +27746,7 @@
 <dd>
 <div class="block">MR/Spark rexpand operation (single input, multiple outputs incl empty blocks)</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#rexpandOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-double-boolean-boolean-boolean-int-">rexpandOperations(MatrixBlock, double, boolean, boolean, boolean, int)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">AbstractCompressedMatrixBlock</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#rexpandOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-double-boolean-boolean-boolean-int-">rexpandOperations(MatrixBlock, double, boolean, boolean, boolean, int)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html#rexpandOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-double-boolean-boolean-boolean-int-">rexpandOperations(MatrixBlock, double, boolean, boolean, boolean, int)</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></dt>
 <dd>&nbsp;</dd>
@@ -25720,67 +27802,60 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/lops/RightIndex.html#RightIndex-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.hops.AggBinaryOp.SparkAggType-org.apache.sysds.lops.LopProperties.ExecType-">RightIndex(Lop, Lop, Lop, Lop, Lop, Lop, Lop, Types.DataType, Types.ValueType, AggBinaryOp.SparkAggType, LopProperties.ExecType)</a></span> - Constructor for class org.apache.sysds.lops.<a href="org/apache/sysds/lops/RightIndex.html" title="class in org.apache.sysds.lops">RightIndex</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html#rightMultByMatrix-double:A-double:A-int-int-int-int-int-">rightMultByMatrix(double[], double[], int, int, int, int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html#rightMultByMatrix-int:A-double:A-double:A-int-int-int-">rightMultByMatrix(int[], double[], double[], int, int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></dt>
 <dd>
 <div class="block">Right multiply by matrix.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#rightMultByMatrix-double:A-double:A-int-int-int-int-int-">rightMultByMatrix(double[], double[], int, int, int, int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupConst</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#rightMultByMatrix-int:A-double:A-double:A-int-int-int-">rightMultByMatrix(int[], double[], double[], int, int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupConst</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html#rightMultByMatrix-double:A-double:A-int-int-int-int-int-">rightMultByMatrix(double[], double[], int, int, int, int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC1</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#rightMultByMatrix-int:A-double:A-double:A-int-int-int-">rightMultByMatrix(int[], double[], double[], int, int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html#rightMultByMatrix-double:A-double:A-int-int-int-int-int-">rightMultByMatrix(double[], double[], int, int, int, int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC2</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html#rightMultByMatrix-int:A-double:A-double:A-int-int-int-">rightMultByMatrix(int[], double[], double[], int, int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupEmpty</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#rightMultByMatrix-double:A-double:A-int-int-int-int-int-">rightMultByMatrix(double[], double[], int, int, int, int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOLE</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#rightMultByMatrix-int:A-double:A-double:A-int-int-int-">rightMultByMatrix(int[], double[], double[], int, int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOLE</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#rightMultByMatrix-double:A-double:A-int-int-int-int-int-">rightMultByMatrix(double[], double[], int, int, int, int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupRLE</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#rightMultByMatrix-int:A-double:A-double:A-int-int-int-">rightMultByMatrix(int[], double[], double[], int, int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupRLE</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html#rightMultByMatrix-int:A-double:A-double:A-int-int-int-">rightMultByMatrix(int[], double[], double[], int, int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDC</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html#rightMultByMatrix-int:A-double:A-double:A-int-int-int-">rightMultByMatrix(int[], double[], double[], int, int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingle</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html#rightMultByMatrix-int:A-double:A-double:A-int-int-int-">rightMultByMatrix(int[], double[], double[], int, int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingleZeros</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#rightMultByMatrix-int:A-double:A-double:A-int-int-int-">rightMultByMatrix(int[], double[], double[], int, int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCZeros</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#rightMultByMatrix-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">rightMultByMatrix(MatrixBlock, MatrixBlock, int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupUncompressed</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#rightMultByMatrix-double:A-double:A-int-int-int-int-int-">rightMultByMatrix(double[], double[], int, int, int, int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupUncompressed</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#rightMultByMatrix-int:A-double:A-double:A-int-int-int-">rightMultByMatrix(int[], double[], double[], int, int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupUncompressed</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/lib/LibRightMultBy.html#rightMultByMatrix-java.util.List-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-org.apache.commons.lang3.tuple.Pair-boolean-">rightMultByMatrix(List&lt;ColGroup&gt;, MatrixBlock, MatrixBlock, int, Pair&lt;Integer, int[]&gt;, boolean)</a></span> - Static method in class org.apache.sysds.runtime.compress.lib.<a href="org/apache/sysds/runtime/compress/lib/LibRightMultBy.html" title="class in org.apache.sysds.runtime.compress.lib">LibRightMultBy</a></dt>
-<dd>
-<div class="block">Right multiply by matrix.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html#rightMultBySparseMatrix-org.apache.sysds.runtime.data.SparseRow:A-double:A-int-double:A-int-int-int-">rightMultBySparseMatrix(SparseRow[], double[], int, double[], int, int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></dt>
-<dd>
-<div class="block">Sparse right multiply by matrix, for which the compressed matrix is on the left and the uncompressed sparse is on
- the right.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#rightMultBySparseMatrix-org.apache.sysds.runtime.data.SparseRow:A-double:A-int-double:A-int-int-int-">rightMultBySparseMatrix(SparseRow[], double[], int, double[], int, int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupConst</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/lib/CLALibRightMultBy.html#rightMultByMatrix-org.apache.sysds.runtime.compress.CompressedMatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-boolean-">rightMultByMatrix(CompressedMatrixBlock, MatrixBlock, MatrixBlock, int, boolean)</a></span> - Static method in class org.apache.sysds.runtime.compress.lib.<a href="org/apache/sysds/runtime/compress/lib/CLALibRightMultBy.html" title="class in org.apache.sysds.runtime.compress.lib">CLALibRightMultBy</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html#rightMultBySparseMatrix-org.apache.sysds.runtime.data.SparseRow:A-double:A-int-double:A-int-int-int-">rightMultBySparseMatrix(SparseRow[], double[], int, double[], int, int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC1</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html#rightMultBySparseMatrix-org.apache.sysds.runtime.data.SparseRow:A-double:A-int-double:A-int-int-int-">rightMultBySparseMatrix(SparseRow[], double[], int, double[], int, int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC2</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#rightMultBySparseMatrix-org.apache.sysds.runtime.data.SparseRow:A-double:A-int-double:A-int-int-int-">rightMultBySparseMatrix(SparseRow[], double[], int, double[], int, int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOLE</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#rightMultBySparseMatrix-org.apache.sysds.runtime.data.SparseRow:A-double:A-int-double:A-int-int-int-">rightMultBySparseMatrix(SparseRow[], double[], int, double[], int, int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupRLE</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#rightMultBySparseMatrix-org.apache.sysds.runtime.data.SparseRow:A-double:A-int-double:A-int-int-int-">rightMultBySparseMatrix(SparseRow[], double[], int, double[], int, int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupUncompressed</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html#rightMultByVector-double:A-double:A-int-int-double:A-">rightMultByVector(double[], double[], int, int, double[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html#rightMultByVector-double:A-double:A-int-int-double:A-">rightMultByVector(double[], double[], int, int, double[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></dt>
 <dd>
 <div class="block">Multiply the slice of the matrix that this column group represents by a vector on the right.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#rightMultByVector-double:A-double:A-int-int-double:A-">rightMultByVector(double[], double[], int, int, double[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupConst</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html#rightMultByVector-double:A-double:A-int-int-double:A-">rightMultByVector(double[], double[], int, int, double[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC1</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#rightMultByVector-double:A-double:A-int-int-double:A-">rightMultByVector(double[], double[], int, int, double[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html#rightMultByVector-double:A-double:A-int-int-double:A-">rightMultByVector(double[], double[], int, int, double[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC2</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html#rightMultByVector-double:A-double:A-int-int-double:A-">rightMultByVector(double[], double[], int, int, double[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupEmpty</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#rightMultByVector-double:A-double:A-int-int-double:A-">rightMultByVector(double[], double[], int, int, double[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOLE</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#rightMultByVector-double:A-double:A-int-int-double:A-">rightMultByVector(double[], double[], int, int, double[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupRLE</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html#rightMultByVector-double:A-double:A-int-int-double:A-">rightMultByVector(double[], double[], int, int, double[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDC</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html#rightMultByVector-double:A-double:A-int-int-double:A-">rightMultByVector(double[], double[], int, int, double[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingle</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html#rightMultByVector-double:A-double:A-int-int-double:A-">rightMultByVector(double[], double[], int, int, double[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingleZeros</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#rightMultByVector-double:A-double:A-int-int-double:A-">rightMultByVector(double[], double[], int, int, double[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCZeros</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#rightMultByVector-double:A-double:A-int-int-double:A-">rightMultByVector(double[], double[], int, int, double[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupUncompressed</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#rightMultByVector-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">rightMultByVector(MatrixBlock, MatrixBlock, int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupUncompressed</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/lib/LibRightMultBy.html#rightMultByVector-java.util.List-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-org.apache.commons.lang3.tuple.Pair-">rightMultByVector(List&lt;ColGroup&gt;, MatrixBlock, MatrixBlock, int, Pair&lt;Integer, int[]&gt;)</a></span> - Static method in class org.apache.sysds.runtime.compress.lib.<a href="org/apache/sysds/runtime/compress/lib/LibRightMultBy.html" title="class in org.apache.sysds.runtime.compress.lib">LibRightMultBy</a></dt>
-<dd>
-<div class="block">Multi-threaded version of rightMultByVector.</div>
-</dd>
 <dt><a href="org/apache/sysds/runtime/matrix/operators/RightScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators"><span class="typeNameLink">RightScalarOperator</span></a> - Class in <a href="org/apache/sysds/runtime/matrix/operators/package-summary.html">org.apache.sysds.runtime.matrix.operators</a></dt>
 <dd>
 <div class="block">Scalar operator for scalar-matrix operations with scalar 
@@ -25855,6 +27930,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/dml/DmlParser.IndexedExpressionContext.html#rowUpper">rowUpper</a></span> - Variable in class org.apache.sysds.parser.dml.<a href="org/apache/sysds/parser/dml/DmlParser.IndexedExpressionContext.html" title="class in org.apache.sysds.parser.dml">DmlParser.IndexedExpressionContext</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/recompile/Recompiler.html#rRecompileProgramBlock2Forced-org.apache.sysds.runtime.controlprogram.ProgramBlock-long-java.util.HashSet-org.apache.sysds.lops.LopProperties.ExecType-">rRecompileProgramBlock2Forced(ProgramBlock, long, HashSet&lt;String&gt;, LopProperties.ExecType)</a></span> - Static method in class org.apache.sysds.hops.recompile.<a href="org/apache/sysds/hops/recompile/Recompiler.html" title="class in org.apache.sysds.hops.recompile">Recompiler</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/ipa/IPAPassRemoveUnnecessaryCheckpoints.html#rRemoveCheckpointReadWrite-org.apache.sysds.hops.Hop-">rRemoveCheckpointReadWrite(Hop)</a></span> - Static method in class org.apache.sysds.hops.ipa.<a href="org/apache/sysds/hops/ipa/IPAPassRemoveUnnecessaryCheckpoints.html" title="class in org.apache.sysds.hops.ipa">IPAPassRemoveUnnecessaryCheckpoints</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/cplan/CNodeTpl.html#rReorderCommutativeBinaryOps-org.apache.sysds.hops.codegen.cplan.CNode-long-">rReorderCommutativeBinaryOps(CNode, long)</a></span> - Method in class org.apache.sysds.hops.codegen.cplan.<a href="org/apache/sysds/hops/codegen/cplan/CNodeTpl.html" title="class in org.apache.sysds.hops.codegen.cplan">CNodeTpl</a></dt>
@@ -25922,7 +27999,7 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/parfor/RemoteDPParForSpark.html#runJob-long-java.lang.String-java.lang.String-java.lang.String-java.util.HashMap-java.lang.String-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.runtime.controlprogram.ParForProgramBlock.PartitionFormat-org.apache.sysds.common.Types.FileFormat-boolean-boolean-int-">runJob(long, String, String, String, HashMap&lt;String, byte[]&gt;, String, MatrixObject, ExecutionContext, ParForProgramBlock.PartitionFormat, Types.FileFormat, boolean, boolean, int)</a></span> - Static method in class org.apache.sysds.runtime.controlprogram.parfor.<a href="org/apache/sysds/runtime/controlprogram/parfor/RemoteDPParForSpark.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">RemoteDPParForSpark</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/parfor/RemoteParForSpark.html#runJob-long-java.lang.String-java.util.HashMap-java.util.List-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-java.util.ArrayList-boolean-int-boolean-">runJob(long, String, HashMap&lt;String, byte[]&gt;, List&lt;Task&gt;, ExecutionContext, ArrayList&lt;ParForStatementBlock.ResultVar&gt;, boolean, int, boolean)</a></span> - Static method in class org.apache.sysds.runtime.controlprogram.parfor.<a href="org/apache/sysds/runtime/controlprogram/parfor/RemoteParForSpark.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">RemoteParForSpark</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/parfor/RemoteParForSpark.html#runJob-long-java.lang.String-java.util.HashMap-java.util.List-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-java.util.Set-java.util.List-boolean-int-boolean-">runJob(long, String, HashMap&lt;String, byte[]&gt;, List&lt;Task&gt;, ExecutionContext, Set&lt;String&gt;, List&lt;ParForStatementBlock.ResultVar&gt;, boolean, int, boolean)</a></span> - Static method in class org.apache.sysds.runtime.controlprogram.parfor.<a href="org/apache/sysds/runtime/controlprogram/parfor/RemoteParForSpark.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">RemoteParForSpark</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/recompile/Recompiler.html#rUpdateFunctionNames-org.apache.sysds.hops.Hop-long-">rUpdateFunctionNames(Hop, long)</a></span> - Static method in class org.apache.sysds.hops.recompile.<a href="org/apache/sysds/hops/recompile/Recompiler.html" title="class in org.apache.sysds.hops.recompile">Recompiler</a></dt>
 <dd>&nbsp;</dd>
@@ -25940,6 +28017,26 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/common/Types.FileFormat.html#safeValueOf-java.lang.String-">safeValueOf(String)</a></span> - Static method in enum org.apache.sysds.common.<a href="org/apache/sysds/common/Types.FileFormat.html" title="enum in org.apache.sysds.common">Types.FileFormat</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#sameIndexStructure-org.apache.sysds.runtime.compress.colgroup.ColGroupValue-">sameIndexStructure(ColGroupValue)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupConst</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#sameIndexStructure-org.apache.sysds.runtime.compress.colgroup.ColGroupValue-">sameIndexStructure(ColGroupValue)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html#sameIndexStructure-org.apache.sysds.runtime.compress.colgroup.ColGroupValue-">sameIndexStructure(ColGroupValue)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupEmpty</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#sameIndexStructure-org.apache.sysds.runtime.compress.colgroup.ColGroupValue-">sameIndexStructure(ColGroupValue)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOLE</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#sameIndexStructure-org.apache.sysds.runtime.compress.colgroup.ColGroupValue-">sameIndexStructure(ColGroupValue)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupRLE</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html#sameIndexStructure-org.apache.sysds.runtime.compress.colgroup.ColGroupValue-">sameIndexStructure(ColGroupValue)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDC</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html#sameIndexStructure-org.apache.sysds.runtime.compress.colgroup.ColGroupValue-">sameIndexStructure(ColGroupValue)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingle</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html#sameIndexStructure-org.apache.sysds.runtime.compress.colgroup.ColGroupValue-">sameIndexStructure(ColGroupValue)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingleZeros</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#sameIndexStructure-org.apache.sysds.runtime.compress.colgroup.ColGroupValue-">sameIndexStructure(ColGroupValue)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCZeros</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#sameIndexStructure-org.apache.sysds.runtime.compress.colgroup.ColGroupValue-">sameIndexStructure(ColGroupValue)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/lops/Lop.html#SAMPLE_FRACTION">SAMPLE_FRACTION</a></span> - Static variable in class org.apache.sysds.lops.<a href="org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/lops/DataGen.html#SAMPLE_OPCODE">SAMPLE_OPCODE</a></span> - Static variable in class org.apache.sysds.lops.<a href="org/apache/sysds/lops/DataGen.html" title="class in org.apache.sysds.lops">DataGen</a></dt>
@@ -25950,6 +28047,8 @@
 <dd>
 <div class="block">The sampling ratio used when choosing ColGroups.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/TfUtils.html#sanitizeSpaces-java.lang.String-">sanitizeSpaces(String)</a></span> - Static method in class org.apache.sysds.runtime.transform.<a href="org/apache/sysds/runtime/transform/TfUtils.html" title="class in org.apache.sysds.runtime.transform">TfUtils</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/data/LibTensorAgg.html#satisfiesMultiThreadingConstraints-org.apache.sysds.runtime.data.BasicTensorBlock-int-">satisfiesMultiThreadingConstraints(BasicTensorBlock, int)</a></span> - Static method in class org.apache.sysds.runtime.data.<a href="org/apache/sysds/runtime/data/LibTensorAgg.html" title="class in org.apache.sysds.runtime.data">LibTensorAgg</a></dt>
 <dd>
 <div class="block">Check if a aggregation fulfills the constraints to be split to multiple threads.</div>
@@ -25993,26 +28092,34 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/cp/ScalarObjectFactory.html#ScalarObjectFactory--">ScalarObjectFactory()</a></span> - Constructor for class org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/ScalarObjectFactory.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObjectFactory</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">scalarOperation(ScalarOperator)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">scalarOperation(ScalarOperator)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></dt>
 <dd>
 <div class="block">Perform the specified scalar operation directly on the compressed column group, without decompressing individual
  cells if possible.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">scalarOperation(ScalarOperator)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupConst</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">scalarOperation(ScalarOperator)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC1</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">scalarOperation(ScalarOperator)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">scalarOperation(ScalarOperator)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC2</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">scalarOperation(ScalarOperator)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupEmpty</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">scalarOperation(ScalarOperator)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOLE</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">scalarOperation(ScalarOperator)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupRLE</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">scalarOperation(ScalarOperator)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDC</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">scalarOperation(ScalarOperator)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingle</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">scalarOperation(ScalarOperator)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingleZeros</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">scalarOperation(ScalarOperator)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCZeros</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">scalarOperation(ScalarOperator)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupUncompressed</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#scalarOperations-org.apache.sysds.runtime.matrix.operators.ScalarOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-">scalarOperations(ScalarOperator, MatrixValue)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/lib/LibScalar.html#scalarOperations-org.apache.sysds.runtime.matrix.operators.ScalarOperator-org.apache.sysds.runtime.compress.CompressedMatrixBlock-org.apache.sysds.runtime.compress.CompressedMatrixBlock-boolean-">scalarOperations(ScalarOperator, CompressedMatrixBlock, CompressedMatrixBlock, boolean)</a></span> - Static method in class org.apache.sysds.runtime.compress.lib.<a href="org/apache/sysds/runtime/compress/lib/LibScalar.html" title="class in org.apache.sysds.runtime.compress.lib">LibScalar</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/lib/CLALibScalar.html#scalarOperations-org.apache.sysds.runtime.matrix.operators.ScalarOperator-org.apache.sysds.runtime.compress.CompressedMatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixValue-">scalarOperations(ScalarOperator, CompressedMatrixBlock, MatrixValue)</a></span> - Static method in class org.apache.sysds.runtime.compress.lib.<a href="org/apache/sysds/runtime/compress/lib/CLALibScalar.html" title="class in org.apache.sysds.runtime.compress.lib">CLALibScalar</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/CM_N_COVCell.html#scalarOperations-org.apache.sysds.runtime.matrix.operators.ScalarOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-">scalarOperations(ScalarOperator, MatrixValue)</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/CM_N_COVCell.html" title="class in org.apache.sysds.runtime.matrix.data">CM_N_COVCell</a></dt>
 <dd>&nbsp;</dd>
@@ -26114,7 +28221,7 @@
 <dd>
 <div class="block">Method to generate a sequence according to the given parameters.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#seqOperationsInPlace-double-double-double-">seqOperationsInPlace(double, double, double)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">AbstractCompressedMatrixBlock</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#seqOperationsInPlace-double-double-double-">seqOperationsInPlace(double, double, double)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html#seqOperationsInPlace-double-double-double-">seqOperationsInPlace(double, double, double)</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></dt>
 <dd>&nbsp;</dd>
@@ -26146,6 +28253,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/ProgramConverter.html#serializeParForBody-org.apache.sysds.runtime.controlprogram.parfor.ParForBody-java.util.HashMap-">serializeParForBody(ParForBody, HashMap&lt;String, byte[]&gt;)</a></span> - Static method in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/ProgramConverter.html" title="class in org.apache.sysds.runtime.util">ProgramConverter</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/ProgramConverter.html#serializeProgram-org.apache.sysds.runtime.controlprogram.Program-java.util.ArrayList-java.util.HashMap-boolean-">serializeProgram(Program, ArrayList&lt;ProgramBlock&gt;, HashMap&lt;String, byte[]&gt;, boolean)</a></span> - Static method in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/ProgramConverter.html" title="class in org.apache.sysds.runtime.util">ProgramConverter</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/ProgramConverter.html#serializeResultVariables-java.util.List-">serializeResultVariables(List&lt;ParForStatementBlock.ResultVar&gt;)</a></span> - Static method in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/ProgramConverter.html" title="class in org.apache.sysds.runtime.util">ProgramConverter</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/ProgramConverter.html#serializeSparkPSBody-org.apache.sysds.runtime.controlprogram.paramserv.SparkPSBody-java.util.HashMap-">serializeSparkPSBody(SparkPSBody, HashMap&lt;String, byte[]&gt;)</a></span> - Static method in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/ProgramConverter.html" title="class in org.apache.sysds.runtime.util">ProgramConverter</a></dt>
@@ -26176,6 +28285,16 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/estim/EstimatorBitsetMM.BitsetMatrix2.html#set-int-int-">set(int, int)</a></span> - Method in class org.apache.sysds.hops.estim.<a href="org/apache/sysds/hops/estim/EstimatorBitsetMM.BitsetMatrix2.html" title="class in org.apache.sysds.hops.estim">EstimatorBitsetMM.BitsetMatrix2</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html#set-int-int-">set(int, int)</a></span> - Method in interface org.apache.sysds.runtime.compress.colgroup.mapping.<a href="org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html" title="interface in org.apache.sysds.runtime.compress.colgroup.mapping">IMapToData</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToBit.html#set-int-int-">set(int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.mapping.<a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToBit.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping">MapToBit</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToByte.html#set-int-int-">set(int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.mapping.<a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToByte.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping">MapToByte</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToChar.html#set-int-int-">set(int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.mapping.<a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToChar.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping">MapToChar</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToInt.html#set-int-int-">set(int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.mapping.<a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToInt.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping">MapToInt</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/data/BasicTensorBlock.html#set-int:A-java.lang.Object-">set(int[], Object)</a></span> - Method in class org.apache.sysds.runtime.data.<a href="org/apache/sysds/runtime/data/BasicTensorBlock.html" title="class in org.apache.sysds.runtime.data">BasicTensorBlock</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/data/BasicTensorBlock.html#set-int-int-double-">set(int, int, double)</a></span> - Method in class org.apache.sysds.runtime.data.<a href="org/apache/sysds/runtime/data/BasicTensorBlock.html" title="class in org.apache.sysds.runtime.data">BasicTensorBlock</a></dt>
@@ -26593,6 +28712,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/conf/ConfigurationManager.html#setCachedJobConf-org.apache.hadoop.mapred.JobConf-">setCachedJobConf(JobConf)</a></span> - Static method in class org.apache.sysds.conf.<a href="org/apache/sysds/conf/ConfigurationManager.html" title="class in org.apache.sysds.conf">ConfigurationManager</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#setCacheLineage-org.apache.sysds.runtime.lineage.LineageItem-">setCacheLineage(LineageItem)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.caching.<a href="org/apache/sysds/runtime/controlprogram/caching/CacheableData.html" title="class in org.apache.sysds.runtime.controlprogram.caching">CacheableData</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/LineageCacheConfig.html#setCachePolicy-org.apache.sysds.runtime.lineage.LineageCacheConfig.LineageCachePolicy-">setCachePolicy(LineageCacheConfig.LineageCachePolicy)</a></span> - Static method in class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageCacheConfig.html" title="class in org.apache.sysds.runtime.lineage">LineageCacheConfig</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/FunctionOp.html#setCallOptimized-boolean-">setCallOptimized(boolean)</a></span> - Method in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/FunctionOp.html" title="class in org.apache.sysds.hops">FunctionOp</a></dt>
@@ -26615,6 +28736,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/privacy/PrivacyMonitor.html#setCheckPrivacy-boolean-">setCheckPrivacy(boolean)</a></span> - Static method in class org.apache.sysds.runtime.privacy.<a href="org/apache/sysds/runtime/privacy/PrivacyMonitor.html" title="class in org.apache.sysds.runtime.privacy">PrivacyMonitor</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/federated/FederatedRequest.html#setChecksum--">setChecksum()</a></span> - Method in class org.apache.sysds.runtime.controlprogram.federated.<a href="org/apache/sysds/runtime/controlprogram/federated/FederatedRequest.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRequest</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/ForProgramBlock.html#setChildBlocks-java.util.ArrayList-">setChildBlocks(ArrayList&lt;ProgramBlock&gt;)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.<a href="org/apache/sysds/runtime/controlprogram/ForProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ForProgramBlock</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/FunctionProgramBlock.html#setChildBlocks-java.util.ArrayList-">setChildBlocks(ArrayList&lt;ProgramBlock&gt;)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.<a href="org/apache/sysds/runtime/controlprogram/FunctionProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">FunctionProgramBlock</a></dt>
@@ -26639,11 +28762,13 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/parfor/util/Cell.html#setCol-long-">setCol(long)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.parfor.util.<a href="org/apache/sysds/runtime/controlprogram/parfor/util/Cell.html" title="class in org.apache.sysds.runtime.controlprogram.parfor.util">Cell</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressionStatistics.html#setColGroupsCounts-java.util.List-">setColGroupsCounts(List&lt;ColGroup&gt;)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressionStatistics.html" title="class in org.apache.sysds.runtime.compress">CompressionStatistics</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressionStatistics.html#setColGroupsCounts-java.util.List-">setColGroupsCounts(List&lt;AColGroup&gt;)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressionStatistics.html" title="class in org.apache.sysds.runtime.compress">CompressionStatistics</a></dt>
 <dd>
 <div class="block">Set array of counts regarding col group types.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/Encoder.html#setColList-int:A-">setColList(int[])</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#setColID-int-">setColID(int)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#setColList-int:A-">setColList(int[])</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/LegacyEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">LegacyEncoder</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/IndexedIdentifier.html#setColLowerBound-org.apache.sysds.parser.Expression-">setColLowerBound(Expression)</a></span> - Method in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/IndexedIdentifier.html" title="class in org.apache.sysds.parser">IndexedIdentifier</a></dt>
 <dd>&nbsp;</dd>
@@ -26790,6 +28915,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/io/FileFormatPropertiesCSV.html#setDelim-java.lang.String-">setDelim(String)</a></span> - Method in class org.apache.sysds.runtime.io.<a href="org/apache/sysds/runtime/io/FileFormatPropertiesCSV.html" title="class in org.apache.sysds.runtime.io">FileFormatPropertiesCSV</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html#setDenseBlock-org.apache.sysds.runtime.data.DenseBlock-">setDenseBlock(DenseBlock)</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html#setDensePointer-jcuda.Pointer-">setDensePointer(Pointer)</a></span> - Method in class org.apache.sysds.runtime.instructions.gpu.context.<a href="org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">GPUObject</a></dt>
 <dd>
 <div class="block">Convenience method to directly set the dense matrix pointer on GPU</div>
@@ -26838,6 +28965,10 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/Identifier.html#setDimensionValueProperties-org.apache.sysds.parser.Identifier-">setDimensionValueProperties(Identifier)</a></span> - Method in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/Identifier.html" title="class in org.apache.sysds.parser">Identifier</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/data/DenseBlock.html#setDims-int:A-">setDims(int[])</a></span> - Method in class org.apache.sysds.runtime.data.<a href="org/apache/sysds/runtime/data/DenseBlock.html" title="class in org.apache.sysds.runtime.data">DenseBlock</a></dt>
+<dd>
+<div class="block">Set the dimensions of the dense MatrixBlock.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/meta/DataCharacteristics.html#setDims-long:A-">setDims(long[])</a></span> - Method in class org.apache.sysds.runtime.meta.<a href="org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/meta/TensorCharacteristics.html#setDims-long:A-">setDims(long[])</a></span> - Method in class org.apache.sysds.runtime.meta.<a href="org/apache/sysds/runtime/meta/TensorCharacteristics.html" title="class in org.apache.sysds.runtime.meta">TensorCharacteristics</a></dt>
@@ -26846,10 +28977,14 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#setDirty-boolean-">setDirty(boolean)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.caching.<a href="org/apache/sysds/runtime/controlprogram/caching/CacheableData.html" title="class in org.apache.sysds.runtime.controlprogram.caching">CacheableData</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html#setDirty-boolean-">setDirty(boolean)</a></span> - Method in class org.apache.sysds.runtime.instructions.gpu.context.<a href="org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">GPUObject</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/TernaryOp.html#setDisjointInputs-boolean-">setDisjointInputs(boolean)</a></span> - Method in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/TernaryOp.html" title="class in org.apache.sysds.hops">TernaryOp</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/template/CPlanMemoTable.html#setDistinct-long-java.util.List-">setDistinct(long, List&lt;CPlanMemoTable.MemoTableEntry&gt;)</a></span> - Method in class org.apache.sysds.hops.codegen.template.<a href="org/apache/sysds/hops/codegen/template/CPlanMemoTable.html" title="class in org.apache.sysds.hops.codegen.template">CPlanMemoTable</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/LineageItem.html#setDistLeaf2Node-long-">setDistLeaf2Node(long)</a></span> - Method in class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/StatementBlock.html#setDMLProg-org.apache.sysds.parser.DMLProgram-">setDMLProg(DMLProgram)</a></span> - Method in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/Program.html#setDMLProg-org.apache.sysds.parser.DMLProgram-">setDMLProg(DMLProgram)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.<a href="org/apache/sysds/runtime/controlprogram/Program.html" title="class in org.apache.sysds.runtime.controlprogram">Program</a></dt>
@@ -26902,6 +29037,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/utils/EnvironmentHelper.html#setEnv-java.lang.String-java.lang.String-">setEnv(String, String)</a></span> - Static method in class org.apache.sysds.utils.<a href="org/apache/sysds/utils/EnvironmentHelper.html" title="class in org.apache.sysds.utils">EnvironmentHelper</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/LineageCacheConfig.html#setEstimator-boolean-">setEstimator(boolean)</a></span> - Static method in class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageCacheConfig.html" title="class in org.apache.sysds.runtime.lineage">LineageCacheConfig</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/ParForProgramBlock.html#setExecMode-org.apache.sysds.runtime.controlprogram.ParForProgramBlock.PExecMode-">setExecMode(ParForProgramBlock.PExecMode)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.<a href="org/apache/sysds/runtime/controlprogram/ParForProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ParForProgramBlock</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/lops/Data.html#setExecType-org.apache.sysds.lops.LopProperties.ExecType-">setExecType(LopProperties.ExecType)</a></span> - Method in class org.apache.sysds.lops.<a href="org/apache/sysds/lops/Data.html" title="class in org.apache.sysds.lops">Data</a></dt>
@@ -26967,12 +29104,16 @@
 <dd>
 <div class="block">Sets the mapping of indices ranges to federated objects.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/privacy/propagation/AppendPropagator.html#setFields-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.privacy.PrivacyConstraint-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setFields(MatrixBlock, PrivacyConstraint, MatrixBlock, PrivacyConstraint)</a></span> - Method in class org.apache.sysds.runtime.privacy.propagation.<a href="org/apache/sysds/runtime/privacy/propagation/AppendPropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation">AppendPropagator</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/privacy/propagation/MatrixMultiplicationPropagator.html#setFields-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.privacy.PrivacyConstraint-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setFields(MatrixBlock, PrivacyConstraint, MatrixBlock, PrivacyConstraint)</a></span> - Method in class org.apache.sysds.runtime.privacy.propagation.<a href="org/apache/sysds/runtime/privacy/propagation/MatrixMultiplicationPropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation">MatrixMultiplicationPropagator</a></dt>
 <dd>
 <div class="block">Sets all fields of propagator.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/lops/OutputParameters.html#setFile_name-java.lang.String-">setFile_name(String)</a></span> - Method in class org.apache.sysds.lops.<a href="org/apache/sysds/lops/OutputParameters.html" title="class in org.apache.sysds.lops">OutputParameters</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/DataOp.html#setFileFormat-org.apache.sysds.common.Types.FileFormat-">setFileFormat(Types.FileFormat)</a></span> - Method in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/DataOp.html" title="class in org.apache.sysds.hops">DataOp</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/Identifier.html#setFileFormat-org.apache.sysds.common.Types.FileFormat-">setFileFormat(Types.FileFormat)</a></span> - Method in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/Identifier.html" title="class in org.apache.sysds.parser">Identifier</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#setFileFormatProperties-org.apache.sysds.runtime.io.FileFormatProperties-">setFileFormatProperties(FileFormatProperties)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.caching.<a href="org/apache/sysds/runtime/controlprogram/caching/CacheableData.html" title="class in org.apache.sysds.runtime.controlprogram.caching">CacheableData</a></dt>
@@ -27055,6 +29196,8 @@
 <dd>
 <div class="block">Binds a frame object to a registered input variable.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/parser/DataExpression.html#setFrameDefault--">setFrameDefault()</a></span> - Method in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/DataExpression.html" title="class in org.apache.sysds.parser">DataExpression</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/api/mlcontext/FrameMetadata.html#setFrameFormat-org.apache.sysds.api.mlcontext.FrameFormat-">setFrameFormat(FrameFormat)</a></span> - Method in class org.apache.sysds.api.mlcontext.<a href="org/apache/sysds/api/mlcontext/FrameMetadata.html" title="class in org.apache.sysds.api.mlcontext">FrameMetadata</a></dt>
 <dd>
 <div class="block">Set the frame format</div>
@@ -27087,6 +29230,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/LiveVariableAnalysis.html#setGen-org.apache.sysds.parser.VariableSet-">setGen(VariableSet)</a></span> - Method in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/LiveVariableAnalysis.html" title="class in org.apache.sysds.parser">LiveVariableAnalysis</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/cplan/CNodeTpl.html#setGeneratorAPI-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">setGeneratorAPI(SpoofCompiler.GeneratorAPI)</a></span> - Method in class org.apache.sysds.hops.codegen.cplan.<a href="org/apache/sysds/hops/codegen/cplan/CNodeTpl.html" title="class in org.apache.sysds.hops.codegen.cplan">CNodeTpl</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/conf/ConfigurationManager.html#setGlobalConfig-org.apache.sysds.conf.DMLConfig-">setGlobalConfig(DMLConfig)</a></span> - Static method in class org.apache.sysds.conf.<a href="org/apache/sysds/conf/ConfigurationManager.html" title="class in org.apache.sysds.conf">ConfigurationManager</a></dt>
 <dd>
 <div class="block">Sets a global configuration as a basis for any thread-local configurations.</div>
@@ -27196,6 +29341,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/IndexedIdentifier.html#setIndices-java.util.ArrayList-">setIndices(ArrayList&lt;ArrayList&lt;Expression&gt;&gt;)</a></span> - Method in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/IndexedIdentifier.html" title="class in org.apache.sysds.parser">IndexedIdentifier</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html#setInfo-org.apache.sysds.runtime.compress.estim.CompressedSizeInfoColGroup:A-">setInfo(CompressedSizeInfoColGroup[])</a></span> - Method in class org.apache.sysds.runtime.compress.estim.<a href="org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfo</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/api/mlcontext/ScriptExecutor.html#setInit-boolean-">setInit(boolean)</a></span> - Method in class org.apache.sysds.api.mlcontext.<a href="org/apache/sysds/api/mlcontext/ScriptExecutor.html" title="class in org.apache.sysds.api.mlcontext">ScriptExecutor</a></dt>
 <dd>
 <div class="block">Whether or not to initialize the scratch_space, bufferpool, etc.</div>
@@ -27221,8 +29368,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/FunctionStatement.html#setInputDefaults-java.util.ArrayList-">setInputDefaults(ArrayList&lt;Expression&gt;)</a></span> - Method in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/FunctionStatement.html" title="class in org.apache.sysds.parser">FunctionStatement</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/DataOp.html#setInputFormatType-org.apache.sysds.common.Types.FileFormat-">setInputFormatType(Types.FileFormat)</a></span> - Method in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/DataOp.html" title="class in org.apache.sysds.hops">DataOp</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/FunctionStatement.html#setInputParams-java.util.ArrayList-">setInputParams(ArrayList&lt;DataIdentifier&gt;)</a></span> - Method in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/FunctionStatement.html" title="class in org.apache.sysds.parser">FunctionStatement</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/FunctionOp.html#setInputVariableNames-java.lang.String:A-">setInputVariableNames(String[])</a></span> - Method in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/FunctionOp.html" title="class in org.apache.sysds.hops">FunctionOp</a></dt>
@@ -27239,6 +29384,8 @@
 <dd>
 <div class="block">Set if the compression should be investigated while compressing.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html#setIsLinCached-boolean-">setIsLinCached(boolean)</a></span> - Method in class org.apache.sysds.runtime.instructions.gpu.context.<a href="org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">GPUObject</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/IterablePredicate.html#setIterVar-org.apache.sysds.parser.DataIdentifier-">setIterVar(DataIdentifier)</a></span> - Method in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/IterablePredicate.html" title="class in org.apache.sysds.parser">IterablePredicate</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/parfor/opt/OptNode.html#setK-int-">setK(int)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.parfor.opt.<a href="org/apache/sysds/runtime/controlprogram/parfor/opt/OptNode.html" title="class in org.apache.sysds.runtime.controlprogram.parfor.opt">OptNode</a></dt>
@@ -27379,6 +29526,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#setMatrixOutput-java.lang.String-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType-">setMatrixOutput(String, MatrixBlock, MatrixObject.UpdateType)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.context.<a href="org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#setMatrixOutputAndLineage-java.lang.String-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.lineage.LineageItem-">setMatrixOutputAndLineage(String, MatrixBlock, LineageItem)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.context.<a href="org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/LibMatrixOuterAgg.html#setMaxIndexInPartition-int:A-double:A-">setMaxIndexInPartition(int[], double[])</a></span> - Static method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/LibMatrixOuterAgg.html" title="class in org.apache.sysds.runtime.matrix.data">LibMatrixOuterAgg</a></dt>
 <dd>
 <div class="block">This function will set maximum index in the partition to all cells in partition.</div>
@@ -27449,6 +29598,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/parfor/opt/OptNode.html#setNodeType-org.apache.sysds.runtime.controlprogram.parfor.opt.OptNode.NodeType-">setNodeType(OptNode.NodeType)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.parfor.opt.<a href="org/apache/sysds/runtime/controlprogram/parfor/opt/OptNode.html" title="class in org.apache.sysds.runtime.controlprogram.parfor.opt">OptNode</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/meta/DataCharacteristics.html#setNoEmptyBlocks-boolean-">setNoEmptyBlocks(boolean)</a></span> - Method in class org.apache.sysds.runtime.meta.<a href="org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/FunctionStatementBlock.html#setNondeterministic-boolean-">setNondeterministic(boolean)</a></span> - Method in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/FunctionStatementBlock.html" title="class in org.apache.sysds.parser">FunctionStatementBlock</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/StatementBlock.html#setNondeterministic-boolean-">setNondeterministic(boolean)</a></span> - Method in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a></dt>
@@ -27520,6 +29671,10 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/lops/WeightedUnaryMM.html#setNumThreads-int-">setNumThreads(int)</a></span> - Method in class org.apache.sysds.lops.<a href="org/apache/sysds/lops/WeightedUnaryMM.html" title="class in org.apache.sysds.lops">WeightedUnaryMM</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/operators/BinaryOperator.html#setNumThreads-int-">setNumThreads(int)</a></span> - Method in class org.apache.sysds.runtime.matrix.operators.<a href="org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/operators/ScalarOperator.html#setNumThreads-int-">setNumThreads(int)</a></span> - Method in class org.apache.sysds.runtime.matrix.operators.<a href="org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/cplan/CNodeRow.html#setNumVectorIntermediates-int-">setNumVectorIntermediates(int)</a></span> - Method in class org.apache.sysds.hops.codegen.cplan.<a href="org/apache/sysds/hops/codegen/cplan/CNodeRow.html" title="class in org.apache.sysds.hops.codegen.cplan">CNodeRow</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/functionobjects/OffsetColumnIndex.html#setOffset-int-">setOffset(int)</a></span> - Method in class org.apache.sysds.runtime.functionobjects.<a href="org/apache/sysds/runtime/functionobjects/OffsetColumnIndex.html" title="class in org.apache.sysds.runtime.functionobjects">OffsetColumnIndex</a></dt>
@@ -27721,6 +29876,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/Hop.html#setRequiresCompression-boolean-">setRequiresCompression(boolean)</a></span> - Method in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/Hop.html#setRequiresDeCompression-boolean-">setRequiresDeCompression(boolean)</a></span> - Method in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/Hop.html#setRequiresLineageCaching-boolean-">setRequiresLineageCaching(boolean)</a></span> - Method in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/Hop.html#setRequiresReblock-boolean-">setRequiresReblock(boolean)</a></span> - Method in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a></dt>
@@ -27811,6 +29968,12 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#setScalarOutput-java.lang.String-org.apache.sysds.runtime.instructions.cp.ScalarObject-">setScalarOutput(String, ScalarObject)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.context.<a href="org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/codegen/SpoofCUDACellwise.html#setScalarPtr-jcuda.Pointer-">setScalarPtr(Pointer)</a></span> - Method in class org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/SpoofCUDACellwise.html" title="class in org.apache.sysds.runtime.codegen">SpoofCUDACellwise</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html#setScalarPtr-jcuda.Pointer-">setScalarPtr(Pointer)</a></span> - Method in interface org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html" title="interface in org.apache.sysds.runtime.codegen">SpoofCUDAOperator</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/codegen/SpoofCUDARowwise.html#setScalarPtr-jcuda.Pointer-">setScalarPtr(Pointer)</a></span> - Method in class org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/SpoofCUDARowwise.html" title="class in org.apache.sysds.runtime.codegen">SpoofCUDARowwise</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/api/mlcontext/FrameSchema.html#setSchema-java.util.List-">setSchema(List&lt;Types.ValueType&gt;)</a></span> - Method in class org.apache.sysds.api.mlcontext.<a href="org/apache/sysds/api/mlcontext/FrameSchema.html" title="class in org.apache.sysds.api.mlcontext">FrameSchema</a></dt>
 <dd>
 <div class="block">Set the frame schema</div>
@@ -27891,8 +30054,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/parfor/opt/OptNodeStatistics.html#setSparsity-double-">setSparsity(double)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.parfor.opt.<a href="org/apache/sysds/runtime/controlprogram/parfor/opt/OptNodeStatistics.html" title="class in org.apache.sysds.runtime.controlprogram.parfor.opt">OptNodeStatistics</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/LineageCacheConfig.html#setSpill-boolean-">setSpill(boolean)</a></span> - Static method in class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageCacheConfig.html" title="class in org.apache.sysds.runtime.lineage">LineageCacheConfig</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/StatementBlock.html#setSplitDag-boolean-">setSplitDag(boolean)</a></span> - Method in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/ProgramBlock.html#setStatementBlock-org.apache.sysds.parser.StatementBlock-">setStatementBlock(StatementBlock)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.<a href="org/apache/sysds/runtime/controlprogram/ProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ProgramBlock</a></dt>
@@ -27987,7 +30148,7 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/ForStatementBlock.html#setToLops-org.apache.sysds.lops.Lop-">setToLops(Lop)</a></span> - Method in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/ForStatementBlock.html" title="class in org.apache.sysds.parser">ForStatementBlock</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html#setTransposeInput-boolean-">setTransposeInput(boolean)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html" title="class in org.apache.sysds.runtime.compress">CompressionSettingsBuilder</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html#setTransposeInput-java.lang.String-">setTransposeInput(String)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html" title="class in org.apache.sysds.runtime.compress">CompressionSettingsBuilder</a></dt>
 <dd>
 <div class="block">Specify if the input matrix should be transposed before compression.</div>
 </dd>
@@ -27999,8 +30160,14 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/federated/FederationMap.html#setType-org.apache.sysds.runtime.controlprogram.federated.FederationMap.FType-">setType(FederationMap.FType)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.federated.<a href="org/apache/sysds/runtime/controlprogram/federated/FederationMap.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationMap</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/LineageItemUtils.html#setUDFResponse-org.apache.sysds.runtime.controlprogram.federated.FederatedUDF-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-">setUDFResponse(FederatedUDF, MatrixObject)</a></span> - Static method in class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageItemUtils.html" title="class in org.apache.sysds.runtime.lineage">LineageItemUtils</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html#setUnoptimizedFunctionCalls-org.apache.sysds.parser.StatementBlock-">setUnoptimizedFunctionCalls(StatementBlock)</a></span> - Static method in class org.apache.sysds.hops.rewrite.<a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html" title="class in org.apache.sysds.hops.rewrite">HopRewriteUtils</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/paramserv/FederatedPSControlThread.html#setup-double-">setup(double)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.paramserv.<a href="org/apache/sysds/runtime/controlprogram/paramserv/FederatedPSControlThread.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv">FederatedPSControlThread</a></dt>
+<dd>
+<div class="block">Sets up the federated worker and control thread</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/PoissonPRNGenerator.html#setup-double-long-">setup(double, long)</a></span> - Method in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/PoissonPRNGenerator.html" title="class in org.apache.sysds.runtime.util">PoissonPRNGenerator</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/parfor/RemoteParForUtils.html#setupBufferPool-long-">setupBufferPool(long)</a></span> - Static method in class org.apache.sysds.runtime.controlprogram.parfor.<a href="org/apache/sysds/runtime/controlprogram/parfor/RemoteParForUtils.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">RemoteParForUtils</a></dt>
@@ -28028,12 +30195,14 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#setupThreadLocalMemory-int-">setupThreadLocalMemory(int)</a></span> - Static method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html#setupThreadLocalMemory-int-">setupThreadLocalMemory(int)</a></span> - Static method in interface org.apache.sysds.runtime.compress.colgroup.pre.<a href="org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/api/DMLScript.html#setUUID-java.lang.String-">setUUID(String)</a></span> - Static method in class org.apache.sysds.api.<a href="org/apache/sysds/api/DMLScript.html" title="class in org.apache.sysds.api">DMLScript</a></dt>
 <dd>
 <div class="block">Used to set master UUID on all nodes (in parfor remote, where DMLScript passed) 
  in order to simplify cleanup of scratch_space and local working dirs.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html#setValidCompressions-java.util.EnumSet-">setValidCompressions(EnumSet&lt;ColGroup.CompressionType&gt;)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html" title="class in org.apache.sysds.runtime.compress">CompressionSettingsBuilder</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html#setValidCompressions-java.util.EnumSet-">setValidCompressions(EnumSet&lt;AColGroup.CompressionType&gt;)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html" title="class in org.apache.sysds.runtime.compress">CompressionSettingsBuilder</a></dt>
 <dd>
 <div class="block">Set the valid compression strategies used for the compression.</div>
 </dd>
@@ -28087,6 +30256,8 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/federated/FederatedData.html#setVarID-long-">setVarID(long)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.federated.<a href="org/apache/sysds/runtime/controlprogram/federated/FederatedData.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedData</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/cplan/CNode.html#setVarName-java.lang.String-">setVarName(String)</a></span> - Method in class org.apache.sysds.hops.codegen.cplan.<a href="org/apache/sysds/hops/codegen/cplan/CNode.html" title="class in org.apache.sysds.hops.codegen.cplan">CNode</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/DataExpression.html#setVarParams-java.util.HashMap-">setVarParams(HashMap&lt;String, Expression&gt;)</a></span> - Method in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/DataExpression.html" title="class in org.apache.sysds.parser">DataExpression</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/cplan/CNode.html#setVisited--">setVisited()</a></span> - Method in class org.apache.sysds.hops.codegen.cplan.<a href="org/apache/sysds/hops/codegen/cplan/CNode.html" title="class in org.apache.sysds.hops.codegen.cplan">CNode</a></dt>
@@ -28115,11 +30286,22 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/LibMatrixReorg.html#SHALLOW_COPY_REORG">SHALLOW_COPY_REORG</a></span> - Static variable in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/LibMatrixReorg.html" title="class in org.apache.sysds.runtime.matrix.data">LibMatrixReorg</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/gpu/context/GPUContext.html#shallowCopyGPUObject-org.apache.sysds.runtime.instructions.gpu.context.GPUObject-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-">shallowCopyGPUObject(GPUObject, MatrixObject)</a></span> - Method in class org.apache.sysds.runtime.instructions.gpu.context.<a href="org/apache/sysds/runtime/instructions/gpu/context/GPUContext.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">GPUContext</a></dt>
+<dd>
+<div class="block">Shallow copy the given source <a href="org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html" title="class in org.apache.sysds.runtime.instructions.gpu.context"><code>GPUObject</code></a> to a new <a href="org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html" title="class in org.apache.sysds.runtime.instructions.gpu.context"><code>GPUObject</code></a> and 
+ assign that to the given <a href="org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching"><code>MatrixObject</code></a>.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/gpu/context/ExecutionConfig.html#sharedMemBytes">sharedMemBytes</a></span> - Variable in class org.apache.sysds.runtime.instructions.gpu.context.<a href="org/apache/sysds/runtime/instructions/gpu/context/ExecutionConfig.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">ExecutionConfig</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/federated/FederatedRange.html#shift-long-long-">shift(long, long)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.federated.<a href="org/apache/sysds/runtime/controlprogram/federated/FederatedRange.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRange</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html#shiftColIndices-int-">shiftColIndices(int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#shiftCol-int-">shiftCol(int)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html#shiftCol-int-">shiftCol(int)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderComposite</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html#shiftColIndices-int-">shiftColIndices(int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#shiftCols-int-">shiftCols(int)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/LegacyEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">LegacyEncoder</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/spark/AppendGAlignedSPInstruction.ShiftColumnIndex.html#ShiftColumnIndex-long-boolean-">ShiftColumnIndex(long, boolean)</a></span> - Constructor for class org.apache.sysds.runtime.instructions.spark.<a href="org/apache/sysds/runtime/instructions/spark/AppendGAlignedSPInstruction.ShiftColumnIndex.html" title="class in org.apache.sysds.runtime.instructions.spark">AppendGAlignedSPInstruction.ShiftColumnIndex</a></dt>
 <dd>&nbsp;</dd>
@@ -28143,6 +30325,14 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/io/IOUtilFunctions.html#shortToBa-int-byte:A-int-">shortToBa(int, byte[], int)</a></span> - Static method in class org.apache.sysds.runtime.io.<a href="org/apache/sysds/runtime/io/IOUtilFunctions.html" title="class in org.apache.sysds.runtime.io">IOUtilFunctions</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/ShuffleFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">ShuffleFederatedScheme</span></a> - Class in <a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/package-summary.html">org.apache.sysds.runtime.controlprogram.paramserv.dp</a></dt>
+<dd>
+<div class="block">Shuffle Federated scheme
+
+ When the parameter server runs in federated mode it cannot pull in the data which is already on the workers.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/ShuffleFederatedScheme.html#ShuffleFederatedScheme--">ShuffleFederatedScheme()</a></span> - Constructor for class org.apache.sysds.runtime.controlprogram.paramserv.dp.<a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/ShuffleFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">ShuffleFederatedScheme</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/CommonThreadPool.html#shutdown--">shutdown()</a></span> - Method in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/CommonThreadPool.html" title="class in org.apache.sysds.runtime.util">CommonThreadPool</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/CommonThreadPool.html#shutdownNow--">shutdownNow()</a></span> - Method in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/CommonThreadPool.html" title="class in org.apache.sysds.runtime.util">CommonThreadPool</a></dt>
@@ -28177,6 +30367,10 @@
 <dd>
 <div class="block">Performs an "sin" operation on a matrix on the GPU</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/EMAUtils.html#single_exponential_smoothing-java.lang.Double:A-java.lang.Double-">single_exponential_smoothing(Double[], Double)</a></span> - Static method in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/EMAUtils.html" title="class in org.apache.sysds.runtime.util">EMAUtils</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.SinglePrecision.html#SinglePrecision--">SinglePrecision()</a></span> - Constructor for class org.apache.sysds.runtime.instructions.gpu.<a href="org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.SinglePrecision.html" title="class in org.apache.sysds.runtime.instructions.gpu">SpoofCUDAInstruction.SinglePrecision</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/matrix/data/SinglePrecisionCudaSupportFunctions.html" title="class in org.apache.sysds.runtime.matrix.data"><span class="typeNameLink">SinglePrecisionCudaSupportFunctions</span></a> - Class in <a href="org/apache/sysds/runtime/matrix/data/package-summary.html">org.apache.sysds.runtime.matrix.data</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/SinglePrecisionCudaSupportFunctions.html#SinglePrecisionCudaSupportFunctions--">SinglePrecisionCudaSupportFunctions()</a></span> - Constructor for class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/SinglePrecisionCudaSupportFunctions.html" title="class in org.apache.sysds.runtime.matrix.data">SinglePrecisionCudaSupportFunctions</a></dt>
@@ -28195,7 +30389,13 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/template/CPlanMemoTable.html#size--">size()</a></span> - Method in class org.apache.sysds.hops.codegen.template.<a href="org/apache/sysds/hops/codegen/template/CPlanMemoTable.html" title="class in org.apache.sysds.hops.codegen.template">CPlanMemoTable</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html#size">size</a></span> - Variable in class org.apache.sysds.runtime.compress.cocode.<a href="org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCoder.GroupableColInfo</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ADictionary.html#size--">size()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></dt>
+<dd>
+<div class="block">returns the count of values contained in the dictionary.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/Dictionary.html#size--">size()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">Dictionary</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/QDictionary.html#size--">size()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/QDictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">QDictionary</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressionStatistics.html#size">size</a></span> - Variable in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressionStatistics.html" title="class in org.apache.sysds.runtime.compress">CompressionStatistics</a></dt>
 <dd>&nbsp;</dd>
@@ -28296,9 +30496,9 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/template/TemplateUtils.html#skipTranspose-org.apache.sysds.hops.codegen.cplan.CNode-org.apache.sysds.hops.Hop-java.util.HashMap-boolean-">skipTranspose(CNode, Hop, HashMap&lt;Long, CNode&gt;, boolean)</a></span> - Static method in class org.apache.sysds.hops.codegen.template.<a href="org/apache/sysds/hops/codegen/template/TemplateUtils.html" title="class in org.apache.sysds.hops.codegen.template">TemplateUtils</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#slice-int-int-int-int-boolean-org.apache.sysds.runtime.controlprogram.caching.CacheBlock-">slice(int, int, int, int, boolean, CacheBlock)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">AbstractCompressedMatrixBlock</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#slice-int-int-int-int-boolean-org.apache.sysds.runtime.controlprogram.caching.CacheBlock-">slice(int, int, int, int, boolean, CacheBlock)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#slice-java.util.ArrayList-org.apache.sysds.runtime.util.IndexRange-int-int-int-int-int-">slice(ArrayList&lt;IndexedMatrixValue&gt;, IndexRange, int, int, int, int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">AbstractCompressedMatrixBlock</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#slice-java.util.ArrayList-org.apache.sysds.runtime.util.IndexRange-int-int-int-int-int-">slice(ArrayList&lt;IndexedMatrixValue&gt;, IndexRange, int, int, int, int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html#slice-int-int-int-int-org.apache.sysds.runtime.controlprogram.caching.CacheBlock-">slice(int, int, int, int, CacheBlock)</a></span> - Method in interface org.apache.sysds.runtime.controlprogram.caching.<a href="org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html" title="interface in org.apache.sysds.runtime.controlprogram.caching">CacheBlock</a></dt>
 <dd>
@@ -28336,6 +30536,10 @@
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html#slice-org.apache.sysds.runtime.util.IndexRange-org.apache.sysds.runtime.matrix.data.MatrixBlock-">slice(IndexRange, MatrixBlock)</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html#slice-int-int-">slice(int, int)</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></dt>
+<dd>
+<div class="block">Slice out a row block</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html#slice-int-int-int-int-">slice(int, int, int, int)</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html#slice-int-int-int-int-org.apache.sysds.runtime.controlprogram.caching.CacheBlock-">slice(int, int, int, int, CacheBlock)</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></dt>
 <dd>&nbsp;</dd>
@@ -28348,6 +30552,16 @@
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/MatrixCell.html#slice-java.util.ArrayList-org.apache.sysds.runtime.util.IndexRange-int-int-int-int-int-">slice(ArrayList&lt;IndexedMatrixValue&gt;, IndexRange, int, int, int, int, int)</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/MatrixCell.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixCell</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/MatrixValue.html#slice-java.util.ArrayList-org.apache.sysds.runtime.util.IndexRange-int-int-int-int-int-">slice(ArrayList&lt;IndexedMatrixValue&gt;, IndexRange, int, int, int, int, int)</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a></dt>
+<dd>
+<div class="block">Slice out up to 4 matrixBlocks that are separated by the row and col Cuts.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html#sliceColumns-int-int-">sliceColumns(int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></dt>
+<dd>
+<div class="block">Slice out the columns within the range of cl and cu to remove the dictionary values related to these columns.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#sliceColumns-int-int-">sliceColumns(int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupUncompressed</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#sliceColumns-int-int-">sliceColumns(int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/paramserv/ParamservUtils.html#sliceMatrix-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-long-long-">sliceMatrix(MatrixObject, long, long)</a></span> - Static method in class org.apache.sysds.runtime.controlprogram.paramserv.<a href="org/apache/sysds/runtime/controlprogram/paramserv/ParamservUtils.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv">ParamservUtils</a></dt>
 <dd>
@@ -28362,6 +30576,14 @@
 <dd>
 <div class="block">Method to perform rightIndex operation for a given lower and upper bounds in row and column dimensions.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ADictionary.html#sliceOutColumnRange-int-int-int-">sliceOutColumnRange(int, int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></dt>
+<dd>
+<div class="block">Modify the dictionary by removing columns not within the index range.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/Dictionary.html#sliceOutColumnRange-int-int-int-">sliceOutColumnRange(int, int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">Dictionary</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/QDictionary.html#sliceOutColumnRange-int-int-int-">sliceOutColumnRange(int, int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/QDictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">QDictionary</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/utils/NativeHelper.html#smmdd-java.nio.FloatBuffer-java.nio.FloatBuffer-java.nio.FloatBuffer-int-int-int-int-">smmdd(FloatBuffer, FloatBuffer, FloatBuffer, int, int, int, int)</a></span> - Static method in class org.apache.sysds.utils.<a href="org/apache/sysds/utils/NativeHelper.html" title="class in org.apache.sysds.utils">NativeHelper</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/compress/estim/sample/SmoothedJackknifeEstimator.html" title="class in org.apache.sysds.runtime.compress.estim.sample"><span class="typeNameLink">SmoothedJackknifeEstimator</span></a> - Class in <a href="org/apache/sysds/runtime/compress/estim/sample/package-summary.html">org.apache.sysds.runtime.compress.estim.sample</a></dt>
@@ -28376,6 +30598,14 @@
 <dd>
 <div class="block">Implements the "solve" function for systemds Ax = B (A is of size m*n, B is of size m*1, x is of size n*1)</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/privacy/PrivacyUtils.html#someConstraintSetBinary-org.apache.sysds.runtime.privacy.PrivacyConstraint...-">someConstraintSetBinary(PrivacyConstraint...)</a></span> - Static method in class org.apache.sysds.runtime.privacy.<a href="org/apache/sysds/runtime/privacy/PrivacyUtils.html" title="class in org.apache.sysds.runtime.privacy">PrivacyUtils</a></dt>
+<dd>
+<div class="block">Returns true if some constraints are set for either of two input privacy constraints.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/privacy/PrivacyUtils.html#someConstraintSetUnary-org.apache.sysds.runtime.privacy.PrivacyConstraint-">someConstraintSetUnary(PrivacyConstraint)</a></span> - Static method in class org.apache.sysds.runtime.privacy.<a href="org/apache/sysds/runtime/privacy/PrivacyUtils.html" title="class in org.apache.sysds.runtime.privacy">PrivacyUtils</a></dt>
+<dd>
+<div class="block">Returns true if the constraint is set for the input privacy constraint.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/data/SparseBlock.html#sort--">sort()</a></span> - Method in class org.apache.sysds.runtime.data.<a href="org/apache/sysds/runtime/data/SparseBlock.html" title="class in org.apache.sysds.runtime.data">SparseBlock</a></dt>
 <dd>
 <div class="block">Sort all non-zero value/index pairs of the sparse block by row 
@@ -28410,6 +30640,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/LibMatrixReorg.html#sort-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-boolean-boolean-int-">sort(MatrixBlock, MatrixBlock, int[], boolean, boolean, int)</a></span> - Static method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/LibMatrixReorg.html" title="class in org.apache.sysds.runtime.matrix.data">LibMatrixReorg</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderRecode.html#SORT_RECODE_MAP">SORT_RECODE_MAP</a></span> - Static variable in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderRecode.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderRecode</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/estim/EstimatorSampleRa.html#sortAndTruncate-java.util.ArrayList-">sortAndTruncate(ArrayList&lt;Double&gt;)</a></span> - Method in class org.apache.sysds.hops.estim.<a href="org/apache/sysds/hops/estim/EstimatorSampleRa.html" title="class in org.apache.sysds.hops.estim">EstimatorSampleRa</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/SortUtils.html#sortByIndex-int-int-int:A-double:A-">sortByIndex(int, int, int[], double[])</a></span> - Static method in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/SortUtils.html" title="class in org.apache.sysds.runtime.util">SortUtils</a></dt>
@@ -28435,6 +30667,8 @@
 <div class="block">In-place sort of two arrays, only indexes is used for comparison and values
  of same position are sorted accordingly.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderRecode.html#sortCPRecodeMaps--">sortCPRecodeMaps()</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderRecode.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderRecode</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/spark/utils/RDDSortUtils.html#sortDataByIx-org.apache.spark.api.java.JavaPairRDD-org.apache.spark.api.java.JavaPairRDD-long-long-int-">sortDataByIx(JavaPairRDD&lt;MatrixIndexes, MatrixBlock&gt;, JavaPairRDD&lt;MatrixIndexes, MatrixBlock&gt;, long, long, int)</a></span> - Static method in class org.apache.sysds.runtime.instructions.spark.utils.<a href="org/apache/sysds/runtime/instructions/spark/utils/RDDSortUtils.html" title="class in org.apache.sysds.runtime.instructions.spark.utils">RDDSortUtils</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/spark/utils/RDDSortUtils.html#sortDataByVal-org.apache.spark.api.java.JavaPairRDD-org.apache.spark.api.java.JavaPairRDD-boolean-long-long-int-">sortDataByVal(JavaPairRDD&lt;MatrixIndexes, MatrixBlock&gt;, JavaPairRDD&lt;MatrixIndexes, MatrixBlock&gt;, boolean, long, long, int)</a></span> - Static method in class org.apache.sysds.runtime.instructions.spark.utils.<a href="org/apache/sysds/runtime/instructions/spark/utils/RDDSortUtils.html" title="class in org.apache.sysds.runtime.instructions.spark.utils">RDDSortUtils</a></dt>
@@ -28470,7 +30704,7 @@
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/lops/SortKeys.OperationTypes.html" title="enum in org.apache.sysds.lops"><span class="typeNameLink">SortKeys.OperationTypes</span></a> - Enum in <a href="org/apache/sysds/lops/package-summary.html">org.apache.sysds.lops</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#sortOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixBlock-">sortOperations(MatrixValue, MatrixBlock)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">AbstractCompressedMatrixBlock</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#sortOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixBlock-">sortOperations(MatrixValue, MatrixBlock)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html#sortOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixBlock-">sortOperations(MatrixValue, MatrixBlock)</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></dt>
 <dd>&nbsp;</dd>
@@ -28511,6 +30745,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/Instruction.html#SP_INST_PREFIX">SP_INST_PREFIX</a></span> - Static variable in class org.apache.sysds.runtime.instructions.<a href="org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/DMVUtils.html#SPACE">SPACE</a></span> - Static variable in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/DMVUtils.html" title="class in org.apache.sysds.runtime.util">DMVUtils</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/api/mlcontext/MLContextConversionUtil.html#spark--">spark()</a></span> - Static method in class org.apache.sysds.api.mlcontext.<a href="org/apache/sysds/api/mlcontext/MLContextConversionUtil.html" title="class in org.apache.sysds.api.mlcontext">MLContextConversionUtil</a></dt>
 <dd>
 <div class="block">Obtain SparkSession from MLContextProxy.</div>
@@ -28637,10 +30873,6 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/data/SparseRow.html#SparseRow--">SparseRow()</a></span> - Constructor for class org.apache.sysds.runtime.data.<a href="org/apache/sysds/runtime/data/SparseRow.html" title="class in org.apache.sysds.runtime.data">SparseRow</a></dt>
 <dd>&nbsp;</dd>
-<dt><a href="org/apache/sysds/runtime/compress/colgroup/SparseRowIterator.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">SparseRowIterator</span></a> - Class in <a href="org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/SparseRowIterator.html#SparseRowIterator-int-int-java.util.List-int-">SparseRowIterator(int, int, List&lt;ColGroup&gt;, int)</a></span> - Constructor for class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/SparseRowIterator.html" title="class in org.apache.sysds.runtime.compress.colgroup">SparseRowIterator</a></dt>
-<dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/data/SparseRowScalar.html" title="class in org.apache.sysds.runtime.data"><span class="typeNameLink">SparseRowScalar</span></a> - Class in <a href="org/apache/sysds/runtime/data/package-summary.html">org.apache.sysds.runtime.data</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/data/SparseRowScalar.html#SparseRowScalar--">SparseRowScalar()</a></span> - Constructor for class org.apache.sysds.runtime.data.<a href="org/apache/sysds/runtime/data/SparseRowScalar.html" title="class in org.apache.sysds.runtime.data">SparseRowScalar</a></dt>
@@ -28653,6 +30885,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/data/SparseRowVector.html#SparseRowVector-int-">SparseRowVector(int)</a></span> - Constructor for class org.apache.sysds.runtime.data.<a href="org/apache/sysds/runtime/data/SparseRowVector.html" title="class in org.apache.sysds.runtime.data">SparseRowVector</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/data/SparseRowVector.html#SparseRowVector-int-double:A-int-">SparseRowVector(int, double[], int)</a></span> - Constructor for class org.apache.sysds.runtime.data.<a href="org/apache/sysds/runtime/data/SparseRowVector.html" title="class in org.apache.sysds.runtime.data">SparseRowVector</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/data/SparseRowVector.html#SparseRowVector-int-int-">SparseRowVector(int, int)</a></span> - Constructor for class org.apache.sysds.runtime.data.<a href="org/apache/sysds/runtime/data/SparseRowVector.html" title="class in org.apache.sysds.runtime.data">SparseRowVector</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/data/SparseRowVector.html#SparseRowVector-org.apache.sysds.runtime.data.SparseRow-">SparseRowVector(SparseRow)</a></span> - Constructor for class org.apache.sysds.runtime.data.<a href="org/apache/sysds/runtime/data/SparseRowVector.html" title="class in org.apache.sysds.runtime.data">SparseRowVector</a></dt>
@@ -28726,10 +30960,12 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/DMLProgram.html#splitFunctionKey-java.lang.String-">splitFunctionKey(String)</a></span> - Static method in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/DMLProgram.html" title="class in org.apache.sysds.parser">DMLProgram</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderRecode.html#splitRecodeMapEntry-java.lang.String-">splitRecodeMapEntry(String)</a></span> - Static method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderRecode.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderRecode</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderRecode.html#splitRecodeMapEntry-java.lang.String-">splitRecodeMapEntry(String)</a></span> - Static method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderRecode.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderRecode</a></dt>
 <dd>
 <div class="block">Splits a Recode map entry into its token and code.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/tokenize/TokenizerPreWhitespaceSplit.html#splitToTokens-java.lang.String-">splitToTokens(String)</a></span> - Method in class org.apache.sysds.runtime.transform.tokenize.<a href="org/apache/sysds/runtime/transform/tokenize/TokenizerPreWhitespaceSplit.html" title="class in org.apache.sysds.runtime.transform.tokenize">TokenizerPreWhitespaceSplit</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/codegen/SpoofCellwise.html" title="class in org.apache.sysds.runtime.codegen"><span class="typeNameLink">SpoofCellwise</span></a> - Class in <a href="org/apache/sysds/runtime/codegen/package-summary.html">org.apache.sysds.runtime.codegen</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/codegen/SpoofCellwise.html#SpoofCellwise-org.apache.sysds.runtime.codegen.SpoofCellwise.CellType-boolean-boolean-org.apache.sysds.runtime.codegen.SpoofCellwise.AggOp-">SpoofCellwise(SpoofCellwise.CellType, boolean, boolean, SpoofCellwise.AggOp)</a></span> - Constructor for class org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/SpoofCellwise.html" title="class in org.apache.sysds.runtime.codegen">SpoofCellwise</a></dt>
@@ -28744,6 +30980,8 @@
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/hops/codegen/SpoofCompiler.CompilerType.html" title="enum in org.apache.sysds.hops.codegen"><span class="typeNameLink">SpoofCompiler.CompilerType</span></a> - Enum in <a href="org/apache/sysds/hops/codegen/package-summary.html">org.apache.sysds.hops.codegen</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen"><span class="typeNameLink">SpoofCompiler.GeneratorAPI</span></a> - Enum in <a href="org/apache/sysds/hops/codegen/package-summary.html">org.apache.sysds.hops.codegen</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/hops/codegen/SpoofCompiler.IntegrationType.html" title="enum in org.apache.sysds.hops.codegen"><span class="typeNameLink">SpoofCompiler.IntegrationType</span></a> - Enum in <a href="org/apache/sysds/hops/codegen/package-summary.html">org.apache.sysds.hops.codegen</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/hops/codegen/SpoofCompiler.PlanCachePolicy.html" title="enum in org.apache.sysds.hops.codegen"><span class="typeNameLink">SpoofCompiler.PlanCachePolicy</span></a> - Enum in <a href="org/apache/sysds/hops/codegen/package-summary.html">org.apache.sysds.hops.codegen</a></dt>
@@ -28754,15 +30992,35 @@
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/instructions/cp/SpoofCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp"><span class="typeNameLink">SpoofCPInstruction</span></a> - Class in <a href="org/apache/sysds/runtime/instructions/cp/package-summary.html">org.apache.sysds.runtime.instructions.cp</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/codegen/SpoofCUDACellwise.html" title="class in org.apache.sysds.runtime.codegen"><span class="typeNameLink">SpoofCUDACellwise</span></a> - Class in <a href="org/apache/sysds/runtime/codegen/package-summary.html">org.apache.sysds.runtime.codegen</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/codegen/SpoofCUDACellwise.html#SpoofCUDACellwise-org.apache.sysds.runtime.codegen.SpoofCellwise.CellType-boolean-boolean-org.apache.sysds.runtime.codegen.SpoofCellwise.AggOp-int-org.apache.sysds.runtime.codegen.SpoofCUDAOperator.PrecisionProxy-org.apache.sysds.runtime.codegen.SpoofCellwise-">SpoofCUDACellwise(SpoofCellwise.CellType, boolean, boolean, SpoofCellwise.AggOp, int, SpoofCUDAOperator.PrecisionProxy, SpoofCellwise)</a></span> - Constructor for class org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/SpoofCUDACellwise.html" title="class in org.apache.sysds.runtime.codegen">SpoofCUDACellwise</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu"><span class="typeNameLink">SpoofCUDAInstruction</span></a> - Class in <a href="org/apache/sysds/runtime/instructions/gpu/package-summary.html">org.apache.sysds.runtime.instructions.gpu</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.DoublePrecision.html" title="class in org.apache.sysds.runtime.instructions.gpu"><span class="typeNameLink">SpoofCUDAInstruction.DoublePrecision</span></a> - Class in <a href="org/apache/sysds/runtime/instructions/gpu/package-summary.html">org.apache.sysds.runtime.instructions.gpu</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.SinglePrecision.html" title="class in org.apache.sysds.runtime.instructions.gpu"><span class="typeNameLink">SpoofCUDAInstruction.SinglePrecision</span></a> - Class in <a href="org/apache/sysds/runtime/instructions/gpu/package-summary.html">org.apache.sysds.runtime.instructions.gpu</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html" title="interface in org.apache.sysds.runtime.codegen"><span class="typeNameLink">SpoofCUDAOperator</span></a> - Interface in <a href="org/apache/sysds/runtime/codegen/package-summary.html">org.apache.sysds.runtime.codegen</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/codegen/SpoofCUDAOperator.PrecisionProxy.html" title="class in org.apache.sysds.runtime.codegen"><span class="typeNameLink">SpoofCUDAOperator.PrecisionProxy</span></a> - Class in <a href="org/apache/sysds/runtime/codegen/package-summary.html">org.apache.sysds.runtime.codegen</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/codegen/SpoofCUDARowwise.html" title="class in org.apache.sysds.runtime.codegen"><span class="typeNameLink">SpoofCUDARowwise</span></a> - Class in <a href="org/apache/sysds/runtime/codegen/package-summary.html">org.apache.sysds.runtime.codegen</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/codegen/SpoofCUDARowwise.html#SpoofCUDARowwise-org.apache.sysds.runtime.codegen.SpoofRowwise.RowType-long-boolean-int-int-org.apache.sysds.runtime.codegen.SpoofCUDAOperator.PrecisionProxy-">SpoofCUDARowwise(SpoofRowwise.RowType, long, boolean, int, int, SpoofCUDAOperator.PrecisionProxy)</a></span> - Constructor for class org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/SpoofCUDARowwise.html" title="class in org.apache.sysds.runtime.codegen">SpoofCUDARowwise</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/instructions/fed/SpoofFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">SpoofFEDInstruction</span></a> - Class in <a href="org/apache/sysds/runtime/instructions/fed/package-summary.html">org.apache.sysds.runtime.instructions.fed</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/lops/SpoofFused.html" title="class in org.apache.sysds.lops"><span class="typeNameLink">SpoofFused</span></a> - Class in <a href="org/apache/sysds/lops/package-summary.html">org.apache.sysds.lops</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/lops/SpoofFused.html#SpoofFused-java.util.ArrayList-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-java.lang.Class-int-org.apache.sysds.lops.LopProperties.ExecType-">SpoofFused(ArrayList&lt;Lop&gt;, Types.DataType, Types.ValueType, Class&lt;?&gt;, int, LopProperties.ExecType)</a></span> - Constructor for class org.apache.sysds.lops.<a href="org/apache/sysds/lops/SpoofFused.html" title="class in org.apache.sysds.lops">SpoofFused</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/lops/SpoofFused.html#SpoofFused-java.util.ArrayList-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-java.lang.Class-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-java.lang.String-int-org.apache.sysds.lops.LopProperties.ExecType-">SpoofFused(ArrayList&lt;Lop&gt;, Types.DataType, Types.ValueType, Class&lt;?&gt;, SpoofCompiler.GeneratorAPI, String, int, LopProperties.ExecType)</a></span> - Constructor for class org.apache.sysds.lops.<a href="org/apache/sysds/lops/SpoofFused.html" title="class in org.apache.sysds.lops">SpoofFused</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/hops/codegen/SpoofFusedOp.html" title="class in org.apache.sysds.hops.codegen"><span class="typeNameLink">SpoofFusedOp</span></a> - Class in <a href="org/apache/sysds/hops/codegen/package-summary.html">org.apache.sysds.hops.codegen</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/SpoofFusedOp.html#SpoofFusedOp--">SpoofFusedOp()</a></span> - Constructor for class org.apache.sysds.hops.codegen.<a href="org/apache/sysds/hops/codegen/SpoofFusedOp.html" title="class in org.apache.sysds.hops.codegen">SpoofFusedOp</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/SpoofFusedOp.html#SpoofFusedOp-java.lang.String-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-java.lang.Class-boolean-org.apache.sysds.hops.codegen.SpoofFusedOp.SpoofOutputDimsType-">SpoofFusedOp(String, Types.DataType, Types.ValueType, Class&lt;?&gt;, boolean, SpoofFusedOp.SpoofOutputDimsType)</a></span> - Constructor for class org.apache.sysds.hops.codegen.<a href="org/apache/sysds/hops/codegen/SpoofFusedOp.html" title="class in org.apache.sysds.hops.codegen">SpoofFusedOp</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/SpoofFusedOp.html#SpoofFusedOp-java.lang.String-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-java.lang.Class-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-java.lang.String-boolean-org.apache.sysds.hops.codegen.SpoofFusedOp.SpoofOutputDimsType-">SpoofFusedOp(String, Types.DataType, Types.ValueType, Class&lt;?&gt;, SpoofCompiler.GeneratorAPI, String, boolean, SpoofFusedOp.SpoofOutputDimsType)</a></span> - Constructor for class org.apache.sysds.hops.codegen.<a href="org/apache/sysds/hops/codegen/SpoofFusedOp.html" title="class in org.apache.sysds.hops.codegen">SpoofFusedOp</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/hops/codegen/SpoofFusedOp.SpoofOutputDimsType.html" title="enum in org.apache.sysds.hops.codegen"><span class="typeNameLink">SpoofFusedOp.SpoofOutputDimsType</span></a> - Enum in <a href="org/apache/sysds/hops/codegen/package-summary.html">org.apache.sysds.hops.codegen</a></dt>
 <dd>&nbsp;</dd>
@@ -28818,6 +31076,10 @@
 <dd>
 <div class="block">Performs an "sqrt" operation on a matrix on the GPU</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#squash-int-">squash(int)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/lib/CLALibSquash.html#squash-org.apache.sysds.runtime.compress.CompressedMatrixBlock-int-">squash(CompressedMatrixBlock, int)</a></span> - Static method in class org.apache.sysds.runtime.compress.lib.<a href="org/apache/sysds/runtime/compress/lib/CLALibSquash.html" title="class in org.apache.sysds.runtime.compress.lib">CLALibSquash</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/controlprogram/parfor/util/StagingFileUtils.html" title="class in org.apache.sysds.runtime.controlprogram.parfor.util"><span class="typeNameLink">StagingFileUtils</span></a> - Class in <a href="org/apache/sysds/runtime/controlprogram/parfor/util/package-summary.html">org.apache.sysds.runtime.controlprogram.parfor.util</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/parfor/util/StagingFileUtils.html#StagingFileUtils--">StagingFileUtils()</a></span> - Constructor for class org.apache.sysds.runtime.controlprogram.parfor.util.<a href="org/apache/sysds/runtime/controlprogram/parfor/util/StagingFileUtils.html" title="class in org.apache.sysds.runtime.controlprogram.parfor.util">StagingFileUtils</a></dt>
@@ -28885,12 +31147,16 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/Statement.html#Statement--">Statement()</a></span> - Constructor for class org.apache.sysds.parser.<a href="org/apache/sysds/parser/Statement.html" title="class in org.apache.sysds.parser">Statement</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/parser/Statement.FederatedPSScheme.html" title="enum in org.apache.sysds.parser"><span class="typeNameLink">Statement.FederatedPSScheme</span></a> - Enum in <a href="org/apache/sysds/parser/package-summary.html">org.apache.sysds.parser</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/parser/Statement.PSCheckpointing.html" title="enum in org.apache.sysds.parser"><span class="typeNameLink">Statement.PSCheckpointing</span></a> - Enum in <a href="org/apache/sysds/parser/package-summary.html">org.apache.sysds.parser</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/parser/Statement.PSFrequency.html" title="enum in org.apache.sysds.parser"><span class="typeNameLink">Statement.PSFrequency</span></a> - Enum in <a href="org/apache/sysds/parser/package-summary.html">org.apache.sysds.parser</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/parser/Statement.PSModeType.html" title="enum in org.apache.sysds.parser"><span class="typeNameLink">Statement.PSModeType</span></a> - Enum in <a href="org/apache/sysds/parser/package-summary.html">org.apache.sysds.parser</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/parser/Statement.PSRuntimeBalancing.html" title="enum in org.apache.sysds.parser"><span class="typeNameLink">Statement.PSRuntimeBalancing</span></a> - Enum in <a href="org/apache/sysds/parser/package-summary.html">org.apache.sysds.parser</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/parser/Statement.PSScheme.html" title="enum in org.apache.sysds.parser"><span class="typeNameLink">Statement.PSScheme</span></a> - Enum in <a href="org/apache/sysds/parser/package-summary.html">org.apache.sysds.parser</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/parser/Statement.PSUpdateType.html" title="enum in org.apache.sysds.parser"><span class="typeNameLink">Statement.PSUpdateType</span></a> - Enum in <a href="org/apache/sysds/parser/package-summary.html">org.apache.sysds.parser</a></dt>
@@ -28960,6 +31226,8 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/utils/Statistics.html#stopCompileTimer--">stopCompileTimer()</a></span> - Static method in class org.apache.sysds.utils.<a href="org/apache/sysds/utils/Statistics.html" title="class in org.apache.sysds.utils">Statistics</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/LineageEstimator.html#stopEstimator-java.util.List-org.apache.sysds.runtime.lineage.LineageItem:A-java.lang.String-">stopEstimator(List&lt;DataIdentifier&gt;, LineageItem[], String)</a></span> - Static method in class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageEstimator.html" title="class in org.apache.sysds.runtime.lineage">LineageEstimator</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/utils/Statistics.html#stopRunTimer--">stopRunTimer()</a></span> - Static method in class org.apache.sysds.utils.<a href="org/apache/sysds/utils/Statistics.html" title="class in org.apache.sysds.utils">Statistics</a></dt>
 <dd>
 <div class="block">Stops the timer, should be invoked immediately after invoking
@@ -29044,6 +31312,10 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/spark/utils/RDDConverterUtils.html#stringToSerializableText-org.apache.spark.api.java.JavaPairRDD-">stringToSerializableText(JavaPairRDD&lt;Long, String&gt;)</a></span> - Static method in class org.apache.sysds.runtime.instructions.spark.utils.<a href="org/apache/sysds/runtime/instructions/spark/utils/RDDConverterUtils.html" title="class in org.apache.sysds.runtime.instructions.spark.utils">RDDConverterUtils</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/UtilFunctions.html#stringToValueType-java.lang.String:A-">stringToValueType(String[])</a></span> - Static method in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/UtilFunctions.html" title="class in org.apache.sysds.runtime.util">UtilFunctions</a></dt>
+<dd>
+<div class="block">Generates a ValueType array from a String array</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/opt/PlanSelectionFuseCostBasedV2.html#STRUCTURAL_PRUNING">STRUCTURAL_PRUNING</a></span> - Static variable in class org.apache.sysds.hops.codegen.opt.<a href="org/apache/sysds/hops/codegen/opt/PlanSelectionFuseCostBasedV2.html" title="class in org.apache.sysds.hops.codegen.opt">PlanSelectionFuseCostBasedV2</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/CommonThreadPool.html#submit-java.util.concurrent.Callable-">submit(Callable&lt;T&gt;)</a></span> - Method in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/CommonThreadPool.html" title="class in org.apache.sysds.runtime.util">CommonThreadPool</a></dt>
@@ -29066,28 +31338,30 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/decode/DecoderRecode.html#subRangeDecoder-int-int-int-">subRangeDecoder(int, int, int)</a></span> - Method in class org.apache.sysds.runtime.transform.decode.<a href="org/apache/sysds/runtime/transform/decode/DecoderRecode.html" title="class in org.apache.sysds.runtime.transform.decode">DecoderRecode</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/Encoder.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">subRangeEncoder(IndexRange)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></dt>
-<dd>
-<div class="block">Returns a new Encoder that only handles a sub range of columns.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderBin.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">subRangeEncoder(IndexRange)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderBin.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderBin</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderComposite.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">subRangeEncoder(IndexRange)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderComposite</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderDummycode.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">subRangeEncoder(IndexRange)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderDummycode.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderDummycode</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderFeatureHash.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">subRangeEncoder(IndexRange)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderFeatureHash.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderFeatureHash</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">subRangeEncoder(IndexRange)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderMVImpute</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderOmit.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">subRangeEncoder(IndexRange)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderOmit.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderOmit</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderPassThrough.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">subRangeEncoder(IndexRange)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderPassThrough.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderPassThrough</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">subRangeEncoder(IndexRange)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/LegacyEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">LegacyEncoder</a></dt>
+<dd>
+<div class="block">Returns a new Encoder that only handles a sub range of columns.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">subRangeEncoder(IndexRange)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderRecode.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">subRangeEncoder(IndexRange)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderRecode.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderRecode</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-java.lang.Class-">subRangeEncoder(IndexRange, Class&lt;T&gt;)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/SubsampleToMinFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">SubsampleToMinFederatedScheme</span></a> - Class in <a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/package-summary.html">org.apache.sysds.runtime.controlprogram.paramserv.dp</a></dt>
+<dd>
+<div class="block">Subsample to Min Federated scheme
+
+ When the parameter server runs in federated mode it cannot pull in the data which is already on the workers.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/SubsampleToMinFederatedScheme.html#SubsampleToMinFederatedScheme--">SubsampleToMinFederatedScheme()</a></span> - Constructor for class org.apache.sysds.runtime.controlprogram.paramserv.dp.<a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/SubsampleToMinFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">SubsampleToMinFederatedScheme</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/template/CPlanMemoTable.MemoTableEntry.html#subsumes-org.apache.sysds.hops.codegen.template.CPlanMemoTable.MemoTableEntry-">subsumes(CPlanMemoTable.MemoTableEntry)</a></span> - Method in class org.apache.sysds.hops.codegen.template.<a href="org/apache/sysds/hops/codegen/template/CPlanMemoTable.MemoTableEntry.html" title="class in org.apache.sysds.hops.codegen.template">CPlanMemoTable.MemoTableEntry</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#sum--">sum()</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html#sum--">sum()</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></dt>
 <dd>
 <div class="block">Wrapper method for reduceall-sum of a matrix.</div>
@@ -29102,6 +31376,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/spark/utils/RDDAggregateUtils.html#sumCellsByKeyStable-org.apache.spark.api.java.JavaPairRDD-int-">sumCellsByKeyStable(JavaPairRDD&lt;MatrixIndexes, Double&gt;, int)</a></span> - Static method in class org.apache.sysds.runtime.instructions.spark.utils.<a href="org/apache/sysds/runtime/instructions/spark/utils/RDDAggregateUtils.html" title="class in org.apache.sysds.runtime.instructions.spark.utils">RDDAggregateUtils</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#sumSq--">sumSq()</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html#sumSq--">sumSq()</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></dt>
 <dd>
 <div class="block">Wrapper method for reduceall-sumSq of a matrix.</div>
@@ -29129,6 +31405,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/conf/DMLConfig.html#SYNCHRONIZE_GPU">SYNCHRONIZE_GPU</a></span> - Static variable in class org.apache.sysds.conf.<a href="org/apache/sysds/conf/DMLConfig.html" title="class in org.apache.sysds.conf">DMLConfig</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/DMVUtils.html#syntacticalPatternDiscovery-org.apache.sysds.runtime.matrix.data.FrameBlock-double-java.lang.String-">syntacticalPatternDiscovery(FrameBlock, double, String)</a></span> - Static method in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/DMVUtils.html" title="class in org.apache.sysds.runtime.util">DMVUtils</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/dml/CustomErrorListener.html#syntaxError-org.antlr.v4.runtime.Recognizer-java.lang.Object-int-int-java.lang.String-org.antlr.v4.runtime.RecognitionException-">syntaxError(Recognizer&lt;?, ?&gt;, Object, int, int, String, RecognitionException)</a></span> - Method in class org.apache.sysds.parser.dml.<a href="org/apache/sysds/parser/dml/CustomErrorListener.html" title="class in org.apache.sysds.parser.dml">CustomErrorListener</a></dt>
 <dd>
 <div class="block">Syntax error occurred.</div>
@@ -29458,6 +31736,10 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/parfor/TaskPartitionerStatic.html#TaskPartitionerStatic-long-int-java.lang.String-org.apache.sysds.runtime.instructions.cp.IntObject-org.apache.sysds.runtime.instructions.cp.IntObject-org.apache.sysds.runtime.instructions.cp.IntObject-">TaskPartitionerStatic(long, int, String, IntObject, IntObject, IntObject)</a></span> - Constructor for class org.apache.sysds.runtime.controlprogram.parfor.<a href="org/apache/sysds/runtime/controlprogram/parfor/TaskPartitionerStatic.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">TaskPartitionerStatic</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/paramserv/FederatedPSControlThread.html#teardown--">teardown()</a></span> - Method in class org.apache.sysds.runtime.controlprogram.paramserv.<a href="org/apache/sysds/runtime/controlprogram/paramserv/FederatedPSControlThread.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv">FederatedPSControlThread</a></dt>
+<dd>
+<div class="block">cleans up the execution context of the federated worker</div>
+</dd>
 <dt><a href="org/apache/sysds/hops/codegen/template/TemplateBase.html" title="class in org.apache.sysds.hops.codegen.template"><span class="typeNameLink">TemplateBase</span></a> - Class in <a href="org/apache/sysds/hops/codegen/template/package-summary.html">org.apache.sysds.hops.codegen.template</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/hops/codegen/template/TemplateBase.CloseType.html" title="enum in org.apache.sysds.hops.codegen.template"><span class="typeNameLink">TemplateBase.CloseType</span></a> - Enum in <a href="org/apache/sysds/hops/codegen/template/package-summary.html">org.apache.sysds.hops.codegen.template</a></dt>
@@ -29632,11 +31914,21 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/io/TensorWriterTextCellParallel.html#TensorWriterTextCellParallel--">TensorWriterTextCellParallel()</a></span> - Constructor for class org.apache.sysds.runtime.io.<a href="org/apache/sysds/runtime/io/TensorWriterTextCellParallel.html" title="class in org.apache.sysds.runtime.io">TensorWriterTextCellParallel</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/LibMatrixTercell.html#tercellOp-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.TernaryOperator-">tercellOp(MatrixBlock, MatrixBlock, MatrixBlock, MatrixBlock, TernaryOperator)</a></span> - Static method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/LibMatrixTercell.html" title="class in org.apache.sysds.runtime.matrix.data">LibMatrixTercell</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/hops/codegen/cplan/cuda/Ternary.html" title="class in org.apache.sysds.hops.codegen.cplan.cuda"><span class="typeNameLink">Ternary</span></a> - Class in <a href="org/apache/sysds/hops/codegen/cplan/cuda/package-summary.html">org.apache.sysds.hops.codegen.cplan.cuda</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/cplan/cuda/Ternary.html#Ternary--">Ternary()</a></span> - Constructor for class org.apache.sysds.hops.codegen.cplan.cuda.<a href="org/apache/sysds/hops/codegen/cplan/cuda/Ternary.html" title="class in org.apache.sysds.hops.codegen.cplan.cuda">Ternary</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/hops/codegen/cplan/java/Ternary.html" title="class in org.apache.sysds.hops.codegen.cplan.java"><span class="typeNameLink">Ternary</span></a> - Class in <a href="org/apache/sysds/hops/codegen/cplan/java/package-summary.html">org.apache.sysds.hops.codegen.cplan.java</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/cplan/java/Ternary.html#Ternary--">Ternary()</a></span> - Constructor for class org.apache.sysds.hops.codegen.cplan.java.<a href="org/apache/sysds/hops/codegen/cplan/java/Ternary.html" title="class in org.apache.sysds.hops.codegen.cplan.java">Ternary</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/lops/Ternary.html" title="class in org.apache.sysds.lops"><span class="typeNameLink">Ternary</span></a> - Class in <a href="org/apache/sysds/lops/package-summary.html">org.apache.sysds.lops</a></dt>
 <dd>
 <div class="block">Lop to perform Sum of a matrix with another matrix multiplied by Scalar.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/lops/Ternary.html#Ternary-org.apache.sysds.common.Types.OpOp3-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-">Ternary(Types.OpOp3, Lop, Lop, Lop, Types.DataType, Types.ValueType, LopProperties.ExecType)</a></span> - Constructor for class org.apache.sysds.lops.<a href="org/apache/sysds/lops/Ternary.html" title="class in org.apache.sysds.lops">Ternary</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/lops/Ternary.html#Ternary-org.apache.sysds.common.Types.OpOp3-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-int-">Ternary(Types.OpOp3, Lop, Lop, Lop, Types.DataType, Types.ValueType, LopProperties.ExecType, int)</a></span> - Constructor for class org.apache.sysds.lops.<a href="org/apache/sysds/lops/Ternary.html" title="class in org.apache.sysds.lops">Ternary</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/lops/TernaryAggregate.html" title="class in org.apache.sysds.lops"><span class="typeNameLink">TernaryAggregate</span></a> - Class in <a href="org/apache/sysds/lops/package-summary.html">org.apache.sysds.lops</a></dt>
 <dd>&nbsp;</dd>
@@ -29644,6 +31936,8 @@
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/instructions/cp/TernaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp"><span class="typeNameLink">TernaryCPInstruction</span></a> - Class in <a href="org/apache/sysds/runtime/instructions/cp/package-summary.html">org.apache.sysds.runtime.instructions.cp</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/instructions/fed/TernaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">TernaryFEDInstruction</span></a> - Class in <a href="org/apache/sysds/runtime/instructions/fed/package-summary.html">org.apache.sysds.runtime.instructions.fed</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/hops/TernaryOp.html" title="class in org.apache.sysds.hops"><span class="typeNameLink">TernaryOp</span></a> - Class in <a href="org/apache/sysds/hops/package-summary.html">org.apache.sysds.hops</a></dt>
 <dd>
 <div class="block">Primary use cases for now, are
@@ -29655,15 +31949,15 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/TernaryOp.html#TernaryOp-java.lang.String-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.common.Types.OpOp3-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-">TernaryOp(String, Types.DataType, Types.ValueType, Types.OpOp3, Hop, Hop, Hop)</a></span> - Constructor for class org.apache.sysds.hops.<a href="org/apache/sysds/hops/TernaryOp.html" title="class in org.apache.sysds.hops">TernaryOp</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/TernaryOp.html#TernaryOp-java.lang.String-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.common.Types.OpOp3-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-">TernaryOp(String, Types.DataType, Types.ValueType, Types.OpOp3, Hop, Hop, Hop, Hop, Hop)</a></span> - Constructor for class org.apache.sysds.hops.<a href="org/apache/sysds/hops/TernaryOp.html" title="class in org.apache.sysds.hops">TernaryOp</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/TernaryOp.html#TernaryOp-java.lang.String-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.common.Types.OpOp3-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-">TernaryOp(String, Types.DataType, Types.ValueType, Types.OpOp3, Hop, Hop, Hop, Hop, Hop, Hop)</a></span> - Constructor for class org.apache.sysds.hops.<a href="org/apache/sysds/hops/TernaryOp.html" title="class in org.apache.sysds.hops">TernaryOp</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#ternaryOperations-org.apache.sysds.runtime.matrix.operators.TernaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ternaryOperations(TernaryOperator, MatrixBlock, MatrixBlock, MatrixBlock)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">AbstractCompressedMatrixBlock</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#ternaryOperations-org.apache.sysds.runtime.matrix.operators.TernaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ternaryOperations(TernaryOperator, MatrixBlock, MatrixBlock, MatrixBlock)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html#ternaryOperations-org.apache.sysds.runtime.matrix.operators.TernaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ternaryOperations(TernaryOperator, MatrixBlock, MatrixBlock, MatrixBlock)</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/matrix/operators/TernaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators"><span class="typeNameLink">TernaryOperator</span></a> - Class in <a href="org/apache/sysds/runtime/matrix/operators/package-summary.html">org.apache.sysds.runtime.matrix.operators</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/operators/TernaryOperator.html#TernaryOperator-org.apache.sysds.runtime.functionobjects.TernaryValueFunction-">TernaryOperator(TernaryValueFunction)</a></span> - Constructor for class org.apache.sysds.runtime.matrix.operators.<a href="org/apache/sysds/runtime/matrix/operators/TernaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">TernaryOperator</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/operators/TernaryOperator.html#TernaryOperator-org.apache.sysds.runtime.functionobjects.TernaryValueFunction-int-">TernaryOperator(TernaryValueFunction, int)</a></span> - Constructor for class org.apache.sysds.runtime.matrix.operators.<a href="org/apache/sysds/runtime/matrix/operators/TernaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">TernaryOperator</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/instructions/spark/TernarySPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark"><span class="typeNameLink">TernarySPInstruction</span></a> - Class in <a href="org/apache/sysds/runtime/instructions/spark/package-summary.html">org.apache.sysds.runtime.instructions.spark</a></dt>
 <dd>&nbsp;</dd>
@@ -29853,6 +32147,52 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/LineageTokenizer.html#tokenize-java.lang.String-">tokenize(String)</a></span> - Method in class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageTokenizer.html" title="class in org.apache.sysds.runtime.lineage">LineageTokenizer</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/tokenize/Tokenizer.html#tokenize-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.FrameBlock-">tokenize(FrameBlock, FrameBlock)</a></span> - Method in class org.apache.sysds.runtime.transform.tokenize.<a href="org/apache/sysds/runtime/transform/tokenize/Tokenizer.html" title="class in org.apache.sysds.runtime.transform.tokenize">Tokenizer</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/tokenize/TokenizerPost.html#tokenizePost-java.util.List-org.apache.sysds.runtime.matrix.data.FrameBlock-">tokenizePost(List&lt;Tokenizer.DocumentToTokens&gt;, FrameBlock)</a></span> - Method in interface org.apache.sysds.runtime.transform.tokenize.<a href="org/apache/sysds/runtime/transform/tokenize/TokenizerPost.html" title="interface in org.apache.sysds.runtime.transform.tokenize">TokenizerPost</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/tokenize/TokenizerPostCount.html#tokenizePost-java.util.List-org.apache.sysds.runtime.matrix.data.FrameBlock-">tokenizePost(List&lt;Tokenizer.DocumentToTokens&gt;, FrameBlock)</a></span> - Method in class org.apache.sysds.runtime.transform.tokenize.<a href="org/apache/sysds/runtime/transform/tokenize/TokenizerPostCount.html" title="class in org.apache.sysds.runtime.transform.tokenize">TokenizerPostCount</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/tokenize/TokenizerPostHash.html#tokenizePost-java.util.List-org.apache.sysds.runtime.matrix.data.FrameBlock-">tokenizePost(List&lt;Tokenizer.DocumentToTokens&gt;, FrameBlock)</a></span> - Method in class org.apache.sysds.runtime.transform.tokenize.<a href="org/apache/sysds/runtime/transform/tokenize/TokenizerPostHash.html" title="class in org.apache.sysds.runtime.transform.tokenize">TokenizerPostHash</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/tokenize/TokenizerPostPosition.html#tokenizePost-java.util.List-org.apache.sysds.runtime.matrix.data.FrameBlock-">tokenizePost(List&lt;Tokenizer.DocumentToTokens&gt;, FrameBlock)</a></span> - Method in class org.apache.sysds.runtime.transform.tokenize.<a href="org/apache/sysds/runtime/transform/tokenize/TokenizerPostPosition.html" title="class in org.apache.sysds.runtime.transform.tokenize">TokenizerPostPosition</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/tokenize/TokenizerPre.html#tokenizePre-org.apache.sysds.runtime.matrix.data.FrameBlock-">tokenizePre(FrameBlock)</a></span> - Method in interface org.apache.sysds.runtime.transform.tokenize.<a href="org/apache/sysds/runtime/transform/tokenize/TokenizerPre.html" title="interface in org.apache.sysds.runtime.transform.tokenize">TokenizerPre</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/tokenize/TokenizerPreNgram.html#tokenizePre-org.apache.sysds.runtime.matrix.data.FrameBlock-">tokenizePre(FrameBlock)</a></span> - Method in class org.apache.sysds.runtime.transform.tokenize.<a href="org/apache/sysds/runtime/transform/tokenize/TokenizerPreNgram.html" title="class in org.apache.sysds.runtime.transform.tokenize">TokenizerPreNgram</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/tokenize/TokenizerPreWhitespaceSplit.html#tokenizePre-org.apache.sysds.runtime.matrix.data.FrameBlock-">tokenizePre(FrameBlock)</a></span> - Method in class org.apache.sysds.runtime.transform.tokenize.<a href="org/apache/sysds/runtime/transform/tokenize/TokenizerPreWhitespaceSplit.html" title="class in org.apache.sysds.runtime.transform.tokenize">TokenizerPreWhitespaceSplit</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/transform/tokenize/Tokenizer.html" title="class in org.apache.sysds.runtime.transform.tokenize"><span class="typeNameLink">Tokenizer</span></a> - Class in <a href="org/apache/sysds/runtime/transform/tokenize/package-summary.html">org.apache.sysds.runtime.transform.tokenize</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/transform/tokenize/TokenizerFactory.html" title="class in org.apache.sysds.runtime.transform.tokenize"><span class="typeNameLink">TokenizerFactory</span></a> - Class in <a href="org/apache/sysds/runtime/transform/tokenize/package-summary.html">org.apache.sysds.runtime.transform.tokenize</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/tokenize/TokenizerFactory.html#TokenizerFactory--">TokenizerFactory()</a></span> - Constructor for class org.apache.sysds.runtime.transform.tokenize.<a href="org/apache/sysds/runtime/transform/tokenize/TokenizerFactory.html" title="class in org.apache.sysds.runtime.transform.tokenize">TokenizerFactory</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/transform/tokenize/TokenizerPost.html" title="interface in org.apache.sysds.runtime.transform.tokenize"><span class="typeNameLink">TokenizerPost</span></a> - Interface in <a href="org/apache/sysds/runtime/transform/tokenize/package-summary.html">org.apache.sysds.runtime.transform.tokenize</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/transform/tokenize/TokenizerPostCount.html" title="class in org.apache.sysds.runtime.transform.tokenize"><span class="typeNameLink">TokenizerPostCount</span></a> - Class in <a href="org/apache/sysds/runtime/transform/tokenize/package-summary.html">org.apache.sysds.runtime.transform.tokenize</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/tokenize/TokenizerPostCount.html#TokenizerPostCount-org.apache.wink.json4j.JSONObject-int-int-boolean-">TokenizerPostCount(JSONObject, int, int, boolean)</a></span> - Constructor for class org.apache.sysds.runtime.transform.tokenize.<a href="org/apache/sysds/runtime/transform/tokenize/TokenizerPostCount.html" title="class in org.apache.sysds.runtime.transform.tokenize">TokenizerPostCount</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/transform/tokenize/TokenizerPostHash.html" title="class in org.apache.sysds.runtime.transform.tokenize"><span class="typeNameLink">TokenizerPostHash</span></a> - Class in <a href="org/apache/sysds/runtime/transform/tokenize/package-summary.html">org.apache.sysds.runtime.transform.tokenize</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/tokenize/TokenizerPostHash.html#TokenizerPostHash-org.apache.wink.json4j.JSONObject-int-int-boolean-">TokenizerPostHash(JSONObject, int, int, boolean)</a></span> - Constructor for class org.apache.sysds.runtime.transform.tokenize.<a href="org/apache/sysds/runtime/transform/tokenize/TokenizerPostHash.html" title="class in org.apache.sysds.runtime.transform.tokenize">TokenizerPostHash</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/transform/tokenize/TokenizerPostPosition.html" title="class in org.apache.sysds.runtime.transform.tokenize"><span class="typeNameLink">TokenizerPostPosition</span></a> - Class in <a href="org/apache/sysds/runtime/transform/tokenize/package-summary.html">org.apache.sysds.runtime.transform.tokenize</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/tokenize/TokenizerPostPosition.html#TokenizerPostPosition-org.apache.wink.json4j.JSONObject-int-int-boolean-">TokenizerPostPosition(JSONObject, int, int, boolean)</a></span> - Constructor for class org.apache.sysds.runtime.transform.tokenize.<a href="org/apache/sysds/runtime/transform/tokenize/TokenizerPostPosition.html" title="class in org.apache.sysds.runtime.transform.tokenize">TokenizerPostPosition</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/transform/tokenize/TokenizerPre.html" title="interface in org.apache.sysds.runtime.transform.tokenize"><span class="typeNameLink">TokenizerPre</span></a> - Interface in <a href="org/apache/sysds/runtime/transform/tokenize/package-summary.html">org.apache.sysds.runtime.transform.tokenize</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/transform/tokenize/TokenizerPreNgram.html" title="class in org.apache.sysds.runtime.transform.tokenize"><span class="typeNameLink">TokenizerPreNgram</span></a> - Class in <a href="org/apache/sysds/runtime/transform/tokenize/package-summary.html">org.apache.sysds.runtime.transform.tokenize</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/tokenize/TokenizerPreNgram.html#TokenizerPreNgram-java.util.List-int-org.apache.wink.json4j.JSONObject-">TokenizerPreNgram(List&lt;Integer&gt;, int, JSONObject)</a></span> - Constructor for class org.apache.sysds.runtime.transform.tokenize.<a href="org/apache/sysds/runtime/transform/tokenize/TokenizerPreNgram.html" title="class in org.apache.sysds.runtime.transform.tokenize">TokenizerPreNgram</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/transform/tokenize/TokenizerPreWhitespaceSplit.html" title="class in org.apache.sysds.runtime.transform.tokenize"><span class="typeNameLink">TokenizerPreWhitespaceSplit</span></a> - Class in <a href="org/apache/sysds/runtime/transform/tokenize/package-summary.html">org.apache.sysds.runtime.transform.tokenize</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/tokenize/TokenizerPreWhitespaceSplit.html#TokenizerPreWhitespaceSplit-java.util.List-int-org.apache.wink.json4j.JSONObject-">TokenizerPreWhitespaceSplit(List&lt;Integer&gt;, int, JSONObject)</a></span> - Constructor for class org.apache.sysds.runtime.transform.tokenize.<a href="org/apache/sysds/runtime/transform/tokenize/TokenizerPreWhitespaceSplit.html" title="class in org.apache.sysds.runtime.transform.tokenize">TokenizerPreWhitespaceSplit</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/dml/DmlLexer.html#tokenNames">tokenNames</a></span> - Static variable in class org.apache.sysds.parser.dml.<a href="org/apache/sysds/parser/dml/DmlLexer.html" title="class in org.apache.sysds.parser.dml">DmlLexer</a></dt>
 <dd>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>
@@ -29925,7 +32265,7 @@
 <dd>
 <div class="block">Obtain the matrix as a <code>RDD&lt;String&gt;</code> in IJV format</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#toShallowSerializeBlock--">toShallowSerializeBlock()</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">AbstractCompressedMatrixBlock</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#toShallowSerializeBlock--">toShallowSerializeBlock()</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html#toShallowSerializeBlock--">toShallowSerializeBlock()</a></span> - Method in interface org.apache.sysds.runtime.controlprogram.caching.<a href="org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html" title="interface in org.apache.sysds.runtime.controlprogram.caching">CacheBlock</a></dt>
 <dd>
@@ -30001,6 +32341,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/cost/VarStats.html#toString--">toString()</a></span> - Method in class org.apache.sysds.hops.cost.<a href="org/apache/sysds/hops/cost/VarStats.html" title="class in org.apache.sysds.hops.cost">VarStats</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/Hop.html#toString--">toString()</a></span> - Method in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/ipa/FunctionCallSizeInfo.html#toString--">toString()</a></span> - Method in class org.apache.sysds.hops.ipa.<a href="org/apache/sysds/hops/ipa/FunctionCallSizeInfo.html" title="class in org.apache.sysds.hops.ipa">FunctionCallSizeInfo</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/LiteralOp.html#toString--">toString()</a></span> - Method in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/LiteralOp.html" title="class in org.apache.sysds.hops">LiteralOp</a></dt>
@@ -30043,6 +32385,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/lops/DataGen.html#toString--">toString()</a></span> - Method in class org.apache.sysds.lops.<a href="org/apache/sysds/lops/DataGen.html" title="class in org.apache.sysds.lops">DataGen</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/lops/DeCompression.html#toString--">toString()</a></span> - Method in class org.apache.sysds.lops.<a href="org/apache/sysds/lops/DeCompression.html" title="class in org.apache.sysds.lops">DeCompression</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/lops/DnnTransform.html#toString--">toString()</a></span> - Method in class org.apache.sysds.lops.<a href="org/apache/sysds/lops/DnnTransform.html" title="class in org.apache.sysds.lops">DnnTransform</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/lops/Federated.html#toString--">toString()</a></span> - Method in class org.apache.sysds.lops.<a href="org/apache/sysds/lops/Federated.html" title="class in org.apache.sysds.lops">Federated</a></dt>
@@ -30193,30 +32537,52 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/WhileStatement.html#toString--">toString()</a></span> - Method in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/WhileStatement.html" title="class in org.apache.sysds.parser">WhileStatement</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.html#toString--">toString()</a></span> - Method in class org.apache.sysds.runtime.compress.cocode.<a href="org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCodingGroup</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html#toString--">toString()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#toString--">toString()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html#toString--">toString()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC1</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html#toString--">toString()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC2</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#toString--">toString()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOffset</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#toString--">toString()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOLE</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#toString--">toString()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupRLE</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html#toString--">toString()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDC</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html#toString--">toString()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingle</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html#toString--">toString()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingleZeros</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#toString--">toString()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCZeros</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#toString--">toString()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupUncompressed</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#toString--">toString()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/Dictionary.html#toString--">toString()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">Dictionary</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToByte.html#toString--">toString()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.mapping.<a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToByte.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping">MapToByte</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToChar.html#toString--">toString()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.mapping.<a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToChar.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping">MapToChar</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToInt.html#toString--">toString()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.mapping.<a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToInt.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping">MapToInt</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/pre/ArrPreAggregate.html#toString--">toString()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.pre.<a href="org/apache/sysds/runtime/compress/colgroup/pre/ArrPreAggregate.html" title="class in org.apache.sysds.runtime.compress.colgroup.pre">ArrPreAggregate</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/pre/MapPreAggregate.html#toString--">toString()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.pre.<a href="org/apache/sysds/runtime/compress/colgroup/pre/MapPreAggregate.html" title="class in org.apache.sysds.runtime.compress.colgroup.pre">MapPreAggregate</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#toString--">toString()</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressionSettings.html#toString--">toString()</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressionStatistics.html#toString--">toString()</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressionStatistics.html" title="class in org.apache.sysds.runtime.compress">CompressionStatistics</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/estim/CompressedSizeEstimatorSample.html#toString--">toString()</a></span> - Method in class org.apache.sysds.runtime.compress.estim.<a href="org/apache/sysds/runtime/compress/estim/CompressedSizeEstimatorSample.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeEstimatorSample</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html#toString--">toString()</a></span> - Method in class org.apache.sysds.runtime.compress.estim.<a href="org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfo</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/estim/CompressedSizeInfoColGroup.html#toString--">toString()</a></span> - Method in class org.apache.sysds.runtime.compress.estim.<a href="org/apache/sysds/runtime/compress/estim/CompressedSizeInfoColGroup.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfoColGroup</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/estim/EstimationFactors.html#toString--">toString()</a></span> - Method in class org.apache.sysds.runtime.compress.estim.<a href="org/apache/sysds/runtime/compress/estim/EstimationFactors.html" title="class in org.apache.sysds.runtime.compress.estim">EstimationFactors</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/utils/ABitmap.html#toString--">toString()</a></span> - Method in class org.apache.sysds.runtime.compress.utils.<a href="org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils">ABitmap</a></dt>
@@ -30237,16 +32603,22 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/utils/IntArrayList.html#toString--">toString()</a></span> - Method in class org.apache.sysds.runtime.compress.utils.<a href="org/apache/sysds/runtime/compress/utils/IntArrayList.html" title="class in org.apache.sysds.runtime.compress.utils">IntArrayList</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/utils/IntIntMap.html#toString--">toString()</a></span> - Method in class org.apache.sysds.runtime.compress.utils.<a href="org/apache/sysds/runtime/compress/utils/IntIntMap.html" title="class in org.apache.sysds.runtime.compress.utils">IntIntMap</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#toString--">toString()</a></span> - Method in class org.apache.sysds.runtime.controlprogram.caching.<a href="org/apache/sysds/runtime/controlprogram/caching/CacheableData.html" title="class in org.apache.sysds.runtime.controlprogram.caching">CacheableData</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#toString--">toString()</a></span> - Method in class org.apache.sysds.runtime.controlprogram.context.<a href="org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/context/SparkExecutionContext.SparkClusterConfig.html#toString--">toString()</a></span> - Method in class org.apache.sysds.runtime.controlprogram.context.<a href="org/apache/sysds/runtime/controlprogram/context/SparkExecutionContext.SparkClusterConfig.html" title="class in org.apache.sysds.runtime.controlprogram.context">SparkExecutionContext.SparkClusterConfig</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/federated/FederatedData.html#toString--">toString()</a></span> - Method in class org.apache.sysds.runtime.controlprogram.federated.<a href="org/apache/sysds/runtime/controlprogram/federated/FederatedData.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedData</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/federated/FederatedRange.html#toString--">toString()</a></span> - Method in class org.apache.sysds.runtime.controlprogram.federated.<a href="org/apache/sysds/runtime/controlprogram/federated/FederatedRange.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRange</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/federated/FederatedRequest.html#toString--">toString()</a></span> - Method in class org.apache.sysds.runtime.controlprogram.federated.<a href="org/apache/sysds/runtime/controlprogram/federated/FederatedRequest.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRequest</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/federated/FederationMap.html#toString--">toString()</a></span> - Method in class org.apache.sysds.runtime.controlprogram.federated.<a href="org/apache/sysds/runtime/controlprogram/federated/FederationMap.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationMap</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/LocalVariableMap.html#toString--">toString()</a></span> - Method in class org.apache.sysds.runtime.controlprogram.<a href="org/apache/sysds/runtime/controlprogram/LocalVariableMap.html" title="class in org.apache.sysds.runtime.controlprogram">LocalVariableMap</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/parfor/LocalTaskQueue.html#toString--">toString()</a></span> - Method in class org.apache.sysds.runtime.controlprogram.parfor.<a href="org/apache/sysds/runtime/controlprogram/parfor/LocalTaskQueue.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">LocalTaskQueue</a></dt>
@@ -30345,7 +32717,9 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyList.html#toString--">toString()</a></span> - Method in class org.apache.sysds.runtime.privacy.finegrained.<a href="org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyList.html" title="class in org.apache.sysds.runtime.privacy.finegrained">FineGrainedPrivacyList</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderComposite.html#toString--">toString()</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderComposite</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/privacy/PrivacyConstraint.html#toString--">toString()</a></span> - Method in class org.apache.sysds.runtime.privacy.<a href="org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html#toString--">toString()</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderComposite</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/TfUtils.TfMethod.html#toString--">toString()</a></span> - Method in enum org.apache.sysds.runtime.transform.<a href="org/apache/sysds/runtime/transform/TfUtils.TfMethod.html" title="enum in org.apache.sysds.runtime.transform">TfUtils.TfMethod</a></dt>
 <dd>&nbsp;</dd>
@@ -30385,6 +32759,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/Lineage.html#traceCurrentDedupPath-org.apache.sysds.runtime.controlprogram.ProgramBlock-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">traceCurrentDedupPath(ProgramBlock, ExecutionContext)</a></span> - Method in class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/Lineage.html" title="class in org.apache.sysds.runtime.lineage">Lineage</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/LineageItemUtils.html#traceFedUDF-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.runtime.controlprogram.federated.FederatedUDF-">traceFedUDF(ExecutionContext, FederatedUDF)</a></span> - Static method in class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageItemUtils.html" title="class in org.apache.sysds.runtime.lineage">LineageItemUtils</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/LineageDedupBlock.html#traceIfProgramBlock-org.apache.sysds.runtime.controlprogram.IfProgramBlock-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-java.util.Collection-">traceIfProgramBlock(IfProgramBlock, ExecutionContext, Collection&lt;Map.Entry&lt;Long, LineageMap&gt;&gt;)</a></span> - Method in class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageDedupBlock.html" title="class in org.apache.sysds.runtime.lineage">LineageDedupBlock</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#traceLineage-org.apache.sysds.runtime.instructions.Instruction-">traceLineage(Instruction)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.context.<a href="org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a></dt>
@@ -30393,6 +32769,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/LineageDedupBlock.html#traceProgramBlocks-java.util.ArrayList-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">traceProgramBlocks(ArrayList&lt;ProgramBlock&gt;, ExecutionContext)</a></span> - Method in class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageDedupBlock.html" title="class in org.apache.sysds.runtime.lineage">LineageDedupBlock</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/recompile/RecompileStatus.html#trackRecompile-boolean-">trackRecompile(boolean)</a></span> - Method in class org.apache.sysds.hops.recompile.<a href="org/apache/sysds/hops/recompile/RecompileStatus.html" title="class in org.apache.sysds.hops.recompile">RecompileStatus</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/lops/Transform.html" title="class in org.apache.sysds.lops"><span class="typeNameLink">Transform</span></a> - Class in <a href="org/apache/sysds/lops/package-summary.html">org.apache.sysds.lops</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/lops/Transform.html#Transform-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.ReOrgOp-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-">Transform(Lop, Types.ReOrgOp, Types.DataType, Types.ValueType, LopProperties.ExecType)</a></span> - Constructor for class org.apache.sysds.lops.<a href="org/apache/sysds/lops/Transform.html" title="class in org.apache.sysds.lops">Transform</a></dt>
@@ -30411,11 +32789,11 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/spark/MultiReturnParameterizedBuiltinSPInstruction.TransformEncodeBuild2Function.html#TransformEncodeBuild2Function-org.apache.sysds.runtime.transform.encode.EncoderMVImpute-">TransformEncodeBuild2Function(EncoderMVImpute)</a></span> - Constructor for class org.apache.sysds.runtime.instructions.spark.<a href="org/apache/sysds/runtime/instructions/spark/MultiReturnParameterizedBuiltinSPInstruction.TransformEncodeBuild2Function.html" title="class in org.apache.sysds.runtime.instructions.spark">MultiReturnParameterizedBuiltinSPInstruction.TransformEncodeBuild2Function</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/spark/MultiReturnParameterizedBuiltinSPInstruction.TransformEncodeBuildFunction.html#TransformEncodeBuildFunction-org.apache.sysds.runtime.transform.encode.Encoder-">TransformEncodeBuildFunction(Encoder)</a></span> - Constructor for class org.apache.sysds.runtime.instructions.spark.<a href="org/apache/sysds/runtime/instructions/spark/MultiReturnParameterizedBuiltinSPInstruction.TransformEncodeBuildFunction.html" title="class in org.apache.sysds.runtime.instructions.spark">MultiReturnParameterizedBuiltinSPInstruction.TransformEncodeBuildFunction</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/spark/MultiReturnParameterizedBuiltinSPInstruction.TransformEncodeBuildFunction.html#TransformEncodeBuildFunction-org.apache.sysds.runtime.transform.encode.MultiColumnEncoder-">TransformEncodeBuildFunction(MultiColumnEncoder)</a></span> - Constructor for class org.apache.sysds.runtime.instructions.spark.<a href="org/apache/sysds/runtime/instructions/spark/MultiReturnParameterizedBuiltinSPInstruction.TransformEncodeBuildFunction.html" title="class in org.apache.sysds.runtime.instructions.spark">MultiReturnParameterizedBuiltinSPInstruction.TransformEncodeBuildFunction</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/spark/MultiReturnParameterizedBuiltinSPInstruction.TransformEncodeGroup2Function.html#TransformEncodeGroup2Function-org.apache.sysds.runtime.transform.encode.EncoderMVImpute-">TransformEncodeGroup2Function(EncoderMVImpute)</a></span> - Constructor for class org.apache.sysds.runtime.instructions.spark.<a href="org/apache/sysds/runtime/instructions/spark/MultiReturnParameterizedBuiltinSPInstruction.TransformEncodeGroup2Function.html" title="class in org.apache.sysds.runtime.instructions.spark">MultiReturnParameterizedBuiltinSPInstruction.TransformEncodeGroup2Function</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/spark/MultiReturnParameterizedBuiltinSPInstruction.TransformEncodeGroupFunction.html#TransformEncodeGroupFunction-org.apache.sysds.runtime.instructions.spark.MultiReturnParameterizedBuiltinSPInstruction.MaxLongAccumulator-">TransformEncodeGroupFunction(MultiReturnParameterizedBuiltinSPInstruction.MaxLongAccumulator)</a></span> - Constructor for class org.apache.sysds.runtime.instructions.spark.<a href="org/apache/sysds/runtime/instructions/spark/MultiReturnParameterizedBuiltinSPInstruction.TransformEncodeGroupFunction.html" title="class in org.apache.sysds.runtime.instructions.spark">MultiReturnParameterizedBuiltinSPInstruction.TransformEncodeGroupFunction</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/spark/MultiReturnParameterizedBuiltinSPInstruction.TransformEncodeGroupFunction.html#TransformEncodeGroupFunction-org.apache.sysds.runtime.transform.encode.MultiColumnEncoder-org.apache.sysds.runtime.instructions.spark.MultiReturnParameterizedBuiltinSPInstruction.MaxLongAccumulator-">TransformEncodeGroupFunction(MultiColumnEncoder, MultiReturnParameterizedBuiltinSPInstruction.MaxLongAccumulator)</a></span> - Constructor for class org.apache.sysds.runtime.instructions.spark.<a href="org/apache/sysds/runtime/instructions/spark/MultiReturnParameterizedBuiltinSPInstruction.TransformEncodeGroupFunction.html" title="class in org.apache.sysds.runtime.instructions.spark">MultiReturnParameterizedBuiltinSPInstruction.TransformEncodeGroupFunction</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/estim/EstimatorBitsetMM.BitsetMatrix.html#transpose--">transpose()</a></span> - Method in class org.apache.sysds.hops.estim.<a href="org/apache/sysds/hops/estim/EstimatorBitsetMM.BitsetMatrix.html" title="class in org.apache.sysds.hops.estim">EstimatorBitsetMM.BitsetMatrix</a></dt>
 <dd>&nbsp;</dd>
@@ -30435,11 +32813,20 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/LibMatrixReorg.html#transpose-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">transpose(MatrixBlock, MatrixBlock, int)</a></span> - Static method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/LibMatrixReorg.html" title="class in org.apache.sysds.runtime.matrix.data">LibMatrixReorg</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressionSettings.html#transposed">transposed</a></span> - Variable in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a></dt>
+<dd>
+<div class="block">Transpose input matrix, to optimize access when extracting bitmaps.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/LibMatrixReorg.html#transposeInPlace-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">transposeInPlace(MatrixBlock, int)</a></span> - Static method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/LibMatrixReorg.html" title="class in org.apache.sysds.runtime.matrix.data">LibMatrixReorg</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressionSettings.html#transposeInput">transposeInput</a></span> - Variable in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a></dt>
 <dd>
-<div class="block">Transpose input matrix, to optimize performance, this reallocate the matrix to a more cache conscious allocation
- for iteration in columns.</div>
+<div class="block">Boolean specifying which transpose setting is used, can be auto, true or false</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/cp/AggregateBinaryCPInstruction.html#transposeLeft">transposeLeft</a></span> - Variable in class org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/AggregateBinaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">AggregateBinaryCPInstruction</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/cp/AggregateBinaryCPInstruction.html#transposeRight">transposeRight</a></span> - Variable in class org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/AggregateBinaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">AggregateBinaryCPInstruction</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#transposeSelfMatrixMultOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.lops.MMTSJ.MMTSJType-">transposeSelfMatrixMultOperations(MatrixBlock, MMTSJ.MMTSJType)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#transposeSelfMatrixMultOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.lops.MMTSJ.MMTSJType-int-">transposeSelfMatrixMultOperations(MatrixBlock, MMTSJ.MMTSJType, int)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></dt>
@@ -30448,6 +32835,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html#transposeSelfMatrixMultOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.lops.MMTSJ.MMTSJType-int-">transposeSelfMatrixMultOperations(MatrixBlock, MMTSJ.MMTSJType, int)</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/EMAUtils.html#triple_exponential_smoothing-java.lang.Double:A-java.lang.Double-java.lang.Double-java.lang.Double-java.lang.Integer-">triple_exponential_smoothing(Double[], Double, Double, Double, Integer)</a></span> - Static method in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/EMAUtils.html" title="class in org.apache.sysds.runtime.util">EMAUtils</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/matrix/data/TripleIndexes.html" title="class in org.apache.sysds.runtime.matrix.data"><span class="typeNameLink">TripleIndexes</span></a> - Class in <a href="org/apache/sysds/runtime/matrix/data/package-summary.html">org.apache.sysds.runtime.matrix.data</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/TripleIndexes.html#TripleIndexes--">TripleIndexes()</a></span> - Constructor for class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/TripleIndexes.html" title="class in org.apache.sysds.runtime.matrix.data">TripleIndexes</a></dt>
@@ -30600,7 +32989,7 @@
 </dd>
 <dt><a href="org/apache/sysds/runtime/instructions/cp/UaggOuterChainCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp"><span class="typeNameLink">UaggOuterChainCPInstruction</span></a> - Class in <a href="org/apache/sysds/runtime/instructions/cp/package-summary.html">org.apache.sysds.runtime.instructions.cp</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#uaggouterchainOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.BinaryOperator-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-">uaggouterchainOperations(MatrixBlock, MatrixBlock, MatrixBlock, BinaryOperator, AggregateUnaryOperator)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">AbstractCompressedMatrixBlock</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#uaggouterchainOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.BinaryOperator-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-">uaggouterchainOperations(MatrixBlock, MatrixBlock, MatrixBlock, BinaryOperator, AggregateUnaryOperator)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html#uaggouterchainOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.BinaryOperator-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-">uaggouterchainOperations(MatrixBlock, MatrixBlock, MatrixBlock, BinaryOperator, AggregateUnaryOperator)</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></dt>
 <dd>&nbsp;</dd>
@@ -30614,6 +33003,14 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html#ULTRA_SPARSITY_TURN_POINT2">ULTRA_SPARSITY_TURN_POINT2</a></span> - Static variable in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/hops/codegen/cplan/cuda/Unary.html" title="class in org.apache.sysds.hops.codegen.cplan.cuda"><span class="typeNameLink">Unary</span></a> - Class in <a href="org/apache/sysds/hops/codegen/cplan/cuda/package-summary.html">org.apache.sysds.hops.codegen.cplan.cuda</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/cplan/cuda/Unary.html#Unary--">Unary()</a></span> - Constructor for class org.apache.sysds.hops.codegen.cplan.cuda.<a href="org/apache/sysds/hops/codegen/cplan/cuda/Unary.html" title="class in org.apache.sysds.hops.codegen.cplan.cuda">Unary</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/hops/codegen/cplan/java/Unary.html" title="class in org.apache.sysds.hops.codegen.cplan.java"><span class="typeNameLink">Unary</span></a> - Class in <a href="org/apache/sysds/hops/codegen/cplan/java/package-summary.html">org.apache.sysds.hops.codegen.cplan.java</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/cplan/java/Unary.html#Unary--">Unary()</a></span> - Constructor for class org.apache.sysds.hops.codegen.cplan.java.<a href="org/apache/sysds/hops/codegen/cplan/java/Unary.html" title="class in org.apache.sysds.hops.codegen.cplan.java">Unary</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/lops/Unary.html" title="class in org.apache.sysds.lops"><span class="typeNameLink">Unary</span></a> - Class in <a href="org/apache/sysds/lops/package-summary.html">org.apache.sysds.lops</a></dt>
 <dd>
 <div class="block">Lop to perform following operations: with one operand -- NOT(A), ABS(A),
@@ -30632,12 +33029,12 @@
 <dd>
 <div class="block">Entry point to perform Unary aggregate operations on the GPU.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-">unaryAggregateOperations(AggregateUnaryOperator, double[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-">unaryAggregateOperations(AggregateUnaryOperator, double[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></dt>
 <dd>
 <div class="block">Unary Aggregate operator, since aggregate operators require new object output, the output becomes an uncompressed
  matrix.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-int-int-">unaryAggregateOperations(AggregateUnaryOperator, double[], int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-int-int-">unaryAggregateOperations(AggregateUnaryOperator, double[], int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></dt>
 <dd>
 <div class="block">Unary Aggregate operator, since aggregate operators require new object output, the output becomes an uncompressed
  matrix.</div>
@@ -30672,13 +33069,15 @@
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/instructions/cp/UnaryMatrixCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp"><span class="typeNameLink">UnaryMatrixCPInstruction</span></a> - Class in <a href="org/apache/sysds/runtime/instructions/cp/package-summary.html">org.apache.sysds.runtime.instructions.cp</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/instructions/fed/UnaryMatrixFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">UnaryMatrixFEDInstruction</span></a> - Class in <a href="org/apache/sysds/runtime/instructions/fed/package-summary.html">org.apache.sysds.runtime.instructions.fed</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/instructions/spark/UnaryMatrixSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark"><span class="typeNameLink">UnaryMatrixSPInstruction</span></a> - Class in <a href="org/apache/sysds/runtime/instructions/spark/package-summary.html">org.apache.sysds.runtime.instructions.spark</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/hops/UnaryOp.html" title="class in org.apache.sysds.hops"><span class="typeNameLink">UnaryOp</span></a> - Class in <a href="org/apache/sysds/hops/package-summary.html">org.apache.sysds.hops</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/UnaryOp.html#UnaryOp-java.lang.String-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.common.Types.OpOp1-org.apache.sysds.hops.Hop-">UnaryOp(String, Types.DataType, Types.ValueType, Types.OpOp1, Hop)</a></span> - Constructor for class org.apache.sysds.hops.<a href="org/apache/sysds/hops/UnaryOp.html" title="class in org.apache.sysds.hops">UnaryOp</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#unaryOperations-org.apache.sysds.runtime.matrix.operators.UnaryOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-">unaryOperations(UnaryOperator, MatrixValue)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">AbstractCompressedMatrixBlock</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#unaryOperations-org.apache.sysds.runtime.matrix.operators.UnaryOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-">unaryOperations(UnaryOperator, MatrixValue)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/CM_N_COVCell.html#unaryOperations-org.apache.sysds.runtime.matrix.operators.UnaryOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-">unaryOperations(UnaryOperator, MatrixValue)</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/CM_N_COVCell.html" title="class in org.apache.sysds.runtime.matrix.data">CM_N_COVCell</a></dt>
 <dd>&nbsp;</dd>
@@ -30706,6 +33105,17 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/gpu/context/UnifiedMemoryAllocator.html#UnifiedMemoryAllocator--">UnifiedMemoryAllocator()</a></span> - Constructor for class org.apache.sysds.runtime.instructions.gpu.context.<a href="org/apache/sysds/runtime/instructions/gpu/context/UnifiedMemoryAllocator.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">UnifiedMemoryAllocator</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/controlprogram/caching/UnifiedMemoryManager.html" title="class in org.apache.sysds.runtime.controlprogram.caching"><span class="typeNameLink">UnifiedMemoryManager</span></a> - Class in <a href="org/apache/sysds/runtime/controlprogram/caching/package-summary.html">org.apache.sysds.runtime.controlprogram.caching</a></dt>
+<dd>
+<div class="block">Unified Memory Manager - Initial Design
+ 
+ Motivation:
+ The Unified Memory Manager, henceforth UMM, will act as a central manager of in-memory
+ matrix (uncompressed and compressed), frame, and tensor blocks within SystemDS control
+ program.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/caching/UnifiedMemoryManager.html#UnifiedMemoryManager-long-">UnifiedMemoryManager(long)</a></span> - Constructor for class org.apache.sysds.runtime.controlprogram.caching.<a href="org/apache/sysds/runtime/controlprogram/caching/UnifiedMemoryManager.html" title="class in org.apache.sysds.runtime.controlprogram.caching">UnifiedMemoryManager</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/util/UniformPRNGenerator.html" title="class in org.apache.sysds.runtime.util"><span class="typeNameLink">UniformPRNGenerator</span></a> - Class in <a href="org/apache/sysds/runtime/util/package-summary.html">org.apache.sysds.runtime.util</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/UniformPRNGenerator.html#UniformPRNGenerator--">UniformPRNGenerator()</a></span> - Constructor for class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/UniformPRNGenerator.html" title="class in org.apache.sysds.runtime.util">UniformPRNGenerator</a></dt>
@@ -30718,6 +33128,16 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/CollectionUtils.html#unionDistinct-java.util.List-java.util.List-">unionDistinct(List&lt;T&gt;, List&lt;T&gt;)</a></span> - Static method in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/CollectionUtils.html" title="class in org.apache.sysds.runtime.util">CollectionUtils</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/SpoofCompiler.html#unloadNativeCodeGenerator--">unloadNativeCodeGenerator()</a></span> - Static method in class org.apache.sysds.hops.codegen.<a href="org/apache/sysds/hops/codegen/SpoofCompiler.html" title="class in org.apache.sysds.hops.codegen">SpoofCompiler</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/caching/UnifiedMemoryManager.html#unpin-java.lang.String-">unpin(String)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.caching.<a href="org/apache/sysds/runtime/controlprogram/caching/UnifiedMemoryManager.html" title="class in org.apache.sysds.runtime.controlprogram.caching">UnifiedMemoryManager</a></dt>
+<dd>
+<div class="block">Unpins (releases) a cache block from operation memory.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/caching/UnifiedMemoryManager.html#unpin-java.lang.String-org.apache.sysds.runtime.controlprogram.caching.CacheBlock-">unpin(String, CacheBlock)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.caching.<a href="org/apache/sysds/runtime/controlprogram/caching/UnifiedMemoryManager.html" title="class in org.apache.sysds.runtime.controlprogram.caching">UnifiedMemoryManager</a></dt>
+<dd>
+<div class="block">Unpins (releases) a cache block from operation memory.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#unpinVariables-java.util.List-boolean:A-">unpinVariables(List&lt;String&gt;, boolean[])</a></span> - Method in class org.apache.sysds.runtime.controlprogram.context.<a href="org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a></dt>
 <dd>
 <div class="block">Unpin the a given list of variables by setting their "cleanup" status
@@ -30737,13 +33157,15 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/lops/Lop.html#UPDATE_INPLACE_PREFIX">UPDATE_INPLACE_PREFIX</a></span> - Static variable in class org.apache.sysds.lops.<a href="org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/meta/MetaDataUtils.html#updateAppendDataCharacteristics-org.apache.sysds.runtime.meta.DataCharacteristics-org.apache.sysds.runtime.meta.DataCharacteristics-org.apache.sysds.runtime.meta.DataCharacteristics-boolean-">updateAppendDataCharacteristics(DataCharacteristics, DataCharacteristics, DataCharacteristics, boolean)</a></span> - Static method in class org.apache.sysds.runtime.meta.<a href="org/apache/sysds/runtime/meta/MetaDataUtils.html" title="class in org.apache.sysds.runtime.meta">MetaDataUtils</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html#updateCheckedConstraintsLog--">updateCheckedConstraintsLog()</a></span> - Method in class org.apache.sysds.runtime.controlprogram.federated.<a href="org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedResponse</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html#updateDataCharacteristics-org.apache.sysds.runtime.meta.DataCharacteristics-">updateDataCharacteristics(DataCharacteristics)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.caching.<a href="org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/cp/Data.html#updateDataCharacteristics-org.apache.sysds.runtime.meta.DataCharacteristics-">updateDataCharacteristics(DataCharacteristics)</a></span> - Method in class org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/Data.html" title="class in org.apache.sysds.runtime.instructions.cp">Data</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderDummycode.html#updateDomainSizes-java.util.List-">updateDomainSizes(List&lt;Encoder&gt;)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderDummycode.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderDummycode</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderDummycode.html#updateDomainSizes-java.util.List-">updateDomainSizes(List&lt;ColumnEncoder&gt;)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderDummycode.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderDummycode</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/recompile/Recompiler.html#updateFunctionNames-java.util.ArrayList-long-">updateFunctionNames(ArrayList&lt;Hop&gt;, long)</a></span> - Static method in class org.apache.sysds.hops.recompile.<a href="org/apache/sysds/hops/recompile/Recompiler.html" title="class in org.apache.sysds.hops.recompile">Recompiler</a></dt>
 <dd>&nbsp;</dd>
@@ -30759,16 +33181,26 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/decode/DecoderDummycode.html#updateIndexRanges-long:A-long:A-">updateIndexRanges(long[], long[])</a></span> - Method in class org.apache.sysds.runtime.transform.decode.<a href="org/apache/sysds/runtime/transform/decode/DecoderDummycode.html" title="class in org.apache.sysds.runtime.transform.decode">DecoderDummycode</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/Encoder.html#updateIndexRanges-long:A-long:A-">updateIndexRanges(long[], long[])</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#updateIndexRanges-long:A-long:A-int-">updateIndexRanges(long[], long[], int)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a></dt>
 <dd>
 <div class="block">Update index-ranges to after encoding.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderComposite.html#updateIndexRanges-long:A-long:A-">updateIndexRanges(long[], long[])</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderComposite</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html#updateIndexRanges-long:A-long:A-int-">updateIndexRanges(long[], long[], int)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderComposite</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderDummycode.html#updateIndexRanges-long:A-long:A-">updateIndexRanges(long[], long[])</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderDummycode.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderDummycode</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderDummycode.html#updateIndexRanges-long:A-long:A-int-">updateIndexRanges(long[], long[], int)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderDummycode.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderDummycode</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/Encoder.html#updateIndexRanges-long:A-long:A-int-">updateIndexRanges(long[], long[], int)</a></span> - Method in interface org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/Encoder.html" title="interface in org.apache.sysds.runtime.transform.encode">Encoder</a></dt>
+<dd>
+<div class="block">Update index-ranges to after encoding.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderOmit.html#updateIndexRanges-long:A-long:A-">updateIndexRanges(long[], long[])</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderOmit.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderOmit</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#updateIndexRanges-long:A-long:A-">updateIndexRanges(long[], long[])</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/LegacyEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">LegacyEncoder</a></dt>
+<dd>
+<div class="block">Update index-ranges to after encoding.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#updateIndexRanges-long:A-long:A-int-">updateIndexRanges(long[], long[], int)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/cp/VariableCPInstruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID(String, String)</a></span> - Method in class org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/VariableCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">VariableCPInstruction</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID(String, String)</a></span> - Method in class org.apache.sysds.runtime.instructions.<a href="org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></dt>
@@ -30798,6 +33230,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/LibMatrixDatagen.html#updateSeqIncr-double-double-double-">updateSeqIncr(double, double, double)</a></span> - Static method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/LibMatrixDatagen.html" title="class in org.apache.sysds.runtime.matrix.data">LibMatrixDatagen</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/DMVUtils.html#UPPER">UPPER</a></span> - Static variable in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/DMVUtils.html" title="class in org.apache.sysds.runtime.util">DMVUtils</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/api/mlcontext/MLContextConversionUtil.html#urlToMatrixObject-java.net.URL-org.apache.sysds.api.mlcontext.MatrixMetadata-">urlToMatrixObject(URL, MatrixMetadata)</a></span> - Static method in class org.apache.sysds.api.mlcontext.<a href="org/apache/sysds/api/mlcontext/MLContextConversionUtil.html" title="class in org.apache.sysds.api.mlcontext">MLContextConversionUtil</a></dt>
 <dd>
 <div class="block">Convert a matrix at a URL to a <code>MatrixObject</code>.</div>
@@ -30816,6 +33250,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/ParForProgramBlock.html#USE_RANGE_TASKS_IF_USEFUL">USE_RANGE_TASKS_IF_USEFUL</a></span> - Static variable in class org.apache.sysds.runtime.controlprogram.<a href="org/apache/sysds/runtime/controlprogram/ParForProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ParForProgramBlock</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/conf/DMLConfig.html#USE_SSL_FEDERATED_COMMUNICATION">USE_SSL_FEDERATED_COMMUNICATION</a></span> - Static variable in class org.apache.sysds.conf.<a href="org/apache/sysds/conf/DMLConfig.html" title="class in org.apache.sysds.conf">DMLConfig</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/ParForProgramBlock.html#USE_STREAMING_TASK_CREATION">USE_STREAMING_TASK_CREATION</a></span> - Static variable in class org.apache.sysds.runtime.controlprogram.<a href="org/apache/sysds/runtime/controlprogram/ParForProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ParForProgramBlock</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/util/UtilFunctions.html" title="class in org.apache.sysds.runtime.util"><span class="typeNameLink">UtilFunctions</span></a> - Class in <a href="org/apache/sysds/runtime/util/package-summary.html">org.apache.sysds.runtime.util</a></dt>
@@ -30972,6 +33408,8 @@
 <dd>
 <div class="block">Returns the enum constant of this type with the specified name.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/common/Types.AggOp.html#valueOf-int-">valueOf(int)</a></span> - Static method in enum org.apache.sysds.common.<a href="org/apache/sysds/common/Types.AggOp.html" title="enum in org.apache.sysds.common">Types.AggOp</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/common/Types.BlockType.html#valueOf-java.lang.String-">valueOf(String)</a></span> - Static method in enum org.apache.sysds.common.<a href="org/apache/sysds/common/Types.BlockType.html" title="enum in org.apache.sysds.common">Types.BlockType</a></dt>
 <dd>
 <div class="block">Returns the enum constant of this type with the specified name.</div>
@@ -31092,6 +33530,10 @@
 <dd>
 <div class="block">Returns the enum constant of this type with the specified name.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html#valueOf-java.lang.String-">valueOf(String)</a></span> - Static method in enum org.apache.sysds.hops.codegen.<a href="org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a></dt>
+<dd>
+<div class="block">Returns the enum constant of this type with the specified name.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/SpoofCompiler.IntegrationType.html#valueOf-java.lang.String-">valueOf(String)</a></span> - Static method in enum org.apache.sysds.hops.codegen.<a href="org/apache/sysds/hops/codegen/SpoofCompiler.IntegrationType.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.IntegrationType</a></dt>
 <dd>
 <div class="block">Returns the enum constant of this type with the specified name.</div>
@@ -31160,6 +33602,10 @@
 <dd>
 <div class="block">Returns the enum constant of this type with the specified name.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/lops/DeCompression.CompressConfig.html#valueOf-java.lang.String-">valueOf(String)</a></span> - Static method in enum org.apache.sysds.lops.<a href="org/apache/sysds/lops/DeCompression.CompressConfig.html" title="enum in org.apache.sysds.lops">DeCompression.CompressConfig</a></dt>
+<dd>
+<div class="block">Returns the enum constant of this type with the specified name.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/lops/GroupedAggregateM.CacheType.html#valueOf-java.lang.String-">valueOf(String)</a></span> - Static method in enum org.apache.sysds.lops.<a href="org/apache/sysds/lops/GroupedAggregateM.CacheType.html" title="enum in org.apache.sysds.lops">GroupedAggregateM.CacheType</a></dt>
 <dd>
 <div class="block">Returns the enum constant of this type with the specified name.</div>
@@ -31264,6 +33710,10 @@
 <dd>
 <div class="block">Returns the enum constant of this type with the specified name.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/parser/Statement.FederatedPSScheme.html#valueOf-java.lang.String-">valueOf(String)</a></span> - Static method in enum org.apache.sysds.parser.<a href="org/apache/sysds/parser/Statement.FederatedPSScheme.html" title="enum in org.apache.sysds.parser">Statement.FederatedPSScheme</a></dt>
+<dd>
+<div class="block">Returns the enum constant of this type with the specified name.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/Statement.PSCheckpointing.html#valueOf-java.lang.String-">valueOf(String)</a></span> - Static method in enum org.apache.sysds.parser.<a href="org/apache/sysds/parser/Statement.PSCheckpointing.html" title="enum in org.apache.sysds.parser">Statement.PSCheckpointing</a></dt>
 <dd>
 <div class="block">Returns the enum constant of this type with the specified name.</div>
@@ -31276,6 +33726,10 @@
 <dd>
 <div class="block">Returns the enum constant of this type with the specified name.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/parser/Statement.PSRuntimeBalancing.html#valueOf-java.lang.String-">valueOf(String)</a></span> - Static method in enum org.apache.sysds.parser.<a href="org/apache/sysds/parser/Statement.PSRuntimeBalancing.html" title="enum in org.apache.sysds.parser">Statement.PSRuntimeBalancing</a></dt>
+<dd>
+<div class="block">Returns the enum constant of this type with the specified name.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/Statement.PSScheme.html#valueOf-java.lang.String-">valueOf(String)</a></span> - Static method in enum org.apache.sysds.parser.<a href="org/apache/sysds/parser/Statement.PSScheme.html" title="enum in org.apache.sysds.parser">Statement.PSScheme</a></dt>
 <dd>
 <div class="block">Returns the enum constant of this type with the specified name.</div>
@@ -31292,6 +33746,8 @@
 <dd>
 <div class="block">Returns the enum constant of this type with the specified name.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/codegen/SpoofCellwise.CellType.html#valueOf-int-">valueOf(int)</a></span> - Static method in enum org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/SpoofCellwise.CellType.html" title="enum in org.apache.sysds.runtime.codegen">SpoofCellwise.CellType</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/codegen/SpoofOuterProduct.OutProdType.html#valueOf-java.lang.String-">valueOf(String)</a></span> - Static method in enum org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/SpoofOuterProduct.OutProdType.html" title="enum in org.apache.sysds.runtime.codegen">SpoofOuterProduct.OutProdType</a></dt>
 <dd>
 <div class="block">Returns the enum constant of this type with the specified name.</div>
@@ -31300,11 +33756,17 @@
 <dd>
 <div class="block">Returns the enum constant of this type with the specified name.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/codegen/SpoofRowwise.RowType.html#valueOf-int-">valueOf(int)</a></span> - Static method in enum org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/SpoofRowwise.RowType.html" title="enum in org.apache.sysds.runtime.codegen">SpoofRowwise.RowType</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.PartitionerType.html#valueOf-java.lang.String-">valueOf(String)</a></span> - Static method in enum org.apache.sysds.runtime.compress.cocode.<a href="org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.PartitionerType.html" title="enum in org.apache.sysds.runtime.compress.cocode">PlanningCoCoder.PartitionerType</a></dt>
 <dd>
 <div class="block">Returns the enum constant of this type with the specified name.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html#valueOf-java.lang.String-">valueOf(String)</a></span> - Static method in enum org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html#valueOf-java.lang.String-">valueOf(String)</a></span> - Static method in enum org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.ColGroupType</a></dt>
+<dd>
+<div class="block">Returns the enum constant of this type with the specified name.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html#valueOf-java.lang.String-">valueOf(String)</a></span> - Static method in enum org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a></dt>
 <dd>
 <div class="block">Returns the enum constant of this type with the specified name.</div>
 </dd>
@@ -31514,6 +33976,14 @@
 <dd>
 <div class="block">Returns the enum constant of this type with the specified name.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/decode/DecoderFactory.DecoderType.html#valueOf-java.lang.String-">valueOf(String)</a></span> - Static method in enum org.apache.sysds.runtime.transform.decode.<a href="org/apache/sysds/runtime/transform/decode/DecoderFactory.DecoderType.html" title="enum in org.apache.sysds.runtime.transform.decode">DecoderFactory.DecoderType</a></dt>
+<dd>
+<div class="block">Returns the enum constant of this type with the specified name.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoder.EncoderType.html#valueOf-java.lang.String-">valueOf(String)</a></span> - Static method in enum org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoder.EncoderType.html" title="enum in org.apache.sysds.runtime.transform.encode">ColumnEncoder.EncoderType</a></dt>
+<dd>
+<div class="block">Returns the enum constant of this type with the specified name.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderMVImpute.MVMethod.html#valueOf-java.lang.String-">valueOf(String)</a></span> - Static method in enum org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderMVImpute.MVMethod.html" title="enum in org.apache.sysds.runtime.transform.encode">EncoderMVImpute.MVMethod</a></dt>
 <dd>
 <div class="block">Returns the enum constant of this type with the specified name.</div>
@@ -31522,6 +33992,10 @@
 <dd>
 <div class="block">Returns the enum constant of this type with the specified name.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/DMVUtils.LEVEL_ENUM.html#valueOf-java.lang.String-">valueOf(String)</a></span> - Static method in enum org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/DMVUtils.LEVEL_ENUM.html" title="enum in org.apache.sysds.runtime.util">DMVUtils.LEVEL_ENUM</a></dt>
+<dd>
+<div class="block">Returns the enum constant of this type with the specified name.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/LongLongDoubleHashMap.EntryType.html#valueOf-java.lang.String-">valueOf(String)</a></span> - Static method in enum org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/LongLongDoubleHashMap.EntryType.html" title="enum in org.apache.sysds.runtime.util">LongLongDoubleHashMap.EntryType</a></dt>
 <dd>
 <div class="block">Returns the enum constant of this type with the specified name.</div>
@@ -31726,6 +34200,11 @@
 <div class="block">Returns an array containing the constants of this enum type, in
 the order they are declared.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html#values--">values()</a></span> - Static method in enum org.apache.sysds.hops.codegen.<a href="org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a></dt>
+<dd>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/SpoofCompiler.IntegrationType.html#values--">values()</a></span> - Static method in enum org.apache.sysds.hops.codegen.<a href="org/apache/sysds/hops/codegen/SpoofCompiler.IntegrationType.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.IntegrationType</a></dt>
 <dd>
 <div class="block">Returns an array containing the constants of this enum type, in
@@ -31811,6 +34290,11 @@
 <div class="block">Returns an array containing the constants of this enum type, in
 the order they are declared.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/lops/DeCompression.CompressConfig.html#values--">values()</a></span> - Static method in enum org.apache.sysds.lops.<a href="org/apache/sysds/lops/DeCompression.CompressConfig.html" title="enum in org.apache.sysds.lops">DeCompression.CompressConfig</a></dt>
+<dd>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/lops/GroupedAggregateM.CacheType.html#values--">values()</a></span> - Static method in enum org.apache.sysds.lops.<a href="org/apache/sysds/lops/GroupedAggregateM.CacheType.html" title="enum in org.apache.sysds.lops">GroupedAggregateM.CacheType</a></dt>
 <dd>
 <div class="block">Returns an array containing the constants of this enum type, in
@@ -31941,6 +34425,11 @@
 <div class="block">Returns an array containing the constants of this enum type, in
 the order they are declared.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/parser/Statement.FederatedPSScheme.html#values--">values()</a></span> - Static method in enum org.apache.sysds.parser.<a href="org/apache/sysds/parser/Statement.FederatedPSScheme.html" title="enum in org.apache.sysds.parser">Statement.FederatedPSScheme</a></dt>
+<dd>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/Statement.PSCheckpointing.html#values--">values()</a></span> - Static method in enum org.apache.sysds.parser.<a href="org/apache/sysds/parser/Statement.PSCheckpointing.html" title="enum in org.apache.sysds.parser">Statement.PSCheckpointing</a></dt>
 <dd>
 <div class="block">Returns an array containing the constants of this enum type, in
@@ -31956,6 +34445,11 @@
 <div class="block">Returns an array containing the constants of this enum type, in
 the order they are declared.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/parser/Statement.PSRuntimeBalancing.html#values--">values()</a></span> - Static method in enum org.apache.sysds.parser.<a href="org/apache/sysds/parser/Statement.PSRuntimeBalancing.html" title="enum in org.apache.sysds.parser">Statement.PSRuntimeBalancing</a></dt>
+<dd>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/Statement.PSScheme.html#values--">values()</a></span> - Static method in enum org.apache.sysds.parser.<a href="org/apache/sysds/parser/Statement.PSScheme.html" title="enum in org.apache.sysds.parser">Statement.PSScheme</a></dt>
 <dd>
 <div class="block">Returns an array containing the constants of this enum type, in
@@ -31995,7 +34489,12 @@
 <div class="block">Returns an array containing the constants of this enum type, in
 the order they are declared.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html#values--">values()</a></span> - Static method in enum org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html#values--">values()</a></span> - Static method in enum org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.ColGroupType</a></dt>
+<dd>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html#values--">values()</a></span> - Static method in enum org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a></dt>
 <dd>
 <div class="block">Returns an array containing the constants of this enum type, in
 the order they are declared.</div>
@@ -32313,6 +34812,16 @@
 <div class="block">Returns an array containing the constants of this enum type, in
 the order they are declared.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/decode/DecoderFactory.DecoderType.html#values--">values()</a></span> - Static method in enum org.apache.sysds.runtime.transform.decode.<a href="org/apache/sysds/runtime/transform/decode/DecoderFactory.DecoderType.html" title="enum in org.apache.sysds.runtime.transform.decode">DecoderFactory.DecoderType</a></dt>
+<dd>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoder.EncoderType.html#values--">values()</a></span> - Static method in enum org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoder.EncoderType.html" title="enum in org.apache.sysds.runtime.transform.encode">ColumnEncoder.EncoderType</a></dt>
+<dd>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderMVImpute.MVMethod.html#values--">values()</a></span> - Static method in enum org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderMVImpute.MVMethod.html" title="enum in org.apache.sysds.runtime.transform.encode">EncoderMVImpute.MVMethod</a></dt>
 <dd>
 <div class="block">Returns an array containing the constants of this enum type, in
@@ -32323,6 +34832,11 @@
 <div class="block">Returns an array containing the constants of this enum type, in
 the order they are declared.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/DMVUtils.LEVEL_ENUM.html#values--">values()</a></span> - Static method in enum org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/DMVUtils.LEVEL_ENUM.html" title="enum in org.apache.sysds.runtime.util">DMVUtils.LEVEL_ENUM</a></dt>
+<dd>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/LongLongDoubleHashMap.EntryType.html#values--">values()</a></span> - Static method in enum org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/LongLongDoubleHashMap.EntryType.html" title="enum in org.apache.sysds.runtime.util">LongLongDoubleHashMap.EntryType</a></dt>
 <dd>
 <div class="block">Returns an array containing the constants of this enum type, in
@@ -32389,6 +34903,8 @@
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/instructions/cp/VariableCPInstruction.VariableOperationCode.html" title="enum in org.apache.sysds.runtime.instructions.cp"><span class="typeNameLink">VariableCPInstruction.VariableOperationCode</span></a> - Enum in <a href="org/apache/sysds/runtime/instructions/cp/package-summary.html">org.apache.sysds.runtime.instructions.cp</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/instructions/fed/VariableFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">VariableFEDInstruction</span></a> - Class in <a href="org/apache/sysds/runtime/instructions/fed/package-summary.html">org.apache.sysds.runtime.instructions.fed</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/parser/VariableSet.html" title="class in org.apache.sysds.parser"><span class="typeNameLink">VariableSet</span></a> - Class in <a href="org/apache/sysds/parser/package-summary.html">org.apache.sysds.parser</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/VariableSet.html#VariableSet--">VariableSet()</a></span> - Constructor for class org.apache.sysds.parser.<a href="org/apache/sysds/parser/VariableSet.html" title="class in org.apache.sysds.parser">VariableSet</a></dt>
@@ -32601,6 +35117,10 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectCbindWrite-double:A-double-int:A-int-int-int-">vectCbindWrite(double[], double, int[], int, int, int)</a></span> - Static method in class org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html" title="class in org.apache.sysds.runtime.codegen">LibSpoofPrimitives</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectCbindWrite-double:A-double:A-int-int-int-int-">vectCbindWrite(double[], double[], int, int, int, int)</a></span> - Static method in class org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html" title="class in org.apache.sysds.runtime.codegen">LibSpoofPrimitives</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectCbindWrite-double:A-double:A-int:A-int-int-int-int-int-">vectCbindWrite(double[], double[], int[], int, int, int, int, int)</a></span> - Static method in class org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html" title="class in org.apache.sysds.runtime.codegen">LibSpoofPrimitives</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectCeilAdd-double:A-double:A-int-int-int-">vectCeilAdd(double[], double[], int, int, int)</a></span> - Static method in class org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html" title="class in org.apache.sysds.runtime.codegen">LibSpoofPrimitives</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectCeilAdd-double:A-double:A-int:A-int-int-int-int-">vectCeilAdd(double[], double[], int[], int, int, int, int)</a></span> - Static method in class org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html" title="class in org.apache.sysds.runtime.codegen">LibSpoofPrimitives</a></dt>
@@ -32817,12 +35337,10 @@
 <dd>
 <div class="block">Adds the values list into all rows of c within row and col range.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/utils/LinearAlgebraUtils.html#vectListAdd-double:A-double:A-int-int-int:A-int-int-">vectListAdd(double[], double[], int, int, int[], int, int)</a></span> - Static method in class org.apache.sysds.runtime.compress.utils.<a href="org/apache/sysds/runtime/compress/utils/LinearAlgebraUtils.html" title="class in org.apache.sysds.runtime.compress.utils">LinearAlgebraUtils</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/utils/LinearAlgebraUtils.html#vectListAdd-double:A-double:A-byte:A-int-int-">vectListAdd(double[], double[], byte[], int, int)</a></span> - Static method in class org.apache.sysds.runtime.compress.utils.<a href="org/apache/sysds/runtime/compress/utils/LinearAlgebraUtils.html" title="class in org.apache.sysds.runtime.compress.utils">LinearAlgebraUtils</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/utils/LinearAlgebraUtils.html#vectListAddDDC-double:A-double:A-byte:A-int-int-int-int-int-int-">vectListAddDDC(double[], double[], byte[], int, int, int, int, int, int)</a></span> - Static method in class org.apache.sysds.runtime.compress.utils.<a href="org/apache/sysds/runtime/compress/utils/LinearAlgebraUtils.html" title="class in org.apache.sysds.runtime.compress.utils">LinearAlgebraUtils</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/utils/LinearAlgebraUtils.html#vectListAddDDC-double:A-double:A-char:A-int-int-int-int-int-int-">vectListAddDDC(double[], double[], char[], int, int, int, int, int, int)</a></span> - Static method in class org.apache.sysds.runtime.compress.utils.<a href="org/apache/sysds/runtime/compress/utils/LinearAlgebraUtils.html" title="class in org.apache.sysds.runtime.compress.utils">LinearAlgebraUtils</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectLogAdd-double:A-double:A-int-int-int-">vectLogAdd(double[], double[], int, int, int)</a></span> - Static method in class org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html" title="class in org.apache.sysds.runtime.codegen">LibSpoofPrimitives</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectLogAdd-double:A-double:A-int:A-int-int-int-int-">vectLogAdd(double[], double[], int[], int, int, int, int)</a></span> - Static method in class org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html" title="class in org.apache.sysds.runtime.codegen">LibSpoofPrimitives</a></dt>
@@ -33291,30 +35809,52 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/dml/DmlParser.html#WHITESPACE">WHITESPACE</a></span> - Static variable in class org.apache.sysds.parser.dml.<a href="org/apache/sysds/parser/dml/DmlParser.html" title="class in org.apache.sysds.parser.dml">DmlParser</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/tokenize/TokenizerPreNgram.html#wordTokenListToNgrams-java.util.List-">wordTokenListToNgrams(List&lt;Tokenizer.Token&gt;)</a></span> - Method in class org.apache.sysds.runtime.transform.tokenize.<a href="org/apache/sysds/runtime/transform/tokenize/TokenizerPreNgram.html" title="class in org.apache.sysds.runtime.transform.tokenize">TokenizerPreNgram</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/tokenize/TokenizerPreNgram.html#wordTokenToNgrams-org.apache.sysds.runtime.transform.tokenize.Tokenizer.Token-">wordTokenToNgrams(Tokenizer.Token)</a></span> - Method in class org.apache.sysds.runtime.transform.tokenize.<a href="org/apache/sysds/runtime/transform/tokenize/TokenizerPreNgram.html" title="class in org.apache.sysds.runtime.transform.tokenize">TokenizerPreNgram</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/LibMatrixCuDNNConvolutionAlgorithm.html#workSpace">workSpace</a></span> - Variable in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/LibMatrixCuDNNConvolutionAlgorithm.html" title="class in org.apache.sysds.runtime.matrix.data">LibMatrixCuDNNConvolutionAlgorithm</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/template/TemplateUtils.html#wrapLookupIfNecessary-org.apache.sysds.hops.codegen.cplan.CNode-org.apache.sysds.hops.Hop-">wrapLookupIfNecessary(CNode, Hop)</a></span> - Static method in class org.apache.sysds.hops.codegen.template.<a href="org/apache/sysds/hops/codegen/template/TemplateUtils.html" title="class in org.apache.sysds.hops.codegen.template">TemplateUtils</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/template/TemplateUtils.html#wrapLookupIfNecessary-org.apache.sysds.hops.codegen.cplan.CNode-org.apache.sysds.hops.Hop-boolean-">wrapLookupIfNecessary(CNode, Hop, boolean)</a></span> - Static method in class org.apache.sysds.hops.codegen.template.<a href="org/apache/sysds/hops/codegen/template/TemplateUtils.html" title="class in org.apache.sysds.hops.codegen.template">TemplateUtils</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html#write-java.io.DataOutput-">write(DataOutput)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></dt>
+<dd>
+<div class="block">Serializes column group to data output.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ADictionary.html#write-java.io.DataOutput-">write(DataOutput)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></dt>
 <dd>
 <div class="block">Write the dictionary to a DataOutput.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html#write-java.io.DataOutput-">write(DataOutput)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></dt>
-<dd>
-<div class="block">Serializes column group to data output.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html#write-java.io.DataOutput-">write(DataOutput)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC1</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html#write-java.io.DataOutput-">write(DataOutput)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC2</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#write-java.io.DataOutput-">write(DataOutput)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#write-java.io.DataOutput-">write(DataOutput)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOffset</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html#write-java.io.DataOutput-">write(DataOutput)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDC</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html#write-java.io.DataOutput-">write(DataOutput)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingle</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html#write-java.io.DataOutput-">write(DataOutput)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingleZeros</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#write-java.io.DataOutput-">write(DataOutput)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCZeros</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#write-java.io.DataOutput-">write(DataOutput)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupUncompressed</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#write-java.io.DataOutput-">write(DataOutput)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/Dictionary.html#write-java.io.DataOutput-">write(DataOutput)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">Dictionary</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html#write-java.io.DataOutput-">write(DataOutput)</a></span> - Method in interface org.apache.sysds.runtime.compress.colgroup.mapping.<a href="org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html" title="interface in org.apache.sysds.runtime.compress.colgroup.mapping">IMapToData</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToBit.html#write-java.io.DataOutput-">write(DataOutput)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.mapping.<a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToBit.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping">MapToBit</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToByte.html#write-java.io.DataOutput-">write(DataOutput)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.mapping.<a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToByte.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping">MapToByte</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToChar.html#write-java.io.DataOutput-">write(DataOutput)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.mapping.<a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToChar.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping">MapToChar</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToInt.html#write-java.io.DataOutput-">write(DataOutput)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.mapping.<a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToInt.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping">MapToInt</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/QDictionary.html#write-java.io.DataOutput-">write(DataOutput)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/QDictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">QDictionary</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#write-java.io.DataOutput-">write(DataOutput)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></dt>
@@ -33337,6 +35877,10 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/cp/KahanObject.html#write-java.io.DataOutput-">write(DataOutput)</a></span> - Method in class org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/KahanObject.html" title="class in org.apache.sysds.runtime.instructions.cp">KahanObject</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/io/ReaderWriterFederated.html#write-java.lang.String-org.apache.sysds.runtime.controlprogram.federated.FederationMap-">write(String, FederationMap)</a></span> - Static method in class org.apache.sysds.runtime.io.<a href="org/apache/sysds/runtime/io/ReaderWriterFederated.html" title="class in org.apache.sysds.runtime.io">ReaderWriterFederated</a></dt>
+<dd>
+<div class="block">TODO add writing to each of the federated locations so that they also save their matrices.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/CM_N_COVCell.html#write-java.io.DataOutput-">write(DataOutput)</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/CM_N_COVCell.html" title="class in org.apache.sysds.runtime.matrix.data">CM_N_COVCell</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/FrameBlock.html#write-java.io.DataOutput-">write(DataOutput)</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></dt>
@@ -33443,6 +35987,11 @@
 <div class="block">Redirects the default java serialization via externalizable to our default
  hadoop writable serialization for consistency/maintainability.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/cp/ListObject.html#writeExternal-java.io.ObjectOutput-">writeExternal(ObjectOutput)</a></span> - Method in class org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/ListObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ListObject</a></dt>
+<dd>
+<div class="block">Redirects the default java serialization via externalizable to our default
+ hadoop writable serialization for efficient broadcast/rdd serialization.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/spark/data/CorrMatrixBlock.html#writeExternal-java.io.ObjectOutput-">writeExternal(ObjectOutput)</a></span> - Method in class org.apache.sysds.runtime.instructions.spark.data.<a href="org/apache/sysds/runtime/instructions/spark/data/CorrMatrixBlock.html" title="class in org.apache.sysds.runtime.instructions.spark.data">CorrMatrixBlock</a></dt>
 <dd>
 <div class="block">Redirects the default java serialization via externalizable to our default 
@@ -33472,6 +36021,45 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/privacy/PrivacyConstraint.html#writeExternal-java.io.ObjectOutput-">writeExternal(ObjectOutput)</a></span> - Method in class org.apache.sysds.runtime.privacy.<a href="org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/decode/Decoder.html#writeExternal-java.io.ObjectOutput-">writeExternal(ObjectOutput)</a></span> - Method in class org.apache.sysds.runtime.transform.decode.<a href="org/apache/sysds/runtime/transform/decode/Decoder.html" title="class in org.apache.sysds.runtime.transform.decode">Decoder</a></dt>
+<dd>
+<div class="block">Redirects the default java serialization via externalizable to our default
+ hadoop writable serialization for efficient broadcast/rdd serialization.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/decode/DecoderComposite.html#writeExternal-java.io.ObjectOutput-">writeExternal(ObjectOutput)</a></span> - Method in class org.apache.sysds.runtime.transform.decode.<a href="org/apache/sysds/runtime/transform/decode/DecoderComposite.html" title="class in org.apache.sysds.runtime.transform.decode">DecoderComposite</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/decode/DecoderDummycode.html#writeExternal-java.io.ObjectOutput-">writeExternal(ObjectOutput)</a></span> - Method in class org.apache.sysds.runtime.transform.decode.<a href="org/apache/sysds/runtime/transform/decode/DecoderDummycode.html" title="class in org.apache.sysds.runtime.transform.decode">DecoderDummycode</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/decode/DecoderPassThrough.html#writeExternal-java.io.ObjectOutput-">writeExternal(ObjectOutput)</a></span> - Method in class org.apache.sysds.runtime.transform.decode.<a href="org/apache/sysds/runtime/transform/decode/DecoderPassThrough.html" title="class in org.apache.sysds.runtime.transform.decode">DecoderPassThrough</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/decode/DecoderRecode.html#writeExternal-java.io.ObjectOutput-">writeExternal(ObjectOutput)</a></span> - Method in class org.apache.sysds.runtime.transform.decode.<a href="org/apache/sysds/runtime/transform/decode/DecoderRecode.html" title="class in org.apache.sysds.runtime.transform.decode">DecoderRecode</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#writeExternal-java.io.ObjectOutput-">writeExternal(ObjectOutput)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a></dt>
+<dd>
+<div class="block">Redirects the default java serialization via externalizable to our default hadoop writable serialization for
+ efficient broadcast/rdd serialization.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderBin.html#writeExternal-java.io.ObjectOutput-">writeExternal(ObjectOutput)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderBin.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderBin</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html#writeExternal-java.io.ObjectOutput-">writeExternal(ObjectOutput)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderComposite</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderDummycode.html#writeExternal-java.io.ObjectOutput-">writeExternal(ObjectOutput)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderDummycode.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderDummycode</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderFeatureHash.html#writeExternal-java.io.ObjectOutput-">writeExternal(ObjectOutput)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderFeatureHash.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderFeatureHash</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderRecode.html#writeExternal-java.io.ObjectOutput-">writeExternal(ObjectOutput)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderRecode.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderRecode</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html#writeExternal-java.io.ObjectOutput-">writeExternal(ObjectOutput)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderMVImpute</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderOmit.html#writeExternal-java.io.ObjectOutput-">writeExternal(ObjectOutput)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderOmit.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderOmit</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#writeExternal-java.io.ObjectOutput-">writeExternal(ObjectOutput)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/LegacyEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">LegacyEncoder</a></dt>
+<dd>
+<div class="block">Redirects the default java serialization via externalizable to our default hadoop writable serialization for
+ efficient broadcast/rdd serialization.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#writeExternal-java.io.ObjectOutput-">writeExternal(ObjectOutput)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/io/TensorWriterBinaryBlockParallel.WriteFileTask.html#WriteFileTask-org.apache.hadoop.fs.Path-org.apache.hadoop.mapred.JobConf-org.apache.hadoop.fs.FileSystem-org.apache.sysds.runtime.data.TensorBlock-long-long-int-">WriteFileTask(Path, JobConf, FileSystem, TensorBlock, long, long, int)</a></span> - Constructor for class org.apache.sysds.runtime.io.<a href="org/apache/sysds/runtime/io/TensorWriterBinaryBlockParallel.WriteFileTask.html" title="class in org.apache.sysds.runtime.io">TensorWriterBinaryBlockParallel.WriteFileTask</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/caching/CacheDataOutput.html#writeFloat-float-">writeFloat(float)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.caching.<a href="org/apache/sysds/runtime/controlprogram/caching/CacheDataOutput.html" title="class in org.apache.sysds.runtime.controlprogram.caching">CacheDataOutput</a></dt>
@@ -33496,7 +36084,7 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/io/FrameWriterTextCSV.html#writeFrameToHDFS-org.apache.sysds.runtime.matrix.data.FrameBlock-java.lang.String-long-long-">writeFrameToHDFS(FrameBlock, String, long, long)</a></span> - Method in class org.apache.sysds.runtime.io.<a href="org/apache/sysds/runtime/io/FrameWriterTextCSV.html" title="class in org.apache.sysds.runtime.io">FrameWriterTextCSV</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupIO.html#writeGroups-java.io.DataOutput-java.util.List-">writeGroups(DataOutput, List&lt;ColGroup&gt;)</a></span> - Static method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupIO.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupIO</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupIO.html#writeGroups-java.io.DataOutput-java.util.List-">writeGroups(DataOutput, List&lt;AColGroup&gt;)</a></span> - Static method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupIO.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupIO</a></dt>
 <dd>
 <div class="block">Writes the ColGroups out to the DataOutput.</div>
 </dd>
@@ -33679,7 +36267,7 @@
 <dd>
 <div class="block">Convenience method to get a pointer to value '0.0f' on device.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#zeroOutOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.util.IndexRange-boolean-">zeroOutOperations(MatrixValue, IndexRange, boolean)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">AbstractCompressedMatrixBlock</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#zeroOutOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.util.IndexRange-boolean-">zeroOutOperations(MatrixValue, IndexRange, boolean)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/CM_N_COVCell.html#zeroOutOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.util.IndexRange-boolean-">zeroOutOperations(MatrixValue, IndexRange, boolean)</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/CM_N_COVCell.html" title="class in org.apache.sysds.runtime.matrix.data">CM_N_COVCell</a></dt>
 <dd>&nbsp;</dd>
@@ -33707,6 +36295,10 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/dml/DmlParser.html#Z:Z_ATN">_ATN</a></span> - Static variable in class org.apache.sysds.parser.dml.<a href="org/apache/sysds/parser/dml/DmlParser.html" title="class in org.apache.sysds.parser.dml">DmlParser</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.BalanceMetrics.html#Z:Z_avgRows">_avgRows</a></span> - Variable in class org.apache.sysds.runtime.controlprogram.paramserv.dp.<a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.BalanceMetrics.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionFederatedScheme.BalanceMetrics</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.Result.html#Z:Z_balanceMetrics">_balanceMetrics</a></span> - Variable in class org.apache.sysds.runtime.controlprogram.paramserv.dp.<a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.Result.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionFederatedScheme.Result</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/Hop.html#Z:Z_beginColumn">_beginColumn</a></span> - Variable in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/lops/Lop.html#Z:Z_beginColumn">_beginColumn</a></span> - Variable in class org.apache.sysds.lops.<a href="org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a></dt>
@@ -33721,7 +36313,7 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/cp/KahanObject.html#Z:Z_correction">_correction</a></span> - Variable in class org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/KahanObject.html" title="class in org.apache.sysds.runtime.instructions.cp">KahanObject</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderDummycode.html#Z:Z_domainSizes">_domainSizes</a></span> - Variable in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderDummycode.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderDummycode</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderDummycode.html#Z:Z_domainSize">_domainSize</a></span> - Variable in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderDummycode.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderDummycode</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/ParForProgramBlock.PartitionFormat.html#Z:Z_dpf">_dpf</a></span> - Variable in class org.apache.sysds.runtime.controlprogram.<a href="org/apache/sysds/runtime/controlprogram/ParForProgramBlock.PartitionFormat.html" title="class in org.apache.sysds.runtime.controlprogram">ParForProgramBlock.PartitionFormat</a></dt>
 <dd>&nbsp;</dd>
@@ -33747,14 +36339,32 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/FunctionProgramBlock.html#Z:Z_functionName">_functionName</a></span> - Variable in class org.apache.sysds.runtime.controlprogram.<a href="org/apache/sysds/runtime/controlprogram/FunctionProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">FunctionProgramBlock</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#Z:Z_input1">_input1</a></span> - Variable in class org.apache.sysds.runtime.instructions.gpu.<a href="org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">GPUInstruction</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#Z:Z_input2">_input2</a></span> - Variable in class org.apache.sysds.runtime.instructions.gpu.<a href="org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">GPUInstruction</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/fed/AggregateTernaryFEDInstruction.html#Z:Z_ins">_ins</a></span> - Variable in class org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/AggregateTernaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">AggregateTernaryFEDInstruction</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/ParForStatementBlock.ResultVar.html#Z:Z_isAccum">_isAccum</a></span> - Variable in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/ParForStatementBlock.ResultVar.html" title="class in org.apache.sysds.parser">ParForStatementBlock.ResultVar</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.BalanceMetrics.html#Z:Z_maxRows">_maxRows</a></span> - Variable in class org.apache.sysds.runtime.controlprogram.paramserv.dp.<a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.BalanceMetrics.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionFederatedScheme.BalanceMetrics</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.BalanceMetrics.html#Z:Z_minRows">_minRows</a></span> - Variable in class org.apache.sysds.runtime.controlprogram.paramserv.dp.<a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.BalanceMetrics.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionFederatedScheme.BalanceMetrics</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/ParForProgramBlock.PartitionFormat.html#Z:Z_N">_N</a></span> - Variable in class org.apache.sysds.runtime.controlprogram.<a href="org/apache/sysds/runtime/controlprogram/ParForProgramBlock.PartitionFormat.html" title="class in org.apache.sysds.runtime.controlprogram">ParForProgramBlock.PartitionFormat</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/ParForStatementBlock.ResultVar.html#Z:Z_name">_name</a></span> - Variable in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/ParForStatementBlock.ResultVar.html" title="class in org.apache.sysds.parser">ParForStatementBlock.ResultVar</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/FunctionProgramBlock.html#Z:Z_namespace">_namespace</a></span> - Variable in class org.apache.sysds.runtime.controlprogram.<a href="org/apache/sysds/runtime/controlprogram/FunctionProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">FunctionProgramBlock</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.html#Z:Z_out">_out</a></span> - Variable in class org.apache.sysds.runtime.instructions.gpu.<a href="org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">SpoofCUDAInstruction</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#Z:Z_output">_output</a></span> - Variable in class org.apache.sysds.runtime.instructions.gpu.<a href="org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">GPUInstruction</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.Result.html#Z:Z_pFeatures">_pFeatures</a></span> - Variable in class org.apache.sysds.runtime.controlprogram.paramserv.dp.<a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.Result.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionFederatedScheme.Result</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.Result.html#Z:Z_pLabels">_pLabels</a></span> - Variable in class org.apache.sysds.runtime.controlprogram.paramserv.dp.<a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.Result.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionFederatedScheme.Result</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/LibMatrixDNNRelu.ReluBackward.html#Z:Z_rl">_rl</a></span> - Variable in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/LibMatrixDNNRelu.ReluBackward.html" title="class in org.apache.sysds.runtime.matrix.data">LibMatrixDNNRelu.ReluBackward</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/LibMatrixDNNRelu.ReluBackward.html#Z:Z_ru">_ru</a></span> - Variable in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/LibMatrixDNNRelu.ReluBackward.html" title="class in org.apache.sysds.runtime.matrix.data">LibMatrixDNNRelu.ReluBackward</a></dt>
@@ -33775,6 +36385,10 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/api/DMLScript.html#Z:Z_uuid">_uuid</a></span> - Static variable in class org.apache.sysds.api.<a href="org/apache/sysds/api/DMLScript.html" title="class in org.apache.sysds.api">DMLScript</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.Result.html#Z:Z_weightingFactors">_weightingFactors</a></span> - Variable in class org.apache.sysds.runtime.controlprogram.paramserv.dp.<a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.Result.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionFederatedScheme.Result</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.Result.html#Z:Z_workerNum">_workerNum</a></span> - Variable in class org.apache.sysds.runtime.controlprogram.paramserv.dp.<a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.Result.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionFederatedScheme.Result</a></dt>
+<dd>&nbsp;</dd>
 </dl>
 <a href="#I:A">A</a>&nbsp;<a href="#I:B">B</a>&nbsp;<a href="#I:C">C</a>&nbsp;<a href="#I:D">D</a>&nbsp;<a href="#I:E">E</a>&nbsp;<a href="#I:F">F</a>&nbsp;<a href="#I:G">G</a>&nbsp;<a href="#I:H">H</a>&nbsp;<a href="#I:I">I</a>&nbsp;<a href="#I:J">J</a>&nbsp;<a href="#I:K">K</a>&nbsp;<a href="#I:L">L</a>&nbsp;<a href="#I:M">M</a>&nbsp;<a href="#I:N">N</a>&nbsp;<a href="#I:O">O</a>&nbsp;<a href="#I:P">P</a>&nbsp;<a href="#I:Q">Q</a>&nbsp;<a href="#I:R">R</a>&nbsp;<a href="#I:S">S</a>&nbsp;<a href="#I:T">T</a>&nbsp;<a href="#I:U">U</a>&nbsp;<a href="#I:V">V</a>&nbsp;<a href="#I:W">W</a>&nbsp;<a href="#I:X">X</a>&nbsp;<a href="#I:Y">Y</a>&nbsp;<a href="#I:Z">Z</a>&nbsp;<a href="#I:Z:Z_">_</a>&nbsp;</div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
@@ -33824,6 +36438,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/api/ConfigurableAPI.html b/docs/api/java/org/apache/sysds/api/ConfigurableAPI.html
index 55d7838..a1b6c7a 100644
--- a/docs/api/java/org/apache/sysds/api/ConfigurableAPI.html
+++ b/docs/api/java/org/apache/sysds/api/ConfigurableAPI.html
@@ -251,6 +251,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/api/DMLException.html b/docs/api/java/org/apache/sysds/api/DMLException.html
index 6d50552..0125fcb 100644
--- a/docs/api/java/org/apache/sysds/api/DMLException.html
+++ b/docs/api/java/org/apache/sysds/api/DMLException.html
@@ -346,6 +346,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/api/DMLOptions.html b/docs/api/java/org/apache/sysds/api/DMLOptions.html
index 960346b..abf919a 100644
--- a/docs/api/java/org/apache/sysds/api/DMLOptions.html
+++ b/docs/api/java/org/apache/sysds/api/DMLOptions.html
@@ -203,26 +203,30 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/api/DMLOptions.html#lineage_dedup">lineage_dedup</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/api/DMLOptions.html#lineage_estimate">lineage_estimate</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../org/apache/sysds/runtime/lineage/LineageCacheConfig.ReuseCacheType.html" title="enum in org.apache.sysds.runtime.lineage">LineageCacheConfig.ReuseCacheType</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/api/DMLOptions.html#linReuseType">linReuseType</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/api/DMLOptions.html#memStats">memStats</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>org.apache.commons.cli.Options</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/api/DMLOptions.html#options">options</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/api/DMLOptions.html#script">script</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/api/DMLOptions.html#stats">stats</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/api/DMLOptions.html#statsCount">statsCount</a></span></code>&nbsp;</td>
 </tr>
@@ -461,6 +465,15 @@
 <pre>public&nbsp;<a href="../../../../org/apache/sysds/runtime/lineage/LineageCacheConfig.LineageCachePolicy.html" title="enum in org.apache.sysds.runtime.lineage">LineageCacheConfig.LineageCachePolicy</a> linCachePolicy</pre>
 </li>
 </ul>
+<a name="lineage_estimate">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>lineage_estimate</h4>
+<pre>public&nbsp;boolean lineage_estimate</pre>
+</li>
+</ul>
 <a name="fedWorker">
 <!--   -->
 </a>
@@ -623,6 +636,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/api/DMLScript.html b/docs/api/java/org/apache/sysds/api/DMLScript.html
index b92e22f..460befe 100644
--- a/docs/api/java/org/apache/sysds/api/DMLScript.html
+++ b/docs/api/java/org/apache/sysds/api/DMLScript.html
@@ -194,42 +194,46 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/api/DMLScript.html#LINEAGE_DEDUP">LINEAGE_DEDUP</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><code>static boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/api/DMLScript.html#LINEAGE_ESTIMATE">LINEAGE_ESTIMATE</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../org/apache/sysds/runtime/lineage/LineageCacheConfig.LineageCachePolicy.html" title="enum in org.apache.sysds.runtime.lineage">LineageCacheConfig.LineageCachePolicy</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/api/DMLScript.html#LINEAGE_POLICY">LINEAGE_POLICY</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../org/apache/sysds/runtime/lineage/LineageCacheConfig.ReuseCacheType.html" title="enum in org.apache.sysds.runtime.lineage">LineageCacheConfig.ReuseCacheType</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/api/DMLScript.html#LINEAGE_REUSE">LINEAGE_REUSE</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/api/DMLScript.html#PRINT_GPU_MEMORY_INFO">PRINT_GPU_MEMORY_INFO</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/api/DMLScript.html#STATISTICS">STATISTICS</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/api/DMLScript.html#STATISTICS_COUNT">STATISTICS_COUNT</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/api/DMLScript.html#STATISTICS_MAX_WRAP_LEN">STATISTICS_MAX_WRAP_LEN</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/api/DMLScript.html#SYNCHRONIZE_GPU">SYNCHRONIZE_GPU</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/api/DMLScript.html#USE_ACCELERATOR">USE_ACCELERATOR</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/api/DMLScript.html#USE_LOCAL_SPARK_CONFIG">USE_LOCAL_SPARK_CONFIG</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/api/DMLScript.html#VALIDATOR_IGNORE_ISSUES">VALIDATOR_IGNORE_ISSUES</a></span></code>
 <div class="block">If true, allow DMLProgram to be generated while not halting due to validation errors/warnings</div>
@@ -498,6 +502,15 @@
 <pre>public static&nbsp;<a href="../../../../org/apache/sysds/runtime/lineage/LineageCacheConfig.LineageCachePolicy.html" title="enum in org.apache.sysds.runtime.lineage">LineageCacheConfig.LineageCachePolicy</a> LINEAGE_POLICY</pre>
 </li>
 </ul>
+<a name="LINEAGE_ESTIMATE">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>LINEAGE_ESTIMATE</h4>
+<pre>public static&nbsp;boolean LINEAGE_ESTIMATE</pre>
+</li>
+</ul>
 <a name="CHECK_PRIVACY">
 <!--   -->
 </a>
@@ -854,6 +867,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/api/PythonDMLScript.html b/docs/api/java/org/apache/sysds/api/PythonDMLScript.html
index b46607d..ad4cb21 100644
--- a/docs/api/java/org/apache/sysds/api/PythonDMLScript.html
+++ b/docs/api/java/org/apache/sysds/api/PythonDMLScript.html
@@ -255,6 +255,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/api/ScriptExecutorUtils.html b/docs/api/java/org/apache/sysds/api/ScriptExecutorUtils.html
index 2879aef..f105892 100644
--- a/docs/api/java/org/apache/sysds/api/ScriptExecutorUtils.html
+++ b/docs/api/java/org/apache/sysds/api/ScriptExecutorUtils.html
@@ -313,6 +313,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/api/class-use/ConfigurableAPI.html b/docs/api/java/org/apache/sysds/api/class-use/ConfigurableAPI.html
index 03907a5..e05f708 100644
--- a/docs/api/java/org/apache/sysds/api/class-use/ConfigurableAPI.html
+++ b/docs/api/java/org/apache/sysds/api/class-use/ConfigurableAPI.html
@@ -187,6 +187,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/api/class-use/DMLException.html b/docs/api/java/org/apache/sysds/api/class-use/DMLException.html
index 27ccaa2..de60595 100644
--- a/docs/api/java/org/apache/sysds/api/class-use/DMLException.html
+++ b/docs/api/java/org/apache/sysds/api/class-use/DMLException.html
@@ -272,6 +272,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/api/class-use/DMLOptions.html b/docs/api/java/org/apache/sysds/api/class-use/DMLOptions.html
index 98fa2ef..081be16 100644
--- a/docs/api/java/org/apache/sysds/api/class-use/DMLOptions.html
+++ b/docs/api/java/org/apache/sysds/api/class-use/DMLOptions.html
@@ -175,6 +175,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/api/class-use/DMLScript.html b/docs/api/java/org/apache/sysds/api/class-use/DMLScript.html
index ab9bad2..44307de 100644
--- a/docs/api/java/org/apache/sysds/api/class-use/DMLScript.html
+++ b/docs/api/java/org/apache/sysds/api/class-use/DMLScript.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/api/class-use/PythonDMLScript.html b/docs/api/java/org/apache/sysds/api/class-use/PythonDMLScript.html
index 5a4b6a4..22d68ba 100644
--- a/docs/api/java/org/apache/sysds/api/class-use/PythonDMLScript.html
+++ b/docs/api/java/org/apache/sysds/api/class-use/PythonDMLScript.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/api/class-use/ScriptExecutorUtils.html b/docs/api/java/org/apache/sysds/api/class-use/ScriptExecutorUtils.html
index b8f9b6d..3beb191 100644
--- a/docs/api/java/org/apache/sysds/api/class-use/ScriptExecutorUtils.html
+++ b/docs/api/java/org/apache/sysds/api/class-use/ScriptExecutorUtils.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/api/jmlc/Connection.html b/docs/api/java/org/apache/sysds/api/jmlc/Connection.html
index 938cab0..d3f3b9a 100644
--- a/docs/api/java/org/apache/sysds/api/jmlc/Connection.html
+++ b/docs/api/java/org/apache/sysds/api/jmlc/Connection.html
@@ -1455,6 +1455,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/api/jmlc/JMLCUtils.html b/docs/api/java/org/apache/sysds/api/jmlc/JMLCUtils.html
index 5c9c3c1..a7df098 100644
--- a/docs/api/java/org/apache/sysds/api/jmlc/JMLCUtils.html
+++ b/docs/api/java/org/apache/sysds/api/jmlc/JMLCUtils.html
@@ -356,6 +356,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/api/jmlc/PreparedScript.html b/docs/api/java/org/apache/sysds/api/jmlc/PreparedScript.html
index 2f665a3..8dbebf5 100644
--- a/docs/api/java/org/apache/sysds/api/jmlc/PreparedScript.html
+++ b/docs/api/java/org/apache/sysds/api/jmlc/PreparedScript.html
@@ -1006,6 +1006,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/api/jmlc/ResultVariables.html b/docs/api/java/org/apache/sysds/api/jmlc/ResultVariables.html
index 4274a07..7baa8e9 100644
--- a/docs/api/java/org/apache/sysds/api/jmlc/ResultVariables.html
+++ b/docs/api/java/org/apache/sysds/api/jmlc/ResultVariables.html
@@ -497,6 +497,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/api/jmlc/class-use/Connection.html b/docs/api/java/org/apache/sysds/api/jmlc/class-use/Connection.html
index c0df0fb..72defee 100644
--- a/docs/api/java/org/apache/sysds/api/jmlc/class-use/Connection.html
+++ b/docs/api/java/org/apache/sysds/api/jmlc/class-use/Connection.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/api/jmlc/class-use/JMLCUtils.html b/docs/api/java/org/apache/sysds/api/jmlc/class-use/JMLCUtils.html
index 0d1db67..839218e 100644
--- a/docs/api/java/org/apache/sysds/api/jmlc/class-use/JMLCUtils.html
+++ b/docs/api/java/org/apache/sysds/api/jmlc/class-use/JMLCUtils.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/api/jmlc/class-use/PreparedScript.html b/docs/api/java/org/apache/sysds/api/jmlc/class-use/PreparedScript.html
index e48f743..15e3f83 100644
--- a/docs/api/java/org/apache/sysds/api/jmlc/class-use/PreparedScript.html
+++ b/docs/api/java/org/apache/sysds/api/jmlc/class-use/PreparedScript.html
@@ -190,6 +190,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/api/jmlc/class-use/ResultVariables.html b/docs/api/java/org/apache/sysds/api/jmlc/class-use/ResultVariables.html
index d33de81..7b3fe8c 100644
--- a/docs/api/java/org/apache/sysds/api/jmlc/class-use/ResultVariables.html
+++ b/docs/api/java/org/apache/sysds/api/jmlc/class-use/ResultVariables.html
@@ -163,6 +163,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/api/jmlc/package-summary.html b/docs/api/java/org/apache/sysds/api/jmlc/package-summary.html
index cca0248..91f139d 100644
--- a/docs/api/java/org/apache/sysds/api/jmlc/package-summary.html
+++ b/docs/api/java/org/apache/sysds/api/jmlc/package-summary.html
@@ -161,6 +161,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/api/jmlc/package-tree.html b/docs/api/java/org/apache/sysds/api/jmlc/package-tree.html
index c7b87c4..8b3d6ac 100644
--- a/docs/api/java/org/apache/sysds/api/jmlc/package-tree.html
+++ b/docs/api/java/org/apache/sysds/api/jmlc/package-tree.html
@@ -136,6 +136,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/api/jmlc/package-use.html b/docs/api/java/org/apache/sysds/api/jmlc/package-use.html
index 338cf61..30aa53e 100644
--- a/docs/api/java/org/apache/sysds/api/jmlc/package-use.html
+++ b/docs/api/java/org/apache/sysds/api/jmlc/package-use.html
@@ -184,6 +184,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/api/mlcontext/Frame.html b/docs/api/java/org/apache/sysds/api/mlcontext/Frame.html
index d253564..0c741c0 100644
--- a/docs/api/java/org/apache/sysds/api/mlcontext/Frame.html
+++ b/docs/api/java/org/apache/sysds/api/mlcontext/Frame.html
@@ -588,6 +588,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/api/mlcontext/FrameFormat.html b/docs/api/java/org/apache/sysds/api/mlcontext/FrameFormat.html
index 7ed190a..b5edb89 100644
--- a/docs/api/java/org/apache/sysds/api/mlcontext/FrameFormat.html
+++ b/docs/api/java/org/apache/sysds/api/mlcontext/FrameFormat.html
@@ -389,6 +389,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/api/mlcontext/FrameMetadata.html b/docs/api/java/org/apache/sysds/api/mlcontext/FrameMetadata.html
index f20c498..27a0c28 100644
--- a/docs/api/java/org/apache/sysds/api/mlcontext/FrameMetadata.html
+++ b/docs/api/java/org/apache/sysds/api/mlcontext/FrameMetadata.html
@@ -1022,6 +1022,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/api/mlcontext/FrameSchema.html b/docs/api/java/org/apache/sysds/api/mlcontext/FrameSchema.html
index f019010..dc303e5 100644
--- a/docs/api/java/org/apache/sysds/api/mlcontext/FrameSchema.html
+++ b/docs/api/java/org/apache/sysds/api/mlcontext/FrameSchema.html
@@ -377,6 +377,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/api/mlcontext/MLContext.ExecutionType.html b/docs/api/java/org/apache/sysds/api/mlcontext/MLContext.ExecutionType.html
index 6947f00..f32ffa7 100644
--- a/docs/api/java/org/apache/sysds/api/mlcontext/MLContext.ExecutionType.html
+++ b/docs/api/java/org/apache/sysds/api/mlcontext/MLContext.ExecutionType.html
@@ -398,6 +398,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/api/mlcontext/MLContext.ExplainLevel.html b/docs/api/java/org/apache/sysds/api/mlcontext/MLContext.ExplainLevel.html
index d7efa01..f54acf2 100644
--- a/docs/api/java/org/apache/sysds/api/mlcontext/MLContext.ExplainLevel.html
+++ b/docs/api/java/org/apache/sysds/api/mlcontext/MLContext.ExplainLevel.html
@@ -406,6 +406,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/api/mlcontext/MLContext.InternalProxy.html b/docs/api/java/org/apache/sysds/api/mlcontext/MLContext.InternalProxy.html
index 75ae8b4..a824ec4 100644
--- a/docs/api/java/org/apache/sysds/api/mlcontext/MLContext.InternalProxy.html
+++ b/docs/api/java/org/apache/sysds/api/mlcontext/MLContext.InternalProxy.html
@@ -274,6 +274,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/api/mlcontext/MLContext.html b/docs/api/java/org/apache/sysds/api/mlcontext/MLContext.html
index 26759ac..56b7b0d 100644
--- a/docs/api/java/org/apache/sysds/api/mlcontext/MLContext.html
+++ b/docs/api/java/org/apache/sysds/api/mlcontext/MLContext.html
@@ -1060,6 +1060,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/api/mlcontext/MLContextConversionUtil.html b/docs/api/java/org/apache/sysds/api/mlcontext/MLContextConversionUtil.html
index f06d7d6..2968a8b 100644
--- a/docs/api/java/org/apache/sysds/api/mlcontext/MLContextConversionUtil.html
+++ b/docs/api/java/org/apache/sysds/api/mlcontext/MLContextConversionUtil.html
@@ -1609,6 +1609,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/api/mlcontext/MLContextException.html b/docs/api/java/org/apache/sysds/api/mlcontext/MLContextException.html
index 4369a2c..ac96749 100644
--- a/docs/api/java/org/apache/sysds/api/mlcontext/MLContextException.html
+++ b/docs/api/java/org/apache/sysds/api/mlcontext/MLContextException.html
@@ -365,6 +365,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/api/mlcontext/MLContextUtil.html b/docs/api/java/org/apache/sysds/api/mlcontext/MLContextUtil.html
index 424b6ca..bb53d5f 100644
--- a/docs/api/java/org/apache/sysds/api/mlcontext/MLContextUtil.html
+++ b/docs/api/java/org/apache/sysds/api/mlcontext/MLContextUtil.html
@@ -1169,6 +1169,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/api/mlcontext/MLResults.html b/docs/api/java/org/apache/sysds/api/mlcontext/MLResults.html
index 1c9ed1d..2060b1c 100644
--- a/docs/api/java/org/apache/sysds/api/mlcontext/MLResults.html
+++ b/docs/api/java/org/apache/sysds/api/mlcontext/MLResults.html
@@ -2425,6 +2425,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/api/mlcontext/Matrix.html b/docs/api/java/org/apache/sysds/api/mlcontext/Matrix.html
index fd5df5d..9fbabc9 100644
--- a/docs/api/java/org/apache/sysds/api/mlcontext/Matrix.html
+++ b/docs/api/java/org/apache/sysds/api/mlcontext/Matrix.html
@@ -699,6 +699,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/api/mlcontext/MatrixFormat.html b/docs/api/java/org/apache/sysds/api/mlcontext/MatrixFormat.html
index 2b76e10..e6162dc 100644
--- a/docs/api/java/org/apache/sysds/api/mlcontext/MatrixFormat.html
+++ b/docs/api/java/org/apache/sysds/api/mlcontext/MatrixFormat.html
@@ -448,6 +448,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/api/mlcontext/MatrixMetadata.html b/docs/api/java/org/apache/sysds/api/mlcontext/MatrixMetadata.html
index d23b08f..1998ef2 100644
--- a/docs/api/java/org/apache/sysds/api/mlcontext/MatrixMetadata.html
+++ b/docs/api/java/org/apache/sysds/api/mlcontext/MatrixMetadata.html
@@ -740,6 +740,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/api/mlcontext/Metadata.html b/docs/api/java/org/apache/sysds/api/mlcontext/Metadata.html
index 76149e9..ad98ca9 100644
--- a/docs/api/java/org/apache/sysds/api/mlcontext/Metadata.html
+++ b/docs/api/java/org/apache/sysds/api/mlcontext/Metadata.html
@@ -480,6 +480,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/api/mlcontext/ProjectInfo.html b/docs/api/java/org/apache/sysds/api/mlcontext/ProjectInfo.html
index d3eb3e9..b24b53d 100644
--- a/docs/api/java/org/apache/sysds/api/mlcontext/ProjectInfo.html
+++ b/docs/api/java/org/apache/sysds/api/mlcontext/ProjectInfo.html
@@ -361,6 +361,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/api/mlcontext/Script.html b/docs/api/java/org/apache/sysds/api/mlcontext/Script.html
index 511407f..cb739c2 100644
--- a/docs/api/java/org/apache/sysds/api/mlcontext/Script.html
+++ b/docs/api/java/org/apache/sysds/api/mlcontext/Script.html
@@ -1103,6 +1103,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/api/mlcontext/ScriptExecutor.html b/docs/api/java/org/apache/sysds/api/mlcontext/ScriptExecutor.html
index 255c0c9..b77dad8 100644
--- a/docs/api/java/org/apache/sysds/api/mlcontext/ScriptExecutor.html
+++ b/docs/api/java/org/apache/sysds/api/mlcontext/ScriptExecutor.html
@@ -776,6 +776,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/api/mlcontext/ScriptFactory.html b/docs/api/java/org/apache/sysds/api/mlcontext/ScriptFactory.html
index bc1115c..23915d4 100644
--- a/docs/api/java/org/apache/sysds/api/mlcontext/ScriptFactory.html
+++ b/docs/api/java/org/apache/sysds/api/mlcontext/ScriptFactory.html
@@ -434,6 +434,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/api/mlcontext/class-use/Frame.html b/docs/api/java/org/apache/sysds/api/mlcontext/class-use/Frame.html
index 224041f..b9a7ab0 100644
--- a/docs/api/java/org/apache/sysds/api/mlcontext/class-use/Frame.html
+++ b/docs/api/java/org/apache/sysds/api/mlcontext/class-use/Frame.html
@@ -162,6 +162,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/api/mlcontext/class-use/FrameFormat.html b/docs/api/java/org/apache/sysds/api/mlcontext/class-use/FrameFormat.html
index 79fa9b9..19f2b2f 100644
--- a/docs/api/java/org/apache/sysds/api/mlcontext/class-use/FrameFormat.html
+++ b/docs/api/java/org/apache/sysds/api/mlcontext/class-use/FrameFormat.html
@@ -312,6 +312,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/api/mlcontext/class-use/FrameMetadata.html b/docs/api/java/org/apache/sysds/api/mlcontext/class-use/FrameMetadata.html
index 1e71e8c..29a22a0 100644
--- a/docs/api/java/org/apache/sysds/api/mlcontext/class-use/FrameMetadata.html
+++ b/docs/api/java/org/apache/sysds/api/mlcontext/class-use/FrameMetadata.html
@@ -265,6 +265,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/api/mlcontext/class-use/FrameSchema.html b/docs/api/java/org/apache/sysds/api/mlcontext/class-use/FrameSchema.html
index 3c8795b..90eff0e 100644
--- a/docs/api/java/org/apache/sysds/api/mlcontext/class-use/FrameSchema.html
+++ b/docs/api/java/org/apache/sysds/api/mlcontext/class-use/FrameSchema.html
@@ -248,6 +248,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/api/mlcontext/class-use/MLContext.ExecutionType.html b/docs/api/java/org/apache/sysds/api/mlcontext/class-use/MLContext.ExecutionType.html
index a1df3a9..fb3a072 100644
--- a/docs/api/java/org/apache/sysds/api/mlcontext/class-use/MLContext.ExecutionType.html
+++ b/docs/api/java/org/apache/sysds/api/mlcontext/class-use/MLContext.ExecutionType.html
@@ -202,6 +202,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/api/mlcontext/class-use/MLContext.ExplainLevel.html b/docs/api/java/org/apache/sysds/api/mlcontext/class-use/MLContext.ExplainLevel.html
index bf71419..d99da2e 100644
--- a/docs/api/java/org/apache/sysds/api/mlcontext/class-use/MLContext.ExplainLevel.html
+++ b/docs/api/java/org/apache/sysds/api/mlcontext/class-use/MLContext.ExplainLevel.html
@@ -192,6 +192,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/api/mlcontext/class-use/MLContext.InternalProxy.html b/docs/api/java/org/apache/sysds/api/mlcontext/class-use/MLContext.InternalProxy.html
index bb57f4e..4baece3 100644
--- a/docs/api/java/org/apache/sysds/api/mlcontext/class-use/MLContext.InternalProxy.html
+++ b/docs/api/java/org/apache/sysds/api/mlcontext/class-use/MLContext.InternalProxy.html
@@ -162,6 +162,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/api/mlcontext/class-use/MLContext.html b/docs/api/java/org/apache/sysds/api/mlcontext/class-use/MLContext.html
index ff2a3b4..9291b79 100644
--- a/docs/api/java/org/apache/sysds/api/mlcontext/class-use/MLContext.html
+++ b/docs/api/java/org/apache/sysds/api/mlcontext/class-use/MLContext.html
@@ -209,6 +209,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/api/mlcontext/class-use/MLContextConversionUtil.html b/docs/api/java/org/apache/sysds/api/mlcontext/class-use/MLContextConversionUtil.html
index f5ad003..bb5aa3c 100644
--- a/docs/api/java/org/apache/sysds/api/mlcontext/class-use/MLContextConversionUtil.html
+++ b/docs/api/java/org/apache/sysds/api/mlcontext/class-use/MLContextConversionUtil.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/api/mlcontext/class-use/MLContextException.html b/docs/api/java/org/apache/sysds/api/mlcontext/class-use/MLContextException.html
index c9a8f45..8b3298a 100644
--- a/docs/api/java/org/apache/sysds/api/mlcontext/class-use/MLContextException.html
+++ b/docs/api/java/org/apache/sysds/api/mlcontext/class-use/MLContextException.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/api/mlcontext/class-use/MLContextUtil.html b/docs/api/java/org/apache/sysds/api/mlcontext/class-use/MLContextUtil.html
index c2cb5a0..0f1a9de 100644
--- a/docs/api/java/org/apache/sysds/api/mlcontext/class-use/MLContextUtil.html
+++ b/docs/api/java/org/apache/sysds/api/mlcontext/class-use/MLContextUtil.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/api/mlcontext/class-use/MLResults.html b/docs/api/java/org/apache/sysds/api/mlcontext/class-use/MLResults.html
index 416f90b..30d911d 100644
--- a/docs/api/java/org/apache/sysds/api/mlcontext/class-use/MLResults.html
+++ b/docs/api/java/org/apache/sysds/api/mlcontext/class-use/MLResults.html
@@ -208,6 +208,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/api/mlcontext/class-use/Matrix.html b/docs/api/java/org/apache/sysds/api/mlcontext/class-use/Matrix.html
index d6a581a..27caac8 100644
--- a/docs/api/java/org/apache/sysds/api/mlcontext/class-use/Matrix.html
+++ b/docs/api/java/org/apache/sysds/api/mlcontext/class-use/Matrix.html
@@ -162,6 +162,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/api/mlcontext/class-use/MatrixFormat.html b/docs/api/java/org/apache/sysds/api/mlcontext/class-use/MatrixFormat.html
index 3392809..e5a88b3 100644
--- a/docs/api/java/org/apache/sysds/api/mlcontext/class-use/MatrixFormat.html
+++ b/docs/api/java/org/apache/sysds/api/mlcontext/class-use/MatrixFormat.html
@@ -263,6 +263,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/api/mlcontext/class-use/MatrixMetadata.html b/docs/api/java/org/apache/sysds/api/mlcontext/class-use/MatrixMetadata.html
index 560d671..0406421 100644
--- a/docs/api/java/org/apache/sysds/api/mlcontext/class-use/MatrixMetadata.html
+++ b/docs/api/java/org/apache/sysds/api/mlcontext/class-use/MatrixMetadata.html
@@ -295,6 +295,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/api/mlcontext/class-use/Metadata.html b/docs/api/java/org/apache/sysds/api/mlcontext/class-use/Metadata.html
index 23e34a3..98a2b9c 100644
--- a/docs/api/java/org/apache/sysds/api/mlcontext/class-use/Metadata.html
+++ b/docs/api/java/org/apache/sysds/api/mlcontext/class-use/Metadata.html
@@ -213,6 +213,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/api/mlcontext/class-use/ProjectInfo.html b/docs/api/java/org/apache/sysds/api/mlcontext/class-use/ProjectInfo.html
index b0d0566..f1e71be 100644
--- a/docs/api/java/org/apache/sysds/api/mlcontext/class-use/ProjectInfo.html
+++ b/docs/api/java/org/apache/sysds/api/mlcontext/class-use/ProjectInfo.html
@@ -169,6 +169,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/api/mlcontext/class-use/Script.html b/docs/api/java/org/apache/sysds/api/mlcontext/class-use/Script.html
index 3ad7efa..4eb5846 100644
--- a/docs/api/java/org/apache/sysds/api/mlcontext/class-use/Script.html
+++ b/docs/api/java/org/apache/sysds/api/mlcontext/class-use/Script.html
@@ -342,6 +342,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/api/mlcontext/class-use/ScriptExecutor.html b/docs/api/java/org/apache/sysds/api/mlcontext/class-use/ScriptExecutor.html
index 39d9e4f..6484bcb 100644
--- a/docs/api/java/org/apache/sysds/api/mlcontext/class-use/ScriptExecutor.html
+++ b/docs/api/java/org/apache/sysds/api/mlcontext/class-use/ScriptExecutor.html
@@ -209,6 +209,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/api/mlcontext/class-use/ScriptFactory.html b/docs/api/java/org/apache/sysds/api/mlcontext/class-use/ScriptFactory.html
index 4257861..a2a1923 100644
--- a/docs/api/java/org/apache/sysds/api/mlcontext/class-use/ScriptFactory.html
+++ b/docs/api/java/org/apache/sysds/api/mlcontext/class-use/ScriptFactory.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/api/mlcontext/package-summary.html b/docs/api/java/org/apache/sysds/api/mlcontext/package-summary.html
index a01f3b0..d3f5edc 100644
--- a/docs/api/java/org/apache/sysds/api/mlcontext/package-summary.html
+++ b/docs/api/java/org/apache/sysds/api/mlcontext/package-summary.html
@@ -281,6 +281,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/api/mlcontext/package-tree.html b/docs/api/java/org/apache/sysds/api/mlcontext/package-tree.html
index b0972e8..1860773 100644
--- a/docs/api/java/org/apache/sysds/api/mlcontext/package-tree.html
+++ b/docs/api/java/org/apache/sysds/api/mlcontext/package-tree.html
@@ -178,6 +178,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/api/mlcontext/package-use.html b/docs/api/java/org/apache/sysds/api/mlcontext/package-use.html
index 7464aab..a126dd2 100644
--- a/docs/api/java/org/apache/sysds/api/mlcontext/package-use.html
+++ b/docs/api/java/org/apache/sysds/api/mlcontext/package-use.html
@@ -282,6 +282,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/api/package-summary.html b/docs/api/java/org/apache/sysds/api/package-summary.html
index e1975d6..b4b3bc0 100644
--- a/docs/api/java/org/apache/sysds/api/package-summary.html
+++ b/docs/api/java/org/apache/sysds/api/package-summary.html
@@ -191,6 +191,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/api/package-tree.html b/docs/api/java/org/apache/sysds/api/package-tree.html
index 91b4512..f6f2018 100644
--- a/docs/api/java/org/apache/sysds/api/package-tree.html
+++ b/docs/api/java/org/apache/sysds/api/package-tree.html
@@ -153,6 +153,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/api/package-use.html b/docs/api/java/org/apache/sysds/api/package-use.html
index 7099544..e67db5b2 100644
--- a/docs/api/java/org/apache/sysds/api/package-use.html
+++ b/docs/api/java/org/apache/sysds/api/package-use.html
@@ -308,6 +308,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/common/Builtins.html b/docs/api/java/org/apache/sysds/common/Builtins.html
index 3d02bec..04e7c64 100644
--- a/docs/api/java/org/apache/sysds/common/Builtins.html
+++ b/docs/api/java/org/apache/sysds/common/Builtins.html
@@ -127,7 +127,7 @@
  builtin functions.
 
  To add a new builtin script function, simply add the definition here
- as well as a dml file in scripts/builtin with a matching name. On 
+ as well as a dml file in scripts/builtin with a matching name. On
  building SystemDS, these scripts are packaged into the jar as well.</div>
 </li>
 </ul>
@@ -150,17 +150,29 @@
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#ABS">ABS</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#ABSTAIN">ABSTAIN</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#ACOS">ACOS</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#ALS">ALS</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#ALS_CG">ALS_CG</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#ALS_DS">ALS_DS</a></span></code>&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#ALS_PREDICT">ALS_PREDICT</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#ALS_TOPK_PREDICT">ALS_TOPK_PREDICT</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#ARIMA">ARIMA</a></span></code>&nbsp;</td>
+</tr>
 <tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#ASIN">ASIN</a></span></code>&nbsp;</td>
 </tr>
@@ -168,11 +180,17 @@
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#ATAN">ATAN</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#AVG_POOL">AVG_POOL</a></span></code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#AUTOENCODER2LAYER">AUTOENCODER2LAYER</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#AVG_POOL">AVG_POOL</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#AVG_POOL_BACKWARD">AVG_POOL_BACKWARD</a></span></code>&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#BANDIT">BANDIT</a></span></code>&nbsp;</td>
+</tr>
 <tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#BATCH_NORM2D">BATCH_NORM2D</a></span></code>&nbsp;</td>
 </tr>
@@ -261,20 +279,26 @@
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#COMPONENTS">COMPONENTS</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#COMPRESS">COMPRESS</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#CONFUSIONMATRIX">CONFUSIONMATRIX</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#CONV2D">CONV2D</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#CONV2D_BACKWARD_DATA">CONV2D_BACKWARD_DATA</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#CONV2D_BACKWARD_FILTER">CONV2D_BACKWARD_FILTER</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#COR">COR</a></span></code>&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#CORRECTTYPOS">CORRECTTYPOS</a></span></code>&nbsp;</td>
+</tr>
 <tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#COS">COS</a></span></code>&nbsp;</td>
 </tr>
@@ -291,6 +315,18 @@
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#COV">COV</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#COX">COX</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#CSPLINE">CSPLINE</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#CSPLINE_CG">CSPLINE_CG</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#CSPLINE_DS">CSPLINE_DS</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#CUMMAX">CUMMAX</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
@@ -312,26 +348,44 @@
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#DBSCAN">DBSCAN</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#DETECTSCHEMA">DETECTSCHEMA</a></span></code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#DECISIONTREE">DECISIONTREE</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#DIAG">DIAG</a></span></code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#DECOMPRESS">DECOMPRESS</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#DENIALCONSTRAINTS">DENIALCONSTRAINTS</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#DETECTSCHEMA">DETECTSCHEMA</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#DIAG">DIAG</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#DISCOVER_FD">DISCOVER_FD</a></span></code>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#DISCOVER_MD">DISCOVER_MD</a></span></code>&nbsp;</td>
+</tr>
 <tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#DIST">DIST</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#DROP_INVALID_LENGTH">DROP_INVALID_LENGTH</a></span></code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#DMV">DMV</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#DROP_INVALID_TYPE">DROP_INVALID_TYPE</a></span></code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#DROP_INVALID_LENGTH">DROP_INVALID_LENGTH</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#DROP_INVALID_TYPE">DROP_INVALID_TYPE</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#EIGEN">EIGEN</a></span></code>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#EMA">EMA</a></span></code>&nbsp;</td>
+</tr>
 <tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#EVAL">EVAL</a></span></code>&nbsp;</td>
 </tr>
@@ -348,35 +402,59 @@
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#FLOOR">FLOOR</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#FRAME_SORT">FRAME_SORT</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#GAUSSIAN_CLASSIFIER">GAUSSIAN_CLASSIFIER</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#GET_ACCURACY">GET_ACCURACY</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#GET_PERMUTATIONS">GET_PERMUTATIONS</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#GLM">GLM</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#GMM">GMM</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#GMM_PREDICT">GMM_PREDICT</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#GNMF">GNMF</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#GRID_SEARCH">GRID_SEARCH</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#GROUPEDAGG">GROUPEDAGG</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#HYPERBAND">HYPERBAND</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#IFELSE">IFELSE</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#IMG_BRIGHTNESS">IMG_BRIGHTNESS</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#IMG_CROP">IMG_CROP</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#IMG_MIRROR">IMG_MIRROR</a></span></code>&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#IMPUTE_BY_MEAN">IMPUTE_BY_MEAN</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#IMPUTE_BY_MEDIAN">IMPUTE_BY_MEDIAN</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#IMPUTE_BY_MODE">IMPUTE_BY_MODE</a></span></code>&nbsp;</td>
+</tr>
 <tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#IMPUTE_FD">IMPUTE_FD</a></span></code>&nbsp;</td>
 </tr>
@@ -405,41 +483,59 @@
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#ISNAN">ISNAN</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#KM">KM</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#KMEANS">KMEANS</a></span></code>&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#KMEANSPREDICT">KMEANSPREDICT</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#KNN">KNN</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#KNNBF">KNNBF</a></span></code>&nbsp;</td>
+</tr>
 <tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#L2SVM">L2SVM</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#L2SVMPREDICT">L2SVMPREDICT</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#LASSO">LASSO</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#LENGTH">LENGTH</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#LINEAGE">LINEAGE</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#LIST">LIST</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#LISTNV">LISTNV</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#LM">LM</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#LMCG">LMCG</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#LMDS">LMDS</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#LMPREDICT">LMPREDICT</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#LOG">LOG</a></span></code>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#LOGSUMEXP">LOGSUMEXP</a></span></code>&nbsp;</td>
+</tr>
 <tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#LOWER_TRI">LOWER_TRI</a></span></code>&nbsp;</td>
 </tr>
@@ -516,65 +612,77 @@
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#OUTLIER">OUTLIER</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#OUTLIER_ARIMA">OUTLIER_ARIMA</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#OUTLIER_IQR">OUTLIER_IQR</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#OUTLIER_SD">OUTLIER_SD</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#PARAMSERV">PARAMSERV</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#PCA">PCA</a></span></code>&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#PCAINVERSE">PCAINVERSE</a></span></code>&nbsp;</td>
+</tr>
 <tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#PCATRANSFORM">PCATRANSFORM</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#PCHISQ">PCHISQ</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#PEXP">PEXP</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#PF">PF</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#PNMF">PNMF</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#PNORM">PNORM</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#PPCA">PPCA</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#PPRED">PPRED</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#PROD">PROD</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#PT">PT</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#QCHISQ">QCHISQ</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#QEXP">QEXP</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#QF">QF</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#QNORM">QNORM</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#QR">QR</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#QT">QT</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#QUANTILE">QUANTILE</a></span></code>&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#RANDOM_FOREST">RANDOM_FOREST</a></span></code>&nbsp;</td>
+</tr>
 <tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#RANGE">RANGE</a></span></code>&nbsp;</td>
 </tr>
@@ -630,35 +738,53 @@
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#SCALE">SCALE</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#SCALEAPPLY">SCALEAPPLY</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#SD">SD</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#SEQ">SEQ</a></span></code>&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#SHERLOCK">SHERLOCK</a></span></code>&nbsp;</td>
+</tr>
 <tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#SHERLOCKPREDICT">SHERLOCKPREDICT</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#SIGMOID">SIGMOID</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#SIGN">SIGN</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#SIN">SIN</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#SINH">SINH</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#SLICEFINDER">SLICEFINDER</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#SMOTE">SMOTE</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#SOLVE">SOLVE</a></span></code>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#SPLIT">SPLIT</a></span></code>&nbsp;</td>
+</tr>
 <tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#SPLIT_BALANCED">SPLIT_BALANCED</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#SQRT">SQRT</a></span></code>&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#STATSNA">STATSNA</a></span></code>&nbsp;</td>
+</tr>
 <tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#STEPLM">STEPLM</a></span></code>&nbsp;</td>
 </tr>
@@ -684,6 +810,12 @@
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#TO_ONE_HOT">TO_ONE_HOT</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#TOKENIZE">TOKENIZE</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#TOMEKLINK">TOMEKLINK</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#TOSTRING">TOSTRING</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
@@ -720,15 +852,18 @@
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#VAR">VAR</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#VECTOR_TO_CSV">VECTOR_TO_CSV</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#WINSORIZE">WINSORIZE</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#XDUMMY1">XDUMMY1</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#XDUMMY2">XDUMMY2</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#XOR">XOR</a></span></code>&nbsp;</td>
 </tr>
 </table>
@@ -832,6 +967,15 @@
 <!--   -->
 </a>
 <h3>Enum Constant Detail</h3>
+<a name="ARIMA">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>ARIMA</h4>
+<pre>public static final&nbsp;<a href="../../../../org/apache/sysds/common/Builtins.html" title="enum in org.apache.sysds.common">Builtins</a> ARIMA</pre>
+</li>
+</ul>
 <a name="ABS">
 <!--   -->
 </a>
@@ -841,6 +985,24 @@
 <pre>public static final&nbsp;<a href="../../../../org/apache/sysds/common/Builtins.html" title="enum in org.apache.sysds.common">Builtins</a> ABS</pre>
 </li>
 </ul>
+<a name="GET_ACCURACY">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>GET_ACCURACY</h4>
+<pre>public static final&nbsp;<a href="../../../../org/apache/sysds/common/Builtins.html" title="enum in org.apache.sysds.common">Builtins</a> GET_ACCURACY</pre>
+</li>
+</ul>
+<a name="ABSTAIN">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>ABSTAIN</h4>
+<pre>public static final&nbsp;<a href="../../../../org/apache/sysds/common/Builtins.html" title="enum in org.apache.sysds.common">Builtins</a> ABSTAIN</pre>
+</li>
+</ul>
 <a name="ACOS">
 <!--   -->
 </a>
@@ -877,6 +1039,24 @@
 <pre>public static final&nbsp;<a href="../../../../org/apache/sysds/common/Builtins.html" title="enum in org.apache.sysds.common">Builtins</a> ALS_DS</pre>
 </li>
 </ul>
+<a name="ALS_PREDICT">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>ALS_PREDICT</h4>
+<pre>public static final&nbsp;<a href="../../../../org/apache/sysds/common/Builtins.html" title="enum in org.apache.sysds.common">Builtins</a> ALS_PREDICT</pre>
+</li>
+</ul>
+<a name="ALS_TOPK_PREDICT">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>ALS_TOPK_PREDICT</h4>
+<pre>public static final&nbsp;<a href="../../../../org/apache/sysds/common/Builtins.html" title="enum in org.apache.sysds.common">Builtins</a> ALS_TOPK_PREDICT</pre>
+</li>
+</ul>
 <a name="ASIN">
 <!--   -->
 </a>
@@ -895,6 +1075,15 @@
 <pre>public static final&nbsp;<a href="../../../../org/apache/sysds/common/Builtins.html" title="enum in org.apache.sysds.common">Builtins</a> ATAN</pre>
 </li>
 </ul>
+<a name="AUTOENCODER2LAYER">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>AUTOENCODER2LAYER</h4>
+<pre>public static final&nbsp;<a href="../../../../org/apache/sysds/common/Builtins.html" title="enum in org.apache.sysds.common">Builtins</a> AUTOENCODER2LAYER</pre>
+</li>
+</ul>
 <a name="AVG_POOL">
 <!--   -->
 </a>
@@ -931,6 +1120,15 @@
 <pre>public static final&nbsp;<a href="../../../../org/apache/sysds/common/Builtins.html" title="enum in org.apache.sysds.common">Builtins</a> BATCH_NORM2D_BACKWARD</pre>
 </li>
 </ul>
+<a name="BANDIT">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>BANDIT</h4>
+<pre>public static final&nbsp;<a href="../../../../org/apache/sysds/common/Builtins.html" title="enum in org.apache.sysds.common">Builtins</a> BANDIT</pre>
+</li>
+</ul>
 <a name="BIASADD">
 <!--   -->
 </a>
@@ -1156,6 +1354,51 @@
 <pre>public static final&nbsp;<a href="../../../../org/apache/sysds/common/Builtins.html" title="enum in org.apache.sysds.common">Builtins</a> COMPONENTS</pre>
 </li>
 </ul>
+<a name="COMPRESS">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>COMPRESS</h4>
+<pre>public static final&nbsp;<a href="../../../../org/apache/sysds/common/Builtins.html" title="enum in org.apache.sysds.common">Builtins</a> COMPRESS</pre>
+</li>
+</ul>
+<a name="CSPLINE">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>CSPLINE</h4>
+<pre>public static final&nbsp;<a href="../../../../org/apache/sysds/common/Builtins.html" title="enum in org.apache.sysds.common">Builtins</a> CSPLINE</pre>
+</li>
+</ul>
+<a name="CSPLINE_CG">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>CSPLINE_CG</h4>
+<pre>public static final&nbsp;<a href="../../../../org/apache/sysds/common/Builtins.html" title="enum in org.apache.sysds.common">Builtins</a> CSPLINE_CG</pre>
+</li>
+</ul>
+<a name="CSPLINE_DS">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>CSPLINE_DS</h4>
+<pre>public static final&nbsp;<a href="../../../../org/apache/sysds/common/Builtins.html" title="enum in org.apache.sysds.common">Builtins</a> CSPLINE_DS</pre>
+</li>
+</ul>
+<a name="DECOMPRESS">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>DECOMPRESS</h4>
+<pre>public static final&nbsp;<a href="../../../../org/apache/sysds/common/Builtins.html" title="enum in org.apache.sysds.common">Builtins</a> DECOMPRESS</pre>
+</li>
+</ul>
 <a name="CONV2D">
 <!--   -->
 </a>
@@ -1183,6 +1426,15 @@
 <pre>public static final&nbsp;<a href="../../../../org/apache/sysds/common/Builtins.html" title="enum in org.apache.sysds.common">Builtins</a> CONV2D_BACKWARD_DATA</pre>
 </li>
 </ul>
+<a name="CORRECTTYPOS">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>CORRECTTYPOS</h4>
+<pre>public static final&nbsp;<a href="../../../../org/apache/sysds/common/Builtins.html" title="enum in org.apache.sysds.common">Builtins</a> CORRECTTYPOS</pre>
+</li>
+</ul>
 <a name="COS">
 <!--   -->
 </a>
@@ -1282,6 +1534,15 @@
 <pre>public static final&nbsp;<a href="../../../../org/apache/sysds/common/Builtins.html" title="enum in org.apache.sysds.common">Builtins</a> COR</pre>
 </li>
 </ul>
+<a name="COX">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>COX</h4>
+<pre>public static final&nbsp;<a href="../../../../org/apache/sysds/common/Builtins.html" title="enum in org.apache.sysds.common">Builtins</a> COX</pre>
+</li>
+</ul>
 <a name="DBSCAN">
 <!--   -->
 </a>
@@ -1300,6 +1561,15 @@
 <pre>public static final&nbsp;<a href="../../../../org/apache/sysds/common/Builtins.html" title="enum in org.apache.sysds.common">Builtins</a> DETECTSCHEMA</pre>
 </li>
 </ul>
+<a name="DENIALCONSTRAINTS">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>DENIALCONSTRAINTS</h4>
+<pre>public static final&nbsp;<a href="../../../../org/apache/sysds/common/Builtins.html" title="enum in org.apache.sysds.common">Builtins</a> DENIALCONSTRAINTS</pre>
+</li>
+</ul>
 <a name="DIAG">
 <!--   -->
 </a>
@@ -1318,6 +1588,15 @@
 <pre>public static final&nbsp;<a href="../../../../org/apache/sysds/common/Builtins.html" title="enum in org.apache.sysds.common">Builtins</a> DISCOVER_FD</pre>
 </li>
 </ul>
+<a name="DISCOVER_MD">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>DISCOVER_MD</h4>
+<pre>public static final&nbsp;<a href="../../../../org/apache/sysds/common/Builtins.html" title="enum in org.apache.sysds.common">Builtins</a> DISCOVER_MD</pre>
+</li>
+</ul>
 <a name="DIST">
 <!--   -->
 </a>
@@ -1327,6 +1606,15 @@
 <pre>public static final&nbsp;<a href="../../../../org/apache/sysds/common/Builtins.html" title="enum in org.apache.sysds.common">Builtins</a> DIST</pre>
 </li>
 </ul>
+<a name="DMV">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>DMV</h4>
+<pre>public static final&nbsp;<a href="../../../../org/apache/sysds/common/Builtins.html" title="enum in org.apache.sysds.common">Builtins</a> DMV</pre>
+</li>
+</ul>
 <a name="DROP_INVALID_TYPE">
 <!--   -->
 </a>
@@ -1354,6 +1642,15 @@
 <pre>public static final&nbsp;<a href="../../../../org/apache/sysds/common/Builtins.html" title="enum in org.apache.sysds.common">Builtins</a> EIGEN</pre>
 </li>
 </ul>
+<a name="EMA">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>EMA</h4>
+<pre>public static final&nbsp;<a href="../../../../org/apache/sysds/common/Builtins.html" title="enum in org.apache.sysds.common">Builtins</a> EMA</pre>
+</li>
+</ul>
 <a name="EXISTS">
 <!--   -->
 </a>
@@ -1399,6 +1696,33 @@
 <pre>public static final&nbsp;<a href="../../../../org/apache/sysds/common/Builtins.html" title="enum in org.apache.sysds.common">Builtins</a> FLOOR</pre>
 </li>
 </ul>
+<a name="FRAME_SORT">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>FRAME_SORT</h4>
+<pre>public static final&nbsp;<a href="../../../../org/apache/sysds/common/Builtins.html" title="enum in org.apache.sysds.common">Builtins</a> FRAME_SORT</pre>
+</li>
+</ul>
+<a name="GAUSSIAN_CLASSIFIER">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>GAUSSIAN_CLASSIFIER</h4>
+<pre>public static final&nbsp;<a href="../../../../org/apache/sysds/common/Builtins.html" title="enum in org.apache.sysds.common">Builtins</a> GAUSSIAN_CLASSIFIER</pre>
+</li>
+</ul>
+<a name="GET_PERMUTATIONS">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>GET_PERMUTATIONS</h4>
+<pre>public static final&nbsp;<a href="../../../../org/apache/sysds/common/Builtins.html" title="enum in org.apache.sysds.common">Builtins</a> GET_PERMUTATIONS</pre>
+</li>
+</ul>
 <a name="GLM">
 <!--   -->
 </a>
@@ -1417,6 +1741,15 @@
 <pre>public static final&nbsp;<a href="../../../../org/apache/sysds/common/Builtins.html" title="enum in org.apache.sysds.common">Builtins</a> GMM</pre>
 </li>
 </ul>
+<a name="GMM_PREDICT">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>GMM_PREDICT</h4>
+<pre>public static final&nbsp;<a href="../../../../org/apache/sysds/common/Builtins.html" title="enum in org.apache.sysds.common">Builtins</a> GMM_PREDICT</pre>
+</li>
+</ul>
 <a name="GNMF">
 <!--   -->
 </a>
@@ -1471,6 +1804,33 @@
 <pre>public static final&nbsp;<a href="../../../../org/apache/sysds/common/Builtins.html" title="enum in org.apache.sysds.common">Builtins</a> IMG_BRIGHTNESS</pre>
 </li>
 </ul>
+<a name="IMPUTE_BY_MEAN">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>IMPUTE_BY_MEAN</h4>
+<pre>public static final&nbsp;<a href="../../../../org/apache/sysds/common/Builtins.html" title="enum in org.apache.sysds.common">Builtins</a> IMPUTE_BY_MEAN</pre>
+</li>
+</ul>
+<a name="IMPUTE_BY_MEDIAN">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>IMPUTE_BY_MEDIAN</h4>
+<pre>public static final&nbsp;<a href="../../../../org/apache/sysds/common/Builtins.html" title="enum in org.apache.sysds.common">Builtins</a> IMPUTE_BY_MEDIAN</pre>
+</li>
+</ul>
+<a name="IMPUTE_BY_MODE">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>IMPUTE_BY_MODE</h4>
+<pre>public static final&nbsp;<a href="../../../../org/apache/sysds/common/Builtins.html" title="enum in org.apache.sysds.common">Builtins</a> IMPUTE_BY_MODE</pre>
+</li>
+</ul>
 <a name="IMG_CROP">
 <!--   -->
 </a>
@@ -1552,6 +1912,15 @@
 <pre>public static final&nbsp;<a href="../../../../org/apache/sysds/common/Builtins.html" title="enum in org.apache.sysds.common">Builtins</a> ISINF</pre>
 </li>
 </ul>
+<a name="KM">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>KM</h4>
+<pre>public static final&nbsp;<a href="../../../../org/apache/sysds/common/Builtins.html" title="enum in org.apache.sysds.common">Builtins</a> KM</pre>
+</li>
+</ul>
 <a name="KMEANS">
 <!--   -->
 </a>
@@ -1561,6 +1930,42 @@
 <pre>public static final&nbsp;<a href="../../../../org/apache/sysds/common/Builtins.html" title="enum in org.apache.sysds.common">Builtins</a> KMEANS</pre>
 </li>
 </ul>
+<a name="KMEANSPREDICT">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>KMEANSPREDICT</h4>
+<pre>public static final&nbsp;<a href="../../../../org/apache/sysds/common/Builtins.html" title="enum in org.apache.sysds.common">Builtins</a> KMEANSPREDICT</pre>
+</li>
+</ul>
+<a name="KNNBF">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>KNNBF</h4>
+<pre>public static final&nbsp;<a href="../../../../org/apache/sysds/common/Builtins.html" title="enum in org.apache.sysds.common">Builtins</a> KNNBF</pre>
+</li>
+</ul>
+<a name="KNN">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>KNN</h4>
+<pre>public static final&nbsp;<a href="../../../../org/apache/sysds/common/Builtins.html" title="enum in org.apache.sysds.common">Builtins</a> KNN</pre>
+</li>
+</ul>
+<a name="DECISIONTREE">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>DECISIONTREE</h4>
+<pre>public static final&nbsp;<a href="../../../../org/apache/sysds/common/Builtins.html" title="enum in org.apache.sysds.common">Builtins</a> DECISIONTREE</pre>
+</li>
+</ul>
 <a name="L2SVM">
 <!--   -->
 </a>
@@ -1570,6 +1975,15 @@
 <pre>public static final&nbsp;<a href="../../../../org/apache/sysds/common/Builtins.html" title="enum in org.apache.sysds.common">Builtins</a> L2SVM</pre>
 </li>
 </ul>
+<a name="L2SVMPREDICT">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>L2SVMPREDICT</h4>
+<pre>public static final&nbsp;<a href="../../../../org/apache/sysds/common/Builtins.html" title="enum in org.apache.sysds.common">Builtins</a> L2SVMPREDICT</pre>
+</li>
+</ul>
 <a name="LASSO">
 <!--   -->
 </a>
@@ -1651,6 +2065,15 @@
 <pre>public static final&nbsp;<a href="../../../../org/apache/sysds/common/Builtins.html" title="enum in org.apache.sysds.common">Builtins</a> LOG</pre>
 </li>
 </ul>
+<a name="LOGSUMEXP">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>LOGSUMEXP</h4>
+<pre>public static final&nbsp;<a href="../../../../org/apache/sysds/common/Builtins.html" title="enum in org.apache.sysds.common">Builtins</a> LOGSUMEXP</pre>
+</li>
+</ul>
 <a name="LSTM">
 <!--   -->
 </a>
@@ -1876,6 +2299,15 @@
 <pre>public static final&nbsp;<a href="../../../../org/apache/sysds/common/Builtins.html" title="enum in org.apache.sysds.common">Builtins</a> OUTLIER_IQR</pre>
 </li>
 </ul>
+<a name="OUTLIER_ARIMA">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>OUTLIER_ARIMA</h4>
+<pre>public static final&nbsp;<a href="../../../../org/apache/sysds/common/Builtins.html" title="enum in org.apache.sysds.common">Builtins</a> OUTLIER_ARIMA</pre>
+</li>
+</ul>
 <a name="PCA">
 <!--   -->
 </a>
@@ -1885,6 +2317,24 @@
 <pre>public static final&nbsp;<a href="../../../../org/apache/sysds/common/Builtins.html" title="enum in org.apache.sysds.common">Builtins</a> PCA</pre>
 </li>
 </ul>
+<a name="PCAINVERSE">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>PCAINVERSE</h4>
+<pre>public static final&nbsp;<a href="../../../../org/apache/sysds/common/Builtins.html" title="enum in org.apache.sysds.common">Builtins</a> PCAINVERSE</pre>
+</li>
+</ul>
+<a name="PCATRANSFORM">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>PCATRANSFORM</h4>
+<pre>public static final&nbsp;<a href="../../../../org/apache/sysds/common/Builtins.html" title="enum in org.apache.sysds.common">Builtins</a> PCATRANSFORM</pre>
+</li>
+</ul>
 <a name="PNMF">
 <!--   -->
 </a>
@@ -1939,6 +2389,15 @@
 <pre>public static final&nbsp;<a href="../../../../org/apache/sysds/common/Builtins.html" title="enum in org.apache.sysds.common">Builtins</a> QUANTILE</pre>
 </li>
 </ul>
+<a name="RANDOM_FOREST">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>RANDOM_FOREST</h4>
+<pre>public static final&nbsp;<a href="../../../../org/apache/sysds/common/Builtins.html" title="enum in org.apache.sysds.common">Builtins</a> RANDOM_FOREST</pre>
+</li>
+</ul>
 <a name="RANGE">
 <!--   -->
 </a>
@@ -2092,6 +2551,24 @@
 <pre>public static final&nbsp;<a href="../../../../org/apache/sysds/common/Builtins.html" title="enum in org.apache.sysds.common">Builtins</a> SEQ</pre>
 </li>
 </ul>
+<a name="SHERLOCK">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>SHERLOCK</h4>
+<pre>public static final&nbsp;<a href="../../../../org/apache/sysds/common/Builtins.html" title="enum in org.apache.sysds.common">Builtins</a> SHERLOCK</pre>
+</li>
+</ul>
+<a name="SHERLOCKPREDICT">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>SHERLOCKPREDICT</h4>
+<pre>public static final&nbsp;<a href="../../../../org/apache/sysds/common/Builtins.html" title="enum in org.apache.sysds.common">Builtins</a> SHERLOCKPREDICT</pre>
+</li>
+</ul>
 <a name="SIGMOID">
 <!--   -->
 </a>
@@ -2164,6 +2641,33 @@
 <pre>public static final&nbsp;<a href="../../../../org/apache/sysds/common/Builtins.html" title="enum in org.apache.sysds.common">Builtins</a> SOLVE</pre>
 </li>
 </ul>
+<a name="SPLIT">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>SPLIT</h4>
+<pre>public static final&nbsp;<a href="../../../../org/apache/sysds/common/Builtins.html" title="enum in org.apache.sysds.common">Builtins</a> SPLIT</pre>
+</li>
+</ul>
+<a name="SPLIT_BALANCED">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>SPLIT_BALANCED</h4>
+<pre>public static final&nbsp;<a href="../../../../org/apache/sysds/common/Builtins.html" title="enum in org.apache.sysds.common">Builtins</a> SPLIT_BALANCED</pre>
+</li>
+</ul>
+<a name="STATSNA">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>STATSNA</h4>
+<pre>public static final&nbsp;<a href="../../../../org/apache/sysds/common/Builtins.html" title="enum in org.apache.sysds.common">Builtins</a> STATSNA</pre>
+</li>
+</ul>
 <a name="SQRT">
 <!--   -->
 </a>
@@ -2245,6 +2749,15 @@
 <pre>public static final&nbsp;<a href="../../../../org/apache/sysds/common/Builtins.html" title="enum in org.apache.sysds.common">Builtins</a> TO_ONE_HOT</pre>
 </li>
 </ul>
+<a name="TOMEKLINK">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>TOMEKLINK</h4>
+<pre>public static final&nbsp;<a href="../../../../org/apache/sysds/common/Builtins.html" title="enum in org.apache.sysds.common">Builtins</a> TOMEKLINK</pre>
+</li>
+</ul>
 <a name="TYPEOF">
 <!--   -->
 </a>
@@ -2281,6 +2794,15 @@
 <pre>public static final&nbsp;<a href="../../../../org/apache/sysds/common/Builtins.html" title="enum in org.apache.sysds.common">Builtins</a> VAR</pre>
 </li>
 </ul>
+<a name="VECTOR_TO_CSV">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>VECTOR_TO_CSV</h4>
+<pre>public static final&nbsp;<a href="../../../../org/apache/sysds/common/Builtins.html" title="enum in org.apache.sysds.common">Builtins</a> VECTOR_TO_CSV</pre>
+</li>
+</ul>
 <a name="XOR">
 <!--   -->
 </a>
@@ -2488,6 +3010,15 @@
 <pre>public static final&nbsp;<a href="../../../../org/apache/sysds/common/Builtins.html" title="enum in org.apache.sysds.common">Builtins</a> SCALE</pre>
 </li>
 </ul>
+<a name="SCALEAPPLY">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>SCALEAPPLY</h4>
+<pre>public static final&nbsp;<a href="../../../../org/apache/sysds/common/Builtins.html" title="enum in org.apache.sysds.common">Builtins</a> SCALEAPPLY</pre>
+</li>
+</ul>
 <a name="TIME">
 <!--   -->
 </a>
@@ -2506,6 +3037,15 @@
 <pre>public static final&nbsp;<a href="../../../../org/apache/sysds/common/Builtins.html" title="enum in org.apache.sysds.common">Builtins</a> CVLM</pre>
 </li>
 </ul>
+<a name="TOKENIZE">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>TOKENIZE</h4>
+<pre>public static final&nbsp;<a href="../../../../org/apache/sysds/common/Builtins.html" title="enum in org.apache.sysds.common">Builtins</a> TOKENIZE</pre>
+</li>
+</ul>
 <a name="TOSTRING">
 <!--   -->
 </a>
@@ -2800,6 +3340,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/common/Types.AggOp.html b/docs/api/java/org/apache/sysds/common/Types.AggOp.html
index 94d3150..3adf2a6 100644
--- a/docs/api/java/org/apache/sysds/common/Types.AggOp.html
+++ b/docs/api/java/org/apache/sysds/common/Types.AggOp.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":9,"i2":9};
+var methods = {"i0":10,"i1":10,"i2":9,"i3":9,"i4":9};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -196,16 +196,24 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Types.AggOp.html#getValue--">getValue</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Types.AggOp.html#toString--">toString</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i1" class="rowColor">
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../org/apache/sysds/common/Types.AggOp.html" title="enum in org.apache.sysds.common">Types.AggOp</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Types.AggOp.html#valueOf-int-">valueOf</a></span>(int&nbsp;aggOp)</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../org/apache/sysds/common/Types.AggOp.html" title="enum in org.apache.sysds.common">Types.AggOp</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Types.AggOp.html#valueOf-java.lang.String-">valueOf</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
 <div class="block">Returns the enum constant of this type with the specified name.</div>
 </td>
 </tr>
-<tr id="i2" class="altColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../org/apache/sysds/common/Types.AggOp.html" title="enum in org.apache.sysds.common">Types.AggOp</a>[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Types.AggOp.html#values--">values</a></span>()</code>
 <div class="block">Returns an array containing the constants of this enum type, in
@@ -259,24 +267,6 @@
 <pre>public static final&nbsp;<a href="../../../../org/apache/sysds/common/Types.AggOp.html" title="enum in org.apache.sysds.common">Types.AggOp</a> SUM_SQ</pre>
 </li>
 </ul>
-<a name="PROD">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>PROD</h4>
-<pre>public static final&nbsp;<a href="../../../../org/apache/sysds/common/Types.AggOp.html" title="enum in org.apache.sysds.common">Types.AggOp</a> PROD</pre>
-</li>
-</ul>
-<a name="SUM_PROD">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>SUM_PROD</h4>
-<pre>public static final&nbsp;<a href="../../../../org/apache/sysds/common/Types.AggOp.html" title="enum in org.apache.sysds.common">Types.AggOp</a> SUM_PROD</pre>
-</li>
-</ul>
 <a name="MIN">
 <!--   -->
 </a>
@@ -295,6 +285,24 @@
 <pre>public static final&nbsp;<a href="../../../../org/apache/sysds/common/Types.AggOp.html" title="enum in org.apache.sysds.common">Types.AggOp</a> MAX</pre>
 </li>
 </ul>
+<a name="PROD">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>PROD</h4>
+<pre>public static final&nbsp;<a href="../../../../org/apache/sysds/common/Types.AggOp.html" title="enum in org.apache.sysds.common">Types.AggOp</a> PROD</pre>
+</li>
+</ul>
+<a name="SUM_PROD">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>SUM_PROD</h4>
+<pre>public static final&nbsp;<a href="../../../../org/apache/sysds/common/Types.AggOp.html" title="enum in org.apache.sysds.common">Types.AggOp</a> SUM_PROD</pre>
+</li>
+</ul>
 <a name="TRACE">
 <!--   -->
 </a>
@@ -411,7 +419,7 @@
 <a name="toString--">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>toString</h4>
 <pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
@@ -421,6 +429,24 @@
 </dl>
 </li>
 </ul>
+<a name="valueOf-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>valueOf</h4>
+<pre>public static&nbsp;<a href="../../../../org/apache/sysds/common/Types.AggOp.html" title="enum in org.apache.sysds.common">Types.AggOp</a>&nbsp;valueOf(int&nbsp;aggOp)</pre>
+</li>
+</ul>
+<a name="getValue--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getValue</h4>
+<pre>public&nbsp;int&nbsp;getValue()</pre>
+</li>
+</ul>
 </li>
 </ul>
 </li>
@@ -490,6 +516,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/common/Types.BlockType.html b/docs/api/java/org/apache/sysds/common/Types.BlockType.html
index 2688f50..dcba401 100644
--- a/docs/api/java/org/apache/sysds/common/Types.BlockType.html
+++ b/docs/api/java/org/apache/sysds/common/Types.BlockType.html
@@ -366,6 +366,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/common/Types.CorrectionLocationType.html b/docs/api/java/org/apache/sysds/common/Types.CorrectionLocationType.html
index d28299d..75660ae 100644
--- a/docs/api/java/org/apache/sysds/common/Types.CorrectionLocationType.html
+++ b/docs/api/java/org/apache/sysds/common/Types.CorrectionLocationType.html
@@ -439,6 +439,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/common/Types.DataType.html b/docs/api/java/org/apache/sysds/common/Types.DataType.html
index 1929f2f..b625f78 100644
--- a/docs/api/java/org/apache/sysds/common/Types.DataType.html
+++ b/docs/api/java/org/apache/sysds/common/Types.DataType.html
@@ -468,6 +468,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/common/Types.Direction.html b/docs/api/java/org/apache/sysds/common/Types.Direction.html
index 9b875df..1c7ff90 100644
--- a/docs/api/java/org/apache/sysds/common/Types.Direction.html
+++ b/docs/api/java/org/apache/sysds/common/Types.Direction.html
@@ -371,6 +371,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/common/Types.ExecMode.html b/docs/api/java/org/apache/sysds/common/Types.ExecMode.html
index ab1dfa4..3c8b2e0 100644
--- a/docs/api/java/org/apache/sysds/common/Types.ExecMode.html
+++ b/docs/api/java/org/apache/sysds/common/Types.ExecMode.html
@@ -354,6 +354,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/common/Types.ExecType.html b/docs/api/java/org/apache/sysds/common/Types.ExecType.html
index ac36a2e..ec818b3 100644
--- a/docs/api/java/org/apache/sysds/common/Types.ExecType.html
+++ b/docs/api/java/org/apache/sysds/common/Types.ExecType.html
@@ -390,6 +390,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/common/Types.FileFormat.html b/docs/api/java/org/apache/sysds/common/Types.FileFormat.html
index 213654f..260ca96 100644
--- a/docs/api/java/org/apache/sysds/common/Types.FileFormat.html
+++ b/docs/api/java/org/apache/sysds/common/Types.FileFormat.html
@@ -148,18 +148,21 @@
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Types.FileFormat.html#CSV">CSV</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Types.FileFormat.html#FEDERATED">FEDERATED</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Types.FileFormat.html#JSONL">JSONL</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Types.FileFormat.html#LIBSVM">LIBSVM</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Types.FileFormat.html#MM">MM</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Types.FileFormat.html#PROTO">PROTO</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Types.FileFormat.html#TEXT">TEXT</a></span></code>&nbsp;</td>
 </tr>
 </table>
@@ -195,7 +198,7 @@
 </tr>
 <tr id="i4" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Types.FileFormat.html#isIJVFormat--">isIJVFormat</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Types.FileFormat.html#isIJV--">isIJV</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i5" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
@@ -309,6 +312,15 @@
 <pre>public static final&nbsp;<a href="../../../../org/apache/sysds/common/Types.FileFormat.html" title="enum in org.apache.sysds.common">Types.FileFormat</a> BINARY</pre>
 </li>
 </ul>
+<a name="FEDERATED">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>FEDERATED</h4>
+<pre>public static final&nbsp;<a href="../../../../org/apache/sysds/common/Types.FileFormat.html" title="enum in org.apache.sysds.common">Types.FileFormat</a> FEDERATED</pre>
+</li>
+</ul>
 <a name="PROTO">
 <!--   -->
 </a>
@@ -368,13 +380,13 @@
 </dl>
 </li>
 </ul>
-<a name="isIJVFormat--">
+<a name="isIJV--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>isIJVFormat</h4>
-<pre>public&nbsp;boolean&nbsp;isIJVFormat()</pre>
+<h4>isIJV</h4>
+<pre>public&nbsp;boolean&nbsp;isIJV()</pre>
 </li>
 </ul>
 <a name="isTextFormat--">
@@ -522,6 +534,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/common/Types.FunctionBlock.html b/docs/api/java/org/apache/sysds/common/Types.FunctionBlock.html
index cdc6f1e..003c75b 100644
--- a/docs/api/java/org/apache/sysds/common/Types.FunctionBlock.html
+++ b/docs/api/java/org/apache/sysds/common/Types.FunctionBlock.html
@@ -226,6 +226,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/common/Types.OpOp1.html b/docs/api/java/org/apache/sysds/common/Types.OpOp1.html
index a570a06..7b7d5df 100644
--- a/docs/api/java/org/apache/sysds/common/Types.OpOp1.html
+++ b/docs/api/java/org/apache/sysds/common/Types.OpOp1.html
@@ -184,26 +184,32 @@
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Types.OpOp1.html#COLNAMES">COLNAMES</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Types.OpOp1.html#COMPRESS">COMPRESS</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Types.OpOp1.html#COS">COS</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Types.OpOp1.html#COSH">COSH</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Types.OpOp1.html#CUMMAX">CUMMAX</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Types.OpOp1.html#CUMMIN">CUMMIN</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Types.OpOp1.html#CUMPROD">CUMPROD</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Types.OpOp1.html#CUMSUM">CUMSUM</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Types.OpOp1.html#CUMSUMPROD">CUMSUMPROD</a></span></code>&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Types.OpOp1.html#DECOMPRESS">DECOMPRESS</a></span></code>&nbsp;</td>
+</tr>
 <tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Types.OpOp1.html#DETECTSCHEMA">DETECTSCHEMA</a></span></code>&nbsp;</td>
 </tr>
@@ -861,6 +867,24 @@
 <pre>public static final&nbsp;<a href="../../../../org/apache/sysds/common/Types.OpOp1.html" title="enum in org.apache.sysds.common">Types.OpOp1</a> LOG_NZ</pre>
 </li>
 </ul>
+<a name="COMPRESS">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>COMPRESS</h4>
+<pre>public static final&nbsp;<a href="../../../../org/apache/sysds/common/Types.OpOp1.html" title="enum in org.apache.sysds.common">Types.OpOp1</a> COMPRESS</pre>
+</li>
+</ul>
+<a name="DECOMPRESS">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>DECOMPRESS</h4>
+<pre>public static final&nbsp;<a href="../../../../org/apache/sysds/common/Types.OpOp1.html" title="enum in org.apache.sysds.common">Types.OpOp1</a> DECOMPRESS</pre>
+</li>
+</ul>
 <a name="MULT2">
 <!--   -->
 </a>
@@ -1056,6 +1080,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/common/Types.OpOp2.html b/docs/api/java/org/apache/sysds/common/Types.OpOp2.html
index a65ea2d..310699f 100644
--- a/docs/api/java/org/apache/sysds/common/Types.OpOp2.html
+++ b/docs/api/java/org/apache/sysds/common/Types.OpOp2.html
@@ -852,6 +852,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/common/Types.OpOp3.html b/docs/api/java/org/apache/sysds/common/Types.OpOp3.html
index 9ba79e6..4ab737a 100644
--- a/docs/api/java/org/apache/sysds/common/Types.OpOp3.html
+++ b/docs/api/java/org/apache/sysds/common/Types.OpOp3.html
@@ -443,6 +443,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/common/Types.OpOp4.html b/docs/api/java/org/apache/sysds/common/Types.OpOp4.html
index 11369bb..c375335 100644
--- a/docs/api/java/org/apache/sysds/common/Types.OpOp4.html
+++ b/docs/api/java/org/apache/sysds/common/Types.OpOp4.html
@@ -394,6 +394,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/common/Types.OpOpDG.html b/docs/api/java/org/apache/sysds/common/Types.OpOpDG.html
index ed416fc..d39c73b 100644
--- a/docs/api/java/org/apache/sysds/common/Types.OpOpDG.html
+++ b/docs/api/java/org/apache/sysds/common/Types.OpOpDG.html
@@ -142,18 +142,21 @@
 <th class="colOne" scope="col">Enum Constant and Description</th>
 </tr>
 <tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Types.OpOpDG.html#FRAMEINIT">FRAMEINIT</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Types.OpOpDG.html#RAND">RAND</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Types.OpOpDG.html#SAMPLE">SAMPLE</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Types.OpOpDG.html#SEQ">SEQ</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Types.OpOpDG.html#SINIT">SINIT</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Types.OpOpDG.html#TIME">TIME</a></span></code>&nbsp;</td>
 </tr>
 </table>
@@ -231,6 +234,15 @@
 <pre>public static final&nbsp;<a href="../../../../org/apache/sysds/common/Types.OpOpDG.html" title="enum in org.apache.sysds.common">Types.OpOpDG</a> SEQ</pre>
 </li>
 </ul>
+<a name="FRAMEINIT">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>FRAMEINIT</h4>
+<pre>public static final&nbsp;<a href="../../../../org/apache/sysds/common/Types.OpOpDG.html" title="enum in org.apache.sysds.common">Types.OpOpDG</a> FRAMEINIT</pre>
+</li>
+</ul>
 <a name="SINIT">
 <!--   -->
 </a>
@@ -377,6 +389,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/common/Types.OpOpData.html b/docs/api/java/org/apache/sysds/common/Types.OpOpData.html
index c919fc0..e828407 100644
--- a/docs/api/java/org/apache/sysds/common/Types.OpOpData.html
+++ b/docs/api/java/org/apache/sysds/common/Types.OpOpData.html
@@ -470,6 +470,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/common/Types.OpOpDnn.html b/docs/api/java/org/apache/sysds/common/Types.OpOpDnn.html
index 2580daa..295edf7 100644
--- a/docs/api/java/org/apache/sysds/common/Types.OpOpDnn.html
+++ b/docs/api/java/org/apache/sysds/common/Types.OpOpDnn.html
@@ -509,6 +509,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/common/Types.OpOpN.html b/docs/api/java/org/apache/sysds/common/Types.OpOpN.html
index d6a4112..214cb6c 100644
--- a/docs/api/java/org/apache/sysds/common/Types.OpOpN.html
+++ b/docs/api/java/org/apache/sysds/common/Types.OpOpN.html
@@ -426,6 +426,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/common/Types.ParamBuiltinOp.html b/docs/api/java/org/apache/sysds/common/Types.ParamBuiltinOp.html
index 69a5c03..b3cc5fb 100644
--- a/docs/api/java/org/apache/sysds/common/Types.ParamBuiltinOp.html
+++ b/docs/api/java/org/apache/sysds/common/Types.ParamBuiltinOp.html
@@ -172,21 +172,24 @@
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Types.ParamBuiltinOp.html#RMEMPTY">RMEMPTY</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Types.ParamBuiltinOp.html#TOKENIZE">TOKENIZE</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Types.ParamBuiltinOp.html#TOSTRING">TOSTRING</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Types.ParamBuiltinOp.html#TRANSFORMAPPLY">TRANSFORMAPPLY</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Types.ParamBuiltinOp.html#TRANSFORMCOLMAP">TRANSFORMCOLMAP</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Types.ParamBuiltinOp.html#TRANSFORMDECODE">TRANSFORMDECODE</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Types.ParamBuiltinOp.html#TRANSFORMMETA">TRANSFORMMETA</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Types.ParamBuiltinOp.html#UPPER_TRI">UPPER_TRI</a></span></code>&nbsp;</td>
 </tr>
 </table>
@@ -363,6 +366,15 @@
 <pre>public static final&nbsp;<a href="../../../../org/apache/sysds/common/Types.ParamBuiltinOp.html" title="enum in org.apache.sysds.common">Types.ParamBuiltinOp</a> TRANSFORMMETA</pre>
 </li>
 </ul>
+<a name="TOKENIZE">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>TOKENIZE</h4>
+<pre>public static final&nbsp;<a href="../../../../org/apache/sysds/common/Types.ParamBuiltinOp.html" title="enum in org.apache.sysds.common">Types.ParamBuiltinOp</a> TOKENIZE</pre>
+</li>
+</ul>
 <a name="TOSTRING">
 <!--   -->
 </a>
@@ -509,6 +521,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/common/Types.ReOrgOp.html b/docs/api/java/org/apache/sysds/common/Types.ReOrgOp.html
index 02ce724..17e52a7 100644
--- a/docs/api/java/org/apache/sysds/common/Types.ReOrgOp.html
+++ b/docs/api/java/org/apache/sysds/common/Types.ReOrgOp.html
@@ -407,6 +407,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/common/Types.ReturnType.html b/docs/api/java/org/apache/sysds/common/Types.ReturnType.html
index 90e789c..503cd32 100644
--- a/docs/api/java/org/apache/sysds/common/Types.ReturnType.html
+++ b/docs/api/java/org/apache/sysds/common/Types.ReturnType.html
@@ -355,6 +355,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/common/Types.ValueType.html b/docs/api/java/org/apache/sysds/common/Types.ValueType.html
index 50d451d..7782a9f 100644
--- a/docs/api/java/org/apache/sysds/common/Types.ValueType.html
+++ b/docs/api/java/org/apache/sysds/common/Types.ValueType.html
@@ -479,6 +479,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/common/Types.html b/docs/api/java/org/apache/sysds/common/Types.html
index 25edb09..63465d8 100644
--- a/docs/api/java/org/apache/sysds/common/Types.html
+++ b/docs/api/java/org/apache/sysds/common/Types.html
@@ -349,6 +349,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/common/Warnings.html b/docs/api/java/org/apache/sysds/common/Warnings.html
index 943f05c..824c4b2 100644
--- a/docs/api/java/org/apache/sysds/common/Warnings.html
+++ b/docs/api/java/org/apache/sysds/common/Warnings.html
@@ -280,6 +280,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/common/class-use/Builtins.html b/docs/api/java/org/apache/sysds/common/class-use/Builtins.html
index af5a38f..7485b0a 100644
--- a/docs/api/java/org/apache/sysds/common/class-use/Builtins.html
+++ b/docs/api/java/org/apache/sysds/common/class-use/Builtins.html
@@ -272,6 +272,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/common/class-use/Types.AggOp.html b/docs/api/java/org/apache/sysds/common/class-use/Types.AggOp.html
index 8a6f4d2..0c85be5 100644
--- a/docs/api/java/org/apache/sysds/common/class-use/Types.AggOp.html
+++ b/docs/api/java/org/apache/sysds/common/class-use/Types.AggOp.html
@@ -128,11 +128,15 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/common/Types.AggOp.html" title="enum in org.apache.sysds.common">Types.AggOp</a></code></td>
+<td class="colLast"><span class="typeNameLabel">Types.AggOp.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/common/Types.AggOp.html#valueOf-int-">valueOf</a></span>(int&nbsp;aggOp)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/common/Types.AggOp.html" title="enum in org.apache.sysds.common">Types.AggOp</a></code></td>
 <td class="colLast"><span class="typeNameLabel">Types.AggOp.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/common/Types.AggOp.html#valueOf-java.lang.String-">valueOf</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
 <div class="block">Returns the enum constant of this type with the specified name.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/common/Types.AggOp.html" title="enum in org.apache.sysds.common">Types.AggOp</a>[]</code></td>
 <td class="colLast"><span class="typeNameLabel">Types.AggOp.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/common/Types.AggOp.html#values--">values</a></span>()</code>
 <div class="block">Returns an array containing the constants of this enum type, in
@@ -493,6 +497,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/common/class-use/Types.BlockType.html b/docs/api/java/org/apache/sysds/common/class-use/Types.BlockType.html
index 80a8b68..f57cfb6 100644
--- a/docs/api/java/org/apache/sysds/common/class-use/Types.BlockType.html
+++ b/docs/api/java/org/apache/sysds/common/class-use/Types.BlockType.html
@@ -169,6 +169,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/common/class-use/Types.CorrectionLocationType.html b/docs/api/java/org/apache/sysds/common/class-use/Types.CorrectionLocationType.html
index 22dd456..b7b6773 100644
--- a/docs/api/java/org/apache/sysds/common/class-use/Types.CorrectionLocationType.html
+++ b/docs/api/java/org/apache/sysds/common/class-use/Types.CorrectionLocationType.html
@@ -278,6 +278,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/common/class-use/Types.DataType.html b/docs/api/java/org/apache/sysds/common/class-use/Types.DataType.html
index d0c7c9e..a9970d1 100644
--- a/docs/api/java/org/apache/sysds/common/class-use/Types.DataType.html
+++ b/docs/api/java/org/apache/sysds/common/class-use/Types.DataType.html
@@ -450,7 +450,7 @@
          <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;inp3)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/TernaryOp.html#TernaryOp-java.lang.String-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.common.Types.OpOp3-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-">TernaryOp</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;l,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/TernaryOp.html#TernaryOp-java.lang.String-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.common.Types.OpOp3-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-">TernaryOp</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;l,
          <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
          <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
          <a href="../../../../../org/apache/sysds/common/Types.OpOp3.html" title="enum in org.apache.sysds.common">Types.OpOp3</a>&nbsp;o,
@@ -458,7 +458,8 @@
          <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;inp2,
          <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;inp3,
          <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;inp4,
-         <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;inp5)</code>&nbsp;</td>
+         <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;inp5,
+         <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;inp6)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/UnaryOp.html#UnaryOp-java.lang.String-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.common.Types.OpOp1-org.apache.sysds.hops.Hop-">UnaryOp</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;l,
@@ -481,10 +482,12 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/codegen/SpoofFusedOp.html#SpoofFusedOp-java.lang.String-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-java.lang.Class-boolean-org.apache.sysds.hops.codegen.SpoofFusedOp.SpoofOutputDimsType-">SpoofFusedOp</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/codegen/SpoofFusedOp.html#SpoofFusedOp-java.lang.String-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-java.lang.Class-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-java.lang.String-boolean-org.apache.sysds.hops.codegen.SpoofFusedOp.SpoofOutputDimsType-">SpoofFusedOp</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
             <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
             <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
             <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;cla,
+            <a href="../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&nbsp;api,
+            <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;genVarName,
             boolean&nbsp;dist,
             <a href="../../../../../org/apache/sysds/hops/codegen/SpoofFusedOp.SpoofOutputDimsType.html" title="enum in org.apache.sysds.hops.codegen">SpoofFusedOp.SpoofOutputDimsType</a>&nbsp;type)</code>&nbsp;</td>
 </tr>
@@ -743,6 +746,15 @@
 </td>
 </tr>
 <tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/Binary.html#Binary-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.OpOp2-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-int-">Binary</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
+      <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
+      <a href="../../../../../org/apache/sysds/common/Types.OpOp2.html" title="enum in org.apache.sysds.common">Types.OpOp2</a>&nbsp;op,
+      <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
+      <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
+      <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et,
+      int&nbsp;k)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/BinaryM.html#BinaryM-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.OpOp2-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-boolean-">BinaryM</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
        <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
        <a href="../../../../../org/apache/sysds/common/Types.OpOp2.html" title="enum in org.apache.sysds.common">Types.OpOp2</a>&nbsp;op,
@@ -753,7 +765,7 @@
 <div class="block">Constructor to perform a binary operation.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/BinaryScalar.html#BinaryScalar-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.OpOp2-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-">BinaryScalar</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
             <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
             <a href="../../../../../org/apache/sysds/common/Types.OpOp2.html" title="enum in org.apache.sysds.common">Types.OpOp2</a>&nbsp;op,
@@ -762,7 +774,7 @@
 <div class="block">Constructor to perform a scalar operation</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/BinaryUAggChain.html#BinaryUAggChain-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.OpOp2-org.apache.sysds.common.Types.AggOp-org.apache.sysds.common.Types.Direction-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-">BinaryUAggChain</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
                <a href="../../../../../org/apache/sysds/common/Types.OpOp2.html" title="enum in org.apache.sysds.common">Types.OpOp2</a>&nbsp;bop,
                <a href="../../../../../org/apache/sysds/common/Types.AggOp.html" title="enum in org.apache.sysds.common">Types.AggOp</a>&nbsp;uaop,
@@ -773,7 +785,7 @@
 <div class="block">Constructor to setup a map mult chain without weights</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/CentralMoment.html#CentralMoment-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-">CentralMoment</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
              <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
              <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input3,
@@ -781,14 +793,14 @@
              <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
              <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/CentralMoment.html#CentralMoment-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-">CentralMoment</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
              <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
              <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
              <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
              <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/Checkpoint.html#Checkpoint-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-java.lang.String-">Checkpoint</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input,
           <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
           <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
@@ -797,13 +809,13 @@
  that Spark libraries are always available.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/Compression.html#Compression-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-">Compression</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input,
            <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
            <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
            <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/CoVariance.html#CoVariance-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-">CoVariance</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
           <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
           <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input3,
@@ -811,42 +823,43 @@
           <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
           <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/CoVariance.html#CoVariance-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-">CoVariance</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
           <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
           <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
           <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
           <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/CoVariance.html#CoVariance-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-">CoVariance</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
           <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
           <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
           <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/CSVReBlock.html#CSVReBlock-org.apache.sysds.lops.Lop-int-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-">CSVReBlock</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input,
           int&nbsp;blen,
           <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
           <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
           <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/Ctable.html#Ctable-org.apache.sysds.lops.Lop:A-org.apache.sysds.lops.Ctable.OperationTypes-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-boolean-org.apache.sysds.lops.LopProperties.ExecType-">Ctable</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>[]&nbsp;inputLops,
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/Ctable.html#Ctable-org.apache.sysds.lops.Lop:A-org.apache.sysds.lops.Ctable.OperationTypes-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-boolean-boolean-org.apache.sysds.lops.LopProperties.ExecType-">Ctable</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>[]&nbsp;inputLops,
       <a href="../../../../../org/apache/sysds/lops/Ctable.OperationTypes.html" title="enum in org.apache.sysds.lops">Ctable.OperationTypes</a>&nbsp;op,
       <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
       <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
       boolean&nbsp;ignoreZeros,
+      boolean&nbsp;outputEmptyBlocks,
       <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/Ctable.html#Ctable-org.apache.sysds.lops.Lop:A-org.apache.sysds.lops.Ctable.OperationTypes-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-">Ctable</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>[]&nbsp;inputLops,
       <a href="../../../../../org/apache/sysds/lops/Ctable.OperationTypes.html" title="enum in org.apache.sysds.lops">Ctable.OperationTypes</a>&nbsp;op,
       <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
       <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
       <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/CumulativeOffsetBinary.html#CumulativeOffsetBinary-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-double-boolean-org.apache.sysds.common.Types.AggOp-org.apache.sysds.lops.LopProperties.ExecType-">CumulativeOffsetBinary</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;data,
                       <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;offsets,
                       <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
@@ -856,7 +869,7 @@
                       <a href="../../../../../org/apache/sysds/common/Types.AggOp.html" title="enum in org.apache.sysds.common">Types.AggOp</a>&nbsp;op,
                       <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/CumulativeOffsetBinary.html#CumulativeOffsetBinary-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.common.Types.AggOp-org.apache.sysds.lops.LopProperties.ExecType-">CumulativeOffsetBinary</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;data,
                       <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;offsets,
                       <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
@@ -864,14 +877,14 @@
                       <a href="../../../../../org/apache/sysds/common/Types.AggOp.html" title="enum in org.apache.sysds.common">Types.AggOp</a>&nbsp;op,
                       <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/CumulativePartialAggregate.html#CumulativePartialAggregate-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.common.Types.AggOp-org.apache.sysds.lops.LopProperties.ExecType-">CumulativePartialAggregate</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input,
                           <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
                           <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
                           <a href="../../../../../org/apache/sysds/common/Types.AggOp.html" title="enum in org.apache.sysds.common">Types.AggOp</a>&nbsp;op,
                           <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/Data.html#Data-org.apache.sysds.common.Types.OpOpData-org.apache.sysds.lops.Lop-java.util.HashMap-java.lang.String-java.lang.String-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.common.Types.FileFormat-">Data</a></span>(<a href="../../../../../org/apache/sysds/common/Types.OpOpData.html" title="enum in org.apache.sysds.common">Types.OpOpData</a>&nbsp;op,
     <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input,
     <a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&gt;&nbsp;inputParametersLops,
@@ -884,7 +897,7 @@
  In case of write: <code>input</code> must be provided.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/DataGen.html#DataGen-org.apache.sysds.common.Types.OpOpDG-org.apache.sysds.parser.DataIdentifier-java.util.HashMap-java.lang.String-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-">DataGen</a></span>(<a href="../../../../../org/apache/sysds/common/Types.OpOpDG.html" title="enum in org.apache.sysds.common">Types.OpOpDG</a>&nbsp;op,
        <a href="../../../../../org/apache/sysds/parser/DataIdentifier.html" title="class in org.apache.sysds.parser">DataIdentifier</a>&nbsp;id,
        <a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&gt;&nbsp;inputParametersLops,
@@ -895,6 +908,12 @@
 <div class="block">Creates a new Rand-LOP.</div>
 </td>
 </tr>
+<tr class="rowColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/DeCompression.html#DeCompression-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-">DeCompression</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input,
+             <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
+             <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
+             <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
+</tr>
 <tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/DnnTransform.html#DnnTransform-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.OpOpDnn-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-int-">DnnTransform</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
             <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
@@ -1044,6 +1063,16 @@
          int&nbsp;k)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/MatMultCP.html#MatMultCP-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-int-boolean-boolean-">MatMultCP</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
+         <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
+         <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
+         <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
+         <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et,
+         int&nbsp;k,
+         boolean&nbsp;isLeftTransposed,
+         boolean&nbsp;isRightTransposed)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/MMCJ.html#MMCJ-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-boolean-org.apache.sysds.hops.AggBinaryOp.SparkAggType-org.apache.sysds.lops.LopProperties.ExecType-">MMCJ</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
     <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
     <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
@@ -1052,7 +1081,7 @@
     <a href="../../../../../org/apache/sysds/hops/AggBinaryOp.SparkAggType.html" title="enum in org.apache.sysds.hops">AggBinaryOp.SparkAggType</a>&nbsp;aggtype,
     <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/MMCJ.html#MMCJ-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.MMCJ.MMCJType-org.apache.sysds.lops.LopProperties.ExecType-">MMCJ</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
     <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
     <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
@@ -1062,7 +1091,7 @@
 <div class="block">Constructor to perform a cross product operation.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/MMRJ.html#MMRJ-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-">MMRJ</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
     <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
     <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
@@ -1071,14 +1100,14 @@
 <div class="block">Constructor to perform a cross product operation.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/MMTSJ.html#MMTSJ-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-org.apache.sysds.lops.MMTSJ.MMTSJType-">MMTSJ</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
      <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
      <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
      <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et,
      <a href="../../../../../org/apache/sysds/lops/MMTSJ.MMTSJType.html" title="enum in org.apache.sysds.lops">MMTSJ.MMTSJType</a>&nbsp;type)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/MMTSJ.html#MMTSJ-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-org.apache.sysds.lops.MMTSJ.MMTSJType-boolean-">MMTSJ</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
      <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
      <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
@@ -1086,7 +1115,7 @@
      <a href="../../../../../org/apache/sysds/lops/MMTSJ.MMTSJType.html" title="enum in org.apache.sysds.lops">MMTSJ.MMTSJType</a>&nbsp;type,
      boolean&nbsp;multiPass)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/MMTSJ.html#MMTSJ-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-org.apache.sysds.lops.MMTSJ.MMTSJType-boolean-int-">MMTSJ</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
      <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
      <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
@@ -1095,7 +1124,7 @@
      boolean&nbsp;multiPass,
      int&nbsp;k)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/MMZip.html#MMZip-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-boolean-org.apache.sysds.lops.LopProperties.ExecType-">MMZip</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
      <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
      <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
@@ -1103,21 +1132,21 @@
      boolean&nbsp;tRewrite,
      <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/Nary.html#Nary-org.apache.sysds.common.Types.OpOpN-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.Lop:A-org.apache.sysds.lops.LopProperties.ExecType-">Nary</a></span>(<a href="../../../../../org/apache/sysds/common/Types.OpOpN.html" title="enum in org.apache.sysds.common">Types.OpOpN</a>&nbsp;operationType,
     <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
     <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
     <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>[]&nbsp;inputLops,
     <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/ParameterizedBuiltin.html#ParameterizedBuiltin-java.util.HashMap-org.apache.sysds.common.Types.ParamBuiltinOp-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-">ParameterizedBuiltin</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&gt;&nbsp;paramLops,
                     <a href="../../../../../org/apache/sysds/common/Types.ParamBuiltinOp.html" title="enum in org.apache.sysds.common">Types.ParamBuiltinOp</a>&nbsp;op,
                     <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
                     <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
                     <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/ParameterizedBuiltin.html#ParameterizedBuiltin-java.util.HashMap-org.apache.sysds.common.Types.ParamBuiltinOp-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-boolean-">ParameterizedBuiltin</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&gt;&nbsp;paramLops,
                     <a href="../../../../../org/apache/sysds/common/Types.ParamBuiltinOp.html" title="enum in org.apache.sysds.common">Types.ParamBuiltinOp</a>&nbsp;op,
                     <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
@@ -1125,7 +1154,7 @@
                     <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et,
                     boolean&nbsp;bRmEmptyBC)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/ParameterizedBuiltin.html#ParameterizedBuiltin-java.util.HashMap-org.apache.sysds.common.Types.ParamBuiltinOp-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-int-">ParameterizedBuiltin</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&gt;&nbsp;paramLops,
                     <a href="../../../../../org/apache/sysds/common/Types.ParamBuiltinOp.html" title="enum in org.apache.sysds.common">Types.ParamBuiltinOp</a>&nbsp;op,
                     <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
@@ -1133,7 +1162,7 @@
                     <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et,
                     int&nbsp;k)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/PartialAggregate.html#PartialAggregate-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.AggOp-org.apache.sysds.common.Types.Direction-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.hops.AggBinaryOp.SparkAggType-org.apache.sysds.lops.LopProperties.ExecType-">PartialAggregate</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input,
                 <a href="../../../../../org/apache/sysds/common/Types.AggOp.html" title="enum in org.apache.sysds.common">Types.AggOp</a>&nbsp;op,
                 <a href="../../../../../org/apache/sysds/common/Types.Direction.html" title="enum in org.apache.sysds.common">Types.Direction</a>&nbsp;direct,
@@ -1142,7 +1171,7 @@
                 <a href="../../../../../org/apache/sysds/hops/AggBinaryOp.SparkAggType.html" title="enum in org.apache.sysds.hops">AggBinaryOp.SparkAggType</a>&nbsp;aggtype,
                 <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/PartialAggregate.html#PartialAggregate-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.AggOp-org.apache.sysds.common.Types.Direction-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-int-">PartialAggregate</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input,
                 <a href="../../../../../org/apache/sysds/common/Types.AggOp.html" title="enum in org.apache.sysds.common">Types.AggOp</a>&nbsp;op,
                 <a href="../../../../../org/apache/sysds/common/Types.Direction.html" title="enum in org.apache.sysds.common">Types.Direction</a>&nbsp;direct,
@@ -1151,7 +1180,7 @@
                 <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et,
                 int&nbsp;k)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/PickByCount.html#PickByCount-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.PickByCount.OperationTypes-org.apache.sysds.lops.LopProperties.ExecType-">PickByCount</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
            <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
            <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
@@ -1159,7 +1188,7 @@
            <a href="../../../../../org/apache/sysds/lops/PickByCount.OperationTypes.html" title="enum in org.apache.sysds.lops">PickByCount.OperationTypes</a>&nbsp;op,
            <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/PickByCount.html#PickByCount-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.PickByCount.OperationTypes-org.apache.sysds.lops.LopProperties.ExecType-boolean-">PickByCount</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
            <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
            <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
@@ -1168,13 +1197,13 @@
            <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et,
            boolean&nbsp;inMemoryInput)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/PMapMult.html#PMapMult-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-">PMapMult</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
         <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
         <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
         <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/PMMJ.html#PMMJ-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-boolean-boolean-org.apache.sysds.lops.LopProperties.ExecType-">PMMJ</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;pminput,
     <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;rightinput,
     <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;nrow,
@@ -1186,7 +1215,7 @@
 <div class="block">Constructor to setup a Permutation Matrix Multiplication</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/ReBlock.html#ReBlock-org.apache.sysds.lops.Lop-int-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-boolean-org.apache.sysds.lops.LopProperties.ExecType-">ReBlock</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input,
        int&nbsp;blen,
        <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
@@ -1194,7 +1223,7 @@
        boolean&nbsp;outputEmptyBlocks,
        <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/RightIndex.html#RightIndex-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.hops.AggBinaryOp.SparkAggType-org.apache.sysds.lops.LopProperties.ExecType-">RightIndex</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input,
           <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;rowL,
           <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;rowU,
@@ -1207,7 +1236,7 @@
           <a href="../../../../../org/apache/sysds/hops/AggBinaryOp.SparkAggType.html" title="enum in org.apache.sysds.hops">AggBinaryOp.SparkAggType</a>&nbsp;aggtype,
           <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/RightIndex.html#RightIndex-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-">RightIndex</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input,
           <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;rowL,
           <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;rowU,
@@ -1219,7 +1248,7 @@
           <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
           <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/RightIndex.html#RightIndex-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-boolean-">RightIndex</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input,
           <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;rowL,
           <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;rowU,
@@ -1232,7 +1261,7 @@
           <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et,
           boolean&nbsp;forleft)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/SortKeys.html#SortKeys-org.apache.sysds.lops.Lop-boolean-org.apache.sysds.lops.SortKeys.OperationTypes-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-">SortKeys</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input,
         boolean&nbsp;desc,
         <a href="../../../../../org/apache/sysds/lops/SortKeys.OperationTypes.html" title="enum in org.apache.sysds.lops">SortKeys.OperationTypes</a>&nbsp;op,
@@ -1240,7 +1269,7 @@
         <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
         <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/SortKeys.html#SortKeys-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.SortKeys.OperationTypes-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-">SortKeys</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
         <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
         <a href="../../../../../org/apache/sysds/lops/SortKeys.OperationTypes.html" title="enum in org.apache.sysds.lops">SortKeys.OperationTypes</a>&nbsp;op,
@@ -1248,36 +1277,39 @@
         <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
         <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/SortKeys.html#SortKeys-org.apache.sysds.lops.Lop-org.apache.sysds.lops.SortKeys.OperationTypes-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-">SortKeys</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input,
         <a href="../../../../../org/apache/sysds/lops/SortKeys.OperationTypes.html" title="enum in org.apache.sysds.lops">SortKeys.OperationTypes</a>&nbsp;op,
         <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
         <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
         <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/SpoofFused.html#SpoofFused-java.util.ArrayList-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-java.lang.Class-int-org.apache.sysds.lops.LopProperties.ExecType-">SpoofFused</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&gt;&nbsp;inputs,
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/SpoofFused.html#SpoofFused-java.util.ArrayList-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-java.lang.Class-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-java.lang.String-int-org.apache.sysds.lops.LopProperties.ExecType-">SpoofFused</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&gt;&nbsp;inputs,
           <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
           <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
           <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;cla,
+          <a href="../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&nbsp;api,
+          <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;genVarName,
           int&nbsp;k,
           <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;etype)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/Sql.html#Sql-java.util.HashMap-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-">Sql</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&gt;&nbsp;inputParametersLops,
    <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
    <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/Ternary.html#Ternary-org.apache.sysds.common.Types.OpOp3-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-">Ternary</a></span>(<a href="../../../../../org/apache/sysds/common/Types.OpOp3.html" title="enum in org.apache.sysds.common">Types.OpOp3</a>&nbsp;op,
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/Ternary.html#Ternary-org.apache.sysds.common.Types.OpOp3-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-int-">Ternary</a></span>(<a href="../../../../../org/apache/sysds/common/Types.OpOp3.html" title="enum in org.apache.sysds.common">Types.OpOp3</a>&nbsp;op,
        <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
        <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
        <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input3,
        <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
        <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
-       <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
+       <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et,
+       int&nbsp;numThreads)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/TernaryAggregate.html#TernaryAggregate-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.AggOp-org.apache.sysds.common.Types.OpOp2-org.apache.sysds.common.Types.Direction-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-int-">TernaryAggregate</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
                 <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
                 <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input3,
@@ -1289,7 +1321,7 @@
                 <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et,
                 int&nbsp;k)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/Transform.html#Transform-org.apache.sysds.lops.Lop:A-org.apache.sysds.common.Types.ReOrgOp-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-boolean-org.apache.sysds.lops.LopProperties.ExecType-">Transform</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>[]&nbsp;inputs,
          <a href="../../../../../org/apache/sysds/common/Types.ReOrgOp.html" title="enum in org.apache.sysds.common">Types.ReOrgOp</a>&nbsp;op,
          <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
@@ -1297,7 +1329,7 @@
          boolean&nbsp;outputEmptyBlock,
          <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/Transform.html#Transform-org.apache.sysds.lops.Lop:A-org.apache.sysds.common.Types.ReOrgOp-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-boolean-">Transform</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>[]&nbsp;inputs,
          <a href="../../../../../org/apache/sysds/common/Types.ReOrgOp.html" title="enum in org.apache.sysds.common">Types.ReOrgOp</a>&nbsp;op,
          <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
@@ -1305,7 +1337,7 @@
          <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et,
          boolean&nbsp;bSortIndInMem)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/Transform.html#Transform-org.apache.sysds.lops.Lop:A-org.apache.sysds.common.Types.ReOrgOp-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-boolean-int-">Transform</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>[]&nbsp;inputs,
          <a href="../../../../../org/apache/sysds/common/Types.ReOrgOp.html" title="enum in org.apache.sysds.common">Types.ReOrgOp</a>&nbsp;op,
          <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
@@ -1314,7 +1346,7 @@
          boolean&nbsp;bSortIndInMem,
          int&nbsp;k)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/Transform.html#Transform-org.apache.sysds.lops.Lop:A-org.apache.sysds.common.Types.ReOrgOp-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-int-">Transform</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>[]&nbsp;inputs,
          <a href="../../../../../org/apache/sysds/common/Types.ReOrgOp.html" title="enum in org.apache.sysds.common">Types.ReOrgOp</a>&nbsp;op,
          <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
@@ -1322,14 +1354,14 @@
          <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et,
          int&nbsp;k)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/Transform.html#Transform-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.ReOrgOp-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-">Transform</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input,
          <a href="../../../../../org/apache/sysds/common/Types.ReOrgOp.html" title="enum in org.apache.sysds.common">Types.ReOrgOp</a>&nbsp;op,
          <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
          <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
          <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/Transform.html#Transform-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.ReOrgOp-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-boolean-">Transform</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input,
          <a href="../../../../../org/apache/sysds/common/Types.ReOrgOp.html" title="enum in org.apache.sysds.common">Types.ReOrgOp</a>&nbsp;op,
          <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
@@ -1337,7 +1369,7 @@
          <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et,
          boolean&nbsp;bSortIndInMem)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/Transform.html#Transform-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.ReOrgOp-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-int-">Transform</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input,
          <a href="../../../../../org/apache/sysds/common/Types.ReOrgOp.html" title="enum in org.apache.sysds.common">Types.ReOrgOp</a>&nbsp;op,
          <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
@@ -1345,7 +1377,7 @@
          <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et,
          int&nbsp;k)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/UAggOuterChain.html#UAggOuterChain-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.AggOp-org.apache.sysds.common.Types.Direction-org.apache.sysds.common.Types.OpOp2-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-">UAggOuterChain</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
               <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
               <a href="../../../../../org/apache/sysds/common/Types.AggOp.html" title="enum in org.apache.sysds.common">Types.AggOp</a>&nbsp;uaop,
@@ -1357,7 +1389,7 @@
 <div class="block">Constructor to setup a unaryagg outer chain</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/Unary.html#Unary-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.OpOp1-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-">Unary</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
      <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
      <a href="../../../../../org/apache/sysds/common/Types.OpOp1.html" title="enum in org.apache.sysds.common">Types.OpOp1</a>&nbsp;op,
@@ -1367,7 +1399,7 @@
 <div class="block">Constructor to perform a unary operation with 2 inputs</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/Unary.html#Unary-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.OpOp1-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-int-boolean-">Unary</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
      <a href="../../../../../org/apache/sysds/common/Types.OpOp1.html" title="enum in org.apache.sysds.common">Types.OpOp1</a>&nbsp;op,
      <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
@@ -1378,13 +1410,13 @@
 <div class="block">Constructor to perform a unary operation with 1 input.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/UnaryCP.html#UnaryCP-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.OpOp1-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-">UnaryCP</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input,
        <a href="../../../../../org/apache/sysds/common/Types.OpOp1.html" title="enum in org.apache.sysds.common">Types.OpOp1</a>&nbsp;op,
        <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
        <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/UnaryCP.html#UnaryCP-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.OpOp1-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-">UnaryCP</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input,
        <a href="../../../../../org/apache/sysds/common/Types.OpOp1.html" title="enum in org.apache.sysds.common">Types.OpOp1</a>&nbsp;op,
        <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
@@ -1393,7 +1425,7 @@
 <div class="block">Constructor to perform a scalar operation</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/WeightedCrossEntropy.html#WeightedCrossEntropy-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.WeightedCrossEntropy.WCeMMType-org.apache.sysds.lops.LopProperties.ExecType-">WeightedCrossEntropy</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
                     <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
                     <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input3,
@@ -1403,7 +1435,7 @@
                     <a href="../../../../../org/apache/sysds/lops/WeightedCrossEntropy.WCeMMType.html" title="enum in org.apache.sysds.lops">WeightedCrossEntropy.WCeMMType</a>&nbsp;wt,
                     <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/WeightedCrossEntropyR.html#WeightedCrossEntropyR-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.WeightedCrossEntropy.WCeMMType-boolean-boolean-org.apache.sysds.lops.LopProperties.ExecType-">WeightedCrossEntropyR</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
                      <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
                      <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input3,
@@ -1415,7 +1447,7 @@
                      boolean&nbsp;cacheV,
                      <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/WeightedDivMM.html#WeightedDivMM-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.WeightedDivMM.WDivMMType-org.apache.sysds.lops.LopProperties.ExecType-">WeightedDivMM</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
              <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
              <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input3,
@@ -1425,7 +1457,7 @@
              <a href="../../../../../org/apache/sysds/lops/WeightedDivMM.WDivMMType.html" title="enum in org.apache.sysds.lops">WeightedDivMM.WDivMMType</a>&nbsp;wt,
              <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/WeightedDivMMR.html#WeightedDivMMR-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.WeightedDivMM.WDivMMType-boolean-boolean-org.apache.sysds.lops.LopProperties.ExecType-">WeightedDivMMR</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
               <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
               <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input3,
@@ -1437,7 +1469,7 @@
               boolean&nbsp;cacheV,
               <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/WeightedSigmoid.html#WeightedSigmoid-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.WeightedSigmoid.WSigmoidType-org.apache.sysds.lops.LopProperties.ExecType-">WeightedSigmoid</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
                <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
                <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input3,
@@ -1446,7 +1478,7 @@
                <a href="../../../../../org/apache/sysds/lops/WeightedSigmoid.WSigmoidType.html" title="enum in org.apache.sysds.lops">WeightedSigmoid.WSigmoidType</a>&nbsp;wt,
                <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/WeightedSigmoidR.html#WeightedSigmoidR-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.WeightedSigmoid.WSigmoidType-boolean-boolean-org.apache.sysds.lops.LopProperties.ExecType-">WeightedSigmoidR</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
                 <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
                 <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input3,
@@ -1457,7 +1489,7 @@
                 boolean&nbsp;cacheV,
                 <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/WeightedSquaredLoss.html#WeightedSquaredLoss-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.WeightedSquaredLoss.WeightsType-org.apache.sysds.lops.LopProperties.ExecType-">WeightedSquaredLoss</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
                    <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
                    <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input3,
@@ -1467,7 +1499,7 @@
                    <a href="../../../../../org/apache/sysds/lops/WeightedSquaredLoss.WeightsType.html" title="enum in org.apache.sysds.lops">WeightedSquaredLoss.WeightsType</a>&nbsp;wt,
                    <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/WeightedSquaredLossR.html#WeightedSquaredLossR-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.WeightedSquaredLoss.WeightsType-boolean-boolean-org.apache.sysds.lops.LopProperties.ExecType-">WeightedSquaredLossR</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
                     <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
                     <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input3,
@@ -1479,7 +1511,7 @@
                     boolean&nbsp;cacheV,
                     <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/WeightedUnaryMM.html#WeightedUnaryMM-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.WeightedUnaryMM.WUMMType-org.apache.sysds.common.Types.OpOp1-org.apache.sysds.lops.LopProperties.ExecType-">WeightedUnaryMM</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
                <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
                <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input3,
@@ -1489,7 +1521,7 @@
                <a href="../../../../../org/apache/sysds/common/Types.OpOp1.html" title="enum in org.apache.sysds.common">Types.OpOp1</a>&nbsp;op,
                <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/WeightedUnaryMMR.html#WeightedUnaryMMR-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.WeightedUnaryMM.WUMMType-org.apache.sysds.common.Types.OpOp1-boolean-boolean-org.apache.sysds.lops.LopProperties.ExecType-">WeightedUnaryMMR</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
                 <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
                 <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input3,
@@ -1590,6 +1622,19 @@
 <!--   -->
 </a>
 <h3>Uses of <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a> in <a href="../../../../../org/apache/sysds/runtime/controlprogram/federated/package-summary.html">org.apache.sysds.runtime.controlprogram.federated</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/sysds/runtime/controlprogram/federated/package-summary.html">org.apache.sysds.runtime.controlprogram.federated</a> that return <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a></code></td>
+<td class="colLast"><span class="typeNameLabel">FederatedData.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedData.html#getDataType--">getDataType</a></span>()</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
 <table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
 <caption><span>Constructors in <a href="../../../../../org/apache/sysds/runtime/controlprogram/federated/package-summary.html">org.apache.sysds.runtime.controlprogram.federated</a> with parameters of type <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a></span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
@@ -1601,6 +1646,12 @@
              <a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a>&nbsp;address,
              <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;filepath)</code>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedData.html#FederatedData-org.apache.sysds.common.Types.DataType-java.net.InetSocketAddress-java.lang.String-long-">FederatedData</a></span>(<a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dataType,
+             <a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a>&nbsp;address,
+             <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;filepath,
+             long&nbsp;varID)</code>&nbsp;</td>
+</tr>
 </tbody>
 </table>
 </li>
@@ -1835,6 +1886,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/common/class-use/Types.Direction.html b/docs/api/java/org/apache/sysds/common/class-use/Types.Direction.html
index 790889c..cca66bb 100644
--- a/docs/api/java/org/apache/sysds/common/class-use/Types.Direction.html
+++ b/docs/api/java/org/apache/sysds/common/class-use/Types.Direction.html
@@ -369,6 +369,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/common/class-use/Types.ExecMode.html b/docs/api/java/org/apache/sysds/common/class-use/Types.ExecMode.html
index 7527472..cbfd6e4 100644
--- a/docs/api/java/org/apache/sysds/common/class-use/Types.ExecMode.html
+++ b/docs/api/java/org/apache/sysds/common/class-use/Types.ExecMode.html
@@ -261,6 +261,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/common/class-use/Types.ExecType.html b/docs/api/java/org/apache/sysds/common/class-use/Types.ExecType.html
index ed54e74..6f26565 100644
--- a/docs/api/java/org/apache/sysds/common/class-use/Types.ExecType.html
+++ b/docs/api/java/org/apache/sysds/common/class-use/Types.ExecType.html
@@ -169,6 +169,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/common/class-use/Types.FileFormat.html b/docs/api/java/org/apache/sysds/common/class-use/Types.FileFormat.html
index 3e24dbe..c84f763 100644
--- a/docs/api/java/org/apache/sysds/common/class-use/Types.FileFormat.html
+++ b/docs/api/java/org/apache/sysds/common/class-use/Types.FileFormat.html
@@ -209,7 +209,7 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/common/Types.FileFormat.html" title="enum in org.apache.sysds.common">Types.FileFormat</a></code></td>
-<td class="colLast"><span class="typeNameLabel">DataOp.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/DataOp.html#getInputFormatType--">getInputFormatType</a></span>()</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">DataOp.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/DataOp.html#getFileFormat--">getFileFormat</a></span>()</code>&nbsp;</td>
 </tr>
 </tbody>
 </table>
@@ -235,7 +235,7 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">DataOp.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/DataOp.html#setInputFormatType-org.apache.sysds.common.Types.FileFormat-">setInputFormatType</a></span>(<a href="../../../../../org/apache/sysds/common/Types.FileFormat.html" title="enum in org.apache.sysds.common">Types.FileFormat</a>&nbsp;ft)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">DataOp.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/DataOp.html#setFileFormat-org.apache.sysds.common.Types.FileFormat-">setFileFormat</a></span>(<a href="../../../../../org/apache/sysds/common/Types.FileFormat.html" title="enum in org.apache.sysds.common">Types.FileFormat</a>&nbsp;ft)</code>&nbsp;</td>
 </tr>
 </tbody>
 </table>
@@ -827,6 +827,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/common/class-use/Types.FunctionBlock.html b/docs/api/java/org/apache/sysds/common/class-use/Types.FunctionBlock.html
index b07c46e..6a1154c 100644
--- a/docs/api/java/org/apache/sysds/common/class-use/Types.FunctionBlock.html
+++ b/docs/api/java/org/apache/sysds/common/class-use/Types.FunctionBlock.html
@@ -246,6 +246,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/common/class-use/Types.OpOp1.html b/docs/api/java/org/apache/sysds/common/class-use/Types.OpOp1.html
index 5083789..ccd1741 100644
--- a/docs/api/java/org/apache/sysds/common/class-use/Types.OpOp1.html
+++ b/docs/api/java/org/apache/sysds/common/class-use/Types.OpOp1.html
@@ -363,6 +363,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/common/class-use/Types.OpOp2.html b/docs/api/java/org/apache/sysds/common/class-use/Types.OpOp2.html
index 7ba3edd..faecf88 100644
--- a/docs/api/java/org/apache/sysds/common/class-use/Types.OpOp2.html
+++ b/docs/api/java/org/apache/sysds/common/class-use/Types.OpOp2.html
@@ -380,6 +380,15 @@
 </td>
 </tr>
 <tr class="rowColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/Binary.html#Binary-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.OpOp2-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-int-">Binary</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
+      <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
+      <a href="../../../../../org/apache/sysds/common/Types.OpOp2.html" title="enum in org.apache.sysds.common">Types.OpOp2</a>&nbsp;op,
+      <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
+      <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
+      <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et,
+      int&nbsp;k)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/BinaryM.html#BinaryM-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.OpOp2-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-boolean-">BinaryM</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
        <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
        <a href="../../../../../org/apache/sysds/common/Types.OpOp2.html" title="enum in org.apache.sysds.common">Types.OpOp2</a>&nbsp;op,
@@ -390,7 +399,7 @@
 <div class="block">Constructor to perform a binary operation.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/BinaryScalar.html#BinaryScalar-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.OpOp2-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-">BinaryScalar</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
             <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
             <a href="../../../../../org/apache/sysds/common/Types.OpOp2.html" title="enum in org.apache.sysds.common">Types.OpOp2</a>&nbsp;op,
@@ -399,7 +408,7 @@
 <div class="block">Constructor to perform a scalar operation</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/BinaryUAggChain.html#BinaryUAggChain-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.OpOp2-org.apache.sysds.common.Types.AggOp-org.apache.sysds.common.Types.Direction-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-">BinaryUAggChain</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
                <a href="../../../../../org/apache/sysds/common/Types.OpOp2.html" title="enum in org.apache.sysds.common">Types.OpOp2</a>&nbsp;bop,
                <a href="../../../../../org/apache/sysds/common/Types.AggOp.html" title="enum in org.apache.sysds.common">Types.AggOp</a>&nbsp;uaop,
@@ -410,7 +419,7 @@
 <div class="block">Constructor to setup a map mult chain without weights</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/TernaryAggregate.html#TernaryAggregate-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.AggOp-org.apache.sysds.common.Types.OpOp2-org.apache.sysds.common.Types.Direction-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-int-">TernaryAggregate</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
                 <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
                 <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input3,
@@ -422,7 +431,7 @@
                 <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et,
                 int&nbsp;k)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/UAggOuterChain.html#UAggOuterChain-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.AggOp-org.apache.sysds.common.Types.Direction-org.apache.sysds.common.Types.OpOp2-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-">UAggOuterChain</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
               <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
               <a href="../../../../../org/apache/sysds/common/Types.AggOp.html" title="enum in org.apache.sysds.common">Types.AggOp</a>&nbsp;uaop,
@@ -508,6 +517,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/common/class-use/Types.OpOp3.html b/docs/api/java/org/apache/sysds/common/class-use/Types.OpOp3.html
index f3637c0..06f7c23 100644
--- a/docs/api/java/org/apache/sysds/common/class-use/Types.OpOp3.html
+++ b/docs/api/java/org/apache/sysds/common/class-use/Types.OpOp3.html
@@ -167,7 +167,7 @@
          <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;inp3)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/TernaryOp.html#TernaryOp-java.lang.String-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.common.Types.OpOp3-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-">TernaryOp</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;l,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/TernaryOp.html#TernaryOp-java.lang.String-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.common.Types.OpOp3-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-">TernaryOp</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;l,
          <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
          <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
          <a href="../../../../../org/apache/sysds/common/Types.OpOp3.html" title="enum in org.apache.sysds.common">Types.OpOp3</a>&nbsp;o,
@@ -175,7 +175,8 @@
          <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;inp2,
          <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;inp3,
          <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;inp4,
-         <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;inp5)</code>&nbsp;</td>
+         <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;inp5,
+         <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;inp6)</code>&nbsp;</td>
 </tr>
 </tbody>
 </table>
@@ -231,13 +232,14 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/Ternary.html#Ternary-org.apache.sysds.common.Types.OpOp3-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-">Ternary</a></span>(<a href="../../../../../org/apache/sysds/common/Types.OpOp3.html" title="enum in org.apache.sysds.common">Types.OpOp3</a>&nbsp;op,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/Ternary.html#Ternary-org.apache.sysds.common.Types.OpOp3-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-int-">Ternary</a></span>(<a href="../../../../../org/apache/sysds/common/Types.OpOp3.html" title="enum in org.apache.sysds.common">Types.OpOp3</a>&nbsp;op,
        <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
        <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
        <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input3,
        <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
        <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
-       <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
+       <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et,
+       int&nbsp;numThreads)</code>&nbsp;</td>
 </tr>
 </tbody>
 </table>
@@ -293,6 +295,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/common/class-use/Types.OpOp4.html b/docs/api/java/org/apache/sysds/common/class-use/Types.OpOp4.html
index c0b9564..73564d8 100644
--- a/docs/api/java/org/apache/sysds/common/class-use/Types.OpOp4.html
+++ b/docs/api/java/org/apache/sysds/common/class-use/Types.OpOp4.html
@@ -259,6 +259,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/common/class-use/Types.OpOpDG.html b/docs/api/java/org/apache/sysds/common/class-use/Types.OpOpDG.html
index b1eda85..09eb2a1 100644
--- a/docs/api/java/org/apache/sysds/common/class-use/Types.OpOpDG.html
+++ b/docs/api/java/org/apache/sysds/common/class-use/Types.OpOpDG.html
@@ -98,6 +98,10 @@
 <td class="colFirst"><a href="#org.apache.sysds.lops">org.apache.sysds.lops</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.cp">org.apache.sysds.runtime.instructions.cp</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
 </tbody>
 </table>
 </li>
@@ -228,6 +232,30 @@
 </tbody>
 </table>
 </li>
+<li class="blockList"><a name="org.apache.sysds.runtime.instructions.cp">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/sysds/common/Types.OpOpDG.html" title="enum in org.apache.sysds.common">Types.OpOpDG</a> in <a href="../../../../../org/apache/sysds/runtime/instructions/cp/package-summary.html">org.apache.sysds.runtime.instructions.cp</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../org/apache/sysds/runtime/instructions/cp/package-summary.html">org.apache.sysds.runtime.instructions.cp</a> with parameters of type <a href="../../../../../org/apache/sysds/common/Types.OpOpDG.html" title="enum in org.apache.sysds.common">Types.OpOpDG</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/instructions/cp/DataGenCPInstruction.html#DataGenCPInstruction-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.common.Types.OpOpDG-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-java.lang.String-java.lang.String-java.lang.String-java.lang.String-">DataGenCPInstruction</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
+                    <a href="../../../../../org/apache/sysds/common/Types.OpOpDG.html" title="enum in org.apache.sysds.common">Types.OpOpDG</a>&nbsp;method,
+                    <a href="../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;out,
+                    <a href="../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;rows,
+                    <a href="../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;cols,
+                    <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;data,
+                    <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;schema,
+                    <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;opcode,
+                    <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
 </ul>
 </li>
 </ul>
@@ -279,6 +307,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/common/class-use/Types.OpOpData.html b/docs/api/java/org/apache/sysds/common/class-use/Types.OpOpData.html
index 0624d65..7b902e3 100644
--- a/docs/api/java/org/apache/sysds/common/class-use/Types.OpOpData.html
+++ b/docs/api/java/org/apache/sysds/common/class-use/Types.OpOpData.html
@@ -340,6 +340,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/common/class-use/Types.OpOpDnn.html b/docs/api/java/org/apache/sysds/common/class-use/Types.OpOpDnn.html
index f8c1b19..c092661 100644
--- a/docs/api/java/org/apache/sysds/common/class-use/Types.OpOpDnn.html
+++ b/docs/api/java/org/apache/sysds/common/class-use/Types.OpOpDnn.html
@@ -311,6 +311,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/common/class-use/Types.OpOpN.html b/docs/api/java/org/apache/sysds/common/class-use/Types.OpOpN.html
index acdee49..6ad5b0d 100644
--- a/docs/api/java/org/apache/sysds/common/class-use/Types.OpOpN.html
+++ b/docs/api/java/org/apache/sysds/common/class-use/Types.OpOpN.html
@@ -278,6 +278,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/common/class-use/Types.ParamBuiltinOp.html b/docs/api/java/org/apache/sysds/common/class-use/Types.ParamBuiltinOp.html
index ad94582..4c503a3 100644
--- a/docs/api/java/org/apache/sysds/common/class-use/Types.ParamBuiltinOp.html
+++ b/docs/api/java/org/apache/sysds/common/class-use/Types.ParamBuiltinOp.html
@@ -322,6 +322,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/common/class-use/Types.ReOrgOp.html b/docs/api/java/org/apache/sysds/common/class-use/Types.ReOrgOp.html
index f9f864d..ab63c62 100644
--- a/docs/api/java/org/apache/sysds/common/class-use/Types.ReOrgOp.html
+++ b/docs/api/java/org/apache/sysds/common/class-use/Types.ReOrgOp.html
@@ -353,6 +353,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/common/class-use/Types.ReturnType.html b/docs/api/java/org/apache/sysds/common/class-use/Types.ReturnType.html
index 8dcd80f..4203bac 100644
--- a/docs/api/java/org/apache/sysds/common/class-use/Types.ReturnType.html
+++ b/docs/api/java/org/apache/sysds/common/class-use/Types.ReturnType.html
@@ -169,6 +169,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/common/class-use/Types.ValueType.html b/docs/api/java/org/apache/sysds/common/class-use/Types.ValueType.html
index b1d6e67..cce3e58 100644
--- a/docs/api/java/org/apache/sysds/common/class-use/Types.ValueType.html
+++ b/docs/api/java/org/apache/sysds/common/class-use/Types.ValueType.html
@@ -131,33 +131,41 @@
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.instructions">org.apache.sysds.runtime.instructions</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.cp">org.apache.sysds.runtime.instructions.cp</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.spark.data">org.apache.sysds.runtime.instructions.spark.data</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.spark.utils">org.apache.sysds.runtime.instructions.spark.utils</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.io">org.apache.sysds.runtime.io</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.matrix.data">org.apache.sysds.runtime.matrix.data</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.transform.decode">org.apache.sysds.runtime.transform.decode</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.transform.encode">org.apache.sysds.runtime.transform.encode</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.transform.tokenize">org.apache.sysds.runtime.transform.tokenize</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
 <tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.util">org.apache.sysds.runtime.util</a></td>
 <td class="colLast">&nbsp;</td>
@@ -575,7 +583,7 @@
          <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;inp3)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/TernaryOp.html#TernaryOp-java.lang.String-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.common.Types.OpOp3-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-">TernaryOp</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;l,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/TernaryOp.html#TernaryOp-java.lang.String-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.common.Types.OpOp3-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-">TernaryOp</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;l,
          <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
          <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
          <a href="../../../../../org/apache/sysds/common/Types.OpOp3.html" title="enum in org.apache.sysds.common">Types.OpOp3</a>&nbsp;o,
@@ -583,7 +591,8 @@
          <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;inp2,
          <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;inp3,
          <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;inp4,
-         <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;inp5)</code>&nbsp;</td>
+         <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;inp5,
+         <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;inp6)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/UnaryOp.html#UnaryOp-java.lang.String-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.common.Types.OpOp1-org.apache.sysds.hops.Hop-">UnaryOp</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;l,
@@ -606,10 +615,12 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/codegen/SpoofFusedOp.html#SpoofFusedOp-java.lang.String-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-java.lang.Class-boolean-org.apache.sysds.hops.codegen.SpoofFusedOp.SpoofOutputDimsType-">SpoofFusedOp</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/codegen/SpoofFusedOp.html#SpoofFusedOp-java.lang.String-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-java.lang.Class-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-java.lang.String-boolean-org.apache.sysds.hops.codegen.SpoofFusedOp.SpoofOutputDimsType-">SpoofFusedOp</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
             <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
             <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
             <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;cla,
+            <a href="../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&nbsp;api,
+            <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;genVarName,
             boolean&nbsp;dist,
             <a href="../../../../../org/apache/sysds/hops/codegen/SpoofFusedOp.SpoofOutputDimsType.html" title="enum in org.apache.sysds.hops.codegen">SpoofFusedOp.SpoofOutputDimsType</a>&nbsp;type)</code>&nbsp;</td>
 </tr>
@@ -819,6 +830,15 @@
 </td>
 </tr>
 <tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/Binary.html#Binary-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.OpOp2-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-int-">Binary</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
+      <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
+      <a href="../../../../../org/apache/sysds/common/Types.OpOp2.html" title="enum in org.apache.sysds.common">Types.OpOp2</a>&nbsp;op,
+      <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
+      <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
+      <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et,
+      int&nbsp;k)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/BinaryM.html#BinaryM-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.OpOp2-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-boolean-">BinaryM</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
        <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
        <a href="../../../../../org/apache/sysds/common/Types.OpOp2.html" title="enum in org.apache.sysds.common">Types.OpOp2</a>&nbsp;op,
@@ -829,7 +849,7 @@
 <div class="block">Constructor to perform a binary operation.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/BinaryScalar.html#BinaryScalar-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.OpOp2-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-">BinaryScalar</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
             <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
             <a href="../../../../../org/apache/sysds/common/Types.OpOp2.html" title="enum in org.apache.sysds.common">Types.OpOp2</a>&nbsp;op,
@@ -838,7 +858,7 @@
 <div class="block">Constructor to perform a scalar operation</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/BinaryUAggChain.html#BinaryUAggChain-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.OpOp2-org.apache.sysds.common.Types.AggOp-org.apache.sysds.common.Types.Direction-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-">BinaryUAggChain</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
                <a href="../../../../../org/apache/sysds/common/Types.OpOp2.html" title="enum in org.apache.sysds.common">Types.OpOp2</a>&nbsp;bop,
                <a href="../../../../../org/apache/sysds/common/Types.AggOp.html" title="enum in org.apache.sysds.common">Types.AggOp</a>&nbsp;uaop,
@@ -849,7 +869,7 @@
 <div class="block">Constructor to setup a map mult chain without weights</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/CentralMoment.html#CentralMoment-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-">CentralMoment</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
              <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
              <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input3,
@@ -857,14 +877,14 @@
              <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
              <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/CentralMoment.html#CentralMoment-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-">CentralMoment</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
              <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
              <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
              <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
              <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/Checkpoint.html#Checkpoint-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-java.lang.String-">Checkpoint</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input,
           <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
           <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
@@ -873,13 +893,13 @@
  that Spark libraries are always available.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/Compression.html#Compression-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-">Compression</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input,
            <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
            <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
            <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/CoVariance.html#CoVariance-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-">CoVariance</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
           <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
           <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input3,
@@ -887,42 +907,43 @@
           <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
           <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/CoVariance.html#CoVariance-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-">CoVariance</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
           <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
           <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
           <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
           <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/CoVariance.html#CoVariance-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-">CoVariance</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
           <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
           <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
           <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/CSVReBlock.html#CSVReBlock-org.apache.sysds.lops.Lop-int-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-">CSVReBlock</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input,
           int&nbsp;blen,
           <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
           <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
           <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/Ctable.html#Ctable-org.apache.sysds.lops.Lop:A-org.apache.sysds.lops.Ctable.OperationTypes-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-boolean-org.apache.sysds.lops.LopProperties.ExecType-">Ctable</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>[]&nbsp;inputLops,
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/Ctable.html#Ctable-org.apache.sysds.lops.Lop:A-org.apache.sysds.lops.Ctable.OperationTypes-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-boolean-boolean-org.apache.sysds.lops.LopProperties.ExecType-">Ctable</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>[]&nbsp;inputLops,
       <a href="../../../../../org/apache/sysds/lops/Ctable.OperationTypes.html" title="enum in org.apache.sysds.lops">Ctable.OperationTypes</a>&nbsp;op,
       <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
       <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
       boolean&nbsp;ignoreZeros,
+      boolean&nbsp;outputEmptyBlocks,
       <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/Ctable.html#Ctable-org.apache.sysds.lops.Lop:A-org.apache.sysds.lops.Ctable.OperationTypes-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-">Ctable</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>[]&nbsp;inputLops,
       <a href="../../../../../org/apache/sysds/lops/Ctable.OperationTypes.html" title="enum in org.apache.sysds.lops">Ctable.OperationTypes</a>&nbsp;op,
       <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
       <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
       <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/CumulativeOffsetBinary.html#CumulativeOffsetBinary-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-double-boolean-org.apache.sysds.common.Types.AggOp-org.apache.sysds.lops.LopProperties.ExecType-">CumulativeOffsetBinary</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;data,
                       <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;offsets,
                       <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
@@ -932,7 +953,7 @@
                       <a href="../../../../../org/apache/sysds/common/Types.AggOp.html" title="enum in org.apache.sysds.common">Types.AggOp</a>&nbsp;op,
                       <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/CumulativeOffsetBinary.html#CumulativeOffsetBinary-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.common.Types.AggOp-org.apache.sysds.lops.LopProperties.ExecType-">CumulativeOffsetBinary</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;data,
                       <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;offsets,
                       <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
@@ -940,14 +961,14 @@
                       <a href="../../../../../org/apache/sysds/common/Types.AggOp.html" title="enum in org.apache.sysds.common">Types.AggOp</a>&nbsp;op,
                       <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/CumulativePartialAggregate.html#CumulativePartialAggregate-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.common.Types.AggOp-org.apache.sysds.lops.LopProperties.ExecType-">CumulativePartialAggregate</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input,
                           <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
                           <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
                           <a href="../../../../../org/apache/sysds/common/Types.AggOp.html" title="enum in org.apache.sysds.common">Types.AggOp</a>&nbsp;op,
                           <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/Data.html#Data-org.apache.sysds.common.Types.OpOpData-org.apache.sysds.lops.Lop-java.util.HashMap-java.lang.String-java.lang.String-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.common.Types.FileFormat-">Data</a></span>(<a href="../../../../../org/apache/sysds/common/Types.OpOpData.html" title="enum in org.apache.sysds.common">Types.OpOpData</a>&nbsp;op,
     <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input,
     <a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&gt;&nbsp;inputParametersLops,
@@ -960,7 +981,7 @@
  In case of write: <code>input</code> must be provided.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/DataGen.html#DataGen-org.apache.sysds.common.Types.OpOpDG-org.apache.sysds.parser.DataIdentifier-java.util.HashMap-java.lang.String-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-">DataGen</a></span>(<a href="../../../../../org/apache/sysds/common/Types.OpOpDG.html" title="enum in org.apache.sysds.common">Types.OpOpDG</a>&nbsp;op,
        <a href="../../../../../org/apache/sysds/parser/DataIdentifier.html" title="class in org.apache.sysds.parser">DataIdentifier</a>&nbsp;id,
        <a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&gt;&nbsp;inputParametersLops,
@@ -971,6 +992,12 @@
 <div class="block">Creates a new Rand-LOP.</div>
 </td>
 </tr>
+<tr class="rowColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/DeCompression.html#DeCompression-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-">DeCompression</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input,
+             <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
+             <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
+             <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
+</tr>
 <tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/DnnTransform.html#DnnTransform-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.OpOpDnn-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-int-">DnnTransform</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
             <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
@@ -1120,6 +1147,16 @@
          int&nbsp;k)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/MatMultCP.html#MatMultCP-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-int-boolean-boolean-">MatMultCP</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
+         <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
+         <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
+         <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
+         <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et,
+         int&nbsp;k,
+         boolean&nbsp;isLeftTransposed,
+         boolean&nbsp;isRightTransposed)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/MMCJ.html#MMCJ-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-boolean-org.apache.sysds.hops.AggBinaryOp.SparkAggType-org.apache.sysds.lops.LopProperties.ExecType-">MMCJ</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
     <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
     <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
@@ -1128,7 +1165,7 @@
     <a href="../../../../../org/apache/sysds/hops/AggBinaryOp.SparkAggType.html" title="enum in org.apache.sysds.hops">AggBinaryOp.SparkAggType</a>&nbsp;aggtype,
     <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/MMCJ.html#MMCJ-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.MMCJ.MMCJType-org.apache.sysds.lops.LopProperties.ExecType-">MMCJ</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
     <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
     <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
@@ -1138,7 +1175,7 @@
 <div class="block">Constructor to perform a cross product operation.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/MMRJ.html#MMRJ-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-">MMRJ</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
     <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
     <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
@@ -1147,14 +1184,14 @@
 <div class="block">Constructor to perform a cross product operation.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/MMTSJ.html#MMTSJ-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-org.apache.sysds.lops.MMTSJ.MMTSJType-">MMTSJ</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
      <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
      <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
      <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et,
      <a href="../../../../../org/apache/sysds/lops/MMTSJ.MMTSJType.html" title="enum in org.apache.sysds.lops">MMTSJ.MMTSJType</a>&nbsp;type)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/MMTSJ.html#MMTSJ-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-org.apache.sysds.lops.MMTSJ.MMTSJType-boolean-">MMTSJ</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
      <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
      <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
@@ -1162,7 +1199,7 @@
      <a href="../../../../../org/apache/sysds/lops/MMTSJ.MMTSJType.html" title="enum in org.apache.sysds.lops">MMTSJ.MMTSJType</a>&nbsp;type,
      boolean&nbsp;multiPass)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/MMTSJ.html#MMTSJ-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-org.apache.sysds.lops.MMTSJ.MMTSJType-boolean-int-">MMTSJ</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
      <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
      <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
@@ -1171,7 +1208,7 @@
      boolean&nbsp;multiPass,
      int&nbsp;k)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/MMZip.html#MMZip-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-boolean-org.apache.sysds.lops.LopProperties.ExecType-">MMZip</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
      <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
      <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
@@ -1179,21 +1216,21 @@
      boolean&nbsp;tRewrite,
      <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/Nary.html#Nary-org.apache.sysds.common.Types.OpOpN-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.Lop:A-org.apache.sysds.lops.LopProperties.ExecType-">Nary</a></span>(<a href="../../../../../org/apache/sysds/common/Types.OpOpN.html" title="enum in org.apache.sysds.common">Types.OpOpN</a>&nbsp;operationType,
     <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
     <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
     <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>[]&nbsp;inputLops,
     <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/ParameterizedBuiltin.html#ParameterizedBuiltin-java.util.HashMap-org.apache.sysds.common.Types.ParamBuiltinOp-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-">ParameterizedBuiltin</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&gt;&nbsp;paramLops,
                     <a href="../../../../../org/apache/sysds/common/Types.ParamBuiltinOp.html" title="enum in org.apache.sysds.common">Types.ParamBuiltinOp</a>&nbsp;op,
                     <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
                     <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
                     <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/ParameterizedBuiltin.html#ParameterizedBuiltin-java.util.HashMap-org.apache.sysds.common.Types.ParamBuiltinOp-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-boolean-">ParameterizedBuiltin</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&gt;&nbsp;paramLops,
                     <a href="../../../../../org/apache/sysds/common/Types.ParamBuiltinOp.html" title="enum in org.apache.sysds.common">Types.ParamBuiltinOp</a>&nbsp;op,
                     <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
@@ -1201,7 +1238,7 @@
                     <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et,
                     boolean&nbsp;bRmEmptyBC)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/ParameterizedBuiltin.html#ParameterizedBuiltin-java.util.HashMap-org.apache.sysds.common.Types.ParamBuiltinOp-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-int-">ParameterizedBuiltin</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&gt;&nbsp;paramLops,
                     <a href="../../../../../org/apache/sysds/common/Types.ParamBuiltinOp.html" title="enum in org.apache.sysds.common">Types.ParamBuiltinOp</a>&nbsp;op,
                     <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
@@ -1209,7 +1246,7 @@
                     <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et,
                     int&nbsp;k)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/PartialAggregate.html#PartialAggregate-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.AggOp-org.apache.sysds.common.Types.Direction-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.hops.AggBinaryOp.SparkAggType-org.apache.sysds.lops.LopProperties.ExecType-">PartialAggregate</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input,
                 <a href="../../../../../org/apache/sysds/common/Types.AggOp.html" title="enum in org.apache.sysds.common">Types.AggOp</a>&nbsp;op,
                 <a href="../../../../../org/apache/sysds/common/Types.Direction.html" title="enum in org.apache.sysds.common">Types.Direction</a>&nbsp;direct,
@@ -1218,7 +1255,7 @@
                 <a href="../../../../../org/apache/sysds/hops/AggBinaryOp.SparkAggType.html" title="enum in org.apache.sysds.hops">AggBinaryOp.SparkAggType</a>&nbsp;aggtype,
                 <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/PartialAggregate.html#PartialAggregate-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.AggOp-org.apache.sysds.common.Types.Direction-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-int-">PartialAggregate</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input,
                 <a href="../../../../../org/apache/sysds/common/Types.AggOp.html" title="enum in org.apache.sysds.common">Types.AggOp</a>&nbsp;op,
                 <a href="../../../../../org/apache/sysds/common/Types.Direction.html" title="enum in org.apache.sysds.common">Types.Direction</a>&nbsp;direct,
@@ -1227,7 +1264,7 @@
                 <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et,
                 int&nbsp;k)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/PickByCount.html#PickByCount-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.PickByCount.OperationTypes-org.apache.sysds.lops.LopProperties.ExecType-">PickByCount</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
            <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
            <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
@@ -1235,7 +1272,7 @@
            <a href="../../../../../org/apache/sysds/lops/PickByCount.OperationTypes.html" title="enum in org.apache.sysds.lops">PickByCount.OperationTypes</a>&nbsp;op,
            <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/PickByCount.html#PickByCount-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.PickByCount.OperationTypes-org.apache.sysds.lops.LopProperties.ExecType-boolean-">PickByCount</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
            <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
            <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
@@ -1244,13 +1281,13 @@
            <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et,
            boolean&nbsp;inMemoryInput)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/PMapMult.html#PMapMult-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-">PMapMult</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
         <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
         <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
         <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/PMMJ.html#PMMJ-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-boolean-boolean-org.apache.sysds.lops.LopProperties.ExecType-">PMMJ</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;pminput,
     <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;rightinput,
     <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;nrow,
@@ -1262,7 +1299,7 @@
 <div class="block">Constructor to setup a Permutation Matrix Multiplication</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/ReBlock.html#ReBlock-org.apache.sysds.lops.Lop-int-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-boolean-org.apache.sysds.lops.LopProperties.ExecType-">ReBlock</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input,
        int&nbsp;blen,
        <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
@@ -1270,7 +1307,7 @@
        boolean&nbsp;outputEmptyBlocks,
        <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/RightIndex.html#RightIndex-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.hops.AggBinaryOp.SparkAggType-org.apache.sysds.lops.LopProperties.ExecType-">RightIndex</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input,
           <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;rowL,
           <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;rowU,
@@ -1283,7 +1320,7 @@
           <a href="../../../../../org/apache/sysds/hops/AggBinaryOp.SparkAggType.html" title="enum in org.apache.sysds.hops">AggBinaryOp.SparkAggType</a>&nbsp;aggtype,
           <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/RightIndex.html#RightIndex-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-">RightIndex</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input,
           <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;rowL,
           <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;rowU,
@@ -1295,7 +1332,7 @@
           <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
           <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/RightIndex.html#RightIndex-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-boolean-">RightIndex</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input,
           <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;rowL,
           <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;rowU,
@@ -1308,7 +1345,7 @@
           <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et,
           boolean&nbsp;forleft)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/SortKeys.html#SortKeys-org.apache.sysds.lops.Lop-boolean-org.apache.sysds.lops.SortKeys.OperationTypes-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-">SortKeys</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input,
         boolean&nbsp;desc,
         <a href="../../../../../org/apache/sysds/lops/SortKeys.OperationTypes.html" title="enum in org.apache.sysds.lops">SortKeys.OperationTypes</a>&nbsp;op,
@@ -1316,7 +1353,7 @@
         <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
         <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/SortKeys.html#SortKeys-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.SortKeys.OperationTypes-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-">SortKeys</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
         <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
         <a href="../../../../../org/apache/sysds/lops/SortKeys.OperationTypes.html" title="enum in org.apache.sysds.lops">SortKeys.OperationTypes</a>&nbsp;op,
@@ -1324,36 +1361,39 @@
         <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
         <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/SortKeys.html#SortKeys-org.apache.sysds.lops.Lop-org.apache.sysds.lops.SortKeys.OperationTypes-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-">SortKeys</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input,
         <a href="../../../../../org/apache/sysds/lops/SortKeys.OperationTypes.html" title="enum in org.apache.sysds.lops">SortKeys.OperationTypes</a>&nbsp;op,
         <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
         <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
         <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/SpoofFused.html#SpoofFused-java.util.ArrayList-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-java.lang.Class-int-org.apache.sysds.lops.LopProperties.ExecType-">SpoofFused</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&gt;&nbsp;inputs,
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/SpoofFused.html#SpoofFused-java.util.ArrayList-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-java.lang.Class-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-java.lang.String-int-org.apache.sysds.lops.LopProperties.ExecType-">SpoofFused</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&gt;&nbsp;inputs,
           <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
           <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
           <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;cla,
+          <a href="../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&nbsp;api,
+          <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;genVarName,
           int&nbsp;k,
           <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;etype)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/Sql.html#Sql-java.util.HashMap-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-">Sql</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&gt;&nbsp;inputParametersLops,
    <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
    <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/Ternary.html#Ternary-org.apache.sysds.common.Types.OpOp3-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-">Ternary</a></span>(<a href="../../../../../org/apache/sysds/common/Types.OpOp3.html" title="enum in org.apache.sysds.common">Types.OpOp3</a>&nbsp;op,
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/Ternary.html#Ternary-org.apache.sysds.common.Types.OpOp3-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-int-">Ternary</a></span>(<a href="../../../../../org/apache/sysds/common/Types.OpOp3.html" title="enum in org.apache.sysds.common">Types.OpOp3</a>&nbsp;op,
        <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
        <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
        <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input3,
        <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
        <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
-       <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
+       <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et,
+       int&nbsp;numThreads)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/TernaryAggregate.html#TernaryAggregate-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.AggOp-org.apache.sysds.common.Types.OpOp2-org.apache.sysds.common.Types.Direction-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-int-">TernaryAggregate</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
                 <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
                 <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input3,
@@ -1365,7 +1405,7 @@
                 <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et,
                 int&nbsp;k)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/Transform.html#Transform-org.apache.sysds.lops.Lop:A-org.apache.sysds.common.Types.ReOrgOp-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-boolean-org.apache.sysds.lops.LopProperties.ExecType-">Transform</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>[]&nbsp;inputs,
          <a href="../../../../../org/apache/sysds/common/Types.ReOrgOp.html" title="enum in org.apache.sysds.common">Types.ReOrgOp</a>&nbsp;op,
          <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
@@ -1373,7 +1413,7 @@
          boolean&nbsp;outputEmptyBlock,
          <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/Transform.html#Transform-org.apache.sysds.lops.Lop:A-org.apache.sysds.common.Types.ReOrgOp-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-boolean-">Transform</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>[]&nbsp;inputs,
          <a href="../../../../../org/apache/sysds/common/Types.ReOrgOp.html" title="enum in org.apache.sysds.common">Types.ReOrgOp</a>&nbsp;op,
          <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
@@ -1381,7 +1421,7 @@
          <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et,
          boolean&nbsp;bSortIndInMem)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/Transform.html#Transform-org.apache.sysds.lops.Lop:A-org.apache.sysds.common.Types.ReOrgOp-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-boolean-int-">Transform</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>[]&nbsp;inputs,
          <a href="../../../../../org/apache/sysds/common/Types.ReOrgOp.html" title="enum in org.apache.sysds.common">Types.ReOrgOp</a>&nbsp;op,
          <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
@@ -1390,7 +1430,7 @@
          boolean&nbsp;bSortIndInMem,
          int&nbsp;k)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/Transform.html#Transform-org.apache.sysds.lops.Lop:A-org.apache.sysds.common.Types.ReOrgOp-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-int-">Transform</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>[]&nbsp;inputs,
          <a href="../../../../../org/apache/sysds/common/Types.ReOrgOp.html" title="enum in org.apache.sysds.common">Types.ReOrgOp</a>&nbsp;op,
          <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
@@ -1398,14 +1438,14 @@
          <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et,
          int&nbsp;k)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/Transform.html#Transform-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.ReOrgOp-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-">Transform</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input,
          <a href="../../../../../org/apache/sysds/common/Types.ReOrgOp.html" title="enum in org.apache.sysds.common">Types.ReOrgOp</a>&nbsp;op,
          <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
          <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
          <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/Transform.html#Transform-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.ReOrgOp-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-boolean-">Transform</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input,
          <a href="../../../../../org/apache/sysds/common/Types.ReOrgOp.html" title="enum in org.apache.sysds.common">Types.ReOrgOp</a>&nbsp;op,
          <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
@@ -1413,7 +1453,7 @@
          <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et,
          boolean&nbsp;bSortIndInMem)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/Transform.html#Transform-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.ReOrgOp-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-int-">Transform</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input,
          <a href="../../../../../org/apache/sysds/common/Types.ReOrgOp.html" title="enum in org.apache.sysds.common">Types.ReOrgOp</a>&nbsp;op,
          <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
@@ -1421,7 +1461,7 @@
          <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et,
          int&nbsp;k)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/UAggOuterChain.html#UAggOuterChain-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.AggOp-org.apache.sysds.common.Types.Direction-org.apache.sysds.common.Types.OpOp2-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-">UAggOuterChain</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
               <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
               <a href="../../../../../org/apache/sysds/common/Types.AggOp.html" title="enum in org.apache.sysds.common">Types.AggOp</a>&nbsp;uaop,
@@ -1433,7 +1473,7 @@
 <div class="block">Constructor to setup a unaryagg outer chain</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/Unary.html#Unary-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.OpOp1-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-">Unary</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
      <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
      <a href="../../../../../org/apache/sysds/common/Types.OpOp1.html" title="enum in org.apache.sysds.common">Types.OpOp1</a>&nbsp;op,
@@ -1443,7 +1483,7 @@
 <div class="block">Constructor to perform a unary operation with 2 inputs</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/Unary.html#Unary-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.OpOp1-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-int-boolean-">Unary</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
      <a href="../../../../../org/apache/sysds/common/Types.OpOp1.html" title="enum in org.apache.sysds.common">Types.OpOp1</a>&nbsp;op,
      <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
@@ -1454,13 +1494,13 @@
 <div class="block">Constructor to perform a unary operation with 1 input.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/UnaryCP.html#UnaryCP-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.OpOp1-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-">UnaryCP</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input,
        <a href="../../../../../org/apache/sysds/common/Types.OpOp1.html" title="enum in org.apache.sysds.common">Types.OpOp1</a>&nbsp;op,
        <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
        <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/UnaryCP.html#UnaryCP-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.OpOp1-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-">UnaryCP</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input,
        <a href="../../../../../org/apache/sysds/common/Types.OpOp1.html" title="enum in org.apache.sysds.common">Types.OpOp1</a>&nbsp;op,
        <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
@@ -1469,7 +1509,7 @@
 <div class="block">Constructor to perform a scalar operation</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/WeightedCrossEntropy.html#WeightedCrossEntropy-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.WeightedCrossEntropy.WCeMMType-org.apache.sysds.lops.LopProperties.ExecType-">WeightedCrossEntropy</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
                     <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
                     <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input3,
@@ -1479,7 +1519,7 @@
                     <a href="../../../../../org/apache/sysds/lops/WeightedCrossEntropy.WCeMMType.html" title="enum in org.apache.sysds.lops">WeightedCrossEntropy.WCeMMType</a>&nbsp;wt,
                     <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/WeightedCrossEntropyR.html#WeightedCrossEntropyR-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.WeightedCrossEntropy.WCeMMType-boolean-boolean-org.apache.sysds.lops.LopProperties.ExecType-">WeightedCrossEntropyR</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
                      <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
                      <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input3,
@@ -1491,7 +1531,7 @@
                      boolean&nbsp;cacheV,
                      <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/WeightedDivMM.html#WeightedDivMM-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.WeightedDivMM.WDivMMType-org.apache.sysds.lops.LopProperties.ExecType-">WeightedDivMM</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
              <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
              <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input3,
@@ -1501,7 +1541,7 @@
              <a href="../../../../../org/apache/sysds/lops/WeightedDivMM.WDivMMType.html" title="enum in org.apache.sysds.lops">WeightedDivMM.WDivMMType</a>&nbsp;wt,
              <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/WeightedDivMMR.html#WeightedDivMMR-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.WeightedDivMM.WDivMMType-boolean-boolean-org.apache.sysds.lops.LopProperties.ExecType-">WeightedDivMMR</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
               <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
               <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input3,
@@ -1513,7 +1553,7 @@
               boolean&nbsp;cacheV,
               <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/WeightedSigmoid.html#WeightedSigmoid-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.WeightedSigmoid.WSigmoidType-org.apache.sysds.lops.LopProperties.ExecType-">WeightedSigmoid</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
                <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
                <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input3,
@@ -1522,7 +1562,7 @@
                <a href="../../../../../org/apache/sysds/lops/WeightedSigmoid.WSigmoidType.html" title="enum in org.apache.sysds.lops">WeightedSigmoid.WSigmoidType</a>&nbsp;wt,
                <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/WeightedSigmoidR.html#WeightedSigmoidR-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.WeightedSigmoid.WSigmoidType-boolean-boolean-org.apache.sysds.lops.LopProperties.ExecType-">WeightedSigmoidR</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
                 <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
                 <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input3,
@@ -1533,7 +1573,7 @@
                 boolean&nbsp;cacheV,
                 <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/WeightedSquaredLoss.html#WeightedSquaredLoss-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.WeightedSquaredLoss.WeightsType-org.apache.sysds.lops.LopProperties.ExecType-">WeightedSquaredLoss</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
                    <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
                    <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input3,
@@ -1543,7 +1583,7 @@
                    <a href="../../../../../org/apache/sysds/lops/WeightedSquaredLoss.WeightsType.html" title="enum in org.apache.sysds.lops">WeightedSquaredLoss.WeightsType</a>&nbsp;wt,
                    <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/WeightedSquaredLossR.html#WeightedSquaredLossR-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.WeightedSquaredLoss.WeightsType-boolean-boolean-org.apache.sysds.lops.LopProperties.ExecType-">WeightedSquaredLossR</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
                     <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
                     <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input3,
@@ -1555,7 +1595,7 @@
                     boolean&nbsp;cacheV,
                     <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/WeightedUnaryMM.html#WeightedUnaryMM-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.WeightedUnaryMM.WUMMType-org.apache.sysds.common.Types.OpOp1-org.apache.sysds.lops.LopProperties.ExecType-">WeightedUnaryMM</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
                <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
                <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input3,
@@ -1565,7 +1605,7 @@
                <a href="../../../../../org/apache/sysds/common/Types.OpOp1.html" title="enum in org.apache.sysds.common">Types.OpOp1</a>&nbsp;op,
                <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/WeightedUnaryMMR.html#WeightedUnaryMMR-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.WeightedUnaryMM.WUMMType-org.apache.sysds.common.Types.OpOp1-boolean-boolean-org.apache.sysds.lops.LopProperties.ExecType-">WeightedUnaryMMR</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
                 <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
                 <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input3,
@@ -1753,6 +1793,15 @@
 </td>
 </tr>
 <tr class="rowColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html#MatrixObject-org.apache.sysds.common.Types.ValueType-java.lang.String-org.apache.sysds.runtime.meta.MetaData-org.apache.sysds.runtime.matrix.data.MatrixBlock-">MatrixObject</a></span>(<a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
+            <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;file,
+            <a href="../../../../../org/apache/sysds/runtime/meta/MetaData.html" title="class in org.apache.sysds.runtime.meta">MetaData</a>&nbsp;mtd,
+            <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;data)</code>
+<div class="block">Constructor that takes the value type, HDFS filename and associated metadata and a MatrixBlock
+ used for creation after serialization</div>
+</td>
+</tr>
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/TensorObject.html#TensorObject-org.apache.sysds.common.Types.ValueType-java.lang.String-">TensorObject</a></span>(<a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
             <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;fname)</code>&nbsp;</td>
 </tr>
@@ -1939,6 +1988,25 @@
 </tbody>
 </table>
 </li>
+<li class="blockList"><a name="org.apache.sysds.runtime.instructions">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a> in <a href="../../../../../org/apache/sysds/runtime/instructions/package-summary.html">org.apache.sysds.runtime.instructions</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/sysds/runtime/instructions/package-summary.html">org.apache.sysds.runtime.instructions</a> with parameters of type <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><span class="typeNameLabel">InstructionUtils.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/instructions/InstructionUtils.html#createLiteralOperand-java.lang.String-org.apache.sysds.common.Types.ValueType-">createLiteralOperand</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;val,
+                    <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
 <li class="blockList"><a name="org.apache.sysds.runtime.instructions.cp">
 <!--   -->
 </a>
@@ -2441,14 +2509,14 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></td>
+<td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a></code></td>
 <td class="colLast"><span class="typeNameLabel">EncoderFactory.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/transform/encode/EncoderFactory.html#createEncoder-java.lang.String-java.lang.String:A-org.apache.sysds.common.Types.ValueType:A-org.apache.sysds.runtime.matrix.data.FrameBlock-">createEncoder</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;spec,
              <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;colnames,
              <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>[]&nbsp;schema,
              <a href="../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></td>
+<td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a></code></td>
 <td class="colLast"><span class="typeNameLabel">EncoderFactory.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/transform/encode/EncoderFactory.html#createEncoder-java.lang.String-java.lang.String:A-org.apache.sysds.common.Types.ValueType:A-org.apache.sysds.runtime.matrix.data.FrameBlock-int-int-">createEncoder</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;spec,
              <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;colnames,
              <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>[]&nbsp;schema,
@@ -2457,7 +2525,7 @@
              int&nbsp;maxCol)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></td>
+<td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a></code></td>
 <td class="colLast"><span class="typeNameLabel">EncoderFactory.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/transform/encode/EncoderFactory.html#createEncoder-java.lang.String-java.lang.String:A-org.apache.sysds.common.Types.ValueType:A-int-org.apache.sysds.runtime.matrix.data.FrameBlock-">createEncoder</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;spec,
              <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;colnames,
              <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>[]&nbsp;schema,
@@ -2467,6 +2535,40 @@
 </tbody>
 </table>
 </li>
+<li class="blockList"><a name="org.apache.sysds.runtime.transform.tokenize">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a> in <a href="../../../../../org/apache/sysds/runtime/transform/tokenize/package-summary.html">org.apache.sysds.runtime.transform.tokenize</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/sysds/runtime/transform/tokenize/package-summary.html">org.apache.sysds.runtime.transform.tokenize</a> that return <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>[]</code></td>
+<td class="colLast"><span class="typeNameLabel">TokenizerPostPosition.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPostPosition.html#getOutSchema--">getOutSchema</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>[]</code></td>
+<td class="colLast"><span class="typeNameLabel">TokenizerPostCount.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPostCount.html#getOutSchema--">getOutSchema</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>[]</code></td>
+<td class="colLast"><span class="typeNameLabel">TokenizerPost.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPost.html#getOutSchema--">getOutSchema</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>[]</code></td>
+<td class="colLast"><span class="typeNameLabel">TokenizerPostHash.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPostHash.html#getOutSchema--">getOutSchema</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>[]</code></td>
+<td class="colLast"><span class="typeNameLabel">Tokenizer.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/transform/tokenize/Tokenizer.html#getSchema--">getSchema</a></span>()</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
 <li class="blockList"><a name="org.apache.sysds.runtime.util">
 <!--   -->
 </a>
@@ -2488,6 +2590,12 @@
 <td class="colLast"><span class="typeNameLabel">UtilFunctions.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/UtilFunctions.html#nCopies-int-org.apache.sysds.common.Types.ValueType-">nCopies</a></span>(int&nbsp;n,
        <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt)</code>&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>[]</code></td>
+<td class="colLast"><span class="typeNameLabel">UtilFunctions.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/UtilFunctions.html#stringToValueType-java.lang.String:A-">stringToValueType</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;schemaValues)</code>
+<div class="block">Generates a ValueType array from a String array</div>
+</td>
+</tr>
 </tbody>
 </table>
 <table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
@@ -2579,6 +2687,22 @@
          <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">UtilFunctions.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/UtilFunctions.html#generateRandomFrameBlock-int-int-org.apache.sysds.common.Types.ValueType:A-java.util.Random-">generateRandomFrameBlock</a></span>(int&nbsp;rows,
+                        int&nbsp;cols,
+                        <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>[]&nbsp;schema,
+                        <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Random.html?is-external=true" title="class or interface in java.util">Random</a>&nbsp;random)</code>
+<div class="block">Generates a random FrameBlock with given parameters.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></td>
+<td class="colLast"><span class="typeNameLabel">UtilFunctions.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/UtilFunctions.html#generateRandomValueFromValueType-org.apache.sysds.common.Types.ValueType-java.util.Random-">generateRandomValueFromValueType</a></span>(<a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;valueType,
+                                <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Random.html?is-external=true" title="class or interface in java.util">Random</a>&nbsp;random)</code>
+<div class="block">Generates a random value for a given Value Type</div>
+</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><span class="typeNameLabel">HDFSTool.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/HDFSTool.html#metaDataToString-org.apache.sysds.common.Types.ValueType-org.apache.sysds.common.Types.ValueType:A-org.apache.sysds.common.Types.DataType-org.apache.sysds.runtime.meta.DataCharacteristics-org.apache.sysds.common.Types.FileFormat-org.apache.sysds.runtime.io.FileFormatProperties-org.apache.sysds.runtime.privacy.PrivacyConstraint-">metaDataToString</a></span>(<a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
                 <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>[]&nbsp;schema,
@@ -2814,6 +2938,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/common/class-use/Types.html b/docs/api/java/org/apache/sysds/common/class-use/Types.html
index 74b7bd7..8fae2eb 100644
--- a/docs/api/java/org/apache/sysds/common/class-use/Types.html
+++ b/docs/api/java/org/apache/sysds/common/class-use/Types.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/common/class-use/Warnings.html b/docs/api/java/org/apache/sysds/common/class-use/Warnings.html
index d3c09f9..99dd659 100644
--- a/docs/api/java/org/apache/sysds/common/class-use/Warnings.html
+++ b/docs/api/java/org/apache/sysds/common/class-use/Warnings.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/common/package-summary.html b/docs/api/java/org/apache/sysds/common/package-summary.html
index c7be1d7..0d91e9a 100644
--- a/docs/api/java/org/apache/sysds/common/package-summary.html
+++ b/docs/api/java/org/apache/sysds/common/package-summary.html
@@ -271,6 +271,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/common/package-tree.html b/docs/api/java/org/apache/sysds/common/package-tree.html
index 701a9df..146c673 100644
--- a/docs/api/java/org/apache/sysds/common/package-tree.html
+++ b/docs/api/java/org/apache/sysds/common/package-tree.html
@@ -170,6 +170,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/common/package-use.html b/docs/api/java/org/apache/sysds/common/package-use.html
index 0801020..cf7b4b6 100644
--- a/docs/api/java/org/apache/sysds/common/package-use.html
+++ b/docs/api/java/org/apache/sysds/common/package-use.html
@@ -199,6 +199,10 @@
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.transform.tokenize">org.apache.sysds.runtime.transform.tokenize</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.util">org.apache.sysds.runtime.util</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
@@ -789,6 +793,11 @@
 <div class="block">Type of aggregation direction</div>
 </td>
 </tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/sysds/common/class-use/Types.ValueType.html#org.apache.sysds.runtime.instructions">Types.ValueType</a>
+<div class="block">Value types (int, double, string, boolean, unknown).</div>
+</td>
+</tr>
 </tbody>
 </table>
 </li>
@@ -807,6 +816,9 @@
 </td>
 </tr>
 <tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/sysds/common/class-use/Types.OpOpDG.html#org.apache.sysds.runtime.instructions.cp">Types.OpOpDG</a>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colOne"><a href="../../../../org/apache/sysds/common/class-use/Types.ValueType.html#org.apache.sysds.runtime.instructions.cp">Types.ValueType</a>
 <div class="block">Value types (int, double, string, boolean, unknown).</div>
 </td>
@@ -977,6 +989,23 @@
 </tbody>
 </table>
 </li>
+<li class="blockList"><a name="org.apache.sysds.runtime.transform.tokenize">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/sysds/common/package-summary.html">org.apache.sysds.common</a> used by <a href="../../../../org/apache/sysds/runtime/transform/tokenize/package-summary.html">org.apache.sysds.runtime.transform.tokenize</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/sysds/common/class-use/Types.ValueType.html#org.apache.sysds.runtime.transform.tokenize">Types.ValueType</a>
+<div class="block">Value types (int, double, string, boolean, unknown).</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
 <li class="blockList"><a name="org.apache.sysds.runtime.util">
 <!--   -->
 </a>
@@ -1051,6 +1080,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/conf/CompilerConfig.ConfigType.html b/docs/api/java/org/apache/sysds/conf/CompilerConfig.ConfigType.html
index 1cc1a5e..5cb5740 100644
--- a/docs/api/java/org/apache/sysds/conf/CompilerConfig.ConfigType.html
+++ b/docs/api/java/org/apache/sysds/conf/CompilerConfig.ConfigType.html
@@ -533,6 +533,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/conf/CompilerConfig.html b/docs/api/java/org/apache/sysds/conf/CompilerConfig.html
index d571a7b..13153c9 100644
--- a/docs/api/java/org/apache/sysds/conf/CompilerConfig.html
+++ b/docs/api/java/org/apache/sysds/conf/CompilerConfig.html
@@ -424,6 +424,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/conf/ConfigurationManager.html b/docs/api/java/org/apache/sysds/conf/ConfigurationManager.html
index 7fd9091..dee89d9 100644
--- a/docs/api/java/org/apache/sysds/conf/ConfigurationManager.html
+++ b/docs/api/java/org/apache/sysds/conf/ConfigurationManager.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":9,"i11":9,"i12":9,"i13":9,"i14":9,"i15":9};
+var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":9,"i11":9,"i12":9,"i13":9,"i14":9,"i15":9,"i16":9};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -164,7 +164,7 @@
 <tr id="i2" class="altColor">
 <td class="colFirst"><code>static org.apache.hadoop.mapred.JobConf</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/conf/ConfigurationManager.html#getCachedJobConf--">getCachedJobConf</a></span>()</code>
-<div class="block">Returns a cached JobConf object, intended for global use by all operations 
+<div class="block">Returns a cached JobConf object, intended for global use by all operations
  with read-only access to job conf.</div>
 </td>
 </tr>
@@ -197,37 +197,41 @@
 </tr>
 <tr id="i8" class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/conf/ConfigurationManager.html#isDynamicRecompilation--">isDynamicRecompilation</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/conf/ConfigurationManager.html#isCompressionEnabled--">isCompressionEnabled</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i9" class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/conf/ConfigurationManager.html#isParallelMatrixOperations--">isParallelMatrixOperations</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/conf/ConfigurationManager.html#isDynamicRecompilation--">isDynamicRecompilation</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i10" class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/conf/ConfigurationManager.html#isParallelParFor--">isParallelParFor</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/conf/ConfigurationManager.html#isParallelMatrixOperations--">isParallelMatrixOperations</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i11" class="rowColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/conf/ConfigurationManager.html#setCachedJobConf-org.apache.hadoop.mapred.JobConf-">setCachedJobConf</a></span>(org.apache.hadoop.mapred.JobConf&nbsp;job)</code>&nbsp;</td>
+<td class="colFirst"><code>static boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/conf/ConfigurationManager.html#isParallelParFor--">isParallelParFor</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i12" class="altColor">
 <td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/conf/ConfigurationManager.html#setGlobalConfig-org.apache.sysds.conf.CompilerConfig-">setGlobalConfig</a></span>(<a href="../../../../org/apache/sysds/conf/CompilerConfig.html" title="class in org.apache.sysds.conf">CompilerConfig</a>&nbsp;conf)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/conf/ConfigurationManager.html#setCachedJobConf-org.apache.hadoop.mapred.JobConf-">setCachedJobConf</a></span>(org.apache.hadoop.mapred.JobConf&nbsp;job)</code>&nbsp;</td>
 </tr>
 <tr id="i13" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/conf/ConfigurationManager.html#setGlobalConfig-org.apache.sysds.conf.CompilerConfig-">setGlobalConfig</a></span>(<a href="../../../../org/apache/sysds/conf/CompilerConfig.html" title="class in org.apache.sysds.conf">CompilerConfig</a>&nbsp;conf)</code>&nbsp;</td>
+</tr>
+<tr id="i14" class="altColor">
+<td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/conf/ConfigurationManager.html#setGlobalConfig-org.apache.sysds.conf.DMLConfig-">setGlobalConfig</a></span>(<a href="../../../../org/apache/sysds/conf/DMLConfig.html" title="class in org.apache.sysds.conf">DMLConfig</a>&nbsp;conf)</code>
 <div class="block">Sets a global configuration as a basis for any thread-local configurations.</div>
 </td>
 </tr>
-<tr id="i14" class="altColor">
+<tr id="i15" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/conf/ConfigurationManager.html#setLocalConfig-org.apache.sysds.conf.CompilerConfig-">setLocalConfig</a></span>(<a href="../../../../org/apache/sysds/conf/CompilerConfig.html" title="class in org.apache.sysds.conf">CompilerConfig</a>&nbsp;conf)</code>
 <div class="block">Sets the current thread-local compiler configuration to the given config.</div>
 </td>
 </tr>
-<tr id="i15" class="rowColor">
+<tr id="i16" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/conf/ConfigurationManager.html#setLocalConfig-org.apache.sysds.conf.DMLConfig-">setLocalConfig</a></span>(<a href="../../../../org/apache/sysds/conf/DMLConfig.html" title="class in org.apache.sysds.conf">DMLConfig</a>&nbsp;conf)</code>
 <div class="block">Sets the current thread-local dml configuration to the given config.</div>
@@ -279,7 +283,7 @@
 <li class="blockList">
 <h4>getCachedJobConf</h4>
 <pre>public static&nbsp;org.apache.hadoop.mapred.JobConf&nbsp;getCachedJobConf()</pre>
-<div class="block">Returns a cached JobConf object, intended for global use by all operations 
+<div class="block">Returns a cached JobConf object, intended for global use by all operations
  with read-only access to job conf. This prevents to read the hadoop conf files
  over and over again from classpath. However,</div>
 <dl>
@@ -454,12 +458,21 @@
 <a name="isCodegenEnabled--">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>isCodegenEnabled</h4>
 <pre>public static&nbsp;boolean&nbsp;isCodegenEnabled()</pre>
 </li>
 </ul>
+<a name="isCompressionEnabled--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>isCompressionEnabled</h4>
+<pre>public static&nbsp;boolean&nbsp;isCompressionEnabled()</pre>
+</li>
+</ul>
 </li>
 </ul>
 </li>
@@ -529,6 +542,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/conf/DMLConfig.html b/docs/api/java/org/apache/sysds/conf/DMLConfig.html
index c94688b..affe9f1 100644
--- a/docs/api/java/org/apache/sysds/conf/DMLConfig.html
+++ b/docs/api/java/org/apache/sysds/conf/DMLConfig.html
@@ -139,28 +139,52 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/conf/DMLConfig.html#CODEGEN_COMPILER">CODEGEN_COMPILER</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/conf/DMLConfig.html#CODEGEN_API">CODEGEN_API</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/conf/DMLConfig.html#CODEGEN_COMPILER">CODEGEN_COMPILER</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/conf/DMLConfig.html#CODEGEN_LITERALS">CODEGEN_LITERALS</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/conf/DMLConfig.html#CODEGEN_OPTIMIZER">CODEGEN_OPTIMIZER</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/conf/DMLConfig.html#CODEGEN_PLANCACHE">CODEGEN_PLANCACHE</a></span></code>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/conf/DMLConfig.html#COMPILERASSISTED_RW">COMPILERASSISTED_RW</a></span></code>&nbsp;</td>
+</tr>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/conf/DMLConfig.html#COMPRESSED_LINALG">COMPRESSED_LINALG</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/conf/DMLConfig.html#COMPRESSED_COCODE">COMPRESSED_COCODE</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/conf/DMLConfig.html#COMPRESSED_LINALG">COMPRESSED_LINALG</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/conf/DMLConfig.html#COMPRESSED_LOSSY">COMPRESSED_LOSSY</a></span></code>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/conf/DMLConfig.html#COMPRESSED_OVERLAPPING">COMPRESSED_OVERLAPPING</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/conf/DMLConfig.html#COMPRESSED_SAMPLING_RATIO">COMPRESSED_SAMPLING_RATIO</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/conf/DMLConfig.html#COMPRESSED_TRANSPOSE">COMPRESSED_TRANSPOSE</a></span></code>&nbsp;</td>
+</tr>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/conf/DMLConfig.html#COMPRESSED_VALID_COMPRESSIONS">COMPRESSED_VALID_COMPRESSIONS</a></span></code>&nbsp;</td>
@@ -178,45 +202,53 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/conf/DMLConfig.html#DEFAULT_BLOCK_SIZE">DEFAULT_BLOCK_SIZE</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/conf/DMLConfig.html#DEFAULT_FEDERATED_INITIALIZATION_TIMEOUT">DEFAULT_FEDERATED_INITIALIZATION_TIMEOUT</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/conf/DMLConfig.html#DEFAULT_FEDERATED_PORT">DEFAULT_FEDERATED_PORT</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/conf/DMLConfig.html#DEFAULT_NUMBER_OF_FEDERATED_WORKER_THREADS">DEFAULT_NUMBER_OF_FEDERATED_WORKER_THREADS</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/conf/DMLConfig.html#DEFAULT_SHARED_DIR_PERMISSION">DEFAULT_SHARED_DIR_PERMISSION</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/conf/DMLConfig.html#DEFAULT_SYSTEMDS_CONFIG_FILEPATH">DEFAULT_SYSTEMDS_CONFIG_FILEPATH</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/conf/DMLConfig.html#EAGER_CUDA_FREE">EAGER_CUDA_FREE</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/conf/DMLConfig.html#EVICTION_SHADOW_BUFFERSIZE">EVICTION_SHADOW_BUFFERSIZE</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/conf/DMLConfig.html#FLOATING_POINT_PRECISION">FLOATING_POINT_PRECISION</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/conf/DMLConfig.html#GPU_EVICTION_POLICY">GPU_EVICTION_POLICY</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/conf/DMLConfig.html#GPU_MEMORY_ALLOCATOR">GPU_MEMORY_ALLOCATOR</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/conf/DMLConfig.html#GPU_MEMORY_UTILIZATION_FACTOR">GPU_MEMORY_UTILIZATION_FACTOR</a></span></code>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/conf/DMLConfig.html#LINEAGECACHESPILL">LINEAGECACHESPILL</a></span></code>&nbsp;</td>
+</tr>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/conf/DMLConfig.html#LOCAL_SPARK_NUM_THREADS">LOCAL_SPARK_NUM_THREADS</a></span></code>&nbsp;</td>
@@ -253,6 +285,10 @@
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/conf/DMLConfig.html#SYNCHRONIZE_GPU">SYNCHRONIZE_GPU</a></span></code>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/conf/DMLConfig.html#USE_SSL_FEDERATED_COMMUNICATION">USE_SSL_FEDERATED_COMMUNICATION</a></span></code>&nbsp;</td>
+</tr>
 </table>
 </li>
 </ul>
@@ -507,6 +543,58 @@
 </dl>
 </li>
 </ul>
+<a name="COMPRESSED_OVERLAPPING">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>COMPRESSED_OVERLAPPING</h4>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> COMPRESSED_OVERLAPPING</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../constant-values.html#org.apache.sysds.conf.DMLConfig.COMPRESSED_OVERLAPPING">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="COMPRESSED_SAMPLING_RATIO">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>COMPRESSED_SAMPLING_RATIO</h4>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> COMPRESSED_SAMPLING_RATIO</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../constant-values.html#org.apache.sysds.conf.DMLConfig.COMPRESSED_SAMPLING_RATIO">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="COMPRESSED_COCODE">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>COMPRESSED_COCODE</h4>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> COMPRESSED_COCODE</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../constant-values.html#org.apache.sysds.conf.DMLConfig.COMPRESSED_COCODE">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="COMPRESSED_TRANSPOSE">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>COMPRESSED_TRANSPOSE</h4>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> COMPRESSED_TRANSPOSE</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../constant-values.html#org.apache.sysds.conf.DMLConfig.COMPRESSED_TRANSPOSE">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
 <a name="NATIVE_BLAS">
 <!--   -->
 </a>
@@ -546,6 +634,19 @@
 </dl>
 </li>
 </ul>
+<a name="CODEGEN_API">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>CODEGEN_API</h4>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> CODEGEN_API</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../constant-values.html#org.apache.sysds.conf.DMLConfig.CODEGEN_API">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
 <a name="CODEGEN_COMPILER">
 <!--   -->
 </a>
@@ -676,6 +777,32 @@
 </dl>
 </li>
 </ul>
+<a name="LINEAGECACHESPILL">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>LINEAGECACHESPILL</h4>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> LINEAGECACHESPILL</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../constant-values.html#org.apache.sysds.conf.DMLConfig.LINEAGECACHESPILL">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="COMPILERASSISTED_RW">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>COMPILERASSISTED_RW</h4>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> COMPILERASSISTED_RW</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../constant-values.html#org.apache.sysds.conf.DMLConfig.COMPILERASSISTED_RW">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
 <a name="GPU_MEMORY_UTILIZATION_FACTOR">
 <!--   -->
 </a>
@@ -741,6 +868,32 @@
 </dl>
 </li>
 </ul>
+<a name="USE_SSL_FEDERATED_COMMUNICATION">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>USE_SSL_FEDERATED_COMMUNICATION</h4>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> USE_SSL_FEDERATED_COMMUNICATION</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../constant-values.html#org.apache.sysds.conf.DMLConfig.USE_SSL_FEDERATED_COMMUNICATION">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="DEFAULT_FEDERATED_INITIALIZATION_TIMEOUT">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>DEFAULT_FEDERATED_INITIALIZATION_TIMEOUT</h4>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> DEFAULT_FEDERATED_INITIALIZATION_TIMEOUT</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../constant-values.html#org.apache.sysds.conf.DMLConfig.DEFAULT_FEDERATED_INITIALIZATION_TIMEOUT">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
 <a name="DEFAULT_FEDERATED_PORT">
 <!--   -->
 </a>
@@ -1061,6 +1214,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/conf/class-use/CompilerConfig.ConfigType.html b/docs/api/java/org/apache/sysds/conf/class-use/CompilerConfig.ConfigType.html
index cde261e..c8b35e8 100644
--- a/docs/api/java/org/apache/sysds/conf/class-use/CompilerConfig.ConfigType.html
+++ b/docs/api/java/org/apache/sysds/conf/class-use/CompilerConfig.ConfigType.html
@@ -231,6 +231,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/conf/class-use/CompilerConfig.html b/docs/api/java/org/apache/sysds/conf/class-use/CompilerConfig.html
index 6933134..c4cfc85 100644
--- a/docs/api/java/org/apache/sysds/conf/class-use/CompilerConfig.html
+++ b/docs/api/java/org/apache/sysds/conf/class-use/CompilerConfig.html
@@ -287,6 +287,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/conf/class-use/ConfigurationManager.html b/docs/api/java/org/apache/sysds/conf/class-use/ConfigurationManager.html
index 36bb5cb..e9b0a51 100644
--- a/docs/api/java/org/apache/sysds/conf/class-use/ConfigurationManager.html
+++ b/docs/api/java/org/apache/sysds/conf/class-use/ConfigurationManager.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/conf/class-use/DMLConfig.html b/docs/api/java/org/apache/sysds/conf/class-use/DMLConfig.html
index 4488b95..7c9d01a 100644
--- a/docs/api/java/org/apache/sysds/conf/class-use/DMLConfig.html
+++ b/docs/api/java/org/apache/sysds/conf/class-use/DMLConfig.html
@@ -433,6 +433,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/conf/package-summary.html b/docs/api/java/org/apache/sysds/conf/package-summary.html
index 79fda5f..db78f32 100644
--- a/docs/api/java/org/apache/sysds/conf/package-summary.html
+++ b/docs/api/java/org/apache/sysds/conf/package-summary.html
@@ -166,6 +166,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/conf/package-tree.html b/docs/api/java/org/apache/sysds/conf/package-tree.html
index b804367..f8ded0b 100644
--- a/docs/api/java/org/apache/sysds/conf/package-tree.html
+++ b/docs/api/java/org/apache/sysds/conf/package-tree.html
@@ -147,6 +147,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/conf/package-use.html b/docs/api/java/org/apache/sysds/conf/package-use.html
index 7d2d9e5..905a93c 100644
--- a/docs/api/java/org/apache/sysds/conf/package-use.html
+++ b/docs/api/java/org/apache/sysds/conf/package-use.html
@@ -313,6 +313,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/AggBinaryOp.MMultMethod.html b/docs/api/java/org/apache/sysds/hops/AggBinaryOp.MMultMethod.html
index cafdcca..a6b463b 100644
--- a/docs/api/java/org/apache/sysds/hops/AggBinaryOp.MMultMethod.html
+++ b/docs/api/java/org/apache/sysds/hops/AggBinaryOp.MMultMethod.html
@@ -449,6 +449,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/AggBinaryOp.SparkAggType.html b/docs/api/java/org/apache/sysds/hops/AggBinaryOp.SparkAggType.html
index ac6c8e9..043ab00 100644
--- a/docs/api/java/org/apache/sysds/hops/AggBinaryOp.SparkAggType.html
+++ b/docs/api/java/org/apache/sysds/hops/AggBinaryOp.SparkAggType.html
@@ -353,6 +353,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/AggBinaryOp.html b/docs/api/java/org/apache/sysds/hops/AggBinaryOp.html
index be46d65..c09f77b 100644
--- a/docs/api/java/org/apache/sysds/hops/AggBinaryOp.html
+++ b/docs/api/java/org/apache/sysds/hops/AggBinaryOp.html
@@ -330,14 +330,14 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.hops.<a href="../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a></h3>
-<code><a href="../../../../org/apache/sysds/hops/Hop.html#addAllInputs-java.util.ArrayList-">addAllInputs</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#addInput-org.apache.sysds.hops.Hop-">addInput</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#checkAndSetForcedPlatform--">checkAndSetForcedPlatform</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#checkAndSetInvalidCPDimsAndSize--">checkAndSetInvalidCPDimsAndSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#clearMemEstimate--">clearMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#colsKnown--">colsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeBoundsInformation-org.apache.sysds.hops.Hop-">computeBoundsInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeBoundsInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">computeBoundsInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeBoundsInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">computeBoundsInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeSizeInformation-org.apache.sysds.hops.Hop-">computeSizeInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeSizeInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">computeSizeInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeSizeInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">computeSizeInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#constructAndSetLopsDataFlowProperties--">constructAndSetLopsDataFlowProperties</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#createOffsetLop-org.apache.sysds.hops.Hop-boolean-">createOffsetLop</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#dimsKnown--">dimsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#dimsKnown-boolean-">dimsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#dimsKnownAny--">dimsKnownAny</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getBeginLine--">getBeginLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getBlocksize--">getBlocksize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDataCharacteristics--">getDataCharacteristics</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDataType--">getDataType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDim-int-">getDim</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDim1--">getDim1</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDim2--">getDim2</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getEndColumn--">getEndColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getEndLine--">getEndLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getExecType--">getExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getFilename--">getFilename</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getForcedExecType--">getForcedExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getHopID--">getHopID</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInput--">getInput</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInputMemEstimate--">getInputMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInputOutputSize-java.util.Collection-">getInputOutputSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getIntermediateMemEstimate--">getIntermediateMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getLength--">getLength</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getLops--">getLops</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getMemEstimate--">getMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getName--">getName</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getNnz--">getNnz</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getOutputMemEstimate--">getOutputMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getParent--">getParent</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getPrivacy--">getPrivacy</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getSparsity--">getSparsity</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getSpBroadcastSize--">getSpBroadcastSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getText--">getText</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getUpdateType--">getUpdateType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getValueType--">getValueType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#hasMatrixInputWithDifferentBlocksizes--">hasMatrixInputWithDifferentBlocksizes</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#hasValidCPDimsAndSize--">hasValidCPDimsAndSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isMatrix--">isMatrix</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isMemEstimated--">isMemEstimated</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isOutputEmptyBlocks--">isOutputEmptyBlocks</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isScalar--">isScalar</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isTransposeSafe--">isTransposeSafe</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isVisited--">isVisited</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#printErrorLocation--">printErrorLocation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshColsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">refreshColsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshColsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">refreshColsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshMemEstimates-org.apache.sysds.hops.MemoTable-">refreshMemEstimates</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshRowsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">refreshRowsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshRowsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">refreshRowsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresCheckpoint--">requiresCheckpoint</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresCompression--">requiresCompression</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresLineageCaching--">requiresLineageCaching</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresReblock--">requiresReblock</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresRecompile--">requiresRecompile</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetExecType--">resetExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetRecompilationFlag-java.util.ArrayList-org.apache.sysds.lops.LopProperties.ExecType-org.apache.sysds.hops.recompile.Recompiler.ResetType-">resetRecompilationFlag</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetRecompilationFlag-org.apache.sysds.hops.Hop-org.apache.sysds.lops.LopProperties.ExecType-org.apache.sysds.hops.recompile.Recompiler.ResetType-">resetRecompilationFlag</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus--">resetVisitStatus</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus-java.util.ArrayList-">resetVisitStatus</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus-java.util.ArrayList-boolean-">resetVisitStatus</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatusForced-java.util.HashSet-">resetVisitStatusForced</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#rowsKnown--">rowsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setBeginColumn-int-">setBeginColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setBeginLine-int-">setBeginLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setBlocksize-int-">setBlocksize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDataType-org.apache.sysds.common.Types.DataType-">setDataType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDim-int-long-">setDim</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDim1-long-">setDim1</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDim2-long-">setDim2</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setEndColumn-int-">setEndColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setEndLine-int-">setEndLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setFilename-java.lang.String-">setFilename</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setForcedExecType-org.apache.sysds.lops.LopProperties.ExecType-">setForcedExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setLops-org.apache.sysds.lops.Lop-">setLops</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setMemEstimate-double-">setMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setName-java.lang.String-">setName</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setNnz-long-">setNnz</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setOutputEmptyBlocks-boolean-">setOutputEmptyBlocks</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setParseInfo-org.apache.sysds.parser.ParseInfo-">setParseInfo</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setPrivacy-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacy</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresCheckpoint-boolean-">setRequiresCheckpoint</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresCompression-boolean-">setRequiresCompression</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresLineageCaching-boolean-">setRequiresLineageCaching</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresReblock-boolean-">setRequiresReblock</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresRecompile--">setRequiresRecompile</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setText-java.lang.String-">setText</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setUpdateType-org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType-">setUpdateType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setValueType-org.apache.sysds.common.Types.ValueType-">setValueType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setVisited--">setVisited</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setVisited-boolean-">setVisited</a></code></li>
+<code><a href="../../../../org/apache/sysds/hops/Hop.html#addAllInputs-java.util.ArrayList-">addAllInputs</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#addInput-org.apache.sysds.hops.Hop-">addInput</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#checkAndSetForcedPlatform--">checkAndSetForcedPlatform</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#checkAndSetInvalidCPDimsAndSize--">checkAndSetInvalidCPDimsAndSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#clearMemEstimate--">clearMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#colsKnown--">colsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeBoundsInformation-org.apache.sysds.hops.Hop-">computeBoundsInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeBoundsInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">computeBoundsInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeBoundsInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">computeBoundsInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeSizeInformation-org.apache.sysds.hops.Hop-">computeSizeInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeSizeInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">computeSizeInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeSizeInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">computeSizeInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#constructAndSetLopsDataFlowProperties--">constructAndSetLopsDataFlowProperties</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#createOffsetLop-org.apache.sysds.hops.Hop-boolean-">createOffsetLop</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#dimsKnown--">dimsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#dimsKnown-boolean-">dimsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#dimsKnownAny--">dimsKnownAny</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getBeginLine--">getBeginLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getBlocksize--">getBlocksize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDataCharacteristics--">getDataCharacteristics</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDataType--">getDataType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDim-int-">getDim</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDim1--">getDim1</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDim2--">getDim2</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getEndColumn--">getEndColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getEndLine--">getEndLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getExecType--">getExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getFilename--">getFilename</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getForcedExecType--">getForcedExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getHopID--">getHopID</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInput--">getInput</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInput-int-">getInput</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInputMemEstimate--">getInputMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInputOutputSize-java.util.Collection-">getInputOutputSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getIntermediateMemEstimate--">getIntermediateMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getLength--">getLength</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getLops--">getLops</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getMemEstimate--">getMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getName--">getName</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getNnz--">getNnz</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getOutputMemEstimate--">getOutputMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getParent--">getParent</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getPrivacy--">getPrivacy</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getSparsity--">getSparsity</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getSpBroadcastSize--">getSpBroadcastSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getText--">getText</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getUpdateType--">getUpdateType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getValueType--">getValueType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#hasMatrixInputWithDifferentBlocksizes--">hasMatrixInputWithDifferentBlocksizes</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#hasValidCPDimsAndSize--">hasValidCPDimsAndSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isMatrix--">isMatrix</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isMemEstimated--">isMemEstimated</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isOutputEmptyBlocks--">isOutputEmptyBlocks</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isScalar--">isScalar</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isTransposeSafe--">isTransposeSafe</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isVisited--">isVisited</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#printErrorLocation--">printErrorLocation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshColsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">refreshColsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshColsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">refreshColsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshMemEstimates-org.apache.sysds.hops.MemoTable-">refreshMemEstimates</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshRowsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">refreshRowsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshRowsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">refreshRowsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresCheckpoint--">requiresCheckpoint</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresCompression--">requiresCompression</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresLineageCaching--">requiresLineageCaching</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresReblock--">requiresReblock</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresRecompile--">requiresRecompile</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetExecType--">resetExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetRecompilationFlag-java.util.ArrayList-org.apache.sysds.lops.LopProperties.ExecType-org.apache.sysds.hops.recompile.Recompiler.ResetType-">resetRecompilationFlag</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetRecompilationFlag-org.apache.sysds.hops.Hop-org.apache.sysds.lops.LopProperties.ExecType-org.apache.sysds.hops.recompile.Recompiler.ResetType-">resetRecompilationFlag</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus--">resetVisitStatus</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus-java.util.ArrayList-">resetVisitStatus</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus-java.util.ArrayList-boolean-">resetVisitStatus</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatusForced-java.util.HashSet-">resetVisitStatusForced</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#rowsKnown--">rowsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setBeginColumn-int-">setBeginColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setBeginLine-int-">setBeginLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setBlocksize-int-">setBlocksize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDataType-org.apache.sysds.common.Types.DataType-">setDataType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDim-int-long-">setDim</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDim1-long-">setDim1</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDim2-long-">setDim2</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setEndColumn-int-">setEndColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setEndLine-int-">setEndLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setFilename-java.lang.String-">setFilename</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setForcedExecType-org.apache.sysds.lops.LopProperties.ExecType-">setForcedExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setLops-org.apache.sysds.lops.Lop-">setLops</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setMemEstimate-double-">setMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setName-java.lang.String-">setName</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setNnz-long-">setNnz</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setOutputEmptyBlocks-boolean-">setOutputEmptyBlocks</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setParseInfo-org.apache.sysds.parser.ParseInfo-">setParseInfo</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setPrivacy-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacy</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresCheckpoint-boolean-">setRequiresCheckpoint</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresCompression-boolean-">setRequiresCompression</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresDeCompression-boolean-">setRequiresDeCompression</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresLineageCaching-boolean-">setRequiresLineageCaching</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresReblock-boolean-">setRequiresReblock</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresRecompile--">setRequiresRecompile</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setText-java.lang.String-">setText</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setUpdateType-org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType-">setUpdateType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setValueType-org.apache.sysds.common.Types.ValueType-">setValueType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setVisited--">setVisited</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setVisited-boolean-">setVisited</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#toString--">toString</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
-<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.parser.ParseInfo">
@@ -749,6 +749,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/AggUnaryOp.html b/docs/api/java/org/apache/sysds/hops/AggUnaryOp.html
index d520561..45d744b 100644
--- a/docs/api/java/org/apache/sysds/hops/AggUnaryOp.html
+++ b/docs/api/java/org/apache/sysds/hops/AggUnaryOp.html
@@ -259,14 +259,14 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.hops.<a href="../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a></h3>
-<code><a href="../../../../org/apache/sysds/hops/Hop.html#addAllInputs-java.util.ArrayList-">addAllInputs</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#addInput-org.apache.sysds.hops.Hop-">addInput</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#checkAndSetForcedPlatform--">checkAndSetForcedPlatform</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#checkAndSetInvalidCPDimsAndSize--">checkAndSetInvalidCPDimsAndSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#clearMemEstimate--">clearMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#colsKnown--">colsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeBoundsInformation-org.apache.sysds.hops.Hop-">computeBoundsInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeBoundsInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">computeBoundsInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeBoundsInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">computeBoundsInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeMemEstimate-org.apache.sysds.hops.MemoTable-">computeMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeSizeInformation-org.apache.sysds.hops.Hop-">computeSizeInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeSizeInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">computeSizeInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeSizeInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">computeSizeInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#constructAndSetLopsDataFlowProperties--">constructAndSetLopsDataFlowProperties</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#createOffsetLop-org.apache.sysds.hops.Hop-boolean-">createOffsetLop</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#dimsKnown--">dimsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#dimsKnown-boolean-">dimsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#dimsKnownAny--">dimsKnownAny</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getBeginLine--">getBeginLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getBlocksize--">getBlocksize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDataCharacteristics--">getDataCharacteristics</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDataType--">getDataType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDim-int-">getDim</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDim1--">getDim1</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDim2--">getDim2</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getEndColumn--">getEndColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getEndLine--">getEndLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getExecType--">getExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getFilename--">getFilename</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getForcedExecType--">getForcedExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getHopID--">getHopID</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInput--">getInput</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInputMemEstimate--">getInputMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInputOutputSize-java.util.Collection-">getInputOutputSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getIntermediateMemEstimate--">getIntermediateMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getLength--">getLength</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getLops--">getLops</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getMemEstimate--">getMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getName--">getName</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getNnz--">getNnz</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getOutputMemEstimate--">getOutputMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getParent--">getParent</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getPrivacy--">getPrivacy</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getSparsity--">getSparsity</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getSpBroadcastSize--">getSpBroadcastSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getText--">getText</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getUpdateType--">getUpdateType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getValueType--">getValueType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#hasMatrixInputWithDifferentBlocksizes--">hasMatrixInputWithDifferentBlocksizes</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#hasValidCPDimsAndSize--">hasValidCPDimsAndSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isMatrix--">isMatrix</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isMemEstimated--">isMemEstimated</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isOutputEmptyBlocks--">isOutputEmptyBlocks</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isScalar--">isScalar</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isVisited--">isVisited</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#printErrorLocation--">printErrorLocation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshColsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">refreshColsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshColsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">refreshColsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshMemEstimates-org.apache.sysds.hops.MemoTable-">refreshMemEstimates</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshRowsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">refreshRowsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshRowsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">refreshRowsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresCheckpoint--">requiresCheckpoint</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresCompression--">requiresCompression</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresLineageCaching--">requiresLineageCaching</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresReblock--">requiresReblock</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresRecompile--">requiresRecompile</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetExecType--">resetExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetRecompilationFlag-java.util.ArrayList-org.apache.sysds.lops.LopProperties.ExecType-org.apache.sysds.hops.recompile.Recompiler.ResetType-">resetRecompilationFlag</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetRecompilationFlag-org.apache.sysds.hops.Hop-org.apache.sysds.lops.LopProperties.ExecType-org.apache.sysds.hops.recompile.Recompiler.ResetType-">resetRecompilationFlag</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus--">resetVisitStatus</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus-java.util.ArrayList-">resetVisitStatus</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus-java.util.ArrayList-boolean-">resetVisitStatus</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatusForced-java.util.HashSet-">resetVisitStatusForced</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#rowsKnown--">rowsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setBeginColumn-int-">setBeginColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setBeginLine-int-">setBeginLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setBlocksize-int-">setBlocksize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDataType-org.apache.sysds.common.Types.DataType-">setDataType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDim-int-long-">setDim</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDim1-long-">setDim1</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDim2-long-">setDim2</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setEndColumn-int-">setEndColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setEndLine-int-">setEndLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setFilename-java.lang.String-">setFilename</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setForcedExecType-org.apache.sysds.lops.LopProperties.ExecType-">setForcedExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setLops-org.apache.sysds.lops.Lop-">setLops</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setMemEstimate-double-">setMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setName-java.lang.String-">setName</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setNnz-long-">setNnz</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setOutputEmptyBlocks-boolean-">setOutputEmptyBlocks</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setParseInfo-org.apache.sysds.parser.ParseInfo-">setParseInfo</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setPrivacy-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacy</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresCheckpoint-boolean-">setRequiresCheckpoint</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresCompression-boolean-">setRequiresCompression</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresLineageCaching-boolean-">setRequiresLineageCaching</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresReblock-boolean-">setRequiresReblock</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresRecompile--">setRequiresRecompile</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setText-java.lang.String-">setText</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setUpdateType-org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType-">setUpdateType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setValueType-org.apache.sysds.common.Types.ValueType-">setValueType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setVisited--">setVisited</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setVisited-boolean-">setVisited</a></code></li>
+<code><a href="../../../../org/apache/sysds/hops/Hop.html#addAllInputs-java.util.ArrayList-">addAllInputs</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#addInput-org.apache.sysds.hops.Hop-">addInput</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#checkAndSetForcedPlatform--">checkAndSetForcedPlatform</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#checkAndSetInvalidCPDimsAndSize--">checkAndSetInvalidCPDimsAndSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#clearMemEstimate--">clearMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#colsKnown--">colsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeBoundsInformation-org.apache.sysds.hops.Hop-">computeBoundsInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeBoundsInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">computeBoundsInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeBoundsInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">computeBoundsInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeMemEstimate-org.apache.sysds.hops.MemoTable-">computeMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeSizeInformation-org.apache.sysds.hops.Hop-">computeSizeInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeSizeInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">computeSizeInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeSizeInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">computeSizeInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#constructAndSetLopsDataFlowProperties--">constructAndSetLopsDataFlowProperties</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#createOffsetLop-org.apache.sysds.hops.Hop-boolean-">createOffsetLop</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#dimsKnown--">dimsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#dimsKnown-boolean-">dimsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#dimsKnownAny--">dimsKnownAny</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getBeginLine--">getBeginLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getBlocksize--">getBlocksize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDataCharacteristics--">getDataCharacteristics</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDataType--">getDataType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDim-int-">getDim</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDim1--">getDim1</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDim2--">getDim2</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getEndColumn--">getEndColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getEndLine--">getEndLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getExecType--">getExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getFilename--">getFilename</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getForcedExecType--">getForcedExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getHopID--">getHopID</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInput--">getInput</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInput-int-">getInput</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInputMemEstimate--">getInputMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInputOutputSize-java.util.Collection-">getInputOutputSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getIntermediateMemEstimate--">getIntermediateMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getLength--">getLength</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getLops--">getLops</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getMemEstimate--">getMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getName--">getName</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getNnz--">getNnz</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getOutputMemEstimate--">getOutputMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getParent--">getParent</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getPrivacy--">getPrivacy</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getSparsity--">getSparsity</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getSpBroadcastSize--">getSpBroadcastSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getText--">getText</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getUpdateType--">getUpdateType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getValueType--">getValueType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#hasMatrixInputWithDifferentBlocksizes--">hasMatrixInputWithDifferentBlocksizes</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#hasValidCPDimsAndSize--">hasValidCPDimsAndSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isMatrix--">isMatrix</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isMemEstimated--">isMemEstimated</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isOutputEmptyBlocks--">isOutputEmptyBlocks</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isScalar--">isScalar</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isVisited--">isVisited</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#printErrorLocation--">printErrorLocation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshColsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">refreshColsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshColsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">refreshColsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshMemEstimates-org.apache.sysds.hops.MemoTable-">refreshMemEstimates</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshRowsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">refreshRowsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshRowsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">refreshRowsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresCheckpoint--">requiresCheckpoint</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresCompression--">requiresCompression</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresLineageCaching--">requiresLineageCaching</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresReblock--">requiresReblock</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresRecompile--">requiresRecompile</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetExecType--">resetExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetRecompilationFlag-java.util.ArrayList-org.apache.sysds.lops.LopProperties.ExecType-org.apache.sysds.hops.recompile.Recompiler.ResetType-">resetRecompilationFlag</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetRecompilationFlag-org.apache.sysds.hops.Hop-org.apache.sysds.lops.LopProperties.ExecType-org.apache.sysds.hops.recompile.Recompiler.ResetType-">resetRecompilationFlag</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus--">resetVisitStatus</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus-java.util.ArrayList-">resetVisitStatus</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus-java.util.ArrayList-boolean-">resetVisitStatus</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatusForced-java.util.HashSet-">resetVisitStatusForced</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#rowsKnown--">rowsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setBeginColumn-int-">setBeginColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setBeginLine-int-">setBeginLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setBlocksize-int-">setBlocksize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDataType-org.apache.sysds.common.Types.DataType-">setDataType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDim-int-long-">setDim</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDim1-long-">setDim1</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDim2-long-">setDim2</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setEndColumn-int-">setEndColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setEndLine-int-">setEndLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setFilename-java.lang.String-">setFilename</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setForcedExecType-org.apache.sysds.lops.LopProperties.ExecType-">setForcedExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setLops-org.apache.sysds.lops.Lop-">setLops</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setMemEstimate-double-">setMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setName-java.lang.String-">setName</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setNnz-long-">setNnz</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setOutputEmptyBlocks-boolean-">setOutputEmptyBlocks</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setParseInfo-org.apache.sysds.parser.ParseInfo-">setParseInfo</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setPrivacy-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacy</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresCheckpoint-boolean-">setRequiresCheckpoint</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresCompression-boolean-">setRequiresCompression</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresDeCompression-boolean-">setRequiresDeCompression</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresLineageCaching-boolean-">setRequiresLineageCaching</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresReblock-boolean-">setRequiresReblock</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresRecompile--">setRequiresRecompile</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setText-java.lang.String-">setText</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setUpdateType-org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType-">setUpdateType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setValueType-org.apache.sysds.common.Types.ValueType-">setValueType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setVisited--">setVisited</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setVisited-boolean-">setVisited</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#toString--">toString</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
-<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.parser.ParseInfo">
@@ -576,6 +576,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/BinaryOp.AppendMethod.html b/docs/api/java/org/apache/sysds/hops/BinaryOp.AppendMethod.html
index d8fbb86..c01510b 100644
--- a/docs/api/java/org/apache/sysds/hops/BinaryOp.AppendMethod.html
+++ b/docs/api/java/org/apache/sysds/hops/BinaryOp.AppendMethod.html
@@ -377,6 +377,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/BinaryOp.MMBinaryMethod.html b/docs/api/java/org/apache/sysds/hops/BinaryOp.MMBinaryMethod.html
index d8c49da..00f7524 100644
--- a/docs/api/java/org/apache/sysds/hops/BinaryOp.MMBinaryMethod.html
+++ b/docs/api/java/org/apache/sysds/hops/BinaryOp.MMBinaryMethod.html
@@ -389,6 +389,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/BinaryOp.html b/docs/api/java/org/apache/sysds/hops/BinaryOp.html
index dd9bd6c..6e14ecf 100644
--- a/docs/api/java/org/apache/sysds/hops/BinaryOp.html
+++ b/docs/api/java/org/apache/sysds/hops/BinaryOp.html
@@ -331,14 +331,14 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.hops.<a href="../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a></h3>
-<code><a href="../../../../org/apache/sysds/hops/Hop.html#addAllInputs-java.util.ArrayList-">addAllInputs</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#addInput-org.apache.sysds.hops.Hop-">addInput</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#checkAndSetForcedPlatform--">checkAndSetForcedPlatform</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#checkAndSetInvalidCPDimsAndSize--">checkAndSetInvalidCPDimsAndSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#clearMemEstimate--">clearMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#colsKnown--">colsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeBoundsInformation-org.apache.sysds.hops.Hop-">computeBoundsInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeBoundsInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">computeBoundsInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeBoundsInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">computeBoundsInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeMemEstimate-org.apache.sysds.hops.MemoTable-">computeMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeSizeInformation-org.apache.sysds.hops.Hop-">computeSizeInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeSizeInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">computeSizeInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeSizeInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">computeSizeInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#constructAndSetLopsDataFlowProperties--">constructAndSetLopsDataFlowProperties</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#createOffsetLop-org.apache.sysds.hops.Hop-boolean-">createOffsetLop</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#dimsKnown--">dimsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#dimsKnown-boolean-">dimsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#dimsKnownAny--">dimsKnownAny</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getBeginLine--">getBeginLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getBlocksize--">getBlocksize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDataCharacteristics--">getDataCharacteristics</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDataType--">getDataType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDim-int-">getDim</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDim1--">getDim1</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDim2--">getDim2</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getEndColumn--">getEndColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getEndLine--">getEndLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getExecType--">getExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getFilename--">getFilename</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getForcedExecType--">getForcedExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getHopID--">getHopID</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInput--">getInput</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInputMemEstimate--">getInputMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInputOutputSize-java.util.Collection-">getInputOutputSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getIntermediateMemEstimate--">getIntermediateMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getLength--">getLength</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getLops--">getLops</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getMemEstimate--">getMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getName--">getName</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getNnz--">getNnz</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getOutputMemEstimate--">getOutputMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getParent--">getParent</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getPrivacy--">getPrivacy</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getSparsity--">getSparsity</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getSpBroadcastSize--">getSpBroadcastSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getText--">getText</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getUpdateType--">getUpdateType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getValueType--">getValueType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#hasMatrixInputWithDifferentBlocksizes--">hasMatrixInputWithDifferentBlocksizes</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#hasValidCPDimsAndSize--">hasValidCPDimsAndSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isMatrix--">isMatrix</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isMemEstimated--">isMemEstimated</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isOutputEmptyBlocks--">isOutputEmptyBlocks</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isScalar--">isScalar</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isTransposeSafe--">isTransposeSafe</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isVisited--">isVisited</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#printErrorLocation--">printErrorLocation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshColsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">refreshColsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshColsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">refreshColsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshMemEstimates-org.apache.sysds.hops.MemoTable-">refreshMemEstimates</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshRowsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">refreshRowsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshRowsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">refreshRowsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresCheckpoint--">requiresCheckpoint</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresCompression--">requiresCompression</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresLineageCaching--">requiresLineageCaching</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresReblock--">requiresReblock</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresRecompile--">requiresRecompile</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetExecType--">resetExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetRecompilationFlag-java.util.ArrayList-org.apache.sysds.lops.LopProperties.ExecType-org.apache.sysds.hops.recompile.Recompiler.ResetType-">resetRecompilationFlag</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetRecompilationFlag-org.apache.sysds.hops.Hop-org.apache.sysds.lops.LopProperties.ExecType-org.apache.sysds.hops.recompile.Recompiler.ResetType-">resetRecompilationFlag</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus--">resetVisitStatus</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus-java.util.ArrayList-">resetVisitStatus</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus-java.util.ArrayList-boolean-">resetVisitStatus</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatusForced-java.util.HashSet-">resetVisitStatusForced</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#rowsKnown--">rowsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setBeginColumn-int-">setBeginColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setBeginLine-int-">setBeginLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setBlocksize-int-">setBlocksize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDataType-org.apache.sysds.common.Types.DataType-">setDataType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDim-int-long-">setDim</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDim1-long-">setDim1</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDim2-long-">setDim2</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setEndColumn-int-">setEndColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setEndLine-int-">setEndLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setFilename-java.lang.String-">setFilename</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setForcedExecType-org.apache.sysds.lops.LopProperties.ExecType-">setForcedExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setLops-org.apache.sysds.lops.Lop-">setLops</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setMemEstimate-double-">setMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setName-java.lang.String-">setName</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setNnz-long-">setNnz</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setOutputEmptyBlocks-boolean-">setOutputEmptyBlocks</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setParseInfo-org.apache.sysds.parser.ParseInfo-">setParseInfo</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setPrivacy-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacy</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresCheckpoint-boolean-">setRequiresCheckpoint</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresCompression-boolean-">setRequiresCompression</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresLineageCaching-boolean-">setRequiresLineageCaching</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresReblock-boolean-">setRequiresReblock</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresRecompile--">setRequiresRecompile</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setText-java.lang.String-">setText</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setUpdateType-org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType-">setUpdateType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setValueType-org.apache.sysds.common.Types.ValueType-">setValueType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setVisited--">setVisited</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setVisited-boolean-">setVisited</a></code></li>
+<code><a href="../../../../org/apache/sysds/hops/Hop.html#addAllInputs-java.util.ArrayList-">addAllInputs</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#addInput-org.apache.sysds.hops.Hop-">addInput</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#checkAndSetForcedPlatform--">checkAndSetForcedPlatform</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#checkAndSetInvalidCPDimsAndSize--">checkAndSetInvalidCPDimsAndSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#clearMemEstimate--">clearMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#colsKnown--">colsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeBoundsInformation-org.apache.sysds.hops.Hop-">computeBoundsInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeBoundsInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">computeBoundsInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeBoundsInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">computeBoundsInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeMemEstimate-org.apache.sysds.hops.MemoTable-">computeMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeSizeInformation-org.apache.sysds.hops.Hop-">computeSizeInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeSizeInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">computeSizeInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeSizeInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">computeSizeInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#constructAndSetLopsDataFlowProperties--">constructAndSetLopsDataFlowProperties</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#createOffsetLop-org.apache.sysds.hops.Hop-boolean-">createOffsetLop</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#dimsKnown--">dimsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#dimsKnown-boolean-">dimsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#dimsKnownAny--">dimsKnownAny</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getBeginLine--">getBeginLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getBlocksize--">getBlocksize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDataCharacteristics--">getDataCharacteristics</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDataType--">getDataType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDim-int-">getDim</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDim1--">getDim1</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDim2--">getDim2</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getEndColumn--">getEndColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getEndLine--">getEndLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getExecType--">getExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getFilename--">getFilename</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getForcedExecType--">getForcedExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getHopID--">getHopID</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInput--">getInput</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInput-int-">getInput</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInputMemEstimate--">getInputMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInputOutputSize-java.util.Collection-">getInputOutputSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getIntermediateMemEstimate--">getIntermediateMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getLength--">getLength</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getLops--">getLops</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getMemEstimate--">getMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getName--">getName</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getNnz--">getNnz</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getOutputMemEstimate--">getOutputMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getParent--">getParent</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getPrivacy--">getPrivacy</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getSparsity--">getSparsity</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getSpBroadcastSize--">getSpBroadcastSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getText--">getText</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getUpdateType--">getUpdateType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getValueType--">getValueType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#hasMatrixInputWithDifferentBlocksizes--">hasMatrixInputWithDifferentBlocksizes</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#hasValidCPDimsAndSize--">hasValidCPDimsAndSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isMatrix--">isMatrix</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isMemEstimated--">isMemEstimated</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isOutputEmptyBlocks--">isOutputEmptyBlocks</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isScalar--">isScalar</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isTransposeSafe--">isTransposeSafe</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isVisited--">isVisited</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#printErrorLocation--">printErrorLocation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshColsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">refreshColsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshColsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">refreshColsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshMemEstimates-org.apache.sysds.hops.MemoTable-">refreshMemEstimates</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshRowsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">refreshRowsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshRowsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">refreshRowsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresCheckpoint--">requiresCheckpoint</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresCompression--">requiresCompression</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresLineageCaching--">requiresLineageCaching</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresReblock--">requiresReblock</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresRecompile--">requiresRecompile</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetExecType--">resetExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetRecompilationFlag-java.util.ArrayList-org.apache.sysds.lops.LopProperties.ExecType-org.apache.sysds.hops.recompile.Recompiler.ResetType-">resetRecompilationFlag</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetRecompilationFlag-org.apache.sysds.hops.Hop-org.apache.sysds.lops.LopProperties.ExecType-org.apache.sysds.hops.recompile.Recompiler.ResetType-">resetRecompilationFlag</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus--">resetVisitStatus</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus-java.util.ArrayList-">resetVisitStatus</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus-java.util.ArrayList-boolean-">resetVisitStatus</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatusForced-java.util.HashSet-">resetVisitStatusForced</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#rowsKnown--">rowsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setBeginColumn-int-">setBeginColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setBeginLine-int-">setBeginLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setBlocksize-int-">setBlocksize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDataType-org.apache.sysds.common.Types.DataType-">setDataType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDim-int-long-">setDim</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDim1-long-">setDim1</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDim2-long-">setDim2</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setEndColumn-int-">setEndColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setEndLine-int-">setEndLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setFilename-java.lang.String-">setFilename</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setForcedExecType-org.apache.sysds.lops.LopProperties.ExecType-">setForcedExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setLops-org.apache.sysds.lops.Lop-">setLops</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setMemEstimate-double-">setMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setName-java.lang.String-">setName</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setNnz-long-">setNnz</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setOutputEmptyBlocks-boolean-">setOutputEmptyBlocks</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setParseInfo-org.apache.sysds.parser.ParseInfo-">setParseInfo</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setPrivacy-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacy</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresCheckpoint-boolean-">setRequiresCheckpoint</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresCompression-boolean-">setRequiresCompression</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresDeCompression-boolean-">setRequiresDeCompression</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresLineageCaching-boolean-">setRequiresLineageCaching</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresReblock-boolean-">setRequiresReblock</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresRecompile--">setRequiresRecompile</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setText-java.lang.String-">setText</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setUpdateType-org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType-">setUpdateType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setValueType-org.apache.sysds.common.Types.ValueType-">setValueType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setVisited--">setVisited</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setVisited-boolean-">setVisited</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#toString--">toString</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
-<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.parser.ParseInfo">
@@ -744,6 +744,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/DataGenOp.html b/docs/api/java/org/apache/sysds/hops/DataGenOp.html
index 6bcbb2d..0465abc 100644
--- a/docs/api/java/org/apache/sysds/hops/DataGenOp.html
+++ b/docs/api/java/org/apache/sysds/hops/DataGenOp.html
@@ -306,14 +306,14 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.hops.<a href="../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a></h3>
-<code><a href="../../../../org/apache/sysds/hops/Hop.html#addAllInputs-java.util.ArrayList-">addAllInputs</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#addInput-org.apache.sysds.hops.Hop-">addInput</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#checkAndSetForcedPlatform--">checkAndSetForcedPlatform</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#checkAndSetInvalidCPDimsAndSize--">checkAndSetInvalidCPDimsAndSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#clearMemEstimate--">clearMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#colsKnown--">colsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeBoundsInformation-org.apache.sysds.hops.Hop-">computeBoundsInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeBoundsInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">computeBoundsInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeBoundsInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">computeBoundsInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeMemEstimate-org.apache.sysds.hops.MemoTable-">computeMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeSizeInformation-org.apache.sysds.hops.Hop-">computeSizeInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeSizeInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">computeSizeInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeSizeInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">computeSizeInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#constructAndSetLopsDataFlowProperties--">constructAndSetLopsDataFlowProperties</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#createOffsetLop-org.apache.sysds.hops.Hop-boolean-">createOffsetLop</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#dimsKnown--">dimsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#dimsKnown-boolean-">dimsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#dimsKnownAny--">dimsKnownAny</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getBeginLine--">getBeginLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getBlocksize--">getBlocksize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDataCharacteristics--">getDataCharacteristics</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDataType--">getDataType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDim-int-">getDim</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDim1--">getDim1</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDim2--">getDim2</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getEndColumn--">getEndColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getEndLine--">getEndLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getExecType--">getExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getFilename--">getFilename</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getForcedExecType--">getForcedExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getHopID--">getHopID</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInput--">getInput</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInputMemEstimate--">getInputMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInputOutputSize-java.util.Collection-">getInputOutputSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getIntermediateMemEstimate--">getIntermediateMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getLength--">getLength</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getLops--">getLops</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getMemEstimate--">getMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getName--">getName</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getNnz--">getNnz</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getOutputMemEstimate--">getOutputMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getParent--">getParent</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getPrivacy--">getPrivacy</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getSparsity--">getSparsity</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getSpBroadcastSize--">getSpBroadcastSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getText--">getText</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getUpdateType--">getUpdateType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getValueType--">getValueType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#hasMatrixInputWithDifferentBlocksizes--">hasMatrixInputWithDifferentBlocksizes</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#hasValidCPDimsAndSize--">hasValidCPDimsAndSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isMatrix--">isMatrix</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isMemEstimated--">isMemEstimated</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isOutputEmptyBlocks--">isOutputEmptyBlocks</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isScalar--">isScalar</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isTransposeSafe--">isTransposeSafe</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isVisited--">isVisited</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#printErrorLocation--">printErrorLocation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshColsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">refreshColsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshColsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">refreshColsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshMemEstimates-org.apache.sysds.hops.MemoTable-">refreshMemEstimates</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshRowsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">refreshRowsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshRowsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">refreshRowsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresCheckpoint--">requiresCheckpoint</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresCompression--">requiresCompression</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresLineageCaching--">requiresLineageCaching</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresReblock--">requiresReblock</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresRecompile--">requiresRecompile</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetExecType--">resetExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetRecompilationFlag-java.util.ArrayList-org.apache.sysds.lops.LopProperties.ExecType-org.apache.sysds.hops.recompile.Recompiler.ResetType-">resetRecompilationFlag</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetRecompilationFlag-org.apache.sysds.hops.Hop-org.apache.sysds.lops.LopProperties.ExecType-org.apache.sysds.hops.recompile.Recompiler.ResetType-">resetRecompilationFlag</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus--">resetVisitStatus</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus-java.util.ArrayList-">resetVisitStatus</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus-java.util.ArrayList-boolean-">resetVisitStatus</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatusForced-java.util.HashSet-">resetVisitStatusForced</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#rowsKnown--">rowsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setBeginColumn-int-">setBeginColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setBeginLine-int-">setBeginLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setBlocksize-int-">setBlocksize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDataType-org.apache.sysds.common.Types.DataType-">setDataType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDim-int-long-">setDim</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDim1-long-">setDim1</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDim2-long-">setDim2</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setEndColumn-int-">setEndColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setEndLine-int-">setEndLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setFilename-java.lang.String-">setFilename</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setForcedExecType-org.apache.sysds.lops.LopProperties.ExecType-">setForcedExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setLops-org.apache.sysds.lops.Lop-">setLops</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setMemEstimate-double-">setMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setName-java.lang.String-">setName</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setNnz-long-">setNnz</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setOutputEmptyBlocks-boolean-">setOutputEmptyBlocks</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setParseInfo-org.apache.sysds.parser.ParseInfo-">setParseInfo</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setPrivacy-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacy</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresCheckpoint-boolean-">setRequiresCheckpoint</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresCompression-boolean-">setRequiresCompression</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresLineageCaching-boolean-">setRequiresLineageCaching</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresReblock-boolean-">setRequiresReblock</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresRecompile--">setRequiresRecompile</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setText-java.lang.String-">setText</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setUpdateType-org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType-">setUpdateType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setValueType-org.apache.sysds.common.Types.ValueType-">setValueType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setVisited--">setVisited</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setVisited-boolean-">setVisited</a></code></li>
+<code><a href="../../../../org/apache/sysds/hops/Hop.html#addAllInputs-java.util.ArrayList-">addAllInputs</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#addInput-org.apache.sysds.hops.Hop-">addInput</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#checkAndSetForcedPlatform--">checkAndSetForcedPlatform</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#checkAndSetInvalidCPDimsAndSize--">checkAndSetInvalidCPDimsAndSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#clearMemEstimate--">clearMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#colsKnown--">colsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeBoundsInformation-org.apache.sysds.hops.Hop-">computeBoundsInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeBoundsInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">computeBoundsInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeBoundsInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">computeBoundsInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeMemEstimate-org.apache.sysds.hops.MemoTable-">computeMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeSizeInformation-org.apache.sysds.hops.Hop-">computeSizeInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeSizeInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">computeSizeInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeSizeInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">computeSizeInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#constructAndSetLopsDataFlowProperties--">constructAndSetLopsDataFlowProperties</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#createOffsetLop-org.apache.sysds.hops.Hop-boolean-">createOffsetLop</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#dimsKnown--">dimsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#dimsKnown-boolean-">dimsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#dimsKnownAny--">dimsKnownAny</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getBeginLine--">getBeginLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getBlocksize--">getBlocksize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDataCharacteristics--">getDataCharacteristics</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDataType--">getDataType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDim-int-">getDim</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDim1--">getDim1</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDim2--">getDim2</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getEndColumn--">getEndColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getEndLine--">getEndLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getExecType--">getExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getFilename--">getFilename</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getForcedExecType--">getForcedExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getHopID--">getHopID</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInput--">getInput</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInput-int-">getInput</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInputMemEstimate--">getInputMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInputOutputSize-java.util.Collection-">getInputOutputSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getIntermediateMemEstimate--">getIntermediateMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getLength--">getLength</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getLops--">getLops</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getMemEstimate--">getMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getName--">getName</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getNnz--">getNnz</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getOutputMemEstimate--">getOutputMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getParent--">getParent</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getPrivacy--">getPrivacy</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getSparsity--">getSparsity</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getSpBroadcastSize--">getSpBroadcastSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getText--">getText</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getUpdateType--">getUpdateType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getValueType--">getValueType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#hasMatrixInputWithDifferentBlocksizes--">hasMatrixInputWithDifferentBlocksizes</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#hasValidCPDimsAndSize--">hasValidCPDimsAndSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isMatrix--">isMatrix</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isMemEstimated--">isMemEstimated</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isOutputEmptyBlocks--">isOutputEmptyBlocks</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isScalar--">isScalar</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isTransposeSafe--">isTransposeSafe</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isVisited--">isVisited</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#printErrorLocation--">printErrorLocation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshColsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">refreshColsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshColsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">refreshColsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshMemEstimates-org.apache.sysds.hops.MemoTable-">refreshMemEstimates</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshRowsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">refreshRowsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshRowsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">refreshRowsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresCheckpoint--">requiresCheckpoint</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresCompression--">requiresCompression</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresLineageCaching--">requiresLineageCaching</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresReblock--">requiresReblock</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresRecompile--">requiresRecompile</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetExecType--">resetExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetRecompilationFlag-java.util.ArrayList-org.apache.sysds.lops.LopProperties.ExecType-org.apache.sysds.hops.recompile.Recompiler.ResetType-">resetRecompilationFlag</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetRecompilationFlag-org.apache.sysds.hops.Hop-org.apache.sysds.lops.LopProperties.ExecType-org.apache.sysds.hops.recompile.Recompiler.ResetType-">resetRecompilationFlag</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus--">resetVisitStatus</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus-java.util.ArrayList-">resetVisitStatus</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus-java.util.ArrayList-boolean-">resetVisitStatus</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatusForced-java.util.HashSet-">resetVisitStatusForced</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#rowsKnown--">rowsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setBeginColumn-int-">setBeginColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setBeginLine-int-">setBeginLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setBlocksize-int-">setBlocksize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDataType-org.apache.sysds.common.Types.DataType-">setDataType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDim-int-long-">setDim</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDim1-long-">setDim1</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDim2-long-">setDim2</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setEndColumn-int-">setEndColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setEndLine-int-">setEndLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setFilename-java.lang.String-">setFilename</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setForcedExecType-org.apache.sysds.lops.LopProperties.ExecType-">setForcedExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setLops-org.apache.sysds.lops.Lop-">setLops</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setMemEstimate-double-">setMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setName-java.lang.String-">setName</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setNnz-long-">setNnz</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setOutputEmptyBlocks-boolean-">setOutputEmptyBlocks</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setParseInfo-org.apache.sysds.parser.ParseInfo-">setParseInfo</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setPrivacy-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacy</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresCheckpoint-boolean-">setRequiresCheckpoint</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresCompression-boolean-">setRequiresCompression</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresDeCompression-boolean-">setRequiresDeCompression</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresLineageCaching-boolean-">setRequiresLineageCaching</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresReblock-boolean-">setRequiresReblock</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresRecompile--">setRequiresRecompile</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setText-java.lang.String-">setText</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setUpdateType-org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType-">setUpdateType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setValueType-org.apache.sysds.common.Types.ValueType-">setValueType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setVisited--">setVisited</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setVisited-boolean-">setVisited</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#toString--">toString</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
-<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.parser.ParseInfo">
@@ -719,6 +719,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/DataOp.html b/docs/api/java/org/apache/sysds/hops/DataOp.html
index 5d1bf15..72bf0d8 100644
--- a/docs/api/java/org/apache/sysds/hops/DataOp.html
+++ b/docs/api/java/org/apache/sysds/hops/DataOp.html
@@ -254,17 +254,17 @@
 </td>
 </tr>
 <tr id="i6" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/sysds/common/Types.FileFormat.html" title="enum in org.apache.sysds.common">Types.FileFormat</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/DataOp.html#getFileFormat--">getFileFormat</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/DataOp.html#getFileName--">getFileName</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/DataOp.html#getInputBlocksize--">getInputBlocksize</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i8" class="altColor">
-<td class="colFirst"><code><a href="../../../../org/apache/sysds/common/Types.FileFormat.html" title="enum in org.apache.sysds.common">Types.FileFormat</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/DataOp.html#getInputFormatType--">getInputFormatType</a></span>()</code>&nbsp;</td>
-</tr>
 <tr id="i9" class="rowColor">
 <td class="colFirst"><code><a href="../../../../org/apache/sysds/common/Types.OpOpData.html" title="enum in org.apache.sysds.common">Types.OpOpData</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/DataOp.html#getOp--">getOp</a></span>()</code>&nbsp;</td>
@@ -314,15 +314,15 @@
 </tr>
 <tr id="i19" class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/DataOp.html#setFileName-java.lang.String-">setFileName</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;fn)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/DataOp.html#setFileFormat-org.apache.sysds.common.Types.FileFormat-">setFileFormat</a></span>(<a href="../../../../org/apache/sysds/common/Types.FileFormat.html" title="enum in org.apache.sysds.common">Types.FileFormat</a>&nbsp;ft)</code>&nbsp;</td>
 </tr>
 <tr id="i20" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/DataOp.html#setInputBlocksize-long-">setInputBlocksize</a></span>(long&nbsp;blen)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/DataOp.html#setFileName-java.lang.String-">setFileName</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;fn)</code>&nbsp;</td>
 </tr>
 <tr id="i21" class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/DataOp.html#setInputFormatType-org.apache.sysds.common.Types.FileFormat-">setInputFormatType</a></span>(<a href="../../../../org/apache/sysds/common/Types.FileFormat.html" title="enum in org.apache.sysds.common">Types.FileFormat</a>&nbsp;ft)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/DataOp.html#setInputBlocksize-long-">setInputBlocksize</a></span>(long&nbsp;blen)</code>&nbsp;</td>
 </tr>
 <tr id="i22" class="altColor">
 <td class="colFirst"><code>void</code></td>
@@ -338,14 +338,14 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.hops.<a href="../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a></h3>
-<code><a href="../../../../org/apache/sysds/hops/Hop.html#addAllInputs-java.util.ArrayList-">addAllInputs</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#addInput-org.apache.sysds.hops.Hop-">addInput</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#checkAndSetForcedPlatform--">checkAndSetForcedPlatform</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#checkAndSetInvalidCPDimsAndSize--">checkAndSetInvalidCPDimsAndSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#clearMemEstimate--">clearMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#colsKnown--">colsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeBoundsInformation-org.apache.sysds.hops.Hop-">computeBoundsInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeBoundsInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">computeBoundsInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeBoundsInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">computeBoundsInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeMemEstimate-org.apache.sysds.hops.MemoTable-">computeMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeSizeInformation-org.apache.sysds.hops.Hop-">computeSizeInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeSizeInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">computeSizeInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeSizeInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">computeSizeInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#constructAndSetLopsDataFlowProperties--">constructAndSetLopsDataFlowProperties</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#createOffsetLop-org.apache.sysds.hops.Hop-boolean-">createOffsetLop</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#dimsKnown--">dimsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#dimsKnown-boolean-">dimsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#dimsKnownAny--">dimsKnownAny</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getBeginLine--">getBeginLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getBlocksize--">getBlocksize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDataCharacteristics--">getDataCharacteristics</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDataType--">getDataType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDim-int-">getDim</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDim1--">getDim1</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDim2--">getDim2</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getEndColumn--">getEndColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getEndLine--">getEndLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getExecType--">getExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getFilename--">getFilename</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getForcedExecType--">getForcedExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getHopID--">getHopID</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInput--">getInput</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInputMemEstimate--">getInputMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInputOutputSize-java.util.Collection-">getInputOutputSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getIntermediateMemEstimate--">getIntermediateMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getLength--">getLength</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getLops--">getLops</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getMemEstimate--">getMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getName--">getName</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getNnz--">getNnz</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getOutputMemEstimate--">getOutputMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getParent--">getParent</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getPrivacy--">getPrivacy</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getSparsity--">getSparsity</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getSpBroadcastSize--">getSpBroadcastSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getText--">getText</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getUpdateType--">getUpdateType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getValueType--">getValueType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#hasMatrixInputWithDifferentBlocksizes--">hasMatrixInputWithDifferentBlocksizes</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#hasValidCPDimsAndSize--">hasValidCPDimsAndSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isMatrix--">isMatrix</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isMemEstimated--">isMemEstimated</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isOutputEmptyBlocks--">isOutputEmptyBlocks</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isScalar--">isScalar</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isTransposeSafe--">isTransposeSafe</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isVisited--">isVisited</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#printErrorLocation--">printErrorLocation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshColsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">refreshColsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshColsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">refreshColsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshMemEstimates-org.apache.sysds.hops.MemoTable-">refreshMemEstimates</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshRowsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">refreshRowsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshRowsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">refreshRowsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresCheckpoint--">requiresCheckpoint</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresCompression--">requiresCompression</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresLineageCaching--">requiresLineageCaching</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresReblock--">requiresReblock</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresRecompile--">requiresRecompile</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetExecType--">resetExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetRecompilationFlag-java.util.ArrayList-org.apache.sysds.lops.LopProperties.ExecType-org.apache.sysds.hops.recompile.Recompiler.ResetType-">resetRecompilationFlag</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetRecompilationFlag-org.apache.sysds.hops.Hop-org.apache.sysds.lops.LopProperties.ExecType-org.apache.sysds.hops.recompile.Recompiler.ResetType-">resetRecompilationFlag</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus--">resetVisitStatus</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus-java.util.ArrayList-">resetVisitStatus</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus-java.util.ArrayList-boolean-">resetVisitStatus</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatusForced-java.util.HashSet-">resetVisitStatusForced</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#rowsKnown--">rowsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setBeginColumn-int-">setBeginColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setBeginLine-int-">setBeginLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setBlocksize-int-">setBlocksize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDataType-org.apache.sysds.common.Types.DataType-">setDataType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDim-int-long-">setDim</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDim1-long-">setDim1</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDim2-long-">setDim2</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setEndColumn-int-">setEndColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setEndLine-int-">setEndLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setFilename-java.lang.String-">setFilename</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setForcedExecType-org.apache.sysds.lops.LopProperties.ExecType-">setForcedExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setLops-org.apache.sysds.lops.Lop-">setLops</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setMemEstimate-double-">setMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setName-java.lang.String-">setName</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setNnz-long-">setNnz</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setOutputEmptyBlocks-boolean-">setOutputEmptyBlocks</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setParseInfo-org.apache.sysds.parser.ParseInfo-">setParseInfo</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setPrivacy-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacy</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresCheckpoint-boolean-">setRequiresCheckpoint</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresCompression-boolean-">setRequiresCompression</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresLineageCaching-boolean-">setRequiresLineageCaching</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresReblock-boolean-">setRequiresReblock</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresRecompile--">setRequiresRecompile</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setText-java.lang.String-">setText</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setUpdateType-org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType-">setUpdateType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setValueType-org.apache.sysds.common.Types.ValueType-">setValueType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setVisited--">setVisited</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setVisited-boolean-">setVisited</a></code></li>
+<code><a href="../../../../org/apache/sysds/hops/Hop.html#addAllInputs-java.util.ArrayList-">addAllInputs</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#addInput-org.apache.sysds.hops.Hop-">addInput</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#checkAndSetForcedPlatform--">checkAndSetForcedPlatform</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#checkAndSetInvalidCPDimsAndSize--">checkAndSetInvalidCPDimsAndSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#clearMemEstimate--">clearMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#colsKnown--">colsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeBoundsInformation-org.apache.sysds.hops.Hop-">computeBoundsInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeBoundsInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">computeBoundsInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeBoundsInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">computeBoundsInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeMemEstimate-org.apache.sysds.hops.MemoTable-">computeMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeSizeInformation-org.apache.sysds.hops.Hop-">computeSizeInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeSizeInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">computeSizeInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeSizeInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">computeSizeInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#constructAndSetLopsDataFlowProperties--">constructAndSetLopsDataFlowProperties</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#createOffsetLop-org.apache.sysds.hops.Hop-boolean-">createOffsetLop</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#dimsKnown--">dimsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#dimsKnown-boolean-">dimsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#dimsKnownAny--">dimsKnownAny</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getBeginLine--">getBeginLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getBlocksize--">getBlocksize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDataCharacteristics--">getDataCharacteristics</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDataType--">getDataType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDim-int-">getDim</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDim1--">getDim1</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDim2--">getDim2</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getEndColumn--">getEndColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getEndLine--">getEndLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getExecType--">getExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getFilename--">getFilename</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getForcedExecType--">getForcedExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getHopID--">getHopID</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInput--">getInput</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInput-int-">getInput</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInputMemEstimate--">getInputMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInputOutputSize-java.util.Collection-">getInputOutputSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getIntermediateMemEstimate--">getIntermediateMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getLength--">getLength</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getLops--">getLops</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getMemEstimate--">getMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getName--">getName</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getNnz--">getNnz</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getOutputMemEstimate--">getOutputMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getParent--">getParent</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getPrivacy--">getPrivacy</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getSparsity--">getSparsity</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getSpBroadcastSize--">getSpBroadcastSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getText--">getText</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getUpdateType--">getUpdateType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getValueType--">getValueType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#hasMatrixInputWithDifferentBlocksizes--">hasMatrixInputWithDifferentBlocksizes</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#hasValidCPDimsAndSize--">hasValidCPDimsAndSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isMatrix--">isMatrix</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isMemEstimated--">isMemEstimated</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isOutputEmptyBlocks--">isOutputEmptyBlocks</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isScalar--">isScalar</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isTransposeSafe--">isTransposeSafe</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isVisited--">isVisited</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#printErrorLocation--">printErrorLocation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshColsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">refreshColsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshColsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">refreshColsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshMemEstimates-org.apache.sysds.hops.MemoTable-">refreshMemEstimates</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshRowsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">refreshRowsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshRowsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">refreshRowsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresCheckpoint--">requiresCheckpoint</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresCompression--">requiresCompression</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresLineageCaching--">requiresLineageCaching</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresReblock--">requiresReblock</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresRecompile--">requiresRecompile</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetExecType--">resetExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetRecompilationFlag-java.util.ArrayList-org.apache.sysds.lops.LopProperties.ExecType-org.apache.sysds.hops.recompile.Recompiler.ResetType-">resetRecompilationFlag</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetRecompilationFlag-org.apache.sysds.hops.Hop-org.apache.sysds.lops.LopProperties.ExecType-org.apache.sysds.hops.recompile.Recompiler.ResetType-">resetRecompilationFlag</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus--">resetVisitStatus</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus-java.util.ArrayList-">resetVisitStatus</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus-java.util.ArrayList-boolean-">resetVisitStatus</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatusForced-java.util.HashSet-">resetVisitStatusForced</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#rowsKnown--">rowsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setBeginColumn-int-">setBeginColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setBeginLine-int-">setBeginLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setBlocksize-int-">setBlocksize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDataType-org.apache.sysds.common.Types.DataType-">setDataType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDim-int-long-">setDim</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDim1-long-">setDim1</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDim2-long-">setDim2</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setEndColumn-int-">setEndColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setEndLine-int-">setEndLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setFilename-java.lang.String-">setFilename</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setForcedExecType-org.apache.sysds.lops.LopProperties.ExecType-">setForcedExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setLops-org.apache.sysds.lops.Lop-">setLops</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setMemEstimate-double-">setMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setName-java.lang.String-">setName</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setNnz-long-">setNnz</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setOutputEmptyBlocks-boolean-">setOutputEmptyBlocks</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setParseInfo-org.apache.sysds.parser.ParseInfo-">setParseInfo</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setPrivacy-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacy</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresCheckpoint-boolean-">setRequiresCheckpoint</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresCompression-boolean-">setRequiresCompression</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresDeCompression-boolean-">setRequiresDeCompression</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresLineageCaching-boolean-">setRequiresLineageCaching</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresReblock-boolean-">setRequiresReblock</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresRecompile--">setRequiresRecompile</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setText-java.lang.String-">setText</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setUpdateType-org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType-">setUpdateType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setValueType-org.apache.sysds.common.Types.ValueType-">setValueType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setVisited--">setVisited</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setVisited-boolean-">setVisited</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#toString--">toString</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
-<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.parser.ParseInfo">
@@ -594,22 +594,22 @@
 </dl>
 </li>
 </ul>
-<a name="setInputFormatType-org.apache.sysds.common.Types.FileFormat-">
+<a name="setFileFormat-org.apache.sysds.common.Types.FileFormat-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setInputFormatType</h4>
-<pre>public&nbsp;void&nbsp;setInputFormatType(<a href="../../../../org/apache/sysds/common/Types.FileFormat.html" title="enum in org.apache.sysds.common">Types.FileFormat</a>&nbsp;ft)</pre>
+<h4>setFileFormat</h4>
+<pre>public&nbsp;void&nbsp;setFileFormat(<a href="../../../../org/apache/sysds/common/Types.FileFormat.html" title="enum in org.apache.sysds.common">Types.FileFormat</a>&nbsp;ft)</pre>
 </li>
 </ul>
-<a name="getInputFormatType--">
+<a name="getFileFormat--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getInputFormatType</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/sysds/common/Types.FileFormat.html" title="enum in org.apache.sysds.common">Types.FileFormat</a>&nbsp;getInputFormatType()</pre>
+<h4>getFileFormat</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/sysds/common/Types.FileFormat.html" title="enum in org.apache.sysds.common">Types.FileFormat</a>&nbsp;getFileFormat()</pre>
 </li>
 </ul>
 <a name="setInputBlocksize-long-">
@@ -824,6 +824,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/DnnOp.html b/docs/api/java/org/apache/sysds/hops/DnnOp.html
index 3f43101..5f2ef18 100644
--- a/docs/api/java/org/apache/sysds/hops/DnnOp.html
+++ b/docs/api/java/org/apache/sysds/hops/DnnOp.html
@@ -254,14 +254,14 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.hops.<a href="../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a></h3>
-<code><a href="../../../../org/apache/sysds/hops/Hop.html#addAllInputs-java.util.ArrayList-">addAllInputs</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#addInput-org.apache.sysds.hops.Hop-">addInput</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#checkAndSetForcedPlatform--">checkAndSetForcedPlatform</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#checkAndSetInvalidCPDimsAndSize--">checkAndSetInvalidCPDimsAndSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#clearMemEstimate--">clearMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#colsKnown--">colsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeBoundsInformation-org.apache.sysds.hops.Hop-">computeBoundsInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeBoundsInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">computeBoundsInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeBoundsInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">computeBoundsInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeMemEstimate-org.apache.sysds.hops.MemoTable-">computeMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeSizeInformation-org.apache.sysds.hops.Hop-">computeSizeInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeSizeInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">computeSizeInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeSizeInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">computeSizeInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#constructAndSetLopsDataFlowProperties--">constructAndSetLopsDataFlowProperties</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#createOffsetLop-org.apache.sysds.hops.Hop-boolean-">createOffsetLop</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#dimsKnown--">dimsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#dimsKnown-boolean-">dimsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#dimsKnownAny--">dimsKnownAny</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getBeginLine--">getBeginLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getBlocksize--">getBlocksize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDataCharacteristics--">getDataCharacteristics</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDataType--">getDataType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDim-int-">getDim</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDim1--">getDim1</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDim2--">getDim2</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getEndColumn--">getEndColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getEndLine--">getEndLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getExecType--">getExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getFilename--">getFilename</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getForcedExecType--">getForcedExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getHopID--">getHopID</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInput--">getInput</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInputMemEstimate--">getInputMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInputOutputSize-java.util.Collection-">getInputOutputSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getIntermediateMemEstimate--">getIntermediateMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getLength--">getLength</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getLops--">getLops</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getMemEstimate--">getMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getName--">getName</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getNnz--">getNnz</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getOutputMemEstimate--">getOutputMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getParent--">getParent</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getPrivacy--">getPrivacy</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getSparsity--">getSparsity</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getSpBroadcastSize--">getSpBroadcastSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getText--">getText</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getUpdateType--">getUpdateType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getValueType--">getValueType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#hasMatrixInputWithDifferentBlocksizes--">hasMatrixInputWithDifferentBlocksizes</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#hasValidCPDimsAndSize--">hasValidCPDimsAndSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isMatrix--">isMatrix</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isMemEstimated--">isMemEstimated</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isOutputEmptyBlocks--">isOutputEmptyBlocks</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isScalar--">isScalar</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isTransposeSafe--">isTransposeSafe</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isVisited--">isVisited</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#printErrorLocation--">printErrorLocation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshColsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">refreshColsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshColsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">refreshColsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshMemEstimates-org.apache.sysds.hops.MemoTable-">refreshMemEstimates</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshRowsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">refreshRowsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshRowsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">refreshRowsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresCheckpoint--">requiresCheckpoint</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresCompression--">requiresCompression</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresLineageCaching--">requiresLineageCaching</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresReblock--">requiresReblock</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresRecompile--">requiresRecompile</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetExecType--">resetExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetRecompilationFlag-java.util.ArrayList-org.apache.sysds.lops.LopProperties.ExecType-org.apache.sysds.hops.recompile.Recompiler.ResetType-">resetRecompilationFlag</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetRecompilationFlag-org.apache.sysds.hops.Hop-org.apache.sysds.lops.LopProperties.ExecType-org.apache.sysds.hops.recompile.Recompiler.ResetType-">resetRecompilationFlag</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus--">resetVisitStatus</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus-java.util.ArrayList-">resetVisitStatus</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus-java.util.ArrayList-boolean-">resetVisitStatus</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatusForced-java.util.HashSet-">resetVisitStatusForced</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#rowsKnown--">rowsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setBeginColumn-int-">setBeginColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setBeginLine-int-">setBeginLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setBlocksize-int-">setBlocksize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDataType-org.apache.sysds.common.Types.DataType-">setDataType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDim-int-long-">setDim</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDim1-long-">setDim1</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDim2-long-">setDim2</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setEndColumn-int-">setEndColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setEndLine-int-">setEndLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setFilename-java.lang.String-">setFilename</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setForcedExecType-org.apache.sysds.lops.LopProperties.ExecType-">setForcedExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setLops-org.apache.sysds.lops.Lop-">setLops</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setMemEstimate-double-">setMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setName-java.lang.String-">setName</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setNnz-long-">setNnz</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setOutputEmptyBlocks-boolean-">setOutputEmptyBlocks</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setParseInfo-org.apache.sysds.parser.ParseInfo-">setParseInfo</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setPrivacy-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacy</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresCheckpoint-boolean-">setRequiresCheckpoint</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresCompression-boolean-">setRequiresCompression</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresLineageCaching-boolean-">setRequiresLineageCaching</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresReblock-boolean-">setRequiresReblock</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresRecompile--">setRequiresRecompile</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setText-java.lang.String-">setText</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setUpdateType-org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType-">setUpdateType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setValueType-org.apache.sysds.common.Types.ValueType-">setValueType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setVisited--">setVisited</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setVisited-boolean-">setVisited</a></code></li>
+<code><a href="../../../../org/apache/sysds/hops/Hop.html#addAllInputs-java.util.ArrayList-">addAllInputs</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#addInput-org.apache.sysds.hops.Hop-">addInput</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#checkAndSetForcedPlatform--">checkAndSetForcedPlatform</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#checkAndSetInvalidCPDimsAndSize--">checkAndSetInvalidCPDimsAndSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#clearMemEstimate--">clearMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#colsKnown--">colsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeBoundsInformation-org.apache.sysds.hops.Hop-">computeBoundsInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeBoundsInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">computeBoundsInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeBoundsInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">computeBoundsInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeMemEstimate-org.apache.sysds.hops.MemoTable-">computeMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeSizeInformation-org.apache.sysds.hops.Hop-">computeSizeInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeSizeInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">computeSizeInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeSizeInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">computeSizeInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#constructAndSetLopsDataFlowProperties--">constructAndSetLopsDataFlowProperties</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#createOffsetLop-org.apache.sysds.hops.Hop-boolean-">createOffsetLop</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#dimsKnown--">dimsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#dimsKnown-boolean-">dimsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#dimsKnownAny--">dimsKnownAny</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getBeginLine--">getBeginLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getBlocksize--">getBlocksize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDataCharacteristics--">getDataCharacteristics</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDataType--">getDataType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDim-int-">getDim</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDim1--">getDim1</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDim2--">getDim2</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getEndColumn--">getEndColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getEndLine--">getEndLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getExecType--">getExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getFilename--">getFilename</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getForcedExecType--">getForcedExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getHopID--">getHopID</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInput--">getInput</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInput-int-">getInput</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInputMemEstimate--">getInputMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInputOutputSize-java.util.Collection-">getInputOutputSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getIntermediateMemEstimate--">getIntermediateMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getLength--">getLength</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getLops--">getLops</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getMemEstimate--">getMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getName--">getName</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getNnz--">getNnz</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getOutputMemEstimate--">getOutputMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getParent--">getParent</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getPrivacy--">getPrivacy</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getSparsity--">getSparsity</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getSpBroadcastSize--">getSpBroadcastSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getText--">getText</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getUpdateType--">getUpdateType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getValueType--">getValueType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#hasMatrixInputWithDifferentBlocksizes--">hasMatrixInputWithDifferentBlocksizes</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#hasValidCPDimsAndSize--">hasValidCPDimsAndSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isMatrix--">isMatrix</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isMemEstimated--">isMemEstimated</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isOutputEmptyBlocks--">isOutputEmptyBlocks</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isScalar--">isScalar</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isTransposeSafe--">isTransposeSafe</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isVisited--">isVisited</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#printErrorLocation--">printErrorLocation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshColsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">refreshColsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshColsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">refreshColsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshMemEstimates-org.apache.sysds.hops.MemoTable-">refreshMemEstimates</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshRowsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">refreshRowsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshRowsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">refreshRowsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresCheckpoint--">requiresCheckpoint</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresCompression--">requiresCompression</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresLineageCaching--">requiresLineageCaching</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresReblock--">requiresReblock</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresRecompile--">requiresRecompile</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetExecType--">resetExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetRecompilationFlag-java.util.ArrayList-org.apache.sysds.lops.LopProperties.ExecType-org.apache.sysds.hops.recompile.Recompiler.ResetType-">resetRecompilationFlag</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetRecompilationFlag-org.apache.sysds.hops.Hop-org.apache.sysds.lops.LopProperties.ExecType-org.apache.sysds.hops.recompile.Recompiler.ResetType-">resetRecompilationFlag</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus--">resetVisitStatus</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus-java.util.ArrayList-">resetVisitStatus</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus-java.util.ArrayList-boolean-">resetVisitStatus</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatusForced-java.util.HashSet-">resetVisitStatusForced</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#rowsKnown--">rowsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setBeginColumn-int-">setBeginColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setBeginLine-int-">setBeginLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setBlocksize-int-">setBlocksize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDataType-org.apache.sysds.common.Types.DataType-">setDataType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDim-int-long-">setDim</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDim1-long-">setDim1</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDim2-long-">setDim2</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setEndColumn-int-">setEndColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setEndLine-int-">setEndLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setFilename-java.lang.String-">setFilename</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setForcedExecType-org.apache.sysds.lops.LopProperties.ExecType-">setForcedExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setLops-org.apache.sysds.lops.Lop-">setLops</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setMemEstimate-double-">setMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setName-java.lang.String-">setName</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setNnz-long-">setNnz</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setOutputEmptyBlocks-boolean-">setOutputEmptyBlocks</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setParseInfo-org.apache.sysds.parser.ParseInfo-">setParseInfo</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setPrivacy-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacy</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresCheckpoint-boolean-">setRequiresCheckpoint</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresCompression-boolean-">setRequiresCompression</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresDeCompression-boolean-">setRequiresDeCompression</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresLineageCaching-boolean-">setRequiresLineageCaching</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresReblock-boolean-">setRequiresReblock</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresRecompile--">setRequiresRecompile</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setText-java.lang.String-">setText</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setUpdateType-org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType-">setUpdateType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setValueType-org.apache.sysds.common.Types.ValueType-">setValueType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setVisited--">setVisited</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setVisited-boolean-">setVisited</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#toString--">toString</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
-<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.parser.ParseInfo">
@@ -558,6 +558,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/FunctionOp.FunctionType.html b/docs/api/java/org/apache/sysds/hops/FunctionOp.FunctionType.html
index 9854217..594258c 100644
--- a/docs/api/java/org/apache/sysds/hops/FunctionOp.FunctionType.html
+++ b/docs/api/java/org/apache/sysds/hops/FunctionOp.FunctionType.html
@@ -353,6 +353,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/FunctionOp.html b/docs/api/java/org/apache/sysds/hops/FunctionOp.html
index 3f8bd7c..058f3a2 100644
--- a/docs/api/java/org/apache/sysds/hops/FunctionOp.html
+++ b/docs/api/java/org/apache/sysds/hops/FunctionOp.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -204,6 +204,16 @@
           <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;outputNames,
           boolean&nbsp;singleOut)</code>&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/FunctionOp.html#FunctionOp-org.apache.sysds.hops.FunctionOp.FunctionType-java.lang.String-java.lang.String-java.lang.String:A-java.util.List-java.lang.String:A-boolean-boolean-">FunctionOp</a></span>(<a href="../../../../org/apache/sysds/hops/FunctionOp.FunctionType.html" title="enum in org.apache.sysds.hops">FunctionOp.FunctionType</a>&nbsp;type,
+          <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;fnamespace,
+          <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;fname,
+          <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;inputNames,
+          <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&gt;&nbsp;inputs,
+          <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;outputNames,
+          boolean&nbsp;singleOut,
+          boolean&nbsp;pseudo)</code>&nbsp;</td>
+</tr>
 </table>
 </li>
 </ul>
@@ -291,24 +301,28 @@
 </td>
 </tr>
 <tr id="i16" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/FunctionOp.html#isPseudoFunctionCall--">isPseudoFunctionCall</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i17" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/FunctionOp.html#refreshSizeInformation--">refreshSizeInformation</a></span>()</code>
 <div class="block">Update the output size information for this hop.</div>
 </td>
 </tr>
-<tr id="i17" class="rowColor">
+<tr id="i18" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/FunctionOp.html#setCallOptimized-boolean-">setCallOptimized</a></span>(boolean&nbsp;opt)</code>&nbsp;</td>
 </tr>
-<tr id="i18" class="altColor">
+<tr id="i19" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/FunctionOp.html#setFunctionName-java.lang.String-">setFunctionName</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;fname)</code>&nbsp;</td>
 </tr>
-<tr id="i19" class="rowColor">
+<tr id="i20" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/FunctionOp.html#setFunctionNamespace-java.lang.String-">setFunctionNamespace</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;fnamespace)</code>&nbsp;</td>
 </tr>
-<tr id="i20" class="altColor">
+<tr id="i21" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/FunctionOp.html#setInputVariableNames-java.lang.String:A-">setInputVariableNames</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;names)</code>&nbsp;</td>
 </tr>
@@ -318,14 +332,14 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.hops.<a href="../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a></h3>
-<code><a href="../../../../org/apache/sysds/hops/Hop.html#addAllInputs-java.util.ArrayList-">addAllInputs</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#addInput-org.apache.sysds.hops.Hop-">addInput</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#checkAndSetForcedPlatform--">checkAndSetForcedPlatform</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#checkAndSetInvalidCPDimsAndSize--">checkAndSetInvalidCPDimsAndSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#clearMemEstimate--">clearMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#colsKnown--">colsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeBoundsInformation-org.apache.sysds.hops.Hop-">computeBoundsInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeBoundsInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">computeBoundsInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeBoundsInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">computeBoundsInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeSizeInformation-org.apache.sysds.hops.Hop-">computeSizeInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeSizeInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">computeSizeInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeSizeInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">computeSizeInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#constructAndSetLopsDataFlowProperties--">constructAndSetLopsDataFlowProperties</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#createOffsetLop-org.apache.sysds.hops.Hop-boolean-">createOffsetLop</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#dimsKnown--">dimsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#dimsKnown-boolean-">dimsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#dimsKnownAny--">dimsKnownAny</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getBeginLine--">getBeginLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getBlocksize--">getBlocksize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDataCharacteristics--">getDataCharacteristics</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDataType--">getDataType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDim-int-">getDim</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDim1--">getDim1</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDim2--">getDim2</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getEndColumn--">getEndColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getEndLine--">getEndLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getExecType--">getExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getFilename--">getFilename</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getForcedExecType--">getForcedExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getHopID--">getHopID</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInput--">getInput</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInputMemEstimate--">getInputMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInputOutputSize-java.util.Collection-">getInputOutputSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getIntermediateMemEstimate--">getIntermediateMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getLength--">getLength</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getLops--">getLops</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getMemEstimate--">getMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getName--">getName</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getNnz--">getNnz</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getOutputMemEstimate--">getOutputMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getParent--">getParent</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getPrivacy--">getPrivacy</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getSparsity--">getSparsity</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getSpBroadcastSize--">getSpBroadcastSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getText--">getText</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getUpdateType--">getUpdateType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getValueType--">getValueType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#hasMatrixInputWithDifferentBlocksizes--">hasMatrixInputWithDifferentBlocksizes</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#hasValidCPDimsAndSize--">hasValidCPDimsAndSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isMatrix--">isMatrix</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isMemEstimated--">isMemEstimated</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isOutputEmptyBlocks--">isOutputEmptyBlocks</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isScalar--">isScalar</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isTransposeSafe--">isTransposeSafe</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isVisited--">isVisited</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#printErrorLocation--">printErrorLocation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshColsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">refreshColsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshColsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">refreshColsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshMemEstimates-org.apache.sysds.hops.MemoTable-">refreshMemEstimates</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshRowsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">refreshRowsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshRowsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">refreshRowsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresCheckpoint--">requiresCheckpoint</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresCompression--">requiresCompression</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresLineageCaching--">requiresLineageCaching</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresReblock--">requiresReblock</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresRecompile--">requiresRecompile</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetExecType--">resetExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetRecompilationFlag-java.util.ArrayList-org.apache.sysds.lops.LopProperties.ExecType-org.apache.sysds.hops.recompile.Recompiler.ResetType-">resetRecompilationFlag</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetRecompilationFlag-org.apache.sysds.hops.Hop-org.apache.sysds.lops.LopProperties.ExecType-org.apache.sysds.hops.recompile.Recompiler.ResetType-">resetRecompilationFlag</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus--">resetVisitStatus</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus-java.util.ArrayList-">resetVisitStatus</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus-java.util.ArrayList-boolean-">resetVisitStatus</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatusForced-java.util.HashSet-">resetVisitStatusForced</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#rowsKnown--">rowsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setBeginColumn-int-">setBeginColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setBeginLine-int-">setBeginLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setBlocksize-int-">setBlocksize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDataType-org.apache.sysds.common.Types.DataType-">setDataType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDim-int-long-">setDim</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDim1-long-">setDim1</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDim2-long-">setDim2</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setEndColumn-int-">setEndColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setEndLine-int-">setEndLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setFilename-java.lang.String-">setFilename</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setForcedExecType-org.apache.sysds.lops.LopProperties.ExecType-">setForcedExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setLops-org.apache.sysds.lops.Lop-">setLops</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setMemEstimate-double-">setMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setName-java.lang.String-">setName</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setNnz-long-">setNnz</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setOutputEmptyBlocks-boolean-">setOutputEmptyBlocks</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setParseInfo-org.apache.sysds.parser.ParseInfo-">setParseInfo</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setPrivacy-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacy</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresCheckpoint-boolean-">setRequiresCheckpoint</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresCompression-boolean-">setRequiresCompression</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresLineageCaching-boolean-">setRequiresLineageCaching</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresReblock-boolean-">setRequiresReblock</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresRecompile--">setRequiresRecompile</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setText-java.lang.String-">setText</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setUpdateType-org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType-">setUpdateType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setValueType-org.apache.sysds.common.Types.ValueType-">setValueType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setVisited--">setVisited</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setVisited-boolean-">setVisited</a></code></li>
+<code><a href="../../../../org/apache/sysds/hops/Hop.html#addAllInputs-java.util.ArrayList-">addAllInputs</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#addInput-org.apache.sysds.hops.Hop-">addInput</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#checkAndSetForcedPlatform--">checkAndSetForcedPlatform</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#checkAndSetInvalidCPDimsAndSize--">checkAndSetInvalidCPDimsAndSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#clearMemEstimate--">clearMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#colsKnown--">colsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeBoundsInformation-org.apache.sysds.hops.Hop-">computeBoundsInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeBoundsInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">computeBoundsInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeBoundsInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">computeBoundsInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeSizeInformation-org.apache.sysds.hops.Hop-">computeSizeInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeSizeInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">computeSizeInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeSizeInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">computeSizeInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#constructAndSetLopsDataFlowProperties--">constructAndSetLopsDataFlowProperties</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#createOffsetLop-org.apache.sysds.hops.Hop-boolean-">createOffsetLop</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#dimsKnown--">dimsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#dimsKnown-boolean-">dimsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#dimsKnownAny--">dimsKnownAny</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getBeginLine--">getBeginLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getBlocksize--">getBlocksize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDataCharacteristics--">getDataCharacteristics</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDataType--">getDataType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDim-int-">getDim</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDim1--">getDim1</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDim2--">getDim2</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getEndColumn--">getEndColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getEndLine--">getEndLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getExecType--">getExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getFilename--">getFilename</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getForcedExecType--">getForcedExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getHopID--">getHopID</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInput--">getInput</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInput-int-">getInput</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInputMemEstimate--">getInputMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInputOutputSize-java.util.Collection-">getInputOutputSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getIntermediateMemEstimate--">getIntermediateMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getLength--">getLength</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getLops--">getLops</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getMemEstimate--">getMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getName--">getName</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getNnz--">getNnz</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getOutputMemEstimate--">getOutputMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getParent--">getParent</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getPrivacy--">getPrivacy</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getSparsity--">getSparsity</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getSpBroadcastSize--">getSpBroadcastSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getText--">getText</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getUpdateType--">getUpdateType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getValueType--">getValueType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#hasMatrixInputWithDifferentBlocksizes--">hasMatrixInputWithDifferentBlocksizes</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#hasValidCPDimsAndSize--">hasValidCPDimsAndSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isMatrix--">isMatrix</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isMemEstimated--">isMemEstimated</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isOutputEmptyBlocks--">isOutputEmptyBlocks</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isScalar--">isScalar</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isTransposeSafe--">isTransposeSafe</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isVisited--">isVisited</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#printErrorLocation--">printErrorLocation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshColsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">refreshColsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshColsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">refreshColsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshMemEstimates-org.apache.sysds.hops.MemoTable-">refreshMemEstimates</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshRowsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">refreshRowsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshRowsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">refreshRowsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresCheckpoint--">requiresCheckpoint</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresCompression--">requiresCompression</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresLineageCaching--">requiresLineageCaching</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresReblock--">requiresReblock</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresRecompile--">requiresRecompile</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetExecType--">resetExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetRecompilationFlag-java.util.ArrayList-org.apache.sysds.lops.LopProperties.ExecType-org.apache.sysds.hops.recompile.Recompiler.ResetType-">resetRecompilationFlag</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetRecompilationFlag-org.apache.sysds.hops.Hop-org.apache.sysds.lops.LopProperties.ExecType-org.apache.sysds.hops.recompile.Recompiler.ResetType-">resetRecompilationFlag</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus--">resetVisitStatus</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus-java.util.ArrayList-">resetVisitStatus</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus-java.util.ArrayList-boolean-">resetVisitStatus</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatusForced-java.util.HashSet-">resetVisitStatusForced</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#rowsKnown--">rowsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setBeginColumn-int-">setBeginColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setBeginLine-int-">setBeginLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setBlocksize-int-">setBlocksize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDataType-org.apache.sysds.common.Types.DataType-">setDataType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDim-int-long-">setDim</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDim1-long-">setDim1</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDim2-long-">setDim2</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setEndColumn-int-">setEndColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setEndLine-int-">setEndLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setFilename-java.lang.String-">setFilename</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setForcedExecType-org.apache.sysds.lops.LopProperties.ExecType-">setForcedExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setLops-org.apache.sysds.lops.Lop-">setLops</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setMemEstimate-double-">setMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setName-java.lang.String-">setName</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setNnz-long-">setNnz</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setOutputEmptyBlocks-boolean-">setOutputEmptyBlocks</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setParseInfo-org.apache.sysds.parser.ParseInfo-">setParseInfo</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setPrivacy-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacy</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresCheckpoint-boolean-">setRequiresCheckpoint</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresCompression-boolean-">setRequiresCompression</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresDeCompression-boolean-">setRequiresDeCompression</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresLineageCaching-boolean-">setRequiresLineageCaching</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresReblock-boolean-">setRequiresReblock</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresRecompile--">setRequiresRecompile</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setText-java.lang.String-">setText</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setUpdateType-org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType-">setUpdateType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setValueType-org.apache.sysds.common.Types.ValueType-">setValueType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setVisited--">setVisited</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setVisited-boolean-">setVisited</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#toString--">toString</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
-<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.parser.ParseInfo">
@@ -387,7 +401,7 @@
 <a name="FunctionOp-org.apache.sysds.hops.FunctionOp.FunctionType-java.lang.String-java.lang.String-java.lang.String:A-java.util.List-java.lang.String:A-boolean-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>FunctionOp</h4>
 <pre>public&nbsp;FunctionOp(<a href="../../../../org/apache/sysds/hops/FunctionOp.FunctionType.html" title="enum in org.apache.sysds.hops">FunctionOp.FunctionType</a>&nbsp;type,
@@ -399,6 +413,22 @@
                   boolean&nbsp;singleOut)</pre>
 </li>
 </ul>
+<a name="FunctionOp-org.apache.sysds.hops.FunctionOp.FunctionType-java.lang.String-java.lang.String-java.lang.String:A-java.util.List-java.lang.String:A-boolean-boolean-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>FunctionOp</h4>
+<pre>public&nbsp;FunctionOp(<a href="../../../../org/apache/sysds/hops/FunctionOp.FunctionType.html" title="enum in org.apache.sysds.hops">FunctionOp.FunctionType</a>&nbsp;type,
+                  <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;fnamespace,
+                  <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;fname,
+                  <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;inputNames,
+                  <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&gt;&nbsp;inputs,
+                  <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;outputNames,
+                  boolean&nbsp;singleOut,
+                  boolean&nbsp;pseudo)</pre>
+</li>
+</ul>
 </li>
 </ul>
 <!-- ============ METHOD DETAIL ========== -->
@@ -529,6 +559,15 @@
 <pre>public&nbsp;void&nbsp;setCallOptimized(boolean&nbsp;opt)</pre>
 </li>
 </ul>
+<a name="isPseudoFunctionCall--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isPseudoFunctionCall</h4>
+<pre>public&nbsp;boolean&nbsp;isPseudoFunctionCall()</pre>
+</li>
+</ul>
 <a name="allowsAllExecTypes--">
 <!--   -->
 </a>
@@ -727,6 +766,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/Hop.html b/docs/api/java/org/apache/sysds/hops/Hop.html
index f2041c4..f03afbd 100644
--- a/docs/api/java/org/apache/sysds/hops/Hop.html
+++ b/docs/api/java/org/apache/sysds/hops/Hop.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":6,"i3":10,"i4":10,"i5":6,"i6":10,"i7":6,"i8":10,"i9":6,"i10":10,"i11":9,"i12":9,"i13":10,"i14":9,"i15":10,"i16":10,"i17":10,"i18":6,"i19":9,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10,"i37":10,"i38":10,"i39":10,"i40":10,"i41":10,"i42":10,"i43":10,"i44":10,"i45":10,"i46":6,"i47":10,"i48":10,"i49":10,"i50":10,"i51":10,"i52":10,"i53":10,"i54":10,"i55":10,"i56":10,"i57":6,"i58":10,"i59":10,"i60":10,"i61":10,"i62":10,"i63":10,"i64":10,"i65":10,"i66":10,"i67":10,"i68":10,"i69":10,"i70":6,"i71":10,"i72":10,"i73":10,"i74":10,"i75":10,"i76":10,"i77":9,"i78":9,"i79":10,"i80":9,"i81":9,"i82":10,"i83":10,"i84":10,"i85":10,"i86":10,"i87":10,"i88":10,"i89":10,"i90":10,"i91":10,"i92":10,"i93":10,"i94":10,"i95":10,"i96":10,"i97":10,"i98":10,"i99":10,"i100":10,"i101":10,"i102":10,"i103":10,"i104":10,"i105":10,"i106":10,"i107":10,"i108":10,"i109":10,"i110":10,"i111":10};
+var methods = {"i0":10,"i1":10,"i2":6,"i3":10,"i4":10,"i5":6,"i6":10,"i7":6,"i8":10,"i9":6,"i10":10,"i11":9,"i12":9,"i13":10,"i14":9,"i15":10,"i16":10,"i17":10,"i18":6,"i19":9,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10,"i37":10,"i38":10,"i39":10,"i40":10,"i41":10,"i42":10,"i43":10,"i44":10,"i45":10,"i46":10,"i47":6,"i48":10,"i49":10,"i50":10,"i51":10,"i52":10,"i53":10,"i54":10,"i55":10,"i56":10,"i57":10,"i58":6,"i59":10,"i60":10,"i61":10,"i62":10,"i63":10,"i64":10,"i65":10,"i66":10,"i67":10,"i68":10,"i69":10,"i70":10,"i71":6,"i72":10,"i73":10,"i74":10,"i75":10,"i76":10,"i77":10,"i78":9,"i79":9,"i80":10,"i81":9,"i82":9,"i83":10,"i84":10,"i85":10,"i86":10,"i87":10,"i88":10,"i89":10,"i90":10,"i91":10,"i92":10,"i93":10,"i94":10,"i95":10,"i96":10,"i97":10,"i98":10,"i99":10,"i100":10,"i101":10,"i102":10,"i103":10,"i104":10,"i105":10,"i106":10,"i107":10,"i108":10,"i109":10,"i110":10,"i111":10,"i112":10,"i113":10,"i114":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -113,7 +113,7 @@
 </dl>
 <dl>
 <dt>Direct Known Subclasses:</dt>
-<dd><a href="../../../../org/apache/sysds/hops/DataOp.html" title="class in org.apache.sysds.hops">DataOp</a>, <a href="../../../../org/apache/sysds/hops/FunctionOp.html" title="class in org.apache.sysds.hops">FunctionOp</a>, <a href="../../../../org/apache/sysds/hops/IndexingOp.html" title="class in org.apache.sysds.hops">IndexingOp</a>, <a href="../../../../org/apache/sysds/hops/LeftIndexingOp.html" title="class in org.apache.sysds.hops">LeftIndexingOp</a>, <a href="../../../../org/apache/sysds/hops/LiteralOp.html" title="class in org.apache.sysds.hops">LiteralOp</a>, <a href="../../../../org/apache/sysds/hops/MultiThreadedHop.html" title="class in org.apache.sysds.hops">MultiThreadedHop</a>, <a href="../../../../org/apache/sysds/hops/NaryOp.html" title="class in org.apache.sysds.hops">NaryOp</a>, <a href="../../../../org/apache/sysds/hops/TernaryOp.html" title="class in org.apache.sysds.hops">TernaryOp</a></dd>
+<dd><a href="../../../../org/apache/sysds/hops/DataOp.html" title="class in org.apache.sysds.hops">DataOp</a>, <a href="../../../../org/apache/sysds/hops/FunctionOp.html" title="class in org.apache.sysds.hops">FunctionOp</a>, <a href="../../../../org/apache/sysds/hops/IndexingOp.html" title="class in org.apache.sysds.hops">IndexingOp</a>, <a href="../../../../org/apache/sysds/hops/LeftIndexingOp.html" title="class in org.apache.sysds.hops">LeftIndexingOp</a>, <a href="../../../../org/apache/sysds/hops/LiteralOp.html" title="class in org.apache.sysds.hops">LiteralOp</a>, <a href="../../../../org/apache/sysds/hops/MultiThreadedHop.html" title="class in org.apache.sysds.hops">MultiThreadedHop</a>, <a href="../../../../org/apache/sysds/hops/NaryOp.html" title="class in org.apache.sysds.hops">NaryOp</a></dd>
 </dl>
 <hr>
 <br>
@@ -364,26 +364,30 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/Hop.html#getInput--">getInput</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i38" class="altColor">
-<td class="colFirst"><code>double</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/Hop.html#getInputMemEstimate--">getInputMemEstimate</a></span>()</code>&nbsp;</td>
+<td class="colFirst"><code><a href="../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/Hop.html#getInput-int-">getInput</a></span>(int&nbsp;ix)</code>&nbsp;</td>
 </tr>
 <tr id="i39" class="rowColor">
 <td class="colFirst"><code>double</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/Hop.html#getInputOutputSize-java.util.Collection-">getInputOutputSize</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;exclVars)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/Hop.html#getInputMemEstimate--">getInputMemEstimate</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i40" class="altColor">
 <td class="colFirst"><code>double</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/Hop.html#getIntermediateMemEstimate--">getIntermediateMemEstimate</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/Hop.html#getInputOutputSize-java.util.Collection-">getInputOutputSize</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;exclVars)</code>&nbsp;</td>
 </tr>
 <tr id="i41" class="rowColor">
+<td class="colFirst"><code>double</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/Hop.html#getIntermediateMemEstimate--">getIntermediateMemEstimate</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i42" class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/Hop.html#getLength--">getLength</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i42" class="altColor">
+<tr id="i43" class="rowColor">
 <td class="colFirst"><code><a href="../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/Hop.html#getLops--">getLops</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i43" class="rowColor">
+<tr id="i44" class="altColor">
 <td class="colFirst"><code>double</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/Hop.html#getMemEstimate--">getMemEstimate</a></span>()</code>
 <div class="block">NOTES:
@@ -391,316 +395,324 @@
    should store its worst-case output statistics (if known) in that table.</div>
 </td>
 </tr>
-<tr id="i44" class="altColor">
+<tr id="i45" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/Hop.html#getName--">getName</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i45" class="rowColor">
+<tr id="i46" class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/Hop.html#getNnz--">getNnz</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i46" class="altColor">
+<tr id="i47" class="rowColor">
 <td class="colFirst"><code>abstract <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/Hop.html#getOpString--">getOpString</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i47" class="rowColor">
+<tr id="i48" class="altColor">
 <td class="colFirst"><code>double</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/Hop.html#getOutputMemEstimate--">getOutputMemEstimate</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i48" class="altColor">
+<tr id="i49" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/Hop.html#getParent--">getParent</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i49" class="rowColor">
+<tr id="i50" class="altColor">
 <td class="colFirst"><code><a href="../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/Hop.html#getPrivacy--">getPrivacy</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i50" class="altColor">
+<tr id="i51" class="rowColor">
 <td class="colFirst"><code>double</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/Hop.html#getSparsity--">getSparsity</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i51" class="rowColor">
+<tr id="i52" class="altColor">
 <td class="colFirst"><code>double</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/Hop.html#getSpBroadcastSize--">getSpBroadcastSize</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i52" class="altColor">
+<tr id="i53" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/Hop.html#getText--">getText</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i53" class="rowColor">
+<tr id="i54" class="altColor">
 <td class="colFirst"><code><a href="../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.UpdateType.html" title="enum in org.apache.sysds.runtime.controlprogram.caching">MatrixObject.UpdateType</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/Hop.html#getUpdateType--">getUpdateType</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i54" class="altColor">
+<tr id="i55" class="rowColor">
 <td class="colFirst"><code><a href="../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/Hop.html#getValueType--">getValueType</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i55" class="rowColor">
+<tr id="i56" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/Hop.html#hasMatrixInputWithDifferentBlocksizes--">hasMatrixInputWithDifferentBlocksizes</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i56" class="altColor">
+<tr id="i57" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/Hop.html#hasValidCPDimsAndSize--">hasValidCPDimsAndSize</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i57" class="rowColor">
+<tr id="i58" class="altColor">
 <td class="colFirst"><code>abstract boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/Hop.html#isGPUEnabled--">isGPUEnabled</a></span>()</code>
 <div class="block">In memory-based optimizer mode (see OptimizerUtils.isMemoryBasedOptLevel()), 
  the exectype is determined by checking this method as well as memory budget of this Hop.</div>
 </td>
 </tr>
-<tr id="i58" class="altColor">
+<tr id="i59" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/Hop.html#isMatrix--">isMatrix</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i59" class="rowColor">
+<tr id="i60" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/Hop.html#isMemEstimated--">isMemEstimated</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i60" class="altColor">
+<tr id="i61" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/Hop.html#isOutputEmptyBlocks--">isOutputEmptyBlocks</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i61" class="rowColor">
+<tr id="i62" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/Hop.html#isScalar--">isScalar</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i62" class="altColor">
+<tr id="i63" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/Hop.html#isTransposeSafe--">isTransposeSafe</a></span>()</code>
 <div class="block">Defines if this operation is transpose-safe, which means that
  the result of op(input) is equivalent to op(t(input)).</div>
 </td>
 </tr>
-<tr id="i63" class="rowColor">
+<tr id="i64" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/Hop.html#isVisited--">isVisited</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i64" class="altColor">
+<tr id="i65" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/Hop.html#printErrorLocation--">printErrorLocation</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i65" class="rowColor">
+<tr id="i66" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/Hop.html#refreshColsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">refreshColsParameterInformation</a></span>(<a href="../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;input,
                                <a href="../../../../org/apache/sysds/runtime/controlprogram/LocalVariableMap.html" title="class in org.apache.sysds.runtime.controlprogram">LocalVariableMap</a>&nbsp;vars)</code>&nbsp;</td>
 </tr>
-<tr id="i66" class="altColor">
+<tr id="i67" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/Hop.html#refreshColsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">refreshColsParameterInformation</a></span>(<a href="../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;input,
                                <a href="../../../../org/apache/sysds/runtime/controlprogram/LocalVariableMap.html" title="class in org.apache.sysds.runtime.controlprogram">LocalVariableMap</a>&nbsp;vars,
                                <a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&nbsp;memo)</code>&nbsp;</td>
 </tr>
-<tr id="i67" class="rowColor">
+<tr id="i68" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/Hop.html#refreshMemEstimates-org.apache.sysds.hops.MemoTable-">refreshMemEstimates</a></span>(<a href="../../../../org/apache/sysds/hops/MemoTable.html" title="class in org.apache.sysds.hops">MemoTable</a>&nbsp;memo)</code>
 <div class="block">Recursively computes memory estimates for all the Hops in the DAG rooted at the 
  current hop pointed by <code>this</code>.</div>
 </td>
 </tr>
-<tr id="i68" class="altColor">
+<tr id="i69" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/Hop.html#refreshRowsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">refreshRowsParameterInformation</a></span>(<a href="../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;input,
                                <a href="../../../../org/apache/sysds/runtime/controlprogram/LocalVariableMap.html" title="class in org.apache.sysds.runtime.controlprogram">LocalVariableMap</a>&nbsp;vars)</code>&nbsp;</td>
 </tr>
-<tr id="i69" class="rowColor">
+<tr id="i70" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/Hop.html#refreshRowsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">refreshRowsParameterInformation</a></span>(<a href="../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;input,
                                <a href="../../../../org/apache/sysds/runtime/controlprogram/LocalVariableMap.html" title="class in org.apache.sysds.runtime.controlprogram">LocalVariableMap</a>&nbsp;vars,
                                <a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&nbsp;memo)</code>&nbsp;</td>
 </tr>
-<tr id="i70" class="altColor">
+<tr id="i71" class="rowColor">
 <td class="colFirst"><code>abstract void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/Hop.html#refreshSizeInformation--">refreshSizeInformation</a></span>()</code>
 <div class="block">Update the output size information for this hop.</div>
 </td>
 </tr>
-<tr id="i71" class="rowColor">
+<tr id="i72" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/Hop.html#requiresCheckpoint--">requiresCheckpoint</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i72" class="altColor">
+<tr id="i73" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/Hop.html#requiresCompression--">requiresCompression</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i73" class="rowColor">
+<tr id="i74" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/Hop.html#requiresLineageCaching--">requiresLineageCaching</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i74" class="altColor">
+<tr id="i75" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/Hop.html#requiresReblock--">requiresReblock</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i75" class="rowColor">
+<tr id="i76" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/Hop.html#requiresRecompile--">requiresRecompile</a></span>()</code>
 <div class="block">Indicates if dynamic recompilation is required for this hop.</div>
 </td>
 </tr>
-<tr id="i76" class="altColor">
+<tr id="i77" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/Hop.html#resetExecType--">resetExecType</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i77" class="rowColor">
+<tr id="i78" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/Hop.html#resetRecompilationFlag-java.util.ArrayList-org.apache.sysds.lops.LopProperties.ExecType-org.apache.sysds.hops.recompile.Recompiler.ResetType-">resetRecompilationFlag</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&gt;&nbsp;hops,
                       <a href="../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et,
                       <a href="../../../../org/apache/sysds/hops/recompile/Recompiler.ResetType.html" title="enum in org.apache.sysds.hops.recompile">Recompiler.ResetType</a>&nbsp;reset)</code>&nbsp;</td>
 </tr>
-<tr id="i78" class="altColor">
+<tr id="i79" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/Hop.html#resetRecompilationFlag-org.apache.sysds.hops.Hop-org.apache.sysds.lops.LopProperties.ExecType-org.apache.sysds.hops.recompile.Recompiler.ResetType-">resetRecompilationFlag</a></span>(<a href="../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hops,
                       <a href="../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et,
                       <a href="../../../../org/apache/sysds/hops/recompile/Recompiler.ResetType.html" title="enum in org.apache.sysds.hops.recompile">Recompiler.ResetType</a>&nbsp;reset)</code>&nbsp;</td>
 </tr>
-<tr id="i79" class="rowColor">
+<tr id="i80" class="altColor">
 <td class="colFirst"><code><a href="../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus--">resetVisitStatus</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i80" class="altColor">
+<tr id="i81" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus-java.util.ArrayList-">resetVisitStatus</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&gt;&nbsp;hops)</code>&nbsp;</td>
 </tr>
-<tr id="i81" class="rowColor">
+<tr id="i82" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus-java.util.ArrayList-boolean-">resetVisitStatus</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&gt;&nbsp;hops,
                 boolean&nbsp;force)</code>&nbsp;</td>
 </tr>
-<tr id="i82" class="altColor">
+<tr id="i83" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatusForced-java.util.HashSet-">resetVisitStatusForced</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashSet.html?is-external=true" title="class or interface in java.util">HashSet</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&nbsp;memo)</code>&nbsp;</td>
 </tr>
-<tr id="i83" class="rowColor">
+<tr id="i84" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/Hop.html#rowsKnown--">rowsKnown</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i84" class="altColor">
+<tr id="i85" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/Hop.html#setBeginColumn-int-">setBeginColumn</a></span>(int&nbsp;passed)</code>&nbsp;</td>
 </tr>
-<tr id="i85" class="rowColor">
+<tr id="i86" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/Hop.html#setBeginLine-int-">setBeginLine</a></span>(int&nbsp;passed)</code>&nbsp;</td>
 </tr>
-<tr id="i86" class="altColor">
+<tr id="i87" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/Hop.html#setBlocksize-int-">setBlocksize</a></span>(int&nbsp;blen)</code>&nbsp;</td>
 </tr>
-<tr id="i87" class="rowColor">
+<tr id="i88" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/Hop.html#setDataType-org.apache.sysds.common.Types.DataType-">setDataType</a></span>(<a href="../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt)</code>&nbsp;</td>
 </tr>
-<tr id="i88" class="altColor">
+<tr id="i89" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/Hop.html#setDim-int-long-">setDim</a></span>(int&nbsp;i,
       long&nbsp;dim)</code>&nbsp;</td>
 </tr>
-<tr id="i89" class="rowColor">
+<tr id="i90" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/Hop.html#setDim1-long-">setDim1</a></span>(long&nbsp;dim1)</code>&nbsp;</td>
 </tr>
-<tr id="i90" class="altColor">
+<tr id="i91" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/Hop.html#setDim2-long-">setDim2</a></span>(long&nbsp;dim2)</code>&nbsp;</td>
 </tr>
-<tr id="i91" class="rowColor">
+<tr id="i92" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/Hop.html#setEndColumn-int-">setEndColumn</a></span>(int&nbsp;passed)</code>&nbsp;</td>
 </tr>
-<tr id="i92" class="altColor">
+<tr id="i93" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/Hop.html#setEndLine-int-">setEndLine</a></span>(int&nbsp;passed)</code>&nbsp;</td>
 </tr>
-<tr id="i93" class="rowColor">
+<tr id="i94" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/Hop.html#setFilename-java.lang.String-">setFilename</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;passed)</code>&nbsp;</td>
 </tr>
-<tr id="i94" class="altColor">
+<tr id="i95" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/Hop.html#setForcedExecType-org.apache.sysds.lops.LopProperties.ExecType-">setForcedExecType</a></span>(<a href="../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;etype)</code>&nbsp;</td>
 </tr>
-<tr id="i95" class="rowColor">
+<tr id="i96" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/Hop.html#setLops-org.apache.sysds.lops.Lop-">setLops</a></span>(<a href="../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;lops)</code>&nbsp;</td>
 </tr>
-<tr id="i96" class="altColor">
+<tr id="i97" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/Hop.html#setMemEstimate-double-">setMemEstimate</a></span>(double&nbsp;mem)</code>
 <div class="block">Sets memory estimate in bytes</div>
 </td>
 </tr>
-<tr id="i97" class="rowColor">
+<tr id="i98" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/Hop.html#setName-java.lang.String-">setName</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;_name)</code>&nbsp;</td>
 </tr>
-<tr id="i98" class="altColor">
+<tr id="i99" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/Hop.html#setNnz-long-">setNnz</a></span>(long&nbsp;nnz)</code>&nbsp;</td>
 </tr>
-<tr id="i99" class="rowColor">
+<tr id="i100" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/Hop.html#setOutputEmptyBlocks-boolean-">setOutputEmptyBlocks</a></span>(boolean&nbsp;flag)</code>&nbsp;</td>
 </tr>
-<tr id="i100" class="altColor">
+<tr id="i101" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/Hop.html#setParseInfo-org.apache.sysds.parser.ParseInfo-">setParseInfo</a></span>(<a href="../../../../org/apache/sysds/parser/ParseInfo.html" title="interface in org.apache.sysds.parser">ParseInfo</a>&nbsp;parseInfo)</code>
 <div class="block">Set parse information.</div>
 </td>
 </tr>
-<tr id="i101" class="rowColor">
+<tr id="i102" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/Hop.html#setPrivacy-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacy</a></span>(<a href="../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>&nbsp;privacy)</code>&nbsp;</td>
 </tr>
-<tr id="i102" class="altColor">
+<tr id="i103" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresCheckpoint-boolean-">setRequiresCheckpoint</a></span>(boolean&nbsp;flag)</code>&nbsp;</td>
 </tr>
-<tr id="i103" class="rowColor">
+<tr id="i104" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresCompression-boolean-">setRequiresCompression</a></span>(boolean&nbsp;flag)</code>&nbsp;</td>
 </tr>
-<tr id="i104" class="altColor">
+<tr id="i105" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresDeCompression-boolean-">setRequiresDeCompression</a></span>(boolean&nbsp;flag)</code>&nbsp;</td>
+</tr>
+<tr id="i106" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresLineageCaching-boolean-">setRequiresLineageCaching</a></span>(boolean&nbsp;flag)</code>&nbsp;</td>
 </tr>
-<tr id="i105" class="rowColor">
+<tr id="i107" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresReblock-boolean-">setRequiresReblock</a></span>(boolean&nbsp;flag)</code>&nbsp;</td>
 </tr>
-<tr id="i106" class="altColor">
+<tr id="i108" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresRecompile--">setRequiresRecompile</a></span>()</code>
 <div class="block">Marks the hop for dynamic recompilation.</div>
 </td>
 </tr>
-<tr id="i107" class="rowColor">
+<tr id="i109" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/Hop.html#setText-java.lang.String-">setText</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;text)</code>&nbsp;</td>
 </tr>
-<tr id="i108" class="altColor">
+<tr id="i110" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/Hop.html#setUpdateType-org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType-">setUpdateType</a></span>(<a href="../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.UpdateType.html" title="enum in org.apache.sysds.runtime.controlprogram.caching">MatrixObject.UpdateType</a>&nbsp;update)</code>&nbsp;</td>
 </tr>
-<tr id="i109" class="rowColor">
+<tr id="i111" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/Hop.html#setValueType-org.apache.sysds.common.Types.ValueType-">setValueType</a></span>(<a href="../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt)</code>&nbsp;</td>
 </tr>
-<tr id="i110" class="altColor">
+<tr id="i112" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/Hop.html#setVisited--">setVisited</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i111" class="rowColor">
+<tr id="i113" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/Hop.html#setVisited-boolean-">setVisited</a></span>(boolean&nbsp;flag)</code>&nbsp;</td>
 </tr>
+<tr id="i114" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/Hop.html#toString--">toString</a></span>()</code>&nbsp;</td>
+</tr>
 </table>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
-<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.parser.ParseInfo">
@@ -986,6 +998,15 @@
 <pre>public&nbsp;void&nbsp;setRequiresCompression(boolean&nbsp;flag)</pre>
 </li>
 </ul>
+<a name="setRequiresDeCompression-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setRequiresDeCompression</h4>
+<pre>public&nbsp;void&nbsp;setRequiresDeCompression(boolean&nbsp;flag)</pre>
+</li>
+</ul>
 <a name="requiresCompression--">
 <!--   -->
 </a>
@@ -1200,6 +1221,15 @@
 <pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&gt;&nbsp;getInput()</pre>
 </li>
 </ul>
+<a name="getInput-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getInput</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;getInput(int&nbsp;ix)</pre>
+</li>
+</ul>
 <a name="addInput-org.apache.sysds.hops.Hop-">
 <!--   -->
 </a>
@@ -1308,6 +1338,19 @@
 <pre>public abstract&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getOpString()</pre>
 </li>
 </ul>
+<a name="toString--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>toString</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
+</dl>
+</li>
+</ul>
 <a name="isGPUEnabled--">
 <!--   -->
 </a>
@@ -2041,6 +2084,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/HopsException.html b/docs/api/java/org/apache/sysds/hops/HopsException.html
index 8d41460..8710d23 100644
--- a/docs/api/java/org/apache/sysds/hops/HopsException.html
+++ b/docs/api/java/org/apache/sysds/hops/HopsException.html
@@ -398,6 +398,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/IndexingOp.html b/docs/api/java/org/apache/sysds/hops/IndexingOp.html
index b2ce548..fbbd062 100644
--- a/docs/api/java/org/apache/sysds/hops/IndexingOp.html
+++ b/docs/api/java/org/apache/sysds/hops/IndexingOp.html
@@ -265,14 +265,14 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.hops.<a href="../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a></h3>
-<code><a href="../../../../org/apache/sysds/hops/Hop.html#addAllInputs-java.util.ArrayList-">addAllInputs</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#addInput-org.apache.sysds.hops.Hop-">addInput</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#checkAndSetForcedPlatform--">checkAndSetForcedPlatform</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#checkAndSetInvalidCPDimsAndSize--">checkAndSetInvalidCPDimsAndSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#clearMemEstimate--">clearMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#colsKnown--">colsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeBoundsInformation-org.apache.sysds.hops.Hop-">computeBoundsInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeBoundsInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">computeBoundsInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeBoundsInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">computeBoundsInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeSizeInformation-org.apache.sysds.hops.Hop-">computeSizeInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeSizeInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">computeSizeInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeSizeInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">computeSizeInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#constructAndSetLopsDataFlowProperties--">constructAndSetLopsDataFlowProperties</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#createOffsetLop-org.apache.sysds.hops.Hop-boolean-">createOffsetLop</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#dimsKnown--">dimsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#dimsKnown-boolean-">dimsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#dimsKnownAny--">dimsKnownAny</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getBeginLine--">getBeginLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getBlocksize--">getBlocksize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDataCharacteristics--">getDataCharacteristics</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDataType--">getDataType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDim-int-">getDim</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDim1--">getDim1</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDim2--">getDim2</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getEndColumn--">getEndColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getEndLine--">getEndLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getExecType--">getExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getFilename--">getFilename</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getForcedExecType--">getForcedExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getHopID--">getHopID</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInput--">getInput</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInputMemEstimate--">getInputMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInputOutputSize-java.util.Collection-">getInputOutputSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getIntermediateMemEstimate--">getIntermediateMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getLength--">getLength</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getLops--">getLops</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getMemEstimate--">getMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getName--">getName</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getNnz--">getNnz</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getOutputMemEstimate--">getOutputMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getParent--">getParent</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getPrivacy--">getPrivacy</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getSparsity--">getSparsity</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getSpBroadcastSize--">getSpBroadcastSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getText--">getText</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getUpdateType--">getUpdateType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getValueType--">getValueType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#hasMatrixInputWithDifferentBlocksizes--">hasMatrixInputWithDifferentBlocksizes</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#hasValidCPDimsAndSize--">hasValidCPDimsAndSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isMatrix--">isMatrix</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isMemEstimated--">isMemEstimated</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isOutputEmptyBlocks--">isOutputEmptyBlocks</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isScalar--">isScalar</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isTransposeSafe--">isTransposeSafe</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isVisited--">isVisited</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#printErrorLocation--">printErrorLocation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshColsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">refreshColsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshColsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">refreshColsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshMemEstimates-org.apache.sysds.hops.MemoTable-">refreshMemEstimates</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshRowsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">refreshRowsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshRowsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">refreshRowsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresCheckpoint--">requiresCheckpoint</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresCompression--">requiresCompression</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresLineageCaching--">requiresLineageCaching</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresReblock--">requiresReblock</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresRecompile--">requiresRecompile</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetExecType--">resetExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetRecompilationFlag-java.util.ArrayList-org.apache.sysds.lops.LopProperties.ExecType-org.apache.sysds.hops.recompile.Recompiler.ResetType-">resetRecompilationFlag</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetRecompilationFlag-org.apache.sysds.hops.Hop-org.apache.sysds.lops.LopProperties.ExecType-org.apache.sysds.hops.recompile.Recompiler.ResetType-">resetRecompilationFlag</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus--">resetVisitStatus</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus-java.util.ArrayList-">resetVisitStatus</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus-java.util.ArrayList-boolean-">resetVisitStatus</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatusForced-java.util.HashSet-">resetVisitStatusForced</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#rowsKnown--">rowsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setBeginColumn-int-">setBeginColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setBeginLine-int-">setBeginLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setBlocksize-int-">setBlocksize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDataType-org.apache.sysds.common.Types.DataType-">setDataType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDim-int-long-">setDim</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDim1-long-">setDim1</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDim2-long-">setDim2</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setEndColumn-int-">setEndColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setEndLine-int-">setEndLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setFilename-java.lang.String-">setFilename</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setForcedExecType-org.apache.sysds.lops.LopProperties.ExecType-">setForcedExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setLops-org.apache.sysds.lops.Lop-">setLops</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setMemEstimate-double-">setMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setName-java.lang.String-">setName</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setNnz-long-">setNnz</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setOutputEmptyBlocks-boolean-">setOutputEmptyBlocks</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setParseInfo-org.apache.sysds.parser.ParseInfo-">setParseInfo</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setPrivacy-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacy</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresCheckpoint-boolean-">setRequiresCheckpoint</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresCompression-boolean-">setRequiresCompression</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresLineageCaching-boolean-">setRequiresLineageCaching</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresReblock-boolean-">setRequiresReblock</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresRecompile--">setRequiresRecompile</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setText-java.lang.String-">setText</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setUpdateType-org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType-">setUpdateType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setValueType-org.apache.sysds.common.Types.ValueType-">setValueType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setVisited--">setVisited</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setVisited-boolean-">setVisited</a></code></li>
+<code><a href="../../../../org/apache/sysds/hops/Hop.html#addAllInputs-java.util.ArrayList-">addAllInputs</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#addInput-org.apache.sysds.hops.Hop-">addInput</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#checkAndSetForcedPlatform--">checkAndSetForcedPlatform</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#checkAndSetInvalidCPDimsAndSize--">checkAndSetInvalidCPDimsAndSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#clearMemEstimate--">clearMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#colsKnown--">colsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeBoundsInformation-org.apache.sysds.hops.Hop-">computeBoundsInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeBoundsInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">computeBoundsInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeBoundsInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">computeBoundsInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeSizeInformation-org.apache.sysds.hops.Hop-">computeSizeInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeSizeInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">computeSizeInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeSizeInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">computeSizeInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#constructAndSetLopsDataFlowProperties--">constructAndSetLopsDataFlowProperties</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#createOffsetLop-org.apache.sysds.hops.Hop-boolean-">createOffsetLop</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#dimsKnown--">dimsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#dimsKnown-boolean-">dimsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#dimsKnownAny--">dimsKnownAny</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getBeginLine--">getBeginLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getBlocksize--">getBlocksize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDataCharacteristics--">getDataCharacteristics</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDataType--">getDataType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDim-int-">getDim</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDim1--">getDim1</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDim2--">getDim2</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getEndColumn--">getEndColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getEndLine--">getEndLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getExecType--">getExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getFilename--">getFilename</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getForcedExecType--">getForcedExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getHopID--">getHopID</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInput--">getInput</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInput-int-">getInput</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInputMemEstimate--">getInputMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInputOutputSize-java.util.Collection-">getInputOutputSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getIntermediateMemEstimate--">getIntermediateMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getLength--">getLength</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getLops--">getLops</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getMemEstimate--">getMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getName--">getName</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getNnz--">getNnz</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getOutputMemEstimate--">getOutputMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getParent--">getParent</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getPrivacy--">getPrivacy</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getSparsity--">getSparsity</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getSpBroadcastSize--">getSpBroadcastSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getText--">getText</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getUpdateType--">getUpdateType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getValueType--">getValueType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#hasMatrixInputWithDifferentBlocksizes--">hasMatrixInputWithDifferentBlocksizes</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#hasValidCPDimsAndSize--">hasValidCPDimsAndSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isMatrix--">isMatrix</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isMemEstimated--">isMemEstimated</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isOutputEmptyBlocks--">isOutputEmptyBlocks</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isScalar--">isScalar</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isTransposeSafe--">isTransposeSafe</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isVisited--">isVisited</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#printErrorLocation--">printErrorLocation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshColsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">refreshColsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshColsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">refreshColsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshMemEstimates-org.apache.sysds.hops.MemoTable-">refreshMemEstimates</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshRowsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">refreshRowsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshRowsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">refreshRowsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresCheckpoint--">requiresCheckpoint</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresCompression--">requiresCompression</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresLineageCaching--">requiresLineageCaching</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresReblock--">requiresReblock</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresRecompile--">requiresRecompile</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetExecType--">resetExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetRecompilationFlag-java.util.ArrayList-org.apache.sysds.lops.LopProperties.ExecType-org.apache.sysds.hops.recompile.Recompiler.ResetType-">resetRecompilationFlag</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetRecompilationFlag-org.apache.sysds.hops.Hop-org.apache.sysds.lops.LopProperties.ExecType-org.apache.sysds.hops.recompile.Recompiler.ResetType-">resetRecompilationFlag</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus--">resetVisitStatus</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus-java.util.ArrayList-">resetVisitStatus</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus-java.util.ArrayList-boolean-">resetVisitStatus</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatusForced-java.util.HashSet-">resetVisitStatusForced</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#rowsKnown--">rowsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setBeginColumn-int-">setBeginColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setBeginLine-int-">setBeginLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setBlocksize-int-">setBlocksize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDataType-org.apache.sysds.common.Types.DataType-">setDataType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDim-int-long-">setDim</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDim1-long-">setDim1</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDim2-long-">setDim2</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setEndColumn-int-">setEndColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setEndLine-int-">setEndLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setFilename-java.lang.String-">setFilename</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setForcedExecType-org.apache.sysds.lops.LopProperties.ExecType-">setForcedExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setLops-org.apache.sysds.lops.Lop-">setLops</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setMemEstimate-double-">setMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setName-java.lang.String-">setName</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setNnz-long-">setNnz</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setOutputEmptyBlocks-boolean-">setOutputEmptyBlocks</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setParseInfo-org.apache.sysds.parser.ParseInfo-">setParseInfo</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setPrivacy-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacy</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresCheckpoint-boolean-">setRequiresCheckpoint</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresCompression-boolean-">setRequiresCompression</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresDeCompression-boolean-">setRequiresDeCompression</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresLineageCaching-boolean-">setRequiresLineageCaching</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresReblock-boolean-">setRequiresReblock</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresRecompile--">setRequiresRecompile</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setText-java.lang.String-">setText</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setUpdateType-org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType-">setUpdateType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setValueType-org.apache.sysds.common.Types.ValueType-">setValueType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setVisited--">setVisited</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setVisited-boolean-">setVisited</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#toString--">toString</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
-<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.parser.ParseInfo">
@@ -610,6 +610,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/LeftIndexingOp.LeftIndexingMethod.html b/docs/api/java/org/apache/sysds/hops/LeftIndexingOp.LeftIndexingMethod.html
index cd11324..ce76af2 100644
--- a/docs/api/java/org/apache/sysds/hops/LeftIndexingOp.LeftIndexingMethod.html
+++ b/docs/api/java/org/apache/sysds/hops/LeftIndexingOp.LeftIndexingMethod.html
@@ -353,6 +353,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/LeftIndexingOp.html b/docs/api/java/org/apache/sysds/hops/LeftIndexingOp.html
index 212387a..0bab56d 100644
--- a/docs/api/java/org/apache/sysds/hops/LeftIndexingOp.html
+++ b/docs/api/java/org/apache/sysds/hops/LeftIndexingOp.html
@@ -281,14 +281,14 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.hops.<a href="../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a></h3>
-<code><a href="../../../../org/apache/sysds/hops/Hop.html#addAllInputs-java.util.ArrayList-">addAllInputs</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#addInput-org.apache.sysds.hops.Hop-">addInput</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#checkAndSetForcedPlatform--">checkAndSetForcedPlatform</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#checkAndSetInvalidCPDimsAndSize--">checkAndSetInvalidCPDimsAndSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#clearMemEstimate--">clearMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#colsKnown--">colsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeBoundsInformation-org.apache.sysds.hops.Hop-">computeBoundsInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeBoundsInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">computeBoundsInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeBoundsInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">computeBoundsInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeSizeInformation-org.apache.sysds.hops.Hop-">computeSizeInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeSizeInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">computeSizeInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeSizeInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">computeSizeInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#constructAndSetLopsDataFlowProperties--">constructAndSetLopsDataFlowProperties</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#createOffsetLop-org.apache.sysds.hops.Hop-boolean-">createOffsetLop</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#dimsKnown--">dimsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#dimsKnown-boolean-">dimsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#dimsKnownAny--">dimsKnownAny</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getBeginLine--">getBeginLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getBlocksize--">getBlocksize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDataCharacteristics--">getDataCharacteristics</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDataType--">getDataType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDim-int-">getDim</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDim1--">getDim1</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDim2--">getDim2</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getEndColumn--">getEndColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getEndLine--">getEndLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getExecType--">getExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getFilename--">getFilename</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getForcedExecType--">getForcedExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getHopID--">getHopID</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInput--">getInput</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInputMemEstimate--">getInputMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInputOutputSize-java.util.Collection-">getInputOutputSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getIntermediateMemEstimate--">getIntermediateMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getLength--">getLength</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getLops--">getLops</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getMemEstimate--">getMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getName--">getName</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getNnz--">getNnz</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getOutputMemEstimate--">getOutputMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getParent--">getParent</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getPrivacy--">getPrivacy</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getSparsity--">getSparsity</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getSpBroadcastSize--">getSpBroadcastSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getText--">getText</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getUpdateType--">getUpdateType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getValueType--">getValueType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#hasMatrixInputWithDifferentBlocksizes--">hasMatrixInputWithDifferentBlocksizes</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#hasValidCPDimsAndSize--">hasValidCPDimsAndSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isMatrix--">isMatrix</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isMemEstimated--">isMemEstimated</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isOutputEmptyBlocks--">isOutputEmptyBlocks</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isScalar--">isScalar</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isTransposeSafe--">isTransposeSafe</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isVisited--">isVisited</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#printErrorLocation--">printErrorLocation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshColsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">refreshColsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshColsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">refreshColsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshMemEstimates-org.apache.sysds.hops.MemoTable-">refreshMemEstimates</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshRowsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">refreshRowsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshRowsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">refreshRowsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresCheckpoint--">requiresCheckpoint</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresCompression--">requiresCompression</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresLineageCaching--">requiresLineageCaching</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresReblock--">requiresReblock</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresRecompile--">requiresRecompile</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetExecType--">resetExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetRecompilationFlag-java.util.ArrayList-org.apache.sysds.lops.LopProperties.ExecType-org.apache.sysds.hops.recompile.Recompiler.ResetType-">resetRecompilationFlag</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetRecompilationFlag-org.apache.sysds.hops.Hop-org.apache.sysds.lops.LopProperties.ExecType-org.apache.sysds.hops.recompile.Recompiler.ResetType-">resetRecompilationFlag</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus--">resetVisitStatus</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus-java.util.ArrayList-">resetVisitStatus</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus-java.util.ArrayList-boolean-">resetVisitStatus</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatusForced-java.util.HashSet-">resetVisitStatusForced</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#rowsKnown--">rowsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setBeginColumn-int-">setBeginColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setBeginLine-int-">setBeginLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setBlocksize-int-">setBlocksize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDataType-org.apache.sysds.common.Types.DataType-">setDataType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDim-int-long-">setDim</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDim1-long-">setDim1</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDim2-long-">setDim2</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setEndColumn-int-">setEndColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setEndLine-int-">setEndLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setFilename-java.lang.String-">setFilename</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setForcedExecType-org.apache.sysds.lops.LopProperties.ExecType-">setForcedExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setLops-org.apache.sysds.lops.Lop-">setLops</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setMemEstimate-double-">setMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setName-java.lang.String-">setName</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setNnz-long-">setNnz</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setOutputEmptyBlocks-boolean-">setOutputEmptyBlocks</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setParseInfo-org.apache.sysds.parser.ParseInfo-">setParseInfo</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setPrivacy-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacy</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresCheckpoint-boolean-">setRequiresCheckpoint</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresCompression-boolean-">setRequiresCompression</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresLineageCaching-boolean-">setRequiresLineageCaching</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresReblock-boolean-">setRequiresReblock</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresRecompile--">setRequiresRecompile</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setText-java.lang.String-">setText</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setUpdateType-org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType-">setUpdateType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setValueType-org.apache.sysds.common.Types.ValueType-">setValueType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setVisited--">setVisited</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setVisited-boolean-">setVisited</a></code></li>
+<code><a href="../../../../org/apache/sysds/hops/Hop.html#addAllInputs-java.util.ArrayList-">addAllInputs</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#addInput-org.apache.sysds.hops.Hop-">addInput</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#checkAndSetForcedPlatform--">checkAndSetForcedPlatform</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#checkAndSetInvalidCPDimsAndSize--">checkAndSetInvalidCPDimsAndSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#clearMemEstimate--">clearMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#colsKnown--">colsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeBoundsInformation-org.apache.sysds.hops.Hop-">computeBoundsInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeBoundsInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">computeBoundsInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeBoundsInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">computeBoundsInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeSizeInformation-org.apache.sysds.hops.Hop-">computeSizeInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeSizeInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">computeSizeInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeSizeInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">computeSizeInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#constructAndSetLopsDataFlowProperties--">constructAndSetLopsDataFlowProperties</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#createOffsetLop-org.apache.sysds.hops.Hop-boolean-">createOffsetLop</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#dimsKnown--">dimsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#dimsKnown-boolean-">dimsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#dimsKnownAny--">dimsKnownAny</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getBeginLine--">getBeginLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getBlocksize--">getBlocksize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDataCharacteristics--">getDataCharacteristics</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDataType--">getDataType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDim-int-">getDim</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDim1--">getDim1</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDim2--">getDim2</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getEndColumn--">getEndColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getEndLine--">getEndLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getExecType--">getExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getFilename--">getFilename</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getForcedExecType--">getForcedExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getHopID--">getHopID</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInput--">getInput</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInput-int-">getInput</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInputMemEstimate--">getInputMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInputOutputSize-java.util.Collection-">getInputOutputSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getIntermediateMemEstimate--">getIntermediateMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getLength--">getLength</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getLops--">getLops</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getMemEstimate--">getMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getName--">getName</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getNnz--">getNnz</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getOutputMemEstimate--">getOutputMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getParent--">getParent</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getPrivacy--">getPrivacy</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getSparsity--">getSparsity</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getSpBroadcastSize--">getSpBroadcastSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getText--">getText</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getUpdateType--">getUpdateType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getValueType--">getValueType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#hasMatrixInputWithDifferentBlocksizes--">hasMatrixInputWithDifferentBlocksizes</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#hasValidCPDimsAndSize--">hasValidCPDimsAndSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isMatrix--">isMatrix</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isMemEstimated--">isMemEstimated</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isOutputEmptyBlocks--">isOutputEmptyBlocks</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isScalar--">isScalar</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isTransposeSafe--">isTransposeSafe</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isVisited--">isVisited</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#printErrorLocation--">printErrorLocation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshColsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">refreshColsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshColsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">refreshColsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshMemEstimates-org.apache.sysds.hops.MemoTable-">refreshMemEstimates</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshRowsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">refreshRowsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshRowsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">refreshRowsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresCheckpoint--">requiresCheckpoint</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresCompression--">requiresCompression</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresLineageCaching--">requiresLineageCaching</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresReblock--">requiresReblock</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresRecompile--">requiresRecompile</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetExecType--">resetExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetRecompilationFlag-java.util.ArrayList-org.apache.sysds.lops.LopProperties.ExecType-org.apache.sysds.hops.recompile.Recompiler.ResetType-">resetRecompilationFlag</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetRecompilationFlag-org.apache.sysds.hops.Hop-org.apache.sysds.lops.LopProperties.ExecType-org.apache.sysds.hops.recompile.Recompiler.ResetType-">resetRecompilationFlag</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus--">resetVisitStatus</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus-java.util.ArrayList-">resetVisitStatus</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus-java.util.ArrayList-boolean-">resetVisitStatus</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatusForced-java.util.HashSet-">resetVisitStatusForced</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#rowsKnown--">rowsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setBeginColumn-int-">setBeginColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setBeginLine-int-">setBeginLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setBlocksize-int-">setBlocksize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDataType-org.apache.sysds.common.Types.DataType-">setDataType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDim-int-long-">setDim</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDim1-long-">setDim1</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDim2-long-">setDim2</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setEndColumn-int-">setEndColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setEndLine-int-">setEndLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setFilename-java.lang.String-">setFilename</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setForcedExecType-org.apache.sysds.lops.LopProperties.ExecType-">setForcedExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setLops-org.apache.sysds.lops.Lop-">setLops</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setMemEstimate-double-">setMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setName-java.lang.String-">setName</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setNnz-long-">setNnz</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setOutputEmptyBlocks-boolean-">setOutputEmptyBlocks</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setParseInfo-org.apache.sysds.parser.ParseInfo-">setParseInfo</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setPrivacy-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacy</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresCheckpoint-boolean-">setRequiresCheckpoint</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresCompression-boolean-">setRequiresCompression</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresDeCompression-boolean-">setRequiresDeCompression</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresLineageCaching-boolean-">setRequiresLineageCaching</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresReblock-boolean-">setRequiresReblock</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresRecompile--">setRequiresRecompile</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setText-java.lang.String-">setText</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setUpdateType-org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType-">setUpdateType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setValueType-org.apache.sysds.common.Types.ValueType-">setValueType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setVisited--">setVisited</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setVisited-boolean-">setVisited</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#toString--">toString</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
-<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.parser.ParseInfo">
@@ -618,6 +618,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/LiteralOp.html b/docs/api/java/org/apache/sysds/hops/LiteralOp.html
index 3c718bd..424983a 100644
--- a/docs/api/java/org/apache/sysds/hops/LiteralOp.html
+++ b/docs/api/java/org/apache/sysds/hops/LiteralOp.html
@@ -247,7 +247,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.hops.<a href="../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a></h3>
-<code><a href="../../../../org/apache/sysds/hops/Hop.html#addAllInputs-java.util.ArrayList-">addAllInputs</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#addInput-org.apache.sysds.hops.Hop-">addInput</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#checkAndSetForcedPlatform--">checkAndSetForcedPlatform</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#checkAndSetInvalidCPDimsAndSize--">checkAndSetInvalidCPDimsAndSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#clearMemEstimate--">clearMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#colsKnown--">colsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeBoundsInformation-org.apache.sysds.hops.Hop-">computeBoundsInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeBoundsInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">computeBoundsInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeBoundsInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">computeBoundsInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeMemEstimate-org.apache.sysds.hops.MemoTable-">computeMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeSizeInformation-org.apache.sysds.hops.Hop-">computeSizeInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeSizeInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">computeSizeInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeSizeInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">computeSizeInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#constructAndSetLopsDataFlowProperties--">constructAndSetLopsDataFlowProperties</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#createOffsetLop-org.apache.sysds.hops.Hop-boolean-">createOffsetLop</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#dimsKnown--">dimsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#dimsKnown-boolean-">dimsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#dimsKnownAny--">dimsKnownAny</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getBeginLine--">getBeginLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getBlocksize--">getBlocksize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDataCharacteristics--">getDataCharacteristics</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDataType--">getDataType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDim-int-">getDim</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDim1--">getDim1</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDim2--">getDim2</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getEndColumn--">getEndColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getEndLine--">getEndLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getExecType--">getExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getFilename--">getFilename</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getForcedExecType--">getForcedExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getHopID--">getHopID</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInput--">getInput</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInputMemEstimate--">getInputMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInputOutputSize-java.util.Collection-">getInputOutputSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getIntermediateMemEstimate--">getIntermediateMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getLength--">getLength</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getLops--">getLops</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getMemEstimate--">getMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getName--">getName</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getNnz--">getNnz</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getOutputMemEstimate--">getOutputMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getParent--">getParent</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getPrivacy--">getPrivacy</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getSparsity--">getSparsity</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getSpBroadcastSize--">getSpBroadcastSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getText--">getText</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getUpdateType--">getUpdateType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getValueType--">getValueType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#hasMatrixInputWithDifferentBlocksizes--">hasMatrixInputWithDifferentBlocksizes</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#hasValidCPDimsAndSize--">hasValidCPDimsAndSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isMatrix--">isMatrix</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isMemEstimated--">isMemEstimated</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isOutputEmptyBlocks--">isOutputEmptyBlocks</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isScalar--">isScalar</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isTransposeSafe--">isTransposeSafe</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isVisited--">isVisited</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#printErrorLocation--">printErrorLocation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshColsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">refreshColsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshColsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">refreshColsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshMemEstimates-org.apache.sysds.hops.MemoTable-">refreshMemEstimates</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshRowsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">refreshRowsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshRowsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">refreshRowsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresCheckpoint--">requiresCheckpoint</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresCompression--">requiresCompression</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresLineageCaching--">requiresLineageCaching</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresReblock--">requiresReblock</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresRecompile--">requiresRecompile</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetExecType--">resetExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetRecompilationFlag-java.util.ArrayList-org.apache.sysds.lops.LopProperties.ExecType-org.apache.sysds.hops.recompile.Recompiler.ResetType-">resetRecompilationFlag</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetRecompilationFlag-org.apache.sysds.hops.Hop-org.apache.sysds.lops.LopProperties.ExecType-org.apache.sysds.hops.recompile.Recompiler.ResetType-">resetRecompilationFlag</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus--">resetVisitStatus</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus-java.util.ArrayList-">resetVisitStatus</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus-java.util.ArrayList-boolean-">resetVisitStatus</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatusForced-java.util.HashSet-">resetVisitStatusForced</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#rowsKnown--">rowsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setBeginColumn-int-">setBeginColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setBeginLine-int-">setBeginLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setBlocksize-int-">setBlocksize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDataType-org.apache.sysds.common.Types.DataType-">setDataType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDim-int-long-">setDim</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDim1-long-">setDim1</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDim2-long-">setDim2</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setEndColumn-int-">setEndColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setEndLine-int-">setEndLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setFilename-java.lang.String-">setFilename</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setForcedExecType-org.apache.sysds.lops.LopProperties.ExecType-">setForcedExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setLops-org.apache.sysds.lops.Lop-">setLops</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setMemEstimate-double-">setMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setName-java.lang.String-">setName</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setNnz-long-">setNnz</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setOutputEmptyBlocks-boolean-">setOutputEmptyBlocks</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setParseInfo-org.apache.sysds.parser.ParseInfo-">setParseInfo</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setPrivacy-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacy</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresCheckpoint-boolean-">setRequiresCheckpoint</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresCompression-boolean-">setRequiresCompression</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresLineageCaching-boolean-">setRequiresLineageCaching</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresReblock-boolean-">setRequiresReblock</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresRecompile--">setRequiresRecompile</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setText-java.lang.String-">setText</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setUpdateType-org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType-">setUpdateType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setValueType-org.apache.sysds.common.Types.ValueType-">setValueType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setVisited--">setVisited</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setVisited-boolean-">setVisited</a></code></li>
+<code><a href="../../../../org/apache/sysds/hops/Hop.html#addAllInputs-java.util.ArrayList-">addAllInputs</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#addInput-org.apache.sysds.hops.Hop-">addInput</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#checkAndSetForcedPlatform--">checkAndSetForcedPlatform</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#checkAndSetInvalidCPDimsAndSize--">checkAndSetInvalidCPDimsAndSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#clearMemEstimate--">clearMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#colsKnown--">colsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeBoundsInformation-org.apache.sysds.hops.Hop-">computeBoundsInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeBoundsInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">computeBoundsInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeBoundsInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">computeBoundsInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeMemEstimate-org.apache.sysds.hops.MemoTable-">computeMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeSizeInformation-org.apache.sysds.hops.Hop-">computeSizeInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeSizeInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">computeSizeInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeSizeInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">computeSizeInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#constructAndSetLopsDataFlowProperties--">constructAndSetLopsDataFlowProperties</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#createOffsetLop-org.apache.sysds.hops.Hop-boolean-">createOffsetLop</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#dimsKnown--">dimsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#dimsKnown-boolean-">dimsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#dimsKnownAny--">dimsKnownAny</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getBeginLine--">getBeginLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getBlocksize--">getBlocksize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDataCharacteristics--">getDataCharacteristics</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDataType--">getDataType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDim-int-">getDim</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDim1--">getDim1</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDim2--">getDim2</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getEndColumn--">getEndColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getEndLine--">getEndLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getExecType--">getExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getFilename--">getFilename</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getForcedExecType--">getForcedExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getHopID--">getHopID</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInput--">getInput</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInput-int-">getInput</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInputMemEstimate--">getInputMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInputOutputSize-java.util.Collection-">getInputOutputSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getIntermediateMemEstimate--">getIntermediateMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getLength--">getLength</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getLops--">getLops</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getMemEstimate--">getMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getName--">getName</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getNnz--">getNnz</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getOutputMemEstimate--">getOutputMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getParent--">getParent</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getPrivacy--">getPrivacy</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getSparsity--">getSparsity</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getSpBroadcastSize--">getSpBroadcastSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getText--">getText</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getUpdateType--">getUpdateType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getValueType--">getValueType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#hasMatrixInputWithDifferentBlocksizes--">hasMatrixInputWithDifferentBlocksizes</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#hasValidCPDimsAndSize--">hasValidCPDimsAndSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isMatrix--">isMatrix</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isMemEstimated--">isMemEstimated</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isOutputEmptyBlocks--">isOutputEmptyBlocks</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isScalar--">isScalar</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isTransposeSafe--">isTransposeSafe</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isVisited--">isVisited</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#printErrorLocation--">printErrorLocation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshColsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">refreshColsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshColsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">refreshColsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshMemEstimates-org.apache.sysds.hops.MemoTable-">refreshMemEstimates</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshRowsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">refreshRowsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshRowsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">refreshRowsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresCheckpoint--">requiresCheckpoint</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresCompression--">requiresCompression</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresLineageCaching--">requiresLineageCaching</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresReblock--">requiresReblock</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresRecompile--">requiresRecompile</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetExecType--">resetExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetRecompilationFlag-java.util.ArrayList-org.apache.sysds.lops.LopProperties.ExecType-org.apache.sysds.hops.recompile.Recompiler.ResetType-">resetRecompilationFlag</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetRecompilationFlag-org.apache.sysds.hops.Hop-org.apache.sysds.lops.LopProperties.ExecType-org.apache.sysds.hops.recompile.Recompiler.ResetType-">resetRecompilationFlag</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus--">resetVisitStatus</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus-java.util.ArrayList-">resetVisitStatus</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus-java.util.ArrayList-boolean-">resetVisitStatus</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatusForced-java.util.HashSet-">resetVisitStatusForced</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#rowsKnown--">rowsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setBeginColumn-int-">setBeginColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setBeginLine-int-">setBeginLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setBlocksize-int-">setBlocksize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDataType-org.apache.sysds.common.Types.DataType-">setDataType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDim-int-long-">setDim</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDim1-long-">setDim1</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDim2-long-">setDim2</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setEndColumn-int-">setEndColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setEndLine-int-">setEndLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setFilename-java.lang.String-">setFilename</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setForcedExecType-org.apache.sysds.lops.LopProperties.ExecType-">setForcedExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setLops-org.apache.sysds.lops.Lop-">setLops</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setMemEstimate-double-">setMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setName-java.lang.String-">setName</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setNnz-long-">setNnz</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setOutputEmptyBlocks-boolean-">setOutputEmptyBlocks</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setParseInfo-org.apache.sysds.parser.ParseInfo-">setParseInfo</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setPrivacy-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacy</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresCheckpoint-boolean-">setRequiresCheckpoint</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresCompression-boolean-">setRequiresCompression</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresDeCompression-boolean-">setRequiresDeCompression</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresLineageCaching-boolean-">setRequiresLineageCaching</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresReblock-boolean-">setRequiresReblock</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresRecompile--">setRequiresRecompile</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setText-java.lang.String-">setText</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setUpdateType-org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType-">setUpdateType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setValueType-org.apache.sysds.common.Types.ValueType-">setValueType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setVisited--">setVisited</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setVisited-boolean-">setVisited</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -500,7 +500,7 @@
 <pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
+<dd><code><a href="../../../../org/apache/sysds/hops/Hop.html#toString--">toString</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a></code></dd>
 </dl>
 </li>
 </ul>
@@ -573,6 +573,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/MemoTable.html b/docs/api/java/org/apache/sysds/hops/MemoTable.html
index d2b4c76..9a71e57 100644
--- a/docs/api/java/org/apache/sysds/hops/MemoTable.html
+++ b/docs/api/java/org/apache/sysds/hops/MemoTable.html
@@ -373,6 +373,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/MultiThreadedHop.html b/docs/api/java/org/apache/sysds/hops/MultiThreadedHop.html
index 2bb5eef..c72d18e 100644
--- a/docs/api/java/org/apache/sysds/hops/MultiThreadedHop.html
+++ b/docs/api/java/org/apache/sysds/hops/MultiThreadedHop.html
@@ -118,7 +118,7 @@
 </dl>
 <dl>
 <dt>Direct Known Subclasses:</dt>
-<dd><a href="../../../../org/apache/sysds/hops/AggBinaryOp.html" title="class in org.apache.sysds.hops">AggBinaryOp</a>, <a href="../../../../org/apache/sysds/hops/AggUnaryOp.html" title="class in org.apache.sysds.hops">AggUnaryOp</a>, <a href="../../../../org/apache/sysds/hops/BinaryOp.html" title="class in org.apache.sysds.hops">BinaryOp</a>, <a href="../../../../org/apache/sysds/hops/DataGenOp.html" title="class in org.apache.sysds.hops">DataGenOp</a>, <a href="../../../../org/apache/sysds/hops/DnnOp.html" title="class in org.apache.sysds.hops">DnnOp</a>, <a href="../../../../org/apache/sysds/hops/ParameterizedBuiltinOp.html" title="class in org.apache.sysds.hops">ParameterizedBuiltinOp</a>, <a href="../../../../org/apache/sysds/hops/QuaternaryOp.html" title="class in org.apache.sysds.hops">QuaternaryOp</a>, <a href="../../../../org/apache/sysds/hops/ReorgOp.html" title="class in org.apache.sysds.hops">ReorgOp</a>, <a href="../../../../org/apache/sysds/hops/codegen/SpoofFusedOp.html" title="class in org.apache.sysds.hops.codegen">SpoofFusedOp</a>, <a href="../../../../org/apache/sysds/hops/UnaryOp.html" title="class in org.apache.sysds.hops">UnaryOp</a></dd>
+<dd><a href="../../../../org/apache/sysds/hops/AggBinaryOp.html" title="class in org.apache.sysds.hops">AggBinaryOp</a>, <a href="../../../../org/apache/sysds/hops/AggUnaryOp.html" title="class in org.apache.sysds.hops">AggUnaryOp</a>, <a href="../../../../org/apache/sysds/hops/BinaryOp.html" title="class in org.apache.sysds.hops">BinaryOp</a>, <a href="../../../../org/apache/sysds/hops/DataGenOp.html" title="class in org.apache.sysds.hops">DataGenOp</a>, <a href="../../../../org/apache/sysds/hops/DnnOp.html" title="class in org.apache.sysds.hops">DnnOp</a>, <a href="../../../../org/apache/sysds/hops/ParameterizedBuiltinOp.html" title="class in org.apache.sysds.hops">ParameterizedBuiltinOp</a>, <a href="../../../../org/apache/sysds/hops/QuaternaryOp.html" title="class in org.apache.sysds.hops">QuaternaryOp</a>, <a href="../../../../org/apache/sysds/hops/ReorgOp.html" title="class in org.apache.sysds.hops">ReorgOp</a>, <a href="../../../../org/apache/sysds/hops/codegen/SpoofFusedOp.html" title="class in org.apache.sysds.hops.codegen">SpoofFusedOp</a>, <a href="../../../../org/apache/sysds/hops/TernaryOp.html" title="class in org.apache.sysds.hops">TernaryOp</a>, <a href="../../../../org/apache/sysds/hops/UnaryOp.html" title="class in org.apache.sysds.hops">UnaryOp</a></dd>
 </dl>
 <hr>
 <br>
@@ -198,14 +198,14 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.hops.<a href="../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a></h3>
-<code><a href="../../../../org/apache/sysds/hops/Hop.html#addAllInputs-java.util.ArrayList-">addAllInputs</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#addInput-org.apache.sysds.hops.Hop-">addInput</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#allowsAllExecTypes--">allowsAllExecTypes</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#checkAndSetForcedPlatform--">checkAndSetForcedPlatform</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#checkAndSetInvalidCPDimsAndSize--">checkAndSetInvalidCPDimsAndSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#checkArity--">checkArity</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#clearMemEstimate--">clearMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#clone--">clone</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#colsKnown--">colsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#compare-org.apache.sysds.hops.Hop-">compare</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeBoundsInformation-org.apache.sysds.hops.Hop-">computeBoundsInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeBoundsInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">computeBoundsInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeBoundsInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">computeBoundsInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeMemEstimate-org.apache.sysds.hops.MemoTable-">computeMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeSizeInformation-org.apache.sysds.hops.Hop-">computeSizeInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeSizeInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">computeSizeInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeSizeInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">computeSizeInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#constructAndSetLopsDataFlowProperties--">constructAndSetLopsDataFlowProperties</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#constructLops--">constructLops</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#createOffsetLop-org.apache.sysds.hops.Hop-boolean-">createOffsetLop</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#dimsKnown--">dimsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#dimsKnown-boolean-">dimsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#dimsKnownAny--">dimsKnownAny</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getBeginLine--">getBeginLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getBlocksize--">getBlocksize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDataCharacteristics--">getDataCharacteristics</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDataType--">getDataType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDim-int-">getDim</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDim1--">getDim1</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDim2--">getDim2</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getEndColumn--">getEndColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getEndLine--">getEndLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getExecType--">getExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getFilename--">getFilename</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getForcedExecType--">getForcedExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getHopID--">getHopID</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInput--">getInput</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInputMemEstimate--">getInputMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInputOutputSize-java.util.Collection-">getInputOutputSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getIntermediateMemEstimate--">getIntermediateMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getLength--">getLength</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getLops--">getLops</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getMemEstimate--">getMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getName--">getName</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getNnz--">getNnz</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getOpString--">getOpString</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getOutputMemEstimate--">getOutputMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getParent--">getParent</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getPrivacy--">getPrivacy</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getSparsity--">getSparsity</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getSpBroadcastSize--">getSpBroadcastSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getText--">getText</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getUpdateType--">getUpdateType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getValueType--">getValueType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#hasMatrixInputWithDifferentBlocksizes--">hasMatrixInputWithDifferentBlocksizes</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#hasValidCPDimsAndSize--">hasValidCPDimsAndSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isGPUEnabled--">isGPUEnabled</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isMatrix--">isMatrix</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isMemEstimated--">isMemEstimated</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isOutputEmptyBlocks--">isOutputEmptyBlocks</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isScalar--">isScalar</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isTransposeSafe--">isTransposeSafe</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isVisited--">isVisited</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#printErrorLocation--">printErrorLocation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshColsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">refreshColsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshColsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">refreshColsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshMemEstimates-org.apache.sysds.hops.MemoTable-">refreshMemEstimates</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshRowsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">refreshRowsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshRowsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">refreshRowsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshSizeInformation--">refreshSizeInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresCheckpoint--">requiresCheckpoint</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresCompression--">requiresCompression</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresLineageCaching--">requiresLineageCaching</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresReblock--">requiresReblock</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresRecompile--">requiresRecompile</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetExecType--">resetExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetRecompilationFlag-java.util.ArrayList-org.apache.sysds.lops.LopProperties.ExecType-org.apache.sysds.hops.recompile.Recompiler.ResetType-">resetRecompilationFlag</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetRecompilationFlag-org.apache.sysds.hops.Hop-org.apache.sysds.lops.LopProperties.ExecType-org.apache.sysds.hops.recompile.Recompiler.ResetType-">resetRecompilationFlag</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus--">resetVisitStatus</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus-java.util.ArrayList-">resetVisitStatus</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus-java.util.ArrayList-boolean-">resetVisitStatus</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatusForced-java.util.HashSet-">resetVisitStatusForced</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#rowsKnown--">rowsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setBeginColumn-int-">setBeginColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setBeginLine-int-">setBeginLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setBlocksize-int-">setBlocksize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDataType-org.apache.sysds.common.Types.DataType-">setDataType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDim-int-long-">setDim</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDim1-long-">setDim1</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDim2-long-">setDim2</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setEndColumn-int-">setEndColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setEndLine-int-">setEndLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setFilename-java.lang.String-">setFilename</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setForcedExecType-org.apache.sysds.lops.LopProperties.ExecType-">setForcedExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setLops-org.apache.sysds.lops.Lop-">setLops</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setMemEstimate-double-">setMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setName-java.lang.String-">setName</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setNnz-long-">setNnz</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setOutputEmptyBlocks-boolean-">setOutputEmptyBlocks</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setParseInfo-org.apache.sysds.parser.ParseInfo-">setParseInfo</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setPrivacy-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacy</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresCheckpoint-boolean-">setRequiresCheckpoint</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresCompression-boolean-">setRequiresCompression</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresLineageCaching-boolean-">setRequiresLineageCaching</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresReblock-boolean-">setRequiresReblock</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresRecompile--">setRequiresRecompile</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setText-java.lang.String-">setText</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setUpdateType-org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType-">setUpdateType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setValueType-org.apache.sysds.common.Types.ValueType-">setValueType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setVisited--">setVisited</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setVisited-boolean-">setVisited</a></code></li>
+<code><a href="../../../../org/apache/sysds/hops/Hop.html#addAllInputs-java.util.ArrayList-">addAllInputs</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#addInput-org.apache.sysds.hops.Hop-">addInput</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#allowsAllExecTypes--">allowsAllExecTypes</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#checkAndSetForcedPlatform--">checkAndSetForcedPlatform</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#checkAndSetInvalidCPDimsAndSize--">checkAndSetInvalidCPDimsAndSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#checkArity--">checkArity</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#clearMemEstimate--">clearMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#clone--">clone</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#colsKnown--">colsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#compare-org.apache.sysds.hops.Hop-">compare</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeBoundsInformation-org.apache.sysds.hops.Hop-">computeBoundsInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeBoundsInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">computeBoundsInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeBoundsInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">computeBoundsInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeMemEstimate-org.apache.sysds.hops.MemoTable-">computeMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeSizeInformation-org.apache.sysds.hops.Hop-">computeSizeInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeSizeInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">computeSizeInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeSizeInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">computeSizeInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#constructAndSetLopsDataFlowProperties--">constructAndSetLopsDataFlowProperties</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#constructLops--">constructLops</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#createOffsetLop-org.apache.sysds.hops.Hop-boolean-">createOffsetLop</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#dimsKnown--">dimsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#dimsKnown-boolean-">dimsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#dimsKnownAny--">dimsKnownAny</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getBeginLine--">getBeginLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getBlocksize--">getBlocksize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDataCharacteristics--">getDataCharacteristics</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDataType--">getDataType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDim-int-">getDim</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDim1--">getDim1</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDim2--">getDim2</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getEndColumn--">getEndColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getEndLine--">getEndLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getExecType--">getExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getFilename--">getFilename</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getForcedExecType--">getForcedExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getHopID--">getHopID</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInput--">getInput</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInput-int-">getInput</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInputMemEstimate--">getInputMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInputOutputSize-java.util.Collection-">getInputOutputSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getIntermediateMemEstimate--">getIntermediateMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getLength--">getLength</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getLops--">getLops</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getMemEstimate--">getMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getName--">getName</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getNnz--">getNnz</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getOpString--">getOpString</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getOutputMemEstimate--">getOutputMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getParent--">getParent</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getPrivacy--">getPrivacy</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getSparsity--">getSparsity</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getSpBroadcastSize--">getSpBroadcastSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getText--">getText</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getUpdateType--">getUpdateType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getValueType--">getValueType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#hasMatrixInputWithDifferentBlocksizes--">hasMatrixInputWithDifferentBlocksizes</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#hasValidCPDimsAndSize--">hasValidCPDimsAndSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isGPUEnabled--">isGPUEnabled</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isMatrix--">isMatrix</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isMemEstimated--">isMemEstimated</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isOutputEmptyBlocks--">isOutputEmptyBlocks</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isScalar--">isScalar</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isTransposeSafe--">isTransposeSafe</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isVisited--">isVisited</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#printErrorLocation--">printErrorLocation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshColsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">refreshColsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshColsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">refreshColsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshMemEstimates-org.apache.sysds.hops.MemoTable-">refreshMemEstimates</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshRowsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">refreshRowsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshRowsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">refreshRowsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshSizeInformation--">refreshSizeInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresCheckpoint--">requiresCheckpoint</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresCompression--">requiresCompression</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresLineageCaching--">requiresLineageCaching</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresReblock--">requiresReblock</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresRecompile--">requiresRecompile</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetExecType--">resetExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetRecompilationFlag-java.util.ArrayList-org.apache.sysds.lops.LopProperties.ExecType-org.apache.sysds.hops.recompile.Recompiler.ResetType-">resetRecompilationFlag</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetRecompilationFlag-org.apache.sysds.hops.Hop-org.apache.sysds.lops.LopProperties.ExecType-org.apache.sysds.hops.recompile.Recompiler.ResetType-">resetRecompilationFlag</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus--">resetVisitStatus</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus-java.util.ArrayList-">resetVisitStatus</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus-java.util.ArrayList-boolean-">resetVisitStatus</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatusForced-java.util.HashSet-">resetVisitStatusForced</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#rowsKnown--">rowsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setBeginColumn-int-">setBeginColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setBeginLine-int-">setBeginLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setBlocksize-int-">setBlocksize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDataType-org.apache.sysds.common.Types.DataType-">setDataType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDim-int-long-">setDim</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDim1-long-">setDim1</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDim2-long-">setDim2</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setEndColumn-int-">setEndColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setEndLine-int-">setEndLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setFilename-java.lang.String-">setFilename</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setForcedExecType-org.apache.sysds.lops.LopProperties.ExecType-">setForcedExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setLops-org.apache.sysds.lops.Lop-">setLops</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setMemEstimate-double-">setMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setName-java.lang.String-">setName</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setNnz-long-">setNnz</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setOutputEmptyBlocks-boolean-">setOutputEmptyBlocks</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setParseInfo-org.apache.sysds.parser.ParseInfo-">setParseInfo</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setPrivacy-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacy</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresCheckpoint-boolean-">setRequiresCheckpoint</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresCompression-boolean-">setRequiresCompression</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresDeCompression-boolean-">setRequiresDeCompression</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresLineageCaching-boolean-">setRequiresLineageCaching</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresReblock-boolean-">setRequiresReblock</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresRecompile--">setRequiresRecompile</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setText-java.lang.String-">setText</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setUpdateType-org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType-">setUpdateType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setValueType-org.apache.sysds.common.Types.ValueType-">setValueType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setVisited--">setVisited</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setVisited-boolean-">setVisited</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#toString--">toString</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
-<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.parser.ParseInfo">
@@ -352,6 +352,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/NaryOp.html b/docs/api/java/org/apache/sysds/hops/NaryOp.html
index 7691e0c..4d6bfbb 100644
--- a/docs/api/java/org/apache/sysds/hops/NaryOp.html
+++ b/docs/api/java/org/apache/sysds/hops/NaryOp.html
@@ -236,14 +236,14 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.hops.<a href="../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a></h3>
-<code><a href="../../../../org/apache/sysds/hops/Hop.html#addAllInputs-java.util.ArrayList-">addAllInputs</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#addInput-org.apache.sysds.hops.Hop-">addInput</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#checkAndSetForcedPlatform--">checkAndSetForcedPlatform</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#checkAndSetInvalidCPDimsAndSize--">checkAndSetInvalidCPDimsAndSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#clearMemEstimate--">clearMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#colsKnown--">colsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeBoundsInformation-org.apache.sysds.hops.Hop-">computeBoundsInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeBoundsInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">computeBoundsInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeBoundsInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">computeBoundsInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeSizeInformation-org.apache.sysds.hops.Hop-">computeSizeInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeSizeInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">computeSizeInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeSizeInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">computeSizeInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#constructAndSetLopsDataFlowProperties--">constructAndSetLopsDataFlowProperties</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#createOffsetLop-org.apache.sysds.hops.Hop-boolean-">createOffsetLop</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#dimsKnown--">dimsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#dimsKnown-boolean-">dimsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#dimsKnownAny--">dimsKnownAny</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getBeginLine--">getBeginLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getBlocksize--">getBlocksize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDataCharacteristics--">getDataCharacteristics</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDataType--">getDataType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDim-int-">getDim</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDim1--">getDim1</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDim2--">getDim2</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getEndColumn--">getEndColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getEndLine--">getEndLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getExecType--">getExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getFilename--">getFilename</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getForcedExecType--">getForcedExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getHopID--">getHopID</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInput--">getInput</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInputMemEstimate--">getInputMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInputOutputSize-java.util.Collection-">getInputOutputSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getIntermediateMemEstimate--">getIntermediateMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getLength--">getLength</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getLops--">getLops</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getMemEstimate--">getMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getName--">getName</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getNnz--">getNnz</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getOutputMemEstimate--">getOutputMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getParent--">getParent</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getPrivacy--">getPrivacy</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getSparsity--">getSparsity</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getSpBroadcastSize--">getSpBroadcastSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getText--">getText</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getUpdateType--">getUpdateType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getValueType--">getValueType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#hasMatrixInputWithDifferentBlocksizes--">hasMatrixInputWithDifferentBlocksizes</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#hasValidCPDimsAndSize--">hasValidCPDimsAndSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isMatrix--">isMatrix</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isMemEstimated--">isMemEstimated</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isOutputEmptyBlocks--">isOutputEmptyBlocks</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isScalar--">isScalar</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isTransposeSafe--">isTransposeSafe</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isVisited--">isVisited</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#printErrorLocation--">printErrorLocation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshColsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">refreshColsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshColsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">refreshColsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshMemEstimates-org.apache.sysds.hops.MemoTable-">refreshMemEstimates</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshRowsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">refreshRowsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshRowsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">refreshRowsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresCheckpoint--">requiresCheckpoint</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresCompression--">requiresCompression</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresLineageCaching--">requiresLineageCaching</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresReblock--">requiresReblock</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresRecompile--">requiresRecompile</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetExecType--">resetExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetRecompilationFlag-java.util.ArrayList-org.apache.sysds.lops.LopProperties.ExecType-org.apache.sysds.hops.recompile.Recompiler.ResetType-">resetRecompilationFlag</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetRecompilationFlag-org.apache.sysds.hops.Hop-org.apache.sysds.lops.LopProperties.ExecType-org.apache.sysds.hops.recompile.Recompiler.ResetType-">resetRecompilationFlag</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus--">resetVisitStatus</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus-java.util.ArrayList-">resetVisitStatus</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus-java.util.ArrayList-boolean-">resetVisitStatus</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatusForced-java.util.HashSet-">resetVisitStatusForced</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#rowsKnown--">rowsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setBeginColumn-int-">setBeginColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setBeginLine-int-">setBeginLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setBlocksize-int-">setBlocksize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDataType-org.apache.sysds.common.Types.DataType-">setDataType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDim-int-long-">setDim</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDim1-long-">setDim1</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDim2-long-">setDim2</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setEndColumn-int-">setEndColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setEndLine-int-">setEndLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setFilename-java.lang.String-">setFilename</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setForcedExecType-org.apache.sysds.lops.LopProperties.ExecType-">setForcedExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setLops-org.apache.sysds.lops.Lop-">setLops</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setMemEstimate-double-">setMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setName-java.lang.String-">setName</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setNnz-long-">setNnz</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setOutputEmptyBlocks-boolean-">setOutputEmptyBlocks</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setParseInfo-org.apache.sysds.parser.ParseInfo-">setParseInfo</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setPrivacy-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacy</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresCheckpoint-boolean-">setRequiresCheckpoint</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresCompression-boolean-">setRequiresCompression</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresLineageCaching-boolean-">setRequiresLineageCaching</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresReblock-boolean-">setRequiresReblock</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresRecompile--">setRequiresRecompile</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setText-java.lang.String-">setText</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setUpdateType-org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType-">setUpdateType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setValueType-org.apache.sysds.common.Types.ValueType-">setValueType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setVisited--">setVisited</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setVisited-boolean-">setVisited</a></code></li>
+<code><a href="../../../../org/apache/sysds/hops/Hop.html#addAllInputs-java.util.ArrayList-">addAllInputs</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#addInput-org.apache.sysds.hops.Hop-">addInput</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#checkAndSetForcedPlatform--">checkAndSetForcedPlatform</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#checkAndSetInvalidCPDimsAndSize--">checkAndSetInvalidCPDimsAndSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#clearMemEstimate--">clearMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#colsKnown--">colsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeBoundsInformation-org.apache.sysds.hops.Hop-">computeBoundsInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeBoundsInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">computeBoundsInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeBoundsInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">computeBoundsInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeSizeInformation-org.apache.sysds.hops.Hop-">computeSizeInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeSizeInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">computeSizeInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeSizeInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">computeSizeInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#constructAndSetLopsDataFlowProperties--">constructAndSetLopsDataFlowProperties</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#createOffsetLop-org.apache.sysds.hops.Hop-boolean-">createOffsetLop</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#dimsKnown--">dimsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#dimsKnown-boolean-">dimsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#dimsKnownAny--">dimsKnownAny</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getBeginLine--">getBeginLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getBlocksize--">getBlocksize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDataCharacteristics--">getDataCharacteristics</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDataType--">getDataType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDim-int-">getDim</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDim1--">getDim1</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDim2--">getDim2</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getEndColumn--">getEndColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getEndLine--">getEndLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getExecType--">getExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getFilename--">getFilename</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getForcedExecType--">getForcedExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getHopID--">getHopID</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInput--">getInput</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInput-int-">getInput</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInputMemEstimate--">getInputMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInputOutputSize-java.util.Collection-">getInputOutputSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getIntermediateMemEstimate--">getIntermediateMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getLength--">getLength</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getLops--">getLops</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getMemEstimate--">getMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getName--">getName</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getNnz--">getNnz</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getOutputMemEstimate--">getOutputMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getParent--">getParent</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getPrivacy--">getPrivacy</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getSparsity--">getSparsity</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getSpBroadcastSize--">getSpBroadcastSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getText--">getText</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getUpdateType--">getUpdateType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getValueType--">getValueType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#hasMatrixInputWithDifferentBlocksizes--">hasMatrixInputWithDifferentBlocksizes</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#hasValidCPDimsAndSize--">hasValidCPDimsAndSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isMatrix--">isMatrix</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isMemEstimated--">isMemEstimated</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isOutputEmptyBlocks--">isOutputEmptyBlocks</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isScalar--">isScalar</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isTransposeSafe--">isTransposeSafe</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isVisited--">isVisited</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#printErrorLocation--">printErrorLocation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshColsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">refreshColsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshColsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">refreshColsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshMemEstimates-org.apache.sysds.hops.MemoTable-">refreshMemEstimates</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshRowsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">refreshRowsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshRowsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">refreshRowsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresCheckpoint--">requiresCheckpoint</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresCompression--">requiresCompression</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresLineageCaching--">requiresLineageCaching</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresReblock--">requiresReblock</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresRecompile--">requiresRecompile</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetExecType--">resetExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetRecompilationFlag-java.util.ArrayList-org.apache.sysds.lops.LopProperties.ExecType-org.apache.sysds.hops.recompile.Recompiler.ResetType-">resetRecompilationFlag</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetRecompilationFlag-org.apache.sysds.hops.Hop-org.apache.sysds.lops.LopProperties.ExecType-org.apache.sysds.hops.recompile.Recompiler.ResetType-">resetRecompilationFlag</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus--">resetVisitStatus</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus-java.util.ArrayList-">resetVisitStatus</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus-java.util.ArrayList-boolean-">resetVisitStatus</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatusForced-java.util.HashSet-">resetVisitStatusForced</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#rowsKnown--">rowsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setBeginColumn-int-">setBeginColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setBeginLine-int-">setBeginLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setBlocksize-int-">setBlocksize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDataType-org.apache.sysds.common.Types.DataType-">setDataType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDim-int-long-">setDim</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDim1-long-">setDim1</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDim2-long-">setDim2</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setEndColumn-int-">setEndColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setEndLine-int-">setEndLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setFilename-java.lang.String-">setFilename</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setForcedExecType-org.apache.sysds.lops.LopProperties.ExecType-">setForcedExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setLops-org.apache.sysds.lops.Lop-">setLops</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setMemEstimate-double-">setMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setName-java.lang.String-">setName</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setNnz-long-">setNnz</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setOutputEmptyBlocks-boolean-">setOutputEmptyBlocks</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setParseInfo-org.apache.sysds.parser.ParseInfo-">setParseInfo</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setPrivacy-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacy</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresCheckpoint-boolean-">setRequiresCheckpoint</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresCompression-boolean-">setRequiresCompression</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresDeCompression-boolean-">setRequiresDeCompression</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresLineageCaching-boolean-">setRequiresLineageCaching</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresReblock-boolean-">setRequiresReblock</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresRecompile--">setRequiresRecompile</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setText-java.lang.String-">setText</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setUpdateType-org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType-">setUpdateType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setValueType-org.apache.sysds.common.Types.ValueType-">setValueType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setVisited--">setVisited</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setVisited-boolean-">setVisited</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#toString--">toString</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
-<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.parser.ParseInfo">
@@ -519,6 +519,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/OptimizerUtils.OptimizationLevel.html b/docs/api/java/org/apache/sysds/hops/OptimizerUtils.OptimizationLevel.html
index c11d64c..738b79b 100644
--- a/docs/api/java/org/apache/sysds/hops/OptimizerUtils.OptimizationLevel.html
+++ b/docs/api/java/org/apache/sysds/hops/OptimizerUtils.OptimizationLevel.html
@@ -423,6 +423,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/OptimizerUtils.html b/docs/api/java/org/apache/sysds/hops/OptimizerUtils.html
index 41f10bc..db9d242 100644
--- a/docs/api/java/org/apache/sysds/hops/OptimizerUtils.html
+++ b/docs/api/java/org/apache/sysds/hops/OptimizerUtils.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":9,"i11":9,"i12":9,"i13":9,"i14":9,"i15":9,"i16":9,"i17":9,"i18":9,"i19":9,"i20":9,"i21":9,"i22":9,"i23":9,"i24":9,"i25":9,"i26":9,"i27":9,"i28":9,"i29":9,"i30":9,"i31":9,"i32":9,"i33":9,"i34":9,"i35":9,"i36":9,"i37":9,"i38":9,"i39":9,"i40":9,"i41":9,"i42":9,"i43":9,"i44":9,"i45":9,"i46":9,"i47":9,"i48":9,"i49":9,"i50":9,"i51":9,"i52":9,"i53":9,"i54":9,"i55":9,"i56":9,"i57":9,"i58":9,"i59":9,"i60":9,"i61":9,"i62":9,"i63":9,"i64":9,"i65":9,"i66":9,"i67":9,"i68":9,"i69":9};
+var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":9,"i11":9,"i12":9,"i13":9,"i14":9,"i15":9,"i16":9,"i17":9,"i18":9,"i19":9,"i20":9,"i21":9,"i22":9,"i23":9,"i24":9,"i25":9,"i26":9,"i27":9,"i28":9,"i29":9,"i30":9,"i31":9,"i32":9,"i33":9,"i34":9,"i35":9,"i36":9,"i37":9,"i38":9,"i39":9,"i40":9,"i41":9,"i42":9,"i43":9,"i44":9,"i45":9,"i46":9,"i47":9,"i48":9,"i49":9,"i50":9,"i51":9,"i52":9,"i53":9,"i54":9,"i55":9,"i56":9,"i57":9,"i58":9,"i59":9,"i60":9,"i61":9,"i62":9,"i63":9,"i64":9,"i65":9,"i66":9,"i67":9,"i68":9,"i69":9,"i70":9,"i71":9,"i72":9,"i73":9,"i74":9};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -197,33 +197,47 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/OptimizerUtils.html#ALLOW_FOR_LOOP_REMOVAL">ALLOW_FOR_LOOP_REMOVAL</a></span></code>
+<div class="block">Enables the removal of (par)for-loops when from, to, and increment are constants
+ (original literals or results of constant folding) and lead to an empty sequence,
+ i.e., (par)for-loops without a single iteration.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/OptimizerUtils.html#ALLOW_INTER_PROCEDURAL_ANALYSIS">ALLOW_INTER_PROCEDURAL_ANALYSIS</a></span></code>
 <div class="block">Enables interprocedural analysis between main script and functions as well as functions
  and other functions.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/OptimizerUtils.html#ALLOW_LOOP_UPDATE_IN_PLACE">ALLOW_LOOP_UPDATE_IN_PLACE</a></span></code>
 <div class="block">Enables a specific rewrite that enables update in place for loop variables that are
  only read/updated via cp leftindexing.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/OptimizerUtils.html#ALLOW_OPERATOR_FUSION">ALLOW_OPERATOR_FUSION</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/OptimizerUtils.html#ALLOW_RAND_JOB_RECOMPILE">ALLOW_RAND_JOB_RECOMPILE</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/OptimizerUtils.html#ALLOW_RUNTIME_PIGGYBACKING">ALLOW_RUNTIME_PIGGYBACKING</a></span></code>
 <div class="block">Enables parfor runtime piggybacking of MR jobs into the packed jobs for
  scan sharing.</div>
 </td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/OptimizerUtils.html#ALLOW_SCRIPT_LEVEL_COMPRESS_COMMAND">ALLOW_SCRIPT_LEVEL_COMPRESS_COMMAND</a></span></code>
+<div class="block">This variable allows for insertion of Compress and decompress in the dml script from the user.</div>
+</td>
+</tr>
 <tr class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/OptimizerUtils.html#ALLOW_SIZE_EXPRESSION_EVALUATION">ALLOW_SIZE_EXPRESSION_EVALUATION</a></span></code>
@@ -409,6 +423,18 @@
 </tr>
 <tr id="i9" class="rowColor">
 <td class="colFirst"><code>static long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/OptimizerUtils.html#estimatePartitionedSizeExactSparsity-org.apache.sysds.runtime.meta.DataCharacteristics-boolean-">estimatePartitionedSizeExactSparsity</a></span>(<a href="../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a>&nbsp;dc,
+                                    boolean&nbsp;outputEmptyBlocks)</code>&nbsp;</td>
+</tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code>static long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/OptimizerUtils.html#estimatePartitionedSizeExactSparsity-org.apache.sysds.hops.Hop-">estimatePartitionedSizeExactSparsity</a></span>(<a href="../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop)</code>
+<div class="block">Estimates the footprint (in bytes) for a partitioned in-memory representation of a
+ matrix with the hops dimensions and number of non-zeros nnz.</div>
+</td>
+</tr>
+<tr id="i11" class="rowColor">
+<td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/OptimizerUtils.html#estimatePartitionedSizeExactSparsity-long-long-long-double-">estimatePartitionedSizeExactSparsity</a></span>(long&nbsp;rlen,
                                     long&nbsp;clen,
                                     long&nbsp;blen,
@@ -417,7 +443,15 @@
  matrix with dimensions=(nrows,ncols) and sparsity=sp.</div>
 </td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i12" class="altColor">
+<td class="colFirst"><code>static long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/OptimizerUtils.html#estimatePartitionedSizeExactSparsity-long-long-long-double-boolean-">estimatePartitionedSizeExactSparsity</a></span>(long&nbsp;rlen,
+                                    long&nbsp;clen,
+                                    long&nbsp;blen,
+                                    double&nbsp;sp,
+                                    boolean&nbsp;outputEmptyBlocks)</code>&nbsp;</td>
+</tr>
+<tr id="i13" class="rowColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/OptimizerUtils.html#estimatePartitionedSizeExactSparsity-long-long-long-long-">estimatePartitionedSizeExactSparsity</a></span>(long&nbsp;rlen,
                                     long&nbsp;clen,
@@ -427,11 +461,19 @@
  matrix with dimensions=(nrows,ncols) and number of non-zeros nnz.</div>
 </td>
 </tr>
-<tr id="i11" class="rowColor">
+<tr id="i14" class="altColor">
+<td class="colFirst"><code>static long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/OptimizerUtils.html#estimatePartitionedSizeExactSparsity-long-long-long-long-boolean-">estimatePartitionedSizeExactSparsity</a></span>(long&nbsp;rlen,
+                                    long&nbsp;clen,
+                                    long&nbsp;blen,
+                                    long&nbsp;nnz,
+                                    boolean&nbsp;outputEmptyBlocks)</code>&nbsp;</td>
+</tr>
+<tr id="i15" class="rowColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/OptimizerUtils.html#estimateSize-org.apache.sysds.runtime.meta.DataCharacteristics-">estimateSize</a></span>(<a href="../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a>&nbsp;dc)</code>&nbsp;</td>
 </tr>
-<tr id="i12" class="altColor">
+<tr id="i16" class="altColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/OptimizerUtils.html#estimateSize-long-long-">estimateSize</a></span>(long&nbsp;nrows,
             long&nbsp;ncols)</code>
@@ -439,16 +481,16 @@
  when the optimization type is ROBUST.</div>
 </td>
 </tr>
-<tr id="i13" class="rowColor">
+<tr id="i17" class="rowColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/OptimizerUtils.html#estimateSizeEmptyBlock-long-long-">estimateSizeEmptyBlock</a></span>(long&nbsp;nrows,
                       long&nbsp;ncols)</code>&nbsp;</td>
 </tr>
-<tr id="i14" class="altColor">
+<tr id="i18" class="altColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/OptimizerUtils.html#estimateSizeExactSparsity-org.apache.sysds.runtime.meta.DataCharacteristics-">estimateSizeExactSparsity</a></span>(<a href="../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a>&nbsp;dc)</code>&nbsp;</td>
 </tr>
-<tr id="i15" class="rowColor">
+<tr id="i19" class="rowColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/OptimizerUtils.html#estimateSizeExactSparsity-long-long-double-">estimateSizeExactSparsity</a></span>(long&nbsp;nrows,
                          long&nbsp;ncols,
@@ -457,7 +499,7 @@
  matrix with dimensions=(nrows,ncols) and sparsity=sp.</div>
 </td>
 </tr>
-<tr id="i16" class="altColor">
+<tr id="i20" class="altColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/OptimizerUtils.html#estimateSizeExactSparsity-long-long-long-">estimateSizeExactSparsity</a></span>(long&nbsp;nrows,
                          long&nbsp;ncols,
@@ -466,20 +508,20 @@
  matrix with dimensions=(nrows,ncols) and and number of non-zeros nnz.</div>
 </td>
 </tr>
-<tr id="i17" class="rowColor">
+<tr id="i21" class="rowColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/OptimizerUtils.html#estimateSizeTextOutput-int:A-long-org.apache.sysds.common.Types.FileFormat-">estimateSizeTextOutput</a></span>(int[]&nbsp;dims,
                       long&nbsp;nnz,
                       <a href="../../../../org/apache/sysds/common/Types.FileFormat.html" title="enum in org.apache.sysds.common">Types.FileFormat</a>&nbsp;fmt)</code>&nbsp;</td>
 </tr>
-<tr id="i18" class="altColor">
+<tr id="i22" class="altColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/OptimizerUtils.html#estimateSizeTextOutput-long-long-long-org.apache.sysds.common.Types.FileFormat-">estimateSizeTextOutput</a></span>(long&nbsp;rows,
                       long&nbsp;cols,
                       long&nbsp;nnz,
                       <a href="../../../../org/apache/sysds/common/Types.FileFormat.html" title="enum in org.apache.sysds.common">Types.FileFormat</a>&nbsp;fmt)</code>&nbsp;</td>
 </tr>
-<tr id="i19" class="rowColor">
+<tr id="i23" class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/OptimizerUtils.html#exceedsCachingThreshold-long-double-">exceedsCachingThreshold</a></span>(long&nbsp;dim2,
                        double&nbsp;outMem)</code>
@@ -487,7 +529,7 @@
  caching, i.e., the matrix should be cached.</div>
 </td>
 </tr>
-<tr id="i20" class="altColor">
+<tr id="i24" class="altColor">
 <td class="colFirst"><code>static double</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/OptimizerUtils.html#getBinaryOpSparsity-double-double-org.apache.sysds.common.Types.OpOp2-boolean-">getBinaryOpSparsity</a></span>(double&nbsp;sp1,
                    double&nbsp;sp2,
@@ -496,33 +538,33 @@
 <div class="block">Estimates the result sparsity for matrix-matrix binary operations (A op B)</div>
 </td>
 </tr>
-<tr id="i21" class="rowColor">
+<tr id="i25" class="rowColor">
 <td class="colFirst"><code>static double</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/OptimizerUtils.html#getBinaryOpSparsityConditionalSparseSafe-double-org.apache.sysds.common.Types.OpOp2-org.apache.sysds.hops.LiteralOp-">getBinaryOpSparsityConditionalSparseSafe</a></span>(double&nbsp;sp1,
                                         <a href="../../../../org/apache/sysds/common/Types.OpOp2.html" title="enum in org.apache.sysds.common">Types.OpOp2</a>&nbsp;op,
                                         <a href="../../../../org/apache/sysds/hops/LiteralOp.html" title="class in org.apache.sysds.hops">LiteralOp</a>&nbsp;lit)</code>&nbsp;</td>
 </tr>
-<tr id="i22" class="altColor">
+<tr id="i26" class="altColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/OptimizerUtils.html#getConstrainedNumThreads-int-">getConstrainedNumThreads</a></span>(int&nbsp;maxNumThreads)</code>&nbsp;</td>
 </tr>
-<tr id="i23" class="rowColor">
+<tr id="i27" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../org/apache/sysds/common/Types.ExecMode.html" title="enum in org.apache.sysds.common">Types.ExecMode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/OptimizerUtils.html#getDefaultExecutionMode--">getDefaultExecutionMode</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i24" class="altColor">
+<tr id="i28" class="altColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/OptimizerUtils.html#getDefaultFrameSize--">getDefaultFrameSize</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i25" class="rowColor">
+<tr id="i29" class="rowColor">
 <td class="colFirst"><code>static org.apache.log4j.Level</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/OptimizerUtils.html#getDefaultLogLevel--">getDefaultLogLevel</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i26" class="altColor">
+<tr id="i30" class="altColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/OptimizerUtils.html#getDefaultSize--">getDefaultSize</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i27" class="rowColor">
+<tr id="i31" class="rowColor">
 <td class="colFirst"><code>static double</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/OptimizerUtils.html#getLeftIndexingSparsity-long-long-long-long-long-long-">getLeftIndexingSparsity</a></span>(long&nbsp;rlen1,
                        long&nbsp;clen1,
@@ -531,13 +573,13 @@
                        long&nbsp;clen2,
                        long&nbsp;nnz2)</code>&nbsp;</td>
 </tr>
-<tr id="i28" class="altColor">
+<tr id="i32" class="altColor">
 <td class="colFirst"><code>static double</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/OptimizerUtils.html#getLocalMemBudget--">getLocalMemBudget</a></span>()</code>
 <div class="block">Returns memory budget (according to util factor) in bytes</div>
 </td>
 </tr>
-<tr id="i29" class="rowColor">
+<tr id="i33" class="rowColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/OptimizerUtils.html#getMatMultNnz-double-double-long-long-long-boolean-">getMatMultNnz</a></span>(double&nbsp;sp1,
              double&nbsp;sp2,
@@ -546,7 +588,7 @@
              long&nbsp;n,
              boolean&nbsp;worstcase)</code>&nbsp;</td>
 </tr>
-<tr id="i30" class="altColor">
+<tr id="i34" class="altColor">
 <td class="colFirst"><code>static double</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/OptimizerUtils.html#getMatMultSparsity-double-double-long-long-long-boolean-">getMatMultSparsity</a></span>(double&nbsp;sp1,
                   double&nbsp;sp2,
@@ -557,38 +599,38 @@
 <div class="block">Estimates the result sparsity for Matrix Multiplication A %*% B.</div>
 </td>
 </tr>
-<tr id="i31" class="rowColor">
+<tr id="i35" class="rowColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/OptimizerUtils.html#getNnz-long-long-double-">getNnz</a></span>(long&nbsp;dim1,
       long&nbsp;dim2,
       double&nbsp;sp)</code>&nbsp;</td>
 </tr>
-<tr id="i32" class="altColor">
+<tr id="i36" class="altColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/OptimizerUtils.html#getNumIterations-org.apache.sysds.runtime.controlprogram.ForProgramBlock-org.apache.sysds.runtime.controlprogram.LocalVariableMap-long-">getNumIterations</a></span>(<a href="../../../../org/apache/sysds/runtime/controlprogram/ForProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ForProgramBlock</a>&nbsp;fpb,
                 <a href="../../../../org/apache/sysds/runtime/controlprogram/LocalVariableMap.html" title="class in org.apache.sysds.runtime.controlprogram">LocalVariableMap</a>&nbsp;vars,
                 long&nbsp;defaultValue)</code>&nbsp;</td>
 </tr>
-<tr id="i33" class="rowColor">
+<tr id="i37" class="rowColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/OptimizerUtils.html#getNumIterations-org.apache.sysds.runtime.controlprogram.ForProgramBlock-long-">getNumIterations</a></span>(<a href="../../../../org/apache/sysds/runtime/controlprogram/ForProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ForProgramBlock</a>&nbsp;fpb,
                 long&nbsp;defaultValue)</code>&nbsp;</td>
 </tr>
-<tr id="i34" class="altColor">
+<tr id="i38" class="altColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/OptimizerUtils.html#getNumMappers--">getNumMappers</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i35" class="rowColor">
+<tr id="i39" class="rowColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/OptimizerUtils.html#getNumReducers-boolean-">getNumReducers</a></span>(boolean&nbsp;configOnly)</code>
 <div class="block">Returns the number of reducers that potentially run in parallel.</div>
 </td>
 </tr>
-<tr id="i36" class="altColor">
+<tr id="i40" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../org/apache/sysds/hops/OptimizerUtils.OptimizationLevel.html" title="enum in org.apache.sysds.hops">OptimizerUtils.OptimizationLevel</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/OptimizerUtils.html#getOptLevel--">getOptLevel</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i37" class="rowColor">
+<tr id="i41" class="rowColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/OptimizerUtils.html#getOuterNonZeros-long-long-long-long-org.apache.sysds.common.Types.OpOp2-">getOuterNonZeros</a></span>(long&nbsp;n1,
                 long&nbsp;n2,
@@ -596,65 +638,69 @@
                 long&nbsp;nnz2,
                 <a href="../../../../org/apache/sysds/common/Types.OpOp2.html" title="enum in org.apache.sysds.common">Types.OpOp2</a>&nbsp;op)</code>&nbsp;</td>
 </tr>
-<tr id="i38" class="altColor">
+<tr id="i42" class="altColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/OptimizerUtils.html#getParallelBinaryReadParallelism--">getParallelBinaryReadParallelism</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i39" class="rowColor">
+<tr id="i43" class="rowColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/OptimizerUtils.html#getParallelBinaryWriteParallelism--">getParallelBinaryWriteParallelism</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i40" class="altColor">
+<tr id="i44" class="altColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/OptimizerUtils.html#getParallelTextReadParallelism--">getParallelTextReadParallelism</a></span>()</code>
 <div class="block">Returns the degree of parallelism used for parallel text read.</div>
 </td>
 </tr>
-<tr id="i41" class="rowColor">
+<tr id="i45" class="rowColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/OptimizerUtils.html#getParallelTextWriteParallelism--">getParallelTextWriteParallelism</a></span>()</code>
 <div class="block">Returns the degree of parallelism used for parallel text write.</div>
 </td>
 </tr>
-<tr id="i42" class="altColor">
+<tr id="i46" class="altColor">
 <td class="colFirst"><code>static double</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/OptimizerUtils.html#getSparsity-org.apache.sysds.runtime.meta.DataCharacteristics-">getSparsity</a></span>(<a href="../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a>&nbsp;dc)</code>&nbsp;</td>
 </tr>
-<tr id="i43" class="rowColor">
+<tr id="i47" class="rowColor">
+<td class="colFirst"><code>static double</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/OptimizerUtils.html#getSparsity-org.apache.sysds.hops.Hop-">getSparsity</a></span>(<a href="../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop)</code>&nbsp;</td>
+</tr>
+<tr id="i48" class="altColor">
 <td class="colFirst"><code>static double</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/OptimizerUtils.html#getSparsity-long:A-long-">getSparsity</a></span>(long[]&nbsp;dims,
            long&nbsp;nnz)</code>&nbsp;</td>
 </tr>
-<tr id="i44" class="altColor">
+<tr id="i49" class="rowColor">
 <td class="colFirst"><code>static double</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/OptimizerUtils.html#getSparsity-long-long-long-">getSparsity</a></span>(long&nbsp;dim1,
            long&nbsp;dim2,
            long&nbsp;nnz)</code>&nbsp;</td>
 </tr>
-<tr id="i45" class="rowColor">
+<tr id="i50" class="altColor">
 <td class="colFirst"><code>static double</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/OptimizerUtils.html#getTotalMemEstimate-org.apache.sysds.hops.Hop:A-org.apache.sysds.hops.Hop-">getTotalMemEstimate</a></span>(<a href="../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>[]&nbsp;in,
                    <a href="../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;out)</code>&nbsp;</td>
 </tr>
-<tr id="i46" class="altColor">
+<tr id="i51" class="rowColor">
 <td class="colFirst"><code>static double</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/OptimizerUtils.html#getTotalMemEstimate-org.apache.sysds.hops.Hop:A-org.apache.sysds.hops.Hop-boolean-">getTotalMemEstimate</a></span>(<a href="../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>[]&nbsp;in,
                    <a href="../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;out,
                    boolean&nbsp;denseOut)</code>&nbsp;</td>
 </tr>
-<tr id="i47" class="rowColor">
+<tr id="i52" class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/OptimizerUtils.html#getUniqueTempFileName--">getUniqueTempFileName</a></span>()</code>
 <div class="block">Wrapper over internal filename construction for external usage.</div>
 </td>
 </tr>
-<tr id="i48" class="altColor">
+<tr id="i53" class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/OptimizerUtils.html#isBinaryOpConditionalSparseSafe-org.apache.sysds.common.Types.OpOp2-">isBinaryOpConditionalSparseSafe</a></span>(<a href="../../../../org/apache/sysds/common/Types.OpOp2.html" title="enum in org.apache.sysds.common">Types.OpOp2</a>&nbsp;op)</code>
 <div class="block">Determines if a given binary op is potentially conditional sparse safe.</div>
 </td>
 </tr>
-<tr id="i49" class="rowColor">
+<tr id="i54" class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/OptimizerUtils.html#isBinaryOpConditionalSparseSafeExact-org.apache.sysds.common.Types.OpOp2-org.apache.sysds.hops.LiteralOp-">isBinaryOpConditionalSparseSafeExact</a></span>(<a href="../../../../org/apache/sysds/common/Types.OpOp2.html" title="enum in org.apache.sysds.common">Types.OpOp2</a>&nbsp;op,
                                     <a href="../../../../org/apache/sysds/hops/LiteralOp.html" title="class in org.apache.sysds.hops">LiteralOp</a>&nbsp;lit)</code>
@@ -662,16 +708,16 @@
  sparsity which is exactly the same as its matrix input sparsity.</div>
 </td>
 </tr>
-<tr id="i50" class="altColor">
+<tr id="i55" class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/OptimizerUtils.html#isBinaryOpSparsityConditionalSparseSafe-org.apache.sysds.common.Types.OpOp2-org.apache.sysds.hops.LiteralOp-">isBinaryOpSparsityConditionalSparseSafe</a></span>(<a href="../../../../org/apache/sysds/common/Types.OpOp2.html" title="enum in org.apache.sysds.common">Types.OpOp2</a>&nbsp;op,
                                        <a href="../../../../org/apache/sysds/hops/LiteralOp.html" title="class in org.apache.sysds.hops">LiteralOp</a>&nbsp;lit)</code>&nbsp;</td>
 </tr>
-<tr id="i51" class="rowColor">
+<tr id="i56" class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/OptimizerUtils.html#isHybridExecutionMode--">isHybridExecutionMode</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i52" class="altColor">
+<tr id="i57" class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/OptimizerUtils.html#isIndexingRangeBlockAligned-org.apache.sysds.runtime.util.IndexRange-org.apache.sysds.runtime.meta.DataCharacteristics-">isIndexingRangeBlockAligned</a></span>(<a href="../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixrange,
                            <a href="../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a>&nbsp;mc)</code>
@@ -679,7 +725,7 @@
  global aggregation of blocks.</div>
 </td>
 </tr>
-<tr id="i53" class="rowColor">
+<tr id="i58" class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/OptimizerUtils.html#isIndexingRangeBlockAligned-long-long-long-long-long-">isIndexingRangeBlockAligned</a></span>(long&nbsp;rl,
                            long&nbsp;ru,
@@ -690,38 +736,38 @@
  global aggregation of blocks.</div>
 </td>
 </tr>
-<tr id="i54" class="altColor">
+<tr id="i59" class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/OptimizerUtils.html#isMaxLocalParallelism-int-">isMaxLocalParallelism</a></span>(int&nbsp;k)</code>&nbsp;</td>
 </tr>
-<tr id="i55" class="rowColor">
+<tr id="i60" class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/OptimizerUtils.html#isMemoryBasedOptLevel--">isMemoryBasedOptLevel</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i56" class="altColor">
+<tr id="i61" class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/OptimizerUtils.html#isOptLevel-org.apache.sysds.hops.OptimizerUtils.OptimizationLevel-">isOptLevel</a></span>(<a href="../../../../org/apache/sysds/hops/OptimizerUtils.OptimizationLevel.html" title="enum in org.apache.sysds.hops">OptimizerUtils.OptimizationLevel</a>&nbsp;level)</code>&nbsp;</td>
 </tr>
-<tr id="i57" class="rowColor">
+<tr id="i62" class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/OptimizerUtils.html#isSparkExecutionMode--">isSparkExecutionMode</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i58" class="altColor">
+<tr id="i63" class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/OptimizerUtils.html#isTopLevelParFor--">isTopLevelParFor</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i59" class="rowColor">
+<tr id="i64" class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/OptimizerUtils.html#isValidCPDimensions-org.apache.sysds.runtime.meta.DataCharacteristics-">isValidCPDimensions</a></span>(<a href="../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a>&nbsp;mc)</code>&nbsp;</td>
 </tr>
-<tr id="i60" class="altColor">
+<tr id="i65" class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/OptimizerUtils.html#isValidCPDimensions-long-long-">isValidCPDimensions</a></span>(long&nbsp;rows,
                    long&nbsp;cols)</code>
 <div class="block">Returns false if dimensions known to be invalid; other true</div>
 </td>
 </tr>
-<tr id="i61" class="rowColor">
+<tr id="i66" class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/OptimizerUtils.html#isValidCPDimensions-org.apache.sysds.common.Types.ValueType:A-java.lang.String:A-">isValidCPDimensions</a></span>(<a href="../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>[]&nbsp;schema,
                    <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;names)</code>
@@ -729,7 +775,7 @@
  Length to be &gt; 0, and length of both to be equal.</div>
 </td>
 </tr>
-<tr id="i62" class="altColor">
+<tr id="i67" class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/OptimizerUtils.html#isValidCPMatrixSize-long-long-double-">isValidCPMatrixSize</a></span>(long&nbsp;rows,
                    long&nbsp;cols,
@@ -737,39 +783,39 @@
 <div class="block">Determines if valid matrix size to be represented in CP data structures.</div>
 </td>
 </tr>
-<tr id="i63" class="rowColor">
+<tr id="i68" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/OptimizerUtils.html#resetDefaultSize--">resetDefaultSize</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i64" class="altColor">
+<tr id="i69" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/OptimizerUtils.html#resetStaticCompilerFlags--">resetStaticCompilerFlags</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i65" class="rowColor">
+<tr id="i70" class="altColor">
 <td class="colFirst"><code>static double</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/OptimizerUtils.html#rEvalSimpleDoubleExpression-org.apache.sysds.hops.Hop-java.util.HashMap-">rEvalSimpleDoubleExpression</a></span>(<a href="../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;root,
                            <a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a>&gt;&nbsp;valMemo)</code>&nbsp;</td>
 </tr>
-<tr id="i66" class="altColor">
+<tr id="i71" class="rowColor">
 <td class="colFirst"><code>static double</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/OptimizerUtils.html#rEvalSimpleDoubleExpression-org.apache.sysds.hops.Hop-java.util.HashMap-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">rEvalSimpleDoubleExpression</a></span>(<a href="../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;root,
                            <a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a>&gt;&nbsp;valMemo,
                            <a href="../../../../org/apache/sysds/runtime/controlprogram/LocalVariableMap.html" title="class in org.apache.sysds.runtime.controlprogram">LocalVariableMap</a>&nbsp;vars)</code>&nbsp;</td>
 </tr>
-<tr id="i67" class="rowColor">
+<tr id="i72" class="altColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/OptimizerUtils.html#rEvalSimpleLongExpression-org.apache.sysds.hops.Hop-java.util.HashMap-">rEvalSimpleLongExpression</a></span>(<a href="../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;root,
                          <a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&nbsp;valMemo)</code>
 <div class="block">Function to evaluate simple size expressions over literals and now/ncol.</div>
 </td>
 </tr>
-<tr id="i68" class="altColor">
+<tr id="i73" class="rowColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/OptimizerUtils.html#rEvalSimpleLongExpression-org.apache.sysds.hops.Hop-java.util.HashMap-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">rEvalSimpleLongExpression</a></span>(<a href="../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;root,
                          <a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&nbsp;valMemo,
                          <a href="../../../../org/apache/sysds/runtime/controlprogram/LocalVariableMap.html" title="class in org.apache.sysds.runtime.controlprogram">LocalVariableMap</a>&nbsp;vars)</code>&nbsp;</td>
 </tr>
-<tr id="i69" class="rowColor">
+<tr id="i74" class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/OptimizerUtils.html#toMB-double-">toMB</a></span>(double&nbsp;inB)</code>&nbsp;</td>
 </tr>
@@ -1008,6 +1054,18 @@
  results of constant folding).</div>
 </li>
 </ul>
+<a name="ALLOW_FOR_LOOP_REMOVAL">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>ALLOW_FOR_LOOP_REMOVAL</h4>
+<pre>public static&nbsp;boolean ALLOW_FOR_LOOP_REMOVAL</pre>
+<div class="block">Enables the removal of (par)for-loops when from, to, and increment are constants
+ (original literals or results of constant folding) and lead to an empty sequence,
+ i.e., (par)for-loops without a single iteration.</div>
+</li>
+</ul>
 <a name="ALLOW_AUTO_VECTORIZATION">
 <!--   -->
 </a>
@@ -1162,7 +1220,7 @@
 <a name="ALLOW_COMBINE_FILE_INPUT_FORMAT">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>ALLOW_COMBINE_FILE_INPUT_FORMAT</h4>
 <pre>public static final&nbsp;boolean ALLOW_COMBINE_FILE_INPUT_FORMAT</pre>
@@ -1176,6 +1234,21 @@
 </dl>
 </li>
 </ul>
+<a name="ALLOW_SCRIPT_LEVEL_COMPRESS_COMMAND">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>ALLOW_SCRIPT_LEVEL_COMPRESS_COMMAND</h4>
+<pre>public static final&nbsp;boolean ALLOW_SCRIPT_LEVEL_COMPRESS_COMMAND</pre>
+<div class="block">This variable allows for insertion of Compress and decompress in the dml script from the user.
+ This is added because we want to have a way to test, and verify the correct placement of compress and decompress commands.</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../constant-values.html#org.apache.sysds.hops.OptimizerUtils.ALLOW_SCRIPT_LEVEL_COMPRESS_COMMAND">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 <!-- ========= CONSTRUCTOR DETAIL ======== -->
@@ -1555,6 +1628,16 @@
 </dl>
 </li>
 </ul>
+<a name="estimatePartitionedSizeExactSparsity-org.apache.sysds.runtime.meta.DataCharacteristics-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>estimatePartitionedSizeExactSparsity</h4>
+<pre>public static&nbsp;long&nbsp;estimatePartitionedSizeExactSparsity(<a href="../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a>&nbsp;dc,
+                                                        boolean&nbsp;outputEmptyBlocks)</pre>
+</li>
+</ul>
 <a name="estimatePartitionedSizeExactSparsity-long-long-long-long-">
 <!--   -->
 </a>
@@ -1578,6 +1661,36 @@
 </dl>
 </li>
 </ul>
+<a name="estimatePartitionedSizeExactSparsity-long-long-long-long-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>estimatePartitionedSizeExactSparsity</h4>
+<pre>public static&nbsp;long&nbsp;estimatePartitionedSizeExactSparsity(long&nbsp;rlen,
+                                                        long&nbsp;clen,
+                                                        long&nbsp;blen,
+                                                        long&nbsp;nnz,
+                                                        boolean&nbsp;outputEmptyBlocks)</pre>
+</li>
+</ul>
+<a name="estimatePartitionedSizeExactSparsity-org.apache.sysds.hops.Hop-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>estimatePartitionedSizeExactSparsity</h4>
+<pre>public static&nbsp;long&nbsp;estimatePartitionedSizeExactSparsity(<a href="../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop)</pre>
+<div class="block">Estimates the footprint (in bytes) for a partitioned in-memory representation of a
+ matrix with the hops dimensions and number of non-zeros nnz.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>hop</code> - The hop to extract dimensions and nnz from</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the memory estimate</dd>
+</dl>
+</li>
+</ul>
 <a name="estimatePartitionedSizeExactSparsity-long-long-long-double-">
 <!--   -->
 </a>
@@ -1601,6 +1714,19 @@
 </dl>
 </li>
 </ul>
+<a name="estimatePartitionedSizeExactSparsity-long-long-long-double-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>estimatePartitionedSizeExactSparsity</h4>
+<pre>public static&nbsp;long&nbsp;estimatePartitionedSizeExactSparsity(long&nbsp;rlen,
+                                                        long&nbsp;clen,
+                                                        long&nbsp;blen,
+                                                        double&nbsp;sp,
+                                                        boolean&nbsp;outputEmptyBlocks)</pre>
+</li>
+</ul>
 <a name="estimateSize-long-long-">
 <!--   -->
 </a>
@@ -2021,6 +2147,15 @@
                                  long&nbsp;nnz)</pre>
 </li>
 </ul>
+<a name="getSparsity-org.apache.sysds.hops.Hop-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getSparsity</h4>
+<pre>public static&nbsp;double&nbsp;getSparsity(<a href="../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop)</pre>
+</li>
+</ul>
 <a name="getSparsity-long:A-long-">
 <!--   -->
 </a>
@@ -2183,6 +2318,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/ParameterizedBuiltinOp.html b/docs/api/java/org/apache/sysds/hops/ParameterizedBuiltinOp.html
index 7066444..503c5e4 100644
--- a/docs/api/java/org/apache/sysds/hops/ParameterizedBuiltinOp.html
+++ b/docs/api/java/org/apache/sysds/hops/ParameterizedBuiltinOp.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -232,42 +232,46 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/ParameterizedBuiltinOp.html#getParamIndexMap--">getParamIndexMap</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i9" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/sysds/hops/FunctionOp.html" title="class in org.apache.sysds.hops">FunctionOp</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/ParameterizedBuiltinOp.html#getParamservPseudoFunctionCalls--">getParamservPseudoFunctionCalls</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i10" class="altColor">
 <td class="colFirst"><code><a href="../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/ParameterizedBuiltinOp.html#getTargetHop--">getTargetHop</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/ParameterizedBuiltinOp.html#isCountFunction--">isCountFunction</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i11" class="rowColor">
+<tr id="i12" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/ParameterizedBuiltinOp.html#isGPUEnabled--">isGPUEnabled</a></span>()</code>
 <div class="block">In memory-based optimizer mode (see OptimizerUtils.isMemoryBasedOptLevel()), 
  the exectype is determined by checking this method as well as memory budget of this Hop.</div>
 </td>
 </tr>
-<tr id="i12" class="altColor">
+<tr id="i13" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/ParameterizedBuiltinOp.html#isMultiThreadedOpType--">isMultiThreadedOpType</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i13" class="rowColor">
+<tr id="i14" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/ParameterizedBuiltinOp.html#isTargetDiagInput--">isTargetDiagInput</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i14" class="altColor">
+<tr id="i15" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/ParameterizedBuiltinOp.html#isTransposeSafe--">isTransposeSafe</a></span>()</code>
 <div class="block">Defines if this operation is transpose-safe, which means that
  the result of op(input) is equivalent to op(t(input)).</div>
 </td>
 </tr>
-<tr id="i15" class="rowColor">
+<tr id="i16" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/ParameterizedBuiltinOp.html#refreshSizeInformation--">refreshSizeInformation</a></span>()</code>
 <div class="block">Update the output size information for this hop.</div>
 </td>
 </tr>
-<tr id="i16" class="altColor">
+<tr id="i17" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/ParameterizedBuiltinOp.html#setOutputPermutationMatrix-boolean-">setOutputPermutationMatrix</a></span>(boolean&nbsp;flag)</code>&nbsp;</td>
 </tr>
@@ -284,14 +288,14 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.hops.<a href="../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a></h3>
-<code><a href="../../../../org/apache/sysds/hops/Hop.html#addAllInputs-java.util.ArrayList-">addAllInputs</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#addInput-org.apache.sysds.hops.Hop-">addInput</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#checkAndSetForcedPlatform--">checkAndSetForcedPlatform</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#checkAndSetInvalidCPDimsAndSize--">checkAndSetInvalidCPDimsAndSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#clearMemEstimate--">clearMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#colsKnown--">colsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeBoundsInformation-org.apache.sysds.hops.Hop-">computeBoundsInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeBoundsInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">computeBoundsInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeBoundsInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">computeBoundsInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeMemEstimate-org.apache.sysds.hops.MemoTable-">computeMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeSizeInformation-org.apache.sysds.hops.Hop-">computeSizeInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeSizeInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">computeSizeInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeSizeInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">computeSizeInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#constructAndSetLopsDataFlowProperties--">constructAndSetLopsDataFlowProperties</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#createOffsetLop-org.apache.sysds.hops.Hop-boolean-">createOffsetLop</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#dimsKnown--">dimsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#dimsKnown-boolean-">dimsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#dimsKnownAny--">dimsKnownAny</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getBeginLine--">getBeginLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getBlocksize--">getBlocksize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDataCharacteristics--">getDataCharacteristics</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDataType--">getDataType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDim-int-">getDim</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDim1--">getDim1</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDim2--">getDim2</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getEndColumn--">getEndColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getEndLine--">getEndLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getExecType--">getExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getFilename--">getFilename</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getForcedExecType--">getForcedExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getHopID--">getHopID</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInput--">getInput</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInputMemEstimate--">getInputMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInputOutputSize-java.util.Collection-">getInputOutputSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getIntermediateMemEstimate--">getIntermediateMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getLength--">getLength</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getLops--">getLops</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getMemEstimate--">getMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getName--">getName</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getNnz--">getNnz</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getOutputMemEstimate--">getOutputMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getParent--">getParent</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getPrivacy--">getPrivacy</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getSparsity--">getSparsity</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getSpBroadcastSize--">getSpBroadcastSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getText--">getText</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getUpdateType--">getUpdateType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getValueType--">getValueType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#hasMatrixInputWithDifferentBlocksizes--">hasMatrixInputWithDifferentBlocksizes</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#hasValidCPDimsAndSize--">hasValidCPDimsAndSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isMatrix--">isMatrix</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isMemEstimated--">isMemEstimated</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isOutputEmptyBlocks--">isOutputEmptyBlocks</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isScalar--">isScalar</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isVisited--">isVisited</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#printErrorLocation--">printErrorLocation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshColsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">refreshColsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshColsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">refreshColsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshMemEstimates-org.apache.sysds.hops.MemoTable-">refreshMemEstimates</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshRowsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">refreshRowsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshRowsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">refreshRowsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresCheckpoint--">requiresCheckpoint</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresCompression--">requiresCompression</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresLineageCaching--">requiresLineageCaching</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresReblock--">requiresReblock</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresRecompile--">requiresRecompile</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetExecType--">resetExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetRecompilationFlag-java.util.ArrayList-org.apache.sysds.lops.LopProperties.ExecType-org.apache.sysds.hops.recompile.Recompiler.ResetType-">resetRecompilationFlag</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetRecompilationFlag-org.apache.sysds.hops.Hop-org.apache.sysds.lops.LopProperties.ExecType-org.apache.sysds.hops.recompile.Recompiler.ResetType-">resetRecompilationFlag</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus--">resetVisitStatus</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus-java.util.ArrayList-">resetVisitStatus</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus-java.util.ArrayList-boolean-">resetVisitStatus</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatusForced-java.util.HashSet-">resetVisitStatusForced</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#rowsKnown--">rowsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setBeginColumn-int-">setBeginColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setBeginLine-int-">setBeginLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setBlocksize-int-">setBlocksize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDataType-org.apache.sysds.common.Types.DataType-">setDataType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDim-int-long-">setDim</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDim1-long-">setDim1</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDim2-long-">setDim2</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setEndColumn-int-">setEndColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setEndLine-int-">setEndLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setFilename-java.lang.String-">setFilename</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setForcedExecType-org.apache.sysds.lops.LopProperties.ExecType-">setForcedExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setLops-org.apache.sysds.lops.Lop-">setLops</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setMemEstimate-double-">setMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setName-java.lang.String-">setName</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setNnz-long-">setNnz</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setOutputEmptyBlocks-boolean-">setOutputEmptyBlocks</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setParseInfo-org.apache.sysds.parser.ParseInfo-">setParseInfo</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setPrivacy-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacy</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresCheckpoint-boolean-">setRequiresCheckpoint</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresCompression-boolean-">setRequiresCompression</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresLineageCaching-boolean-">setRequiresLineageCaching</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresReblock-boolean-">setRequiresReblock</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresRecompile--">setRequiresRecompile</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setText-java.lang.String-">setText</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setUpdateType-org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType-">setUpdateType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setValueType-org.apache.sysds.common.Types.ValueType-">setValueType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setVisited--">setVisited</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setVisited-boolean-">setVisited</a></code></li>
+<code><a href="../../../../org/apache/sysds/hops/Hop.html#addAllInputs-java.util.ArrayList-">addAllInputs</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#addInput-org.apache.sysds.hops.Hop-">addInput</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#checkAndSetForcedPlatform--">checkAndSetForcedPlatform</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#checkAndSetInvalidCPDimsAndSize--">checkAndSetInvalidCPDimsAndSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#clearMemEstimate--">clearMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#colsKnown--">colsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeBoundsInformation-org.apache.sysds.hops.Hop-">computeBoundsInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeBoundsInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">computeBoundsInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeBoundsInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">computeBoundsInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeMemEstimate-org.apache.sysds.hops.MemoTable-">computeMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeSizeInformation-org.apache.sysds.hops.Hop-">computeSizeInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeSizeInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">computeSizeInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeSizeInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">computeSizeInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#constructAndSetLopsDataFlowProperties--">constructAndSetLopsDataFlowProperties</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#createOffsetLop-org.apache.sysds.hops.Hop-boolean-">createOffsetLop</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#dimsKnown--">dimsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#dimsKnown-boolean-">dimsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#dimsKnownAny--">dimsKnownAny</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getBeginLine--">getBeginLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getBlocksize--">getBlocksize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDataCharacteristics--">getDataCharacteristics</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDataType--">getDataType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDim-int-">getDim</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDim1--">getDim1</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDim2--">getDim2</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getEndColumn--">getEndColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getEndLine--">getEndLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getExecType--">getExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getFilename--">getFilename</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getForcedExecType--">getForcedExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getHopID--">getHopID</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInput--">getInput</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInput-int-">getInput</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInputMemEstimate--">getInputMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInputOutputSize-java.util.Collection-">getInputOutputSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getIntermediateMemEstimate--">getIntermediateMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getLength--">getLength</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getLops--">getLops</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getMemEstimate--">getMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getName--">getName</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getNnz--">getNnz</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getOutputMemEstimate--">getOutputMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getParent--">getParent</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getPrivacy--">getPrivacy</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getSparsity--">getSparsity</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getSpBroadcastSize--">getSpBroadcastSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getText--">getText</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getUpdateType--">getUpdateType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getValueType--">getValueType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#hasMatrixInputWithDifferentBlocksizes--">hasMatrixInputWithDifferentBlocksizes</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#hasValidCPDimsAndSize--">hasValidCPDimsAndSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isMatrix--">isMatrix</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isMemEstimated--">isMemEstimated</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isOutputEmptyBlocks--">isOutputEmptyBlocks</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isScalar--">isScalar</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isVisited--">isVisited</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#printErrorLocation--">printErrorLocation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshColsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">refreshColsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshColsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">refreshColsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshMemEstimates-org.apache.sysds.hops.MemoTable-">refreshMemEstimates</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshRowsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">refreshRowsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshRowsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">refreshRowsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresCheckpoint--">requiresCheckpoint</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresCompression--">requiresCompression</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresLineageCaching--">requiresLineageCaching</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresReblock--">requiresReblock</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresRecompile--">requiresRecompile</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetExecType--">resetExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetRecompilationFlag-java.util.ArrayList-org.apache.sysds.lops.LopProperties.ExecType-org.apache.sysds.hops.recompile.Recompiler.ResetType-">resetRecompilationFlag</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetRecompilationFlag-org.apache.sysds.hops.Hop-org.apache.sysds.lops.LopProperties.ExecType-org.apache.sysds.hops.recompile.Recompiler.ResetType-">resetRecompilationFlag</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus--">resetVisitStatus</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus-java.util.ArrayList-">resetVisitStatus</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus-java.util.ArrayList-boolean-">resetVisitStatus</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatusForced-java.util.HashSet-">resetVisitStatusForced</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#rowsKnown--">rowsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setBeginColumn-int-">setBeginColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setBeginLine-int-">setBeginLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setBlocksize-int-">setBlocksize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDataType-org.apache.sysds.common.Types.DataType-">setDataType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDim-int-long-">setDim</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDim1-long-">setDim1</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDim2-long-">setDim2</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setEndColumn-int-">setEndColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setEndLine-int-">setEndLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setFilename-java.lang.String-">setFilename</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setForcedExecType-org.apache.sysds.lops.LopProperties.ExecType-">setForcedExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setLops-org.apache.sysds.lops.Lop-">setLops</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setMemEstimate-double-">setMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setName-java.lang.String-">setName</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setNnz-long-">setNnz</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setOutputEmptyBlocks-boolean-">setOutputEmptyBlocks</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setParseInfo-org.apache.sysds.parser.ParseInfo-">setParseInfo</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setPrivacy-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacy</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresCheckpoint-boolean-">setRequiresCheckpoint</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresCompression-boolean-">setRequiresCompression</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresDeCompression-boolean-">setRequiresDeCompression</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresLineageCaching-boolean-">setRequiresLineageCaching</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresReblock-boolean-">setRequiresReblock</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresRecompile--">setRequiresRecompile</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setText-java.lang.String-">setText</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setUpdateType-org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType-">setUpdateType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setValueType-org.apache.sysds.common.Types.ValueType-">setValueType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setVisited--">setVisited</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setVisited-boolean-">setVisited</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#toString--">toString</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
-<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.parser.ParseInfo">
@@ -578,12 +582,21 @@
 <a name="isTargetDiagInput--">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>isTargetDiagInput</h4>
 <pre>public&nbsp;boolean&nbsp;isTargetDiagInput()</pre>
 </li>
 </ul>
+<a name="getParamservPseudoFunctionCalls--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getParamservPseudoFunctionCalls</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/sysds/hops/FunctionOp.html" title="class in org.apache.sysds.hops">FunctionOp</a>&gt;&nbsp;getParamservPseudoFunctionCalls()</pre>
+</li>
+</ul>
 </li>
 </ul>
 </li>
@@ -653,6 +666,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/QuaternaryOp.html b/docs/api/java/org/apache/sysds/hops/QuaternaryOp.html
index 694a87c..2d80f8a 100644
--- a/docs/api/java/org/apache/sysds/hops/QuaternaryOp.html
+++ b/docs/api/java/org/apache/sysds/hops/QuaternaryOp.html
@@ -305,14 +305,14 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.hops.<a href="../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a></h3>
-<code><a href="../../../../org/apache/sysds/hops/Hop.html#addAllInputs-java.util.ArrayList-">addAllInputs</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#addInput-org.apache.sysds.hops.Hop-">addInput</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#checkAndSetForcedPlatform--">checkAndSetForcedPlatform</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#checkAndSetInvalidCPDimsAndSize--">checkAndSetInvalidCPDimsAndSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#clearMemEstimate--">clearMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#colsKnown--">colsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeBoundsInformation-org.apache.sysds.hops.Hop-">computeBoundsInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeBoundsInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">computeBoundsInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeBoundsInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">computeBoundsInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeMemEstimate-org.apache.sysds.hops.MemoTable-">computeMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeSizeInformation-org.apache.sysds.hops.Hop-">computeSizeInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeSizeInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">computeSizeInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeSizeInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">computeSizeInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#constructAndSetLopsDataFlowProperties--">constructAndSetLopsDataFlowProperties</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#createOffsetLop-org.apache.sysds.hops.Hop-boolean-">createOffsetLop</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#dimsKnown--">dimsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#dimsKnown-boolean-">dimsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#dimsKnownAny--">dimsKnownAny</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getBeginLine--">getBeginLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getBlocksize--">getBlocksize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDataCharacteristics--">getDataCharacteristics</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDataType--">getDataType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDim-int-">getDim</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDim1--">getDim1</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDim2--">getDim2</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getEndColumn--">getEndColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getEndLine--">getEndLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getExecType--">getExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getFilename--">getFilename</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getForcedExecType--">getForcedExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getHopID--">getHopID</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInput--">getInput</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInputMemEstimate--">getInputMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInputOutputSize-java.util.Collection-">getInputOutputSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getIntermediateMemEstimate--">getIntermediateMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getLength--">getLength</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getLops--">getLops</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getMemEstimate--">getMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getName--">getName</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getNnz--">getNnz</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getOutputMemEstimate--">getOutputMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getParent--">getParent</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getPrivacy--">getPrivacy</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getSparsity--">getSparsity</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getSpBroadcastSize--">getSpBroadcastSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getText--">getText</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getUpdateType--">getUpdateType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getValueType--">getValueType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#hasMatrixInputWithDifferentBlocksizes--">hasMatrixInputWithDifferentBlocksizes</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#hasValidCPDimsAndSize--">hasValidCPDimsAndSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isMatrix--">isMatrix</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isMemEstimated--">isMemEstimated</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isOutputEmptyBlocks--">isOutputEmptyBlocks</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isScalar--">isScalar</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isTransposeSafe--">isTransposeSafe</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isVisited--">isVisited</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#printErrorLocation--">printErrorLocation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshColsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">refreshColsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshColsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">refreshColsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshMemEstimates-org.apache.sysds.hops.MemoTable-">refreshMemEstimates</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshRowsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">refreshRowsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshRowsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">refreshRowsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresCheckpoint--">requiresCheckpoint</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresCompression--">requiresCompression</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresLineageCaching--">requiresLineageCaching</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresReblock--">requiresReblock</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresRecompile--">requiresRecompile</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetExecType--">resetExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetRecompilationFlag-java.util.ArrayList-org.apache.sysds.lops.LopProperties.ExecType-org.apache.sysds.hops.recompile.Recompiler.ResetType-">resetRecompilationFlag</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetRecompilationFlag-org.apache.sysds.hops.Hop-org.apache.sysds.lops.LopProperties.ExecType-org.apache.sysds.hops.recompile.Recompiler.ResetType-">resetRecompilationFlag</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus--">resetVisitStatus</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus-java.util.ArrayList-">resetVisitStatus</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus-java.util.ArrayList-boolean-">resetVisitStatus</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatusForced-java.util.HashSet-">resetVisitStatusForced</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#rowsKnown--">rowsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setBeginColumn-int-">setBeginColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setBeginLine-int-">setBeginLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setBlocksize-int-">setBlocksize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDataType-org.apache.sysds.common.Types.DataType-">setDataType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDim-int-long-">setDim</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDim1-long-">setDim1</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDim2-long-">setDim2</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setEndColumn-int-">setEndColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setEndLine-int-">setEndLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setFilename-java.lang.String-">setFilename</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setForcedExecType-org.apache.sysds.lops.LopProperties.ExecType-">setForcedExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setLops-org.apache.sysds.lops.Lop-">setLops</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setMemEstimate-double-">setMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setName-java.lang.String-">setName</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setNnz-long-">setNnz</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setOutputEmptyBlocks-boolean-">setOutputEmptyBlocks</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setParseInfo-org.apache.sysds.parser.ParseInfo-">setParseInfo</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setPrivacy-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacy</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresCheckpoint-boolean-">setRequiresCheckpoint</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresCompression-boolean-">setRequiresCompression</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresLineageCaching-boolean-">setRequiresLineageCaching</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresReblock-boolean-">setRequiresReblock</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresRecompile--">setRequiresRecompile</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setText-java.lang.String-">setText</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setUpdateType-org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType-">setUpdateType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setValueType-org.apache.sysds.common.Types.ValueType-">setValueType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setVisited--">setVisited</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setVisited-boolean-">setVisited</a></code></li>
+<code><a href="../../../../org/apache/sysds/hops/Hop.html#addAllInputs-java.util.ArrayList-">addAllInputs</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#addInput-org.apache.sysds.hops.Hop-">addInput</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#checkAndSetForcedPlatform--">checkAndSetForcedPlatform</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#checkAndSetInvalidCPDimsAndSize--">checkAndSetInvalidCPDimsAndSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#clearMemEstimate--">clearMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#colsKnown--">colsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeBoundsInformation-org.apache.sysds.hops.Hop-">computeBoundsInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeBoundsInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">computeBoundsInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeBoundsInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">computeBoundsInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeMemEstimate-org.apache.sysds.hops.MemoTable-">computeMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeSizeInformation-org.apache.sysds.hops.Hop-">computeSizeInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeSizeInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">computeSizeInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeSizeInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">computeSizeInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#constructAndSetLopsDataFlowProperties--">constructAndSetLopsDataFlowProperties</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#createOffsetLop-org.apache.sysds.hops.Hop-boolean-">createOffsetLop</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#dimsKnown--">dimsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#dimsKnown-boolean-">dimsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#dimsKnownAny--">dimsKnownAny</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getBeginLine--">getBeginLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getBlocksize--">getBlocksize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDataCharacteristics--">getDataCharacteristics</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDataType--">getDataType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDim-int-">getDim</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDim1--">getDim1</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDim2--">getDim2</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getEndColumn--">getEndColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getEndLine--">getEndLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getExecType--">getExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getFilename--">getFilename</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getForcedExecType--">getForcedExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getHopID--">getHopID</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInput--">getInput</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInput-int-">getInput</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInputMemEstimate--">getInputMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInputOutputSize-java.util.Collection-">getInputOutputSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getIntermediateMemEstimate--">getIntermediateMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getLength--">getLength</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getLops--">getLops</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getMemEstimate--">getMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getName--">getName</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getNnz--">getNnz</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getOutputMemEstimate--">getOutputMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getParent--">getParent</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getPrivacy--">getPrivacy</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getSparsity--">getSparsity</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getSpBroadcastSize--">getSpBroadcastSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getText--">getText</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getUpdateType--">getUpdateType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getValueType--">getValueType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#hasMatrixInputWithDifferentBlocksizes--">hasMatrixInputWithDifferentBlocksizes</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#hasValidCPDimsAndSize--">hasValidCPDimsAndSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isMatrix--">isMatrix</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isMemEstimated--">isMemEstimated</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isOutputEmptyBlocks--">isOutputEmptyBlocks</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isScalar--">isScalar</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isTransposeSafe--">isTransposeSafe</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isVisited--">isVisited</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#printErrorLocation--">printErrorLocation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshColsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">refreshColsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshColsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">refreshColsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshMemEstimates-org.apache.sysds.hops.MemoTable-">refreshMemEstimates</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshRowsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">refreshRowsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshRowsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">refreshRowsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresCheckpoint--">requiresCheckpoint</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresCompression--">requiresCompression</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresLineageCaching--">requiresLineageCaching</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresReblock--">requiresReblock</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresRecompile--">requiresRecompile</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetExecType--">resetExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetRecompilationFlag-java.util.ArrayList-org.apache.sysds.lops.LopProperties.ExecType-org.apache.sysds.hops.recompile.Recompiler.ResetType-">resetRecompilationFlag</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetRecompilationFlag-org.apache.sysds.hops.Hop-org.apache.sysds.lops.LopProperties.ExecType-org.apache.sysds.hops.recompile.Recompiler.ResetType-">resetRecompilationFlag</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus--">resetVisitStatus</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus-java.util.ArrayList-">resetVisitStatus</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus-java.util.ArrayList-boolean-">resetVisitStatus</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatusForced-java.util.HashSet-">resetVisitStatusForced</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#rowsKnown--">rowsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setBeginColumn-int-">setBeginColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setBeginLine-int-">setBeginLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setBlocksize-int-">setBlocksize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDataType-org.apache.sysds.common.Types.DataType-">setDataType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDim-int-long-">setDim</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDim1-long-">setDim1</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDim2-long-">setDim2</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setEndColumn-int-">setEndColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setEndLine-int-">setEndLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setFilename-java.lang.String-">setFilename</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setForcedExecType-org.apache.sysds.lops.LopProperties.ExecType-">setForcedExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setLops-org.apache.sysds.lops.Lop-">setLops</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setMemEstimate-double-">setMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setName-java.lang.String-">setName</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setNnz-long-">setNnz</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setOutputEmptyBlocks-boolean-">setOutputEmptyBlocks</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setParseInfo-org.apache.sysds.parser.ParseInfo-">setParseInfo</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setPrivacy-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacy</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresCheckpoint-boolean-">setRequiresCheckpoint</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresCompression-boolean-">setRequiresCompression</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresDeCompression-boolean-">setRequiresDeCompression</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresLineageCaching-boolean-">setRequiresLineageCaching</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresReblock-boolean-">setRequiresReblock</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresRecompile--">setRequiresRecompile</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setText-java.lang.String-">setText</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setUpdateType-org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType-">setUpdateType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setValueType-org.apache.sysds.common.Types.ValueType-">setValueType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setVisited--">setVisited</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setVisited-boolean-">setVisited</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#toString--">toString</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
-<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.parser.ParseInfo">
@@ -688,6 +688,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/ReorgOp.html b/docs/api/java/org/apache/sysds/hops/ReorgOp.html
index d128a16..e17fb88 100644
--- a/docs/api/java/org/apache/sysds/hops/ReorgOp.html
+++ b/docs/api/java/org/apache/sysds/hops/ReorgOp.html
@@ -267,14 +267,14 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.hops.<a href="../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a></h3>
-<code><a href="../../../../org/apache/sysds/hops/Hop.html#addAllInputs-java.util.ArrayList-">addAllInputs</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#addInput-org.apache.sysds.hops.Hop-">addInput</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#checkAndSetForcedPlatform--">checkAndSetForcedPlatform</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#checkAndSetInvalidCPDimsAndSize--">checkAndSetInvalidCPDimsAndSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#clearMemEstimate--">clearMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#colsKnown--">colsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeBoundsInformation-org.apache.sysds.hops.Hop-">computeBoundsInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeBoundsInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">computeBoundsInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeBoundsInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">computeBoundsInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeMemEstimate-org.apache.sysds.hops.MemoTable-">computeMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeSizeInformation-org.apache.sysds.hops.Hop-">computeSizeInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeSizeInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">computeSizeInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeSizeInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">computeSizeInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#constructAndSetLopsDataFlowProperties--">constructAndSetLopsDataFlowProperties</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#createOffsetLop-org.apache.sysds.hops.Hop-boolean-">createOffsetLop</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#dimsKnown--">dimsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#dimsKnown-boolean-">dimsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#dimsKnownAny--">dimsKnownAny</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getBeginLine--">getBeginLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getBlocksize--">getBlocksize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDataCharacteristics--">getDataCharacteristics</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDataType--">getDataType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDim-int-">getDim</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDim1--">getDim1</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDim2--">getDim2</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getEndColumn--">getEndColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getEndLine--">getEndLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getExecType--">getExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getFilename--">getFilename</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getForcedExecType--">getForcedExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getHopID--">getHopID</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInput--">getInput</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInputMemEstimate--">getInputMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInputOutputSize-java.util.Collection-">getInputOutputSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getIntermediateMemEstimate--">getIntermediateMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getLength--">getLength</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getLops--">getLops</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getMemEstimate--">getMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getName--">getName</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getNnz--">getNnz</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getOutputMemEstimate--">getOutputMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getParent--">getParent</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getPrivacy--">getPrivacy</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getSparsity--">getSparsity</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getSpBroadcastSize--">getSpBroadcastSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getText--">getText</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getUpdateType--">getUpdateType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getValueType--">getValueType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#hasMatrixInputWithDifferentBlocksizes--">hasMatrixInputWithDifferentBlocksizes</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#hasValidCPDimsAndSize--">hasValidCPDimsAndSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isMatrix--">isMatrix</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isMemEstimated--">isMemEstimated</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isOutputEmptyBlocks--">isOutputEmptyBlocks</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isScalar--">isScalar</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isTransposeSafe--">isTransposeSafe</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isVisited--">isVisited</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#printErrorLocation--">printErrorLocation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshColsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">refreshColsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshColsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">refreshColsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshMemEstimates-org.apache.sysds.hops.MemoTable-">refreshMemEstimates</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshRowsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">refreshRowsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshRowsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">refreshRowsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresCheckpoint--">requiresCheckpoint</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresCompression--">requiresCompression</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresLineageCaching--">requiresLineageCaching</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresReblock--">requiresReblock</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresRecompile--">requiresRecompile</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetExecType--">resetExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetRecompilationFlag-java.util.ArrayList-org.apache.sysds.lops.LopProperties.ExecType-org.apache.sysds.hops.recompile.Recompiler.ResetType-">resetRecompilationFlag</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetRecompilationFlag-org.apache.sysds.hops.Hop-org.apache.sysds.lops.LopProperties.ExecType-org.apache.sysds.hops.recompile.Recompiler.ResetType-">resetRecompilationFlag</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus--">resetVisitStatus</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus-java.util.ArrayList-">resetVisitStatus</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus-java.util.ArrayList-boolean-">resetVisitStatus</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatusForced-java.util.HashSet-">resetVisitStatusForced</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#rowsKnown--">rowsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setBeginColumn-int-">setBeginColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setBeginLine-int-">setBeginLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setBlocksize-int-">setBlocksize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDataType-org.apache.sysds.common.Types.DataType-">setDataType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDim-int-long-">setDim</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDim1-long-">setDim1</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDim2-long-">setDim2</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setEndColumn-int-">setEndColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setEndLine-int-">setEndLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setFilename-java.lang.String-">setFilename</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setForcedExecType-org.apache.sysds.lops.LopProperties.ExecType-">setForcedExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setLops-org.apache.sysds.lops.Lop-">setLops</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setMemEstimate-double-">setMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setName-java.lang.String-">setName</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setNnz-long-">setNnz</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setOutputEmptyBlocks-boolean-">setOutputEmptyBlocks</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setParseInfo-org.apache.sysds.parser.ParseInfo-">setParseInfo</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setPrivacy-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacy</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresCheckpoint-boolean-">setRequiresCheckpoint</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresCompression-boolean-">setRequiresCompression</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresLineageCaching-boolean-">setRequiresLineageCaching</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresReblock-boolean-">setRequiresReblock</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresRecompile--">setRequiresRecompile</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setText-java.lang.String-">setText</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setUpdateType-org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType-">setUpdateType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setValueType-org.apache.sysds.common.Types.ValueType-">setValueType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setVisited--">setVisited</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setVisited-boolean-">setVisited</a></code></li>
+<code><a href="../../../../org/apache/sysds/hops/Hop.html#addAllInputs-java.util.ArrayList-">addAllInputs</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#addInput-org.apache.sysds.hops.Hop-">addInput</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#checkAndSetForcedPlatform--">checkAndSetForcedPlatform</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#checkAndSetInvalidCPDimsAndSize--">checkAndSetInvalidCPDimsAndSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#clearMemEstimate--">clearMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#colsKnown--">colsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeBoundsInformation-org.apache.sysds.hops.Hop-">computeBoundsInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeBoundsInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">computeBoundsInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeBoundsInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">computeBoundsInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeMemEstimate-org.apache.sysds.hops.MemoTable-">computeMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeSizeInformation-org.apache.sysds.hops.Hop-">computeSizeInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeSizeInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">computeSizeInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeSizeInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">computeSizeInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#constructAndSetLopsDataFlowProperties--">constructAndSetLopsDataFlowProperties</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#createOffsetLop-org.apache.sysds.hops.Hop-boolean-">createOffsetLop</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#dimsKnown--">dimsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#dimsKnown-boolean-">dimsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#dimsKnownAny--">dimsKnownAny</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getBeginLine--">getBeginLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getBlocksize--">getBlocksize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDataCharacteristics--">getDataCharacteristics</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDataType--">getDataType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDim-int-">getDim</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDim1--">getDim1</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDim2--">getDim2</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getEndColumn--">getEndColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getEndLine--">getEndLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getExecType--">getExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getFilename--">getFilename</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getForcedExecType--">getForcedExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getHopID--">getHopID</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInput--">getInput</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInput-int-">getInput</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInputMemEstimate--">getInputMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInputOutputSize-java.util.Collection-">getInputOutputSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getIntermediateMemEstimate--">getIntermediateMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getLength--">getLength</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getLops--">getLops</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getMemEstimate--">getMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getName--">getName</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getNnz--">getNnz</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getOutputMemEstimate--">getOutputMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getParent--">getParent</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getPrivacy--">getPrivacy</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getSparsity--">getSparsity</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getSpBroadcastSize--">getSpBroadcastSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getText--">getText</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getUpdateType--">getUpdateType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getValueType--">getValueType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#hasMatrixInputWithDifferentBlocksizes--">hasMatrixInputWithDifferentBlocksizes</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#hasValidCPDimsAndSize--">hasValidCPDimsAndSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isMatrix--">isMatrix</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isMemEstimated--">isMemEstimated</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isOutputEmptyBlocks--">isOutputEmptyBlocks</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isScalar--">isScalar</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isTransposeSafe--">isTransposeSafe</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isVisited--">isVisited</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#printErrorLocation--">printErrorLocation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshColsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">refreshColsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshColsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">refreshColsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshMemEstimates-org.apache.sysds.hops.MemoTable-">refreshMemEstimates</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshRowsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">refreshRowsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshRowsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">refreshRowsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresCheckpoint--">requiresCheckpoint</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresCompression--">requiresCompression</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresLineageCaching--">requiresLineageCaching</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresReblock--">requiresReblock</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresRecompile--">requiresRecompile</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetExecType--">resetExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetRecompilationFlag-java.util.ArrayList-org.apache.sysds.lops.LopProperties.ExecType-org.apache.sysds.hops.recompile.Recompiler.ResetType-">resetRecompilationFlag</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetRecompilationFlag-org.apache.sysds.hops.Hop-org.apache.sysds.lops.LopProperties.ExecType-org.apache.sysds.hops.recompile.Recompiler.ResetType-">resetRecompilationFlag</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus--">resetVisitStatus</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus-java.util.ArrayList-">resetVisitStatus</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus-java.util.ArrayList-boolean-">resetVisitStatus</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatusForced-java.util.HashSet-">resetVisitStatusForced</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#rowsKnown--">rowsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setBeginColumn-int-">setBeginColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setBeginLine-int-">setBeginLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setBlocksize-int-">setBlocksize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDataType-org.apache.sysds.common.Types.DataType-">setDataType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDim-int-long-">setDim</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDim1-long-">setDim1</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDim2-long-">setDim2</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setEndColumn-int-">setEndColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setEndLine-int-">setEndLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setFilename-java.lang.String-">setFilename</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setForcedExecType-org.apache.sysds.lops.LopProperties.ExecType-">setForcedExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setLops-org.apache.sysds.lops.Lop-">setLops</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setMemEstimate-double-">setMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setName-java.lang.String-">setName</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setNnz-long-">setNnz</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setOutputEmptyBlocks-boolean-">setOutputEmptyBlocks</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setParseInfo-org.apache.sysds.parser.ParseInfo-">setParseInfo</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setPrivacy-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacy</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresCheckpoint-boolean-">setRequiresCheckpoint</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresCompression-boolean-">setRequiresCompression</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresDeCompression-boolean-">setRequiresDeCompression</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresLineageCaching-boolean-">setRequiresLineageCaching</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresReblock-boolean-">setRequiresReblock</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresRecompile--">setRequiresRecompile</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setText-java.lang.String-">setText</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setUpdateType-org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType-">setUpdateType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setValueType-org.apache.sysds.common.Types.ValueType-">setValueType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setVisited--">setVisited</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setVisited-boolean-">setVisited</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#toString--">toString</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
-<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.parser.ParseInfo">
@@ -564,6 +564,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/TernaryOp.html b/docs/api/java/org/apache/sysds/hops/TernaryOp.html
index 6318134..1837bba 100644
--- a/docs/api/java/org/apache/sysds/hops/TernaryOp.html
+++ b/docs/api/java/org/apache/sysds/hops/TernaryOp.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -103,12 +103,17 @@
 <li><a href="../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">org.apache.sysds.hops.Hop</a></li>
 <li>
 <ul class="inheritance">
+<li><a href="../../../../org/apache/sysds/hops/MultiThreadedHop.html" title="class in org.apache.sysds.hops">org.apache.sysds.hops.MultiThreadedHop</a></li>
+<li>
+<ul class="inheritance">
 <li>org.apache.sysds.hops.TernaryOp</li>
 </ul>
 </li>
 </ul>
 </li>
 </ul>
+</li>
+</ul>
 <div class="description">
 <ul class="blockList">
 <li class="blockList">
@@ -119,7 +124,7 @@
 <hr>
 <br>
 <pre>public class <span class="typeNameLabel">TernaryOp</span>
-extends <a href="../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a></pre>
+extends <a href="../../../../org/apache/sysds/hops/MultiThreadedHop.html" title="class in org.apache.sysds.hops">MultiThreadedHop</a></pre>
 <div class="block">Primary use cases for now, are
                 <code>quantile (&lt;n-1-matrix&gt;, &lt;n-1-matrix&gt;, &lt;literal&gt;):      quantile (A, w, 0.5)</code>
                 <code>quantile (&lt;n-1-matrix&gt;, &lt;n-1-matrix&gt;, &lt;scalar&gt;):       quantile (A, w, s)</code>
@@ -187,7 +192,7 @@
          <a href="../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;inp3)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/TernaryOp.html#TernaryOp-java.lang.String-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.common.Types.OpOp3-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-">TernaryOp</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;l,
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/TernaryOp.html#TernaryOp-java.lang.String-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.common.Types.OpOp3-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-">TernaryOp</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;l,
          <a href="../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
          <a href="../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
          <a href="../../../../org/apache/sysds/common/Types.OpOp3.html" title="enum in org.apache.sysds.common">Types.OpOp3</a>&nbsp;o,
@@ -195,7 +200,8 @@
          <a href="../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;inp2,
          <a href="../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;inp3,
          <a href="../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;inp4,
-         <a href="../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;inp5)</code>&nbsp;</td>
+         <a href="../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;inp5,
+         <a href="../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;inp6)</code>&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -244,42 +250,58 @@
 </tr>
 <tr id="i7" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/TernaryOp.html#isCTableReshapeRewriteApplicable-org.apache.sysds.lops.LopProperties.ExecType-org.apache.sysds.lops.Ctable.OperationTypes-">isCTableReshapeRewriteApplicable</a></span>(<a href="../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et,
+                                <a href="../../../../org/apache/sysds/lops/Ctable.OperationTypes.html" title="enum in org.apache.sysds.lops">Ctable.OperationTypes</a>&nbsp;opType)</code>&nbsp;</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/TernaryOp.html#isGPUEnabled--">isGPUEnabled</a></span>()</code>
 <div class="block">In memory-based optimizer mode (see OptimizerUtils.isMemoryBasedOptLevel()), 
  the exectype is determined by checking this method as well as memory budget of this Hop.</div>
 </td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/TernaryOp.html#isMatrixIgnoreZeroRewriteApplicable--">isMatrixIgnoreZeroRewriteApplicable</a></span>()</code>
 <div class="block">Used for (1) constructing CP lops (hop-lop rewrite), and (2) in order to determine
  if dag split after removeEmpty necessary (#2 is precondition for #1).</div>
 </td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i10" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/TernaryOp.html#isMultiThreadedOpType--">isMultiThreadedOpType</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/TernaryOp.html#refreshSizeInformation--">refreshSizeInformation</a></span>()</code>
 <div class="block">Update the output size information for this hop.</div>
 </td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i12" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/hops/TernaryOp.html#setDisjointInputs-boolean-">setDisjointInputs</a></span>(boolean&nbsp;flag)</code>&nbsp;</td>
 </tr>
 </table>
 <ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.hops.MultiThreadedHop">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.hops.<a href="../../../../org/apache/sysds/hops/MultiThreadedHop.html" title="class in org.apache.sysds.hops">MultiThreadedHop</a></h3>
+<code><a href="../../../../org/apache/sysds/hops/MultiThreadedHop.html#getMaxNumThreads--">getMaxNumThreads</a>, <a href="../../../../org/apache/sysds/hops/MultiThreadedHop.html#setMaxNumThreads-int-">setMaxNumThreads</a></code></li>
+</ul>
+<ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.hops.Hop">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.hops.<a href="../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a></h3>
-<code><a href="../../../../org/apache/sysds/hops/Hop.html#addAllInputs-java.util.ArrayList-">addAllInputs</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#addInput-org.apache.sysds.hops.Hop-">addInput</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#checkAndSetForcedPlatform--">checkAndSetForcedPlatform</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#checkAndSetInvalidCPDimsAndSize--">checkAndSetInvalidCPDimsAndSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#clearMemEstimate--">clearMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#colsKnown--">colsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeBoundsInformation-org.apache.sysds.hops.Hop-">computeBoundsInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeBoundsInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">computeBoundsInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeBoundsInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">computeBoundsInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeMemEstimate-org.apache.sysds.hops.MemoTable-">computeMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeSizeInformation-org.apache.sysds.hops.Hop-">computeSizeInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeSizeInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">computeSizeInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeSizeInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">computeSizeInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#constructAndSetLopsDataFlowProperties--">constructAndSetLopsDataFlowProperties</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#createOffsetLop-org.apache.sysds.hops.Hop-boolean-">createOffsetLop</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#dimsKnown--">dimsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#dimsKnown-boolean-">dimsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#dimsKnownAny--">dimsKnownAny</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getBeginLine--">getBeginLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getBlocksize--">getBlocksize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDataCharacteristics--">getDataCharacteristics</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDataType--">getDataType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDim-int-">getDim</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDim1--">getDim1</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDim2--">getDim2</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getEndColumn--">getEndColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getEndLine--">getEndLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getExecType--">getExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getFilename--">getFilename</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getForcedExecType--">getForcedExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getHopID--">getHopID</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInput--">getInput</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInputMemEstimate--">getInputMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInputOutputSize-java.util.Collection-">getInputOutputSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getIntermediateMemEstimate--">getIntermediateMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getLength--">getLength</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getLops--">getLops</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getMemEstimate--">getMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getName--">getName</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getNnz--">getNnz</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getOutputMemEstimate--">getOutputMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getParent--">getParent</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getPrivacy--">getPrivacy</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getSparsity--">getSparsity</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getSpBroadcastSize--">getSpBroadcastSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getText--">getText</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getUpdateType--">getUpdateType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getValueType--">getValueType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#hasMatrixInputWithDifferentBlocksizes--">hasMatrixInputWithDifferentBlocksizes</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#hasValidCPDimsAndSize--">hasValidCPDimsAndSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isMatrix--">isMatrix</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isMemEstimated--">isMemEstimated</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isOutputEmptyBlocks--">isOutputEmptyBlocks</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isScalar--">isScalar</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isTransposeSafe--">isTransposeSafe</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isVisited--">isVisited</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#printErrorLocation--">printErrorLocation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshColsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">refreshColsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshColsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">refreshColsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshMemEstimates-org.apache.sysds.hops.MemoTable-">refreshMemEstimates</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshRowsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">refreshRowsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshRowsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">refreshRowsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresCheckpoint--">requiresCheckpoint</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresCompression--">requiresCompression</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresLineageCaching--">requiresLineageCaching</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresReblock--">requiresReblock</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresRecompile--">requiresRecompile</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetExecType--">resetExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetRecompilationFlag-java.util.ArrayList-org.apache.sysds.lops.LopProperties.ExecType-org.apache.sysds.hops.recompile.Recompiler.ResetType-">resetRecompilationFlag</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetRecompilationFlag-org.apache.sysds.hops.Hop-org.apache.sysds.lops.LopProperties.ExecType-org.apache.sysds.hops.recompile.Recompiler.ResetType-">resetRecompilationFlag</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus--">resetVisitStatus</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus-java.util.ArrayList-">resetVisitStatus</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus-java.util.ArrayList-boolean-">resetVisitStatus</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatusForced-java.util.HashSet-">resetVisitStatusForced</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#rowsKnown--">rowsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setBeginColumn-int-">setBeginColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setBeginLine-int-">setBeginLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setBlocksize-int-">setBlocksize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDataType-org.apache.sysds.common.Types.DataType-">setDataType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDim-int-long-">setDim</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDim1-long-">setDim1</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDim2-long-">setDim2</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setEndColumn-int-">setEndColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setEndLine-int-">setEndLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setFilename-java.lang.String-">setFilename</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setForcedExecType-org.apache.sysds.lops.LopProperties.ExecType-">setForcedExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setLops-org.apache.sysds.lops.Lop-">setLops</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setMemEstimate-double-">setMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setName-java.lang.String-">setName</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setNnz-long-">setNnz</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setOutputEmptyBlocks-boolean-">setOutputEmptyBlocks</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setParseInfo-org.apache.sysds.parser.ParseInfo-">setParseInfo</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setPrivacy-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacy</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresCheckpoint-boolean-">setRequiresCheckpoint</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresCompression-boolean-">setRequiresCompression</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresLineageCaching-boolean-">setRequiresLineageCaching</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresReblock-boolean-">setRequiresReblock</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresRecompile--">setRequiresRecompile</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setText-java.lang.String-">setText</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setUpdateType-org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType-">setUpdateType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setValueType-org.apache.sysds.common.Types.ValueType-">setValueType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setVisited--">setVisited</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setVisited-boolean-">setVisited</a></code></li>
+<code><a href="../../../../org/apache/sysds/hops/Hop.html#addAllInputs-java.util.ArrayList-">addAllInputs</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#addInput-org.apache.sysds.hops.Hop-">addInput</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#checkAndSetForcedPlatform--">checkAndSetForcedPlatform</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#checkAndSetInvalidCPDimsAndSize--">checkAndSetInvalidCPDimsAndSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#clearMemEstimate--">clearMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#colsKnown--">colsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeBoundsInformation-org.apache.sysds.hops.Hop-">computeBoundsInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeBoundsInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">computeBoundsInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeBoundsInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">computeBoundsInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeMemEstimate-org.apache.sysds.hops.MemoTable-">computeMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeSizeInformation-org.apache.sysds.hops.Hop-">computeSizeInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeSizeInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">computeSizeInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeSizeInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">computeSizeInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#constructAndSetLopsDataFlowProperties--">constructAndSetLopsDataFlowProperties</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#createOffsetLop-org.apache.sysds.hops.Hop-boolean-">createOffsetLop</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#dimsKnown--">dimsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#dimsKnown-boolean-">dimsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#dimsKnownAny--">dimsKnownAny</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getBeginLine--">getBeginLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getBlocksize--">getBlocksize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDataCharacteristics--">getDataCharacteristics</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDataType--">getDataType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDim-int-">getDim</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDim1--">getDim1</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDim2--">getDim2</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getEndColumn--">getEndColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getEndLine--">getEndLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getExecType--">getExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getFilename--">getFilename</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getForcedExecType--">getForcedExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getHopID--">getHopID</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInput--">getInput</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInput-int-">getInput</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInputMemEstimate--">getInputMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInputOutputSize-java.util.Collection-">getInputOutputSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getIntermediateMemEstimate--">getIntermediateMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getLength--">getLength</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getLops--">getLops</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getMemEstimate--">getMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getName--">getName</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getNnz--">getNnz</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getOutputMemEstimate--">getOutputMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getParent--">getParent</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getPrivacy--">getPrivacy</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getSparsity--">getSparsity</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getSpBroadcastSize--">getSpBroadcastSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getText--">getText</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getUpdateType--">getUpdateType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getValueType--">getValueType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#hasMatrixInputWithDifferentBlocksizes--">hasMatrixInputWithDifferentBlocksizes</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#hasValidCPDimsAndSize--">hasValidCPDimsAndSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isMatrix--">isMatrix</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isMemEstimated--">isMemEstimated</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isOutputEmptyBlocks--">isOutputEmptyBlocks</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isScalar--">isScalar</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isTransposeSafe--">isTransposeSafe</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isVisited--">isVisited</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#printErrorLocation--">printErrorLocation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshColsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">refreshColsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshColsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">refreshColsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshMemEstimates-org.apache.sysds.hops.MemoTable-">refreshMemEstimates</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshRowsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">refreshRowsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshRowsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">refreshRowsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresCheckpoint--">requiresCheckpoint</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresCompression--">requiresCompression</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresLineageCaching--">requiresLineageCaching</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresReblock--">requiresReblock</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresRecompile--">requiresRecompile</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetExecType--">resetExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetRecompilationFlag-java.util.ArrayList-org.apache.sysds.lops.LopProperties.ExecType-org.apache.sysds.hops.recompile.Recompiler.ResetType-">resetRecompilationFlag</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetRecompilationFlag-org.apache.sysds.hops.Hop-org.apache.sysds.lops.LopProperties.ExecType-org.apache.sysds.hops.recompile.Recompiler.ResetType-">resetRecompilationFlag</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus--">resetVisitStatus</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus-java.util.ArrayList-">resetVisitStatus</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus-java.util.ArrayList-boolean-">resetVisitStatus</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatusForced-java.util.HashSet-">resetVisitStatusForced</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#rowsKnown--">rowsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setBeginColumn-int-">setBeginColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setBeginLine-int-">setBeginLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setBlocksize-int-">setBlocksize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDataType-org.apache.sysds.common.Types.DataType-">setDataType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDim-int-long-">setDim</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDim1-long-">setDim1</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDim2-long-">setDim2</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setEndColumn-int-">setEndColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setEndLine-int-">setEndLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setFilename-java.lang.String-">setFilename</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setForcedExecType-org.apache.sysds.lops.LopProperties.ExecType-">setForcedExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setLops-org.apache.sysds.lops.Lop-">setLops</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setMemEstimate-double-">setMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setName-java.lang.String-">setName</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setNnz-long-">setNnz</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setOutputEmptyBlocks-boolean-">setOutputEmptyBlocks</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setParseInfo-org.apache.sysds.parser.ParseInfo-">setParseInfo</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setPrivacy-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacy</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresCheckpoint-boolean-">setRequiresCheckpoint</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresCompression-boolean-">setRequiresCompression</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresDeCompression-boolean-">setRequiresDeCompression</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresLineageCaching-boolean-">setRequiresLineageCaching</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresReblock-boolean-">setRequiresReblock</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresRecompile--">setRequiresRecompile</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setText-java.lang.String-">setText</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setUpdateType-org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType-">setUpdateType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setValueType-org.apache.sysds.common.Types.ValueType-">setValueType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setVisited--">setVisited</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setVisited-boolean-">setVisited</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#toString--">toString</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
-<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.parser.ParseInfo">
@@ -334,7 +356,7 @@
                  <a href="../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;inp3)</pre>
 </li>
 </ul>
-<a name="TernaryOp-java.lang.String-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.common.Types.OpOp3-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-">
+<a name="TernaryOp-java.lang.String-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.common.Types.OpOp3-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-">
 <!--   -->
 </a>
 <ul class="blockListLast">
@@ -348,7 +370,8 @@
                  <a href="../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;inp2,
                  <a href="../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;inp3,
                  <a href="../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;inp4,
-                 <a href="../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;inp5)</pre>
+                 <a href="../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;inp5,
+                 <a href="../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;inp6)</pre>
 </li>
 </ul>
 </li>
@@ -419,6 +442,19 @@
 </dl>
 </li>
 </ul>
+<a name="isMultiThreadedOpType--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isMultiThreadedOpType</h4>
+<pre>public&nbsp;boolean&nbsp;isMultiThreadedOpType()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../org/apache/sysds/hops/MultiThreadedHop.html#isMultiThreadedOpType--">isMultiThreadedOpType</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/sysds/hops/MultiThreadedHop.html" title="class in org.apache.sysds.hops">MultiThreadedHop</a></code></dd>
+</dl>
+</li>
+</ul>
 <a name="constructLops--">
 <!--   -->
 </a>
@@ -505,7 +541,7 @@
 <a name="isMatrixIgnoreZeroRewriteApplicable--">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>isMatrixIgnoreZeroRewriteApplicable</h4>
 <pre>public&nbsp;boolean&nbsp;isMatrixIgnoreZeroRewriteApplicable()</pre>
@@ -517,6 +553,16 @@
 </dl>
 </li>
 </ul>
+<a name="isCTableReshapeRewriteApplicable-org.apache.sysds.lops.LopProperties.ExecType-org.apache.sysds.lops.Ctable.OperationTypes-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>isCTableReshapeRewriteApplicable</h4>
+<pre>public&nbsp;boolean&nbsp;isCTableReshapeRewriteApplicable(<a href="../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et,
+                                                <a href="../../../../org/apache/sysds/lops/Ctable.OperationTypes.html" title="enum in org.apache.sysds.lops">Ctable.OperationTypes</a>&nbsp;opType)</pre>
+</li>
+</ul>
 </li>
 </ul>
 </li>
@@ -586,6 +632,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/UnaryOp.html b/docs/api/java/org/apache/sysds/hops/UnaryOp.html
index cd93e04..b108258 100644
--- a/docs/api/java/org/apache/sysds/hops/UnaryOp.html
+++ b/docs/api/java/org/apache/sysds/hops/UnaryOp.html
@@ -261,14 +261,14 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.hops.<a href="../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a></h3>
-<code><a href="../../../../org/apache/sysds/hops/Hop.html#addAllInputs-java.util.ArrayList-">addAllInputs</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#addInput-org.apache.sysds.hops.Hop-">addInput</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#checkAndSetForcedPlatform--">checkAndSetForcedPlatform</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#checkAndSetInvalidCPDimsAndSize--">checkAndSetInvalidCPDimsAndSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#clearMemEstimate--">clearMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#colsKnown--">colsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeBoundsInformation-org.apache.sysds.hops.Hop-">computeBoundsInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeBoundsInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">computeBoundsInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeBoundsInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">computeBoundsInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeSizeInformation-org.apache.sysds.hops.Hop-">computeSizeInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeSizeInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">computeSizeInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeSizeInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">computeSizeInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#constructAndSetLopsDataFlowProperties--">constructAndSetLopsDataFlowProperties</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#createOffsetLop-org.apache.sysds.hops.Hop-boolean-">createOffsetLop</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#dimsKnown--">dimsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#dimsKnown-boolean-">dimsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#dimsKnownAny--">dimsKnownAny</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getBeginLine--">getBeginLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getBlocksize--">getBlocksize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDataCharacteristics--">getDataCharacteristics</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDataType--">getDataType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDim-int-">getDim</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDim1--">getDim1</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDim2--">getDim2</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getEndColumn--">getEndColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getEndLine--">getEndLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getExecType--">getExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getFilename--">getFilename</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getForcedExecType--">getForcedExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getHopID--">getHopID</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInput--">getInput</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInputMemEstimate--">getInputMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInputOutputSize-java.util.Collection-">getInputOutputSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getIntermediateMemEstimate--">getIntermediateMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getLength--">getLength</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getLops--">getLops</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getMemEstimate--">getMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getName--">getName</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getNnz--">getNnz</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getOutputMemEstimate--">getOutputMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getParent--">getParent</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getPrivacy--">getPrivacy</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getSparsity--">getSparsity</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getSpBroadcastSize--">getSpBroadcastSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getText--">getText</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getUpdateType--">getUpdateType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getValueType--">getValueType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#hasMatrixInputWithDifferentBlocksizes--">hasMatrixInputWithDifferentBlocksizes</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#hasValidCPDimsAndSize--">hasValidCPDimsAndSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isMatrix--">isMatrix</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isMemEstimated--">isMemEstimated</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isOutputEmptyBlocks--">isOutputEmptyBlocks</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isScalar--">isScalar</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isTransposeSafe--">isTransposeSafe</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isVisited--">isVisited</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#printErrorLocation--">printErrorLocation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshColsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">refreshColsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshColsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">refreshColsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshMemEstimates-org.apache.sysds.hops.MemoTable-">refreshMemEstimates</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshRowsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">refreshRowsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshRowsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">refreshRowsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresCheckpoint--">requiresCheckpoint</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresCompression--">requiresCompression</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresLineageCaching--">requiresLineageCaching</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresReblock--">requiresReblock</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresRecompile--">requiresRecompile</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetExecType--">resetExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetRecompilationFlag-java.util.ArrayList-org.apache.sysds.lops.LopProperties.ExecType-org.apache.sysds.hops.recompile.Recompiler.ResetType-">resetRecompilationFlag</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetRecompilationFlag-org.apache.sysds.hops.Hop-org.apache.sysds.lops.LopProperties.ExecType-org.apache.sysds.hops.recompile.Recompiler.ResetType-">resetRecompilationFlag</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus--">resetVisitStatus</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus-java.util.ArrayList-">resetVisitStatus</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus-java.util.ArrayList-boolean-">resetVisitStatus</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatusForced-java.util.HashSet-">resetVisitStatusForced</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#rowsKnown--">rowsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setBeginColumn-int-">setBeginColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setBeginLine-int-">setBeginLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setBlocksize-int-">setBlocksize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDataType-org.apache.sysds.common.Types.DataType-">setDataType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDim-int-long-">setDim</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDim1-long-">setDim1</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDim2-long-">setDim2</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setEndColumn-int-">setEndColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setEndLine-int-">setEndLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setFilename-java.lang.String-">setFilename</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setForcedExecType-org.apache.sysds.lops.LopProperties.ExecType-">setForcedExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setLops-org.apache.sysds.lops.Lop-">setLops</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setMemEstimate-double-">setMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setName-java.lang.String-">setName</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setNnz-long-">setNnz</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setOutputEmptyBlocks-boolean-">setOutputEmptyBlocks</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setParseInfo-org.apache.sysds.parser.ParseInfo-">setParseInfo</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setPrivacy-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacy</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresCheckpoint-boolean-">setRequiresCheckpoint</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresCompression-boolean-">setRequiresCompression</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresLineageCaching-boolean-">setRequiresLineageCaching</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresReblock-boolean-">setRequiresReblock</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresRecompile--">setRequiresRecompile</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setText-java.lang.String-">setText</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setUpdateType-org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType-">setUpdateType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setValueType-org.apache.sysds.common.Types.ValueType-">setValueType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setVisited--">setVisited</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setVisited-boolean-">setVisited</a></code></li>
+<code><a href="../../../../org/apache/sysds/hops/Hop.html#addAllInputs-java.util.ArrayList-">addAllInputs</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#addInput-org.apache.sysds.hops.Hop-">addInput</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#checkAndSetForcedPlatform--">checkAndSetForcedPlatform</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#checkAndSetInvalidCPDimsAndSize--">checkAndSetInvalidCPDimsAndSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#clearMemEstimate--">clearMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#colsKnown--">colsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeBoundsInformation-org.apache.sysds.hops.Hop-">computeBoundsInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeBoundsInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">computeBoundsInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeBoundsInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">computeBoundsInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeSizeInformation-org.apache.sysds.hops.Hop-">computeSizeInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeSizeInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">computeSizeInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#computeSizeInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">computeSizeInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#constructAndSetLopsDataFlowProperties--">constructAndSetLopsDataFlowProperties</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#createOffsetLop-org.apache.sysds.hops.Hop-boolean-">createOffsetLop</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#dimsKnown--">dimsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#dimsKnown-boolean-">dimsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#dimsKnownAny--">dimsKnownAny</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getBeginLine--">getBeginLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getBlocksize--">getBlocksize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDataCharacteristics--">getDataCharacteristics</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDataType--">getDataType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDim-int-">getDim</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDim1--">getDim1</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getDim2--">getDim2</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getEndColumn--">getEndColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getEndLine--">getEndLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getExecType--">getExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getFilename--">getFilename</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getForcedExecType--">getForcedExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getHopID--">getHopID</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInput--">getInput</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInput-int-">getInput</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInputMemEstimate--">getInputMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getInputOutputSize-java.util.Collection-">getInputOutputSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getIntermediateMemEstimate--">getIntermediateMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getLength--">getLength</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getLops--">getLops</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getMemEstimate--">getMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getName--">getName</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getNnz--">getNnz</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getOutputMemEstimate--">getOutputMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getParent--">getParent</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getPrivacy--">getPrivacy</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getSparsity--">getSparsity</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getSpBroadcastSize--">getSpBroadcastSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getText--">getText</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getUpdateType--">getUpdateType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#getValueType--">getValueType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#hasMatrixInputWithDifferentBlocksizes--">hasMatrixInputWithDifferentBlocksizes</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#hasValidCPDimsAndSize--">hasValidCPDimsAndSize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isMatrix--">isMatrix</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isMemEstimated--">isMemEstimated</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isOutputEmptyBlocks--">isOutputEmptyBlocks</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isScalar--">isScalar</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isTransposeSafe--">isTransposeSafe</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#isVisited--">isVisited</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#printErrorLocation--">printErrorLocation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshColsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">refreshColsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshColsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">refreshColsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshMemEstimates-org.apache.sysds.hops.MemoTable-">refreshMemEstimates</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshRowsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">refreshRowsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#refreshRowsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">refreshRowsParameterInformation</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresCheckpoint--">requiresCheckpoint</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresCompression--">requiresCompression</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresLineageCaching--">requiresLineageCaching</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresReblock--">requiresReblock</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#requiresRecompile--">requiresRecompile</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetExecType--">resetExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetRecompilationFlag-java.util.ArrayList-org.apache.sysds.lops.LopProperties.ExecType-org.apache.sysds.hops.recompile.Recompiler.ResetType-">resetRecompilationFlag</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetRecompilationFlag-org.apache.sysds.hops.Hop-org.apache.sysds.lops.LopProperties.ExecType-org.apache.sysds.hops.recompile.Recompiler.ResetType-">resetRecompilationFlag</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus--">resetVisitStatus</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus-java.util.ArrayList-">resetVisitStatus</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus-java.util.ArrayList-boolean-">resetVisitStatus</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#resetVisitStatusForced-java.util.HashSet-">resetVisitStatusForced</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#rowsKnown--">rowsKnown</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setBeginColumn-int-">setBeginColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setBeginLine-int-">setBeginLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setBlocksize-int-">setBlocksize</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDataType-org.apache.sysds.common.Types.DataType-">setDataType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDim-int-long-">setDim</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDim1-long-">setDim1</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setDim2-long-">setDim2</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setEndColumn-int-">setEndColumn</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setEndLine-int-">setEndLine</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setFilename-java.lang.String-">setFilename</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setForcedExecType-org.apache.sysds.lops.LopProperties.ExecType-">setForcedExecType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setLops-org.apache.sysds.lops.Lop-">setLops</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setMemEstimate-double-">setMemEstimate</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setName-java.lang.String-">setName</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setNnz-long-">setNnz</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setOutputEmptyBlocks-boolean-">setOutputEmptyBlocks</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setParseInfo-org.apache.sysds.parser.ParseInfo-">setParseInfo</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setPrivacy-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacy</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresCheckpoint-boolean-">setRequiresCheckpoint</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresCompression-boolean-">setRequiresCompression</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresDeCompression-boolean-">setRequiresDeCompression</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresLineageCaching-boolean-">setRequiresLineageCaching</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresReblock-boolean-">setRequiresReblock</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setRequiresRecompile--">setRequiresRecompile</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setText-java.lang.String-">setText</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setUpdateType-org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType-">setUpdateType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setValueType-org.apache.sysds.common.Types.ValueType-">setValueType</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setVisited--">setVisited</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#setVisited-boolean-">setVisited</a>, <a href="../../../../org/apache/sysds/hops/Hop.html#toString--">toString</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
-<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.parser.ParseInfo">
@@ -588,6 +588,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/class-use/AggBinaryOp.MMultMethod.html b/docs/api/java/org/apache/sysds/hops/class-use/AggBinaryOp.MMultMethod.html
index 0c9b599..7b82d32 100644
--- a/docs/api/java/org/apache/sysds/hops/class-use/AggBinaryOp.MMultMethod.html
+++ b/docs/api/java/org/apache/sysds/hops/class-use/AggBinaryOp.MMultMethod.html
@@ -186,6 +186,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/class-use/AggBinaryOp.SparkAggType.html b/docs/api/java/org/apache/sysds/hops/class-use/AggBinaryOp.SparkAggType.html
index 55d8dba..917756b 100644
--- a/docs/api/java/org/apache/sysds/hops/class-use/AggBinaryOp.SparkAggType.html
+++ b/docs/api/java/org/apache/sysds/hops/class-use/AggBinaryOp.SparkAggType.html
@@ -229,6 +229,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/class-use/AggBinaryOp.html b/docs/api/java/org/apache/sysds/hops/class-use/AggBinaryOp.html
index 8e66492..d1f73f4 100644
--- a/docs/api/java/org/apache/sysds/hops/class-use/AggBinaryOp.html
+++ b/docs/api/java/org/apache/sysds/hops/class-use/AggBinaryOp.html
@@ -166,6 +166,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/class-use/AggUnaryOp.html b/docs/api/java/org/apache/sysds/hops/class-use/AggUnaryOp.html
index c7cd37d..1797567 100644
--- a/docs/api/java/org/apache/sysds/hops/class-use/AggUnaryOp.html
+++ b/docs/api/java/org/apache/sysds/hops/class-use/AggUnaryOp.html
@@ -171,6 +171,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/class-use/BinaryOp.AppendMethod.html b/docs/api/java/org/apache/sysds/hops/class-use/BinaryOp.AppendMethod.html
index 657e670..4ade619 100644
--- a/docs/api/java/org/apache/sysds/hops/class-use/BinaryOp.AppendMethod.html
+++ b/docs/api/java/org/apache/sysds/hops/class-use/BinaryOp.AppendMethod.html
@@ -182,6 +182,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/class-use/BinaryOp.MMBinaryMethod.html b/docs/api/java/org/apache/sysds/hops/class-use/BinaryOp.MMBinaryMethod.html
index a8d0bbc..67406ec 100644
--- a/docs/api/java/org/apache/sysds/hops/class-use/BinaryOp.MMBinaryMethod.html
+++ b/docs/api/java/org/apache/sysds/hops/class-use/BinaryOp.MMBinaryMethod.html
@@ -182,6 +182,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/class-use/BinaryOp.html b/docs/api/java/org/apache/sysds/hops/class-use/BinaryOp.html
index c148063..a49f072 100644
--- a/docs/api/java/org/apache/sysds/hops/class-use/BinaryOp.html
+++ b/docs/api/java/org/apache/sysds/hops/class-use/BinaryOp.html
@@ -192,6 +192,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/class-use/DataGenOp.html b/docs/api/java/org/apache/sysds/hops/class-use/DataGenOp.html
index 52ac749..b921967 100644
--- a/docs/api/java/org/apache/sysds/hops/class-use/DataGenOp.html
+++ b/docs/api/java/org/apache/sysds/hops/class-use/DataGenOp.html
@@ -190,6 +190,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/class-use/DataOp.html b/docs/api/java/org/apache/sysds/hops/class-use/DataOp.html
index b640d50..ce6f070 100644
--- a/docs/api/java/org/apache/sysds/hops/class-use/DataOp.html
+++ b/docs/api/java/org/apache/sysds/hops/class-use/DataOp.html
@@ -182,6 +182,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/class-use/DnnOp.html b/docs/api/java/org/apache/sysds/hops/class-use/DnnOp.html
index a50881f..b5f6bb9 100644
--- a/docs/api/java/org/apache/sysds/hops/class-use/DnnOp.html
+++ b/docs/api/java/org/apache/sysds/hops/class-use/DnnOp.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/class-use/FunctionOp.FunctionType.html b/docs/api/java/org/apache/sysds/hops/class-use/FunctionOp.FunctionType.html
index 2366863..c2b7979 100644
--- a/docs/api/java/org/apache/sysds/hops/class-use/FunctionOp.FunctionType.html
+++ b/docs/api/java/org/apache/sysds/hops/class-use/FunctionOp.FunctionType.html
@@ -149,6 +149,16 @@
           <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;outputNames,
           boolean&nbsp;singleOut)</code>&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/FunctionOp.html#FunctionOp-org.apache.sysds.hops.FunctionOp.FunctionType-java.lang.String-java.lang.String-java.lang.String:A-java.util.List-java.lang.String:A-boolean-boolean-">FunctionOp</a></span>(<a href="../../../../../org/apache/sysds/hops/FunctionOp.FunctionType.html" title="enum in org.apache.sysds.hops">FunctionOp.FunctionType</a>&nbsp;type,
+          <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;fnamespace,
+          <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;fname,
+          <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;inputNames,
+          <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&gt;&nbsp;inputs,
+          <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;outputNames,
+          boolean&nbsp;singleOut,
+          boolean&nbsp;pseudo)</code>&nbsp;</td>
+</tr>
 </tbody>
 </table>
 </li>
@@ -221,6 +231,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/class-use/FunctionOp.html b/docs/api/java/org/apache/sysds/hops/class-use/FunctionOp.html
index 622ad1d..9735cba 100644
--- a/docs/api/java/org/apache/sysds/hops/class-use/FunctionOp.html
+++ b/docs/api/java/org/apache/sysds/hops/class-use/FunctionOp.html
@@ -83,6 +83,10 @@
 </tr>
 <tbody>
 <tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.hops">org.apache.sysds.hops</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.hops.ipa">org.apache.sysds.hops.ipa</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
@@ -91,6 +95,24 @@
 </li>
 <li class="blockList">
 <ul class="blockList">
+<li class="blockList"><a name="org.apache.sysds.hops">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/sysds/hops/FunctionOp.html" title="class in org.apache.sysds.hops">FunctionOp</a> in <a href="../../../../../org/apache/sysds/hops/package-summary.html">org.apache.sysds.hops</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/sysds/hops/package-summary.html">org.apache.sysds.hops</a> that return types with arguments of type <a href="../../../../../org/apache/sysds/hops/FunctionOp.html" title="class in org.apache.sysds.hops">FunctionOp</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/sysds/hops/FunctionOp.html" title="class in org.apache.sysds.hops">FunctionOp</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">ParameterizedBuiltinOp.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/ParameterizedBuiltinOp.html#getParamservPseudoFunctionCalls--">getParamservPseudoFunctionCalls</a></span>()</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
 <li class="blockList"><a name="org.apache.sysds.hops.ipa">
 <!--   -->
 </a>
@@ -180,6 +202,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/class-use/Hop.html b/docs/api/java/org/apache/sysds/hops/class-use/Hop.html
index 4dfff55..cbc961d 100644
--- a/docs/api/java/org/apache/sysds/hops/class-use/Hop.html
+++ b/docs/api/java/org/apache/sysds/hops/class-use/Hop.html
@@ -276,21 +276,25 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a></code></td>
-<td class="colLast"><span class="typeNameLabel">DataGenOp.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/DataGenOp.html#getInput-java.lang.String-">getInput</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">Hop.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/Hop.html#getInput-int-">getInput</a></span>(int&nbsp;ix)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a></code></td>
+<td class="colLast"><span class="typeNameLabel">DataGenOp.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/DataGenOp.html#getInput-java.lang.String-">getInput</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a></code></td>
 <td class="colLast"><span class="typeNameLabel">DataGenOp.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/DataGenOp.html#getParam-java.lang.String-">getParam</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a></code></td>
 <td class="colLast"><span class="typeNameLabel">ParameterizedBuiltinOp.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/ParameterizedBuiltinOp.html#getParameterHop-java.lang.String-">getParameterHop</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a></code></td>
 <td class="colLast"><span class="typeNameLabel">ParameterizedBuiltinOp.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/ParameterizedBuiltinOp.html#getTargetHop--">getTargetHop</a></span>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a></code></td>
 <td class="colLast"><span class="typeNameLabel">Hop.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus--">resetVisitStatus</a></span>()</code>&nbsp;</td>
 </tr>
@@ -454,9 +458,20 @@
                boolean&nbsp;repCols)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><code>static long</code></td>
+<td class="colLast"><span class="typeNameLabel">OptimizerUtils.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/OptimizerUtils.html#estimatePartitionedSizeExactSparsity-org.apache.sysds.hops.Hop-">estimatePartitionedSizeExactSparsity</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop)</code>
+<div class="block">Estimates the footprint (in bytes) for a partitioned in-memory representation of a
+ matrix with the hops dimensions and number of non-zeros nnz.</div>
+</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a></code></td>
 <td class="colLast"><span class="typeNameLabel">MemoTable.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/MemoTable.html#getAllInputStats-org.apache.sysds.hops.Hop-">getAllInputStats</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;input)</code>&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><code>static double</code></td>
+<td class="colLast"><span class="typeNameLabel">OptimizerUtils.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/OptimizerUtils.html#getSparsity-org.apache.sysds.hops.Hop-">getSparsity</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop)</code>&nbsp;</td>
+</tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static double</code></td>
 <td class="colLast"><span class="typeNameLabel">OptimizerUtils.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/OptimizerUtils.html#getTotalMemEstimate-org.apache.sysds.hops.Hop:A-org.apache.sysds.hops.Hop-">getTotalMemEstimate</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>[]&nbsp;in,
@@ -761,7 +776,7 @@
          <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;inp3)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/TernaryOp.html#TernaryOp-java.lang.String-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.common.Types.OpOp3-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-">TernaryOp</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;l,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/TernaryOp.html#TernaryOp-java.lang.String-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.common.Types.OpOp3-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-">TernaryOp</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;l,
          <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
          <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
          <a href="../../../../../org/apache/sysds/common/Types.OpOp3.html" title="enum in org.apache.sysds.common">Types.OpOp3</a>&nbsp;o,
@@ -769,7 +784,8 @@
          <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;inp2,
          <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;inp3,
          <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;inp4,
-         <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;inp5)</code>&nbsp;</td>
+         <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;inp5,
+         <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;inp6)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/UnaryOp.html#UnaryOp-java.lang.String-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.common.Types.OpOp1-org.apache.sysds.hops.Hop-">UnaryOp</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;l,
@@ -851,6 +867,16 @@
           boolean&nbsp;singleOut)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/FunctionOp.html#FunctionOp-org.apache.sysds.hops.FunctionOp.FunctionType-java.lang.String-java.lang.String-java.lang.String:A-java.util.List-java.lang.String:A-boolean-boolean-">FunctionOp</a></span>(<a href="../../../../../org/apache/sysds/hops/FunctionOp.FunctionType.html" title="enum in org.apache.sysds.hops">FunctionOp.FunctionType</a>&nbsp;type,
+          <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;fnamespace,
+          <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;fname,
+          <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;inputNames,
+          <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&gt;&nbsp;inputs,
+          <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;outputNames,
+          boolean&nbsp;singleOut,
+          boolean&nbsp;pseudo)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/ParameterizedBuiltinOp.html#ParameterizedBuiltinOp-java.lang.String-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.common.Types.ParamBuiltinOp-java.util.LinkedHashMap-">ParameterizedBuiltinOp</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;l,
                       <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
                       <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
@@ -859,7 +885,7 @@
 <div class="block">Creates a new HOP for a function call</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/ReorgOp.html#ReorgOp-java.lang.String-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.common.Types.ReOrgOp-java.util.ArrayList-">ReorgOp</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;l,
        <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
        <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
@@ -1407,6 +1433,12 @@
 <td class="colLast"><span class="typeNameLabel">TemplateUtils.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/codegen/template/TemplateUtils.html#wrapLookupIfNecessary-org.apache.sysds.hops.codegen.cplan.CNode-org.apache.sysds.hops.Hop-">wrapLookupIfNecessary</a></span>(<a href="../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html" title="class in org.apache.sysds.hops.codegen.cplan">CNode</a>&nbsp;node,
                      <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop)</code>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html" title="class in org.apache.sysds.hops.codegen.cplan">CNode</a></code></td>
+<td class="colLast"><span class="typeNameLabel">TemplateUtils.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/codegen/template/TemplateUtils.html#wrapLookupIfNecessary-org.apache.sysds.hops.codegen.cplan.CNode-org.apache.sysds.hops.Hop-boolean-">wrapLookupIfNecessary</a></span>(<a href="../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html" title="class in org.apache.sysds.hops.codegen.cplan">CNode</a>&nbsp;node,
+                     <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop,
+                     boolean&nbsp;rowTpl)</code>&nbsp;</td>
+</tr>
 </tbody>
 </table>
 <table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
@@ -1529,15 +1561,6 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a>&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">Recompiler.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/recompile/Recompiler.html#recompileHopsDag-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.hops.recompile.RecompileStatus-boolean-boolean-long-">recompileHopsDag</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop,
-                <a href="../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
-                <a href="../../../../../org/apache/sysds/hops/recompile/RecompileStatus.html" title="class in org.apache.sysds.hops.recompile">RecompileStatus</a>&nbsp;status,
-                boolean&nbsp;inplace,
-                boolean&nbsp;replaceLit,
-                long&nbsp;tid)</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">Recompiler.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/recompile/Recompiler.html#recompileHopsDag-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-org.apache.sysds.hops.recompile.RecompileStatus-boolean-boolean-long-">recompileHopsDag</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop,
                 <a href="../../../../../org/apache/sysds/runtime/controlprogram/LocalVariableMap.html" title="class in org.apache.sysds.runtime.controlprogram">LocalVariableMap</a>&nbsp;vars,
                 <a href="../../../../../org/apache/sysds/hops/recompile/RecompileStatus.html" title="class in org.apache.sysds.hops.recompile">RecompileStatus</a>&nbsp;status,
@@ -1545,25 +1568,25 @@
                 boolean&nbsp;replaceLit,
                 long&nbsp;tid)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">Recompiler.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/recompile/Recompiler.html#recompileHopsDag2Forced-org.apache.sysds.hops.Hop-long-org.apache.sysds.lops.LopProperties.ExecType-">recompileHopsDag2Forced</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop,
                        long&nbsp;tid,
                        <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">Recompiler.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/recompile/Recompiler.html#recompileHopsDagInstructions-org.apache.sysds.hops.Hop-">recompileHopsDagInstructions</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">Recompiler.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/recompile/Recompiler.html#requiresRecompilation-org.apache.sysds.hops.Hop-">requiresRecompilation</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><span class="typeNameLabel">Recompiler.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/recompile/Recompiler.html#rGetMaxParallelism-org.apache.sysds.hops.Hop-">rGetMaxParallelism</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">Recompiler.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/recompile/Recompiler.html#rReplaceLiterals-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-boolean-">rReplaceLiterals</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop,
                 <a href="../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
@@ -1571,28 +1594,28 @@
 <div class="block">public interface to package local literal replacement</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">Recompiler.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/recompile/Recompiler.html#rReplaceLiterals-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-boolean-">rReplaceLiterals</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop,
                 <a href="../../../../../org/apache/sysds/runtime/controlprogram/LocalVariableMap.html" title="class in org.apache.sysds.runtime.controlprogram">LocalVariableMap</a>&nbsp;vars,
                 boolean&nbsp;scalarsOnly)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">Recompiler.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/recompile/Recompiler.html#rSetExecType-org.apache.sysds.hops.Hop-org.apache.sysds.lops.LopProperties.ExecType-">rSetExecType</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop,
             <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;etype)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">Recompiler.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/recompile/Recompiler.html#rSetMaxParallelism-org.apache.sysds.hops.Hop-int-">rSetMaxParallelism</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop,
                   int&nbsp;k)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">Recompiler.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/recompile/Recompiler.html#rUpdateFunctionNames-org.apache.sysds.hops.Hop-long-">rUpdateFunctionNames</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop,
                     long&nbsp;pid)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">Recompiler.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/recompile/Recompiler.html#rUpdateStatistics-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">rUpdateStatistics</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop,
                  <a href="../../../../../org/apache/sysds/runtime/controlprogram/LocalVariableMap.html" title="class in org.apache.sysds.runtime.controlprogram">LocalVariableMap</a>&nbsp;vars)</code>&nbsp;</td>
@@ -2084,19 +2107,24 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/hops/IndexingOp.html" title="class in org.apache.sysds.hops">IndexingOp</a></code></td>
+<td class="colLast"><span class="typeNameLabel">HopRewriteUtils.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#createIndexingOp-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-">createIndexingOp</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;input,
+                <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;batchsize)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/hops/IndexingOp.html" title="class in org.apache.sysds.hops">IndexingOp</a></code></td>
 <td class="colLast"><span class="typeNameLabel">HopRewriteUtils.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#createIndexingOp-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-">createIndexingOp</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;input,
                 <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;rl,
                 <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;ru,
                 <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;cl,
                 <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;cu)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/hops/IndexingOp.html" title="class in org.apache.sysds.hops">IndexingOp</a></code></td>
 <td class="colLast"><span class="typeNameLabel">HopRewriteUtils.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#createIndexingOp-org.apache.sysds.hops.Hop-long-long-">createIndexingOp</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;input,
                 long&nbsp;rix,
                 long&nbsp;cix)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/hops/IndexingOp.html" title="class in org.apache.sysds.hops">IndexingOp</a></code></td>
 <td class="colLast"><span class="typeNameLabel">HopRewriteUtils.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#createIndexingOp-org.apache.sysds.hops.Hop-long-long-long-long-">createIndexingOp</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;input,
                 long&nbsp;rl,
@@ -2104,7 +2132,7 @@
                 long&nbsp;cl,
                 long&nbsp;cu)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/hops/LeftIndexingOp.html" title="class in org.apache.sysds.hops">LeftIndexingOp</a></code></td>
 <td class="colLast"><span class="typeNameLabel">HopRewriteUtils.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#createLeftIndexingOp-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-">createLeftIndexingOp</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;lhs,
                     <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;rhs,
@@ -2113,58 +2141,58 @@
                     <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;cl,
                     <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;cu)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/hops/AggBinaryOp.html" title="class in org.apache.sysds.hops">AggBinaryOp</a></code></td>
 <td class="colLast"><span class="typeNameLabel">HopRewriteUtils.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#createMatrixMultiply-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-">createMatrixMultiply</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;left,
                     <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;right)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/hops/NaryOp.html" title="class in org.apache.sysds.hops">NaryOp</a></code></td>
 <td class="colLast"><span class="typeNameLabel">HopRewriteUtils.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#createNary-org.apache.sysds.common.Types.OpOpN-org.apache.sysds.hops.Hop...-">createNary</a></span>(<a href="../../../../../org/apache/sysds/common/Types.OpOpN.html" title="enum in org.apache.sysds.common">Types.OpOpN</a>&nbsp;op,
           <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>...&nbsp;inputs)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/hops/ParameterizedBuiltinOp.html" title="class in org.apache.sysds.hops">ParameterizedBuiltinOp</a></code></td>
 <td class="colLast"><span class="typeNameLabel">HopRewriteUtils.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#createParameterizedBuiltinOp-org.apache.sysds.hops.Hop-java.util.LinkedHashMap-org.apache.sysds.common.Types.ParamBuiltinOp-">createParameterizedBuiltinOp</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;input,
                             <a href="https://docs.oracle.com/javase/8/docs/api/java/util/LinkedHashMap.html?is-external=true" title="class or interface in java.util">LinkedHashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&gt;&nbsp;args,
                             <a href="../../../../../org/apache/sysds/common/Types.ParamBuiltinOp.html" title="enum in org.apache.sysds.common">Types.ParamBuiltinOp</a>&nbsp;op)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a></code></td>
 <td class="colLast"><span class="typeNameLabel">HopRewriteUtils.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#createPartialTsmmCbind-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-">createPartialTsmmCbind</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;X,
                       <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;deltaX,
                       <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;tsmmIn1)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/hops/ReorgOp.html" title="class in org.apache.sysds.hops">ReorgOp</a></code></td>
 <td class="colLast"><span class="typeNameLabel">HopRewriteUtils.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#createReorg-org.apache.sysds.hops.Hop-java.lang.String-">createReorg</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;input,
            <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;rop)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/hops/ReorgOp.html" title="class in org.apache.sysds.hops">ReorgOp</a></code></td>
 <td class="colLast"><span class="typeNameLabel">HopRewriteUtils.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#createReorg-org.apache.sysds.hops.Hop-org.apache.sysds.common.Types.ReOrgOp-">createReorg</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;input,
            <a href="../../../../../org/apache/sysds/common/Types.ReOrgOp.html" title="enum in org.apache.sysds.common">Types.ReOrgOp</a>&nbsp;rop)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a></code></td>
 <td class="colLast"><span class="typeNameLabel">HopRewriteUtils.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#createScalarIndexing-org.apache.sysds.hops.Hop-long-long-">createScalarIndexing</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;input,
                     long&nbsp;rix,
                     long&nbsp;cix)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/hops/DataGenOp.html" title="class in org.apache.sysds.hops">DataGenOp</a></code></td>
 <td class="colLast"><span class="typeNameLabel">HopRewriteUtils.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#createSeqDataGenOp-org.apache.sysds.hops.Hop-">createSeqDataGenOp</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;input)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/hops/DataGenOp.html" title="class in org.apache.sysds.hops">DataGenOp</a></code></td>
 <td class="colLast"><span class="typeNameLabel">HopRewriteUtils.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#createSeqDataGenOp-org.apache.sysds.hops.Hop-boolean-">createSeqDataGenOp</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;input,
                   boolean&nbsp;asc)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/hops/AggUnaryOp.html" title="class in org.apache.sysds.hops">AggUnaryOp</a></code></td>
 <td class="colLast"><span class="typeNameLabel">HopRewriteUtils.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#createSum-org.apache.sysds.hops.Hop-">createSum</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;input)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/hops/TernaryOp.html" title="class in org.apache.sysds.hops">TernaryOp</a></code></td>
 <td class="colLast"><span class="typeNameLabel">HopRewriteUtils.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#createTernary-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-org.apache.sysds.common.Types.OpOp3-">createTernary</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;in1,
              <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;in2,
@@ -2173,67 +2201,71 @@
              <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;in5,
              <a href="../../../../../org/apache/sysds/common/Types.OpOp3.html" title="enum in org.apache.sysds.common">Types.OpOp3</a>&nbsp;op)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/hops/TernaryOp.html" title="class in org.apache.sysds.hops">TernaryOp</a></code></td>
 <td class="colLast"><span class="typeNameLabel">HopRewriteUtils.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#createTernary-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-java.lang.String-">createTernary</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;mleft,
              <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;smid,
              <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;mright,
              <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;opcode)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/hops/TernaryOp.html" title="class in org.apache.sysds.hops">TernaryOp</a></code></td>
 <td class="colLast"><span class="typeNameLabel">HopRewriteUtils.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#createTernary-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-org.apache.sysds.common.Types.OpOp3-">createTernary</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;mleft,
              <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;smid,
              <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;mright,
              <a href="../../../../../org/apache/sysds/common/Types.OpOp3.html" title="enum in org.apache.sysds.common">Types.OpOp3</a>&nbsp;op)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/hops/DataOp.html" title="class in org.apache.sysds.hops">DataOp</a></code></td>
 <td class="colLast"><span class="typeNameLabel">HopRewriteUtils.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#createTransientRead-java.lang.String-org.apache.sysds.hops.Hop-">createTransientRead</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
                    <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;h)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/hops/DataOp.html" title="class in org.apache.sysds.hops">DataOp</a></code></td>
 <td class="colLast"><span class="typeNameLabel">HopRewriteUtils.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#createTransientWrite-java.lang.String-org.apache.sysds.hops.Hop-">createTransientWrite</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
                     <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;in)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/hops/ReorgOp.html" title="class in org.apache.sysds.hops">ReorgOp</a></code></td>
 <td class="colLast"><span class="typeNameLabel">HopRewriteUtils.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#createTranspose-org.apache.sysds.hops.Hop-">createTranspose</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;input)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/hops/AggBinaryOp.html" title="class in org.apache.sysds.hops">AggBinaryOp</a></code></td>
 <td class="colLast"><span class="typeNameLabel">HopRewriteUtils.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#createTsmm-org.apache.sysds.hops.Hop-boolean-">createTsmm</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;input,
           boolean&nbsp;left)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/hops/UnaryOp.html" title="class in org.apache.sysds.hops">UnaryOp</a></code></td>
 <td class="colLast"><span class="typeNameLabel">HopRewriteUtils.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#createUnary-org.apache.sysds.hops.Hop-java.lang.String-">createUnary</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;input,
            <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;type)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/hops/UnaryOp.html" title="class in org.apache.sysds.hops">UnaryOp</a></code></td>
 <td class="colLast"><span class="typeNameLabel">HopRewriteUtils.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#createUnary-org.apache.sysds.hops.Hop-org.apache.sysds.common.Types.OpOp1-">createUnary</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;input,
            <a href="../../../../../org/apache/sysds/common/Types.OpOp1.html" title="enum in org.apache.sysds.common">Types.OpOp1</a>&nbsp;type)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a></code></td>
 <td class="colLast"><span class="typeNameLabel">HopRewriteUtils.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#createValueHop-org.apache.sysds.hops.Hop-boolean-">createValueHop</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop,
               boolean&nbsp;row)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a></code></td>
 <td class="colLast"><span class="typeNameLabel">HopRewriteUtils.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#getBasic1NSequenceMax-org.apache.sysds.hops.Hop-">getBasic1NSequenceMax</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><span class="typeNameLabel">HopRewriteUtils.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#getChildReferencePos-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-">getChildReferencePos</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;parent,
                     <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;child)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a></code></td>
 <td class="colLast"><span class="typeNameLabel">HopRewriteUtils.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#getDataGenOpConstantValue-org.apache.sysds.hops.Hop-">getDataGenOpConstantValue</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop)</code>&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><code>static long</code></td>
+<td class="colLast"><span class="typeNameLabel">HopRewriteUtils.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#getIntValueSafe-org.apache.sysds.hops.Hop-">getIntValueSafe</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;op)</code>&nbsp;</td>
+</tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a></code></td>
 <td class="colLast"><span class="typeNameLabel">HopRewriteUtils.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#getLargestInput-org.apache.sysds.hops.Hop-">getLargestInput</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop)</code>&nbsp;</td>
@@ -2340,86 +2372,85 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
+<td class="colLast"><span class="typeNameLabel">HopRewriteUtils.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isBinaryMatrixRowVectorOperation-org.apache.sysds.hops.Hop-">isBinaryMatrixRowVectorOperation</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">HopRewriteUtils.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isBinaryMatrixScalar-org.apache.sysds.hops.Hop-org.apache.sysds.common.Types.OpOp2-double-">isBinaryMatrixScalar</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop,
                     <a href="../../../../../org/apache/sysds/common/Types.OpOp2.html" title="enum in org.apache.sysds.common">Types.OpOp2</a>&nbsp;type,
                     double&nbsp;val)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">HopRewriteUtils.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isBinaryMatrixScalarOperation-org.apache.sysds.hops.Hop-">isBinaryMatrixScalarOperation</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">HopRewriteUtils.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isBinaryPPred-org.apache.sysds.hops.Hop-">isBinaryPPred</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">HopRewriteUtils.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isBinarySparseSafe-org.apache.sysds.hops.Hop-">isBinarySparseSafe</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">HopRewriteUtils.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isColumnRightIndexing-org.apache.sysds.hops.Hop-">isColumnRightIndexing</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">HopRewriteUtils.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isConsecutiveIndex-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-">isConsecutiveIndex</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;index,
                   <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;index2)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">HopRewriteUtils.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isData-org.apache.sysds.hops.Hop-org.apache.sysds.common.Types.OpOpData-">isData</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop,
       <a href="../../../../../org/apache/sysds/common/Types.OpOpData.html" title="enum in org.apache.sysds.common">Types.OpOpData</a>&nbsp;type)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">HopRewriteUtils.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isDataGenOp-org.apache.sysds.hops.Hop-org.apache.sysds.common.Types.OpOpDG...-">isDataGenOp</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop,
            <a href="../../../../../org/apache/sysds/common/Types.OpOpDG.html" title="enum in org.apache.sysds.common">Types.OpOpDG</a>...&nbsp;ops)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">HopRewriteUtils.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isDataGenOpWithConstantValue-org.apache.sysds.hops.Hop-">isDataGenOpWithConstantValue</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">HopRewriteUtils.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isDataGenOpWithConstantValue-org.apache.sysds.hops.Hop-double-">isDataGenOpWithConstantValue</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop,
                             double&nbsp;value)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">HopRewriteUtils.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isDataGenOpWithLiteralInputs-org.apache.sysds.hops.Hop-org.apache.sysds.common.Types.OpOpDG...-">isDataGenOpWithLiteralInputs</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop,
                             <a href="../../../../../org/apache/sysds/common/Types.OpOpDG.html" title="enum in org.apache.sysds.common">Types.OpOpDG</a>...&nbsp;ops)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">HopRewriteUtils.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isDataGenOpWithNonDeterminism-org.apache.sysds.hops.Hop-">isDataGenOpWithNonDeterminism</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">HopRewriteUtils.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isDense-org.apache.sysds.hops.Hop-">isDense</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">HopRewriteUtils.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isDimsKnown-org.apache.sysds.hops.Hop-">isDimsKnown</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">HopRewriteUtils.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isDnn-org.apache.sysds.hops.Hop-org.apache.sysds.common.Types.OpOpDnn...-">isDnn</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop,
      <a href="../../../../../org/apache/sysds/common/Types.OpOpDnn.html" title="enum in org.apache.sysds.common">Types.OpOpDnn</a>...&nbsp;types)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">HopRewriteUtils.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isDnn-org.apache.sysds.hops.Hop-org.apache.sysds.common.Types.OpOpDnn-">isDnn</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop,
      <a href="../../../../../org/apache/sysds/common/Types.OpOpDnn.html" title="enum in org.apache.sysds.common">Types.OpOpDnn</a>&nbsp;type)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">HopRewriteUtils.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isEmpty-org.apache.sysds.hops.Hop-">isEmpty</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
-<td class="colFirst"><code>static boolean</code></td>
-<td class="colLast"><span class="typeNameLabel">HopRewriteUtils.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isEqualSize-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop...-">isEqualSize</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop1,
-           <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>...&nbsp;hops)</code>&nbsp;</td>
-</tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">HopRewriteUtils.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isEqualSize-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop...-">isEqualSize</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop1,
@@ -2427,9 +2458,19 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
+<td class="colLast"><span class="typeNameLabel">HopRewriteUtils.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isEqualSize-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop...-">isEqualSize</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop1,
+           <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>...&nbsp;hops)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">HopRewriteUtils.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isEqualSize-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-">isEqualSize</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop1,
            <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop2)</code>&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><code>static boolean</code></td>
+<td class="colLast"><span class="typeNameLabel">HopRewriteUtils.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isEqualValue-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-">isEqualValue</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop1,
+            <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop2)</code>&nbsp;</td>
+</tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">HopRewriteUtils.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isLiteralOfValue-org.apache.sysds.hops.Hop-boolean-">isLiteralOfValue</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop,
@@ -2598,44 +2639,48 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
+<td class="colLast"><span class="typeNameLabel">HopRewriteUtils.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#knownParamservFunctions-org.apache.sysds.hops.Hop-">knownParamservFunctions</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">HopRewriteUtils.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#rContainsRead-org.apache.sysds.hops.Hop-java.lang.String-boolean-">rContainsRead</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;root,
              <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;var,
              boolean&nbsp;includeMetaOp)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">HopRewriteUtils.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#refreshOutputParameters-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-">refreshOutputParameters</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hnew,
                        <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hold)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">HopRewriteUtils.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#removeAllChildReferences-org.apache.sysds.hops.Hop-">removeAllChildReferences</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;parent)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">HopRewriteUtils.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#removeChildReference-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-">removeChildReference</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;parent,
                     <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;child)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">HopRewriteUtils.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#removeChildReferenceByPos-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-int-">removeChildReferenceByPos</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;parent,
                          <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;child,
                          int&nbsp;posChild)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">HopRewriteUtils.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#replaceChildReference-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-">replaceChildReference</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;parent,
                      <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;inOld,
                      <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;inNew)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">HopRewriteUtils.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#replaceChildReference-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-int-">replaceChildReference</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;parent,
                      <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;inOld,
                      <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;inNew,
                      int&nbsp;pos)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">HopRewriteUtils.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#replaceChildReference-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-int-boolean-">replaceChildReference</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;parent,
                      <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;inOld,
@@ -2643,106 +2688,106 @@
                      int&nbsp;pos,
                      boolean&nbsp;refresh)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a></code></td>
 <td class="colLast"><span class="typeNameLabel">HopRewriteUtils.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#rewireAllParentChildReferences-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-">rewireAllParentChildReferences</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hold,
                               <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hnew)</code>
 <div class="block">Replace an old Hop with a replacement Hop.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a></code></td>
 <td class="colLast"><span class="typeNameLabel">RewriteAlgebraicSimplificationDynamic.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/RewriteAlgebraicSimplificationDynamic.html#rewriteHopDAG-org.apache.sysds.hops.Hop-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteHopDAG</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;root,
              <a href="../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;state)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a></code></td>
 <td class="colLast"><span class="typeNameLabel">RewriteAlgebraicSimplificationStatic.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/RewriteAlgebraicSimplificationStatic.html#rewriteHopDAG-org.apache.sysds.hops.Hop-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteHopDAG</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;root,
              <a href="../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;state)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a></code></td>
 <td class="colLast"><span class="typeNameLabel">RewriteTransientWriteParentHandling.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/RewriteTransientWriteParentHandling.html#rewriteHopDAG-org.apache.sysds.hops.Hop-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteHopDAG</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;root,
              <a href="../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;state)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a></code></td>
 <td class="colLast"><span class="typeNameLabel">RewriteCommonSubexpressionElimination.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/RewriteCommonSubexpressionElimination.html#rewriteHopDAG-org.apache.sysds.hops.Hop-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteHopDAG</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;root,
              <a href="../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;state)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a></code></td>
 <td class="colLast"><span class="typeNameLabel">RewriteConstantFolding.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/RewriteConstantFolding.html#rewriteHopDAG-org.apache.sysds.hops.Hop-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteHopDAG</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;root,
              <a href="../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;state)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a></code></td>
 <td class="colLast"><span class="typeNameLabel">RewriteIndexingVectorization.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/RewriteIndexingVectorization.html#rewriteHopDAG-org.apache.sysds.hops.Hop-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteHopDAG</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;root,
              <a href="../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;state)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a></code></td>
 <td class="colLast"><span class="typeNameLabel">RewriteInjectSparkPReadCheckpointing.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/RewriteInjectSparkPReadCheckpointing.html#rewriteHopDAG-org.apache.sysds.hops.Hop-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteHopDAG</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;root,
              <a href="../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;state)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a></code></td>
 <td class="colLast"><span class="typeNameLabel">RewriteGPUSpecificOps.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/RewriteGPUSpecificOps.html#rewriteHopDAG-org.apache.sysds.hops.Hop-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteHopDAG</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;root,
              <a href="../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;state)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a></code></td>
 <td class="colLast"><span class="typeNameLabel">RewriteBlockSizeAndReblock.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/RewriteBlockSizeAndReblock.html#rewriteHopDAG-org.apache.sysds.hops.Hop-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteHopDAG</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;root,
              <a href="../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;state)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a></code></td>
 <td class="colLast"><span class="typeNameLabel">RewriteRemoveReadAfterWrite.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/RewriteRemoveReadAfterWrite.html#rewriteHopDAG-org.apache.sysds.hops.Hop-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteHopDAG</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;root,
              <a href="../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;state)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>abstract <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a></code></td>
 <td class="colLast"><span class="typeNameLabel">HopRewriteRule.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteRule.html#rewriteHopDAG-org.apache.sysds.hops.Hop-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteHopDAG</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;root,
              <a href="../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;state)</code>
 <div class="block">Handle a predicate hop DAG with exactly one root.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a></code></td>
 <td class="colLast"><span class="typeNameLabel">RewriteElementwiseMultChainOptimization.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/RewriteElementwiseMultChainOptimization.html#rewriteHopDAG-org.apache.sysds.hops.Hop-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteHopDAG</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;root,
              <a href="../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;state)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a></code></td>
 <td class="colLast"><span class="typeNameLabel">RewriteRemoveUnnecessaryCasts.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/RewriteRemoveUnnecessaryCasts.html#rewriteHopDAG-org.apache.sysds.hops.Hop-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteHopDAG</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;root,
              <a href="../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;state)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a></code></td>
 <td class="colLast"><span class="typeNameLabel">RewriteRemoveDanglingParentReferences.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/RewriteRemoveDanglingParentReferences.html#rewriteHopDAG-org.apache.sysds.hops.Hop-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteHopDAG</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;root,
              <a href="../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;state)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a></code></td>
 <td class="colLast"><span class="typeNameLabel">ProgramRewriter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/ProgramRewriter.html#rewriteHopDAG-org.apache.sysds.hops.Hop-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteHopDAG</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;root,
              <a href="../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;state)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a></code></td>
 <td class="colLast"><span class="typeNameLabel">RewriteRemovePersistentReadWrite.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/RewriteRemovePersistentReadWrite.html#rewriteHopDAG-org.apache.sysds.hops.Hop-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteHopDAG</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;root,
              <a href="../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;state)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a></code></td>
 <td class="colLast"><span class="typeNameLabel">RewriteMatrixMultChainOptimization.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/RewriteMatrixMultChainOptimization.html#rewriteHopDAG-org.apache.sysds.hops.Hop-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteHopDAG</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;root,
              <a href="../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;state)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">HopRewriteUtils.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#rHasSimpleReadChain-org.apache.sysds.hops.Hop-java.lang.String-">rHasSimpleReadChain</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;root,
                    <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;var)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">HopRewriteUtils.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#setOutputParameters-org.apache.sysds.hops.Hop-long-long-int-long-">setOutputParameters</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop,
                    long&nbsp;rlen,
@@ -2750,24 +2795,24 @@
                    int&nbsp;blen,
                    long&nbsp;nnz)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">HopRewriteUtils.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#setOutputParametersForScalar-org.apache.sysds.hops.Hop-">setOutputParametersForScalar</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">HopRewriteUtils.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#updateHopCharacteristics-org.apache.sysds.hops.Hop-int-org.apache.sysds.hops.Hop-">updateHopCharacteristics</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop,
                         int&nbsp;blen,
                         <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;src)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">HopRewriteUtils.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#updateHopCharacteristics-org.apache.sysds.hops.Hop-int-org.apache.sysds.hops.MemoTable-org.apache.sysds.hops.Hop-">updateHopCharacteristics</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop,
                         int&nbsp;blen,
                         <a href="../../../../../org/apache/sysds/hops/MemoTable.html" title="class in org.apache.sysds.hops">MemoTable</a>&nbsp;memo,
                         <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;src)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">HopDagValidator.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopDagValidator.html#validateHopDag-org.apache.sysds.hops.Hop-org.apache.sysds.hops.rewrite.HopRewriteRule-">validateHopDag</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;root,
               <a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteRule.html" title="class in org.apache.sysds.hops.rewrite">HopRewriteRule</a>&nbsp;rule)</code>&nbsp;</td>
@@ -3299,6 +3344,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/class-use/HopsException.html b/docs/api/java/org/apache/sysds/hops/class-use/HopsException.html
index cddd39a..ea43c0f 100644
--- a/docs/api/java/org/apache/sysds/hops/class-use/HopsException.html
+++ b/docs/api/java/org/apache/sysds/hops/class-use/HopsException.html
@@ -161,6 +161,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/class-use/IndexingOp.html b/docs/api/java/org/apache/sysds/hops/class-use/IndexingOp.html
index 64cfcca..7556416 100644
--- a/docs/api/java/org/apache/sysds/hops/class-use/IndexingOp.html
+++ b/docs/api/java/org/apache/sysds/hops/class-use/IndexingOp.html
@@ -104,19 +104,24 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/hops/IndexingOp.html" title="class in org.apache.sysds.hops">IndexingOp</a></code></td>
+<td class="colLast"><span class="typeNameLabel">HopRewriteUtils.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#createIndexingOp-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-">createIndexingOp</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;input,
+                <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;batchsize)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/hops/IndexingOp.html" title="class in org.apache.sysds.hops">IndexingOp</a></code></td>
 <td class="colLast"><span class="typeNameLabel">HopRewriteUtils.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#createIndexingOp-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-">createIndexingOp</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;input,
                 <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;rl,
                 <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;ru,
                 <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;cl,
                 <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;cu)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/hops/IndexingOp.html" title="class in org.apache.sysds.hops">IndexingOp</a></code></td>
 <td class="colLast"><span class="typeNameLabel">HopRewriteUtils.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#createIndexingOp-org.apache.sysds.hops.Hop-long-long-">createIndexingOp</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;input,
                 long&nbsp;rix,
                 long&nbsp;cix)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/hops/IndexingOp.html" title="class in org.apache.sysds.hops">IndexingOp</a></code></td>
 <td class="colLast"><span class="typeNameLabel">HopRewriteUtils.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#createIndexingOp-org.apache.sysds.hops.Hop-long-long-long-long-">createIndexingOp</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;input,
                 long&nbsp;rl,
@@ -199,6 +204,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/class-use/LeftIndexingOp.LeftIndexingMethod.html b/docs/api/java/org/apache/sysds/hops/class-use/LeftIndexingOp.LeftIndexingMethod.html
index f454fde..9d44b77 100644
--- a/docs/api/java/org/apache/sysds/hops/class-use/LeftIndexingOp.LeftIndexingMethod.html
+++ b/docs/api/java/org/apache/sysds/hops/class-use/LeftIndexingOp.LeftIndexingMethod.html
@@ -182,6 +182,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/class-use/LeftIndexingOp.html b/docs/api/java/org/apache/sysds/hops/class-use/LeftIndexingOp.html
index 81fc151..6ce757f 100644
--- a/docs/api/java/org/apache/sysds/hops/class-use/LeftIndexingOp.html
+++ b/docs/api/java/org/apache/sysds/hops/class-use/LeftIndexingOp.html
@@ -182,6 +182,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/class-use/LiteralOp.html b/docs/api/java/org/apache/sysds/hops/class-use/LiteralOp.html
index 8bcea46..eac6d9e 100644
--- a/docs/api/java/org/apache/sysds/hops/class-use/LiteralOp.html
+++ b/docs/api/java/org/apache/sysds/hops/class-use/LiteralOp.html
@@ -304,6 +304,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/class-use/MemoTable.html b/docs/api/java/org/apache/sysds/hops/class-use/MemoTable.html
index 66f9195..4526bb8 100644
--- a/docs/api/java/org/apache/sysds/hops/class-use/MemoTable.html
+++ b/docs/api/java/org/apache/sysds/hops/class-use/MemoTable.html
@@ -218,6 +218,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/class-use/MultiThreadedHop.html b/docs/api/java/org/apache/sysds/hops/class-use/MultiThreadedHop.html
index 0887f4b..8a8ac13 100644
--- a/docs/api/java/org/apache/sysds/hops/class-use/MultiThreadedHop.html
+++ b/docs/api/java/org/apache/sysds/hops/class-use/MultiThreadedHop.html
@@ -159,6 +159,17 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/TernaryOp.html" title="class in org.apache.sysds.hops">TernaryOp</a></span></code>
+<div class="block">Primary use cases for now, are
+                <code>quantile (&lt;n-1-matrix&gt;, &lt;n-1-matrix&gt;, &lt;literal&gt;):      quantile (A, w, 0.5)</code>
+                <code>quantile (&lt;n-1-matrix&gt;, &lt;n-1-matrix&gt;, &lt;scalar&gt;):       quantile (A, w, s)</code>
+                <code>interquantile (&lt;n-1-matrix&gt;, &lt;n-1-matrix&gt;, &lt;scalar&gt;):  interquantile (A, w, s)</code>
+ 
+ Keep in mind, that we also have binaries for it w/o weights.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/UnaryOp.html" title="class in org.apache.sysds.hops">UnaryOp</a></span></code>&nbsp;</td>
 </tr>
 </tbody>
@@ -233,6 +244,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/class-use/NaryOp.html b/docs/api/java/org/apache/sysds/hops/class-use/NaryOp.html
index 2f74ebc..3408db3 100644
--- a/docs/api/java/org/apache/sysds/hops/class-use/NaryOp.html
+++ b/docs/api/java/org/apache/sysds/hops/class-use/NaryOp.html
@@ -161,6 +161,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/class-use/OptimizerUtils.OptimizationLevel.html b/docs/api/java/org/apache/sysds/hops/class-use/OptimizerUtils.OptimizationLevel.html
index 3cbc8e2..fa57915 100644
--- a/docs/api/java/org/apache/sysds/hops/class-use/OptimizerUtils.OptimizationLevel.html
+++ b/docs/api/java/org/apache/sysds/hops/class-use/OptimizerUtils.OptimizationLevel.html
@@ -201,6 +201,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/class-use/OptimizerUtils.html b/docs/api/java/org/apache/sysds/hops/class-use/OptimizerUtils.html
index 37e2935..fc89f05 100644
--- a/docs/api/java/org/apache/sysds/hops/class-use/OptimizerUtils.html
+++ b/docs/api/java/org/apache/sysds/hops/class-use/OptimizerUtils.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/class-use/ParameterizedBuiltinOp.html b/docs/api/java/org/apache/sysds/hops/class-use/ParameterizedBuiltinOp.html
index 2cf50da..2e39c58 100644
--- a/docs/api/java/org/apache/sysds/hops/class-use/ParameterizedBuiltinOp.html
+++ b/docs/api/java/org/apache/sysds/hops/class-use/ParameterizedBuiltinOp.html
@@ -162,6 +162,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/class-use/QuaternaryOp.html b/docs/api/java/org/apache/sysds/hops/class-use/QuaternaryOp.html
index 1d6a409..a7ab9ab 100644
--- a/docs/api/java/org/apache/sysds/hops/class-use/QuaternaryOp.html
+++ b/docs/api/java/org/apache/sysds/hops/class-use/QuaternaryOp.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/class-use/ReorgOp.html b/docs/api/java/org/apache/sysds/hops/class-use/ReorgOp.html
index de3f70f..09be058 100644
--- a/docs/api/java/org/apache/sysds/hops/class-use/ReorgOp.html
+++ b/docs/api/java/org/apache/sysds/hops/class-use/ReorgOp.html
@@ -175,6 +175,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/class-use/TernaryOp.html b/docs/api/java/org/apache/sysds/hops/class-use/TernaryOp.html
index a6311d4..ae716c3 100644
--- a/docs/api/java/org/apache/sysds/hops/class-use/TernaryOp.html
+++ b/docs/api/java/org/apache/sysds/hops/class-use/TernaryOp.html
@@ -179,6 +179,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/class-use/UnaryOp.html b/docs/api/java/org/apache/sysds/hops/class-use/UnaryOp.html
index 583ba89..f7aef8a 100644
--- a/docs/api/java/org/apache/sysds/hops/class-use/UnaryOp.html
+++ b/docs/api/java/org/apache/sysds/hops/class-use/UnaryOp.html
@@ -189,6 +189,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/SpoofCompiler.CompilerType.html b/docs/api/java/org/apache/sysds/hops/codegen/SpoofCompiler.CompilerType.html
index efe7d9b..d07af2b 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/SpoofCompiler.CompilerType.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/SpoofCompiler.CompilerType.html
@@ -50,7 +50,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.html" title="class in org.apache.sysds.hops.codegen"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.IntegrationType.html" title="enum in org.apache.sysds.hops.codegen"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?org/apache/sysds/hops/codegen/SpoofCompiler.CompilerType.html" target="_top">Frames</a></li>
@@ -150,6 +150,12 @@
 <tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.CompilerType.html#JAVAC">JAVAC</a></span></code>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.CompilerType.html#NVCC">NVCC</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.CompilerType.html#NVRTC">NVRTC</a></span></code>&nbsp;</td>
+</tr>
 </table>
 </li>
 </ul>
@@ -228,12 +234,30 @@
 <a name="JANINO">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>JANINO</h4>
 <pre>public static final&nbsp;<a href="../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.CompilerType.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.CompilerType</a> JANINO</pre>
 </li>
 </ul>
+<a name="NVCC">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>NVCC</h4>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.CompilerType.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.CompilerType</a> NVCC</pre>
+</li>
+</ul>
+<a name="NVRTC">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>NVRTC</h4>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.CompilerType.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.CompilerType</a> NVRTC</pre>
+</li>
+</ul>
 </li>
 </ul>
 <!-- ============ METHOD DETAIL ========== -->
@@ -313,7 +337,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.html" title="class in org.apache.sysds.hops.codegen"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.IntegrationType.html" title="enum in org.apache.sysds.hops.codegen"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?org/apache/sysds/hops/codegen/SpoofCompiler.CompilerType.html" target="_top">Frames</a></li>
@@ -353,6 +377,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html b/docs/api/java/org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html
new file mode 100644
index 0000000..0e1b518
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html
@@ -0,0 +1,371 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>SpoofCompiler.GeneratorAPI (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="SpoofCompiler.GeneratorAPI (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":9,"i2":9};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/SpoofCompiler.GeneratorAPI.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.CompilerType.html" title="enum in org.apache.sysds.hops.codegen"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.IntegrationType.html" title="enum in org.apache.sysds.hops.codegen"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" target="_top">Frames</a></li>
+<li><a href="SpoofCompiler.GeneratorAPI.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#enum.constant.summary">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#enum.constant.detail">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.sysds.hops.codegen</div>
+<h2 title="Enum SpoofCompiler.GeneratorAPI" class="title">Enum SpoofCompiler.GeneratorAPI</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">java.lang.Enum</a>&lt;<a href="../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&gt;</li>
+<li>
+<ul class="inheritance">
+<li>org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;<a href="../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&gt;</dd>
+</dl>
+<dl>
+<dt>Enclosing class:</dt>
+<dd><a href="../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.html" title="class in org.apache.sysds.hops.codegen">SpoofCompiler</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public static enum <span class="typeNameLabel">SpoofCompiler.GeneratorAPI</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a>&lt;<a href="../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&gt;</pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== ENUM CONSTANT SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="enum.constant.summary">
+<!--   -->
+</a>
+<h3>Enum Constant Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Enum Constant Summary table, listing enum constants, and an explanation">
+<caption><span>Enum Constants</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Enum Constant and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html#AUTO">AUTO</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html#CUDA">CUDA</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html#JAVA">JAVA</a></span></code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html#isJava--">isJava</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html#valueOf-java.lang.String-">valueOf</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
+<div class="block">Returns the enum constant of this type with the specified name.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html#values--">values</a></span>()</code>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Enum">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#compareTo-E-" title="class or interface in java.lang">compareTo</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#getDeclaringClass--" title="class or interface in java.lang">getDeclaringClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#name--" title="class or interface in java.lang">name</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#ordinal--" title="class or interface in java.lang">ordinal</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#valueOf-java.lang.Class-java.lang.String-" title="class or interface in java.lang">valueOf</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ ENUM CONSTANT DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="enum.constant.detail">
+<!--   -->
+</a>
+<h3>Enum Constant Detail</h3>
+<a name="AUTO">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>AUTO</h4>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a> AUTO</pre>
+</li>
+</ul>
+<a name="JAVA">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>JAVA</h4>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a> JAVA</pre>
+</li>
+</ul>
+<a name="CUDA">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>CUDA</h4>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a> CUDA</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="values--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>values</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>[]&nbsp;values()</pre>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.  This method may be used to iterate
+over the constants as follows:
+<pre>
+for (SpoofCompiler.GeneratorAPI c : SpoofCompiler.GeneratorAPI.values())
+&nbsp;   System.out.println(c);
+</pre></div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>an array containing the constants of this enum type, in the order they are declared</dd>
+</dl>
+</li>
+</ul>
+<a name="valueOf-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>valueOf</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&nbsp;valueOf(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
+<div class="block">Returns the enum constant of this type with the specified name.
+The string must match <i>exactly</i> an identifier used to declare an
+enum constant in this type.  (Extraneous whitespace characters are 
+not permitted.)</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>name</code> - the name of the enum constant to be returned.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the enum constant with the specified name</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if this enum type has no constant with the specified name</dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/NullPointerException.html?is-external=true" title="class or interface in java.lang">NullPointerException</a></code> - if the argument is null</dd>
+</dl>
+</li>
+</ul>
+<a name="isJava--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>isJava</h4>
+<pre>public&nbsp;boolean&nbsp;isJava()</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/SpoofCompiler.GeneratorAPI.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.CompilerType.html" title="enum in org.apache.sysds.hops.codegen"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.IntegrationType.html" title="enum in org.apache.sysds.hops.codegen"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" target="_top">Frames</a></li>
+<li><a href="SpoofCompiler.GeneratorAPI.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#enum.constant.summary">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#enum.constant.detail">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/SpoofCompiler.IntegrationType.html b/docs/api/java/org/apache/sysds/hops/codegen/SpoofCompiler.IntegrationType.html
index 934b4dc..b183d4a 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/SpoofCompiler.IntegrationType.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/SpoofCompiler.IntegrationType.html
@@ -49,7 +49,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.CompilerType.html" title="enum in org.apache.sysds.hops.codegen"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.PlanCachePolicy.html" title="enum in org.apache.sysds.hops.codegen"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -300,7 +300,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.CompilerType.html" title="enum in org.apache.sysds.hops.codegen"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.PlanCachePolicy.html" title="enum in org.apache.sysds.hops.codegen"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -341,6 +341,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/SpoofCompiler.PlanCachePolicy.html b/docs/api/java/org/apache/sysds/hops/codegen/SpoofCompiler.PlanCachePolicy.html
index 83daf0d..75ac6eb 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/SpoofCompiler.PlanCachePolicy.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/SpoofCompiler.PlanCachePolicy.html
@@ -368,6 +368,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/SpoofCompiler.PlanSelector.html b/docs/api/java/org/apache/sysds/hops/codegen/SpoofCompiler.PlanSelector.html
index d5bc189..0d45901 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/SpoofCompiler.PlanSelector.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/SpoofCompiler.PlanSelector.html
@@ -391,6 +391,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/SpoofCompiler.RegisterAlloc.html b/docs/api/java/org/apache/sysds/hops/codegen/SpoofCompiler.RegisterAlloc.html
index 7bc4f03..0e85b0e 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/SpoofCompiler.RegisterAlloc.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/SpoofCompiler.RegisterAlloc.html
@@ -353,6 +353,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/SpoofCompiler.html b/docs/api/java/org/apache/sysds/hops/codegen/SpoofCompiler.html
index 80b714e..338de7a 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/SpoofCompiler.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/SpoofCompiler.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":9,"i11":9,"i12":9};
+var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":9,"i11":9,"i12":9,"i13":9,"i14":9};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -135,18 +135,22 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.IntegrationType.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.IntegrationType</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.PlanCachePolicy.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.PlanCachePolicy</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.IntegrationType.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.IntegrationType</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.PlanSelector.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.PlanSelector</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.PlanCachePolicy.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.PlanCachePolicy</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.PlanSelector.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.PlanSelector</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.RegisterAlloc.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.RegisterAlloc</a></span></code>&nbsp;</td>
 </tr>
 </table>
@@ -165,13 +169,21 @@
 <th class="colLast" scope="col">Field and Description</th>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.html#API">API</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.IntegrationType.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.IntegrationType</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.html#INTEGRATION">INTEGRATION</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.CompilerType.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.CompilerType</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.html#JAVA_COMPILER">JAVA_COMPILER</a></span></code>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.html#native_contexts">native_contexts</a></span></code>&nbsp;</td>
+</tr>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.PlanCachePolicy.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.PlanCachePolicy</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.html#PLAN_CACHE_POLICY">PLAN_CACHE_POLICY</a></span></code>&nbsp;</td>
@@ -268,27 +280,35 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.html#generateCodeFromStatementBlock-org.apache.sysds.parser.StatementBlock-">generateCodeFromStatementBlock</a></span>(<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&nbsp;current)</code>&nbsp;</td>
 </tr>
 <tr id="i9" class="rowColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.html#loadNativeCodeGenerator-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">loadNativeCodeGenerator</a></span>(<a href="../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&nbsp;generator)</code>&nbsp;</td>
+</tr>
+<tr id="i10" class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.html#optimize-java.util.ArrayList-boolean-">optimize</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&gt;&nbsp;roots,
         boolean&nbsp;recompile)</code>
 <div class="block">Main interface of sum-product optimizer, statement block dag.</div>
 </td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.html#optimize-org.apache.sysds.hops.Hop-boolean-">optimize</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;root,
         boolean&nbsp;recompile)</code>
 <div class="block">Main interface of sum-product optimizer, predicate dag.</div>
 </td>
 </tr>
-<tr id="i11" class="rowColor">
+<tr id="i12" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.html#setConfiguredPlanSelector--">setConfiguredPlanSelector</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i12" class="altColor">
+<tr id="i13" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.html#setExecTypeSpecificJavaCompiler--">setExecTypeSpecificJavaCompiler</a></span>()</code>&nbsp;</td>
 </tr>
+<tr id="i14" class="altColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.html#unloadNativeCodeGenerator--">unloadNativeCodeGenerator</a></span>()</code>&nbsp;</td>
+</tr>
 </table>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -389,12 +409,30 @@
 <a name="REG_ALLOC_POLICY">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>REG_ALLOC_POLICY</h4>
 <pre>public static final&nbsp;<a href="../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.RegisterAlloc.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.RegisterAlloc</a> REG_ALLOC_POLICY</pre>
 </li>
 </ul>
+<a name="API">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>API</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a> API</pre>
+</li>
+</ul>
+<a name="native_contexts">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>native_contexts</h4>
+<pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt; native_contexts</pre>
+</li>
+</ul>
 </li>
 </ul>
 <!-- ========= CONSTRUCTOR DETAIL ======== -->
@@ -420,6 +458,24 @@
 <!--   -->
 </a>
 <h3>Method Detail</h3>
+<a name="loadNativeCodeGenerator-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>loadNativeCodeGenerator</h4>
+<pre>public static&nbsp;void&nbsp;loadNativeCodeGenerator(<a href="../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&nbsp;generator)</pre>
+</li>
+</ul>
+<a name="unloadNativeCodeGenerator--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>unloadNativeCodeGenerator</h4>
+<pre>public static&nbsp;void&nbsp;unloadNativeCodeGenerator()</pre>
+</li>
+</ul>
 <a name="generateCode-org.apache.sysds.parser.DMLProgram-">
 <!--   -->
 </a>
@@ -630,6 +686,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/SpoofFusedOp.SpoofOutputDimsType.html b/docs/api/java/org/apache/sysds/hops/codegen/SpoofFusedOp.SpoofOutputDimsType.html
index da7f3f0..bf06c1e 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/SpoofFusedOp.SpoofOutputDimsType.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/SpoofFusedOp.SpoofOutputDimsType.html
@@ -461,6 +461,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/SpoofFusedOp.html b/docs/api/java/org/apache/sysds/hops/codegen/SpoofFusedOp.html
index fb0aff7..1a6539f 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/SpoofFusedOp.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/SpoofFusedOp.html
@@ -180,10 +180,12 @@
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/codegen/SpoofFusedOp.html#SpoofFusedOp--">SpoofFusedOp</a></span>()</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/codegen/SpoofFusedOp.html#SpoofFusedOp-java.lang.String-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-java.lang.Class-boolean-org.apache.sysds.hops.codegen.SpoofFusedOp.SpoofOutputDimsType-">SpoofFusedOp</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/codegen/SpoofFusedOp.html#SpoofFusedOp-java.lang.String-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-java.lang.Class-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-java.lang.String-boolean-org.apache.sysds.hops.codegen.SpoofFusedOp.SpoofOutputDimsType-">SpoofFusedOp</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
             <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
             <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
             <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;cla,
+            <a href="../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&nbsp;api,
+            <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;genVarName,
             boolean&nbsp;dist,
             <a href="../../../../../org/apache/sysds/hops/codegen/SpoofFusedOp.SpoofOutputDimsType.html" title="enum in org.apache.sysds.hops.codegen">SpoofFusedOp.SpoofOutputDimsType</a>&nbsp;type)</code>&nbsp;</td>
 </tr>
@@ -266,14 +268,14 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.hops.<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a></h3>
-<code><a href="../../../../../org/apache/sysds/hops/Hop.html#addAllInputs-java.util.ArrayList-">addAllInputs</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#addInput-org.apache.sysds.hops.Hop-">addInput</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#checkAndSetForcedPlatform--">checkAndSetForcedPlatform</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#checkAndSetInvalidCPDimsAndSize--">checkAndSetInvalidCPDimsAndSize</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#clearMemEstimate--">clearMemEstimate</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#colsKnown--">colsKnown</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#computeBoundsInformation-org.apache.sysds.hops.Hop-">computeBoundsInformation</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#computeBoundsInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">computeBoundsInformation</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#computeBoundsInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">computeBoundsInformation</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#computeMemEstimate-org.apache.sysds.hops.MemoTable-">computeMemEstimate</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#computeSizeInformation-org.apache.sysds.hops.Hop-">computeSizeInformation</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#computeSizeInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">computeSizeInformation</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#computeSizeInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">computeSizeInformation</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#constructAndSetLopsDataFlowProperties--">constructAndSetLopsDataFlowProperties</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#createOffsetLop-org.apache.sysds.hops.Hop-boolean-">createOffsetLop</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#dimsKnown--">dimsKnown</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#dimsKnown-boolean-">dimsKnown</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#dimsKnownAny--">dimsKnownAny</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#getBlocksize--">getBlocksize</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#getDataCharacteristics--">getDataCharacteristics</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#getDataType--">getDataType</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#getDim-int-">getDim</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#getDim1--">getDim1</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#getDim2--">getDim2</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#getEndLine--">getEndLine</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#getExecType--">getExecType</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#getFilename--">getFilename</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#getForcedExecType--">getForcedExecType</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#getHopID--">getHopID</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#getInput--">getInput</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#getInputMemEstimate--">getInputMemEstimate</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#getInputOutputSize-java.util.Collection-">getInputOutputSize</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#getIntermediateMemEstimate--">getIntermediateMemEstimate</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#getLength--">getLength</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#getLops--">getLops</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#getMemEstimate--">getMemEstimate</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#getName--">getName</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#getNnz--">getNnz</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#getOutputMemEstimate--">getOutputMemEstimate</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#getParent--">getParent</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#getPrivacy--">getPrivacy</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#getSparsity--">getSparsity</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#getSpBroadcastSize--">getSpBroadcastSize</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#getText--">getText</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#getUpdateType--">getUpdateType</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#getValueType--">getValueType</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#hasMatrixInputWithDifferentBlocksizes--">hasMatrixInputWithDifferentBlocksizes</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#hasValidCPDimsAndSize--">hasValidCPDimsAndSize</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#isMatrix--">isMatrix</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#isMemEstimated--">isMemEstimated</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#isOutputEmptyBlocks--">isOutputEmptyBlocks</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#isScalar--">isScalar</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#isTransposeSafe--">isTransposeSafe</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#isVisited--">isVisited</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#printErrorLocation--">printErrorLocation</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#refreshColsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">refreshColsParameterInformation</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#refreshColsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">refreshColsParameterInformation</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#refreshMemEstimates-org.apache.sysds.hops.MemoTable-">refreshMemEstimates</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#refreshRowsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">refreshRowsParameterInformation</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#refreshRowsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">refreshRowsParameterInformation</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#requiresCheckpoint--">requiresCheckpoint</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#requiresCompression--">requiresCompression</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#requiresLineageCaching--">requiresLineageCaching</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#requiresReblock--">requiresReblock</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#requiresRecompile--">requiresRecompile</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#resetExecType--">resetExecType</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#resetRecompilationFlag-java.util.ArrayList-org.apache.sysds.lops.LopProperties.ExecType-org.apache.sysds.hops.recompile.Recompiler.ResetType-">resetRecompilationFlag</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#resetRecompilationFlag-org.apache.sysds.hops.Hop-org.apache.sysds.lops.LopProperties.ExecType-org.apache.sysds.hops.recompile.Recompiler.ResetType-">resetRecompilationFlag</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus--">resetVisitStatus</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus-java.util.ArrayList-">resetVisitStatus</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus-java.util.ArrayList-boolean-">resetVisitStatus</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#resetVisitStatusForced-java.util.HashSet-">resetVisitStatusForced</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#rowsKnown--">rowsKnown</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#setBeginColumn-int-">setBeginColumn</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#setBeginLine-int-">setBeginLine</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#setBlocksize-int-">setBlocksize</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#setDataType-org.apache.sysds.common.Types.DataType-">setDataType</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#setDim-int-long-">setDim</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#setDim1-long-">setDim1</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#setDim2-long-">setDim2</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#setEndColumn-int-">setEndColumn</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#setEndLine-int-">setEndLine</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#setFilename-java.lang.String-">setFilename</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#setForcedExecType-org.apache.sysds.lops.LopProperties.ExecType-">setForcedExecType</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#setLops-org.apache.sysds.lops.Lop-">setLops</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#setMemEstimate-double-">setMemEstimate</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#setName-java.lang.String-">setName</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#setNnz-long-">setNnz</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#setOutputEmptyBlocks-boolean-">setOutputEmptyBlocks</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#setParseInfo-org.apache.sysds.parser.ParseInfo-">setParseInfo</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#setPrivacy-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacy</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#setRequiresCheckpoint-boolean-">setRequiresCheckpoint</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#setRequiresCompression-boolean-">setRequiresCompression</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#setRequiresLineageCaching-boolean-">setRequiresLineageCaching</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#setRequiresReblock-boolean-">setRequiresReblock</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#setRequiresRecompile--">setRequiresRecompile</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#setText-java.lang.String-">setText</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#setUpdateType-org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType-">setUpdateType</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#setValueType-org.apache.sysds.common.Types.ValueType-">setValueType</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#setVisited--">setVisited</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#setVisited-boolean-">setVisited</a></code></li>
+<code><a href="../../../../../org/apache/sysds/hops/Hop.html#addAllInputs-java.util.ArrayList-">addAllInputs</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#addInput-org.apache.sysds.hops.Hop-">addInput</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#checkAndSetForcedPlatform--">checkAndSetForcedPlatform</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#checkAndSetInvalidCPDimsAndSize--">checkAndSetInvalidCPDimsAndSize</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#clearMemEstimate--">clearMemEstimate</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#colsKnown--">colsKnown</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#computeBoundsInformation-org.apache.sysds.hops.Hop-">computeBoundsInformation</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#computeBoundsInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">computeBoundsInformation</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#computeBoundsInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">computeBoundsInformation</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#computeMemEstimate-org.apache.sysds.hops.MemoTable-">computeMemEstimate</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#computeSizeInformation-org.apache.sysds.hops.Hop-">computeSizeInformation</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#computeSizeInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">computeSizeInformation</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#computeSizeInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">computeSizeInformation</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#constructAndSetLopsDataFlowProperties--">constructAndSetLopsDataFlowProperties</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#createOffsetLop-org.apache.sysds.hops.Hop-boolean-">createOffsetLop</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#dimsKnown--">dimsKnown</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#dimsKnown-boolean-">dimsKnown</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#dimsKnownAny--">dimsKnownAny</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#getBlocksize--">getBlocksize</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#getDataCharacteristics--">getDataCharacteristics</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#getDataType--">getDataType</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#getDim-int-">getDim</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#getDim1--">getDim1</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#getDim2--">getDim2</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#getEndLine--">getEndLine</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#getExecType--">getExecType</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#getFilename--">getFilename</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#getForcedExecType--">getForcedExecType</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#getHopID--">getHopID</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#getInput--">getInput</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#getInput-int-">getInput</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#getInputMemEstimate--">getInputMemEstimate</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#getInputOutputSize-java.util.Collection-">getInputOutputSize</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#getIntermediateMemEstimate--">getIntermediateMemEstimate</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#getLength--">getLength</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#getLops--">getLops</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#getMemEstimate--">getMemEstimate</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#getName--">getName</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#getNnz--">getNnz</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#getOutputMemEstimate--">getOutputMemEstimate</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#getParent--">getParent</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#getPrivacy--">getPrivacy</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#getSparsity--">getSparsity</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#getSpBroadcastSize--">getSpBroadcastSize</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#getText--">getText</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#getUpdateType--">getUpdateType</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#getValueType--">getValueType</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#hasMatrixInputWithDifferentBlocksizes--">hasMatrixInputWithDifferentBlocksizes</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#hasValidCPDimsAndSize--">hasValidCPDimsAndSize</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#isMatrix--">isMatrix</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#isMemEstimated--">isMemEstimated</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#isOutputEmptyBlocks--">isOutputEmptyBlocks</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#isScalar--">isScalar</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#isTransposeSafe--">isTransposeSafe</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#isVisited--">isVisited</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#printErrorLocation--">printErrorLocation</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#refreshColsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">refreshColsParameterInformation</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#refreshColsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">refreshColsParameterInformation</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#refreshMemEstimates-org.apache.sysds.hops.MemoTable-">refreshMemEstimates</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#refreshRowsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">refreshRowsParameterInformation</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#refreshRowsParameterInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">refreshRowsParameterInformation</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#requiresCheckpoint--">requiresCheckpoint</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#requiresCompression--">requiresCompression</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#requiresLineageCaching--">requiresLineageCaching</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#requiresReblock--">requiresReblock</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#requiresRecompile--">requiresRecompile</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#resetExecType--">resetExecType</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#resetRecompilationFlag-java.util.ArrayList-org.apache.sysds.lops.LopProperties.ExecType-org.apache.sysds.hops.recompile.Recompiler.ResetType-">resetRecompilationFlag</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#resetRecompilationFlag-org.apache.sysds.hops.Hop-org.apache.sysds.lops.LopProperties.ExecType-org.apache.sysds.hops.recompile.Recompiler.ResetType-">resetRecompilationFlag</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus--">resetVisitStatus</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus-java.util.ArrayList-">resetVisitStatus</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#resetVisitStatus-java.util.ArrayList-boolean-">resetVisitStatus</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#resetVisitStatusForced-java.util.HashSet-">resetVisitStatusForced</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#rowsKnown--">rowsKnown</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#setBeginColumn-int-">setBeginColumn</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#setBeginLine-int-">setBeginLine</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#setBlocksize-int-">setBlocksize</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#setDataType-org.apache.sysds.common.Types.DataType-">setDataType</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#setDim-int-long-">setDim</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#setDim1-long-">setDim1</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#setDim2-long-">setDim2</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#setEndColumn-int-">setEndColumn</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#setEndLine-int-">setEndLine</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#setFilename-java.lang.String-">setFilename</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#setForcedExecType-org.apache.sysds.lops.LopProperties.ExecType-">setForcedExecType</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#setLops-org.apache.sysds.lops.Lop-">setLops</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#setMemEstimate-double-">setMemEstimate</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#setName-java.lang.String-">setName</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#setNnz-long-">setNnz</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#setOutputEmptyBlocks-boolean-">setOutputEmptyBlocks</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#setParseInfo-org.apache.sysds.parser.ParseInfo-">setParseInfo</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#setPrivacy-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacy</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#setRequiresCheckpoint-boolean-">setRequiresCheckpoint</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#setRequiresCompression-boolean-">setRequiresCompression</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#setRequiresDeCompression-boolean-">setRequiresDeCompression</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#setRequiresLineageCaching-boolean-">setRequiresLineageCaching</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#setRequiresReblock-boolean-">setRequiresReblock</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#setRequiresRecompile--">setRequiresRecompile</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#setText-java.lang.String-">setText</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#setUpdateType-org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType-">setUpdateType</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#setValueType-org.apache.sysds.common.Types.ValueType-">setValueType</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#setVisited--">setVisited</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#setVisited-boolean-">setVisited</a>, <a href="../../../../../org/apache/sysds/hops/Hop.html#toString--">toString</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
-<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.parser.ParseInfo">
@@ -305,7 +307,7 @@
 <pre>public&nbsp;SpoofFusedOp()</pre>
 </li>
 </ul>
-<a name="SpoofFusedOp-java.lang.String-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-java.lang.Class-boolean-org.apache.sysds.hops.codegen.SpoofFusedOp.SpoofOutputDimsType-">
+<a name="SpoofFusedOp-java.lang.String-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-java.lang.Class-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-java.lang.String-boolean-org.apache.sysds.hops.codegen.SpoofFusedOp.SpoofOutputDimsType-">
 <!--   -->
 </a>
 <ul class="blockListLast">
@@ -315,6 +317,8 @@
                     <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
                     <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
                     <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;cla,
+                    <a href="../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&nbsp;api,
+                    <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;genVarName,
                     boolean&nbsp;dist,
                     <a href="../../../../../org/apache/sysds/hops/codegen/SpoofFusedOp.SpoofOutputDimsType.html" title="enum in org.apache.sysds.hops.codegen">SpoofFusedOp.SpoofOutputDimsType</a>&nbsp;type)</pre>
 </li>
@@ -552,6 +556,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/class-use/SpoofCompiler.CompilerType.html b/docs/api/java/org/apache/sysds/hops/codegen/class-use/SpoofCompiler.CompilerType.html
index 555a3aa..0676514 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/class-use/SpoofCompiler.CompilerType.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/class-use/SpoofCompiler.CompilerType.html
@@ -182,6 +182,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/class-use/SpoofCompiler.GeneratorAPI.html b/docs/api/java/org/apache/sysds/hops/codegen/class-use/SpoofCompiler.GeneratorAPI.html
new file mode 100644
index 0000000..76a1a39
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/hops/codegen/class-use/SpoofCompiler.GeneratorAPI.html
@@ -0,0 +1,427 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/hops/codegen/class-use/SpoofCompiler.GeneratorAPI.html" target="_top">Frames</a></li>
+<li><a href="SpoofCompiler.GeneratorAPI.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI" class="title">Uses of Class<br>org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.hops.codegen">org.apache.sysds.hops.codegen</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.sysds.hops.codegen.cplan">org.apache.sysds.hops.codegen.cplan</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.lops">org.apache.sysds.lops</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.sysds.hops.codegen">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a> in <a href="../../../../../../org/apache/sysds/hops/codegen/package-summary.html">org.apache.sysds.hops.codegen</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing fields, and an explanation">
+<caption><span>Fields in <a href="../../../../../../org/apache/sysds/hops/codegen/package-summary.html">org.apache.sysds.hops.codegen</a> declared as <a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a></code></td>
+<td class="colLast"><span class="typeNameLabel">SpoofCompiler.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.html#API">API</a></span></code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing fields, and an explanation">
+<caption><span>Fields in <a href="../../../../../../org/apache/sysds/hops/codegen/package-summary.html">org.apache.sysds.hops.codegen</a> with type parameters of type <a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">SpoofCompiler.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.html#native_contexts">native_contexts</a></span></code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/sysds/hops/codegen/package-summary.html">org.apache.sysds.hops.codegen</a> that return <a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a></code></td>
+<td class="colLast"><span class="typeNameLabel">SpoofCompiler.GeneratorAPI.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html#valueOf-java.lang.String-">valueOf</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
+<div class="block">Returns the enum constant of this type with the specified name.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>[]</code></td>
+<td class="colLast"><span class="typeNameLabel">SpoofCompiler.GeneratorAPI.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html#values--">values</a></span>()</code>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/sysds/hops/codegen/package-summary.html">org.apache.sysds.hops.codegen</a> with parameters of type <a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><span class="typeNameLabel">SpoofCompiler.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.html#loadNativeCodeGenerator-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">loadNativeCodeGenerator</a></span>(<a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&nbsp;generator)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../../org/apache/sysds/hops/codegen/package-summary.html">org.apache.sysds.hops.codegen</a> with parameters of type <a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/SpoofFusedOp.html#SpoofFusedOp-java.lang.String-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-java.lang.Class-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-java.lang.String-boolean-org.apache.sysds.hops.codegen.SpoofFusedOp.SpoofOutputDimsType-">SpoofFusedOp</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+            <a href="../../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
+            <a href="../../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
+            <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;cla,
+            <a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&nbsp;api,
+            <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;genVarName,
+            boolean&nbsp;dist,
+            <a href="../../../../../../org/apache/sysds/hops/codegen/SpoofFusedOp.SpoofOutputDimsType.html" title="enum in org.apache.sysds.hops.codegen">SpoofFusedOp.SpoofOutputDimsType</a>&nbsp;type)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.sysds.hops.codegen.cplan">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a> in <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/package-summary.html">org.apache.sysds.hops.codegen.cplan</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/package-summary.html">org.apache.sysds.hops.codegen.cplan</a> that return <a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a></code></td>
+<td class="colLast"><span class="typeNameLabel">CNodeTpl.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTpl.html#getGeneratorAPI--">getGeneratorAPI</a></span>()</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/package-summary.html">org.apache.sysds.hops.codegen.cplan</a> with parameters of type <a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><span class="typeNameLabel">CNodeBinary.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeBinary.html#codegen-boolean-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">codegen</a></span>(boolean&nbsp;sparse,
+       <a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&nbsp;api)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><span class="typeNameLabel">CNodeOuterProduct.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeOuterProduct.html#codegen-boolean-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">codegen</a></span>(boolean&nbsp;sparse,
+       <a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&nbsp;api)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><span class="typeNameLabel">CNodeMultiAgg.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeMultiAgg.html#codegen-boolean-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">codegen</a></span>(boolean&nbsp;sparse,
+       <a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&nbsp;api)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><span class="typeNameLabel">CNodeData.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeData.html#codegen-boolean-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">codegen</a></span>(boolean&nbsp;sparse,
+       <a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&nbsp;api)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><span class="typeNameLabel">CNodeNary.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeNary.html#codegen-boolean-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">codegen</a></span>(boolean&nbsp;sparse,
+       <a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&nbsp;api)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><span class="typeNameLabel">CNodeCell.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeCell.html#codegen-boolean-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">codegen</a></span>(boolean&nbsp;sparse,
+       <a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&nbsp;_api)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>abstract <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><span class="typeNameLabel">CNode.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#codegen-boolean-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">codegen</a></span>(boolean&nbsp;sparse,
+       <a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&nbsp;api)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><span class="typeNameLabel">CNodeRow.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeRow.html#codegen-boolean-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">codegen</a></span>(boolean&nbsp;sparse,
+       <a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&nbsp;_api)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><span class="typeNameLabel">CNodeTernary.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTernary.html#codegen-boolean-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">codegen</a></span>(boolean&nbsp;sparse,
+       <a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&nbsp;api)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><span class="typeNameLabel">CNodeUnary.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeUnary.html#codegen-boolean-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">codegen</a></span>(boolean&nbsp;sparse,
+       <a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&nbsp;api)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><span class="typeNameLabel">CNodeOuterProduct.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeOuterProduct.html#compile-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-java.lang.String-">compile</a></span>(<a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&nbsp;api,
+       <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;src)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><span class="typeNameLabel">CNodeMultiAgg.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeMultiAgg.html#compile-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-java.lang.String-">compile</a></span>(<a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&nbsp;api,
+       <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;src)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>abstract int</code></td>
+<td class="colLast"><span class="typeNameLabel">CNodeTpl.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTpl.html#compile-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-java.lang.String-">compile</a></span>(<a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&nbsp;api,
+       <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;src)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><span class="typeNameLabel">CNodeCell.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeCell.html#compile-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-java.lang.String-">compile</a></span>(<a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&nbsp;api,
+       <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;src)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><span class="typeNameLabel">CNodeRow.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeRow.html#compile-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-java.lang.String-">compile</a></span>(<a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&nbsp;api,
+       <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;src)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><span class="typeNameLabel">CNodeNary.NaryType.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeNary.NaryType.html#getTemplate-boolean-long-java.util.ArrayList-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">getTemplate</a></span>(boolean&nbsp;sparseGen,
+           long&nbsp;len,
+           <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html" title="class in org.apache.sysds.hops.codegen.cplan">CNode</a>&gt;&nbsp;inputs,
+           <a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&nbsp;api)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><span class="typeNameLabel">CNodeData.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeData.html#getVarname-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">getVarname</a></span>(<a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&nbsp;api)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><span class="typeNameLabel">CNode.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getVarname-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">getVarname</a></span>(<a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&nbsp;api)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><span class="typeNameLabel">CNode.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getVectorLength-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">getVectorLength</a></span>(<a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&nbsp;api)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><span class="typeNameLabel">CNodeBinary.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeBinary.html#isSupported-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">isSupported</a></span>(<a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&nbsp;api)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><span class="typeNameLabel">CNodeOuterProduct.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeOuterProduct.html#isSupported-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">isSupported</a></span>(<a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&nbsp;api)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><span class="typeNameLabel">CNodeMultiAgg.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeMultiAgg.html#isSupported-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">isSupported</a></span>(<a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&nbsp;api)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><span class="typeNameLabel">CNodeData.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeData.html#isSupported-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">isSupported</a></span>(<a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&nbsp;api)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><span class="typeNameLabel">CNodeNary.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeNary.html#isSupported-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">isSupported</a></span>(<a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&nbsp;api)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><span class="typeNameLabel">CNodeCell.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeCell.html#isSupported-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">isSupported</a></span>(<a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&nbsp;api)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>abstract boolean</code></td>
+<td class="colLast"><span class="typeNameLabel">CNode.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#isSupported-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">isSupported</a></span>(<a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&nbsp;api)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><span class="typeNameLabel">CNodeRow.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeRow.html#isSupported-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">isSupported</a></span>(<a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&nbsp;api)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><span class="typeNameLabel">CNodeTernary.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTernary.html#isSupported-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">isSupported</a></span>(<a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&nbsp;api)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><span class="typeNameLabel">CNodeUnary.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeUnary.html#isSupported-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">isSupported</a></span>(<a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&nbsp;api)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">CNodeTpl.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTpl.html#setGeneratorAPI-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">setGeneratorAPI</a></span>(<a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&nbsp;_api)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.sysds.lops">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a> in <a href="../../../../../../org/apache/sysds/lops/package-summary.html">org.apache.sysds.lops</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../../org/apache/sysds/lops/package-summary.html">org.apache.sysds.lops</a> with parameters of type <a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/lops/SpoofFused.html#SpoofFused-java.util.ArrayList-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-java.lang.Class-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-java.lang.String-int-org.apache.sysds.lops.LopProperties.ExecType-">SpoofFused</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&gt;&nbsp;inputs,
+          <a href="../../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
+          <a href="../../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
+          <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;cla,
+          <a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&nbsp;api,
+          <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;genVarName,
+          int&nbsp;k,
+          <a href="../../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;etype)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/hops/codegen/class-use/SpoofCompiler.GeneratorAPI.html" target="_top">Frames</a></li>
+<li><a href="SpoofCompiler.GeneratorAPI.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/class-use/SpoofCompiler.IntegrationType.html b/docs/api/java/org/apache/sysds/hops/codegen/class-use/SpoofCompiler.IntegrationType.html
index cf2ee2c..d355478 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/class-use/SpoofCompiler.IntegrationType.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/class-use/SpoofCompiler.IntegrationType.html
@@ -182,6 +182,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/class-use/SpoofCompiler.PlanCachePolicy.html b/docs/api/java/org/apache/sysds/hops/codegen/class-use/SpoofCompiler.PlanCachePolicy.html
index 149a1df..504066a 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/class-use/SpoofCompiler.PlanCachePolicy.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/class-use/SpoofCompiler.PlanCachePolicy.html
@@ -187,6 +187,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/class-use/SpoofCompiler.PlanSelector.html b/docs/api/java/org/apache/sysds/hops/codegen/class-use/SpoofCompiler.PlanSelector.html
index 9205d0e..53e7026 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/class-use/SpoofCompiler.PlanSelector.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/class-use/SpoofCompiler.PlanSelector.html
@@ -182,6 +182,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/class-use/SpoofCompiler.RegisterAlloc.html b/docs/api/java/org/apache/sysds/hops/codegen/class-use/SpoofCompiler.RegisterAlloc.html
index e1fe562..140e2f7 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/class-use/SpoofCompiler.RegisterAlloc.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/class-use/SpoofCompiler.RegisterAlloc.html
@@ -182,6 +182,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/class-use/SpoofCompiler.html b/docs/api/java/org/apache/sysds/hops/codegen/class-use/SpoofCompiler.html
index 54476a0..3ae6cb9 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/class-use/SpoofCompiler.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/class-use/SpoofCompiler.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/class-use/SpoofFusedOp.SpoofOutputDimsType.html b/docs/api/java/org/apache/sysds/hops/codegen/class-use/SpoofFusedOp.SpoofOutputDimsType.html
index 0efe3ec..95199e7 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/class-use/SpoofFusedOp.SpoofOutputDimsType.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/class-use/SpoofFusedOp.SpoofOutputDimsType.html
@@ -128,10 +128,12 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/SpoofFusedOp.html#SpoofFusedOp-java.lang.String-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-java.lang.Class-boolean-org.apache.sysds.hops.codegen.SpoofFusedOp.SpoofOutputDimsType-">SpoofFusedOp</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/SpoofFusedOp.html#SpoofFusedOp-java.lang.String-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-java.lang.Class-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-java.lang.String-boolean-org.apache.sysds.hops.codegen.SpoofFusedOp.SpoofOutputDimsType-">SpoofFusedOp</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
             <a href="../../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
             <a href="../../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
             <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;cla,
+            <a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&nbsp;api,
+            <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;genVarName,
             boolean&nbsp;dist,
             <a href="../../../../../../org/apache/sysds/hops/codegen/SpoofFusedOp.SpoofOutputDimsType.html" title="enum in org.apache.sysds.hops.codegen">SpoofFusedOp.SpoofOutputDimsType</a>&nbsp;type)</code>&nbsp;</td>
 </tr>
@@ -223,6 +225,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/class-use/SpoofFusedOp.html b/docs/api/java/org/apache/sysds/hops/codegen/class-use/SpoofFusedOp.html
index c185a28..4361536 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/class-use/SpoofFusedOp.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/class-use/SpoofFusedOp.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/cplan/CNode.html b/docs/api/java/org/apache/sysds/hops/codegen/cplan/CNode.html
index 28f5ea9..5766980 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/cplan/CNode.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/cplan/CNode.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":6,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":6,"i25":10,"i26":10};
+var methods = {"i0":6,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":6,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":6,"i27":10,"i28":10,"i29":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -152,7 +152,8 @@
 </tr>
 <tr id="i0" class="altColor">
 <td class="colFirst"><code>abstract <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#codegen-boolean-">codegen</a></span>(boolean&nbsp;sparse)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#codegen-boolean-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">codegen</a></span>(boolean&nbsp;sparse,
+       <a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&nbsp;api)</code>&nbsp;</td>
 </tr>
 <tr id="i1" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
@@ -196,65 +197,77 @@
 </tr>
 <tr id="i11" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getVectorLength--">getVectorLength</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getVarname-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">getVarname</a></span>(<a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&nbsp;api)</code>&nbsp;</td>
 </tr>
 <tr id="i12" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getVectorLength-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">getVectorLength</a></span>(<a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&nbsp;api)</code>&nbsp;</td>
+</tr>
+<tr id="i13" class="rowColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#hashCode--">hashCode</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i13" class="rowColor">
+<tr id="i14" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#isGenerated--">isGenerated</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i14" class="altColor">
+<tr id="i15" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#isLiteral--">isLiteral</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i15" class="rowColor">
+<tr id="i16" class="altColor">
+<td class="colFirst"><code>abstract boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#isSupported-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">isSupported</a></span>(<a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&nbsp;api)</code>&nbsp;</td>
+</tr>
+<tr id="i17" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#isVisited--">isVisited</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i16" class="altColor">
+<tr id="i18" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#resetGenerated--">resetGenerated</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i17" class="rowColor">
+<tr id="i19" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#resetHash--">resetHash</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i18" class="altColor">
+<tr id="i20" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#resetVisitStatus--">resetVisitStatus</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i19" class="rowColor">
+<tr id="i21" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setDataType-org.apache.sysds.common.Types.DataType-">setDataType</a></span>(<a href="../../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt)</code>&nbsp;</td>
 </tr>
-<tr id="i20" class="altColor">
+<tr id="i22" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setLiteral-boolean-">setLiteral</a></span>(boolean&nbsp;literal)</code>&nbsp;</td>
 </tr>
-<tr id="i21" class="rowColor">
+<tr id="i23" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setNumCols-long-">setNumCols</a></span>(long&nbsp;cols)</code>&nbsp;</td>
 </tr>
-<tr id="i22" class="altColor">
+<tr id="i24" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setNumRows-long-">setNumRows</a></span>(long&nbsp;rows)</code>&nbsp;</td>
 </tr>
-<tr id="i23" class="rowColor">
+<tr id="i25" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setOutput-org.apache.sysds.hops.codegen.cplan.CNode-">setOutput</a></span>(<a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html" title="class in org.apache.sysds.hops.codegen.cplan">CNode</a>&nbsp;output)</code>&nbsp;</td>
 </tr>
-<tr id="i24" class="altColor">
+<tr id="i26" class="altColor">
 <td class="colFirst"><code>abstract void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setOutputDims--">setOutputDims</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i25" class="rowColor">
+<tr id="i27" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setVarName-java.lang.String-">setVarName</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>&nbsp;</td>
+</tr>
+<tr id="i28" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setVisited--">setVisited</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i26" class="altColor">
+<tr id="i29" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setVisited-boolean-">setVisited</a></span>(boolean&nbsp;flag)</code>&nbsp;</td>
 </tr>
@@ -351,13 +364,22 @@
 <pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getVarname()</pre>
 </li>
 </ul>
-<a name="getVectorLength--">
+<a name="getVarname-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getVarname</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getVarname(<a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&nbsp;api)</pre>
+</li>
+</ul>
+<a name="getVectorLength-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>getVectorLength</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getVectorLength()</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getVectorLength(<a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&nbsp;api)</pre>
 </li>
 </ul>
 <a name="getClassname--">
@@ -504,13 +526,14 @@
 <pre>public&nbsp;void&nbsp;resetVisitStatus()</pre>
 </li>
 </ul>
-<a name="codegen-boolean-">
+<a name="codegen-boolean-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>codegen</h4>
-<pre>public abstract&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;codegen(boolean&nbsp;sparse)</pre>
+<pre>public abstract&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;codegen(boolean&nbsp;sparse,
+                               <a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&nbsp;api)</pre>
 </li>
 </ul>
 <a name="setOutputDims--">
@@ -538,7 +561,7 @@
 <a name="equals-java.lang.Object-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>equals</h4>
 <pre>public&nbsp;boolean&nbsp;equals(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;that)</pre>
@@ -548,6 +571,24 @@
 </dl>
 </li>
 </ul>
+<a name="isSupported-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isSupported</h4>
+<pre>public abstract&nbsp;boolean&nbsp;isSupported(<a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&nbsp;api)</pre>
+</li>
+</ul>
+<a name="setVarName-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>setVarName</h4>
+<pre>public&nbsp;void&nbsp;setVarName(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
+</li>
+</ul>
 </li>
 </ul>
 </li>
@@ -617,6 +658,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/cplan/CNodeBinary.BinType.html b/docs/api/java/org/apache/sysds/hops/codegen/cplan/CNodeBinary.BinType.html
index 353d4db..1740b57 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/cplan/CNodeBinary.BinType.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/cplan/CNodeBinary.BinType.html
@@ -383,24 +383,21 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeBinary.BinType.html#contains-java.lang.String-">contains</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;value)</code>&nbsp;</td>
 </tr>
 <tr id="i1" class="rowColor">
-<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeBinary.BinType.html#getTemplate-boolean-boolean-boolean-boolean-">getTemplate</a></span>(boolean&nbsp;sparseLhs,
-           boolean&nbsp;sparseRhs,
-           boolean&nbsp;scalarVector,
-           boolean&nbsp;scalarInput)</code>&nbsp;</td>
-</tr>
-<tr id="i2" class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeBinary.BinType.html" title="enum in org.apache.sysds.hops.codegen.cplan">CNodeBinary.BinType</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeBinary.BinType.html#getVectorAddPrimitive--">getVectorAddPrimitive</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i2" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeBinary.BinType.html#getVectorPrimitiveName--">getVectorPrimitiveName</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeBinary.BinType.html#isCommutative--">isCommutative</a></span>()</code>&nbsp;</td>
 </tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeBinary.BinType.html#isNotSupportedBySpoofCUDA--">isNotSupportedBySpoofCUDA</a></span>()</code>&nbsp;</td>
+</tr>
 <tr id="i5" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeBinary.BinType.html#isVectorMatrixPrimitive--">isVectorMatrixPrimitive</a></span>()</code>&nbsp;</td>
@@ -1193,18 +1190,6 @@
 <pre>public&nbsp;boolean&nbsp;isCommutative()</pre>
 </li>
 </ul>
-<a name="getTemplate-boolean-boolean-boolean-boolean-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getTemplate</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getTemplate(boolean&nbsp;sparseLhs,
-                          boolean&nbsp;sparseRhs,
-                          boolean&nbsp;scalarVector,
-                          boolean&nbsp;scalarInput)</pre>
-</li>
-</ul>
 <a name="isVectorPrimitive--">
 <!--   -->
 </a>
@@ -1253,12 +1238,21 @@
 <a name="getVectorPrimitiveName--">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>getVectorPrimitiveName</h4>
 <pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getVectorPrimitiveName()</pre>
 </li>
 </ul>
+<a name="isNotSupportedBySpoofCUDA--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>isNotSupportedBySpoofCUDA</h4>
+<pre>public&nbsp;boolean&nbsp;isNotSupportedBySpoofCUDA()</pre>
+</li>
+</ul>
 </li>
 </ul>
 </li>
@@ -1328,6 +1322,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/cplan/CNodeBinary.html b/docs/api/java/org/apache/sysds/hops/codegen/cplan/CNodeBinary.html
index 9562585..45cdc45 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/cplan/CNodeBinary.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/cplan/CNodeBinary.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -174,7 +174,8 @@
 </tr>
 <tr id="i0" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeBinary.html#codegen-boolean-">codegen</a></span>(boolean&nbsp;sparse)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeBinary.html#codegen-boolean-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">codegen</a></span>(boolean&nbsp;sparse,
+       <a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&nbsp;api)</code>&nbsp;</td>
 </tr>
 <tr id="i1" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
@@ -189,10 +190,14 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeBinary.html#hashCode--">hashCode</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i4" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeBinary.html#isSupported-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">isSupported</a></span>(<a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&nbsp;api)</code>&nbsp;</td>
+</tr>
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeBinary.html#setOutputDims--">setOutputDims</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeBinary.html#toString--">toString</a></span>()</code>&nbsp;</td>
 </tr>
@@ -202,7 +207,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.hops.codegen.cplan.<a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html" title="class in org.apache.sysds.hops.codegen.cplan">CNode</a></h3>
-<code><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#createVarname--">createVarname</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getClassname--">getClassname</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getDataType--">getDataType</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getID--">getID</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getInput--">getInput</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getNumCols--">getNumCols</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getNumRows--">getNumRows</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getOutput--">getOutput</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getVarname--">getVarname</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getVectorLength--">getVectorLength</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#isGenerated--">isGenerated</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#isLiteral--">isLiteral</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#isVisited--">isVisited</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#resetGenerated--">resetGenerated</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#resetHash--">resetHash</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#resetVisitStatus--">resetVisitStatus</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setDataType-org.apache.sysds.common.Types.DataType-">setDataType</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setLiteral-boolean-">setLiteral</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setNumCols-long-">setNumCols</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setNumRows-long-">setNumRows</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setOutput-org.apache.sysds.hops.codegen.cplan.CNode-">setOutput</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setVisited--">setVisited</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setVisited-boolean-">setVisited</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#createVarname--">createVarname</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getClassname--">getClassname</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getDataType--">getDataType</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getID--">getID</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getInput--">getInput</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getNumCols--">getNumCols</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getNumRows--">getNumRows</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getOutput--">getOutput</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getVarname--">getVarname</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getVarname-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">getVarname</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getVectorLength-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">getVectorLength</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#isGenerated--">isGenerated</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#isLiteral--">isLiteral</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#isVisited--">isVisited</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#resetGenerated--">resetGenerated</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#resetHash--">resetHash</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#resetVisitStatus--">resetVisitStatus</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setDataType-org.apache.sysds.common.Types.DataType-">setDataType</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setLiteral-boolean-">setLiteral</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setNumCols-long-">setNumCols</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setNumRows-long-">setNumRows</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setOutput-org.apache.sysds.hops.codegen.cplan.CNode-">setOutput</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setVarName-java.lang.String-">setVarName</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setVisited--">setVisited</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setVisited-boolean-">setVisited</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -253,16 +258,17 @@
 <pre>public&nbsp;<a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeBinary.BinType.html" title="enum in org.apache.sysds.hops.codegen.cplan">CNodeBinary.BinType</a>&nbsp;getType()</pre>
 </li>
 </ul>
-<a name="codegen-boolean-">
+<a name="codegen-boolean-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>codegen</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;codegen(boolean&nbsp;sparse)</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;codegen(boolean&nbsp;sparse,
+                      <a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&nbsp;api)</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#codegen-boolean-">codegen</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html" title="class in org.apache.sysds.hops.codegen.cplan">CNode</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#codegen-boolean-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">codegen</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html" title="class in org.apache.sysds.hops.codegen.cplan">CNode</a></code></dd>
 </dl>
 </li>
 </ul>
@@ -308,7 +314,7 @@
 <a name="equals-java.lang.Object-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>equals</h4>
 <pre>public&nbsp;boolean&nbsp;equals(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;o)</pre>
@@ -318,6 +324,19 @@
 </dl>
 </li>
 </ul>
+<a name="isSupported-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>isSupported</h4>
+<pre>public&nbsp;boolean&nbsp;isSupported(<a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&nbsp;api)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#isSupported-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">isSupported</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html" title="class in org.apache.sysds.hops.codegen.cplan">CNode</a></code></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>
@@ -387,6 +406,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/cplan/CNodeCell.html b/docs/api/java/org/apache/sysds/hops/codegen/cplan/CNodeCell.html
index 25c6a99..e9d9c61 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/cplan/CNodeCell.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/cplan/CNodeCell.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -167,78 +167,92 @@
 </tr>
 <tr id="i1" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeCell.html#codegen-boolean-">codegen</a></span>(boolean&nbsp;sparse)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeCell.html#codegen-boolean-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">codegen</a></span>(boolean&nbsp;sparse,
+       <a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&nbsp;_api)</code>&nbsp;</td>
 </tr>
 <tr id="i2" class="altColor">
-<td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeCell.html#containsSeq--">containsSeq</a></span>()</code>&nbsp;</td>
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeCell.html#compile-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-java.lang.String-">compile</a></span>(<a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&nbsp;api,
+       <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;src)</code>&nbsp;</td>
 </tr>
 <tr id="i3" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeCell.html#equals-java.lang.Object-">equals</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;o)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeCell.html#containsSeq--">containsSeq</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i4" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeCell.html#equals-java.lang.Object-">equals</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;o)</code>&nbsp;</td>
+</tr>
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/common/Types.AggOp.html" title="enum in org.apache.sysds.common">Types.AggOp</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeCell.html#getAggOp--">getAggOp</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCellwise.CellType.html" title="enum in org.apache.sysds.runtime.codegen">SpoofCellwise.CellType</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeCell.html#getCellType--">getCellType</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/hops/codegen/SpoofFusedOp.SpoofOutputDimsType.html" title="enum in org.apache.sysds.hops.codegen">SpoofFusedOp.SpoofOutputDimsType</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeCell.html#getOutputDimType--">getOutputDimType</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i8" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCellwise.AggOp.html" title="enum in org.apache.sysds.runtime.codegen">SpoofCellwise.AggOp</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeCell.html#getSpoofAggOp--">getSpoofAggOp</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeCell.html#getTemplateInfo--">getTemplateInfo</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i10" class="altColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeCell.html#hashCode--">hashCode</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeCell.html#hasMultipleConsumers--">hasMultipleConsumers</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i12" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeCell.html#isSparseSafe--">isSparseSafe</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i11" class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeCell.html#renameInputs--">renameInputs</a></span>()</code>&nbsp;</td>
-</tr>
-<tr id="i12" class="altColor">
-<td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeCell.html#requiredCastDtm--">requiredCastDtm</a></span>()</code>&nbsp;</td>
-</tr>
 <tr id="i13" class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeCell.html#setAggOp-org.apache.sysds.common.Types.AggOp-">setAggOp</a></span>(<a href="../../../../../../org/apache/sysds/common/Types.AggOp.html" title="enum in org.apache.sysds.common">Types.AggOp</a>&nbsp;aggop)</code>&nbsp;</td>
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeCell.html#isSupported-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">isSupported</a></span>(<a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&nbsp;api)</code>&nbsp;</td>
 </tr>
 <tr id="i14" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeCell.html#setCellType-org.apache.sysds.runtime.codegen.SpoofCellwise.CellType-">setCellType</a></span>(<a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCellwise.CellType.html" title="enum in org.apache.sysds.runtime.codegen">SpoofCellwise.CellType</a>&nbsp;type)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeCell.html#renameInputs--">renameInputs</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i15" class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeCell.html#setContainsSeq-boolean-">setContainsSeq</a></span>(boolean&nbsp;flag)</code>&nbsp;</td>
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeCell.html#requiredCastDtm--">requiredCastDtm</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i16" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeCell.html#setMultipleConsumers-boolean-">setMultipleConsumers</a></span>(boolean&nbsp;flag)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeCell.html#setAggOp-org.apache.sysds.common.Types.AggOp-">setAggOp</a></span>(<a href="../../../../../../org/apache/sysds/common/Types.AggOp.html" title="enum in org.apache.sysds.common">Types.AggOp</a>&nbsp;aggop)</code>&nbsp;</td>
 </tr>
 <tr id="i17" class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeCell.html#setOutputDims--">setOutputDims</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeCell.html#setCellType-org.apache.sysds.runtime.codegen.SpoofCellwise.CellType-">setCellType</a></span>(<a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCellwise.CellType.html" title="enum in org.apache.sysds.runtime.codegen">SpoofCellwise.CellType</a>&nbsp;type)</code>&nbsp;</td>
 </tr>
 <tr id="i18" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeCell.html#setRequiresCastDtm-boolean-">setRequiresCastDtm</a></span>(boolean&nbsp;flag)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeCell.html#setContainsSeq-boolean-">setContainsSeq</a></span>(boolean&nbsp;flag)</code>&nbsp;</td>
 </tr>
 <tr id="i19" class="rowColor">
 <td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeCell.html#setMultipleConsumers-boolean-">setMultipleConsumers</a></span>(boolean&nbsp;flag)</code>&nbsp;</td>
+</tr>
+<tr id="i20" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeCell.html#setOutputDims--">setOutputDims</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i21" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeCell.html#setRequiresCastDtm-boolean-">setRequiresCastDtm</a></span>(boolean&nbsp;flag)</code>&nbsp;</td>
+</tr>
+<tr id="i22" class="altColor">
+<td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeCell.html#setSparseSafe-boolean-">setSparseSafe</a></span>(boolean&nbsp;flag)</code>&nbsp;</td>
 </tr>
 </table>
@@ -247,14 +261,14 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.hops.codegen.cplan.<a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTpl.html" title="class in org.apache.sysds.hops.codegen.cplan">CNodeTpl</a></h3>
-<code><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTpl.html#addInput-org.apache.sysds.hops.codegen.cplan.CNode-">addInput</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTpl.html#codegen--">codegen</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTpl.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTpl.html#getInputHopIDs-boolean-">getInputHopIDs</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTpl.html#getInputNames--">getInputNames</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTpl.html#resetVisitStatus-java.util.List-">resetVisitStatus</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTpl.html#resetVisitStatusOutputs--">resetVisitStatusOutputs</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTpl.html#rReorderCommutativeBinaryOps-org.apache.sysds.hops.codegen.cplan.CNode-long-">rReorderCommutativeBinaryOps</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTpl.html#setBeginLine-int-">setBeginLine</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTpl.html#addInput-org.apache.sysds.hops.codegen.cplan.CNode-">addInput</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTpl.html#codegen--">codegen</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTpl.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTpl.html#getGeneratorAPI--">getGeneratorAPI</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTpl.html#getInputHopIDs-boolean-">getInputHopIDs</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTpl.html#getInputNames--">getInputNames</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTpl.html#resetVisitStatus-java.util.List-">resetVisitStatus</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTpl.html#resetVisitStatusOutputs--">resetVisitStatusOutputs</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTpl.html#rReorderCommutativeBinaryOps-org.apache.sysds.hops.codegen.cplan.CNode-long-">rReorderCommutativeBinaryOps</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTpl.html#setBeginLine-int-">setBeginLine</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTpl.html#setGeneratorAPI-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">setGeneratorAPI</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.hops.codegen.cplan.CNode">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.hops.codegen.cplan.<a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html" title="class in org.apache.sysds.hops.codegen.cplan">CNode</a></h3>
-<code><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#createVarname--">createVarname</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getClassname--">getClassname</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getDataType--">getDataType</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getID--">getID</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getInput--">getInput</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getNumCols--">getNumCols</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getNumRows--">getNumRows</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getOutput--">getOutput</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getVarname--">getVarname</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getVectorLength--">getVectorLength</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#isGenerated--">isGenerated</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#isLiteral--">isLiteral</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#isVisited--">isVisited</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#resetGenerated--">resetGenerated</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#resetHash--">resetHash</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#resetVisitStatus--">resetVisitStatus</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setDataType-org.apache.sysds.common.Types.DataType-">setDataType</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setLiteral-boolean-">setLiteral</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setNumCols-long-">setNumCols</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setNumRows-long-">setNumRows</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setOutput-org.apache.sysds.hops.codegen.cplan.CNode-">setOutput</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setVisited--">setVisited</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setVisited-boolean-">setVisited</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#createVarname--">createVarname</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getClassname--">getClassname</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getDataType--">getDataType</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getID--">getID</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getInput--">getInput</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getNumCols--">getNumCols</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getNumRows--">getNumRows</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getOutput--">getOutput</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getVarname--">getVarname</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getVarname-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">getVarname</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getVectorLength-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">getVectorLength</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#isGenerated--">isGenerated</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#isLiteral--">isLiteral</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#isVisited--">isVisited</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#resetGenerated--">resetGenerated</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#resetHash--">resetHash</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#resetVisitStatus--">resetVisitStatus</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setDataType-org.apache.sysds.common.Types.DataType-">setDataType</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setLiteral-boolean-">setLiteral</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setNumCols-long-">setNumCols</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setNumRows-long-">setNumRows</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setOutput-org.apache.sysds.hops.codegen.cplan.CNode-">setOutput</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setVarName-java.lang.String-">setVarName</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setVisited--">setVisited</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setVisited-boolean-">setVisited</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -349,6 +363,15 @@
 <pre>public&nbsp;<a href="../../../../../../org/apache/sysds/common/Types.AggOp.html" title="enum in org.apache.sysds.common">Types.AggOp</a>&nbsp;getAggOp()</pre>
 </li>
 </ul>
+<a name="getSpoofAggOp--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getSpoofAggOp</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCellwise.AggOp.html" title="enum in org.apache.sysds.runtime.codegen">SpoofCellwise.AggOp</a>&nbsp;getSpoofAggOp()</pre>
+</li>
+</ul>
 <a name="setSparseSafe-boolean-">
 <!--   -->
 </a>
@@ -416,16 +439,17 @@
 </dl>
 </li>
 </ul>
-<a name="codegen-boolean-">
+<a name="codegen-boolean-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>codegen</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;codegen(boolean&nbsp;sparse)</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;codegen(boolean&nbsp;sparse,
+                      <a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&nbsp;_api)</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#codegen-boolean-">codegen</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html" title="class in org.apache.sysds.hops.codegen.cplan">CNode</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#codegen-boolean-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">codegen</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html" title="class in org.apache.sysds.hops.codegen.cplan">CNode</a></code></dd>
 </dl>
 </li>
 </ul>
@@ -497,7 +521,7 @@
 <a name="getTemplateInfo--">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>getTemplateInfo</h4>
 <pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getTemplateInfo()</pre>
@@ -507,6 +531,33 @@
 </dl>
 </li>
 </ul>
+<a name="isSupported-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isSupported</h4>
+<pre>public&nbsp;boolean&nbsp;isSupported(<a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&nbsp;api)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#isSupported-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">isSupported</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html" title="class in org.apache.sysds.hops.codegen.cplan">CNode</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="compile-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>compile</h4>
+<pre>public&nbsp;int&nbsp;compile(<a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&nbsp;api,
+                   <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;src)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTpl.html#compile-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-java.lang.String-">compile</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTpl.html" title="class in org.apache.sysds.hops.codegen.cplan">CNodeTpl</a></code></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>
@@ -576,6 +627,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/cplan/CNodeData.html b/docs/api/java/org/apache/sysds/hops/codegen/cplan/CNodeData.html
index 1e108b6..1772c4d 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/cplan/CNodeData.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/cplan/CNodeData.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -163,7 +163,8 @@
 </tr>
 <tr id="i0" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeData.html#codegen-boolean-">codegen</a></span>(boolean&nbsp;sparse)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeData.html#codegen-boolean-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">codegen</a></span>(boolean&nbsp;sparse,
+       <a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&nbsp;api)</code>&nbsp;</td>
 </tr>
 <tr id="i1" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
@@ -178,22 +179,30 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeData.html#getVarname--">getVarname</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i4" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeData.html#getVarname-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">getVarname</a></span>(<a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&nbsp;api)</code>&nbsp;</td>
+</tr>
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeData.html#hashCode--">hashCode</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i5" class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeData.html#setName-java.lang.String-">setName</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>&nbsp;</td>
-</tr>
 <tr id="i6" class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeData.html#setOutputDims--">setOutputDims</a></span>()</code>&nbsp;</td>
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeData.html#isSupported-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">isSupported</a></span>(<a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&nbsp;api)</code>&nbsp;</td>
 </tr>
 <tr id="i7" class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeData.html#setStrictEquals-boolean-">setStrictEquals</a></span>(boolean&nbsp;flag)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeData.html#setName-java.lang.String-">setName</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>&nbsp;</td>
 </tr>
 <tr id="i8" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeData.html#setOutputDims--">setOutputDims</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeData.html#setStrictEquals-boolean-">setStrictEquals</a></span>(boolean&nbsp;flag)</code>&nbsp;</td>
+</tr>
+<tr id="i10" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeData.html#toString--">toString</a></span>()</code>&nbsp;</td>
 </tr>
@@ -203,7 +212,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.hops.codegen.cplan.<a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html" title="class in org.apache.sysds.hops.codegen.cplan">CNode</a></h3>
-<code><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#createVarname--">createVarname</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getClassname--">getClassname</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getDataType--">getDataType</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getID--">getID</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getInput--">getInput</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getNumCols--">getNumCols</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getNumRows--">getNumRows</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getOutput--">getOutput</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getVectorLength--">getVectorLength</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#isGenerated--">isGenerated</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#isLiteral--">isLiteral</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#isVisited--">isVisited</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#resetGenerated--">resetGenerated</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#resetHash--">resetHash</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#resetVisitStatus--">resetVisitStatus</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setDataType-org.apache.sysds.common.Types.DataType-">setDataType</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setLiteral-boolean-">setLiteral</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setNumCols-long-">setNumCols</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setNumRows-long-">setNumRows</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setOutput-org.apache.sysds.hops.codegen.cplan.CNode-">setOutput</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setVisited--">setVisited</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setVisited-boolean-">setVisited</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#createVarname--">createVarname</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getClassname--">getClassname</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getDataType--">getDataType</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getID--">getID</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getInput--">getInput</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getNumCols--">getNumCols</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getNumRows--">getNumRows</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getOutput--">getOutput</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getVectorLength-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">getVectorLength</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#isGenerated--">isGenerated</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#isLiteral--">isLiteral</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#isVisited--">isVisited</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#resetGenerated--">resetGenerated</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#resetHash--">resetHash</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#resetVisitStatus--">resetVisitStatus</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setDataType-org.apache.sysds.common.Types.DataType-">setDataType</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setLiteral-boolean-">setLiteral</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setNumCols-long-">setNumCols</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setNumRows-long-">setNumRows</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setOutput-org.apache.sysds.hops.codegen.cplan.CNode-">setOutput</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setVarName-java.lang.String-">setVarName</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setVisited--">setVisited</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setVisited-boolean-">setVisited</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -278,6 +287,19 @@
 </dl>
 </li>
 </ul>
+<a name="getVarname-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getVarname</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getVarname(<a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&nbsp;api)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getVarname-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">getVarname</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html" title="class in org.apache.sysds.hops.codegen.cplan">CNode</a></code></dd>
+</dl>
+</li>
+</ul>
 <a name="getHopID--">
 <!--   -->
 </a>
@@ -305,16 +327,17 @@
 <pre>public&nbsp;void&nbsp;setStrictEquals(boolean&nbsp;flag)</pre>
 </li>
 </ul>
-<a name="codegen-boolean-">
+<a name="codegen-boolean-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>codegen</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;codegen(boolean&nbsp;sparse)</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;codegen(boolean&nbsp;sparse,
+                      <a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&nbsp;api)</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#codegen-boolean-">codegen</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html" title="class in org.apache.sysds.hops.codegen.cplan">CNode</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#codegen-boolean-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">codegen</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html" title="class in org.apache.sysds.hops.codegen.cplan">CNode</a></code></dd>
 </dl>
 </li>
 </ul>
@@ -360,7 +383,7 @@
 <a name="equals-java.lang.Object-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>equals</h4>
 <pre>public&nbsp;boolean&nbsp;equals(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;o)</pre>
@@ -370,6 +393,19 @@
 </dl>
 </li>
 </ul>
+<a name="isSupported-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>isSupported</h4>
+<pre>public&nbsp;boolean&nbsp;isSupported(<a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&nbsp;api)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#isSupported-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">isSupported</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html" title="class in org.apache.sysds.hops.codegen.cplan">CNode</a></code></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>
@@ -439,6 +475,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/cplan/CNodeMultiAgg.html b/docs/api/java/org/apache/sysds/hops/codegen/cplan/CNodeMultiAgg.html
index 47a71c1..06bd540 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/cplan/CNodeMultiAgg.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/cplan/CNodeMultiAgg.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -167,62 +167,72 @@
 </tr>
 <tr id="i1" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeMultiAgg.html#codegen-boolean-">codegen</a></span>(boolean&nbsp;sparse)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeMultiAgg.html#codegen-boolean-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">codegen</a></span>(boolean&nbsp;sparse,
+       <a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&nbsp;api)</code>&nbsp;</td>
 </tr>
 <tr id="i2" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeMultiAgg.html#compile-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-java.lang.String-">compile</a></span>(<a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&nbsp;api,
+       <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;src)</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeMultiAgg.html#equals-java.lang.Object-">equals</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;o)</code>&nbsp;</td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../org/apache/sysds/common/Types.AggOp.html" title="enum in org.apache.sysds.common">Types.AggOp</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeMultiAgg.html#getAggOps--">getAggOps</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/hops/codegen/SpoofFusedOp.SpoofOutputDimsType.html" title="enum in org.apache.sysds.hops.codegen">SpoofFusedOp.SpoofOutputDimsType</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeMultiAgg.html#getOutputDimType--">getOutputDimType</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html" title="class in org.apache.sysds.hops.codegen.cplan">CNode</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeMultiAgg.html#getOutputs--">getOutputs</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeMultiAgg.html#getRootNodes--">getRootNodes</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeMultiAgg.html#getTemplateInfo--">getTemplateInfo</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeMultiAgg.html#hashCode--">hashCode</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i10" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeMultiAgg.html#isSparseSafe--">isSparseSafe</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i10" class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeMultiAgg.html#renameInputs--">renameInputs</a></span>()</code>&nbsp;</td>
-</tr>
 <tr id="i11" class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeMultiAgg.html#resetVisitStatusOutputs--">resetVisitStatusOutputs</a></span>()</code>&nbsp;</td>
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeMultiAgg.html#isSupported-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">isSupported</a></span>(<a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&nbsp;api)</code>&nbsp;</td>
 </tr>
 <tr id="i12" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeMultiAgg.html#setAggOps-java.util.ArrayList-">setAggOps</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../org/apache/sysds/common/Types.AggOp.html" title="enum in org.apache.sysds.common">Types.AggOp</a>&gt;&nbsp;aggOps)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeMultiAgg.html#renameInputs--">renameInputs</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i13" class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeMultiAgg.html#setOutputDims--">setOutputDims</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeMultiAgg.html#resetVisitStatusOutputs--">resetVisitStatusOutputs</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i14" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeMultiAgg.html#setRootNodes-java.util.ArrayList-">setRootNodes</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&gt;&nbsp;roots)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeMultiAgg.html#setAggOps-java.util.ArrayList-">setAggOps</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../org/apache/sysds/common/Types.AggOp.html" title="enum in org.apache.sysds.common">Types.AggOp</a>&gt;&nbsp;aggOps)</code>&nbsp;</td>
 </tr>
 <tr id="i15" class="rowColor">
 <td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeMultiAgg.html#setOutputDims--">setOutputDims</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i16" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeMultiAgg.html#setRootNodes-java.util.ArrayList-">setRootNodes</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&gt;&nbsp;roots)</code>&nbsp;</td>
+</tr>
+<tr id="i17" class="rowColor">
+<td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeMultiAgg.html#setSparseSafe-boolean-">setSparseSafe</a></span>(boolean&nbsp;flag)</code>&nbsp;</td>
 </tr>
 </table>
@@ -231,14 +241,14 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.hops.codegen.cplan.<a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTpl.html" title="class in org.apache.sysds.hops.codegen.cplan">CNodeTpl</a></h3>
-<code><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTpl.html#addInput-org.apache.sysds.hops.codegen.cplan.CNode-">addInput</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTpl.html#codegen--">codegen</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTpl.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTpl.html#getInputHopIDs-boolean-">getInputHopIDs</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTpl.html#getInputNames--">getInputNames</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTpl.html#resetVisitStatus-java.util.List-">resetVisitStatus</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTpl.html#rReorderCommutativeBinaryOps-org.apache.sysds.hops.codegen.cplan.CNode-long-">rReorderCommutativeBinaryOps</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTpl.html#setBeginLine-int-">setBeginLine</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTpl.html#addInput-org.apache.sysds.hops.codegen.cplan.CNode-">addInput</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTpl.html#codegen--">codegen</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTpl.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTpl.html#getGeneratorAPI--">getGeneratorAPI</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTpl.html#getInputHopIDs-boolean-">getInputHopIDs</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTpl.html#getInputNames--">getInputNames</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTpl.html#resetVisitStatus-java.util.List-">resetVisitStatus</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTpl.html#rReorderCommutativeBinaryOps-org.apache.sysds.hops.codegen.cplan.CNode-long-">rReorderCommutativeBinaryOps</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTpl.html#setBeginLine-int-">setBeginLine</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTpl.html#setGeneratorAPI-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">setGeneratorAPI</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.hops.codegen.cplan.CNode">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.hops.codegen.cplan.<a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html" title="class in org.apache.sysds.hops.codegen.cplan">CNode</a></h3>
-<code><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#createVarname--">createVarname</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getClassname--">getClassname</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getDataType--">getDataType</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getID--">getID</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getInput--">getInput</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getNumCols--">getNumCols</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getNumRows--">getNumRows</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getOutput--">getOutput</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getVarname--">getVarname</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getVectorLength--">getVectorLength</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#isGenerated--">isGenerated</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#isLiteral--">isLiteral</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#isVisited--">isVisited</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#resetGenerated--">resetGenerated</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#resetHash--">resetHash</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#resetVisitStatus--">resetVisitStatus</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setDataType-org.apache.sysds.common.Types.DataType-">setDataType</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setLiteral-boolean-">setLiteral</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setNumCols-long-">setNumCols</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setNumRows-long-">setNumRows</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setOutput-org.apache.sysds.hops.codegen.cplan.CNode-">setOutput</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setVisited--">setVisited</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setVisited-boolean-">setVisited</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#createVarname--">createVarname</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getClassname--">getClassname</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getDataType--">getDataType</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getID--">getID</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getInput--">getInput</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getNumCols--">getNumCols</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getNumRows--">getNumRows</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getOutput--">getOutput</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getVarname--">getVarname</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getVarname-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">getVarname</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getVectorLength-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">getVectorLength</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#isGenerated--">isGenerated</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#isLiteral--">isLiteral</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#isVisited--">isVisited</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#resetGenerated--">resetGenerated</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#resetHash--">resetHash</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#resetVisitStatus--">resetVisitStatus</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setDataType-org.apache.sysds.common.Types.DataType-">setDataType</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setLiteral-boolean-">setLiteral</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setNumCols-long-">setNumCols</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setNumRows-long-">setNumRows</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setOutput-org.apache.sysds.hops.codegen.cplan.CNode-">setOutput</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setVarName-java.lang.String-">setVarName</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setVisited--">setVisited</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setVisited-boolean-">setVisited</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -368,16 +378,17 @@
 </dl>
 </li>
 </ul>
-<a name="codegen-boolean-">
+<a name="codegen-boolean-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>codegen</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;codegen(boolean&nbsp;sparse)</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;codegen(boolean&nbsp;sparse,
+                      <a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&nbsp;api)</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#codegen-boolean-">codegen</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html" title="class in org.apache.sysds.hops.codegen.cplan">CNode</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#codegen-boolean-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">codegen</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html" title="class in org.apache.sysds.hops.codegen.cplan">CNode</a></code></dd>
 </dl>
 </li>
 </ul>
@@ -449,7 +460,7 @@
 <a name="getTemplateInfo--">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>getTemplateInfo</h4>
 <pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getTemplateInfo()</pre>
@@ -459,6 +470,33 @@
 </dl>
 </li>
 </ul>
+<a name="isSupported-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isSupported</h4>
+<pre>public&nbsp;boolean&nbsp;isSupported(<a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&nbsp;api)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#isSupported-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">isSupported</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html" title="class in org.apache.sysds.hops.codegen.cplan">CNode</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="compile-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>compile</h4>
+<pre>public&nbsp;int&nbsp;compile(<a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&nbsp;api,
+                   <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;src)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTpl.html#compile-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-java.lang.String-">compile</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTpl.html" title="class in org.apache.sysds.hops.codegen.cplan">CNodeTpl</a></code></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>
@@ -528,6 +566,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/cplan/CNodeNary.NaryType.html b/docs/api/java/org/apache/sysds/hops/codegen/cplan/CNodeNary.NaryType.html
index b50913a..86628b1 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/cplan/CNodeNary.NaryType.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/cplan/CNodeNary.NaryType.html
@@ -177,9 +177,10 @@
 </tr>
 <tr id="i1" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeNary.NaryType.html#getTemplate-boolean-long-java.util.ArrayList-">getTemplate</a></span>(boolean&nbsp;sparseGen,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeNary.NaryType.html#getTemplate-boolean-long-java.util.ArrayList-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">getTemplate</a></span>(boolean&nbsp;sparseGen,
            long&nbsp;len,
-           <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html" title="class in org.apache.sysds.hops.codegen.cplan">CNode</a>&gt;&nbsp;inputs)</code>&nbsp;</td>
+           <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html" title="class in org.apache.sysds.hops.codegen.cplan">CNode</a>&gt;&nbsp;inputs,
+           <a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&nbsp;api)</code>&nbsp;</td>
 </tr>
 <tr id="i2" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
@@ -331,7 +332,7 @@
 <pre>public static&nbsp;boolean&nbsp;contains(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;value)</pre>
 </li>
 </ul>
-<a name="getTemplate-boolean-long-java.util.ArrayList-">
+<a name="getTemplate-boolean-long-java.util.ArrayList-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">
 <!--   -->
 </a>
 <ul class="blockList">
@@ -339,7 +340,8 @@
 <h4>getTemplate</h4>
 <pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getTemplate(boolean&nbsp;sparseGen,
                           long&nbsp;len,
-                          <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html" title="class in org.apache.sysds.hops.codegen.cplan">CNode</a>&gt;&nbsp;inputs)</pre>
+                          <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html" title="class in org.apache.sysds.hops.codegen.cplan">CNode</a>&gt;&nbsp;inputs,
+                          <a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&nbsp;api)</pre>
 </li>
 </ul>
 <a name="isVectorPrimitive--">
@@ -420,6 +422,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/cplan/CNodeNary.html b/docs/api/java/org/apache/sysds/hops/codegen/cplan/CNodeNary.html
index 05ad90f..2a6c7dd 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/cplan/CNodeNary.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/cplan/CNodeNary.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -173,7 +173,8 @@
 </tr>
 <tr id="i0" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeNary.html#codegen-boolean-">codegen</a></span>(boolean&nbsp;sparse)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeNary.html#codegen-boolean-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">codegen</a></span>(boolean&nbsp;sparse,
+       <a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&nbsp;api)</code>&nbsp;</td>
 </tr>
 <tr id="i1" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
@@ -188,10 +189,14 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeNary.html#hashCode--">hashCode</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i4" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeNary.html#isSupported-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">isSupported</a></span>(<a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&nbsp;api)</code>&nbsp;</td>
+</tr>
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeNary.html#setOutputDims--">setOutputDims</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeNary.html#toString--">toString</a></span>()</code>&nbsp;</td>
 </tr>
@@ -201,7 +206,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.hops.codegen.cplan.<a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html" title="class in org.apache.sysds.hops.codegen.cplan">CNode</a></h3>
-<code><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#createVarname--">createVarname</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getClassname--">getClassname</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getDataType--">getDataType</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getID--">getID</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getInput--">getInput</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getNumCols--">getNumCols</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getNumRows--">getNumRows</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getOutput--">getOutput</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getVarname--">getVarname</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getVectorLength--">getVectorLength</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#isGenerated--">isGenerated</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#isLiteral--">isLiteral</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#isVisited--">isVisited</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#resetGenerated--">resetGenerated</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#resetHash--">resetHash</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#resetVisitStatus--">resetVisitStatus</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setDataType-org.apache.sysds.common.Types.DataType-">setDataType</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setLiteral-boolean-">setLiteral</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setNumCols-long-">setNumCols</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setNumRows-long-">setNumRows</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setOutput-org.apache.sysds.hops.codegen.cplan.CNode-">setOutput</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setVisited--">setVisited</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setVisited-boolean-">setVisited</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#createVarname--">createVarname</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getClassname--">getClassname</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getDataType--">getDataType</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getID--">getID</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getInput--">getInput</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getNumCols--">getNumCols</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getNumRows--">getNumRows</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getOutput--">getOutput</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getVarname--">getVarname</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getVarname-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">getVarname</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getVectorLength-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">getVectorLength</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#isGenerated--">isGenerated</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#isLiteral--">isLiteral</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#isVisited--">isVisited</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#resetGenerated--">resetGenerated</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#resetHash--">resetHash</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#resetVisitStatus--">resetVisitStatus</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setDataType-org.apache.sysds.common.Types.DataType-">setDataType</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setLiteral-boolean-">setLiteral</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setNumCols-long-">setNumCols</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setNumRows-long-">setNumRows</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setOutput-org.apache.sysds.hops.codegen.cplan.CNode-">setOutput</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setVarName-java.lang.String-">setVarName</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setVisited--">setVisited</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setVisited-boolean-">setVisited</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -251,16 +256,17 @@
 <pre>public&nbsp;<a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeNary.NaryType.html" title="enum in org.apache.sysds.hops.codegen.cplan">CNodeNary.NaryType</a>&nbsp;getType()</pre>
 </li>
 </ul>
-<a name="codegen-boolean-">
+<a name="codegen-boolean-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>codegen</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;codegen(boolean&nbsp;sparse)</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;codegen(boolean&nbsp;sparse,
+                      <a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&nbsp;api)</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#codegen-boolean-">codegen</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html" title="class in org.apache.sysds.hops.codegen.cplan">CNode</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#codegen-boolean-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">codegen</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html" title="class in org.apache.sysds.hops.codegen.cplan">CNode</a></code></dd>
 </dl>
 </li>
 </ul>
@@ -306,7 +312,7 @@
 <a name="equals-java.lang.Object-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>equals</h4>
 <pre>public&nbsp;boolean&nbsp;equals(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;o)</pre>
@@ -316,6 +322,19 @@
 </dl>
 </li>
 </ul>
+<a name="isSupported-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>isSupported</h4>
+<pre>public&nbsp;boolean&nbsp;isSupported(<a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&nbsp;api)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#isSupported-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">isSupported</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html" title="class in org.apache.sysds.hops.codegen.cplan">CNode</a></code></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>
@@ -385,6 +404,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/cplan/CNodeOuterProduct.html b/docs/api/java/org/apache/sysds/hops/codegen/cplan/CNodeOuterProduct.html
index 010bd2c..9d9518d 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/cplan/CNodeOuterProduct.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/cplan/CNodeOuterProduct.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -168,49 +168,59 @@
 </tr>
 <tr id="i1" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeOuterProduct.html#codegen-boolean-">codegen</a></span>(boolean&nbsp;sparse)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeOuterProduct.html#codegen-boolean-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">codegen</a></span>(boolean&nbsp;sparse,
+       <a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&nbsp;api)</code>&nbsp;</td>
 </tr>
 <tr id="i2" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeOuterProduct.html#compile-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-java.lang.String-">compile</a></span>(<a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&nbsp;api,
+       <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;src)</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeOuterProduct.html#equals-java.lang.Object-">equals</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;o)</code>&nbsp;</td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/lops/MMTSJ.MMTSJType.html" title="enum in org.apache.sysds.lops">MMTSJ.MMTSJType</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeOuterProduct.html#getMMTSJtype--">getMMTSJtype</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofOuterProduct.OutProdType.html" title="enum in org.apache.sysds.runtime.codegen">SpoofOuterProduct.OutProdType</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeOuterProduct.html#getOutProdType--">getOutProdType</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/hops/codegen/SpoofFusedOp.SpoofOutputDimsType.html" title="enum in org.apache.sysds.hops.codegen">SpoofFusedOp.SpoofOutputDimsType</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeOuterProduct.html#getOutputDimType--">getOutputDimType</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeOuterProduct.html#getTemplateInfo--">getTemplateInfo</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeOuterProduct.html#hashCode--">hashCode</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeOuterProduct.html#isSupported-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">isSupported</a></span>(<a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&nbsp;api)</code>&nbsp;</td>
+</tr>
+<tr id="i10" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeOuterProduct.html#isTransposeOutput--">isTransposeOutput</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeOuterProduct.html#renameInputs--">renameInputs</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i12" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeOuterProduct.html#setOutProdType-org.apache.sysds.runtime.codegen.SpoofOuterProduct.OutProdType-">setOutProdType</a></span>(<a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofOuterProduct.OutProdType.html" title="enum in org.apache.sysds.runtime.codegen">SpoofOuterProduct.OutProdType</a>&nbsp;type)</code>&nbsp;</td>
 </tr>
-<tr id="i11" class="rowColor">
+<tr id="i13" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeOuterProduct.html#setOutputDims--">setOutputDims</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i12" class="altColor">
+<tr id="i14" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeOuterProduct.html#setTransposeOutput-boolean-">setTransposeOutput</a></span>(boolean&nbsp;transposeOutput)</code>&nbsp;</td>
 </tr>
@@ -220,14 +230,14 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.hops.codegen.cplan.<a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTpl.html" title="class in org.apache.sysds.hops.codegen.cplan">CNodeTpl</a></h3>
-<code><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTpl.html#addInput-org.apache.sysds.hops.codegen.cplan.CNode-">addInput</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTpl.html#codegen--">codegen</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTpl.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTpl.html#getInputHopIDs-boolean-">getInputHopIDs</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTpl.html#getInputNames--">getInputNames</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTpl.html#resetVisitStatus-java.util.List-">resetVisitStatus</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTpl.html#resetVisitStatusOutputs--">resetVisitStatusOutputs</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTpl.html#rReorderCommutativeBinaryOps-org.apache.sysds.hops.codegen.cplan.CNode-long-">rReorderCommutativeBinaryOps</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTpl.html#setBeginLine-int-">setBeginLine</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTpl.html#addInput-org.apache.sysds.hops.codegen.cplan.CNode-">addInput</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTpl.html#codegen--">codegen</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTpl.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTpl.html#getGeneratorAPI--">getGeneratorAPI</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTpl.html#getInputHopIDs-boolean-">getInputHopIDs</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTpl.html#getInputNames--">getInputNames</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTpl.html#resetVisitStatus-java.util.List-">resetVisitStatus</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTpl.html#resetVisitStatusOutputs--">resetVisitStatusOutputs</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTpl.html#rReorderCommutativeBinaryOps-org.apache.sysds.hops.codegen.cplan.CNode-long-">rReorderCommutativeBinaryOps</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTpl.html#setBeginLine-int-">setBeginLine</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTpl.html#setGeneratorAPI-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">setGeneratorAPI</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.hops.codegen.cplan.CNode">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.hops.codegen.cplan.<a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html" title="class in org.apache.sysds.hops.codegen.cplan">CNode</a></h3>
-<code><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#createVarname--">createVarname</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getClassname--">getClassname</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getDataType--">getDataType</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getID--">getID</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getInput--">getInput</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getNumCols--">getNumCols</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getNumRows--">getNumRows</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getOutput--">getOutput</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getVarname--">getVarname</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getVectorLength--">getVectorLength</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#isGenerated--">isGenerated</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#isLiteral--">isLiteral</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#isVisited--">isVisited</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#resetGenerated--">resetGenerated</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#resetHash--">resetHash</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#resetVisitStatus--">resetVisitStatus</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setDataType-org.apache.sysds.common.Types.DataType-">setDataType</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setLiteral-boolean-">setLiteral</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setNumCols-long-">setNumCols</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setNumRows-long-">setNumRows</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setOutput-org.apache.sysds.hops.codegen.cplan.CNode-">setOutput</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setVisited--">setVisited</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setVisited-boolean-">setVisited</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#createVarname--">createVarname</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getClassname--">getClassname</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getDataType--">getDataType</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getID--">getID</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getInput--">getInput</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getNumCols--">getNumCols</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getNumRows--">getNumRows</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getOutput--">getOutput</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getVarname--">getVarname</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getVarname-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">getVarname</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getVectorLength-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">getVectorLength</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#isGenerated--">isGenerated</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#isLiteral--">isLiteral</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#isVisited--">isVisited</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#resetGenerated--">resetGenerated</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#resetHash--">resetHash</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#resetVisitStatus--">resetVisitStatus</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setDataType-org.apache.sysds.common.Types.DataType-">setDataType</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setLiteral-boolean-">setLiteral</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setNumCols-long-">setNumCols</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setNumRows-long-">setNumRows</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setOutput-org.apache.sysds.hops.codegen.cplan.CNode-">setOutput</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setVarName-java.lang.String-">setVarName</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setVisited--">setVisited</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setVisited-boolean-">setVisited</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -291,16 +301,17 @@
 </dl>
 </li>
 </ul>
-<a name="codegen-boolean-">
+<a name="codegen-boolean-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>codegen</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;codegen(boolean&nbsp;sparse)</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;codegen(boolean&nbsp;sparse,
+                      <a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&nbsp;api)</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#codegen-boolean-">codegen</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html" title="class in org.apache.sysds.hops.codegen.cplan">CNode</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#codegen-boolean-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">codegen</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html" title="class in org.apache.sysds.hops.codegen.cplan">CNode</a></code></dd>
 </dl>
 </li>
 </ul>
@@ -408,7 +419,7 @@
 <a name="getTemplateInfo--">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>getTemplateInfo</h4>
 <pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getTemplateInfo()</pre>
@@ -418,6 +429,33 @@
 </dl>
 </li>
 </ul>
+<a name="isSupported-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isSupported</h4>
+<pre>public&nbsp;boolean&nbsp;isSupported(<a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&nbsp;api)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#isSupported-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">isSupported</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html" title="class in org.apache.sysds.hops.codegen.cplan">CNode</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="compile-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>compile</h4>
+<pre>public&nbsp;int&nbsp;compile(<a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&nbsp;api,
+                   <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;src)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTpl.html#compile-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-java.lang.String-">compile</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTpl.html" title="class in org.apache.sysds.hops.codegen.cplan">CNodeTpl</a></code></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>
@@ -487,6 +525,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/cplan/CNodeRow.html b/docs/api/java/org/apache/sysds/hops/codegen/cplan/CNodeRow.html
index 9fb82e9..a64a8f5 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/cplan/CNodeRow.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/cplan/CNodeRow.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -167,54 +167,64 @@
 </tr>
 <tr id="i1" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeRow.html#codegen-boolean-">codegen</a></span>(boolean&nbsp;sparse)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeRow.html#codegen-boolean-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">codegen</a></span>(boolean&nbsp;sparse,
+       <a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&nbsp;_api)</code>&nbsp;</td>
 </tr>
 <tr id="i2" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeRow.html#compile-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-java.lang.String-">compile</a></span>(<a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&nbsp;api,
+       <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;src)</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeRow.html#equals-java.lang.Object-">equals</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;o)</code>&nbsp;</td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeRow.html#getConstDim2--">getConstDim2</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeRow.html#getNumVectorIntermediates--">getNumVectorIntermediates</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/hops/codegen/SpoofFusedOp.SpoofOutputDimsType.html" title="enum in org.apache.sysds.hops.codegen">SpoofFusedOp.SpoofOutputDimsType</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeRow.html#getOutputDimType--">getOutputDimType</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofRowwise.RowType.html" title="enum in org.apache.sysds.runtime.codegen">SpoofRowwise.RowType</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeRow.html#getRowType--">getRowType</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeRow.html#getTemplateInfo--">getTemplateInfo</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeRow.html#hashCode--">hashCode</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i9" class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeRow.html#renameInputs--">renameInputs</a></span>()</code>&nbsp;</td>
-</tr>
 <tr id="i10" class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeRow.html#setConstDim2-long-">setConstDim2</a></span>(long&nbsp;dim2)</code>&nbsp;</td>
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeRow.html#isSupported-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">isSupported</a></span>(<a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&nbsp;api)</code>&nbsp;</td>
 </tr>
 <tr id="i11" class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeRow.html#setNumVectorIntermediates-int-">setNumVectorIntermediates</a></span>(int&nbsp;num)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeRow.html#renameInputs--">renameInputs</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i12" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeRow.html#setOutputDims--">setOutputDims</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeRow.html#setConstDim2-long-">setConstDim2</a></span>(long&nbsp;dim2)</code>&nbsp;</td>
 </tr>
 <tr id="i13" class="rowColor">
 <td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeRow.html#setNumVectorIntermediates-int-">setNumVectorIntermediates</a></span>(int&nbsp;num)</code>&nbsp;</td>
+</tr>
+<tr id="i14" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeRow.html#setOutputDims--">setOutputDims</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i15" class="rowColor">
+<td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeRow.html#setRowType-org.apache.sysds.runtime.codegen.SpoofRowwise.RowType-">setRowType</a></span>(<a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofRowwise.RowType.html" title="enum in org.apache.sysds.runtime.codegen">SpoofRowwise.RowType</a>&nbsp;type)</code>&nbsp;</td>
 </tr>
 </table>
@@ -223,14 +233,14 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.hops.codegen.cplan.<a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTpl.html" title="class in org.apache.sysds.hops.codegen.cplan">CNodeTpl</a></h3>
-<code><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTpl.html#addInput-org.apache.sysds.hops.codegen.cplan.CNode-">addInput</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTpl.html#codegen--">codegen</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTpl.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTpl.html#getInputHopIDs-boolean-">getInputHopIDs</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTpl.html#getInputNames--">getInputNames</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTpl.html#resetVisitStatus-java.util.List-">resetVisitStatus</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTpl.html#resetVisitStatusOutputs--">resetVisitStatusOutputs</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTpl.html#rReorderCommutativeBinaryOps-org.apache.sysds.hops.codegen.cplan.CNode-long-">rReorderCommutativeBinaryOps</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTpl.html#setBeginLine-int-">setBeginLine</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTpl.html#addInput-org.apache.sysds.hops.codegen.cplan.CNode-">addInput</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTpl.html#codegen--">codegen</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTpl.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTpl.html#getGeneratorAPI--">getGeneratorAPI</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTpl.html#getInputHopIDs-boolean-">getInputHopIDs</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTpl.html#getInputNames--">getInputNames</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTpl.html#resetVisitStatus-java.util.List-">resetVisitStatus</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTpl.html#resetVisitStatusOutputs--">resetVisitStatusOutputs</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTpl.html#rReorderCommutativeBinaryOps-org.apache.sysds.hops.codegen.cplan.CNode-long-">rReorderCommutativeBinaryOps</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTpl.html#setBeginLine-int-">setBeginLine</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTpl.html#setGeneratorAPI-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">setGeneratorAPI</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.hops.codegen.cplan.CNode">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.hops.codegen.cplan.<a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html" title="class in org.apache.sysds.hops.codegen.cplan">CNode</a></h3>
-<code><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#createVarname--">createVarname</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getClassname--">getClassname</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getDataType--">getDataType</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getID--">getID</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getInput--">getInput</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getNumCols--">getNumCols</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getNumRows--">getNumRows</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getOutput--">getOutput</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getVarname--">getVarname</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getVectorLength--">getVectorLength</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#isGenerated--">isGenerated</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#isLiteral--">isLiteral</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#isVisited--">isVisited</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#resetGenerated--">resetGenerated</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#resetHash--">resetHash</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#resetVisitStatus--">resetVisitStatus</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setDataType-org.apache.sysds.common.Types.DataType-">setDataType</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setLiteral-boolean-">setLiteral</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setNumCols-long-">setNumCols</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setNumRows-long-">setNumRows</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setOutput-org.apache.sysds.hops.codegen.cplan.CNode-">setOutput</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setVisited--">setVisited</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setVisited-boolean-">setVisited</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#createVarname--">createVarname</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getClassname--">getClassname</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getDataType--">getDataType</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getID--">getID</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getInput--">getInput</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getNumCols--">getNumCols</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getNumRows--">getNumRows</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getOutput--">getOutput</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getVarname--">getVarname</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getVarname-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">getVarname</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getVectorLength-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">getVectorLength</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#isGenerated--">isGenerated</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#isLiteral--">isLiteral</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#isVisited--">isVisited</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#resetGenerated--">resetGenerated</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#resetHash--">resetHash</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#resetVisitStatus--">resetVisitStatus</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setDataType-org.apache.sysds.common.Types.DataType-">setDataType</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setLiteral-boolean-">setLiteral</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setNumCols-long-">setNumCols</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setNumRows-long-">setNumRows</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setOutput-org.apache.sysds.hops.codegen.cplan.CNode-">setOutput</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setVarName-java.lang.String-">setVarName</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setVisited--">setVisited</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setVisited-boolean-">setVisited</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -338,16 +348,17 @@
 </dl>
 </li>
 </ul>
-<a name="codegen-boolean-">
+<a name="codegen-boolean-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>codegen</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;codegen(boolean&nbsp;sparse)</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;codegen(boolean&nbsp;sparse,
+                      <a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&nbsp;_api)</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#codegen-boolean-">codegen</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html" title="class in org.apache.sysds.hops.codegen.cplan">CNode</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#codegen-boolean-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">codegen</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html" title="class in org.apache.sysds.hops.codegen.cplan">CNode</a></code></dd>
 </dl>
 </li>
 </ul>
@@ -419,7 +430,7 @@
 <a name="getTemplateInfo--">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>getTemplateInfo</h4>
 <pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getTemplateInfo()</pre>
@@ -429,6 +440,33 @@
 </dl>
 </li>
 </ul>
+<a name="isSupported-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isSupported</h4>
+<pre>public&nbsp;boolean&nbsp;isSupported(<a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&nbsp;api)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#isSupported-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">isSupported</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html" title="class in org.apache.sysds.hops.codegen.cplan">CNode</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="compile-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>compile</h4>
+<pre>public&nbsp;int&nbsp;compile(<a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&nbsp;api,
+                   <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;src)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTpl.html#compile-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-java.lang.String-">compile</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTpl.html" title="class in org.apache.sysds.hops.codegen.cplan">CNodeTpl</a></code></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>
@@ -498,6 +536,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/cplan/CNodeTernary.TernaryType.html b/docs/api/java/org/apache/sysds/hops/codegen/cplan/CNodeTernary.TernaryType.html
index f3b839c..c932349 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/cplan/CNodeTernary.TernaryType.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/cplan/CNodeTernary.TernaryType.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":10,"i2":10,"i3":9,"i4":9};
+var methods = {"i0":9,"i1":10,"i2":9,"i3":9};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -188,20 +188,16 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTernary.TernaryType.html#contains-java.lang.String-">contains</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;value)</code>&nbsp;</td>
 </tr>
 <tr id="i1" class="rowColor">
-<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTernary.TernaryType.html#getTemplate-boolean-">getTemplate</a></span>(boolean&nbsp;sparse)</code>&nbsp;</td>
-</tr>
-<tr id="i2" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTernary.TernaryType.html#isVectorPrimitive--">isVectorPrimitive</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i2" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTernary.TernaryType.html" title="enum in org.apache.sysds.hops.codegen.cplan">CNodeTernary.TernaryType</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTernary.TernaryType.html#valueOf-java.lang.String-">valueOf</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
 <div class="block">Returns the enum constant of this type with the specified name.</div>
 </td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTernary.TernaryType.html" title="enum in org.apache.sysds.hops.codegen.cplan">CNodeTernary.TernaryType</a>[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTernary.TernaryType.html#values--">values</a></span>()</code>
 <div class="block">Returns an array containing the constants of this enum type, in
@@ -377,15 +373,6 @@
 <pre>public static&nbsp;boolean&nbsp;contains(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;value)</pre>
 </li>
 </ul>
-<a name="getTemplate-boolean-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getTemplate</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getTemplate(boolean&nbsp;sparse)</pre>
-</li>
-</ul>
 <a name="isVectorPrimitive--">
 <!--   -->
 </a>
@@ -464,6 +451,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/cplan/CNodeTernary.html b/docs/api/java/org/apache/sysds/hops/codegen/cplan/CNodeTernary.html
index a29842c..a1f5f54 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/cplan/CNodeTernary.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/cplan/CNodeTernary.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -175,7 +175,8 @@
 </tr>
 <tr id="i0" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTernary.html#codegen-boolean-">codegen</a></span>(boolean&nbsp;sparse)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTernary.html#codegen-boolean-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">codegen</a></span>(boolean&nbsp;sparse,
+       <a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&nbsp;api)</code>&nbsp;</td>
 </tr>
 <tr id="i1" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
@@ -190,10 +191,14 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTernary.html#hashCode--">hashCode</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i4" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTernary.html#isSupported-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">isSupported</a></span>(<a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&nbsp;api)</code>&nbsp;</td>
+</tr>
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTernary.html#setOutputDims--">setOutputDims</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTernary.html#toString--">toString</a></span>()</code>&nbsp;</td>
 </tr>
@@ -203,7 +208,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.hops.codegen.cplan.<a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html" title="class in org.apache.sysds.hops.codegen.cplan">CNode</a></h3>
-<code><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#createVarname--">createVarname</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getClassname--">getClassname</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getDataType--">getDataType</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getID--">getID</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getInput--">getInput</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getNumCols--">getNumCols</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getNumRows--">getNumRows</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getOutput--">getOutput</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getVarname--">getVarname</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getVectorLength--">getVectorLength</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#isGenerated--">isGenerated</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#isLiteral--">isLiteral</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#isVisited--">isVisited</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#resetGenerated--">resetGenerated</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#resetHash--">resetHash</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#resetVisitStatus--">resetVisitStatus</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setDataType-org.apache.sysds.common.Types.DataType-">setDataType</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setLiteral-boolean-">setLiteral</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setNumCols-long-">setNumCols</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setNumRows-long-">setNumRows</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setOutput-org.apache.sysds.hops.codegen.cplan.CNode-">setOutput</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setVisited--">setVisited</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setVisited-boolean-">setVisited</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#createVarname--">createVarname</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getClassname--">getClassname</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getDataType--">getDataType</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getID--">getID</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getInput--">getInput</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getNumCols--">getNumCols</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getNumRows--">getNumRows</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getOutput--">getOutput</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getVarname--">getVarname</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getVarname-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">getVarname</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getVectorLength-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">getVectorLength</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#isGenerated--">isGenerated</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#isLiteral--">isLiteral</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#isVisited--">isVisited</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#resetGenerated--">resetGenerated</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#resetHash--">resetHash</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#resetVisitStatus--">resetVisitStatus</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setDataType-org.apache.sysds.common.Types.DataType-">setDataType</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setLiteral-boolean-">setLiteral</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setNumCols-long-">setNumCols</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setNumRows-long-">setNumRows</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setOutput-org.apache.sysds.hops.codegen.cplan.CNode-">setOutput</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setVarName-java.lang.String-">setVarName</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setVisited--">setVisited</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setVisited-boolean-">setVisited</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -255,16 +260,17 @@
 <pre>public&nbsp;<a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTernary.TernaryType.html" title="enum in org.apache.sysds.hops.codegen.cplan">CNodeTernary.TernaryType</a>&nbsp;getType()</pre>
 </li>
 </ul>
-<a name="codegen-boolean-">
+<a name="codegen-boolean-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>codegen</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;codegen(boolean&nbsp;sparse)</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;codegen(boolean&nbsp;sparse,
+                      <a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&nbsp;api)</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#codegen-boolean-">codegen</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html" title="class in org.apache.sysds.hops.codegen.cplan">CNode</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#codegen-boolean-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">codegen</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html" title="class in org.apache.sysds.hops.codegen.cplan">CNode</a></code></dd>
 </dl>
 </li>
 </ul>
@@ -310,7 +316,7 @@
 <a name="equals-java.lang.Object-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>equals</h4>
 <pre>public&nbsp;boolean&nbsp;equals(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;o)</pre>
@@ -320,6 +326,19 @@
 </dl>
 </li>
 </ul>
+<a name="isSupported-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>isSupported</h4>
+<pre>public&nbsp;boolean&nbsp;isSupported(<a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&nbsp;api)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#isSupported-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">isSupported</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html" title="class in org.apache.sysds.hops.codegen.cplan">CNode</a></code></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>
@@ -389,6 +408,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/cplan/CNodeTpl.html b/docs/api/java/org/apache/sysds/hops/codegen/cplan/CNodeTpl.html
index ad4d074..b501f92 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/cplan/CNodeTpl.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/cplan/CNodeTpl.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":6,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":6,"i8":6,"i9":10,"i10":6,"i11":9,"i12":10,"i13":10,"i14":10};
+var methods = {"i0":10,"i1":6,"i2":10,"i3":6,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":6,"i10":6,"i11":10,"i12":6,"i13":9,"i14":10,"i15":10,"i16":10,"i17":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -174,61 +174,74 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTpl.html#codegen--">codegen</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i3" class="rowColor">
+<td class="colFirst"><code>abstract int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTpl.html#compile-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-java.lang.String-">compile</a></span>(<a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&nbsp;api,
+       <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;src)</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTpl.html#equals-java.lang.Object-">equals</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;o)</code>&nbsp;</td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTpl.html#getBeginLine--">getBeginLine</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i6" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTpl.html#getGeneratorAPI--">getGeneratorAPI</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashSet.html?is-external=true" title="class or interface in java.util">HashSet</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTpl.html#getInputHopIDs-boolean-">getInputHopIDs</a></span>(boolean&nbsp;inclLiterals)</code>&nbsp;</td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTpl.html#getInputNames--">getInputNames</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code>abstract <a href="../../../../../../org/apache/sysds/hops/codegen/SpoofFusedOp.SpoofOutputDimsType.html" title="enum in org.apache.sysds.hops.codegen">SpoofFusedOp.SpoofOutputDimsType</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTpl.html#getOutputDimType--">getOutputDimType</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i10" class="altColor">
 <td class="colFirst"><code>abstract <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTpl.html#getTemplateInfo--">getTemplateInfo</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTpl.html#hashCode--">hashCode</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i12" class="altColor">
 <td class="colFirst"><code>abstract void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTpl.html#renameInputs--">renameInputs</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i11" class="rowColor">
+<tr id="i13" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTpl.html#resetVisitStatus-java.util.List-">resetVisitStatus</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html" title="class in org.apache.sysds.hops.codegen.cplan">CNode</a>&gt;&nbsp;outputs)</code>&nbsp;</td>
 </tr>
-<tr id="i12" class="altColor">
+<tr id="i14" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTpl.html#resetVisitStatusOutputs--">resetVisitStatusOutputs</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i13" class="rowColor">
+<tr id="i15" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTpl.html#rReorderCommutativeBinaryOps-org.apache.sysds.hops.codegen.cplan.CNode-long-">rReorderCommutativeBinaryOps</a></span>(<a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html" title="class in org.apache.sysds.hops.codegen.cplan">CNode</a>&nbsp;node,
                             long&nbsp;mainHopID)</code>&nbsp;</td>
 </tr>
-<tr id="i14" class="altColor">
+<tr id="i16" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTpl.html#setBeginLine-int-">setBeginLine</a></span>(int&nbsp;line)</code>&nbsp;</td>
 </tr>
+<tr id="i17" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTpl.html#setGeneratorAPI-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">setGeneratorAPI</a></span>(<a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&nbsp;_api)</code>&nbsp;</td>
+</tr>
 </table>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.hops.codegen.cplan.CNode">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.hops.codegen.cplan.<a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html" title="class in org.apache.sysds.hops.codegen.cplan">CNode</a></h3>
-<code><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#codegen-boolean-">codegen</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#createVarname--">createVarname</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getClassname--">getClassname</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getDataType--">getDataType</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getID--">getID</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getInput--">getInput</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getNumCols--">getNumCols</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getNumRows--">getNumRows</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getOutput--">getOutput</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getVarname--">getVarname</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getVectorLength--">getVectorLength</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#isGenerated--">isGenerated</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#isLiteral--">isLiteral</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#isVisited--">isVisited</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#resetGenerated--">resetGenerated</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#resetHash--">resetHash</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#resetVisitStatus--">resetVisitStatus</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setDataType-org.apache.sysds.common.Types.DataType-">setDataType</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setLiteral-boolean-">setLiteral</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setNumCols-long-">setNumCols</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setNumRows-long-">setNumRows</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setOutput-org.apache.sysds.hops.codegen.cplan.CNode-">setOutput</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setOutputDims--">setOutputDims</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setVisited--">setVisited</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setVisited-boolean-">setVisited</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#codegen-boolean-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">codegen</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#createVarname--">createVarname</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getClassname--">getClassname</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getDataType--">getDataType</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getID--">getID</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getInput--">getInput</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getNumCols--">getNumCols</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getNumRows--">getNumRows</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getOutput--">getOutput</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getVarname--">getVarname</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getVarname-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">getVarname</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getVectorLength-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">getVectorLength</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#isGenerated--">isGenerated</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#isLiteral--">isLiteral</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#isSupported-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">isSupported</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#isVisited--">isVisited</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#resetGenerated--">resetGenerated</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#resetHash--">resetHash</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#resetVisitStatus--">resetVisitStatus</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setDataType-org.apache.sysds.common.Types.DataType-">setDataType</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setLiteral-boolean-">setLiteral</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setNumCols-long-">setNumCols</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setNumRows-long-">setNumRows</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setOutput-org.apache.sysds.hops.codegen.cplan.CNode-">setOutput</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setOutputDims--">setOutputDims</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setVarName-java.lang.String-">setVarName</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setVisited--">setVisited</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setVisited-boolean-">setVisited</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -407,7 +420,7 @@
 <a name="equals-java.lang.Object-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>equals</h4>
 <pre>public&nbsp;boolean&nbsp;equals(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;o)</pre>
@@ -417,6 +430,34 @@
 </dl>
 </li>
 </ul>
+<a name="getGeneratorAPI--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getGeneratorAPI</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&nbsp;getGeneratorAPI()</pre>
+</li>
+</ul>
+<a name="setGeneratorAPI-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setGeneratorAPI</h4>
+<pre>public&nbsp;void&nbsp;setGeneratorAPI(<a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&nbsp;_api)</pre>
+</li>
+</ul>
+<a name="compile-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>compile</h4>
+<pre>public abstract&nbsp;int&nbsp;compile(<a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&nbsp;api,
+                            <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;src)</pre>
+</li>
+</ul>
 </li>
 </ul>
 </li>
@@ -486,6 +527,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/cplan/CNodeUnary.UnaryType.html b/docs/api/java/org/apache/sysds/hops/codegen/cplan/CNodeUnary.UnaryType.html
index b3fe0b8..3686fc7 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/cplan/CNodeUnary.UnaryType.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/cplan/CNodeUnary.UnaryType.html
@@ -50,7 +50,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeUnary.html" title="class in org.apache.sysds.hops.codegen.cplan"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li>Next&nbsp;Class</li>
+<li><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CodeTemplate.html" title="class in org.apache.sysds.hops.codegen.cplan"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/sysds/hops/codegen/cplan/CNodeUnary.UnaryType.html" target="_top">Frames</a></li>
@@ -329,17 +329,17 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeUnary.UnaryType.html#contains-java.lang.String-">contains</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;value)</code>&nbsp;</td>
 </tr>
 <tr id="i1" class="rowColor">
-<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeUnary.UnaryType.html#getTemplate-boolean-">getTemplate</a></span>(boolean&nbsp;sparse)</code>&nbsp;</td>
-</tr>
-<tr id="i2" class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeUnary.UnaryType.html" title="enum in org.apache.sysds.hops.codegen.cplan">CNodeUnary.UnaryType</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeUnary.UnaryType.html#getVectorAddPrimitive--">getVectorAddPrimitive</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i2" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeUnary.UnaryType.html#getVectorPrimitiveName--">getVectorPrimitiveName</a></span>()</code>&nbsp;</td>
 </tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeUnary.UnaryType.html#isNotSupportedBySpoofCUDA--">isNotSupportedBySpoofCUDA</a></span>()</code>&nbsp;</td>
+</tr>
 <tr id="i4" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeUnary.UnaryType.html#isScalarLookup--">isScalarLookup</a></span>()</code>&nbsp;</td>
@@ -957,15 +957,6 @@
 <pre>public static&nbsp;boolean&nbsp;contains(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;value)</pre>
 </li>
 </ul>
-<a name="getTemplate-boolean-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getTemplate</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getTemplate(boolean&nbsp;sparse)</pre>
-</li>
-</ul>
 <a name="isVectorScalarPrimitive--">
 <!--   -->
 </a>
@@ -1005,12 +996,21 @@
 <a name="isSparseSafeScalar--">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>isSparseSafeScalar</h4>
 <pre>public&nbsp;boolean&nbsp;isSparseSafeScalar()</pre>
 </li>
 </ul>
+<a name="isNotSupportedBySpoofCUDA--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>isNotSupportedBySpoofCUDA</h4>
+<pre>public&nbsp;boolean&nbsp;isNotSupportedBySpoofCUDA()</pre>
+</li>
+</ul>
 </li>
 </ul>
 </li>
@@ -1040,7 +1040,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeUnary.html" title="class in org.apache.sysds.hops.codegen.cplan"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li>Next&nbsp;Class</li>
+<li><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CodeTemplate.html" title="class in org.apache.sysds.hops.codegen.cplan"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/sysds/hops/codegen/cplan/CNodeUnary.UnaryType.html" target="_top">Frames</a></li>
@@ -1080,6 +1080,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/cplan/CNodeUnary.html b/docs/api/java/org/apache/sysds/hops/codegen/cplan/CNodeUnary.html
index 941d579..5009de0 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/cplan/CNodeUnary.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/cplan/CNodeUnary.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -173,7 +173,8 @@
 </tr>
 <tr id="i0" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeUnary.html#codegen-boolean-">codegen</a></span>(boolean&nbsp;sparse)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeUnary.html#codegen-boolean-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">codegen</a></span>(boolean&nbsp;sparse,
+       <a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&nbsp;api)</code>&nbsp;</td>
 </tr>
 <tr id="i1" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
@@ -188,14 +189,18 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeUnary.html#hashCode--">hashCode</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i4" class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeUnary.html#setOutputDims--">setOutputDims</a></span>()</code>&nbsp;</td>
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeUnary.html#isSupported-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">isSupported</a></span>(<a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&nbsp;api)</code>&nbsp;</td>
 </tr>
 <tr id="i5" class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeUnary.html#setType-org.apache.sysds.hops.codegen.cplan.CNodeUnary.UnaryType-">setType</a></span>(<a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeUnary.UnaryType.html" title="enum in org.apache.sysds.hops.codegen.cplan">CNodeUnary.UnaryType</a>&nbsp;type)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeUnary.html#setOutputDims--">setOutputDims</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i6" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeUnary.html#setType-org.apache.sysds.hops.codegen.cplan.CNodeUnary.UnaryType-">setType</a></span>(<a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeUnary.UnaryType.html" title="enum in org.apache.sysds.hops.codegen.cplan">CNodeUnary.UnaryType</a>&nbsp;type)</code>&nbsp;</td>
+</tr>
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeUnary.html#toString--">toString</a></span>()</code>&nbsp;</td>
 </tr>
@@ -205,7 +210,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.hops.codegen.cplan.<a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html" title="class in org.apache.sysds.hops.codegen.cplan">CNode</a></h3>
-<code><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#createVarname--">createVarname</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getClassname--">getClassname</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getDataType--">getDataType</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getID--">getID</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getInput--">getInput</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getNumCols--">getNumCols</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getNumRows--">getNumRows</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getOutput--">getOutput</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getVarname--">getVarname</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getVectorLength--">getVectorLength</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#isGenerated--">isGenerated</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#isLiteral--">isLiteral</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#isVisited--">isVisited</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#resetGenerated--">resetGenerated</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#resetHash--">resetHash</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#resetVisitStatus--">resetVisitStatus</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setDataType-org.apache.sysds.common.Types.DataType-">setDataType</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setLiteral-boolean-">setLiteral</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setNumCols-long-">setNumCols</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setNumRows-long-">setNumRows</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setOutput-org.apache.sysds.hops.codegen.cplan.CNode-">setOutput</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setVisited--">setVisited</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setVisited-boolean-">setVisited</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#createVarname--">createVarname</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getClassname--">getClassname</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getDataType--">getDataType</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getID--">getID</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getInput--">getInput</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getNumCols--">getNumCols</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getNumRows--">getNumRows</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getOutput--">getOutput</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getVarname--">getVarname</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getVarname-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">getVarname</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#getVectorLength-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">getVectorLength</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#isGenerated--">isGenerated</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#isLiteral--">isLiteral</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#isVisited--">isVisited</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#resetGenerated--">resetGenerated</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#resetHash--">resetHash</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#resetVisitStatus--">resetVisitStatus</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setDataType-org.apache.sysds.common.Types.DataType-">setDataType</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setLiteral-boolean-">setLiteral</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setNumCols-long-">setNumCols</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setNumRows-long-">setNumRows</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setOutput-org.apache.sysds.hops.codegen.cplan.CNode-">setOutput</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setVarName-java.lang.String-">setVarName</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setVisited--">setVisited</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#setVisited-boolean-">setVisited</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -264,16 +269,17 @@
 <pre>public&nbsp;void&nbsp;setType(<a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeUnary.UnaryType.html" title="enum in org.apache.sysds.hops.codegen.cplan">CNodeUnary.UnaryType</a>&nbsp;type)</pre>
 </li>
 </ul>
-<a name="codegen-boolean-">
+<a name="codegen-boolean-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>codegen</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;codegen(boolean&nbsp;sparse)</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;codegen(boolean&nbsp;sparse,
+                      <a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&nbsp;api)</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#codegen-boolean-">codegen</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html" title="class in org.apache.sysds.hops.codegen.cplan">CNode</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#codegen-boolean-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">codegen</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html" title="class in org.apache.sysds.hops.codegen.cplan">CNode</a></code></dd>
 </dl>
 </li>
 </ul>
@@ -319,7 +325,7 @@
 <a name="equals-java.lang.Object-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>equals</h4>
 <pre>public&nbsp;boolean&nbsp;equals(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;o)</pre>
@@ -329,6 +335,19 @@
 </dl>
 </li>
 </ul>
+<a name="isSupported-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>isSupported</h4>
+<pre>public&nbsp;boolean&nbsp;isSupported(<a href="../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&nbsp;api)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html#isSupported-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">isSupported</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html" title="class in org.apache.sysds.hops.codegen.cplan">CNode</a></code></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>
@@ -398,6 +417,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/cplan/CodeTemplate.html b/docs/api/java/org/apache/sysds/hops/codegen/cplan/CodeTemplate.html
new file mode 100644
index 0000000..ad8757e
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/hops/codegen/cplan/CodeTemplate.html
@@ -0,0 +1,342 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>CodeTemplate (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="CodeTemplate (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":9};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/CodeTemplate.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeUnary.UnaryType.html" title="enum in org.apache.sysds.hops.codegen.cplan"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/hops/codegen/cplan/CodeTemplate.html" target="_top">Frames</a></li>
+<li><a href="CodeTemplate.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.sysds.hops.codegen.cplan</div>
+<h2 title="Class CodeTemplate" class="title">Class CodeTemplate</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.sysds.hops.codegen.cplan.CodeTemplate</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>Direct Known Subclasses:</dt>
+<dd><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/java/Binary.html" title="class in org.apache.sysds.hops.codegen.cplan.java">Binary</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/cuda/Binary.html" title="class in org.apache.sysds.hops.codegen.cplan.cuda">Binary</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/java/Ternary.html" title="class in org.apache.sysds.hops.codegen.cplan.java">Ternary</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/cuda/Ternary.html" title="class in org.apache.sysds.hops.codegen.cplan.cuda">Ternary</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/java/Unary.html" title="class in org.apache.sysds.hops.codegen.cplan.java">Unary</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/cuda/Unary.html" title="class in org.apache.sysds.hops.codegen.cplan.cuda">Unary</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public abstract class <span class="typeNameLabel">CodeTemplate</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CodeTemplate.html#CodeTemplate--">CodeTemplate</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CodeTemplate.html#getTemplate--">getTemplate</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CodeTemplate.html#getTemplate-org.apache.sysds.hops.codegen.cplan.CNodeBinary.BinType-boolean-boolean-boolean-boolean-boolean-">getTemplate</a></span>(<a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeBinary.BinType.html" title="enum in org.apache.sysds.hops.codegen.cplan">CNodeBinary.BinType</a>&nbsp;type,
+           boolean&nbsp;sparseLhs,
+           boolean&nbsp;sparseRhs,
+           boolean&nbsp;scalarVector,
+           boolean&nbsp;scalarInput,
+           boolean&nbsp;vectorVector)</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CodeTemplate.html#getTemplate-org.apache.sysds.hops.codegen.cplan.CNodeTernary.TernaryType-boolean-">getTemplate</a></span>(<a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTernary.TernaryType.html" title="enum in org.apache.sysds.hops.codegen.cplan">CNodeTernary.TernaryType</a>&nbsp;type,
+           boolean&nbsp;sparse)</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CodeTemplate.html#getTemplate-org.apache.sysds.hops.codegen.cplan.CNodeUnary.UnaryType-boolean-">getTemplate</a></span>(<a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeUnary.UnaryType.html" title="enum in org.apache.sysds.hops.codegen.cplan">CNodeUnary.UnaryType</a>&nbsp;type,
+           boolean&nbsp;sparse)</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CodeTemplate.html#getTemplate-java.lang.String-">getTemplate</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;templateFileName)</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="CodeTemplate--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>CodeTemplate</h4>
+<pre>public&nbsp;CodeTemplate()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getTemplate--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getTemplate</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getTemplate()</pre>
+</li>
+</ul>
+<a name="getTemplate-org.apache.sysds.hops.codegen.cplan.CNodeBinary.BinType-boolean-boolean-boolean-boolean-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getTemplate</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getTemplate(<a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeBinary.BinType.html" title="enum in org.apache.sysds.hops.codegen.cplan">CNodeBinary.BinType</a>&nbsp;type,
+                          boolean&nbsp;sparseLhs,
+                          boolean&nbsp;sparseRhs,
+                          boolean&nbsp;scalarVector,
+                          boolean&nbsp;scalarInput,
+                          boolean&nbsp;vectorVector)</pre>
+</li>
+</ul>
+<a name="getTemplate-org.apache.sysds.hops.codegen.cplan.CNodeTernary.TernaryType-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getTemplate</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getTemplate(<a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTernary.TernaryType.html" title="enum in org.apache.sysds.hops.codegen.cplan">CNodeTernary.TernaryType</a>&nbsp;type,
+                          boolean&nbsp;sparse)</pre>
+</li>
+</ul>
+<a name="getTemplate-org.apache.sysds.hops.codegen.cplan.CNodeUnary.UnaryType-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getTemplate</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getTemplate(<a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeUnary.UnaryType.html" title="enum in org.apache.sysds.hops.codegen.cplan">CNodeUnary.UnaryType</a>&nbsp;type,
+                          boolean&nbsp;sparse)</pre>
+</li>
+</ul>
+<a name="getTemplate-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getTemplate</h4>
+<pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getTemplate(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;templateFileName)</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/CodeTemplate.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeUnary.UnaryType.html" title="enum in org.apache.sysds.hops.codegen.cplan"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/hops/codegen/cplan/CodeTemplate.html" target="_top">Frames</a></li>
+<li><a href="CodeTemplate.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/cplan/class-use/CNode.html b/docs/api/java/org/apache/sysds/hops/codegen/cplan/class-use/CNode.html
index 9629954..939b5bd 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/cplan/class-use/CNode.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/cplan/class-use/CNode.html
@@ -213,9 +213,10 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><span class="typeNameLabel">CNodeNary.NaryType.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeNary.NaryType.html#getTemplate-boolean-long-java.util.ArrayList-">getTemplate</a></span>(boolean&nbsp;sparseGen,
+<td class="colLast"><span class="typeNameLabel">CNodeNary.NaryType.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeNary.NaryType.html#getTemplate-boolean-long-java.util.ArrayList-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-">getTemplate</a></span>(boolean&nbsp;sparseGen,
            long&nbsp;len,
-           <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html" title="class in org.apache.sysds.hops.codegen.cplan">CNode</a>&gt;&nbsp;inputs)</code>&nbsp;</td>
+           <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html" title="class in org.apache.sysds.hops.codegen.cplan">CNode</a>&gt;&nbsp;inputs,
+           <a href="../../../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&nbsp;api)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static void</code></td>
@@ -324,6 +325,12 @@
 <td class="colLast"><span class="typeNameLabel">TemplateUtils.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/hops/codegen/template/TemplateUtils.html#wrapLookupIfNecessary-org.apache.sysds.hops.codegen.cplan.CNode-org.apache.sysds.hops.Hop-">wrapLookupIfNecessary</a></span>(<a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html" title="class in org.apache.sysds.hops.codegen.cplan">CNode</a>&nbsp;node,
                      <a href="../../../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop)</code>&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html" title="class in org.apache.sysds.hops.codegen.cplan">CNode</a></code></td>
+<td class="colLast"><span class="typeNameLabel">TemplateUtils.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/hops/codegen/template/TemplateUtils.html#wrapLookupIfNecessary-org.apache.sysds.hops.codegen.cplan.CNode-org.apache.sysds.hops.Hop-boolean-">wrapLookupIfNecessary</a></span>(<a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html" title="class in org.apache.sysds.hops.codegen.cplan">CNode</a>&nbsp;node,
+                     <a href="../../../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop,
+                     boolean&nbsp;rowTpl)</code>&nbsp;</td>
+</tr>
 </tbody>
 </table>
 <table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
@@ -469,6 +476,12 @@
 <td class="colLast"><span class="typeNameLabel">TemplateUtils.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/hops/codegen/template/TemplateUtils.html#wrapLookupIfNecessary-org.apache.sysds.hops.codegen.cplan.CNode-org.apache.sysds.hops.Hop-">wrapLookupIfNecessary</a></span>(<a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html" title="class in org.apache.sysds.hops.codegen.cplan">CNode</a>&nbsp;node,
                      <a href="../../../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop)</code>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html" title="class in org.apache.sysds.hops.codegen.cplan">CNode</a></code></td>
+<td class="colLast"><span class="typeNameLabel">TemplateUtils.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/hops/codegen/template/TemplateUtils.html#wrapLookupIfNecessary-org.apache.sysds.hops.codegen.cplan.CNode-org.apache.sysds.hops.Hop-boolean-">wrapLookupIfNecessary</a></span>(<a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html" title="class in org.apache.sysds.hops.codegen.cplan">CNode</a>&nbsp;node,
+                     <a href="../../../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop,
+                     boolean&nbsp;rowTpl)</code>&nbsp;</td>
+</tr>
 </tbody>
 </table>
 <table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
@@ -568,6 +581,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/cplan/class-use/CNodeBinary.BinType.html b/docs/api/java/org/apache/sysds/hops/codegen/cplan/class-use/CNodeBinary.BinType.html
index 0f97ce3..b9f5c8d 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/cplan/class-use/CNodeBinary.BinType.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/cplan/class-use/CNodeBinary.BinType.html
@@ -87,6 +87,14 @@
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.sysds.hops.codegen.cplan.cuda">org.apache.sysds.hops.codegen.cplan.cuda</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.hops.codegen.cplan.java">org.apache.sysds.hops.codegen.cplan.java</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.hops.codegen.template">org.apache.sysds.hops.codegen.template</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
@@ -129,6 +137,24 @@
 </tr>
 </tbody>
 </table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/package-summary.html">org.apache.sysds.hops.codegen.cplan</a> with parameters of type <a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeBinary.BinType.html" title="enum in org.apache.sysds.hops.codegen.cplan">CNodeBinary.BinType</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><span class="typeNameLabel">CodeTemplate.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CodeTemplate.html#getTemplate-org.apache.sysds.hops.codegen.cplan.CNodeBinary.BinType-boolean-boolean-boolean-boolean-boolean-">getTemplate</a></span>(<a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeBinary.BinType.html" title="enum in org.apache.sysds.hops.codegen.cplan">CNodeBinary.BinType</a>&nbsp;type,
+           boolean&nbsp;sparseLhs,
+           boolean&nbsp;sparseRhs,
+           boolean&nbsp;scalarVector,
+           boolean&nbsp;scalarInput,
+           boolean&nbsp;vectorVector)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
 <table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
 <caption><span>Constructors in <a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/package-summary.html">org.apache.sysds.hops.codegen.cplan</a> with parameters of type <a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeBinary.BinType.html" title="enum in org.apache.sysds.hops.codegen.cplan">CNodeBinary.BinType</a></span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
@@ -143,6 +169,52 @@
 </tbody>
 </table>
 </li>
+<li class="blockList"><a name="org.apache.sysds.hops.codegen.cplan.cuda">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeBinary.BinType.html" title="enum in org.apache.sysds.hops.codegen.cplan">CNodeBinary.BinType</a> in <a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/cuda/package-summary.html">org.apache.sysds.hops.codegen.cplan.cuda</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/cuda/package-summary.html">org.apache.sysds.hops.codegen.cplan.cuda</a> with parameters of type <a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeBinary.BinType.html" title="enum in org.apache.sysds.hops.codegen.cplan">CNodeBinary.BinType</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><span class="typeNameLabel">Binary.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/cuda/Binary.html#getTemplate-org.apache.sysds.hops.codegen.cplan.CNodeBinary.BinType-boolean-boolean-boolean-boolean-boolean-">getTemplate</a></span>(<a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeBinary.BinType.html" title="enum in org.apache.sysds.hops.codegen.cplan">CNodeBinary.BinType</a>&nbsp;type,
+           boolean&nbsp;sparseLhs,
+           boolean&nbsp;sparseRhs,
+           boolean&nbsp;scalarVector,
+           boolean&nbsp;scalarInput,
+           boolean&nbsp;vectorVector)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.sysds.hops.codegen.cplan.java">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeBinary.BinType.html" title="enum in org.apache.sysds.hops.codegen.cplan">CNodeBinary.BinType</a> in <a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/java/package-summary.html">org.apache.sysds.hops.codegen.cplan.java</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/java/package-summary.html">org.apache.sysds.hops.codegen.cplan.java</a> with parameters of type <a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeBinary.BinType.html" title="enum in org.apache.sysds.hops.codegen.cplan">CNodeBinary.BinType</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><span class="typeNameLabel">Binary.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/java/Binary.html#getTemplate-org.apache.sysds.hops.codegen.cplan.CNodeBinary.BinType-boolean-boolean-boolean-boolean-boolean-">getTemplate</a></span>(<a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeBinary.BinType.html" title="enum in org.apache.sysds.hops.codegen.cplan">CNodeBinary.BinType</a>&nbsp;type,
+           boolean&nbsp;sparseLhs,
+           boolean&nbsp;sparseRhs,
+           boolean&nbsp;scalarVector,
+           boolean&nbsp;scalarInput,
+           boolean&nbsp;vectorVector)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
 <li class="blockList"><a name="org.apache.sysds.hops.codegen.template">
 <!--   -->
 </a>
@@ -228,6 +300,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/cplan/class-use/CNodeBinary.html b/docs/api/java/org/apache/sysds/hops/codegen/cplan/class-use/CNodeBinary.html
index f4d8513..a1d3aa7 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/cplan/class-use/CNodeBinary.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/cplan/class-use/CNodeBinary.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/cplan/class-use/CNodeCell.html b/docs/api/java/org/apache/sysds/hops/codegen/cplan/class-use/CNodeCell.html
index 656af51..d54ef4c 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/cplan/class-use/CNodeCell.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/cplan/class-use/CNodeCell.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/cplan/class-use/CNodeData.html b/docs/api/java/org/apache/sysds/hops/codegen/cplan/class-use/CNodeData.html
index 7d0b5c1..71dd622 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/cplan/class-use/CNodeData.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/cplan/class-use/CNodeData.html
@@ -186,6 +186,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/cplan/class-use/CNodeMultiAgg.html b/docs/api/java/org/apache/sysds/hops/codegen/cplan/class-use/CNodeMultiAgg.html
index 07c39ca..224f6ce 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/cplan/class-use/CNodeMultiAgg.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/cplan/class-use/CNodeMultiAgg.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/cplan/class-use/CNodeNary.NaryType.html b/docs/api/java/org/apache/sysds/hops/codegen/cplan/class-use/CNodeNary.NaryType.html
index b2df8fb..313384c 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/cplan/class-use/CNodeNary.NaryType.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/cplan/class-use/CNodeNary.NaryType.html
@@ -185,6 +185,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/cplan/class-use/CNodeNary.html b/docs/api/java/org/apache/sysds/hops/codegen/cplan/class-use/CNodeNary.html
index e8e8a2c..4aa456e 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/cplan/class-use/CNodeNary.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/cplan/class-use/CNodeNary.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/cplan/class-use/CNodeOuterProduct.html b/docs/api/java/org/apache/sysds/hops/codegen/cplan/class-use/CNodeOuterProduct.html
index ff51ebe..5950ba9 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/cplan/class-use/CNodeOuterProduct.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/cplan/class-use/CNodeOuterProduct.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/cplan/class-use/CNodeRow.html b/docs/api/java/org/apache/sysds/hops/codegen/cplan/class-use/CNodeRow.html
index e535da2..900d9e4 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/cplan/class-use/CNodeRow.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/cplan/class-use/CNodeRow.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/cplan/class-use/CNodeTernary.TernaryType.html b/docs/api/java/org/apache/sysds/hops/codegen/cplan/class-use/CNodeTernary.TernaryType.html
index 1950d7a..5a091d5 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/cplan/class-use/CNodeTernary.TernaryType.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/cplan/class-use/CNodeTernary.TernaryType.html
@@ -87,6 +87,14 @@
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.sysds.hops.codegen.cplan.cuda">org.apache.sysds.hops.codegen.cplan.cuda</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.hops.codegen.cplan.java">org.apache.sysds.hops.codegen.cplan.java</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.hops.codegen.template">org.apache.sysds.hops.codegen.template</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
@@ -125,6 +133,20 @@
 </tr>
 </tbody>
 </table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/package-summary.html">org.apache.sysds.hops.codegen.cplan</a> with parameters of type <a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTernary.TernaryType.html" title="enum in org.apache.sysds.hops.codegen.cplan">CNodeTernary.TernaryType</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><span class="typeNameLabel">CodeTemplate.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CodeTemplate.html#getTemplate-org.apache.sysds.hops.codegen.cplan.CNodeTernary.TernaryType-boolean-">getTemplate</a></span>(<a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTernary.TernaryType.html" title="enum in org.apache.sysds.hops.codegen.cplan">CNodeTernary.TernaryType</a>&nbsp;type,
+           boolean&nbsp;sparse)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
 <table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
 <caption><span>Constructors in <a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/package-summary.html">org.apache.sysds.hops.codegen.cplan</a> with parameters of type <a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTernary.TernaryType.html" title="enum in org.apache.sysds.hops.codegen.cplan">CNodeTernary.TernaryType</a></span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
@@ -140,6 +162,44 @@
 </tbody>
 </table>
 </li>
+<li class="blockList"><a name="org.apache.sysds.hops.codegen.cplan.cuda">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTernary.TernaryType.html" title="enum in org.apache.sysds.hops.codegen.cplan">CNodeTernary.TernaryType</a> in <a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/cuda/package-summary.html">org.apache.sysds.hops.codegen.cplan.cuda</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/cuda/package-summary.html">org.apache.sysds.hops.codegen.cplan.cuda</a> with parameters of type <a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTernary.TernaryType.html" title="enum in org.apache.sysds.hops.codegen.cplan">CNodeTernary.TernaryType</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><span class="typeNameLabel">Ternary.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/cuda/Ternary.html#getTemplate-org.apache.sysds.hops.codegen.cplan.CNodeTernary.TernaryType-boolean-">getTemplate</a></span>(<a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTernary.TernaryType.html" title="enum in org.apache.sysds.hops.codegen.cplan">CNodeTernary.TernaryType</a>&nbsp;type,
+           boolean&nbsp;sparse)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.sysds.hops.codegen.cplan.java">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTernary.TernaryType.html" title="enum in org.apache.sysds.hops.codegen.cplan">CNodeTernary.TernaryType</a> in <a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/java/package-summary.html">org.apache.sysds.hops.codegen.cplan.java</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/java/package-summary.html">org.apache.sysds.hops.codegen.cplan.java</a> with parameters of type <a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTernary.TernaryType.html" title="enum in org.apache.sysds.hops.codegen.cplan">CNodeTernary.TernaryType</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><span class="typeNameLabel">Ternary.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/java/Ternary.html#getTemplate-org.apache.sysds.hops.codegen.cplan.CNodeTernary.TernaryType-boolean-">getTemplate</a></span>(<a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTernary.TernaryType.html" title="enum in org.apache.sysds.hops.codegen.cplan">CNodeTernary.TernaryType</a>&nbsp;type,
+           boolean&nbsp;sparse)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
 <li class="blockList"><a name="org.apache.sysds.hops.codegen.template">
 <!--   -->
 </a>
@@ -210,6 +270,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/cplan/class-use/CNodeTernary.html b/docs/api/java/org/apache/sysds/hops/codegen/cplan/class-use/CNodeTernary.html
index 355688e..aee35de 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/cplan/class-use/CNodeTernary.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/cplan/class-use/CNodeTernary.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/cplan/class-use/CNodeTpl.html b/docs/api/java/org/apache/sysds/hops/codegen/cplan/class-use/CNodeTpl.html
index b04f64f..2f24fa9 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/cplan/class-use/CNodeTpl.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/cplan/class-use/CNodeTpl.html
@@ -317,6 +317,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/cplan/class-use/CNodeUnary.UnaryType.html b/docs/api/java/org/apache/sysds/hops/codegen/cplan/class-use/CNodeUnary.UnaryType.html
index d943a15..ce22a5f 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/cplan/class-use/CNodeUnary.UnaryType.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/cplan/class-use/CNodeUnary.UnaryType.html
@@ -87,6 +87,14 @@
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.sysds.hops.codegen.cplan.cuda">org.apache.sysds.hops.codegen.cplan.cuda</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.hops.codegen.cplan.java">org.apache.sysds.hops.codegen.cplan.java</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.hops.codegen.template">org.apache.sysds.hops.codegen.template</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
@@ -137,6 +145,11 @@
 </tr>
 <tbody>
 <tr class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><span class="typeNameLabel">CodeTemplate.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CodeTemplate.html#getTemplate-org.apache.sysds.hops.codegen.cplan.CNodeUnary.UnaryType-boolean-">getTemplate</a></span>(<a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeUnary.UnaryType.html" title="enum in org.apache.sysds.hops.codegen.cplan">CNodeUnary.UnaryType</a>&nbsp;type,
+           boolean&nbsp;sparse)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">CNodeUnary.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeUnary.html#setType-org.apache.sysds.hops.codegen.cplan.CNodeUnary.UnaryType-">setType</a></span>(<a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeUnary.UnaryType.html" title="enum in org.apache.sysds.hops.codegen.cplan">CNodeUnary.UnaryType</a>&nbsp;type)</code>&nbsp;</td>
 </tr>
@@ -155,6 +168,44 @@
 </tbody>
 </table>
 </li>
+<li class="blockList"><a name="org.apache.sysds.hops.codegen.cplan.cuda">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeUnary.UnaryType.html" title="enum in org.apache.sysds.hops.codegen.cplan">CNodeUnary.UnaryType</a> in <a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/cuda/package-summary.html">org.apache.sysds.hops.codegen.cplan.cuda</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/cuda/package-summary.html">org.apache.sysds.hops.codegen.cplan.cuda</a> with parameters of type <a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeUnary.UnaryType.html" title="enum in org.apache.sysds.hops.codegen.cplan">CNodeUnary.UnaryType</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><span class="typeNameLabel">Unary.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/cuda/Unary.html#getTemplate-org.apache.sysds.hops.codegen.cplan.CNodeUnary.UnaryType-boolean-">getTemplate</a></span>(<a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeUnary.UnaryType.html" title="enum in org.apache.sysds.hops.codegen.cplan">CNodeUnary.UnaryType</a>&nbsp;type,
+           boolean&nbsp;sparse)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.sysds.hops.codegen.cplan.java">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeUnary.UnaryType.html" title="enum in org.apache.sysds.hops.codegen.cplan">CNodeUnary.UnaryType</a> in <a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/java/package-summary.html">org.apache.sysds.hops.codegen.cplan.java</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/java/package-summary.html">org.apache.sysds.hops.codegen.cplan.java</a> with parameters of type <a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeUnary.UnaryType.html" title="enum in org.apache.sysds.hops.codegen.cplan">CNodeUnary.UnaryType</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><span class="typeNameLabel">Unary.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/java/Unary.html#getTemplate-org.apache.sysds.hops.codegen.cplan.CNodeUnary.UnaryType-boolean-">getTemplate</a></span>(<a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeUnary.UnaryType.html" title="enum in org.apache.sysds.hops.codegen.cplan">CNodeUnary.UnaryType</a>&nbsp;type,
+           boolean&nbsp;sparse)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
 <li class="blockList"><a name="org.apache.sysds.hops.codegen.template">
 <!--   -->
 </a>
@@ -225,6 +276,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/cplan/class-use/CNodeUnary.html b/docs/api/java/org/apache/sysds/hops/codegen/cplan/class-use/CNodeUnary.html
index 75fe3dd..894e996 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/cplan/class-use/CNodeUnary.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/cplan/class-use/CNodeUnary.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/cplan/class-use/CodeTemplate.html b/docs/api/java/org/apache/sysds/hops/codegen/cplan/class-use/CodeTemplate.html
new file mode 100644
index 0000000..50cc0cb
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/hops/codegen/cplan/class-use/CodeTemplate.html
@@ -0,0 +1,173 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.sysds.hops.codegen.cplan.CodeTemplate (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.sysds.hops.codegen.cplan.CodeTemplate (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CodeTemplate.html" title="class in org.apache.sysds.hops.codegen.cplan">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/hops/codegen/cplan/class-use/CodeTemplate.html" target="_top">Frames</a></li>
+<li><a href="CodeTemplate.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.sysds.hops.codegen.cplan.CodeTemplate" class="title">Uses of Class<br>org.apache.sysds.hops.codegen.cplan.CodeTemplate</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CodeTemplate.html" title="class in org.apache.sysds.hops.codegen.cplan">CodeTemplate</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.hops.codegen.cplan.java">org.apache.sysds.hops.codegen.cplan.java</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.sysds.hops.codegen.cplan.java">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CodeTemplate.html" title="class in org.apache.sysds.hops.codegen.cplan">CodeTemplate</a> in <a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/java/package-summary.html">org.apache.sysds.hops.codegen.cplan.java</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subclasses, and an explanation">
+<caption><span>Subclasses of <a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CodeTemplate.html" title="class in org.apache.sysds.hops.codegen.cplan">CodeTemplate</a> in <a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/java/package-summary.html">org.apache.sysds.hops.codegen.cplan.java</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/java/Binary.html" title="class in org.apache.sysds.hops.codegen.cplan.java">Binary</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/java/Ternary.html" title="class in org.apache.sysds.hops.codegen.cplan.java">Ternary</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/java/Unary.html" title="class in org.apache.sysds.hops.codegen.cplan.java">Unary</a></span></code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CodeTemplate.html" title="class in org.apache.sysds.hops.codegen.cplan">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/hops/codegen/cplan/class-use/CodeTemplate.html" target="_top">Frames</a></li>
+<li><a href="CodeTemplate.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/cplan/cuda/Binary.html b/docs/api/java/org/apache/sysds/hops/codegen/cplan/cuda/Binary.html
new file mode 100644
index 0000000..336d2b4
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/hops/codegen/cplan/cuda/Binary.html
@@ -0,0 +1,298 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Binary (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Binary (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Binary.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev&nbsp;Class</li>
+<li><a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/cuda/Ternary.html" title="class in org.apache.sysds.hops.codegen.cplan.cuda"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/hops/codegen/cplan/cuda/Binary.html" target="_top">Frames</a></li>
+<li><a href="Binary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.sysds.hops.codegen.cplan.cuda</div>
+<h2 title="Class Binary" class="title">Class Binary</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CodeTemplate.html" title="class in org.apache.sysds.hops.codegen.cplan">org.apache.sysds.hops.codegen.cplan.CodeTemplate</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.sysds.hops.codegen.cplan.cuda.Binary</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">Binary</span>
+extends <a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CodeTemplate.html" title="class in org.apache.sysds.hops.codegen.cplan">CodeTemplate</a></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/cuda/Binary.html#Binary--">Binary</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/cuda/Binary.html#getTemplate-org.apache.sysds.hops.codegen.cplan.CNodeBinary.BinType-boolean-boolean-boolean-boolean-boolean-">getTemplate</a></span>(<a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeBinary.BinType.html" title="enum in org.apache.sysds.hops.codegen.cplan">CNodeBinary.BinType</a>&nbsp;type,
+           boolean&nbsp;sparseLhs,
+           boolean&nbsp;sparseRhs,
+           boolean&nbsp;scalarVector,
+           boolean&nbsp;scalarInput,
+           boolean&nbsp;vectorVector)</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.hops.codegen.cplan.CodeTemplate">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.hops.codegen.cplan.<a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CodeTemplate.html" title="class in org.apache.sysds.hops.codegen.cplan">CodeTemplate</a></h3>
+<code><a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CodeTemplate.html#getTemplate--">getTemplate</a>, <a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CodeTemplate.html#getTemplate-org.apache.sysds.hops.codegen.cplan.CNodeTernary.TernaryType-boolean-">getTemplate</a>, <a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CodeTemplate.html#getTemplate-org.apache.sysds.hops.codegen.cplan.CNodeUnary.UnaryType-boolean-">getTemplate</a>, <a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CodeTemplate.html#getTemplate-java.lang.String-">getTemplate</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="Binary--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>Binary</h4>
+<pre>public&nbsp;Binary()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getTemplate-org.apache.sysds.hops.codegen.cplan.CNodeBinary.BinType-boolean-boolean-boolean-boolean-boolean-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getTemplate</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getTemplate(<a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeBinary.BinType.html" title="enum in org.apache.sysds.hops.codegen.cplan">CNodeBinary.BinType</a>&nbsp;type,
+                          boolean&nbsp;sparseLhs,
+                          boolean&nbsp;sparseRhs,
+                          boolean&nbsp;scalarVector,
+                          boolean&nbsp;scalarInput,
+                          boolean&nbsp;vectorVector)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CodeTemplate.html#getTemplate-org.apache.sysds.hops.codegen.cplan.CNodeBinary.BinType-boolean-boolean-boolean-boolean-boolean-">getTemplate</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CodeTemplate.html" title="class in org.apache.sysds.hops.codegen.cplan">CodeTemplate</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Binary.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev&nbsp;Class</li>
+<li><a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/cuda/Ternary.html" title="class in org.apache.sysds.hops.codegen.cplan.cuda"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/hops/codegen/cplan/cuda/Binary.html" target="_top">Frames</a></li>
+<li><a href="Binary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/cplan/cuda/Ternary.html b/docs/api/java/org/apache/sysds/hops/codegen/cplan/cuda/Ternary.html
new file mode 100644
index 0000000..544d6d4
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/hops/codegen/cplan/cuda/Ternary.html
@@ -0,0 +1,290 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Ternary (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Ternary (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Ternary.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/cuda/Binary.html" title="class in org.apache.sysds.hops.codegen.cplan.cuda"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/cuda/Unary.html" title="class in org.apache.sysds.hops.codegen.cplan.cuda"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/hops/codegen/cplan/cuda/Ternary.html" target="_top">Frames</a></li>
+<li><a href="Ternary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.sysds.hops.codegen.cplan.cuda</div>
+<h2 title="Class Ternary" class="title">Class Ternary</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CodeTemplate.html" title="class in org.apache.sysds.hops.codegen.cplan">org.apache.sysds.hops.codegen.cplan.CodeTemplate</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.sysds.hops.codegen.cplan.cuda.Ternary</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">Ternary</span>
+extends <a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CodeTemplate.html" title="class in org.apache.sysds.hops.codegen.cplan">CodeTemplate</a></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/cuda/Ternary.html#Ternary--">Ternary</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/cuda/Ternary.html#getTemplate-org.apache.sysds.hops.codegen.cplan.CNodeTernary.TernaryType-boolean-">getTemplate</a></span>(<a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTernary.TernaryType.html" title="enum in org.apache.sysds.hops.codegen.cplan">CNodeTernary.TernaryType</a>&nbsp;type,
+           boolean&nbsp;sparse)</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.hops.codegen.cplan.CodeTemplate">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.hops.codegen.cplan.<a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CodeTemplate.html" title="class in org.apache.sysds.hops.codegen.cplan">CodeTemplate</a></h3>
+<code><a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CodeTemplate.html#getTemplate--">getTemplate</a>, <a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CodeTemplate.html#getTemplate-org.apache.sysds.hops.codegen.cplan.CNodeBinary.BinType-boolean-boolean-boolean-boolean-boolean-">getTemplate</a>, <a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CodeTemplate.html#getTemplate-org.apache.sysds.hops.codegen.cplan.CNodeUnary.UnaryType-boolean-">getTemplate</a>, <a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CodeTemplate.html#getTemplate-java.lang.String-">getTemplate</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="Ternary--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>Ternary</h4>
+<pre>public&nbsp;Ternary()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getTemplate-org.apache.sysds.hops.codegen.cplan.CNodeTernary.TernaryType-boolean-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getTemplate</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getTemplate(<a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTernary.TernaryType.html" title="enum in org.apache.sysds.hops.codegen.cplan">CNodeTernary.TernaryType</a>&nbsp;type,
+                          boolean&nbsp;sparse)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CodeTemplate.html#getTemplate-org.apache.sysds.hops.codegen.cplan.CNodeTernary.TernaryType-boolean-">getTemplate</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CodeTemplate.html" title="class in org.apache.sysds.hops.codegen.cplan">CodeTemplate</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Ternary.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/cuda/Binary.html" title="class in org.apache.sysds.hops.codegen.cplan.cuda"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/cuda/Unary.html" title="class in org.apache.sysds.hops.codegen.cplan.cuda"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/hops/codegen/cplan/cuda/Ternary.html" target="_top">Frames</a></li>
+<li><a href="Ternary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/cplan/cuda/Unary.html b/docs/api/java/org/apache/sysds/hops/codegen/cplan/cuda/Unary.html
new file mode 100644
index 0000000..d371e67
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/hops/codegen/cplan/cuda/Unary.html
@@ -0,0 +1,290 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Unary (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Unary (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Unary.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/cuda/Ternary.html" title="class in org.apache.sysds.hops.codegen.cplan.cuda"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/hops/codegen/cplan/cuda/Unary.html" target="_top">Frames</a></li>
+<li><a href="Unary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.sysds.hops.codegen.cplan.cuda</div>
+<h2 title="Class Unary" class="title">Class Unary</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CodeTemplate.html" title="class in org.apache.sysds.hops.codegen.cplan">org.apache.sysds.hops.codegen.cplan.CodeTemplate</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.sysds.hops.codegen.cplan.cuda.Unary</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">Unary</span>
+extends <a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CodeTemplate.html" title="class in org.apache.sysds.hops.codegen.cplan">CodeTemplate</a></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/cuda/Unary.html#Unary--">Unary</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/cuda/Unary.html#getTemplate-org.apache.sysds.hops.codegen.cplan.CNodeUnary.UnaryType-boolean-">getTemplate</a></span>(<a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeUnary.UnaryType.html" title="enum in org.apache.sysds.hops.codegen.cplan">CNodeUnary.UnaryType</a>&nbsp;type,
+           boolean&nbsp;sparse)</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.hops.codegen.cplan.CodeTemplate">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.hops.codegen.cplan.<a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CodeTemplate.html" title="class in org.apache.sysds.hops.codegen.cplan">CodeTemplate</a></h3>
+<code><a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CodeTemplate.html#getTemplate--">getTemplate</a>, <a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CodeTemplate.html#getTemplate-org.apache.sysds.hops.codegen.cplan.CNodeBinary.BinType-boolean-boolean-boolean-boolean-boolean-">getTemplate</a>, <a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CodeTemplate.html#getTemplate-org.apache.sysds.hops.codegen.cplan.CNodeTernary.TernaryType-boolean-">getTemplate</a>, <a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CodeTemplate.html#getTemplate-java.lang.String-">getTemplate</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="Unary--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>Unary</h4>
+<pre>public&nbsp;Unary()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getTemplate-org.apache.sysds.hops.codegen.cplan.CNodeUnary.UnaryType-boolean-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getTemplate</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getTemplate(<a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeUnary.UnaryType.html" title="enum in org.apache.sysds.hops.codegen.cplan">CNodeUnary.UnaryType</a>&nbsp;type,
+                          boolean&nbsp;sparse)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CodeTemplate.html#getTemplate-org.apache.sysds.hops.codegen.cplan.CNodeUnary.UnaryType-boolean-">getTemplate</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CodeTemplate.html" title="class in org.apache.sysds.hops.codegen.cplan">CodeTemplate</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Unary.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/cuda/Ternary.html" title="class in org.apache.sysds.hops.codegen.cplan.cuda"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/hops/codegen/cplan/cuda/Unary.html" target="_top">Frames</a></li>
+<li><a href="Unary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/cplan/cuda/class-use/Binary.html b/docs/api/java/org/apache/sysds/hops/codegen/cplan/cuda/class-use/Binary.html
new file mode 100644
index 0000000..c1ea743
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/hops/codegen/cplan/cuda/class-use/Binary.html
@@ -0,0 +1,125 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.sysds.hops.codegen.cplan.cuda.Binary (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.sysds.hops.codegen.cplan.cuda.Binary (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../../org/apache/sysds/hops/codegen/cplan/cuda/Binary.html" title="class in org.apache.sysds.hops.codegen.cplan.cuda">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../../index.html?org/apache/sysds/hops/codegen/cplan/cuda/class-use/Binary.html" target="_top">Frames</a></li>
+<li><a href="Binary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.sysds.hops.codegen.cplan.cuda.Binary" class="title">Uses of Class<br>org.apache.sysds.hops.codegen.cplan.cuda.Binary</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.sysds.hops.codegen.cplan.cuda.Binary</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../../org/apache/sysds/hops/codegen/cplan/cuda/Binary.html" title="class in org.apache.sysds.hops.codegen.cplan.cuda">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../../index.html?org/apache/sysds/hops/codegen/cplan/cuda/class-use/Binary.html" target="_top">Frames</a></li>
+<li><a href="Binary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/cplan/cuda/class-use/Ternary.html b/docs/api/java/org/apache/sysds/hops/codegen/cplan/cuda/class-use/Ternary.html
new file mode 100644
index 0000000..e4d51e1
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/hops/codegen/cplan/cuda/class-use/Ternary.html
@@ -0,0 +1,125 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.sysds.hops.codegen.cplan.cuda.Ternary (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.sysds.hops.codegen.cplan.cuda.Ternary (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../../org/apache/sysds/hops/codegen/cplan/cuda/Ternary.html" title="class in org.apache.sysds.hops.codegen.cplan.cuda">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../../index.html?org/apache/sysds/hops/codegen/cplan/cuda/class-use/Ternary.html" target="_top">Frames</a></li>
+<li><a href="Ternary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.sysds.hops.codegen.cplan.cuda.Ternary" class="title">Uses of Class<br>org.apache.sysds.hops.codegen.cplan.cuda.Ternary</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.sysds.hops.codegen.cplan.cuda.Ternary</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../../org/apache/sysds/hops/codegen/cplan/cuda/Ternary.html" title="class in org.apache.sysds.hops.codegen.cplan.cuda">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../../index.html?org/apache/sysds/hops/codegen/cplan/cuda/class-use/Ternary.html" target="_top">Frames</a></li>
+<li><a href="Ternary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/cplan/cuda/class-use/Unary.html b/docs/api/java/org/apache/sysds/hops/codegen/cplan/cuda/class-use/Unary.html
new file mode 100644
index 0000000..421dd16
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/hops/codegen/cplan/cuda/class-use/Unary.html
@@ -0,0 +1,125 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.sysds.hops.codegen.cplan.cuda.Unary (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.sysds.hops.codegen.cplan.cuda.Unary (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../../org/apache/sysds/hops/codegen/cplan/cuda/Unary.html" title="class in org.apache.sysds.hops.codegen.cplan.cuda">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../../index.html?org/apache/sysds/hops/codegen/cplan/cuda/class-use/Unary.html" target="_top">Frames</a></li>
+<li><a href="Unary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.sysds.hops.codegen.cplan.cuda.Unary" class="title">Uses of Class<br>org.apache.sysds.hops.codegen.cplan.cuda.Unary</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.sysds.hops.codegen.cplan.cuda.Unary</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../../org/apache/sysds/hops/codegen/cplan/cuda/Unary.html" title="class in org.apache.sysds.hops.codegen.cplan.cuda">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../../index.html?org/apache/sysds/hops/codegen/cplan/cuda/class-use/Unary.html" target="_top">Frames</a></li>
+<li><a href="Unary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/cplan/cuda/package-frame.html b/docs/api/java/org/apache/sysds/hops/codegen/cplan/cuda/package-frame.html
new file mode 100644
index 0000000..f555d64
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/hops/codegen/cplan/cuda/package-frame.html
@@ -0,0 +1,22 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.sysds.hops.codegen.cplan.cuda (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<h1 class="bar"><a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/cuda/package-summary.html" target="classFrame">org.apache.sysds.hops.codegen.cplan.cuda</a></h1>
+<div class="indexContainer">
+<h2 title="Classes">Classes</h2>
+<ul title="Classes">
+<li><a href="Binary.html" title="class in org.apache.sysds.hops.codegen.cplan.cuda" target="classFrame">Binary</a></li>
+<li><a href="Ternary.html" title="class in org.apache.sysds.hops.codegen.cplan.cuda" target="classFrame">Ternary</a></li>
+<li><a href="Unary.html" title="class in org.apache.sysds.hops.codegen.cplan.cuda" target="classFrame">Unary</a></li>
+</ul>
+</div>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/cplan/cuda/package-summary.html b/docs/api/java/org/apache/sysds/hops/codegen/cplan/cuda/package-summary.html
new file mode 100644
index 0000000..634d9fb
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/hops/codegen/cplan/cuda/package-summary.html
@@ -0,0 +1,151 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.sysds.hops.codegen.cplan.cuda (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.sysds.hops.codegen.cplan.cuda (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/java/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/hops/codegen/cplan/cuda/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Package" class="title">Package&nbsp;org.apache.sysds.hops.codegen.cplan.cuda</h1>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
+<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Class</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/cuda/Binary.html" title="class in org.apache.sysds.hops.codegen.cplan.cuda">Binary</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/cuda/Ternary.html" title="class in org.apache.sysds.hops.codegen.cplan.cuda">Ternary</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/cuda/Unary.html" title="class in org.apache.sysds.hops.codegen.cplan.cuda">Unary</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/java/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/hops/codegen/cplan/cuda/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/cplan/cuda/package-tree.html b/docs/api/java/org/apache/sysds/hops/codegen/cplan/cuda/package-tree.html
new file mode 100644
index 0000000..bbef2a9
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/hops/codegen/cplan/cuda/package-tree.html
@@ -0,0 +1,144 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.sysds.hops.codegen.cplan.cuda Class Hierarchy (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.sysds.hops.codegen.cplan.cuda Class Hierarchy (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/package-tree.html">Prev</a></li>
+<li><a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/java/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/hops/codegen/cplan/cuda/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 class="title">Hierarchy For Package org.apache.sysds.hops.codegen.cplan.cuda</h1>
+<span class="packageHierarchyLabel">Package Hierarchies:</span>
+<ul class="horizontal">
+<li><a href="../../../../../../../overview-tree.html">All Packages</a></li>
+</ul>
+</div>
+<div class="contentContainer">
+<h2 title="Class Hierarchy">Class Hierarchy</h2>
+<ul>
+<li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
+<ul>
+<li type="circle">org.apache.sysds.hops.codegen.cplan.<a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CodeTemplate.html" title="class in org.apache.sysds.hops.codegen.cplan"><span class="typeNameLink">CodeTemplate</span></a>
+<ul>
+<li type="circle">org.apache.sysds.hops.codegen.cplan.cuda.<a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/cuda/Binary.html" title="class in org.apache.sysds.hops.codegen.cplan.cuda"><span class="typeNameLink">Binary</span></a></li>
+<li type="circle">org.apache.sysds.hops.codegen.cplan.cuda.<a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/cuda/Ternary.html" title="class in org.apache.sysds.hops.codegen.cplan.cuda"><span class="typeNameLink">Ternary</span></a></li>
+<li type="circle">org.apache.sysds.hops.codegen.cplan.cuda.<a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/cuda/Unary.html" title="class in org.apache.sysds.hops.codegen.cplan.cuda"><span class="typeNameLink">Unary</span></a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/package-tree.html">Prev</a></li>
+<li><a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/java/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/hops/codegen/cplan/cuda/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/lib/class-use/LibScalar.html b/docs/api/java/org/apache/sysds/hops/codegen/cplan/cuda/package-use.html
similarity index 68%
copy from docs/api/java/org/apache/sysds/runtime/compress/lib/class-use/LibScalar.html
copy to docs/api/java/org/apache/sysds/hops/codegen/cplan/cuda/package-use.html
index ba0747d..8c6f38a 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/lib/class-use/LibScalar.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/cplan/cuda/package-use.html
@@ -4,7 +4,7 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.sysds.runtime.compress.lib.LibScalar (SystemDS 2.1.0-SNAPSHOT API)</title>
+<title>Uses of Package org.apache.sysds.hops.codegen.cplan.cuda (SystemDS 2.1.0-SNAPSHOT API)</title>
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.sysds.runtime.compress.lib.LibScalar (SystemDS 2.1.0-SNAPSHOT API)";
+            parent.document.title="Uses of Package org.apache.sysds.hops.codegen.cplan.cuda (SystemDS 2.1.0-SNAPSHOT API)";
         }
     }
     catch(err) {
@@ -32,10 +32,10 @@
 </a>
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/LibScalar.html" title="class in org.apache.sysds.runtime.compress.lib">Class</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
 <li><a href="../../../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../../../help-doc.html">Help</a></li>
@@ -47,8 +47,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/lib/class-use/LibScalar.html" target="_top">Frames</a></li>
-<li><a href="LibScalar.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/hops/codegen/cplan/cuda/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -70,9 +70,9 @@
 </a></div>
 <!-- ========= END OF TOP NAVBAR ========= -->
 <div class="header">
-<h2 title="Uses of Class org.apache.sysds.runtime.compress.lib.LibScalar" class="title">Uses of Class<br>org.apache.sysds.runtime.compress.lib.LibScalar</h2>
+<h1 title="Uses of Package org.apache.sysds.hops.codegen.cplan.cuda" class="title">Uses of Package<br>org.apache.sysds.hops.codegen.cplan.cuda</h1>
 </div>
-<div class="classUseContainer">No usage of org.apache.sysds.runtime.compress.lib.LibScalar</div>
+<div class="contentContainer">No usage of org.apache.sysds.hops.codegen.cplan.cuda</div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
 <!--   -->
@@ -83,10 +83,10 @@
 </a>
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/LibScalar.html" title="class in org.apache.sysds.runtime.compress.lib">Class</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
 <li><a href="../../../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../../../help-doc.html">Help</a></li>
@@ -98,8 +98,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/lib/class-use/LibScalar.html" target="_top">Frames</a></li>
-<li><a href="LibScalar.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/hops/codegen/cplan/cuda/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/cplan/java/Binary.html b/docs/api/java/org/apache/sysds/hops/codegen/cplan/java/Binary.html
new file mode 100644
index 0000000..6b58679
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/hops/codegen/cplan/java/Binary.html
@@ -0,0 +1,298 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Binary (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Binary (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Binary.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev&nbsp;Class</li>
+<li><a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/java/Ternary.html" title="class in org.apache.sysds.hops.codegen.cplan.java"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/hops/codegen/cplan/java/Binary.html" target="_top">Frames</a></li>
+<li><a href="Binary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.sysds.hops.codegen.cplan.java</div>
+<h2 title="Class Binary" class="title">Class Binary</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CodeTemplate.html" title="class in org.apache.sysds.hops.codegen.cplan">org.apache.sysds.hops.codegen.cplan.CodeTemplate</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.sysds.hops.codegen.cplan.java.Binary</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">Binary</span>
+extends <a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CodeTemplate.html" title="class in org.apache.sysds.hops.codegen.cplan">CodeTemplate</a></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/java/Binary.html#Binary--">Binary</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/java/Binary.html#getTemplate-org.apache.sysds.hops.codegen.cplan.CNodeBinary.BinType-boolean-boolean-boolean-boolean-boolean-">getTemplate</a></span>(<a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeBinary.BinType.html" title="enum in org.apache.sysds.hops.codegen.cplan">CNodeBinary.BinType</a>&nbsp;type,
+           boolean&nbsp;sparseLhs,
+           boolean&nbsp;sparseRhs,
+           boolean&nbsp;scalarVector,
+           boolean&nbsp;scalarInput,
+           boolean&nbsp;vectorVector)</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.hops.codegen.cplan.CodeTemplate">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.hops.codegen.cplan.<a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CodeTemplate.html" title="class in org.apache.sysds.hops.codegen.cplan">CodeTemplate</a></h3>
+<code><a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CodeTemplate.html#getTemplate--">getTemplate</a>, <a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CodeTemplate.html#getTemplate-org.apache.sysds.hops.codegen.cplan.CNodeTernary.TernaryType-boolean-">getTemplate</a>, <a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CodeTemplate.html#getTemplate-org.apache.sysds.hops.codegen.cplan.CNodeUnary.UnaryType-boolean-">getTemplate</a>, <a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CodeTemplate.html#getTemplate-java.lang.String-">getTemplate</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="Binary--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>Binary</h4>
+<pre>public&nbsp;Binary()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getTemplate-org.apache.sysds.hops.codegen.cplan.CNodeBinary.BinType-boolean-boolean-boolean-boolean-boolean-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getTemplate</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getTemplate(<a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeBinary.BinType.html" title="enum in org.apache.sysds.hops.codegen.cplan">CNodeBinary.BinType</a>&nbsp;type,
+                          boolean&nbsp;sparseLhs,
+                          boolean&nbsp;sparseRhs,
+                          boolean&nbsp;scalarVector,
+                          boolean&nbsp;scalarInput,
+                          boolean&nbsp;vectorVector)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CodeTemplate.html#getTemplate-org.apache.sysds.hops.codegen.cplan.CNodeBinary.BinType-boolean-boolean-boolean-boolean-boolean-">getTemplate</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CodeTemplate.html" title="class in org.apache.sysds.hops.codegen.cplan">CodeTemplate</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Binary.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev&nbsp;Class</li>
+<li><a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/java/Ternary.html" title="class in org.apache.sysds.hops.codegen.cplan.java"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/hops/codegen/cplan/java/Binary.html" target="_top">Frames</a></li>
+<li><a href="Binary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/cplan/java/Ternary.html b/docs/api/java/org/apache/sysds/hops/codegen/cplan/java/Ternary.html
new file mode 100644
index 0000000..7ac859c
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/hops/codegen/cplan/java/Ternary.html
@@ -0,0 +1,290 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Ternary (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Ternary (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Ternary.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/java/Binary.html" title="class in org.apache.sysds.hops.codegen.cplan.java"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/java/Unary.html" title="class in org.apache.sysds.hops.codegen.cplan.java"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/hops/codegen/cplan/java/Ternary.html" target="_top">Frames</a></li>
+<li><a href="Ternary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.sysds.hops.codegen.cplan.java</div>
+<h2 title="Class Ternary" class="title">Class Ternary</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CodeTemplate.html" title="class in org.apache.sysds.hops.codegen.cplan">org.apache.sysds.hops.codegen.cplan.CodeTemplate</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.sysds.hops.codegen.cplan.java.Ternary</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">Ternary</span>
+extends <a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CodeTemplate.html" title="class in org.apache.sysds.hops.codegen.cplan">CodeTemplate</a></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/java/Ternary.html#Ternary--">Ternary</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/java/Ternary.html#getTemplate-org.apache.sysds.hops.codegen.cplan.CNodeTernary.TernaryType-boolean-">getTemplate</a></span>(<a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTernary.TernaryType.html" title="enum in org.apache.sysds.hops.codegen.cplan">CNodeTernary.TernaryType</a>&nbsp;type,
+           boolean&nbsp;sparse)</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.hops.codegen.cplan.CodeTemplate">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.hops.codegen.cplan.<a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CodeTemplate.html" title="class in org.apache.sysds.hops.codegen.cplan">CodeTemplate</a></h3>
+<code><a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CodeTemplate.html#getTemplate--">getTemplate</a>, <a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CodeTemplate.html#getTemplate-org.apache.sysds.hops.codegen.cplan.CNodeBinary.BinType-boolean-boolean-boolean-boolean-boolean-">getTemplate</a>, <a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CodeTemplate.html#getTemplate-org.apache.sysds.hops.codegen.cplan.CNodeUnary.UnaryType-boolean-">getTemplate</a>, <a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CodeTemplate.html#getTemplate-java.lang.String-">getTemplate</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="Ternary--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>Ternary</h4>
+<pre>public&nbsp;Ternary()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getTemplate-org.apache.sysds.hops.codegen.cplan.CNodeTernary.TernaryType-boolean-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getTemplate</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getTemplate(<a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTernary.TernaryType.html" title="enum in org.apache.sysds.hops.codegen.cplan">CNodeTernary.TernaryType</a>&nbsp;type,
+                          boolean&nbsp;sparse)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CodeTemplate.html#getTemplate-org.apache.sysds.hops.codegen.cplan.CNodeTernary.TernaryType-boolean-">getTemplate</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CodeTemplate.html" title="class in org.apache.sysds.hops.codegen.cplan">CodeTemplate</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Ternary.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/java/Binary.html" title="class in org.apache.sysds.hops.codegen.cplan.java"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/java/Unary.html" title="class in org.apache.sysds.hops.codegen.cplan.java"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/hops/codegen/cplan/java/Ternary.html" target="_top">Frames</a></li>
+<li><a href="Ternary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/cplan/java/Unary.html b/docs/api/java/org/apache/sysds/hops/codegen/cplan/java/Unary.html
new file mode 100644
index 0000000..3b4514e
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/hops/codegen/cplan/java/Unary.html
@@ -0,0 +1,290 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Unary (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Unary (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Unary.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/java/Ternary.html" title="class in org.apache.sysds.hops.codegen.cplan.java"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/hops/codegen/cplan/java/Unary.html" target="_top">Frames</a></li>
+<li><a href="Unary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.sysds.hops.codegen.cplan.java</div>
+<h2 title="Class Unary" class="title">Class Unary</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CodeTemplate.html" title="class in org.apache.sysds.hops.codegen.cplan">org.apache.sysds.hops.codegen.cplan.CodeTemplate</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.sysds.hops.codegen.cplan.java.Unary</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">Unary</span>
+extends <a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CodeTemplate.html" title="class in org.apache.sysds.hops.codegen.cplan">CodeTemplate</a></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/java/Unary.html#Unary--">Unary</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/java/Unary.html#getTemplate-org.apache.sysds.hops.codegen.cplan.CNodeUnary.UnaryType-boolean-">getTemplate</a></span>(<a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeUnary.UnaryType.html" title="enum in org.apache.sysds.hops.codegen.cplan">CNodeUnary.UnaryType</a>&nbsp;type,
+           boolean&nbsp;sparse)</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.hops.codegen.cplan.CodeTemplate">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.hops.codegen.cplan.<a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CodeTemplate.html" title="class in org.apache.sysds.hops.codegen.cplan">CodeTemplate</a></h3>
+<code><a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CodeTemplate.html#getTemplate--">getTemplate</a>, <a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CodeTemplate.html#getTemplate-org.apache.sysds.hops.codegen.cplan.CNodeBinary.BinType-boolean-boolean-boolean-boolean-boolean-">getTemplate</a>, <a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CodeTemplate.html#getTemplate-org.apache.sysds.hops.codegen.cplan.CNodeTernary.TernaryType-boolean-">getTemplate</a>, <a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CodeTemplate.html#getTemplate-java.lang.String-">getTemplate</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="Unary--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>Unary</h4>
+<pre>public&nbsp;Unary()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getTemplate-org.apache.sysds.hops.codegen.cplan.CNodeUnary.UnaryType-boolean-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getTemplate</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getTemplate(<a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeUnary.UnaryType.html" title="enum in org.apache.sysds.hops.codegen.cplan">CNodeUnary.UnaryType</a>&nbsp;type,
+                          boolean&nbsp;sparse)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CodeTemplate.html#getTemplate-org.apache.sysds.hops.codegen.cplan.CNodeUnary.UnaryType-boolean-">getTemplate</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CodeTemplate.html" title="class in org.apache.sysds.hops.codegen.cplan">CodeTemplate</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Unary.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/java/Ternary.html" title="class in org.apache.sysds.hops.codegen.cplan.java"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/hops/codegen/cplan/java/Unary.html" target="_top">Frames</a></li>
+<li><a href="Unary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/cplan/java/class-use/Binary.html b/docs/api/java/org/apache/sysds/hops/codegen/cplan/java/class-use/Binary.html
new file mode 100644
index 0000000..b98401b
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/hops/codegen/cplan/java/class-use/Binary.html
@@ -0,0 +1,125 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.sysds.hops.codegen.cplan.java.Binary (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.sysds.hops.codegen.cplan.java.Binary (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../../org/apache/sysds/hops/codegen/cplan/java/Binary.html" title="class in org.apache.sysds.hops.codegen.cplan.java">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../../index.html?org/apache/sysds/hops/codegen/cplan/java/class-use/Binary.html" target="_top">Frames</a></li>
+<li><a href="Binary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.sysds.hops.codegen.cplan.java.Binary" class="title">Uses of Class<br>org.apache.sysds.hops.codegen.cplan.java.Binary</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.sysds.hops.codegen.cplan.java.Binary</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../../org/apache/sysds/hops/codegen/cplan/java/Binary.html" title="class in org.apache.sysds.hops.codegen.cplan.java">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../../index.html?org/apache/sysds/hops/codegen/cplan/java/class-use/Binary.html" target="_top">Frames</a></li>
+<li><a href="Binary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/cplan/java/class-use/Ternary.html b/docs/api/java/org/apache/sysds/hops/codegen/cplan/java/class-use/Ternary.html
new file mode 100644
index 0000000..fe7a5f0
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/hops/codegen/cplan/java/class-use/Ternary.html
@@ -0,0 +1,125 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.sysds.hops.codegen.cplan.java.Ternary (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.sysds.hops.codegen.cplan.java.Ternary (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../../org/apache/sysds/hops/codegen/cplan/java/Ternary.html" title="class in org.apache.sysds.hops.codegen.cplan.java">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../../index.html?org/apache/sysds/hops/codegen/cplan/java/class-use/Ternary.html" target="_top">Frames</a></li>
+<li><a href="Ternary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.sysds.hops.codegen.cplan.java.Ternary" class="title">Uses of Class<br>org.apache.sysds.hops.codegen.cplan.java.Ternary</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.sysds.hops.codegen.cplan.java.Ternary</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../../org/apache/sysds/hops/codegen/cplan/java/Ternary.html" title="class in org.apache.sysds.hops.codegen.cplan.java">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../../index.html?org/apache/sysds/hops/codegen/cplan/java/class-use/Ternary.html" target="_top">Frames</a></li>
+<li><a href="Ternary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/cplan/java/class-use/Unary.html b/docs/api/java/org/apache/sysds/hops/codegen/cplan/java/class-use/Unary.html
new file mode 100644
index 0000000..1e4f8b1
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/hops/codegen/cplan/java/class-use/Unary.html
@@ -0,0 +1,125 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.sysds.hops.codegen.cplan.java.Unary (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.sysds.hops.codegen.cplan.java.Unary (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../../org/apache/sysds/hops/codegen/cplan/java/Unary.html" title="class in org.apache.sysds.hops.codegen.cplan.java">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../../index.html?org/apache/sysds/hops/codegen/cplan/java/class-use/Unary.html" target="_top">Frames</a></li>
+<li><a href="Unary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.sysds.hops.codegen.cplan.java.Unary" class="title">Uses of Class<br>org.apache.sysds.hops.codegen.cplan.java.Unary</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.sysds.hops.codegen.cplan.java.Unary</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../../org/apache/sysds/hops/codegen/cplan/java/Unary.html" title="class in org.apache.sysds.hops.codegen.cplan.java">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../../index.html?org/apache/sysds/hops/codegen/cplan/java/class-use/Unary.html" target="_top">Frames</a></li>
+<li><a href="Unary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/cplan/java/package-frame.html b/docs/api/java/org/apache/sysds/hops/codegen/cplan/java/package-frame.html
new file mode 100644
index 0000000..d339f8d
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/hops/codegen/cplan/java/package-frame.html
@@ -0,0 +1,22 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.sysds.hops.codegen.cplan.java (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<h1 class="bar"><a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/java/package-summary.html" target="classFrame">org.apache.sysds.hops.codegen.cplan.java</a></h1>
+<div class="indexContainer">
+<h2 title="Classes">Classes</h2>
+<ul title="Classes">
+<li><a href="Binary.html" title="class in org.apache.sysds.hops.codegen.cplan.java" target="classFrame">Binary</a></li>
+<li><a href="Ternary.html" title="class in org.apache.sysds.hops.codegen.cplan.java" target="classFrame">Ternary</a></li>
+<li><a href="Unary.html" title="class in org.apache.sysds.hops.codegen.cplan.java" target="classFrame">Unary</a></li>
+</ul>
+</div>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/cplan/java/package-summary.html b/docs/api/java/org/apache/sysds/hops/codegen/cplan/java/package-summary.html
new file mode 100644
index 0000000..9f3d1d3
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/hops/codegen/cplan/java/package-summary.html
@@ -0,0 +1,151 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.sysds.hops.codegen.cplan.java (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.sysds.hops.codegen.cplan.java (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/cuda/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../../../org/apache/sysds/hops/codegen/opt/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/hops/codegen/cplan/java/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Package" class="title">Package&nbsp;org.apache.sysds.hops.codegen.cplan.java</h1>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
+<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Class</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/java/Binary.html" title="class in org.apache.sysds.hops.codegen.cplan.java">Binary</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/java/Ternary.html" title="class in org.apache.sysds.hops.codegen.cplan.java">Ternary</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/java/Unary.html" title="class in org.apache.sysds.hops.codegen.cplan.java">Unary</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/cuda/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../../../org/apache/sysds/hops/codegen/opt/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/hops/codegen/cplan/java/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/cplan/java/package-tree.html b/docs/api/java/org/apache/sysds/hops/codegen/cplan/java/package-tree.html
new file mode 100644
index 0000000..fa1dda7
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/hops/codegen/cplan/java/package-tree.html
@@ -0,0 +1,144 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.sysds.hops.codegen.cplan.java Class Hierarchy (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.sysds.hops.codegen.cplan.java Class Hierarchy (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/cuda/package-tree.html">Prev</a></li>
+<li><a href="../../../../../../../org/apache/sysds/hops/codegen/opt/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/hops/codegen/cplan/java/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 class="title">Hierarchy For Package org.apache.sysds.hops.codegen.cplan.java</h1>
+<span class="packageHierarchyLabel">Package Hierarchies:</span>
+<ul class="horizontal">
+<li><a href="../../../../../../../overview-tree.html">All Packages</a></li>
+</ul>
+</div>
+<div class="contentContainer">
+<h2 title="Class Hierarchy">Class Hierarchy</h2>
+<ul>
+<li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
+<ul>
+<li type="circle">org.apache.sysds.hops.codegen.cplan.<a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/CodeTemplate.html" title="class in org.apache.sysds.hops.codegen.cplan"><span class="typeNameLink">CodeTemplate</span></a>
+<ul>
+<li type="circle">org.apache.sysds.hops.codegen.cplan.java.<a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/java/Binary.html" title="class in org.apache.sysds.hops.codegen.cplan.java"><span class="typeNameLink">Binary</span></a></li>
+<li type="circle">org.apache.sysds.hops.codegen.cplan.java.<a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/java/Ternary.html" title="class in org.apache.sysds.hops.codegen.cplan.java"><span class="typeNameLink">Ternary</span></a></li>
+<li type="circle">org.apache.sysds.hops.codegen.cplan.java.<a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/java/Unary.html" title="class in org.apache.sysds.hops.codegen.cplan.java"><span class="typeNameLink">Unary</span></a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../../org/apache/sysds/hops/codegen/cplan/cuda/package-tree.html">Prev</a></li>
+<li><a href="../../../../../../../org/apache/sysds/hops/codegen/opt/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/hops/codegen/cplan/java/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/lib/class-use/LibScalar.html b/docs/api/java/org/apache/sysds/hops/codegen/cplan/java/package-use.html
similarity index 68%
copy from docs/api/java/org/apache/sysds/runtime/compress/lib/class-use/LibScalar.html
copy to docs/api/java/org/apache/sysds/hops/codegen/cplan/java/package-use.html
index ba0747d..d67dad8 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/lib/class-use/LibScalar.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/cplan/java/package-use.html
@@ -4,7 +4,7 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.sysds.runtime.compress.lib.LibScalar (SystemDS 2.1.0-SNAPSHOT API)</title>
+<title>Uses of Package org.apache.sysds.hops.codegen.cplan.java (SystemDS 2.1.0-SNAPSHOT API)</title>
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.sysds.runtime.compress.lib.LibScalar (SystemDS 2.1.0-SNAPSHOT API)";
+            parent.document.title="Uses of Package org.apache.sysds.hops.codegen.cplan.java (SystemDS 2.1.0-SNAPSHOT API)";
         }
     }
     catch(err) {
@@ -32,10 +32,10 @@
 </a>
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/LibScalar.html" title="class in org.apache.sysds.runtime.compress.lib">Class</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
 <li><a href="../../../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../../../help-doc.html">Help</a></li>
@@ -47,8 +47,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/lib/class-use/LibScalar.html" target="_top">Frames</a></li>
-<li><a href="LibScalar.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/hops/codegen/cplan/java/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -70,9 +70,9 @@
 </a></div>
 <!-- ========= END OF TOP NAVBAR ========= -->
 <div class="header">
-<h2 title="Uses of Class org.apache.sysds.runtime.compress.lib.LibScalar" class="title">Uses of Class<br>org.apache.sysds.runtime.compress.lib.LibScalar</h2>
+<h1 title="Uses of Package org.apache.sysds.hops.codegen.cplan.java" class="title">Uses of Package<br>org.apache.sysds.hops.codegen.cplan.java</h1>
 </div>
-<div class="classUseContainer">No usage of org.apache.sysds.runtime.compress.lib.LibScalar</div>
+<div class="contentContainer">No usage of org.apache.sysds.hops.codegen.cplan.java</div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
 <!--   -->
@@ -83,10 +83,10 @@
 </a>
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/LibScalar.html" title="class in org.apache.sysds.runtime.compress.lib">Class</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
 <li><a href="../../../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../../../help-doc.html">Help</a></li>
@@ -98,8 +98,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/lib/class-use/LibScalar.html" target="_top">Frames</a></li>
-<li><a href="LibScalar.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/hops/codegen/cplan/java/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/cplan/package-frame.html b/docs/api/java/org/apache/sysds/hops/codegen/cplan/package-frame.html
index 691b669..a6398bc 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/cplan/package-frame.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/cplan/package-frame.html
@@ -24,6 +24,7 @@
 <li><a href="CNodeTernary.html" title="class in org.apache.sysds.hops.codegen.cplan" target="classFrame">CNodeTernary</a></li>
 <li><a href="CNodeTpl.html" title="class in org.apache.sysds.hops.codegen.cplan" target="classFrame">CNodeTpl</a></li>
 <li><a href="CNodeUnary.html" title="class in org.apache.sysds.hops.codegen.cplan" target="classFrame">CNodeUnary</a></li>
+<li><a href="CodeTemplate.html" title="class in org.apache.sysds.hops.codegen.cplan" target="classFrame">CodeTemplate</a></li>
 </ul>
 <h2 title="Enums">Enums</h2>
 <ul title="Enums">
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/cplan/package-summary.html b/docs/api/java/org/apache/sysds/hops/codegen/cplan/package-summary.html
index 896e8ef..3f1624d 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/cplan/package-summary.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/cplan/package-summary.html
@@ -44,7 +44,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../../org/apache/sysds/hops/codegen/package-summary.html">Prev&nbsp;Package</a></li>
-<li><a href="../../../../../../org/apache/sysds/hops/codegen/opt/package-summary.html">Next&nbsp;Package</a></li>
+<li><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/cuda/package-summary.html">Next&nbsp;Package</a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/sysds/hops/codegen/cplan/package-summary.html" target="_top">Frames</a></li>
@@ -126,6 +126,10 @@
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeUnary.html" title="class in org.apache.sysds.hops.codegen.cplan">CNodeUnary</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CodeTemplate.html" title="class in org.apache.sysds.hops.codegen.cplan">CodeTemplate</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
 </tbody>
 </table>
 </li>
@@ -180,7 +184,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../../org/apache/sysds/hops/codegen/package-summary.html">Prev&nbsp;Package</a></li>
-<li><a href="../../../../../../org/apache/sysds/hops/codegen/opt/package-summary.html">Next&nbsp;Package</a></li>
+<li><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/cuda/package-summary.html">Next&nbsp;Package</a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/sysds/hops/codegen/cplan/package-summary.html" target="_top">Frames</a></li>
@@ -205,6 +209,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/cplan/package-tree.html b/docs/api/java/org/apache/sysds/hops/codegen/cplan/package-tree.html
index 84f31bf..f4e3d97 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/cplan/package-tree.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/cplan/package-tree.html
@@ -44,7 +44,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../../org/apache/sysds/hops/codegen/package-tree.html">Prev</a></li>
-<li><a href="../../../../../../org/apache/sysds/hops/codegen/opt/package-tree.html">Next</a></li>
+<li><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/cuda/package-tree.html">Next</a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/sysds/hops/codegen/cplan/package-tree.html" target="_top">Frames</a></li>
@@ -98,6 +98,7 @@
 <li type="circle">org.apache.sysds.hops.codegen.cplan.<a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeUnary.html" title="class in org.apache.sysds.hops.codegen.cplan"><span class="typeNameLink">CNodeUnary</span></a></li>
 </ul>
 </li>
+<li type="circle">org.apache.sysds.hops.codegen.cplan.<a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CodeTemplate.html" title="class in org.apache.sysds.hops.codegen.cplan"><span class="typeNameLink">CodeTemplate</span></a></li>
 </ul>
 </li>
 </ul>
@@ -139,7 +140,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../../org/apache/sysds/hops/codegen/package-tree.html">Prev</a></li>
-<li><a href="../../../../../../org/apache/sysds/hops/codegen/opt/package-tree.html">Next</a></li>
+<li><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/cuda/package-tree.html">Next</a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/sysds/hops/codegen/cplan/package-tree.html" target="_top">Frames</a></li>
@@ -164,6 +165,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/cplan/package-use.html b/docs/api/java/org/apache/sysds/hops/codegen/cplan/package-use.html
index 51fc55a..e47143b 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/cplan/package-use.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/cplan/package-use.html
@@ -87,10 +87,14 @@
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><a href="#org.apache.sysds.hops.codegen.template">org.apache.sysds.hops.codegen.template</a></td>
+<td class="colFirst"><a href="#org.apache.sysds.hops.codegen.cplan.java">org.apache.sysds.hops.codegen.cplan.java</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.hops.codegen.template">org.apache.sysds.hops.codegen.template</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.utils">org.apache.sysds.utils</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
@@ -130,6 +134,30 @@
 </tbody>
 </table>
 </li>
+<li class="blockList"><a name="org.apache.sysds.hops.codegen.cplan.java">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/package-summary.html">org.apache.sysds.hops.codegen.cplan</a> used by <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/java/package-summary.html">org.apache.sysds.hops.codegen.cplan.java</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/class-use/CNodeBinary.BinType.html#org.apache.sysds.hops.codegen.cplan.java">CNodeBinary.BinType</a>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/class-use/CNodeTernary.TernaryType.html#org.apache.sysds.hops.codegen.cplan.java">CNodeTernary.TernaryType</a>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/class-use/CNodeUnary.UnaryType.html#org.apache.sysds.hops.codegen.cplan.java">CNodeUnary.UnaryType</a>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/class-use/CodeTemplate.html#org.apache.sysds.hops.codegen.cplan.java">CodeTemplate</a>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
 <li class="blockList"><a name="org.apache.sysds.hops.codegen.template">
 <!--   -->
 </a>
@@ -227,6 +255,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/opt/InterestingPoint.DecisionType.html b/docs/api/java/org/apache/sysds/hops/codegen/opt/InterestingPoint.DecisionType.html
index 127e69b..6322e1c 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/opt/InterestingPoint.DecisionType.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/opt/InterestingPoint.DecisionType.html
@@ -341,6 +341,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/opt/InterestingPoint.html b/docs/api/java/org/apache/sysds/hops/codegen/opt/InterestingPoint.html
index a6fde0c..44162b9 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/opt/InterestingPoint.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/opt/InterestingPoint.html
@@ -456,6 +456,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/opt/PlanAnalyzer.html b/docs/api/java/org/apache/sysds/hops/codegen/opt/PlanAnalyzer.html
index 2ea4491..b6d1265 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/opt/PlanAnalyzer.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/opt/PlanAnalyzer.html
@@ -274,6 +274,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/opt/PlanPartition.html b/docs/api/java/org/apache/sysds/hops/codegen/opt/PlanPartition.html
index 00ae0c7..b7ad576 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/opt/PlanPartition.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/opt/PlanPartition.html
@@ -370,6 +370,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/opt/PlanSelection.VisitMarkCost.html b/docs/api/java/org/apache/sysds/hops/codegen/opt/PlanSelection.VisitMarkCost.html
index 7079a15..a456469 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/opt/PlanSelection.VisitMarkCost.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/opt/PlanSelection.VisitMarkCost.html
@@ -294,6 +294,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/opt/PlanSelection.html b/docs/api/java/org/apache/sysds/hops/codegen/opt/PlanSelection.html
index f7409a7..6df51d7 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/opt/PlanSelection.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/opt/PlanSelection.html
@@ -305,6 +305,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/opt/PlanSelectionFuseAll.html b/docs/api/java/org/apache/sysds/hops/codegen/opt/PlanSelectionFuseAll.html
index 315cf74..8d15447 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/opt/PlanSelectionFuseAll.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/opt/PlanSelectionFuseAll.html
@@ -309,6 +309,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/opt/PlanSelectionFuseCostBased.html b/docs/api/java/org/apache/sysds/hops/codegen/opt/PlanSelectionFuseCostBased.html
index b5ec51a..c8bb51b 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/opt/PlanSelectionFuseCostBased.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/opt/PlanSelectionFuseCostBased.html
@@ -309,6 +309,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/opt/PlanSelectionFuseCostBasedV2.html b/docs/api/java/org/apache/sysds/hops/codegen/opt/PlanSelectionFuseCostBasedV2.html
index bb017bc..6455d77 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/opt/PlanSelectionFuseCostBasedV2.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/opt/PlanSelectionFuseCostBasedV2.html
@@ -411,6 +411,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/opt/PlanSelectionFuseNoRedundancy.html b/docs/api/java/org/apache/sysds/hops/codegen/opt/PlanSelectionFuseNoRedundancy.html
index bfba8a3..a88a2d6 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/opt/PlanSelectionFuseNoRedundancy.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/opt/PlanSelectionFuseNoRedundancy.html
@@ -312,6 +312,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/opt/ReachabilityGraph.SubProblem.html b/docs/api/java/org/apache/sysds/hops/codegen/opt/ReachabilityGraph.SubProblem.html
index 07c67fb..431c9b6 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/opt/ReachabilityGraph.SubProblem.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/opt/ReachabilityGraph.SubProblem.html
@@ -341,6 +341,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/opt/ReachabilityGraph.html b/docs/api/java/org/apache/sysds/hops/codegen/opt/ReachabilityGraph.html
index 2d8f31d..2ea7b83 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/opt/ReachabilityGraph.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/opt/ReachabilityGraph.html
@@ -372,6 +372,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/opt/class-use/InterestingPoint.DecisionType.html b/docs/api/java/org/apache/sysds/hops/codegen/opt/class-use/InterestingPoint.DecisionType.html
index 4cd7c71..775d3ea 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/opt/class-use/InterestingPoint.DecisionType.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/opt/class-use/InterestingPoint.DecisionType.html
@@ -186,6 +186,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/opt/class-use/InterestingPoint.html b/docs/api/java/org/apache/sysds/hops/codegen/opt/class-use/InterestingPoint.html
index 4e86950..176df75 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/opt/class-use/InterestingPoint.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/opt/class-use/InterestingPoint.html
@@ -249,6 +249,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/opt/class-use/PlanAnalyzer.html b/docs/api/java/org/apache/sysds/hops/codegen/opt/class-use/PlanAnalyzer.html
index 7044cf8..ac23a73 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/opt/class-use/PlanAnalyzer.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/opt/class-use/PlanAnalyzer.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/opt/class-use/PlanPartition.html b/docs/api/java/org/apache/sysds/hops/codegen/opt/class-use/PlanPartition.html
index 29556a8..08fa339 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/opt/class-use/PlanPartition.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/opt/class-use/PlanPartition.html
@@ -174,6 +174,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/opt/class-use/PlanSelection.VisitMarkCost.html b/docs/api/java/org/apache/sysds/hops/codegen/opt/class-use/PlanSelection.VisitMarkCost.html
index d20734b..28fbaad 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/opt/class-use/PlanSelection.VisitMarkCost.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/opt/class-use/PlanSelection.VisitMarkCost.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/opt/class-use/PlanSelection.html b/docs/api/java/org/apache/sysds/hops/codegen/opt/class-use/PlanSelection.html
index 79fb2db..e382364 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/opt/class-use/PlanSelection.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/opt/class-use/PlanSelection.html
@@ -211,6 +211,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/opt/class-use/PlanSelectionFuseAll.html b/docs/api/java/org/apache/sysds/hops/codegen/opt/class-use/PlanSelectionFuseAll.html
index bccf4f8..aa1cfa1 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/opt/class-use/PlanSelectionFuseAll.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/opt/class-use/PlanSelectionFuseAll.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/opt/class-use/PlanSelectionFuseCostBased.html b/docs/api/java/org/apache/sysds/hops/codegen/opt/class-use/PlanSelectionFuseCostBased.html
index af60d76..a893146 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/opt/class-use/PlanSelectionFuseCostBased.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/opt/class-use/PlanSelectionFuseCostBased.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/opt/class-use/PlanSelectionFuseCostBasedV2.html b/docs/api/java/org/apache/sysds/hops/codegen/opt/class-use/PlanSelectionFuseCostBasedV2.html
index 55d26f7..7f729e4 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/opt/class-use/PlanSelectionFuseCostBasedV2.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/opt/class-use/PlanSelectionFuseCostBasedV2.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/opt/class-use/PlanSelectionFuseNoRedundancy.html b/docs/api/java/org/apache/sysds/hops/codegen/opt/class-use/PlanSelectionFuseNoRedundancy.html
index ce38f92..63c4688 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/opt/class-use/PlanSelectionFuseNoRedundancy.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/opt/class-use/PlanSelectionFuseNoRedundancy.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/opt/class-use/ReachabilityGraph.SubProblem.html b/docs/api/java/org/apache/sysds/hops/codegen/opt/class-use/ReachabilityGraph.SubProblem.html
index 8f3e40c..0e5153a 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/opt/class-use/ReachabilityGraph.SubProblem.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/opt/class-use/ReachabilityGraph.SubProblem.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/opt/class-use/ReachabilityGraph.html b/docs/api/java/org/apache/sysds/hops/codegen/opt/class-use/ReachabilityGraph.html
index aab3020..0b9d76a 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/opt/class-use/ReachabilityGraph.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/opt/class-use/ReachabilityGraph.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/opt/package-summary.html b/docs/api/java/org/apache/sysds/hops/codegen/opt/package-summary.html
index ed8e44e..b73fc36 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/opt/package-summary.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/opt/package-summary.html
@@ -43,7 +43,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/java/package-summary.html">Prev&nbsp;Package</a></li>
 <li><a href="../../../../../../org/apache/sysds/hops/codegen/template/package-summary.html">Next&nbsp;Package</a></li>
 </ul>
 <ul class="navList">
@@ -188,7 +188,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/java/package-summary.html">Prev&nbsp;Package</a></li>
 <li><a href="../../../../../../org/apache/sysds/hops/codegen/template/package-summary.html">Next&nbsp;Package</a></li>
 </ul>
 <ul class="navList">
@@ -214,6 +214,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/opt/package-tree.html b/docs/api/java/org/apache/sysds/hops/codegen/opt/package-tree.html
index 59599cb..4fd6ec8 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/opt/package-tree.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/opt/package-tree.html
@@ -43,7 +43,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/package-tree.html">Prev</a></li>
+<li><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/java/package-tree.html">Prev</a></li>
 <li><a href="../../../../../../org/apache/sysds/hops/codegen/template/package-tree.html">Next</a></li>
 </ul>
 <ul class="navList">
@@ -132,7 +132,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/package-tree.html">Prev</a></li>
+<li><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/java/package-tree.html">Prev</a></li>
 <li><a href="../../../../../../org/apache/sysds/hops/codegen/template/package-tree.html">Next</a></li>
 </ul>
 <ul class="navList">
@@ -158,6 +158,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/opt/package-use.html b/docs/api/java/org/apache/sysds/hops/codegen/opt/package-use.html
index 760bf8e..675caf8 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/opt/package-use.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/opt/package-use.html
@@ -207,6 +207,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/package-frame.html b/docs/api/java/org/apache/sysds/hops/codegen/package-frame.html
index 00302ef..e07a5f0 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/package-frame.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/package-frame.html
@@ -19,6 +19,7 @@
 <h2 title="Enums">Enums</h2>
 <ul title="Enums">
 <li><a href="SpoofCompiler.CompilerType.html" title="enum in org.apache.sysds.hops.codegen" target="classFrame">SpoofCompiler.CompilerType</a></li>
+<li><a href="SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen" target="classFrame">SpoofCompiler.GeneratorAPI</a></li>
 <li><a href="SpoofCompiler.IntegrationType.html" title="enum in org.apache.sysds.hops.codegen" target="classFrame">SpoofCompiler.IntegrationType</a></li>
 <li><a href="SpoofCompiler.PlanCachePolicy.html" title="enum in org.apache.sysds.hops.codegen" target="classFrame">SpoofCompiler.PlanCachePolicy</a></li>
 <li><a href="SpoofCompiler.PlanSelector.html" title="enum in org.apache.sysds.hops.codegen" target="classFrame">SpoofCompiler.PlanSelector</a></li>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/package-summary.html b/docs/api/java/org/apache/sysds/hops/codegen/package-summary.html
index 0e1f61f..3ae47bc 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/package-summary.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/package-summary.html
@@ -106,22 +106,26 @@
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.IntegrationType.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.IntegrationType</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.PlanCachePolicy.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.PlanCachePolicy</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.PlanSelector.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.PlanSelector</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.RegisterAlloc.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.RegisterAlloc</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/sysds/hops/codegen/SpoofFusedOp.SpoofOutputDimsType.html" title="enum in org.apache.sysds.hops.codegen">SpoofFusedOp.SpoofOutputDimsType</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
@@ -177,6 +181,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/package-tree.html b/docs/api/java/org/apache/sysds/hops/codegen/package-tree.html
index 6ebf696..271179a 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/package-tree.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/package-tree.html
@@ -101,6 +101,7 @@
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
 <li type="circle">org.apache.sysds.hops.codegen.<a href="../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.CompilerType.html" title="enum in org.apache.sysds.hops.codegen"><span class="typeNameLink">SpoofCompiler.CompilerType</span></a></li>
+<li type="circle">org.apache.sysds.hops.codegen.<a href="../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen"><span class="typeNameLink">SpoofCompiler.GeneratorAPI</span></a></li>
 <li type="circle">org.apache.sysds.hops.codegen.<a href="../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.IntegrationType.html" title="enum in org.apache.sysds.hops.codegen"><span class="typeNameLink">SpoofCompiler.IntegrationType</span></a></li>
 <li type="circle">org.apache.sysds.hops.codegen.<a href="../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.PlanCachePolicy.html" title="enum in org.apache.sysds.hops.codegen"><span class="typeNameLink">SpoofCompiler.PlanCachePolicy</span></a></li>
 <li type="circle">org.apache.sysds.hops.codegen.<a href="../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.PlanSelector.html" title="enum in org.apache.sysds.hops.codegen"><span class="typeNameLink">SpoofCompiler.PlanSelector</span></a></li>
@@ -159,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/package-use.html b/docs/api/java/org/apache/sysds/hops/codegen/package-use.html
index b492caa..355be91 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/package-use.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/package-use.html
@@ -90,6 +90,10 @@
 <td class="colFirst"><a href="#org.apache.sysds.hops.codegen.cplan">org.apache.sysds.hops.codegen.cplan</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.lops">org.apache.sysds.lops</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
 </tbody>
 </table>
 </li>
@@ -106,18 +110,21 @@
 <td class="colOne"><a href="../../../../../org/apache/sysds/hops/codegen/class-use/SpoofCompiler.CompilerType.html#org.apache.sysds.hops.codegen">SpoofCompiler.CompilerType</a>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colOne"><a href="../../../../../org/apache/sysds/hops/codegen/class-use/SpoofCompiler.GeneratorAPI.html#org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../org/apache/sysds/hops/codegen/class-use/SpoofCompiler.IntegrationType.html#org.apache.sysds.hops.codegen">SpoofCompiler.IntegrationType</a>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../org/apache/sysds/hops/codegen/class-use/SpoofCompiler.PlanCachePolicy.html#org.apache.sysds.hops.codegen">SpoofCompiler.PlanCachePolicy</a>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../org/apache/sysds/hops/codegen/class-use/SpoofCompiler.PlanSelector.html#org.apache.sysds.hops.codegen">SpoofCompiler.PlanSelector</a>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../org/apache/sysds/hops/codegen/class-use/SpoofCompiler.RegisterAlloc.html#org.apache.sysds.hops.codegen">SpoofCompiler.RegisterAlloc</a>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../org/apache/sysds/hops/codegen/class-use/SpoofFusedOp.SpoofOutputDimsType.html#org.apache.sysds.hops.codegen">SpoofFusedOp.SpoofOutputDimsType</a>&nbsp;</td>
 </tr>
 </tbody>
@@ -133,11 +140,29 @@
 </tr>
 <tbody>
 <tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/sysds/hops/codegen/class-use/SpoofCompiler.GeneratorAPI.html#org.apache.sysds.hops.codegen.cplan">SpoofCompiler.GeneratorAPI</a>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../org/apache/sysds/hops/codegen/class-use/SpoofFusedOp.SpoofOutputDimsType.html#org.apache.sysds.hops.codegen.cplan">SpoofFusedOp.SpoofOutputDimsType</a>&nbsp;</td>
 </tr>
 </tbody>
 </table>
 </li>
+<li class="blockList"><a name="org.apache.sysds.lops">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/sysds/hops/codegen/package-summary.html">org.apache.sysds.hops.codegen</a> used by <a href="../../../../../org/apache/sysds/lops/package-summary.html">org.apache.sysds.lops</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/sysds/hops/codegen/class-use/SpoofCompiler.GeneratorAPI.html#org.apache.sysds.lops">SpoofCompiler.GeneratorAPI</a>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
 </ul>
 </div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
@@ -187,6 +212,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/template/CPlanCSERewriter.html b/docs/api/java/org/apache/sysds/hops/codegen/template/CPlanCSERewriter.html
index ed78886..7ec6341 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/template/CPlanCSERewriter.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/template/CPlanCSERewriter.html
@@ -267,6 +267,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/template/CPlanMemoTable.MemoTableEntry.html b/docs/api/java/org/apache/sysds/hops/codegen/template/CPlanMemoTable.MemoTableEntry.html
index 02c1516..40b2f42 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/template/CPlanMemoTable.MemoTableEntry.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/template/CPlanMemoTable.MemoTableEntry.html
@@ -570,6 +570,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/template/CPlanMemoTable.MemoTableEntrySet.html b/docs/api/java/org/apache/sysds/hops/codegen/template/CPlanMemoTable.MemoTableEntrySet.html
index 217b084..fe08749 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/template/CPlanMemoTable.MemoTableEntrySet.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/template/CPlanMemoTable.MemoTableEntrySet.html
@@ -330,6 +330,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/template/CPlanMemoTable.html b/docs/api/java/org/apache/sysds/hops/codegen/template/CPlanMemoTable.html
index a3fb9f5..b56f7fa 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/template/CPlanMemoTable.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/template/CPlanMemoTable.html
@@ -858,6 +858,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/template/CPlanOpRewriter.html b/docs/api/java/org/apache/sysds/hops/codegen/template/CPlanOpRewriter.html
index 7326791..011d850 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/template/CPlanOpRewriter.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/template/CPlanOpRewriter.html
@@ -276,6 +276,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/template/TemplateBase.CloseType.html b/docs/api/java/org/apache/sysds/hops/codegen/template/TemplateBase.CloseType.html
index 9181388..bac6c92 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/template/TemplateBase.CloseType.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/template/TemplateBase.CloseType.html
@@ -391,6 +391,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/template/TemplateBase.TemplateType.html b/docs/api/java/org/apache/sysds/hops/codegen/template/TemplateBase.TemplateType.html
index 1ded887..b155e44 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/template/TemplateBase.TemplateType.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/template/TemplateBase.TemplateType.html
@@ -391,6 +391,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/template/TemplateBase.html b/docs/api/java/org/apache/sysds/hops/codegen/template/TemplateBase.html
index bc77d44..fc92718 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/template/TemplateBase.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/template/TemplateBase.html
@@ -460,6 +460,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/template/TemplateCell.HopInputComparator.html b/docs/api/java/org/apache/sysds/hops/codegen/template/TemplateCell.HopInputComparator.html
index 95a9d50..31ee930 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/template/TemplateCell.HopInputComparator.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/template/TemplateCell.HopInputComparator.html
@@ -305,6 +305,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/template/TemplateCell.html b/docs/api/java/org/apache/sysds/hops/codegen/template/TemplateCell.html
index 91f0708..fef15c7 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/template/TemplateCell.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/template/TemplateCell.html
@@ -479,6 +479,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/template/TemplateMultiAgg.html b/docs/api/java/org/apache/sysds/hops/codegen/template/TemplateMultiAgg.html
index fcadf38..9a92f9f 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/template/TemplateMultiAgg.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/template/TemplateMultiAgg.html
@@ -460,6 +460,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/template/TemplateOuterProduct.html b/docs/api/java/org/apache/sysds/hops/codegen/template/TemplateOuterProduct.html
index ef53ee3..c4a57dc 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/template/TemplateOuterProduct.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/template/TemplateOuterProduct.html
@@ -465,6 +465,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/template/TemplateRow.HopInputComparator.html b/docs/api/java/org/apache/sysds/hops/codegen/template/TemplateRow.HopInputComparator.html
index 02f7686..f9d25e3 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/template/TemplateRow.HopInputComparator.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/template/TemplateRow.HopInputComparator.html
@@ -294,6 +294,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/template/TemplateRow.html b/docs/api/java/org/apache/sysds/hops/codegen/template/TemplateRow.html
index ced4a95..32815e3 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/template/TemplateRow.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/template/TemplateRow.html
@@ -461,6 +461,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/template/TemplateUtils.html b/docs/api/java/org/apache/sysds/hops/codegen/template/TemplateUtils.html
index 7eb432f..90845dd 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/template/TemplateUtils.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/template/TemplateUtils.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":9,"i11":9,"i12":9,"i13":9,"i14":9,"i15":9,"i16":9,"i17":9,"i18":9,"i19":9,"i20":9,"i21":9,"i22":9,"i23":9,"i24":9,"i25":9,"i26":9,"i27":9,"i28":9,"i29":9,"i30":9,"i31":9,"i32":9,"i33":9,"i34":9,"i35":9,"i36":9,"i37":9,"i38":9,"i39":9,"i40":9,"i41":9,"i42":9,"i43":9,"i44":9,"i45":9,"i46":9,"i47":9,"i48":9,"i49":9,"i50":9,"i51":9,"i52":9,"i53":9};
+var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":9,"i11":9,"i12":9,"i13":9,"i14":9,"i15":9,"i16":9,"i17":9,"i18":9,"i19":9,"i20":9,"i21":9,"i22":9,"i23":9,"i24":9,"i25":9,"i26":9,"i27":9,"i28":9,"i29":9,"i30":9,"i31":9,"i32":9,"i33":9,"i34":9,"i35":9,"i36":9,"i37":9,"i38":9,"i39":9,"i40":9,"i41":9,"i42":9,"i43":9,"i44":9,"i45":9,"i46":9,"i47":9,"i48":9,"i49":9,"i50":9,"i51":9,"i52":9,"i53":9,"i54":9};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -423,6 +423,12 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/template/TemplateUtils.html#wrapLookupIfNecessary-org.apache.sysds.hops.codegen.cplan.CNode-org.apache.sysds.hops.Hop-">wrapLookupIfNecessary</a></span>(<a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html" title="class in org.apache.sysds.hops.codegen.cplan">CNode</a>&nbsp;node,
                      <a href="../../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop)</code>&nbsp;</td>
 </tr>
+<tr id="i54" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html" title="class in org.apache.sysds.hops.codegen.cplan">CNode</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/template/TemplateUtils.html#wrapLookupIfNecessary-org.apache.sysds.hops.codegen.cplan.CNode-org.apache.sysds.hops.Hop-boolean-">wrapLookupIfNecessary</a></span>(<a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html" title="class in org.apache.sysds.hops.codegen.cplan">CNode</a>&nbsp;node,
+                     <a href="../../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop,
+                     boolean&nbsp;rowTpl)</code>&nbsp;</td>
+</tr>
 </table>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -534,6 +540,17 @@
                                           <a href="../../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop)</pre>
 </li>
 </ul>
+<a name="wrapLookupIfNecessary-org.apache.sysds.hops.codegen.cplan.CNode-org.apache.sysds.hops.Hop-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>wrapLookupIfNecessary</h4>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html" title="class in org.apache.sysds.hops.codegen.cplan">CNode</a>&nbsp;wrapLookupIfNecessary(<a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNode.html" title="class in org.apache.sysds.hops.codegen.cplan">CNode</a>&nbsp;node,
+                                          <a href="../../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop,
+                                          boolean&nbsp;rowTpl)</pre>
+</li>
+</ul>
 <a name="isMatrix-org.apache.sysds.hops.Hop-">
 <!--   -->
 </a>
@@ -1076,6 +1093,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/template/class-use/CPlanCSERewriter.html b/docs/api/java/org/apache/sysds/hops/codegen/template/class-use/CPlanCSERewriter.html
index 3c4e4ac..1938a21 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/template/class-use/CPlanCSERewriter.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/template/class-use/CPlanCSERewriter.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/template/class-use/CPlanMemoTable.MemoTableEntry.html b/docs/api/java/org/apache/sysds/hops/codegen/template/class-use/CPlanMemoTable.MemoTableEntry.html
index fd0fb12..595446a 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/template/class-use/CPlanMemoTable.MemoTableEntry.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/template/class-use/CPlanMemoTable.MemoTableEntry.html
@@ -294,6 +294,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/template/class-use/CPlanMemoTable.MemoTableEntrySet.html b/docs/api/java/org/apache/sysds/hops/codegen/template/class-use/CPlanMemoTable.MemoTableEntrySet.html
index d6d32ec9..03c70d7 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/template/class-use/CPlanMemoTable.MemoTableEntrySet.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/template/class-use/CPlanMemoTable.MemoTableEntrySet.html
@@ -161,6 +161,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/template/class-use/CPlanMemoTable.html b/docs/api/java/org/apache/sysds/hops/codegen/template/class-use/CPlanMemoTable.html
index dc5f7f8..777b48f 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/template/class-use/CPlanMemoTable.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/template/class-use/CPlanMemoTable.html
@@ -272,6 +272,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/template/class-use/CPlanOpRewriter.html b/docs/api/java/org/apache/sysds/hops/codegen/template/class-use/CPlanOpRewriter.html
index 0b1d0bb..a8db7b3 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/template/class-use/CPlanOpRewriter.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/template/class-use/CPlanOpRewriter.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/template/class-use/TemplateBase.CloseType.html b/docs/api/java/org/apache/sysds/hops/codegen/template/class-use/TemplateBase.CloseType.html
index 66b79d1..587e158 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/template/class-use/TemplateBase.CloseType.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/template/class-use/TemplateBase.CloseType.html
@@ -260,6 +260,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/template/class-use/TemplateBase.TemplateType.html b/docs/api/java/org/apache/sysds/hops/codegen/template/class-use/TemplateBase.TemplateType.html
index 2021e8a..8647e7f 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/template/class-use/TemplateBase.TemplateType.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/template/class-use/TemplateBase.TemplateType.html
@@ -365,6 +365,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/template/class-use/TemplateBase.html b/docs/api/java/org/apache/sysds/hops/codegen/template/class-use/TemplateBase.html
index c9bbfc7..0472ce4 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/template/class-use/TemplateBase.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/template/class-use/TemplateBase.html
@@ -234,6 +234,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/template/class-use/TemplateCell.HopInputComparator.html b/docs/api/java/org/apache/sysds/hops/codegen/template/class-use/TemplateCell.HopInputComparator.html
index 8248898..c106429 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/template/class-use/TemplateCell.HopInputComparator.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/template/class-use/TemplateCell.HopInputComparator.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/template/class-use/TemplateCell.html b/docs/api/java/org/apache/sysds/hops/codegen/template/class-use/TemplateCell.html
index 29edfa5..5ea1cbc 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/template/class-use/TemplateCell.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/template/class-use/TemplateCell.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/template/class-use/TemplateMultiAgg.html b/docs/api/java/org/apache/sysds/hops/codegen/template/class-use/TemplateMultiAgg.html
index c178885..8291f0a 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/template/class-use/TemplateMultiAgg.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/template/class-use/TemplateMultiAgg.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/template/class-use/TemplateOuterProduct.html b/docs/api/java/org/apache/sysds/hops/codegen/template/class-use/TemplateOuterProduct.html
index 9824778..9695b15 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/template/class-use/TemplateOuterProduct.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/template/class-use/TemplateOuterProduct.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/template/class-use/TemplateRow.HopInputComparator.html b/docs/api/java/org/apache/sysds/hops/codegen/template/class-use/TemplateRow.HopInputComparator.html
index 8021e1c..feacd25 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/template/class-use/TemplateRow.HopInputComparator.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/template/class-use/TemplateRow.HopInputComparator.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/template/class-use/TemplateRow.html b/docs/api/java/org/apache/sysds/hops/codegen/template/class-use/TemplateRow.html
index b204203..528ab1b 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/template/class-use/TemplateRow.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/template/class-use/TemplateRow.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/template/class-use/TemplateUtils.html b/docs/api/java/org/apache/sysds/hops/codegen/template/class-use/TemplateUtils.html
index 6e4b36b..36a9444 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/template/class-use/TemplateUtils.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/template/class-use/TemplateUtils.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/template/package-summary.html b/docs/api/java/org/apache/sysds/hops/codegen/template/package-summary.html
index 616c608..a6a5e41 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/template/package-summary.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/template/package-summary.html
@@ -212,6 +212,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/template/package-tree.html b/docs/api/java/org/apache/sysds/hops/codegen/template/package-tree.html
index 63299c6..07c89da 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/template/package-tree.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/template/package-tree.html
@@ -164,6 +164,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/codegen/template/package-use.html b/docs/api/java/org/apache/sysds/hops/codegen/template/package-use.html
index a2077ed..48a26e6 100644
--- a/docs/api/java/org/apache/sysds/hops/codegen/template/package-use.html
+++ b/docs/api/java/org/apache/sysds/hops/codegen/template/package-use.html
@@ -193,6 +193,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/cost/CostEstimationWrapper.CostType.html b/docs/api/java/org/apache/sysds/hops/cost/CostEstimationWrapper.CostType.html
index 819229e..01973e6 100644
--- a/docs/api/java/org/apache/sysds/hops/cost/CostEstimationWrapper.CostType.html
+++ b/docs/api/java/org/apache/sysds/hops/cost/CostEstimationWrapper.CostType.html
@@ -341,6 +341,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/cost/CostEstimationWrapper.html b/docs/api/java/org/apache/sysds/hops/cost/CostEstimationWrapper.html
index 3eb46b4..4da32f2 100644
--- a/docs/api/java/org/apache/sysds/hops/cost/CostEstimationWrapper.html
+++ b/docs/api/java/org/apache/sysds/hops/cost/CostEstimationWrapper.html
@@ -305,6 +305,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/cost/CostEstimator.html b/docs/api/java/org/apache/sysds/hops/cost/CostEstimator.html
index 7f6978e..6901fd1 100644
--- a/docs/api/java/org/apache/sysds/hops/cost/CostEstimator.html
+++ b/docs/api/java/org/apache/sysds/hops/cost/CostEstimator.html
@@ -294,6 +294,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/cost/CostEstimatorStaticRuntime.html b/docs/api/java/org/apache/sysds/hops/cost/CostEstimatorStaticRuntime.html
index 9f32b3b..2f7796f 100644
--- a/docs/api/java/org/apache/sysds/hops/cost/CostEstimatorStaticRuntime.html
+++ b/docs/api/java/org/apache/sysds/hops/cost/CostEstimatorStaticRuntime.html
@@ -352,6 +352,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/cost/VarStats.html b/docs/api/java/org/apache/sysds/hops/cost/VarStats.html
index 175869b..759674a 100644
--- a/docs/api/java/org/apache/sysds/hops/cost/VarStats.html
+++ b/docs/api/java/org/apache/sysds/hops/cost/VarStats.html
@@ -335,6 +335,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/cost/class-use/CostEstimationWrapper.CostType.html b/docs/api/java/org/apache/sysds/hops/cost/class-use/CostEstimationWrapper.CostType.html
index ec79f41..68a7172 100644
--- a/docs/api/java/org/apache/sysds/hops/cost/class-use/CostEstimationWrapper.CostType.html
+++ b/docs/api/java/org/apache/sysds/hops/cost/class-use/CostEstimationWrapper.CostType.html
@@ -169,6 +169,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/cost/class-use/CostEstimationWrapper.html b/docs/api/java/org/apache/sysds/hops/cost/class-use/CostEstimationWrapper.html
index d396d93..f075266 100644
--- a/docs/api/java/org/apache/sysds/hops/cost/class-use/CostEstimationWrapper.html
+++ b/docs/api/java/org/apache/sysds/hops/cost/class-use/CostEstimationWrapper.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/cost/class-use/CostEstimator.html b/docs/api/java/org/apache/sysds/hops/cost/class-use/CostEstimator.html
index 3d33195..82fc528 100644
--- a/docs/api/java/org/apache/sysds/hops/cost/class-use/CostEstimator.html
+++ b/docs/api/java/org/apache/sysds/hops/cost/class-use/CostEstimator.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/cost/class-use/CostEstimatorStaticRuntime.html b/docs/api/java/org/apache/sysds/hops/cost/class-use/CostEstimatorStaticRuntime.html
index cdfa38a..3886774 100644
--- a/docs/api/java/org/apache/sysds/hops/cost/class-use/CostEstimatorStaticRuntime.html
+++ b/docs/api/java/org/apache/sysds/hops/cost/class-use/CostEstimatorStaticRuntime.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/cost/class-use/VarStats.html b/docs/api/java/org/apache/sysds/hops/cost/class-use/VarStats.html
index 4f2b0cf..a40ffc2 100644
--- a/docs/api/java/org/apache/sysds/hops/cost/class-use/VarStats.html
+++ b/docs/api/java/org/apache/sysds/hops/cost/class-use/VarStats.html
@@ -169,6 +169,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/cost/package-summary.html b/docs/api/java/org/apache/sysds/hops/cost/package-summary.html
index eff23ac..75b3673 100644
--- a/docs/api/java/org/apache/sysds/hops/cost/package-summary.html
+++ b/docs/api/java/org/apache/sysds/hops/cost/package-summary.html
@@ -165,6 +165,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/cost/package-tree.html b/docs/api/java/org/apache/sysds/hops/cost/package-tree.html
index e0afe23..15085b9 100644
--- a/docs/api/java/org/apache/sysds/hops/cost/package-tree.html
+++ b/docs/api/java/org/apache/sysds/hops/cost/package-tree.html
@@ -151,6 +151,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/cost/package-use.html b/docs/api/java/org/apache/sysds/hops/cost/package-use.html
index 0d6e016..8969dec 100644
--- a/docs/api/java/org/apache/sysds/hops/cost/package-use.html
+++ b/docs/api/java/org/apache/sysds/hops/cost/package-use.html
@@ -159,6 +159,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/estim/EstimationUtils.html b/docs/api/java/org/apache/sysds/hops/estim/EstimationUtils.html
index 87d193d..ff688f4 100644
--- a/docs/api/java/org/apache/sysds/hops/estim/EstimationUtils.html
+++ b/docs/api/java/org/apache/sysds/hops/estim/EstimationUtils.html
@@ -295,6 +295,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/estim/EstimatorBasicAvg.html b/docs/api/java/org/apache/sysds/hops/estim/EstimatorBasicAvg.html
index b63cfd1..5f64e09 100644
--- a/docs/api/java/org/apache/sysds/hops/estim/EstimatorBasicAvg.html
+++ b/docs/api/java/org/apache/sysds/hops/estim/EstimatorBasicAvg.html
@@ -405,6 +405,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/estim/EstimatorBasicWorst.html b/docs/api/java/org/apache/sysds/hops/estim/EstimatorBasicWorst.html
index f9a7a0b..35b570b 100644
--- a/docs/api/java/org/apache/sysds/hops/estim/EstimatorBasicWorst.html
+++ b/docs/api/java/org/apache/sysds/hops/estim/EstimatorBasicWorst.html
@@ -409,6 +409,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/estim/EstimatorBitsetMM.BitsetMatrix.html b/docs/api/java/org/apache/sysds/hops/estim/EstimatorBitsetMM.BitsetMatrix.html
index 35af4c6..9b5fb17 100644
--- a/docs/api/java/org/apache/sysds/hops/estim/EstimatorBitsetMM.BitsetMatrix.html
+++ b/docs/api/java/org/apache/sysds/hops/estim/EstimatorBitsetMM.BitsetMatrix.html
@@ -359,6 +359,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/estim/EstimatorBitsetMM.BitsetMatrix1.html b/docs/api/java/org/apache/sysds/hops/estim/EstimatorBitsetMM.BitsetMatrix1.html
index d4959ee..51fa6be 100644
--- a/docs/api/java/org/apache/sysds/hops/estim/EstimatorBitsetMM.BitsetMatrix1.html
+++ b/docs/api/java/org/apache/sysds/hops/estim/EstimatorBitsetMM.BitsetMatrix1.html
@@ -392,6 +392,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/estim/EstimatorBitsetMM.BitsetMatrix2.html b/docs/api/java/org/apache/sysds/hops/estim/EstimatorBitsetMM.BitsetMatrix2.html
index e8d1e1c..94cedb2 100644
--- a/docs/api/java/org/apache/sysds/hops/estim/EstimatorBitsetMM.BitsetMatrix2.html
+++ b/docs/api/java/org/apache/sysds/hops/estim/EstimatorBitsetMM.BitsetMatrix2.html
@@ -374,6 +374,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/estim/EstimatorBitsetMM.html b/docs/api/java/org/apache/sysds/hops/estim/EstimatorBitsetMM.html
index b0e0b85..852844a 100644
--- a/docs/api/java/org/apache/sysds/hops/estim/EstimatorBitsetMM.html
+++ b/docs/api/java/org/apache/sysds/hops/estim/EstimatorBitsetMM.html
@@ -460,6 +460,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/estim/EstimatorDensityMap.DensityMap.html b/docs/api/java/org/apache/sysds/hops/estim/EstimatorDensityMap.DensityMap.html
index ba882bd..19882f8 100644
--- a/docs/api/java/org/apache/sysds/hops/estim/EstimatorDensityMap.DensityMap.html
+++ b/docs/api/java/org/apache/sysds/hops/estim/EstimatorDensityMap.DensityMap.html
@@ -425,6 +425,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/estim/EstimatorDensityMap.html b/docs/api/java/org/apache/sysds/hops/estim/EstimatorDensityMap.html
index 0a74ded..cd9af36 100644
--- a/docs/api/java/org/apache/sysds/hops/estim/EstimatorDensityMap.html
+++ b/docs/api/java/org/apache/sysds/hops/estim/EstimatorDensityMap.html
@@ -463,6 +463,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/estim/EstimatorLayeredGraph.LayeredGraph.html b/docs/api/java/org/apache/sysds/hops/estim/EstimatorLayeredGraph.LayeredGraph.html
index caf46ff..149e375 100644
--- a/docs/api/java/org/apache/sysds/hops/estim/EstimatorLayeredGraph.LayeredGraph.html
+++ b/docs/api/java/org/apache/sysds/hops/estim/EstimatorLayeredGraph.LayeredGraph.html
@@ -286,6 +286,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/estim/EstimatorLayeredGraph.html b/docs/api/java/org/apache/sysds/hops/estim/EstimatorLayeredGraph.html
index 9fcf15f..707acc1 100644
--- a/docs/api/java/org/apache/sysds/hops/estim/EstimatorLayeredGraph.html
+++ b/docs/api/java/org/apache/sysds/hops/estim/EstimatorLayeredGraph.html
@@ -430,6 +430,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/estim/EstimatorMatrixHistogram.MatrixHistogram.html b/docs/api/java/org/apache/sysds/hops/estim/EstimatorMatrixHistogram.MatrixHistogram.html
index 2211bdd..23b2b08 100644
--- a/docs/api/java/org/apache/sysds/hops/estim/EstimatorMatrixHistogram.MatrixHistogram.html
+++ b/docs/api/java/org/apache/sysds/hops/estim/EstimatorMatrixHistogram.MatrixHistogram.html
@@ -402,6 +402,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/estim/EstimatorMatrixHistogram.html b/docs/api/java/org/apache/sysds/hops/estim/EstimatorMatrixHistogram.html
index cd10aea..cd4e139 100644
--- a/docs/api/java/org/apache/sysds/hops/estim/EstimatorMatrixHistogram.html
+++ b/docs/api/java/org/apache/sysds/hops/estim/EstimatorMatrixHistogram.html
@@ -464,6 +464,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/estim/EstimatorSample.html b/docs/api/java/org/apache/sysds/hops/estim/EstimatorSample.html
index 2a6a49e..3099ec3 100644
--- a/docs/api/java/org/apache/sysds/hops/estim/EstimatorSample.html
+++ b/docs/api/java/org/apache/sysds/hops/estim/EstimatorSample.html
@@ -438,6 +438,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/estim/EstimatorSampleRa.html b/docs/api/java/org/apache/sysds/hops/estim/EstimatorSampleRa.html
index 1d75387..4d96322 100644
--- a/docs/api/java/org/apache/sysds/hops/estim/EstimatorSampleRa.html
+++ b/docs/api/java/org/apache/sysds/hops/estim/EstimatorSampleRa.html
@@ -472,6 +472,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/estim/MMNode.html b/docs/api/java/org/apache/sysds/hops/estim/MMNode.html
index 4d3df9b..850ac10 100644
--- a/docs/api/java/org/apache/sysds/hops/estim/MMNode.html
+++ b/docs/api/java/org/apache/sysds/hops/estim/MMNode.html
@@ -502,6 +502,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/estim/SparsityEstimator.OpCode.html b/docs/api/java/org/apache/sysds/hops/estim/SparsityEstimator.OpCode.html
index 3193f02..ddf3e0b 100644
--- a/docs/api/java/org/apache/sysds/hops/estim/SparsityEstimator.OpCode.html
+++ b/docs/api/java/org/apache/sysds/hops/estim/SparsityEstimator.OpCode.html
@@ -437,6 +437,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/estim/SparsityEstimator.html b/docs/api/java/org/apache/sysds/hops/estim/SparsityEstimator.html
index 4f80065..bf520f7 100644
--- a/docs/api/java/org/apache/sysds/hops/estim/SparsityEstimator.html
+++ b/docs/api/java/org/apache/sysds/hops/estim/SparsityEstimator.html
@@ -445,6 +445,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/estim/class-use/EstimationUtils.html b/docs/api/java/org/apache/sysds/hops/estim/class-use/EstimationUtils.html
index 91ad108..0a1f022 100644
--- a/docs/api/java/org/apache/sysds/hops/estim/class-use/EstimationUtils.html
+++ b/docs/api/java/org/apache/sysds/hops/estim/class-use/EstimationUtils.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/estim/class-use/EstimatorBasicAvg.html b/docs/api/java/org/apache/sysds/hops/estim/class-use/EstimatorBasicAvg.html
index 4fc9972..b18800f 100644
--- a/docs/api/java/org/apache/sysds/hops/estim/class-use/EstimatorBasicAvg.html
+++ b/docs/api/java/org/apache/sysds/hops/estim/class-use/EstimatorBasicAvg.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/estim/class-use/EstimatorBasicWorst.html b/docs/api/java/org/apache/sysds/hops/estim/class-use/EstimatorBasicWorst.html
index 5a5335b..dbad81b 100644
--- a/docs/api/java/org/apache/sysds/hops/estim/class-use/EstimatorBasicWorst.html
+++ b/docs/api/java/org/apache/sysds/hops/estim/class-use/EstimatorBasicWorst.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/estim/class-use/EstimatorBitsetMM.BitsetMatrix.html b/docs/api/java/org/apache/sysds/hops/estim/class-use/EstimatorBitsetMM.BitsetMatrix.html
index 4c79814..46843cc 100644
--- a/docs/api/java/org/apache/sysds/hops/estim/class-use/EstimatorBitsetMM.BitsetMatrix.html
+++ b/docs/api/java/org/apache/sysds/hops/estim/class-use/EstimatorBitsetMM.BitsetMatrix.html
@@ -269,6 +269,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/estim/class-use/EstimatorBitsetMM.BitsetMatrix1.html b/docs/api/java/org/apache/sysds/hops/estim/class-use/EstimatorBitsetMM.BitsetMatrix1.html
index 04e342e..4c975df 100644
--- a/docs/api/java/org/apache/sysds/hops/estim/class-use/EstimatorBitsetMM.BitsetMatrix1.html
+++ b/docs/api/java/org/apache/sysds/hops/estim/class-use/EstimatorBitsetMM.BitsetMatrix1.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/estim/class-use/EstimatorBitsetMM.BitsetMatrix2.html b/docs/api/java/org/apache/sysds/hops/estim/class-use/EstimatorBitsetMM.BitsetMatrix2.html
index bf8500e..6e74d4a 100644
--- a/docs/api/java/org/apache/sysds/hops/estim/class-use/EstimatorBitsetMM.BitsetMatrix2.html
+++ b/docs/api/java/org/apache/sysds/hops/estim/class-use/EstimatorBitsetMM.BitsetMatrix2.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/estim/class-use/EstimatorBitsetMM.html b/docs/api/java/org/apache/sysds/hops/estim/class-use/EstimatorBitsetMM.html
index 676ace2..f15fc3c 100644
--- a/docs/api/java/org/apache/sysds/hops/estim/class-use/EstimatorBitsetMM.html
+++ b/docs/api/java/org/apache/sysds/hops/estim/class-use/EstimatorBitsetMM.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/estim/class-use/EstimatorDensityMap.DensityMap.html b/docs/api/java/org/apache/sysds/hops/estim/class-use/EstimatorDensityMap.DensityMap.html
index 757088c..84bd855 100644
--- a/docs/api/java/org/apache/sysds/hops/estim/class-use/EstimatorDensityMap.DensityMap.html
+++ b/docs/api/java/org/apache/sysds/hops/estim/class-use/EstimatorDensityMap.DensityMap.html
@@ -181,6 +181,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/estim/class-use/EstimatorDensityMap.html b/docs/api/java/org/apache/sysds/hops/estim/class-use/EstimatorDensityMap.html
index f8daf1f..97cfec1 100644
--- a/docs/api/java/org/apache/sysds/hops/estim/class-use/EstimatorDensityMap.html
+++ b/docs/api/java/org/apache/sysds/hops/estim/class-use/EstimatorDensityMap.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/estim/class-use/EstimatorLayeredGraph.LayeredGraph.html b/docs/api/java/org/apache/sysds/hops/estim/class-use/EstimatorLayeredGraph.LayeredGraph.html
index b3e6250..1e75286 100644
--- a/docs/api/java/org/apache/sysds/hops/estim/class-use/EstimatorLayeredGraph.LayeredGraph.html
+++ b/docs/api/java/org/apache/sysds/hops/estim/class-use/EstimatorLayeredGraph.LayeredGraph.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/estim/class-use/EstimatorLayeredGraph.html b/docs/api/java/org/apache/sysds/hops/estim/class-use/EstimatorLayeredGraph.html
index 7b883e5..f939d48 100644
--- a/docs/api/java/org/apache/sysds/hops/estim/class-use/EstimatorLayeredGraph.html
+++ b/docs/api/java/org/apache/sysds/hops/estim/class-use/EstimatorLayeredGraph.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/estim/class-use/EstimatorMatrixHistogram.MatrixHistogram.html b/docs/api/java/org/apache/sysds/hops/estim/class-use/EstimatorMatrixHistogram.MatrixHistogram.html
index dc1683f..89eb678 100644
--- a/docs/api/java/org/apache/sysds/hops/estim/class-use/EstimatorMatrixHistogram.MatrixHistogram.html
+++ b/docs/api/java/org/apache/sysds/hops/estim/class-use/EstimatorMatrixHistogram.MatrixHistogram.html
@@ -196,6 +196,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/estim/class-use/EstimatorMatrixHistogram.html b/docs/api/java/org/apache/sysds/hops/estim/class-use/EstimatorMatrixHistogram.html
index a126833..8e5b487 100644
--- a/docs/api/java/org/apache/sysds/hops/estim/class-use/EstimatorMatrixHistogram.html
+++ b/docs/api/java/org/apache/sysds/hops/estim/class-use/EstimatorMatrixHistogram.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/estim/class-use/EstimatorSample.html b/docs/api/java/org/apache/sysds/hops/estim/class-use/EstimatorSample.html
index 99f232f..66e4f66 100644
--- a/docs/api/java/org/apache/sysds/hops/estim/class-use/EstimatorSample.html
+++ b/docs/api/java/org/apache/sysds/hops/estim/class-use/EstimatorSample.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/estim/class-use/EstimatorSampleRa.html b/docs/api/java/org/apache/sysds/hops/estim/class-use/EstimatorSampleRa.html
index be7494e..af53cfb 100644
--- a/docs/api/java/org/apache/sysds/hops/estim/class-use/EstimatorSampleRa.html
+++ b/docs/api/java/org/apache/sysds/hops/estim/class-use/EstimatorSampleRa.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/estim/class-use/MMNode.html b/docs/api/java/org/apache/sysds/hops/estim/class-use/MMNode.html
index 742a7a4..194d10c 100644
--- a/docs/api/java/org/apache/sysds/hops/estim/class-use/MMNode.html
+++ b/docs/api/java/org/apache/sysds/hops/estim/class-use/MMNode.html
@@ -245,6 +245,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/estim/class-use/SparsityEstimator.OpCode.html b/docs/api/java/org/apache/sysds/hops/estim/class-use/SparsityEstimator.OpCode.html
index 171ddf0..a835f48 100644
--- a/docs/api/java/org/apache/sysds/hops/estim/class-use/SparsityEstimator.OpCode.html
+++ b/docs/api/java/org/apache/sysds/hops/estim/class-use/SparsityEstimator.OpCode.html
@@ -344,6 +344,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/estim/class-use/SparsityEstimator.html b/docs/api/java/org/apache/sysds/hops/estim/class-use/SparsityEstimator.html
index 98b69b8..d88838c 100644
--- a/docs/api/java/org/apache/sysds/hops/estim/class-use/SparsityEstimator.html
+++ b/docs/api/java/org/apache/sysds/hops/estim/class-use/SparsityEstimator.html
@@ -218,6 +218,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/estim/package-summary.html b/docs/api/java/org/apache/sysds/hops/estim/package-summary.html
index 12cc9ef..1528610 100644
--- a/docs/api/java/org/apache/sysds/hops/estim/package-summary.html
+++ b/docs/api/java/org/apache/sysds/hops/estim/package-summary.html
@@ -252,6 +252,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/estim/package-tree.html b/docs/api/java/org/apache/sysds/hops/estim/package-tree.html
index b35c2fe..d4bf127 100644
--- a/docs/api/java/org/apache/sysds/hops/estim/package-tree.html
+++ b/docs/api/java/org/apache/sysds/hops/estim/package-tree.html
@@ -167,6 +167,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/estim/package-use.html b/docs/api/java/org/apache/sysds/hops/estim/package-use.html
index 9e06e79..e5a6c20 100644
--- a/docs/api/java/org/apache/sysds/hops/estim/package-use.html
+++ b/docs/api/java/org/apache/sysds/hops/estim/package-use.html
@@ -171,6 +171,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/ipa/FunctionCallGraph.html b/docs/api/java/org/apache/sysds/hops/ipa/FunctionCallGraph.html
index 019b7dd..10c5ced 100644
--- a/docs/api/java/org/apache/sysds/hops/ipa/FunctionCallGraph.html
+++ b/docs/api/java/org/apache/sysds/hops/ipa/FunctionCallGraph.html
@@ -682,6 +682,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/ipa/FunctionCallSizeInfo.html b/docs/api/java/org/apache/sysds/hops/ipa/FunctionCallSizeInfo.html
index 3e7498f..aa96841 100644
--- a/docs/api/java/org/apache/sysds/hops/ipa/FunctionCallSizeInfo.html
+++ b/docs/api/java/org/apache/sysds/hops/ipa/FunctionCallSizeInfo.html
@@ -586,6 +586,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/ipa/IPAPass.html b/docs/api/java/org/apache/sysds/hops/ipa/IPAPass.html
index a368457..cb2932e 100644
--- a/docs/api/java/org/apache/sysds/hops/ipa/IPAPass.html
+++ b/docs/api/java/org/apache/sysds/hops/ipa/IPAPass.html
@@ -315,6 +315,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/ipa/IPAPassApplyStaticAndDynamicHopRewrites.html b/docs/api/java/org/apache/sysds/hops/ipa/IPAPassApplyStaticAndDynamicHopRewrites.html
index ff98587..6c24e30 100644
--- a/docs/api/java/org/apache/sysds/hops/ipa/IPAPassApplyStaticAndDynamicHopRewrites.html
+++ b/docs/api/java/org/apache/sysds/hops/ipa/IPAPassApplyStaticAndDynamicHopRewrites.html
@@ -324,6 +324,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/ipa/IPAPassEliminateDeadCode.html b/docs/api/java/org/apache/sysds/hops/ipa/IPAPassEliminateDeadCode.html
index 55ed2a0..b0c6d2d 100644
--- a/docs/api/java/org/apache/sysds/hops/ipa/IPAPassEliminateDeadCode.html
+++ b/docs/api/java/org/apache/sysds/hops/ipa/IPAPassEliminateDeadCode.html
@@ -323,6 +323,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/ipa/IPAPassFlagFunctionsRecompileOnce.html b/docs/api/java/org/apache/sysds/hops/ipa/IPAPassFlagFunctionsRecompileOnce.html
index 94f6628..54f0cbc 100644
--- a/docs/api/java/org/apache/sysds/hops/ipa/IPAPassFlagFunctionsRecompileOnce.html
+++ b/docs/api/java/org/apache/sysds/hops/ipa/IPAPassFlagFunctionsRecompileOnce.html
@@ -356,6 +356,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/ipa/IPAPassFlagNonDeterminism.html b/docs/api/java/org/apache/sysds/hops/ipa/IPAPassFlagNonDeterminism.html
index e327d77..a68f46f 100644
--- a/docs/api/java/org/apache/sysds/hops/ipa/IPAPassFlagNonDeterminism.html
+++ b/docs/api/java/org/apache/sysds/hops/ipa/IPAPassFlagNonDeterminism.html
@@ -321,6 +321,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/ipa/IPAPassForwardFunctionCalls.html b/docs/api/java/org/apache/sysds/hops/ipa/IPAPassForwardFunctionCalls.html
index 2a39747..1dafd86 100644
--- a/docs/api/java/org/apache/sysds/hops/ipa/IPAPassForwardFunctionCalls.html
+++ b/docs/api/java/org/apache/sysds/hops/ipa/IPAPassForwardFunctionCalls.html
@@ -324,6 +324,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/ipa/IPAPassInlineFunctions.html b/docs/api/java/org/apache/sysds/hops/ipa/IPAPassInlineFunctions.html
index 54c68c2..5aadc4f 100644
--- a/docs/api/java/org/apache/sysds/hops/ipa/IPAPassInlineFunctions.html
+++ b/docs/api/java/org/apache/sysds/hops/ipa/IPAPassInlineFunctions.html
@@ -325,6 +325,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/ipa/IPAPassPropagateReplaceLiterals.html b/docs/api/java/org/apache/sysds/hops/ipa/IPAPassPropagateReplaceLiterals.html
index 8af781e..c64c262 100644
--- a/docs/api/java/org/apache/sysds/hops/ipa/IPAPassPropagateReplaceLiterals.html
+++ b/docs/api/java/org/apache/sysds/hops/ipa/IPAPassPropagateReplaceLiterals.html
@@ -323,6 +323,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/ipa/IPAPassRemoveConstantBinaryOps.html b/docs/api/java/org/apache/sysds/hops/ipa/IPAPassRemoveConstantBinaryOps.html
index a1c06b9..14d5dd2 100644
--- a/docs/api/java/org/apache/sysds/hops/ipa/IPAPassRemoveConstantBinaryOps.html
+++ b/docs/api/java/org/apache/sysds/hops/ipa/IPAPassRemoveConstantBinaryOps.html
@@ -325,6 +325,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/ipa/IPAPassRemoveUnnecessaryCheckpoints.html b/docs/api/java/org/apache/sysds/hops/ipa/IPAPassRemoveUnnecessaryCheckpoints.html
index a7438ba..1003779 100644
--- a/docs/api/java/org/apache/sysds/hops/ipa/IPAPassRemoveUnnecessaryCheckpoints.html
+++ b/docs/api/java/org/apache/sysds/hops/ipa/IPAPassRemoveUnnecessaryCheckpoints.html
@@ -338,6 +338,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/ipa/IPAPassRemoveUnusedFunctions.html b/docs/api/java/org/apache/sysds/hops/ipa/IPAPassRemoveUnusedFunctions.html
index a0bde34..cbbcb54 100644
--- a/docs/api/java/org/apache/sysds/hops/ipa/IPAPassRemoveUnusedFunctions.html
+++ b/docs/api/java/org/apache/sysds/hops/ipa/IPAPassRemoveUnusedFunctions.html
@@ -324,6 +324,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/ipa/InterProceduralAnalysis.html b/docs/api/java/org/apache/sysds/hops/ipa/InterProceduralAnalysis.html
index 3c3eb9d..dc5a571 100644
--- a/docs/api/java/org/apache/sysds/hops/ipa/InterProceduralAnalysis.html
+++ b/docs/api/java/org/apache/sysds/hops/ipa/InterProceduralAnalysis.html
@@ -340,6 +340,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/ipa/class-use/FunctionCallGraph.html b/docs/api/java/org/apache/sysds/hops/ipa/class-use/FunctionCallGraph.html
index 7638b6c..513531e 100644
--- a/docs/api/java/org/apache/sysds/hops/ipa/class-use/FunctionCallGraph.html
+++ b/docs/api/java/org/apache/sysds/hops/ipa/class-use/FunctionCallGraph.html
@@ -86,6 +86,10 @@
 <td class="colFirst"><a href="#org.apache.sysds.hops.ipa">org.apache.sysds.hops.ipa</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.sysds.utils">org.apache.sysds.utils</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
 </tbody>
 </table>
 </li>
@@ -243,6 +247,27 @@
 </tbody>
 </table>
 </li>
+<li class="blockList"><a name="org.apache.sysds.utils">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/sysds/hops/ipa/FunctionCallGraph.html" title="class in org.apache.sysds.hops.ipa">FunctionCallGraph</a> in <a href="../../../../../../org/apache/sysds/utils/package-summary.html">org.apache.sysds.utils</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/sysds/utils/package-summary.html">org.apache.sysds.utils</a> with parameters of type <a href="../../../../../../org/apache/sysds/hops/ipa/FunctionCallGraph.html" title="class in org.apache.sysds.hops.ipa">FunctionCallGraph</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><span class="typeNameLabel">Explain.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/utils/Explain.html#explainFunctionCallGraph-org.apache.sysds.hops.ipa.FunctionCallGraph-java.util.HashSet-java.lang.String-int-">explainFunctionCallGraph</a></span>(<a href="../../../../../../org/apache/sysds/hops/ipa/FunctionCallGraph.html" title="class in org.apache.sysds.hops.ipa">FunctionCallGraph</a>&nbsp;fgraph,
+                        <a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashSet.html?is-external=true" title="class or interface in java.util">HashSet</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;fstack,
+                        <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;fkey,
+                        int&nbsp;level)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
 </ul>
 </li>
 </ul>
@@ -294,6 +319,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/ipa/class-use/FunctionCallSizeInfo.html b/docs/api/java/org/apache/sysds/hops/ipa/class-use/FunctionCallSizeInfo.html
index 0782d0c..2d9f537 100644
--- a/docs/api/java/org/apache/sysds/hops/ipa/class-use/FunctionCallSizeInfo.html
+++ b/docs/api/java/org/apache/sysds/hops/ipa/class-use/FunctionCallSizeInfo.html
@@ -225,6 +225,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/ipa/class-use/IPAPass.html b/docs/api/java/org/apache/sysds/hops/ipa/class-use/IPAPass.html
index b71bede..7f9e86a 100644
--- a/docs/api/java/org/apache/sysds/hops/ipa/class-use/IPAPass.html
+++ b/docs/api/java/org/apache/sysds/hops/ipa/class-use/IPAPass.html
@@ -227,6 +227,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/ipa/class-use/IPAPassApplyStaticAndDynamicHopRewrites.html b/docs/api/java/org/apache/sysds/hops/ipa/class-use/IPAPassApplyStaticAndDynamicHopRewrites.html
index c935e1f..e470306 100644
--- a/docs/api/java/org/apache/sysds/hops/ipa/class-use/IPAPassApplyStaticAndDynamicHopRewrites.html
+++ b/docs/api/java/org/apache/sysds/hops/ipa/class-use/IPAPassApplyStaticAndDynamicHopRewrites.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/ipa/class-use/IPAPassEliminateDeadCode.html b/docs/api/java/org/apache/sysds/hops/ipa/class-use/IPAPassEliminateDeadCode.html
index 4d6ece0..c85e7cb 100644
--- a/docs/api/java/org/apache/sysds/hops/ipa/class-use/IPAPassEliminateDeadCode.html
+++ b/docs/api/java/org/apache/sysds/hops/ipa/class-use/IPAPassEliminateDeadCode.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/ipa/class-use/IPAPassFlagFunctionsRecompileOnce.html b/docs/api/java/org/apache/sysds/hops/ipa/class-use/IPAPassFlagFunctionsRecompileOnce.html
index ec97dbe..54ff9f3 100644
--- a/docs/api/java/org/apache/sysds/hops/ipa/class-use/IPAPassFlagFunctionsRecompileOnce.html
+++ b/docs/api/java/org/apache/sysds/hops/ipa/class-use/IPAPassFlagFunctionsRecompileOnce.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/ipa/class-use/IPAPassFlagNonDeterminism.html b/docs/api/java/org/apache/sysds/hops/ipa/class-use/IPAPassFlagNonDeterminism.html
index a53f962..6fc958b 100644
--- a/docs/api/java/org/apache/sysds/hops/ipa/class-use/IPAPassFlagNonDeterminism.html
+++ b/docs/api/java/org/apache/sysds/hops/ipa/class-use/IPAPassFlagNonDeterminism.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/ipa/class-use/IPAPassForwardFunctionCalls.html b/docs/api/java/org/apache/sysds/hops/ipa/class-use/IPAPassForwardFunctionCalls.html
index fcea958..2d3f596 100644
--- a/docs/api/java/org/apache/sysds/hops/ipa/class-use/IPAPassForwardFunctionCalls.html
+++ b/docs/api/java/org/apache/sysds/hops/ipa/class-use/IPAPassForwardFunctionCalls.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/ipa/class-use/IPAPassInlineFunctions.html b/docs/api/java/org/apache/sysds/hops/ipa/class-use/IPAPassInlineFunctions.html
index c24a59a..ffd4758 100644
--- a/docs/api/java/org/apache/sysds/hops/ipa/class-use/IPAPassInlineFunctions.html
+++ b/docs/api/java/org/apache/sysds/hops/ipa/class-use/IPAPassInlineFunctions.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/ipa/class-use/IPAPassPropagateReplaceLiterals.html b/docs/api/java/org/apache/sysds/hops/ipa/class-use/IPAPassPropagateReplaceLiterals.html
index 5c600b0..15a245e 100644
--- a/docs/api/java/org/apache/sysds/hops/ipa/class-use/IPAPassPropagateReplaceLiterals.html
+++ b/docs/api/java/org/apache/sysds/hops/ipa/class-use/IPAPassPropagateReplaceLiterals.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/ipa/class-use/IPAPassRemoveConstantBinaryOps.html b/docs/api/java/org/apache/sysds/hops/ipa/class-use/IPAPassRemoveConstantBinaryOps.html
index d33f386..39db85b 100644
--- a/docs/api/java/org/apache/sysds/hops/ipa/class-use/IPAPassRemoveConstantBinaryOps.html
+++ b/docs/api/java/org/apache/sysds/hops/ipa/class-use/IPAPassRemoveConstantBinaryOps.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/ipa/class-use/IPAPassRemoveUnnecessaryCheckpoints.html b/docs/api/java/org/apache/sysds/hops/ipa/class-use/IPAPassRemoveUnnecessaryCheckpoints.html
index 0792dae..cdfba9d 100644
--- a/docs/api/java/org/apache/sysds/hops/ipa/class-use/IPAPassRemoveUnnecessaryCheckpoints.html
+++ b/docs/api/java/org/apache/sysds/hops/ipa/class-use/IPAPassRemoveUnnecessaryCheckpoints.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/ipa/class-use/IPAPassRemoveUnusedFunctions.html b/docs/api/java/org/apache/sysds/hops/ipa/class-use/IPAPassRemoveUnusedFunctions.html
index 8e41ad6..83c9eb0 100644
--- a/docs/api/java/org/apache/sysds/hops/ipa/class-use/IPAPassRemoveUnusedFunctions.html
+++ b/docs/api/java/org/apache/sysds/hops/ipa/class-use/IPAPassRemoveUnusedFunctions.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/ipa/class-use/InterProceduralAnalysis.html b/docs/api/java/org/apache/sysds/hops/ipa/class-use/InterProceduralAnalysis.html
index 37dcf3c..03696f1 100644
--- a/docs/api/java/org/apache/sysds/hops/ipa/class-use/InterProceduralAnalysis.html
+++ b/docs/api/java/org/apache/sysds/hops/ipa/class-use/InterProceduralAnalysis.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/ipa/package-summary.html b/docs/api/java/org/apache/sysds/hops/ipa/package-summary.html
index 9718fdb..ab34bdd 100644
--- a/docs/api/java/org/apache/sysds/hops/ipa/package-summary.html
+++ b/docs/api/java/org/apache/sysds/hops/ipa/package-summary.html
@@ -231,6 +231,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/ipa/package-tree.html b/docs/api/java/org/apache/sysds/hops/ipa/package-tree.html
index ffcc0f7..81d569f 100644
--- a/docs/api/java/org/apache/sysds/hops/ipa/package-tree.html
+++ b/docs/api/java/org/apache/sysds/hops/ipa/package-tree.html
@@ -149,6 +149,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/ipa/package-use.html b/docs/api/java/org/apache/sysds/hops/ipa/package-use.html
index e113a99..b7ad337 100644
--- a/docs/api/java/org/apache/sysds/hops/ipa/package-use.html
+++ b/docs/api/java/org/apache/sysds/hops/ipa/package-use.html
@@ -86,6 +86,10 @@
 <td class="colFirst"><a href="#org.apache.sysds.hops.ipa">org.apache.sysds.hops.ipa</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.sysds.utils">org.apache.sysds.utils</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
 </tbody>
 </table>
 </li>
@@ -116,6 +120,21 @@
 </tbody>
 </table>
 </li>
+<li class="blockList"><a name="org.apache.sysds.utils">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/sysds/hops/ipa/package-summary.html">org.apache.sysds.hops.ipa</a> used by <a href="../../../../../org/apache/sysds/utils/package-summary.html">org.apache.sysds.utils</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/sysds/hops/ipa/class-use/FunctionCallGraph.html#org.apache.sysds.utils">FunctionCallGraph</a>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
 </ul>
 </div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
@@ -165,6 +184,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/package-summary.html b/docs/api/java/org/apache/sysds/hops/package-summary.html
index 0c33016..0e61620 100644
--- a/docs/api/java/org/apache/sysds/hops/package-summary.html
+++ b/docs/api/java/org/apache/sysds/hops/package-summary.html
@@ -313,6 +313,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/package-tree.html b/docs/api/java/org/apache/sysds/hops/package-tree.html
index eaa9a38..75d4c7f 100644
--- a/docs/api/java/org/apache/sysds/hops/package-tree.html
+++ b/docs/api/java/org/apache/sysds/hops/package-tree.html
@@ -98,11 +98,11 @@
 <li type="circle">org.apache.sysds.hops.<a href="../../../../org/apache/sysds/hops/ParameterizedBuiltinOp.html" title="class in org.apache.sysds.hops"><span class="typeNameLink">ParameterizedBuiltinOp</span></a></li>
 <li type="circle">org.apache.sysds.hops.<a href="../../../../org/apache/sysds/hops/QuaternaryOp.html" title="class in org.apache.sysds.hops"><span class="typeNameLink">QuaternaryOp</span></a></li>
 <li type="circle">org.apache.sysds.hops.<a href="../../../../org/apache/sysds/hops/ReorgOp.html" title="class in org.apache.sysds.hops"><span class="typeNameLink">ReorgOp</span></a></li>
+<li type="circle">org.apache.sysds.hops.<a href="../../../../org/apache/sysds/hops/TernaryOp.html" title="class in org.apache.sysds.hops"><span class="typeNameLink">TernaryOp</span></a></li>
 <li type="circle">org.apache.sysds.hops.<a href="../../../../org/apache/sysds/hops/UnaryOp.html" title="class in org.apache.sysds.hops"><span class="typeNameLink">UnaryOp</span></a></li>
 </ul>
 </li>
 <li type="circle">org.apache.sysds.hops.<a href="../../../../org/apache/sysds/hops/NaryOp.html" title="class in org.apache.sysds.hops"><span class="typeNameLink">NaryOp</span></a></li>
-<li type="circle">org.apache.sysds.hops.<a href="../../../../org/apache/sysds/hops/TernaryOp.html" title="class in org.apache.sysds.hops"><span class="typeNameLink">TernaryOp</span></a></li>
 </ul>
 </li>
 <li type="circle">org.apache.sysds.hops.<a href="../../../../org/apache/sysds/hops/MemoTable.html" title="class in org.apache.sysds.hops"><span class="typeNameLink">MemoTable</span></a></li>
@@ -193,6 +193,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/package-use.html b/docs/api/java/org/apache/sysds/hops/package-use.html
index 9b78dcf..d3c38c6 100644
--- a/docs/api/java/org/apache/sysds/hops/package-use.html
+++ b/docs/api/java/org/apache/sysds/hops/package-use.html
@@ -171,28 +171,33 @@
 <td class="colOne"><a href="../../../../org/apache/sysds/hops/class-use/BinaryOp.MMBinaryMethod.html#org.apache.sysds.hops">BinaryOp.MMBinaryMethod</a>&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/sysds/hops/class-use/FunctionOp.html#org.apache.sysds.hops">FunctionOp</a>
+<div class="block">This FunctionOp represents the call to a DML-bodied or external function.</div>
+</td>
+</tr>
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../org/apache/sysds/hops/class-use/FunctionOp.FunctionType.html#org.apache.sysds.hops">FunctionOp.FunctionType</a>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../org/apache/sysds/hops/class-use/Hop.html#org.apache.sysds.hops">Hop</a>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../org/apache/sysds/hops/class-use/LeftIndexingOp.LeftIndexingMethod.html#org.apache.sysds.hops">LeftIndexingOp.LeftIndexingMethod</a>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../org/apache/sysds/hops/class-use/LiteralOp.html#org.apache.sysds.hops">LiteralOp</a>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../org/apache/sysds/hops/class-use/MemoTable.html#org.apache.sysds.hops">MemoTable</a>
 <div class="block">Memoization Table (hop id, worst-case matrix characteristics).</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../org/apache/sysds/hops/class-use/MultiThreadedHop.html#org.apache.sysds.hops">MultiThreadedHop</a>
 <div class="block">Optional hop interface, to be implemented by multi-threaded hops.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../org/apache/sysds/hops/class-use/OptimizerUtils.OptimizationLevel.html#org.apache.sysds.hops">OptimizerUtils.OptimizationLevel</a>
 <div class="block">Optimization Types for Compilation
  
@@ -574,6 +579,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/recompile/LiteralReplacement.html b/docs/api/java/org/apache/sysds/hops/recompile/LiteralReplacement.html
index f1a85ec..83e3ffb 100644
--- a/docs/api/java/org/apache/sysds/hops/recompile/LiteralReplacement.html
+++ b/docs/api/java/org/apache/sysds/hops/recompile/LiteralReplacement.html
@@ -233,6 +233,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/recompile/RecompileStatus.html b/docs/api/java/org/apache/sysds/hops/recompile/RecompileStatus.html
index 60f9f51..018c211 100644
--- a/docs/api/java/org/apache/sysds/hops/recompile/RecompileStatus.html
+++ b/docs/api/java/org/apache/sysds/hops/recompile/RecompileStatus.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -134,6 +134,12 @@
 <tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/recompile/RecompileStatus.html#RecompileStatus-boolean-">RecompileStatus</a></span>(boolean&nbsp;initialCodegen)</code>&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/recompile/RecompileStatus.html#RecompileStatus-long-boolean-org.apache.sysds.hops.recompile.Recompiler.ResetType-boolean-">RecompileStatus</a></span>(long&nbsp;tid,
+               boolean&nbsp;inplace,
+               <a href="../../../../../org/apache/sysds/hops/recompile/Recompiler.ResetType.html" title="enum in org.apache.sysds.hops.recompile">Recompiler.ResetType</a>&nbsp;reset,
+               boolean&nbsp;initialCodegen)</code>&nbsp;</td>
+</tr>
 </table>
 </li>
 </ul>
@@ -154,13 +160,41 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/recompile/RecompileStatus.html#clone--">clone</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/sysds/hops/recompile/Recompiler.ResetType.html" title="enum in org.apache.sysds.hops.recompile">Recompiler.ResetType</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/recompile/RecompileStatus.html#getReset--">getReset</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/recompile/RecompileStatus.html#getTID--">getTID</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/recompile/RecompileStatus.html#getTWriteStats--">getTWriteStats</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i2" class="altColor">
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/recompile/RecompileStatus.html#hasThreadID--">hasThreadID</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/recompile/RecompileStatus.html#isInitialCodegen--">isInitialCodegen</a></span>()</code>&nbsp;</td>
 </tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/recompile/RecompileStatus.html#isInPlace--">isInPlace</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/recompile/RecompileStatus.html#isReset--">isReset</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/recompile/RecompileStatus.html#requiresRecompile--">requiresRecompile</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/recompile/RecompileStatus.html#trackRecompile-boolean-">trackRecompile</a></span>(boolean&nbsp;flag)</code>&nbsp;</td>
+</tr>
 </table>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -195,12 +229,24 @@
 <a name="RecompileStatus-boolean-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>RecompileStatus</h4>
 <pre>public&nbsp;RecompileStatus(boolean&nbsp;initialCodegen)</pre>
 </li>
 </ul>
+<a name="RecompileStatus-long-boolean-org.apache.sysds.hops.recompile.Recompiler.ResetType-boolean-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>RecompileStatus</h4>
+<pre>public&nbsp;RecompileStatus(long&nbsp;tid,
+                       boolean&nbsp;inplace,
+                       <a href="../../../../../org/apache/sysds/hops/recompile/Recompiler.ResetType.html" title="enum in org.apache.sysds.hops.recompile">Recompiler.ResetType</a>&nbsp;reset,
+                       boolean&nbsp;initialCodegen)</pre>
+</li>
+</ul>
 </li>
 </ul>
 <!-- ============ METHOD DETAIL ========== -->
@@ -218,6 +264,51 @@
 <pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a>&gt;&nbsp;getTWriteStats()</pre>
 </li>
 </ul>
+<a name="getTID--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getTID</h4>
+<pre>public&nbsp;long&nbsp;getTID()</pre>
+</li>
+</ul>
+<a name="hasThreadID--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>hasThreadID</h4>
+<pre>public&nbsp;boolean&nbsp;hasThreadID()</pre>
+</li>
+</ul>
+<a name="isInPlace--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isInPlace</h4>
+<pre>public&nbsp;boolean&nbsp;isInPlace()</pre>
+</li>
+</ul>
+<a name="isReset--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isReset</h4>
+<pre>public&nbsp;boolean&nbsp;isReset()</pre>
+</li>
+</ul>
+<a name="getReset--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getReset</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/sysds/hops/recompile/Recompiler.ResetType.html" title="enum in org.apache.sysds.hops.recompile">Recompiler.ResetType</a>&nbsp;getReset()</pre>
+</li>
+</ul>
 <a name="isInitialCodegen--">
 <!--   -->
 </a>
@@ -227,6 +318,24 @@
 <pre>public&nbsp;boolean&nbsp;isInitialCodegen()</pre>
 </li>
 </ul>
+<a name="trackRecompile-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>trackRecompile</h4>
+<pre>public&nbsp;void&nbsp;trackRecompile(boolean&nbsp;flag)</pre>
+</li>
+</ul>
+<a name="requiresRecompile--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>requiresRecompile</h4>
+<pre>public&nbsp;boolean&nbsp;requiresRecompile()</pre>
+</li>
+</ul>
 <a name="clone--">
 <!--   -->
 </a>
@@ -309,6 +418,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/recompile/Recompiler.ResetType.html b/docs/api/java/org/apache/sysds/hops/recompile/Recompiler.ResetType.html
index 75f3397..91da827 100644
--- a/docs/api/java/org/apache/sysds/hops/recompile/Recompiler.ResetType.html
+++ b/docs/api/java/org/apache/sysds/hops/recompile/Recompiler.ResetType.html
@@ -366,6 +366,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/recompile/Recompiler.html b/docs/api/java/org/apache/sysds/hops/recompile/Recompiler.html
index ca3d046..83304dc 100644
--- a/docs/api/java/org/apache/sysds/hops/recompile/Recompiler.html
+++ b/docs/api/java/org/apache/sysds/hops/recompile/Recompiler.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":9,"i11":9,"i12":9,"i13":9,"i14":9,"i15":9,"i16":9,"i17":9,"i18":9,"i19":9,"i20":9,"i21":9,"i22":9,"i23":9,"i24":9,"i25":9,"i26":9,"i27":9,"i28":9,"i29":9,"i30":9,"i31":9,"i32":9,"i33":9,"i34":9,"i35":9,"i36":9,"i37":9,"i38":9};
+var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":9,"i11":9,"i12":9,"i13":9,"i14":9,"i15":9,"i16":9,"i17":9,"i18":9,"i19":9,"i20":9,"i21":9,"i22":9,"i23":9,"i24":9,"i25":9,"i26":9,"i27":9,"i28":9,"i29":9,"i30":9,"i31":9,"i32":9,"i33":9,"i34":9,"i35":9,"i36":9,"i37":9};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -197,50 +197,35 @@
 </tr>
 <tr id="i4" class="altColor">
 <td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/recompile/Recompiler.html#executeInMemoryFrameReblock-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-java.lang.String-java.lang.String-">executeInMemoryFrameReblock</a></span>(<a href="../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
-                           <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;varin,
-                           <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;varout)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/recompile/Recompiler.html#executeInMemoryReblock-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-java.lang.String-java.lang.String-">executeInMemoryReblock</a></span>(<a href="../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
+                      <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;varin,
+                      <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;varout)</code>&nbsp;</td>
 </tr>
 <tr id="i5" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/recompile/Recompiler.html#executeInMemoryMatrixReblock-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-java.lang.String-java.lang.String-">executeInMemoryMatrixReblock</a></span>(<a href="../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
-                            <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;varin,
-                            <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;varout)</code>&nbsp;</td>
-</tr>
-<tr id="i6" class="altColor">
-<td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/recompile/Recompiler.html#extractDAGOutputStatistics-java.util.ArrayList-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">extractDAGOutputStatistics</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&gt;&nbsp;hops,
                           <a href="../../../../../org/apache/sysds/runtime/controlprogram/LocalVariableMap.html" title="class in org.apache.sysds.runtime.controlprogram">LocalVariableMap</a>&nbsp;vars)</code>&nbsp;</td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/recompile/Recompiler.html#extractDAGOutputStatistics-java.util.ArrayList-org.apache.sysds.runtime.controlprogram.LocalVariableMap-boolean-">extractDAGOutputStatistics</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&gt;&nbsp;hops,
                           <a href="../../../../../org/apache/sysds/runtime/controlprogram/LocalVariableMap.html" title="class in org.apache.sysds.runtime.controlprogram">LocalVariableMap</a>&nbsp;vars,
                           boolean&nbsp;overwrite)</code>&nbsp;</td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/recompile/Recompiler.html#extractDAGOutputStatistics-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-boolean-">extractDAGOutputStatistics</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop,
                           <a href="../../../../../org/apache/sysds/runtime/controlprogram/LocalVariableMap.html" title="class in org.apache.sysds.runtime.controlprogram">LocalVariableMap</a>&nbsp;vars,
                           boolean&nbsp;overwrite)</code>&nbsp;</td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/recompile/Recompiler.html#rClearLops-org.apache.sysds.hops.Hop-">rClearLops</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop)</code>
 <div class="block">Clearing lops for a given hops includes to (1) remove the reference
  to constructed lops and (2) clear the exec type (for consistency).</div>
 </td>
 </tr>
-<tr id="i10" class="altColor">
-<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a>&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/recompile/Recompiler.html#recompileHopsDag-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.hops.recompile.RecompileStatus-boolean-boolean-long-">recompileHopsDag</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop,
-                <a href="../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
-                <a href="../../../../../org/apache/sysds/hops/recompile/RecompileStatus.html" title="class in org.apache.sysds.hops.recompile">RecompileStatus</a>&nbsp;status,
-                boolean&nbsp;inplace,
-                boolean&nbsp;replaceLit,
-                long&nbsp;tid)</code>&nbsp;</td>
-</tr>
-<tr id="i11" class="rowColor">
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/recompile/Recompiler.html#recompileHopsDag-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-org.apache.sysds.hops.recompile.RecompileStatus-boolean-boolean-long-">recompileHopsDag</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop,
                 <a href="../../../../../org/apache/sysds/runtime/controlprogram/LocalVariableMap.html" title="class in org.apache.sysds.runtime.controlprogram">LocalVariableMap</a>&nbsp;vars,
@@ -249,7 +234,7 @@
                 boolean&nbsp;replaceLit,
                 long&nbsp;tid)</code>&nbsp;</td>
 </tr>
-<tr id="i12" class="altColor">
+<tr id="i10" class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/recompile/Recompiler.html#recompileHopsDag-org.apache.sysds.parser.StatementBlock-java.util.ArrayList-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.hops.recompile.RecompileStatus-boolean-boolean-long-">recompileHopsDag</a></span>(<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&nbsp;sb,
                 <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&gt;&nbsp;hops,
@@ -259,7 +244,7 @@
                 boolean&nbsp;replaceLit,
                 long&nbsp;tid)</code>&nbsp;</td>
 </tr>
-<tr id="i13" class="rowColor">
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/recompile/Recompiler.html#recompileHopsDag-org.apache.sysds.parser.StatementBlock-java.util.ArrayList-org.apache.sysds.runtime.controlprogram.LocalVariableMap-org.apache.sysds.hops.recompile.RecompileStatus-boolean-boolean-long-">recompileHopsDag</a></span>(<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&nbsp;sb,
                 <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&gt;&nbsp;hops,
@@ -269,36 +254,37 @@
                 boolean&nbsp;replaceLit,
                 long&nbsp;tid)</code>&nbsp;</td>
 </tr>
-<tr id="i14" class="altColor">
+<tr id="i12" class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/recompile/Recompiler.html#recompileHopsDag2Forced-org.apache.sysds.hops.Hop-long-org.apache.sysds.lops.LopProperties.ExecType-">recompileHopsDag2Forced</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop,
                        long&nbsp;tid,
                        <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr id="i15" class="rowColor">
+<tr id="i13" class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/recompile/Recompiler.html#recompileHopsDag2Forced-org.apache.sysds.parser.StatementBlock-java.util.ArrayList-long-org.apache.sysds.lops.LopProperties.ExecType-">recompileHopsDag2Forced</a></span>(<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&nbsp;sb,
                        <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&gt;&nbsp;hops,
                        long&nbsp;tid,
                        <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr id="i16" class="altColor">
+<tr id="i14" class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/recompile/Recompiler.html#recompileHopsDagInstructions-org.apache.sysds.hops.Hop-">recompileHopsDagInstructions</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop)</code>&nbsp;</td>
 </tr>
-<tr id="i17" class="rowColor">
+<tr id="i15" class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/recompile/Recompiler.html#recompileHopsDagInstructions-org.apache.sysds.parser.StatementBlock-java.util.ArrayList-">recompileHopsDagInstructions</a></span>(<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&nbsp;sb,
                             <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&gt;&nbsp;hops)</code>&nbsp;</td>
 </tr>
-<tr id="i18" class="altColor">
+<tr id="i16" class="altColor">
 <td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/recompile/Recompiler.html#recompileProgramBlockHierarchy-java.util.ArrayList-org.apache.sysds.runtime.controlprogram.LocalVariableMap-long-org.apache.sysds.hops.recompile.Recompiler.ResetType-">recompileProgramBlockHierarchy</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/controlprogram/ProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ProgramBlock</a>&gt;&nbsp;pbs,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/recompile/Recompiler.html#recompileProgramBlockHierarchy-java.util.ArrayList-org.apache.sysds.runtime.controlprogram.LocalVariableMap-long-boolean-org.apache.sysds.hops.recompile.Recompiler.ResetType-">recompileProgramBlockHierarchy</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/controlprogram/ProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ProgramBlock</a>&gt;&nbsp;pbs,
                               <a href="../../../../../org/apache/sysds/runtime/controlprogram/LocalVariableMap.html" title="class in org.apache.sysds.runtime.controlprogram">LocalVariableMap</a>&nbsp;vars,
                               long&nbsp;tid,
+                              boolean&nbsp;inplace,
                               <a href="../../../../../org/apache/sysds/hops/recompile/Recompiler.ResetType.html" title="enum in org.apache.sysds.hops.recompile">Recompiler.ResetType</a>&nbsp;resetRecompile)</code>&nbsp;</td>
 </tr>
-<tr id="i19" class="rowColor">
+<tr id="i17" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/recompile/Recompiler.html#recompileProgramBlockHierarchy2Forced-java.util.ArrayList-long-java.util.HashSet-org.apache.sysds.lops.LopProperties.ExecType-">recompileProgramBlockHierarchy2Forced</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/controlprogram/ProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ProgramBlock</a>&gt;&nbsp;pbs,
                                      long&nbsp;tid,
@@ -307,46 +293,46 @@
 <div class="block">Method to recompile program block hierarchy to forced execution time.</div>
 </td>
 </tr>
-<tr id="i20" class="altColor">
+<tr id="i18" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/recompile/Recompiler.html#recompileProgramBlockInstructions-org.apache.sysds.runtime.controlprogram.ProgramBlock-">recompileProgramBlockInstructions</a></span>(<a href="../../../../../org/apache/sysds/runtime/controlprogram/ProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ProgramBlock</a>&nbsp;pb)</code>
 <div class="block">This method does NO full program block recompile (no stats update, no rewrites, no recursion) but
  only regenerates lops and instructions.</div>
 </td>
 </tr>
-<tr id="i21" class="rowColor">
+<tr id="i19" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/runtime/controlprogram/LocalVariableMap.html" title="class in org.apache.sysds.runtime.controlprogram">LocalVariableMap</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/recompile/Recompiler.html#reconcileUpdatedCallVarsIf-org.apache.sysds.runtime.controlprogram.LocalVariableMap-org.apache.sysds.runtime.controlprogram.LocalVariableMap-org.apache.sysds.runtime.controlprogram.LocalVariableMap-org.apache.sysds.parser.StatementBlock-">reconcileUpdatedCallVarsIf</a></span>(<a href="../../../../../org/apache/sysds/runtime/controlprogram/LocalVariableMap.html" title="class in org.apache.sysds.runtime.controlprogram">LocalVariableMap</a>&nbsp;oldCallVars,
                           <a href="../../../../../org/apache/sysds/runtime/controlprogram/LocalVariableMap.html" title="class in org.apache.sysds.runtime.controlprogram">LocalVariableMap</a>&nbsp;callVarsIf,
                           <a href="../../../../../org/apache/sysds/runtime/controlprogram/LocalVariableMap.html" title="class in org.apache.sysds.runtime.controlprogram">LocalVariableMap</a>&nbsp;callVarsElse,
                           <a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&nbsp;sb)</code>&nbsp;</td>
 </tr>
-<tr id="i22" class="altColor">
+<tr id="i20" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/hops/recompile/RecompileStatus.html" title="class in org.apache.sysds.hops.recompile">RecompileStatus</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/recompile/Recompiler.html#reconcileUpdatedCallVarsIf-org.apache.sysds.hops.recompile.RecompileStatus-org.apache.sysds.hops.recompile.RecompileStatus-org.apache.sysds.hops.recompile.RecompileStatus-org.apache.sysds.parser.StatementBlock-">reconcileUpdatedCallVarsIf</a></span>(<a href="../../../../../org/apache/sysds/hops/recompile/RecompileStatus.html" title="class in org.apache.sysds.hops.recompile">RecompileStatus</a>&nbsp;oldStatus,
                           <a href="../../../../../org/apache/sysds/hops/recompile/RecompileStatus.html" title="class in org.apache.sysds.hops.recompile">RecompileStatus</a>&nbsp;callStatusIf,
                           <a href="../../../../../org/apache/sysds/hops/recompile/RecompileStatus.html" title="class in org.apache.sysds.hops.recompile">RecompileStatus</a>&nbsp;callStatusElse,
                           <a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&nbsp;sb)</code>&nbsp;</td>
 </tr>
-<tr id="i23" class="rowColor">
+<tr id="i21" class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/recompile/Recompiler.html#reconcileUpdatedCallVarsLoops-org.apache.sysds.runtime.controlprogram.LocalVariableMap-org.apache.sysds.runtime.controlprogram.LocalVariableMap-org.apache.sysds.parser.StatementBlock-">reconcileUpdatedCallVarsLoops</a></span>(<a href="../../../../../org/apache/sysds/runtime/controlprogram/LocalVariableMap.html" title="class in org.apache.sysds.runtime.controlprogram">LocalVariableMap</a>&nbsp;oldCallVars,
                              <a href="../../../../../org/apache/sysds/runtime/controlprogram/LocalVariableMap.html" title="class in org.apache.sysds.runtime.controlprogram">LocalVariableMap</a>&nbsp;callVars,
                              <a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&nbsp;sb)</code>&nbsp;</td>
 </tr>
-<tr id="i24" class="altColor">
+<tr id="i22" class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/recompile/Recompiler.html#reconcileUpdatedCallVarsLoops-org.apache.sysds.hops.recompile.RecompileStatus-org.apache.sysds.hops.recompile.RecompileStatus-org.apache.sysds.parser.StatementBlock-">reconcileUpdatedCallVarsLoops</a></span>(<a href="../../../../../org/apache/sysds/hops/recompile/RecompileStatus.html" title="class in org.apache.sysds.hops.recompile">RecompileStatus</a>&nbsp;oldCallStatus,
                              <a href="../../../../../org/apache/sysds/hops/recompile/RecompileStatus.html" title="class in org.apache.sysds.hops.recompile">RecompileStatus</a>&nbsp;callStatus,
                              <a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&nbsp;sb)</code>&nbsp;</td>
 </tr>
-<tr id="i25" class="rowColor">
+<tr id="i23" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/recompile/Recompiler.html#reinitRecompiler--">reinitRecompiler</a></span>()</code>
 <div class="block">Re-initializes the recompiler according to the current optimizer flags.</div>
 </td>
 </tr>
-<tr id="i26" class="altColor">
+<tr id="i24" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/recompile/Recompiler.html#removeUpdatedScalars-org.apache.sysds.runtime.controlprogram.LocalVariableMap-org.apache.sysds.parser.StatementBlock-">removeUpdatedScalars</a></span>(<a href="../../../../../org/apache/sysds/runtime/controlprogram/LocalVariableMap.html" title="class in org.apache.sysds.runtime.controlprogram">LocalVariableMap</a>&nbsp;callVars,
                     <a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&nbsp;sb)</code>
@@ -354,23 +340,30 @@
  is updated in this block.</div>
 </td>
 </tr>
-<tr id="i27" class="rowColor">
+<tr id="i25" class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/recompile/Recompiler.html#requiresRecompilation-java.util.ArrayList-">requiresRecompilation</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&gt;&nbsp;hops)</code>&nbsp;</td>
 </tr>
-<tr id="i28" class="altColor">
+<tr id="i26" class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/recompile/Recompiler.html#requiresRecompilation-org.apache.sysds.hops.Hop-">requiresRecompilation</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop)</code>&nbsp;</td>
 </tr>
-<tr id="i29" class="rowColor">
+<tr id="i27" class="rowColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/recompile/Recompiler.html#rGetMaxParallelism-org.apache.sysds.hops.Hop-">rGetMaxParallelism</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop)</code>&nbsp;</td>
 </tr>
-<tr id="i30" class="altColor">
+<tr id="i28" class="altColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/recompile/Recompiler.html#rGetMaxParallelism-java.util.List-">rGetMaxParallelism</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&gt;&nbsp;hops)</code>&nbsp;</td>
 </tr>
-<tr id="i31" class="rowColor">
+<tr id="i29" class="rowColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/recompile/Recompiler.html#rRecompileProgramBlock2Forced-org.apache.sysds.runtime.controlprogram.ProgramBlock-long-java.util.HashSet-org.apache.sysds.lops.LopProperties.ExecType-">rRecompileProgramBlock2Forced</a></span>(<a href="../../../../../org/apache/sysds/runtime/controlprogram/ProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ProgramBlock</a>&nbsp;pb,
+                             long&nbsp;tid,
+                             <a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashSet.html?is-external=true" title="class or interface in java.util">HashSet</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;fnStack,
+                             <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
+</tr>
+<tr id="i30" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/recompile/Recompiler.html#rReplaceLiterals-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-boolean-">rReplaceLiterals</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop,
                 <a href="../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
@@ -378,38 +371,38 @@
 <div class="block">public interface to package local literal replacement</div>
 </td>
 </tr>
-<tr id="i32" class="altColor">
+<tr id="i31" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/recompile/Recompiler.html#rReplaceLiterals-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-boolean-">rReplaceLiterals</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop,
                 <a href="../../../../../org/apache/sysds/runtime/controlprogram/LocalVariableMap.html" title="class in org.apache.sysds.runtime.controlprogram">LocalVariableMap</a>&nbsp;vars,
                 boolean&nbsp;scalarsOnly)</code>&nbsp;</td>
 </tr>
-<tr id="i33" class="rowColor">
+<tr id="i32" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/recompile/Recompiler.html#rSetExecType-org.apache.sysds.hops.Hop-org.apache.sysds.lops.LopProperties.ExecType-">rSetExecType</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop,
             <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;etype)</code>&nbsp;</td>
 </tr>
-<tr id="i34" class="altColor">
+<tr id="i33" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/recompile/Recompiler.html#rSetMaxParallelism-org.apache.sysds.hops.Hop-int-">rSetMaxParallelism</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop,
                   int&nbsp;k)</code>&nbsp;</td>
 </tr>
-<tr id="i35" class="rowColor">
+<tr id="i34" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/recompile/Recompiler.html#rSetMaxParallelism-java.util.List-int-">rSetMaxParallelism</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&gt;&nbsp;hops,
                   int&nbsp;k)</code>&nbsp;</td>
 </tr>
-<tr id="i36" class="altColor">
+<tr id="i35" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/recompile/Recompiler.html#rUpdateFunctionNames-org.apache.sysds.hops.Hop-long-">rUpdateFunctionNames</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop,
                     long&nbsp;pid)</code>&nbsp;</td>
 </tr>
-<tr id="i37" class="rowColor">
+<tr id="i36" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/recompile/Recompiler.html#rUpdateStatistics-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">rUpdateStatistics</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop,
                  <a href="../../../../../org/apache/sysds/runtime/controlprogram/LocalVariableMap.html" title="class in org.apache.sysds.runtime.controlprogram">LocalVariableMap</a>&nbsp;vars)</code>&nbsp;</td>
 </tr>
-<tr id="i38" class="altColor">
+<tr id="i37" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/recompile/Recompiler.html#updateFunctionNames-java.util.ArrayList-long-">updateFunctionNames</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&gt;&nbsp;hops,
                    long&nbsp;pid)</code>&nbsp;</td>
@@ -493,20 +486,6 @@
                                                       long&nbsp;tid)</pre>
 </li>
 </ul>
-<a name="recompileHopsDag-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.hops.recompile.RecompileStatus-boolean-boolean-long-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>recompileHopsDag</h4>
-<pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a>&gt;&nbsp;recompileHopsDag(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop,
-                                                      <a href="../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
-                                                      <a href="../../../../../org/apache/sysds/hops/recompile/RecompileStatus.html" title="class in org.apache.sysds.hops.recompile">RecompileStatus</a>&nbsp;status,
-                                                      boolean&nbsp;inplace,
-                                                      boolean&nbsp;replaceLit,
-                                                      long&nbsp;tid)</pre>
-</li>
-</ul>
 <a name="recompileHopsDag-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-org.apache.sysds.hops.recompile.RecompileStatus-boolean-boolean-long-">
 <!--   -->
 </a>
@@ -563,7 +542,7 @@
 <pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a>&gt;&nbsp;recompileHopsDagInstructions(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop)</pre>
 </li>
 </ul>
-<a name="recompileProgramBlockHierarchy-java.util.ArrayList-org.apache.sysds.runtime.controlprogram.LocalVariableMap-long-org.apache.sysds.hops.recompile.Recompiler.ResetType-">
+<a name="recompileProgramBlockHierarchy-java.util.ArrayList-org.apache.sysds.runtime.controlprogram.LocalVariableMap-long-boolean-org.apache.sysds.hops.recompile.Recompiler.ResetType-">
 <!--   -->
 </a>
 <ul class="blockList">
@@ -572,6 +551,7 @@
 <pre>public static&nbsp;void&nbsp;recompileProgramBlockHierarchy(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/controlprogram/ProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ProgramBlock</a>&gt;&nbsp;pbs,
                                                   <a href="../../../../../org/apache/sysds/runtime/controlprogram/LocalVariableMap.html" title="class in org.apache.sysds.runtime.controlprogram">LocalVariableMap</a>&nbsp;vars,
                                                   long&nbsp;tid,
+                                                  boolean&nbsp;inplace,
                                                   <a href="../../../../../org/apache/sysds/hops/recompile/Recompiler.ResetType.html" title="enum in org.apache.sysds.hops.recompile">Recompiler.ResetType</a>&nbsp;resetRecompile)</pre>
 </li>
 </ul>
@@ -733,6 +713,18 @@
                                                          <a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&nbsp;sb)</pre>
 </li>
 </ul>
+<a name="rRecompileProgramBlock2Forced-org.apache.sysds.runtime.controlprogram.ProgramBlock-long-java.util.HashSet-org.apache.sysds.lops.LopProperties.ExecType-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>rRecompileProgramBlock2Forced</h4>
+<pre>public static&nbsp;void&nbsp;rRecompileProgramBlock2Forced(<a href="../../../../../org/apache/sysds/runtime/controlprogram/ProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ProgramBlock</a>&nbsp;pb,
+                                                 long&nbsp;tid,
+                                                 <a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashSet.html?is-external=true" title="class or interface in java.util">HashSet</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;fnStack,
+                                                 <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</pre>
+</li>
+</ul>
 <a name="removeUpdatedScalars-org.apache.sysds.runtime.controlprogram.LocalVariableMap-org.apache.sysds.parser.StatementBlock-">
 <!--   -->
 </a>
@@ -918,26 +910,15 @@
 <pre>public static&nbsp;boolean&nbsp;checkCPCheckpoint(<a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a>&nbsp;dc)</pre>
 </li>
 </ul>
-<a name="executeInMemoryMatrixReblock-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-java.lang.String-java.lang.String-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>executeInMemoryMatrixReblock</h4>
-<pre>public static&nbsp;void&nbsp;executeInMemoryMatrixReblock(<a href="../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
-                                                <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;varin,
-                                                <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;varout)</pre>
-</li>
-</ul>
-<a name="executeInMemoryFrameReblock-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-java.lang.String-java.lang.String-">
+<a name="executeInMemoryReblock-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-java.lang.String-java.lang.String-">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>executeInMemoryFrameReblock</h4>
-<pre>public static&nbsp;void&nbsp;executeInMemoryFrameReblock(<a href="../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
-                                               <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;varin,
-                                               <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;varout)</pre>
+<h4>executeInMemoryReblock</h4>
+<pre>public static&nbsp;void&nbsp;executeInMemoryReblock(<a href="../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
+                                          <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;varin,
+                                          <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;varout)</pre>
 </li>
 </ul>
 </li>
@@ -1009,6 +990,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/recompile/class-use/LiteralReplacement.html b/docs/api/java/org/apache/sysds/hops/recompile/class-use/LiteralReplacement.html
index df85583..18ea7c5 100644
--- a/docs/api/java/org/apache/sysds/hops/recompile/class-use/LiteralReplacement.html
+++ b/docs/api/java/org/apache/sysds/hops/recompile/class-use/LiteralReplacement.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/recompile/class-use/RecompileStatus.html b/docs/api/java/org/apache/sysds/hops/recompile/class-use/RecompileStatus.html
index 40f2cfb..a50471d 100644
--- a/docs/api/java/org/apache/sysds/hops/recompile/class-use/RecompileStatus.html
+++ b/docs/api/java/org/apache/sysds/hops/recompile/class-use/RecompileStatus.html
@@ -153,15 +153,6 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a>&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">Recompiler.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/recompile/Recompiler.html#recompileHopsDag-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.hops.recompile.RecompileStatus-boolean-boolean-long-">recompileHopsDag</a></span>(<a href="../../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop,
-                <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
-                <a href="../../../../../../org/apache/sysds/hops/recompile/RecompileStatus.html" title="class in org.apache.sysds.hops.recompile">RecompileStatus</a>&nbsp;status,
-                boolean&nbsp;inplace,
-                boolean&nbsp;replaceLit,
-                long&nbsp;tid)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">Recompiler.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/recompile/Recompiler.html#recompileHopsDag-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-org.apache.sysds.hops.recompile.RecompileStatus-boolean-boolean-long-">recompileHopsDag</a></span>(<a href="../../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop,
                 <a href="../../../../../../org/apache/sysds/runtime/controlprogram/LocalVariableMap.html" title="class in org.apache.sysds.runtime.controlprogram">LocalVariableMap</a>&nbsp;vars,
                 <a href="../../../../../../org/apache/sysds/hops/recompile/RecompileStatus.html" title="class in org.apache.sysds.hops.recompile">RecompileStatus</a>&nbsp;status,
@@ -169,7 +160,7 @@
                 boolean&nbsp;replaceLit,
                 long&nbsp;tid)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">Recompiler.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/recompile/Recompiler.html#recompileHopsDag-org.apache.sysds.parser.StatementBlock-java.util.ArrayList-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.hops.recompile.RecompileStatus-boolean-boolean-long-">recompileHopsDag</a></span>(<a href="../../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&nbsp;sb,
                 <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&gt;&nbsp;hops,
@@ -179,7 +170,7 @@
                 boolean&nbsp;replaceLit,
                 long&nbsp;tid)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">Recompiler.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/recompile/Recompiler.html#recompileHopsDag-org.apache.sysds.parser.StatementBlock-java.util.ArrayList-org.apache.sysds.runtime.controlprogram.LocalVariableMap-org.apache.sysds.hops.recompile.RecompileStatus-boolean-boolean-long-">recompileHopsDag</a></span>(<a href="../../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&nbsp;sb,
                 <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&gt;&nbsp;hops,
@@ -189,14 +180,14 @@
                 boolean&nbsp;replaceLit,
                 long&nbsp;tid)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/hops/recompile/RecompileStatus.html" title="class in org.apache.sysds.hops.recompile">RecompileStatus</a></code></td>
 <td class="colLast"><span class="typeNameLabel">Recompiler.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/recompile/Recompiler.html#reconcileUpdatedCallVarsIf-org.apache.sysds.hops.recompile.RecompileStatus-org.apache.sysds.hops.recompile.RecompileStatus-org.apache.sysds.hops.recompile.RecompileStatus-org.apache.sysds.parser.StatementBlock-">reconcileUpdatedCallVarsIf</a></span>(<a href="../../../../../../org/apache/sysds/hops/recompile/RecompileStatus.html" title="class in org.apache.sysds.hops.recompile">RecompileStatus</a>&nbsp;oldStatus,
                           <a href="../../../../../../org/apache/sysds/hops/recompile/RecompileStatus.html" title="class in org.apache.sysds.hops.recompile">RecompileStatus</a>&nbsp;callStatusIf,
                           <a href="../../../../../../org/apache/sysds/hops/recompile/RecompileStatus.html" title="class in org.apache.sysds.hops.recompile">RecompileStatus</a>&nbsp;callStatusElse,
                           <a href="../../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&nbsp;sb)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">Recompiler.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/recompile/Recompiler.html#reconcileUpdatedCallVarsLoops-org.apache.sysds.hops.recompile.RecompileStatus-org.apache.sysds.hops.recompile.RecompileStatus-org.apache.sysds.parser.StatementBlock-">reconcileUpdatedCallVarsLoops</a></span>(<a href="../../../../../../org/apache/sysds/hops/recompile/RecompileStatus.html" title="class in org.apache.sysds.hops.recompile">RecompileStatus</a>&nbsp;oldCallStatus,
                              <a href="../../../../../../org/apache/sysds/hops/recompile/RecompileStatus.html" title="class in org.apache.sysds.hops.recompile">RecompileStatus</a>&nbsp;callStatus,
@@ -256,6 +247,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/recompile/class-use/Recompiler.ResetType.html b/docs/api/java/org/apache/sysds/hops/recompile/class-use/Recompiler.ResetType.html
index 646684a..4b007cf 100644
--- a/docs/api/java/org/apache/sysds/hops/recompile/class-use/Recompiler.ResetType.html
+++ b/docs/api/java/org/apache/sysds/hops/recompile/class-use/Recompiler.ResetType.html
@@ -133,12 +133,16 @@
 </tr>
 <tbody>
 <tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/hops/recompile/Recompiler.ResetType.html" title="enum in org.apache.sysds.hops.recompile">Recompiler.ResetType</a></code></td>
+<td class="colLast"><span class="typeNameLabel">RecompileStatus.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/recompile/RecompileStatus.html#getReset--">getReset</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/hops/recompile/Recompiler.ResetType.html" title="enum in org.apache.sysds.hops.recompile">Recompiler.ResetType</a></code></td>
 <td class="colLast"><span class="typeNameLabel">Recompiler.ResetType.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/recompile/Recompiler.ResetType.html#valueOf-java.lang.String-">valueOf</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
 <div class="block">Returns the enum constant of this type with the specified name.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/hops/recompile/Recompiler.ResetType.html" title="enum in org.apache.sysds.hops.recompile">Recompiler.ResetType</a>[]</code></td>
 <td class="colLast"><span class="typeNameLabel">Recompiler.ResetType.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/recompile/Recompiler.ResetType.html#values--">values</a></span>()</code>
 <div class="block">Returns an array containing the constants of this enum type, in
@@ -156,13 +160,28 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>static void</code></td>
-<td class="colLast"><span class="typeNameLabel">Recompiler.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/recompile/Recompiler.html#recompileProgramBlockHierarchy-java.util.ArrayList-org.apache.sysds.runtime.controlprogram.LocalVariableMap-long-org.apache.sysds.hops.recompile.Recompiler.ResetType-">recompileProgramBlockHierarchy</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/controlprogram/ProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ProgramBlock</a>&gt;&nbsp;pbs,
+<td class="colLast"><span class="typeNameLabel">Recompiler.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/recompile/Recompiler.html#recompileProgramBlockHierarchy-java.util.ArrayList-org.apache.sysds.runtime.controlprogram.LocalVariableMap-long-boolean-org.apache.sysds.hops.recompile.Recompiler.ResetType-">recompileProgramBlockHierarchy</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/controlprogram/ProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ProgramBlock</a>&gt;&nbsp;pbs,
                               <a href="../../../../../../org/apache/sysds/runtime/controlprogram/LocalVariableMap.html" title="class in org.apache.sysds.runtime.controlprogram">LocalVariableMap</a>&nbsp;vars,
                               long&nbsp;tid,
+                              boolean&nbsp;inplace,
                               <a href="../../../../../../org/apache/sysds/hops/recompile/Recompiler.ResetType.html" title="enum in org.apache.sysds.hops.recompile">Recompiler.ResetType</a>&nbsp;resetRecompile)</code>&nbsp;</td>
 </tr>
 </tbody>
 </table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../../org/apache/sysds/hops/recompile/package-summary.html">org.apache.sysds.hops.recompile</a> with parameters of type <a href="../../../../../../org/apache/sysds/hops/recompile/Recompiler.ResetType.html" title="enum in org.apache.sysds.hops.recompile">Recompiler.ResetType</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/recompile/RecompileStatus.html#RecompileStatus-long-boolean-org.apache.sysds.hops.recompile.Recompiler.ResetType-boolean-">RecompileStatus</a></span>(long&nbsp;tid,
+               boolean&nbsp;inplace,
+               <a href="../../../../../../org/apache/sysds/hops/recompile/Recompiler.ResetType.html" title="enum in org.apache.sysds.hops.recompile">Recompiler.ResetType</a>&nbsp;reset,
+               boolean&nbsp;initialCodegen)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
 </li>
 </ul>
 </li>
@@ -215,6 +234,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/recompile/class-use/Recompiler.html b/docs/api/java/org/apache/sysds/hops/recompile/class-use/Recompiler.html
index 6d6d293..c538f0d 100644
--- a/docs/api/java/org/apache/sysds/hops/recompile/class-use/Recompiler.html
+++ b/docs/api/java/org/apache/sysds/hops/recompile/class-use/Recompiler.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/recompile/package-summary.html b/docs/api/java/org/apache/sysds/hops/recompile/package-summary.html
index da84139..038a345 100644
--- a/docs/api/java/org/apache/sysds/hops/recompile/package-summary.html
+++ b/docs/api/java/org/apache/sysds/hops/recompile/package-summary.html
@@ -168,6 +168,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/recompile/package-tree.html b/docs/api/java/org/apache/sysds/hops/recompile/package-tree.html
index 7235bcd..26ad94c 100644
--- a/docs/api/java/org/apache/sysds/hops/recompile/package-tree.html
+++ b/docs/api/java/org/apache/sysds/hops/recompile/package-tree.html
@@ -147,6 +147,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/recompile/package-use.html b/docs/api/java/org/apache/sysds/hops/recompile/package-use.html
index 35f33de..c391f88 100644
--- a/docs/api/java/org/apache/sysds/hops/recompile/package-use.html
+++ b/docs/api/java/org/apache/sysds/hops/recompile/package-use.html
@@ -178,6 +178,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/rewrite/HopDagValidator.html b/docs/api/java/org/apache/sysds/hops/rewrite/HopDagValidator.html
index a62c139..f501857 100644
--- a/docs/api/java/org/apache/sysds/hops/rewrite/HopDagValidator.html
+++ b/docs/api/java/org/apache/sysds/hops/rewrite/HopDagValidator.html
@@ -252,6 +252,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/rewrite/HopRewriteRule.html b/docs/api/java/org/apache/sysds/hops/rewrite/HopRewriteRule.html
index 6e03990..b4b853e 100644
--- a/docs/api/java/org/apache/sysds/hops/rewrite/HopRewriteRule.html
+++ b/docs/api/java/org/apache/sysds/hops/rewrite/HopRewriteRule.html
@@ -310,6 +310,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/rewrite/HopRewriteUtils.html b/docs/api/java/org/apache/sysds/hops/rewrite/HopRewriteUtils.html
index 9111d88..c262449 100644
--- a/docs/api/java/org/apache/sysds/hops/rewrite/HopRewriteUtils.html
+++ b/docs/api/java/org/apache/sysds/hops/rewrite/HopRewriteUtils.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":9,"i11":9,"i12":9,"i13":9,"i14":9,"i15":9,"i16":9,"i17":9,"i18":9,"i19":9,"i20":9,"i21":9,"i22":9,"i23":9,"i24":9,"i25":9,"i26":9,"i27":9,"i28":9,"i29":9,"i30":9,"i31":9,"i32":9,"i33":9,"i34":9,"i35":9,"i36":9,"i37":9,"i38":9,"i39":9,"i40":9,"i41":9,"i42":9,"i43":9,"i44":9,"i45":9,"i46":9,"i47":9,"i48":9,"i49":9,"i50":9,"i51":9,"i52":9,"i53":9,"i54":9,"i55":9,"i56":9,"i57":9,"i58":9,"i59":9,"i60":9,"i61":9,"i62":9,"i63":9,"i64":9,"i65":9,"i66":9,"i67":9,"i68":9,"i69":9,"i70":9,"i71":9,"i72":9,"i73":9,"i74":9,"i75":9,"i76":9,"i77":9,"i78":9,"i79":9,"i80":9,"i81":9,"i82":9,"i83":9,"i84":9,"i85":9,"i86":9,"i87":9,"i88":9,"i89":9,"i90":9,"i91":9,"i92":9,"i93":9,"i94":9,"i95":9,"i96":9,"i97":9,"i98":9,"i99":9,"i100":9,"i101":9,"i102":9,"i103":9,"i104":9,"i105":9,"i106":9,"i107":9,"i108":9,"i109":9,"i110":9,"i111":9,"i112":9,"i113":9,"i114":9,"i115":9,"i116":9,"i117":9,"i118":9,"i119":9,"i120":9,"i121":9,"i122":9,"i123":9,"i124":9,"i125":9,"i126":9,"i127":9,"i128":9,"i129":9,"i130":9,"i131":9,"i132":9,"i133":9,"i134":9,"i135":9,"i136":9,"i137":9,"i138":9,"i139":9,"i140":9,"i141":9,"i142":9,"i143":9,"i144":9,"i145":9,"i146":9,"i147":9,"i148":9,"i149":9,"i150":9,"i151":9,"i152":9,"i153":9,"i154":9,"i155":9,"i156":9,"i157":9,"i158":9,"i159":9,"i160":9,"i161":9,"i162":9,"i163":9,"i164":9,"i165":9,"i166":9,"i167":9,"i168":9,"i169":9,"i170":9,"i171":9,"i172":9,"i173":9,"i174":9,"i175":9,"i176":9,"i177":9,"i178":9};
+var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":9,"i11":9,"i12":9,"i13":9,"i14":9,"i15":9,"i16":9,"i17":9,"i18":9,"i19":9,"i20":9,"i21":9,"i22":9,"i23":9,"i24":9,"i25":9,"i26":9,"i27":9,"i28":9,"i29":9,"i30":9,"i31":9,"i32":9,"i33":9,"i34":9,"i35":9,"i36":9,"i37":9,"i38":9,"i39":9,"i40":9,"i41":9,"i42":9,"i43":9,"i44":9,"i45":9,"i46":9,"i47":9,"i48":9,"i49":9,"i50":9,"i51":9,"i52":9,"i53":9,"i54":9,"i55":9,"i56":9,"i57":9,"i58":9,"i59":9,"i60":9,"i61":9,"i62":9,"i63":9,"i64":9,"i65":9,"i66":9,"i67":9,"i68":9,"i69":9,"i70":9,"i71":9,"i72":9,"i73":9,"i74":9,"i75":9,"i76":9,"i77":9,"i78":9,"i79":9,"i80":9,"i81":9,"i82":9,"i83":9,"i84":9,"i85":9,"i86":9,"i87":9,"i88":9,"i89":9,"i90":9,"i91":9,"i92":9,"i93":9,"i94":9,"i95":9,"i96":9,"i97":9,"i98":9,"i99":9,"i100":9,"i101":9,"i102":9,"i103":9,"i104":9,"i105":9,"i106":9,"i107":9,"i108":9,"i109":9,"i110":9,"i111":9,"i112":9,"i113":9,"i114":9,"i115":9,"i116":9,"i117":9,"i118":9,"i119":9,"i120":9,"i121":9,"i122":9,"i123":9,"i124":9,"i125":9,"i126":9,"i127":9,"i128":9,"i129":9,"i130":9,"i131":9,"i132":9,"i133":9,"i134":9,"i135":9,"i136":9,"i137":9,"i138":9,"i139":9,"i140":9,"i141":9,"i142":9,"i143":9,"i144":9,"i145":9,"i146":9,"i147":9,"i148":9,"i149":9,"i150":9,"i151":9,"i152":9,"i153":9,"i154":9,"i155":9,"i156":9,"i157":9,"i158":9,"i159":9,"i160":9,"i161":9,"i162":9,"i163":9,"i164":9,"i165":9,"i166":9,"i167":9,"i168":9,"i169":9,"i170":9,"i171":9,"i172":9,"i173":9,"i174":9,"i175":9,"i176":9,"i177":9,"i178":9,"i179":9,"i180":9,"i181":9,"i182":9,"i183":9};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -308,19 +308,24 @@
 </tr>
 <tr id="i29" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/hops/IndexingOp.html" title="class in org.apache.sysds.hops">IndexingOp</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#createIndexingOp-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-">createIndexingOp</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;input,
+                <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;batchsize)</code>&nbsp;</td>
+</tr>
+<tr id="i30" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/hops/IndexingOp.html" title="class in org.apache.sysds.hops">IndexingOp</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#createIndexingOp-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-">createIndexingOp</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;input,
                 <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;rl,
                 <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;ru,
                 <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;cl,
                 <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;cu)</code>&nbsp;</td>
 </tr>
-<tr id="i30" class="altColor">
+<tr id="i31" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/hops/IndexingOp.html" title="class in org.apache.sysds.hops">IndexingOp</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#createIndexingOp-org.apache.sysds.hops.Hop-long-long-">createIndexingOp</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;input,
                 long&nbsp;rix,
                 long&nbsp;cix)</code>&nbsp;</td>
 </tr>
-<tr id="i31" class="rowColor">
+<tr id="i32" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/hops/IndexingOp.html" title="class in org.apache.sysds.hops">IndexingOp</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#createIndexingOp-org.apache.sysds.hops.Hop-long-long-long-long-">createIndexingOp</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;input,
                 long&nbsp;rl,
@@ -328,7 +333,7 @@
                 long&nbsp;cl,
                 long&nbsp;cu)</code>&nbsp;</td>
 </tr>
-<tr id="i32" class="altColor">
+<tr id="i33" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/hops/LeftIndexingOp.html" title="class in org.apache.sysds.hops">LeftIndexingOp</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#createLeftIndexingOp-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-">createLeftIndexingOp</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;lhs,
                     <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;rhs,
@@ -337,63 +342,63 @@
                     <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;cl,
                     <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;cu)</code>&nbsp;</td>
 </tr>
-<tr id="i33" class="rowColor">
+<tr id="i34" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/hops/AggBinaryOp.html" title="class in org.apache.sysds.hops">AggBinaryOp</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#createMatrixMultiply-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-">createMatrixMultiply</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;left,
                     <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;right)</code>&nbsp;</td>
 </tr>
-<tr id="i34" class="altColor">
+<tr id="i35" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/hops/NaryOp.html" title="class in org.apache.sysds.hops">NaryOp</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#createNary-org.apache.sysds.common.Types.OpOpN-org.apache.sysds.hops.Hop...-">createNary</a></span>(<a href="../../../../../org/apache/sysds/common/Types.OpOpN.html" title="enum in org.apache.sysds.common">Types.OpOpN</a>&nbsp;op,
           <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>...&nbsp;inputs)</code>&nbsp;</td>
 </tr>
-<tr id="i35" class="rowColor">
+<tr id="i36" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/hops/ParameterizedBuiltinOp.html" title="class in org.apache.sysds.hops">ParameterizedBuiltinOp</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#createParameterizedBuiltinOp-org.apache.sysds.hops.Hop-java.util.LinkedHashMap-org.apache.sysds.common.Types.ParamBuiltinOp-">createParameterizedBuiltinOp</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;input,
                             <a href="https://docs.oracle.com/javase/8/docs/api/java/util/LinkedHashMap.html?is-external=true" title="class or interface in java.util">LinkedHashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&gt;&nbsp;args,
                             <a href="../../../../../org/apache/sysds/common/Types.ParamBuiltinOp.html" title="enum in org.apache.sysds.common">Types.ParamBuiltinOp</a>&nbsp;op)</code>&nbsp;</td>
 </tr>
-<tr id="i36" class="altColor">
+<tr id="i37" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#createPartialTsmmCbind-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-">createPartialTsmmCbind</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;X,
                       <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;deltaX,
                       <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;tsmmIn1)</code>&nbsp;</td>
 </tr>
-<tr id="i37" class="rowColor">
+<tr id="i38" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/hops/ReorgOp.html" title="class in org.apache.sysds.hops">ReorgOp</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#createReorg-java.util.ArrayList-org.apache.sysds.common.Types.ReOrgOp-">createReorg</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&gt;&nbsp;inputs,
            <a href="../../../../../org/apache/sysds/common/Types.ReOrgOp.html" title="enum in org.apache.sysds.common">Types.ReOrgOp</a>&nbsp;rop)</code>&nbsp;</td>
 </tr>
-<tr id="i38" class="altColor">
+<tr id="i39" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/hops/ReorgOp.html" title="class in org.apache.sysds.hops">ReorgOp</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#createReorg-org.apache.sysds.hops.Hop-java.lang.String-">createReorg</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;input,
            <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;rop)</code>&nbsp;</td>
 </tr>
-<tr id="i39" class="rowColor">
+<tr id="i40" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/hops/ReorgOp.html" title="class in org.apache.sysds.hops">ReorgOp</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#createReorg-org.apache.sysds.hops.Hop-org.apache.sysds.common.Types.ReOrgOp-">createReorg</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;input,
            <a href="../../../../../org/apache/sysds/common/Types.ReOrgOp.html" title="enum in org.apache.sysds.common">Types.ReOrgOp</a>&nbsp;rop)</code>&nbsp;</td>
 </tr>
-<tr id="i40" class="altColor">
+<tr id="i41" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#createScalarIndexing-org.apache.sysds.hops.Hop-long-long-">createScalarIndexing</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;input,
                     long&nbsp;rix,
                     long&nbsp;cix)</code>&nbsp;</td>
 </tr>
-<tr id="i41" class="rowColor">
+<tr id="i42" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/hops/DataGenOp.html" title="class in org.apache.sysds.hops">DataGenOp</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#createSeqDataGenOp-org.apache.sysds.hops.Hop-">createSeqDataGenOp</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;input)</code>&nbsp;</td>
 </tr>
-<tr id="i42" class="altColor">
+<tr id="i43" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/hops/DataGenOp.html" title="class in org.apache.sysds.hops">DataGenOp</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#createSeqDataGenOp-org.apache.sysds.hops.Hop-boolean-">createSeqDataGenOp</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;input,
                   boolean&nbsp;asc)</code>&nbsp;</td>
 </tr>
-<tr id="i43" class="rowColor">
+<tr id="i44" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/hops/AggUnaryOp.html" title="class in org.apache.sysds.hops">AggUnaryOp</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#createSum-org.apache.sysds.hops.Hop-">createSum</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;input)</code>&nbsp;</td>
 </tr>
-<tr id="i44" class="altColor">
+<tr id="i45" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/hops/TernaryOp.html" title="class in org.apache.sysds.hops">TernaryOp</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#createTernary-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-org.apache.sysds.common.Types.OpOp3-">createTernary</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;in1,
              <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;in2,
@@ -402,449 +407,462 @@
              <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;in5,
              <a href="../../../../../org/apache/sysds/common/Types.OpOp3.html" title="enum in org.apache.sysds.common">Types.OpOp3</a>&nbsp;op)</code>&nbsp;</td>
 </tr>
-<tr id="i45" class="rowColor">
+<tr id="i46" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/hops/TernaryOp.html" title="class in org.apache.sysds.hops">TernaryOp</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#createTernary-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-java.lang.String-">createTernary</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;mleft,
              <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;smid,
              <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;mright,
              <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;opcode)</code>&nbsp;</td>
 </tr>
-<tr id="i46" class="altColor">
+<tr id="i47" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/hops/TernaryOp.html" title="class in org.apache.sysds.hops">TernaryOp</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#createTernary-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-org.apache.sysds.common.Types.OpOp3-">createTernary</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;mleft,
              <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;smid,
              <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;mright,
              <a href="../../../../../org/apache/sysds/common/Types.OpOp3.html" title="enum in org.apache.sysds.common">Types.OpOp3</a>&nbsp;op)</code>&nbsp;</td>
 </tr>
-<tr id="i47" class="rowColor">
+<tr id="i48" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/hops/DataOp.html" title="class in org.apache.sysds.hops">DataOp</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#createTransientRead-java.lang.String-org.apache.sysds.hops.Hop-">createTransientRead</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
                    <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;h)</code>&nbsp;</td>
 </tr>
-<tr id="i48" class="altColor">
+<tr id="i49" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/hops/DataOp.html" title="class in org.apache.sysds.hops">DataOp</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#createTransientRead-java.lang.String-org.apache.sysds.runtime.matrix.data.MatrixBlock-">createTransientRead</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
                    <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mb)</code>&nbsp;</td>
 </tr>
-<tr id="i49" class="rowColor">
+<tr id="i50" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/hops/DataOp.html" title="class in org.apache.sysds.hops">DataOp</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#createTransientRead-java.lang.String-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-">createTransientRead</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
                    <a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;mo)</code>&nbsp;</td>
 </tr>
-<tr id="i50" class="altColor">
+<tr id="i51" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/hops/DataOp.html" title="class in org.apache.sysds.hops">DataOp</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#createTransientWrite-java.lang.String-org.apache.sysds.hops.Hop-">createTransientWrite</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
                     <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;in)</code>&nbsp;</td>
 </tr>
-<tr id="i51" class="rowColor">
+<tr id="i52" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/hops/ReorgOp.html" title="class in org.apache.sysds.hops">ReorgOp</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#createTranspose-org.apache.sysds.hops.Hop-">createTranspose</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;input)</code>&nbsp;</td>
 </tr>
-<tr id="i52" class="altColor">
+<tr id="i53" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/hops/AggBinaryOp.html" title="class in org.apache.sysds.hops">AggBinaryOp</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#createTsmm-org.apache.sysds.hops.Hop-boolean-">createTsmm</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;input,
           boolean&nbsp;left)</code>&nbsp;</td>
 </tr>
-<tr id="i53" class="rowColor">
+<tr id="i54" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/hops/UnaryOp.html" title="class in org.apache.sysds.hops">UnaryOp</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#createUnary-org.apache.sysds.hops.Hop-java.lang.String-">createUnary</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;input,
            <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;type)</code>&nbsp;</td>
 </tr>
-<tr id="i54" class="altColor">
+<tr id="i55" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/hops/UnaryOp.html" title="class in org.apache.sysds.hops">UnaryOp</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#createUnary-org.apache.sysds.hops.Hop-org.apache.sysds.common.Types.OpOp1-">createUnary</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;input,
            <a href="../../../../../org/apache/sysds/common/Types.OpOp1.html" title="enum in org.apache.sysds.common">Types.OpOp1</a>&nbsp;type)</code>&nbsp;</td>
 </tr>
-<tr id="i55" class="rowColor">
+<tr id="i56" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#createValueHop-org.apache.sysds.hops.Hop-boolean-">createValueHop</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop,
               boolean&nbsp;row)</code>&nbsp;</td>
 </tr>
-<tr id="i56" class="altColor">
+<tr id="i57" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#getBasic1NSequenceMax-org.apache.sysds.hops.Hop-">getBasic1NSequenceMax</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop)</code>&nbsp;</td>
 </tr>
-<tr id="i57" class="rowColor">
+<tr id="i58" class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#getBooleanValue-org.apache.sysds.hops.LiteralOp-">getBooleanValue</a></span>(<a href="../../../../../org/apache/sysds/hops/LiteralOp.html" title="class in org.apache.sysds.hops">LiteralOp</a>&nbsp;op)</code>&nbsp;</td>
 </tr>
-<tr id="i58" class="altColor">
+<tr id="i59" class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#getBooleanValueSafe-org.apache.sysds.hops.LiteralOp-">getBooleanValueSafe</a></span>(<a href="../../../../../org/apache/sysds/hops/LiteralOp.html" title="class in org.apache.sysds.hops">LiteralOp</a>&nbsp;op)</code>&nbsp;</td>
 </tr>
-<tr id="i59" class="rowColor">
+<tr id="i60" class="altColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#getChildReferencePos-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-">getChildReferencePos</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;parent,
                     <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;child)</code>&nbsp;</td>
 </tr>
-<tr id="i60" class="altColor">
+<tr id="i61" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#getDataGenOpConstantValue-org.apache.sysds.hops.Hop-">getDataGenOpConstantValue</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop)</code>&nbsp;</td>
 </tr>
-<tr id="i61" class="rowColor">
+<tr id="i62" class="altColor">
 <td class="colFirst"><code>static double</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#getDoubleValue-org.apache.sysds.hops.LiteralOp-">getDoubleValue</a></span>(<a href="../../../../../org/apache/sysds/hops/LiteralOp.html" title="class in org.apache.sysds.hops">LiteralOp</a>&nbsp;op)</code>&nbsp;</td>
 </tr>
-<tr id="i62" class="altColor">
+<tr id="i63" class="rowColor">
 <td class="colFirst"><code>static double</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#getDoubleValueSafe-org.apache.sysds.hops.LiteralOp-">getDoubleValueSafe</a></span>(<a href="../../../../../org/apache/sysds/hops/LiteralOp.html" title="class in org.apache.sysds.hops">LiteralOp</a>&nbsp;op)</code>&nbsp;</td>
 </tr>
-<tr id="i63" class="rowColor">
+<tr id="i64" class="altColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#getIntValue-org.apache.sysds.hops.LiteralOp-">getIntValue</a></span>(<a href="../../../../../org/apache/sysds/hops/LiteralOp.html" title="class in org.apache.sysds.hops">LiteralOp</a>&nbsp;op)</code>
 <div class="block">Return the int value of a LiteralOp (as a long).</div>
 </td>
 </tr>
-<tr id="i64" class="altColor">
+<tr id="i65" class="rowColor">
+<td class="colFirst"><code>static long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#getIntValueSafe-org.apache.sysds.hops.Hop-">getIntValueSafe</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;op)</code>&nbsp;</td>
+</tr>
+<tr id="i66" class="altColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#getIntValueSafe-org.apache.sysds.hops.LiteralOp-">getIntValueSafe</a></span>(<a href="../../../../../org/apache/sysds/hops/LiteralOp.html" title="class in org.apache.sysds.hops">LiteralOp</a>&nbsp;op)</code>&nbsp;</td>
 </tr>
-<tr id="i65" class="rowColor">
+<tr id="i67" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#getLargestInput-org.apache.sysds.hops.Hop-">getLargestInput</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop)</code>&nbsp;</td>
 </tr>
-<tr id="i66" class="altColor">
+<tr id="i68" class="altColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#getMaxInputDim-org.apache.sysds.runtime.meta.DataCharacteristics:A-boolean-">getMaxInputDim</a></span>(<a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a>[]&nbsp;dc,
               boolean&nbsp;dim1)</code>&nbsp;</td>
 </tr>
-<tr id="i67" class="rowColor">
+<tr id="i69" class="rowColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#getMaxInputDim-org.apache.sysds.hops.Hop-boolean-">getMaxInputDim</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop,
               boolean&nbsp;dim1)</code>&nbsp;</td>
 </tr>
-<tr id="i68" class="altColor">
+<tr id="i70" class="altColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#getMaxNcolInput-org.apache.sysds.hops.Hop-">getMaxNcolInput</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop)</code>&nbsp;</td>
 </tr>
-<tr id="i69" class="rowColor">
+<tr id="i71" class="rowColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#getMaxNrowInput-org.apache.sysds.hops.Hop-">getMaxNrowInput</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop)</code>&nbsp;</td>
 </tr>
-<tr id="i70" class="altColor">
+<tr id="i72" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#getOtherInput-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-">getOtherInput</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop,
              <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;input)</code>&nbsp;</td>
 </tr>
-<tr id="i71" class="rowColor">
+<tr id="i73" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#getScalarObject-org.apache.sysds.hops.LiteralOp-">getScalarObject</a></span>(<a href="../../../../../org/apache/sysds/hops/LiteralOp.html" title="class in org.apache.sysds.hops">LiteralOp</a>&nbsp;op)</code>&nbsp;</td>
 </tr>
-<tr id="i72" class="altColor">
+<tr id="i74" class="altColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#getSumValidInputDims-org.apache.sysds.runtime.meta.DataCharacteristics:A-boolean-">getSumValidInputDims</a></span>(<a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a>[]&nbsp;mc,
                     boolean&nbsp;dim1)</code>&nbsp;</td>
 </tr>
-<tr id="i73" class="rowColor">
+<tr id="i75" class="rowColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#getSumValidInputDims-org.apache.sysds.hops.Hop-boolean-">getSumValidInputDims</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop,
                     boolean&nbsp;dim1)</code>&nbsp;</td>
 </tr>
-<tr id="i74" class="altColor">
+<tr id="i76" class="altColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#getSumValidInputNnz-org.apache.sysds.runtime.meta.DataCharacteristics:A-boolean-">getSumValidInputNnz</a></span>(<a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a>[]&nbsp;mc,
                    boolean&nbsp;worstcase)</code>&nbsp;</td>
 </tr>
-<tr id="i75" class="rowColor">
+<tr id="i77" class="rowColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#getSumValidInputNnz-org.apache.sysds.hops.Hop-">getSumValidInputNnz</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop)</code>&nbsp;</td>
 </tr>
-<tr id="i76" class="altColor">
+<tr id="i78" class="altColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#getValidOpPos-org.apache.sysds.common.Types.OpOp2-org.apache.sysds.common.Types.OpOp2...-">getValidOpPos</a></span>(<a href="../../../../../org/apache/sysds/common/Types.OpOp2.html" title="enum in org.apache.sysds.common">Types.OpOp2</a>&nbsp;input,
              <a href="../../../../../org/apache/sysds/common/Types.OpOp2.html" title="enum in org.apache.sysds.common">Types.OpOp2</a>...&nbsp;validTab)</code>&nbsp;</td>
 </tr>
-<tr id="i77" class="rowColor">
+<tr id="i79" class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#hasOnlyUnaryBinaryParents-org.apache.sysds.hops.Hop-boolean-">hasOnlyUnaryBinaryParents</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop,
                          boolean&nbsp;disallowLhs)</code>&nbsp;</td>
 </tr>
-<tr id="i78" class="altColor">
+<tr id="i80" class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#hasOnlyWriteParents-org.apache.sysds.hops.Hop-boolean-boolean-">hasOnlyWriteParents</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop,
                    boolean&nbsp;inclTransient,
                    boolean&nbsp;inclPersistent)</code>&nbsp;</td>
 </tr>
-<tr id="i79" class="rowColor">
+<tr id="i81" class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#hasValidInputDims-org.apache.sysds.runtime.meta.DataCharacteristics:A-boolean-">hasValidInputDims</a></span>(<a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a>[]&nbsp;mc,
                  boolean&nbsp;dim1)</code>&nbsp;</td>
 </tr>
-<tr id="i80" class="altColor">
+<tr id="i82" class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#hasValidInputDims-org.apache.sysds.hops.Hop-boolean-">hasValidInputDims</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop,
                  boolean&nbsp;dim1)</code>&nbsp;</td>
 </tr>
-<tr id="i81" class="rowColor">
+<tr id="i83" class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#hasValidInputNnz-org.apache.sysds.runtime.meta.DataCharacteristics:A-boolean-">hasValidInputNnz</a></span>(<a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a>[]&nbsp;mc,
                 boolean&nbsp;worstcase)</code>&nbsp;</td>
 </tr>
-<tr id="i82" class="altColor">
+<tr id="i84" class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#hasValidInputNnz-org.apache.sysds.hops.Hop-">hasValidInputNnz</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop)</code>&nbsp;</td>
 </tr>
-<tr id="i83" class="rowColor">
+<tr id="i85" class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isAggUnaryOp-org.apache.sysds.hops.Hop-org.apache.sysds.common.Types.AggOp...-">isAggUnaryOp</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop,
             <a href="../../../../../org/apache/sysds/common/Types.AggOp.html" title="enum in org.apache.sysds.common">Types.AggOp</a>...&nbsp;op)</code>&nbsp;</td>
 </tr>
-<tr id="i84" class="altColor">
+<tr id="i86" class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isAggUnaryOp-org.apache.sysds.hops.Hop-org.apache.sysds.common.Types.AggOp-org.apache.sysds.common.Types.Direction-">isAggUnaryOp</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop,
             <a href="../../../../../org/apache/sysds/common/Types.AggOp.html" title="enum in org.apache.sysds.common">Types.AggOp</a>&nbsp;op,
             <a href="../../../../../org/apache/sysds/common/Types.Direction.html" title="enum in org.apache.sysds.common">Types.Direction</a>&nbsp;dir)</code>&nbsp;</td>
 </tr>
-<tr id="i85" class="rowColor">
+<tr id="i87" class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isBasic1NSequence-org.apache.sysds.hops.Hop-">isBasic1NSequence</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop)</code>&nbsp;</td>
 </tr>
-<tr id="i86" class="altColor">
+<tr id="i88" class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isBasic1NSequence-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-boolean-">isBasic1NSequence</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;seq,
                  <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;input,
                  boolean&nbsp;row)</code>&nbsp;</td>
 </tr>
-<tr id="i87" class="rowColor">
+<tr id="i89" class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isBasicN1Sequence-org.apache.sysds.hops.Hop-">isBasicN1Sequence</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop)</code>&nbsp;</td>
 </tr>
-<tr id="i88" class="altColor">
+<tr id="i90" class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isBinary-org.apache.sysds.hops.Hop-org.apache.sysds.common.Types.OpOp2...-">isBinary</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop,
         <a href="../../../../../org/apache/sysds/common/Types.OpOp2.html" title="enum in org.apache.sysds.common">Types.OpOp2</a>...&nbsp;types)</code>&nbsp;</td>
 </tr>
-<tr id="i89" class="rowColor">
+<tr id="i91" class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isBinary-org.apache.sysds.hops.Hop-org.apache.sysds.common.Types.OpOp2-">isBinary</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop,
         <a href="../../../../../org/apache/sysds/common/Types.OpOp2.html" title="enum in org.apache.sysds.common">Types.OpOp2</a>&nbsp;type)</code>&nbsp;</td>
 </tr>
-<tr id="i90" class="altColor">
+<tr id="i92" class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isBinary-org.apache.sysds.hops.Hop-org.apache.sysds.common.Types.OpOp2-int-">isBinary</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop,
         <a href="../../../../../org/apache/sysds/common/Types.OpOp2.html" title="enum in org.apache.sysds.common">Types.OpOp2</a>&nbsp;type,
         int&nbsp;maxParents)</code>&nbsp;</td>
 </tr>
-<tr id="i91" class="rowColor">
+<tr id="i93" class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isBinaryMatrixColVectorOperation-org.apache.sysds.hops.Hop-">isBinaryMatrixColVectorOperation</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop)</code>&nbsp;</td>
 </tr>
-<tr id="i92" class="altColor">
+<tr id="i94" class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isBinaryMatrixMatrixOperation-org.apache.sysds.hops.Hop-">isBinaryMatrixMatrixOperation</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop)</code>&nbsp;</td>
 </tr>
-<tr id="i93" class="rowColor">
+<tr id="i95" class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isBinaryMatrixMatrixOperationWithSharedInput-org.apache.sysds.hops.Hop-">isBinaryMatrixMatrixOperationWithSharedInput</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop)</code>&nbsp;</td>
 </tr>
-<tr id="i94" class="altColor">
+<tr id="i96" class="altColor">
+<td class="colFirst"><code>static boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isBinaryMatrixRowVectorOperation-org.apache.sysds.hops.Hop-">isBinaryMatrixRowVectorOperation</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop)</code>&nbsp;</td>
+</tr>
+<tr id="i97" class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isBinaryMatrixScalar-org.apache.sysds.hops.Hop-org.apache.sysds.common.Types.OpOp2-double-">isBinaryMatrixScalar</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop,
                     <a href="../../../../../org/apache/sysds/common/Types.OpOp2.html" title="enum in org.apache.sysds.common">Types.OpOp2</a>&nbsp;type,
                     double&nbsp;val)</code>&nbsp;</td>
 </tr>
-<tr id="i95" class="rowColor">
+<tr id="i98" class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isBinaryMatrixScalarOperation-org.apache.sysds.hops.Hop-">isBinaryMatrixScalarOperation</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop)</code>&nbsp;</td>
 </tr>
-<tr id="i96" class="altColor">
+<tr id="i99" class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isBinaryPPred-org.apache.sysds.hops.Hop-">isBinaryPPred</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop)</code>&nbsp;</td>
 </tr>
-<tr id="i97" class="rowColor">
+<tr id="i100" class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isBinarySparseSafe-org.apache.sysds.hops.Hop-">isBinarySparseSafe</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop)</code>&nbsp;</td>
 </tr>
-<tr id="i98" class="altColor">
+<tr id="i101" class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isColumnRangeIndexing-org.apache.sysds.hops.IndexingOp-">isColumnRangeIndexing</a></span>(<a href="../../../../../org/apache/sysds/hops/IndexingOp.html" title="class in org.apache.sysds.hops">IndexingOp</a>&nbsp;hop)</code>&nbsp;</td>
 </tr>
-<tr id="i99" class="rowColor">
+<tr id="i102" class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isColumnRightIndexing-org.apache.sysds.hops.Hop-">isColumnRightIndexing</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop)</code>&nbsp;</td>
 </tr>
-<tr id="i100" class="altColor">
+<tr id="i103" class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isConsecutiveIndex-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-">isConsecutiveIndex</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;index,
                   <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;index2)</code>&nbsp;</td>
 </tr>
-<tr id="i101" class="rowColor">
+<tr id="i104" class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isData-org.apache.sysds.hops.Hop-org.apache.sysds.common.Types.OpOpData-">isData</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop,
       <a href="../../../../../org/apache/sysds/common/Types.OpOpData.html" title="enum in org.apache.sysds.common">Types.OpOpData</a>&nbsp;type)</code>&nbsp;</td>
 </tr>
-<tr id="i102" class="altColor">
+<tr id="i105" class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isDataGenOp-org.apache.sysds.hops.Hop-org.apache.sysds.common.Types.OpOpDG...-">isDataGenOp</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop,
            <a href="../../../../../org/apache/sysds/common/Types.OpOpDG.html" title="enum in org.apache.sysds.common">Types.OpOpDG</a>...&nbsp;ops)</code>&nbsp;</td>
 </tr>
-<tr id="i103" class="rowColor">
+<tr id="i106" class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isDataGenOpWithConstantValue-org.apache.sysds.hops.Hop-">isDataGenOpWithConstantValue</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop)</code>&nbsp;</td>
 </tr>
-<tr id="i104" class="altColor">
+<tr id="i107" class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isDataGenOpWithConstantValue-org.apache.sysds.hops.Hop-double-">isDataGenOpWithConstantValue</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop,
                             double&nbsp;value)</code>&nbsp;</td>
 </tr>
-<tr id="i105" class="rowColor">
+<tr id="i108" class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isDataGenOpWithLiteralInputs-org.apache.sysds.hops.Hop-org.apache.sysds.common.Types.OpOpDG...-">isDataGenOpWithLiteralInputs</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop,
                             <a href="../../../../../org/apache/sysds/common/Types.OpOpDG.html" title="enum in org.apache.sysds.common">Types.OpOpDG</a>...&nbsp;ops)</code>&nbsp;</td>
 </tr>
-<tr id="i106" class="altColor">
+<tr id="i109" class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isDataGenOpWithNonDeterminism-org.apache.sysds.hops.Hop-">isDataGenOpWithNonDeterminism</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop)</code>&nbsp;</td>
 </tr>
-<tr id="i107" class="rowColor">
+<tr id="i110" class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isDense-org.apache.sysds.hops.Hop-">isDense</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop)</code>&nbsp;</td>
 </tr>
-<tr id="i108" class="altColor">
+<tr id="i111" class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isDimsKnown-org.apache.sysds.hops.Hop-">isDimsKnown</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop)</code>&nbsp;</td>
 </tr>
-<tr id="i109" class="rowColor">
+<tr id="i112" class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isDnn-org.apache.sysds.hops.Hop-org.apache.sysds.common.Types.OpOpDnn...-">isDnn</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop,
      <a href="../../../../../org/apache/sysds/common/Types.OpOpDnn.html" title="enum in org.apache.sysds.common">Types.OpOpDnn</a>...&nbsp;types)</code>&nbsp;</td>
 </tr>
-<tr id="i110" class="altColor">
+<tr id="i113" class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isDnn-org.apache.sysds.hops.Hop-org.apache.sysds.common.Types.OpOpDnn-">isDnn</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop,
      <a href="../../../../../org/apache/sysds/common/Types.OpOpDnn.html" title="enum in org.apache.sysds.common">Types.OpOpDnn</a>&nbsp;type)</code>&nbsp;</td>
 </tr>
-<tr id="i111" class="rowColor">
+<tr id="i114" class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isEmpty-org.apache.sysds.hops.Hop-">isEmpty</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop)</code>&nbsp;</td>
 </tr>
-<tr id="i112" class="altColor">
+<tr id="i115" class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isEqualMatrixSize-org.apache.sysds.hops.BinaryOp-">isEqualMatrixSize</a></span>(<a href="../../../../../org/apache/sysds/hops/BinaryOp.html" title="class in org.apache.sysds.hops">BinaryOp</a>&nbsp;hop)</code>&nbsp;</td>
 </tr>
-<tr id="i113" class="rowColor">
+<tr id="i116" class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isEqualSize-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop...-">isEqualSize</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop1,
            <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>...&nbsp;hops)</code>&nbsp;</td>
 </tr>
-<tr id="i114" class="altColor">
+<tr id="i117" class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isEqualSize-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-">isEqualSize</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop1,
            <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop2)</code>&nbsp;</td>
 </tr>
-<tr id="i115" class="rowColor">
+<tr id="i118" class="altColor">
+<td class="colFirst"><code>static boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isEqualValue-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-">isEqualValue</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop1,
+            <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop2)</code>&nbsp;</td>
+</tr>
+<tr id="i119" class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isEqualValue-org.apache.sysds.hops.LiteralOp-org.apache.sysds.hops.LiteralOp-">isEqualValue</a></span>(<a href="../../../../../org/apache/sysds/hops/LiteralOp.html" title="class in org.apache.sysds.hops">LiteralOp</a>&nbsp;hop1,
             <a href="../../../../../org/apache/sysds/hops/LiteralOp.html" title="class in org.apache.sysds.hops">LiteralOp</a>&nbsp;hop2)</code>&nbsp;</td>
 </tr>
-<tr id="i116" class="altColor">
+<tr id="i120" class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isFullColumnIndexing-org.apache.sysds.hops.IndexingOp-">isFullColumnIndexing</a></span>(<a href="../../../../../org/apache/sysds/hops/IndexingOp.html" title="class in org.apache.sysds.hops">IndexingOp</a>&nbsp;hop)</code>&nbsp;</td>
 </tr>
-<tr id="i117" class="rowColor">
+<tr id="i121" class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isFullColumnIndexing-org.apache.sysds.hops.LeftIndexingOp-">isFullColumnIndexing</a></span>(<a href="../../../../../org/apache/sysds/hops/LeftIndexingOp.html" title="class in org.apache.sysds.hops">LeftIndexingOp</a>&nbsp;hop)</code>&nbsp;</td>
 </tr>
-<tr id="i118" class="altColor">
+<tr id="i122" class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isFullRowIndexing-org.apache.sysds.hops.IndexingOp-">isFullRowIndexing</a></span>(<a href="../../../../../org/apache/sysds/hops/IndexingOp.html" title="class in org.apache.sysds.hops">IndexingOp</a>&nbsp;hop)</code>&nbsp;</td>
 </tr>
-<tr id="i119" class="rowColor">
+<tr id="i123" class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isFullRowIndexing-org.apache.sysds.hops.LeftIndexingOp-">isFullRowIndexing</a></span>(<a href="../../../../../org/apache/sysds/hops/LeftIndexingOp.html" title="class in org.apache.sysds.hops">LeftIndexingOp</a>&nbsp;hop)</code>&nbsp;</td>
 </tr>
-<tr id="i120" class="altColor">
+<tr id="i124" class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isLastLevelStatementBlock-org.apache.sysds.parser.StatementBlock-">isLastLevelStatementBlock</a></span>(<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&nbsp;sb)</code>&nbsp;</td>
 </tr>
-<tr id="i121" class="rowColor">
+<tr id="i125" class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isLiteralOfValue-org.apache.sysds.hops.Hop-boolean-">isLiteralOfValue</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop,
                 boolean&nbsp;val)</code>&nbsp;</td>
 </tr>
-<tr id="i122" class="altColor">
+<tr id="i126" class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isLiteralOfValue-org.apache.sysds.hops.Hop-java.lang.Double...-">isLiteralOfValue</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop,
                 <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a>...&nbsp;val)</code>&nbsp;</td>
 </tr>
-<tr id="i123" class="rowColor">
+<tr id="i127" class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isLiteralOfValue-org.apache.sysds.hops.Hop-double-">isLiteralOfValue</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop,
                 double&nbsp;val)</code>&nbsp;</td>
 </tr>
-<tr id="i124" class="altColor">
+<tr id="i128" class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isLiteralOfValue-org.apache.sysds.hops.Hop-java.lang.String-">isLiteralOfValue</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop,
                 <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;val)</code>&nbsp;</td>
 </tr>
-<tr id="i125" class="rowColor">
+<tr id="i129" class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isLoopStatementBlock-org.apache.sysds.parser.StatementBlock-">isLoopStatementBlock</a></span>(<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&nbsp;sb)</code>&nbsp;</td>
 </tr>
-<tr id="i126" class="altColor">
+<tr id="i130" class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isMatrixMultiply-org.apache.sysds.hops.Hop-">isMatrixMultiply</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop)</code>&nbsp;</td>
 </tr>
-<tr id="i127" class="rowColor">
+<tr id="i131" class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isNary-org.apache.sysds.hops.Hop-org.apache.sysds.common.Types.OpOpN...-">isNary</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop,
       <a href="../../../../../org/apache/sysds/common/Types.OpOpN.html" title="enum in org.apache.sysds.common">Types.OpOpN</a>...&nbsp;types)</code>&nbsp;</td>
 </tr>
-<tr id="i128" class="altColor">
+<tr id="i132" class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isNary-org.apache.sysds.hops.Hop-org.apache.sysds.common.Types.OpOpN-">isNary</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop,
       <a href="../../../../../org/apache/sysds/common/Types.OpOpN.html" title="enum in org.apache.sysds.common">Types.OpOpN</a>&nbsp;type)</code>&nbsp;</td>
 </tr>
-<tr id="i129" class="rowColor">
+<tr id="i133" class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isNonZeroIndicator-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-">isNonZeroIndicator</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;pred,
                   <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop)</code>&nbsp;</td>
 </tr>
-<tr id="i130" class="altColor">
+<tr id="i134" class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isNotMatrixVectorBinaryOperation-org.apache.sysds.hops.Hop-">isNotMatrixVectorBinaryOperation</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop)</code>&nbsp;</td>
 </tr>
-<tr id="i131" class="rowColor">
+<tr id="i135" class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isOuterBinary-org.apache.sysds.hops.Hop-">isOuterBinary</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop)</code>&nbsp;</td>
 </tr>
-<tr id="i132" class="altColor">
+<tr id="i136" class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isOuterProductLikeMM-org.apache.sysds.hops.Hop-">isOuterProductLikeMM</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop)</code>&nbsp;</td>
 </tr>
-<tr id="i133" class="rowColor">
+<tr id="i137" class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isParameterBuiltinOp-org.apache.sysds.hops.Hop-org.apache.sysds.common.Types.ParamBuiltinOp-">isParameterBuiltinOp</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop,
                     <a href="../../../../../org/apache/sysds/common/Types.ParamBuiltinOp.html" title="enum in org.apache.sysds.common">Types.ParamBuiltinOp</a>&nbsp;type)</code>&nbsp;</td>
 </tr>
-<tr id="i134" class="altColor">
+<tr id="i138" class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isRemoveEmpty-org.apache.sysds.hops.Hop-">isRemoveEmpty</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop)</code>&nbsp;</td>
 </tr>
-<tr id="i135" class="rowColor">
+<tr id="i139" class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isRemoveEmpty-org.apache.sysds.hops.Hop-boolean-">isRemoveEmpty</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop,
              boolean&nbsp;rows)</code>&nbsp;</td>
 </tr>
-<tr id="i136" class="altColor">
+<tr id="i140" class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isReorg-org.apache.sysds.hops.Hop-org.apache.sysds.common.Types.ReOrgOp...-">isReorg</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop,
        <a href="../../../../../org/apache/sysds/common/Types.ReOrgOp.html" title="enum in org.apache.sysds.common">Types.ReOrgOp</a>...&nbsp;types)</code>&nbsp;</td>
 </tr>
-<tr id="i137" class="rowColor">
+<tr id="i141" class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isReorg-org.apache.sysds.hops.Hop-org.apache.sysds.common.Types.ReOrgOp-">isReorg</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop,
        <a href="../../../../../org/apache/sysds/common/Types.ReOrgOp.html" title="enum in org.apache.sysds.common">Types.ReOrgOp</a>&nbsp;type)</code>&nbsp;</td>
 </tr>
-<tr id="i138" class="altColor">
+<tr id="i142" class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isScalarMatrixBinaryMult-org.apache.sysds.hops.Hop-">isScalarMatrixBinaryMult</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop)</code>&nbsp;</td>
 </tr>
-<tr id="i139" class="rowColor">
+<tr id="i143" class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isSingleBlock-org.apache.sysds.hops.Hop-">isSingleBlock</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop)</code>&nbsp;</td>
 </tr>
-<tr id="i140" class="altColor">
+<tr id="i144" class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isSingleBlock-org.apache.sysds.hops.Hop-boolean-">isSingleBlock</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop,
              boolean&nbsp;cols)</code>
@@ -852,154 +870,158 @@
  execution mode.</div>
 </td>
 </tr>
-<tr id="i141" class="rowColor">
+<tr id="i145" class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isSizeExpressionOf-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-boolean-">isSizeExpressionOf</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;size,
                   <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;input,
                   boolean&nbsp;row)</code>&nbsp;</td>
 </tr>
-<tr id="i142" class="altColor">
+<tr id="i146" class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isSparse-org.apache.sysds.hops.Hop-">isSparse</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop)</code>&nbsp;</td>
 </tr>
-<tr id="i143" class="rowColor">
+<tr id="i147" class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isSparse-org.apache.sysds.hops.Hop-double-">isSparse</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop,
         double&nbsp;threshold)</code>&nbsp;</td>
 </tr>
-<tr id="i144" class="altColor">
+<tr id="i148" class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isSum-org.apache.sysds.hops.Hop-">isSum</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop)</code>&nbsp;</td>
 </tr>
-<tr id="i145" class="rowColor">
+<tr id="i149" class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isSumSq-org.apache.sysds.hops.Hop-">isSumSq</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop)</code>&nbsp;</td>
 </tr>
-<tr id="i146" class="altColor">
+<tr id="i150" class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isTernary-org.apache.sysds.hops.Hop-org.apache.sysds.common.Types.OpOp3...-">isTernary</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop,
          <a href="../../../../../org/apache/sysds/common/Types.OpOp3.html" title="enum in org.apache.sysds.common">Types.OpOp3</a>...&nbsp;types)</code>&nbsp;</td>
 </tr>
-<tr id="i147" class="rowColor">
+<tr id="i151" class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isTernary-org.apache.sysds.hops.Hop-org.apache.sysds.common.Types.OpOp3-">isTernary</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop,
          <a href="../../../../../org/apache/sysds/common/Types.OpOp3.html" title="enum in org.apache.sysds.common">Types.OpOp3</a>&nbsp;type)</code>&nbsp;</td>
 </tr>
-<tr id="i148" class="altColor">
+<tr id="i152" class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isTransposeOfItself-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-">isTransposeOfItself</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop1,
                    <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop2)</code>&nbsp;</td>
 </tr>
-<tr id="i149" class="rowColor">
+<tr id="i153" class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isTransposeOperation-org.apache.sysds.hops.Hop-">isTransposeOperation</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop)</code>&nbsp;</td>
 </tr>
-<tr id="i150" class="altColor">
+<tr id="i154" class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isTransposeOperation-org.apache.sysds.hops.Hop-int-">isTransposeOperation</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop,
                     int&nbsp;maxParents)</code>&nbsp;</td>
 </tr>
-<tr id="i151" class="rowColor">
+<tr id="i155" class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isTsmm-org.apache.sysds.hops.Hop-">isTsmm</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;input)</code>&nbsp;</td>
 </tr>
-<tr id="i152" class="altColor">
+<tr id="i156" class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isTsmmInput-org.apache.sysds.hops.Hop-">isTsmmInput</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;input)</code>&nbsp;</td>
 </tr>
-<tr id="i153" class="rowColor">
+<tr id="i157" class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isUnary-org.apache.sysds.hops.Hop-org.apache.sysds.common.Types.OpOp1...-">isUnary</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop,
        <a href="../../../../../org/apache/sysds/common/Types.OpOp1.html" title="enum in org.apache.sysds.common">Types.OpOp1</a>...&nbsp;types)</code>&nbsp;</td>
 </tr>
-<tr id="i154" class="altColor">
+<tr id="i158" class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isUnary-org.apache.sysds.hops.Hop-org.apache.sysds.common.Types.OpOp1-">isUnary</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop,
        <a href="../../../../../org/apache/sysds/common/Types.OpOp1.html" title="enum in org.apache.sysds.common">Types.OpOp1</a>&nbsp;type)</code>&nbsp;</td>
 </tr>
-<tr id="i155" class="rowColor">
+<tr id="i159" class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isUnary-org.apache.sysds.hops.Hop-org.apache.sysds.common.Types.OpOp1-int-">isUnary</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop,
        <a href="../../../../../org/apache/sysds/common/Types.OpOp1.html" title="enum in org.apache.sysds.common">Types.OpOp1</a>&nbsp;type,
        int&nbsp;maxParents)</code>&nbsp;</td>
 </tr>
-<tr id="i156" class="altColor">
+<tr id="i160" class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isUnnecessaryRightIndexing-org.apache.sysds.hops.Hop-">isUnnecessaryRightIndexing</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop)</code>&nbsp;</td>
 </tr>
-<tr id="i157" class="rowColor">
+<tr id="i161" class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isValidOp-org.apache.sysds.common.Types.AggOp-org.apache.sysds.common.Types.AggOp...-">isValidOp</a></span>(<a href="../../../../../org/apache/sysds/common/Types.AggOp.html" title="enum in org.apache.sysds.common">Types.AggOp</a>&nbsp;input,
          <a href="../../../../../org/apache/sysds/common/Types.AggOp.html" title="enum in org.apache.sysds.common">Types.AggOp</a>...&nbsp;validTab)</code>&nbsp;</td>
 </tr>
-<tr id="i158" class="altColor">
+<tr id="i162" class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isValidOp-org.apache.sysds.common.Types.OpOp1-org.apache.sysds.common.Types.OpOp1...-">isValidOp</a></span>(<a href="../../../../../org/apache/sysds/common/Types.OpOp1.html" title="enum in org.apache.sysds.common">Types.OpOp1</a>&nbsp;input,
          <a href="../../../../../org/apache/sysds/common/Types.OpOp1.html" title="enum in org.apache.sysds.common">Types.OpOp1</a>...&nbsp;validTab)</code>&nbsp;</td>
 </tr>
-<tr id="i159" class="rowColor">
+<tr id="i163" class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isValidOp-org.apache.sysds.common.Types.OpOp2-org.apache.sysds.common.Types.OpOp2...-">isValidOp</a></span>(<a href="../../../../../org/apache/sysds/common/Types.OpOp2.html" title="enum in org.apache.sysds.common">Types.OpOp2</a>&nbsp;input,
          <a href="../../../../../org/apache/sysds/common/Types.OpOp2.html" title="enum in org.apache.sysds.common">Types.OpOp2</a>...&nbsp;validTab)</code>&nbsp;</td>
 </tr>
-<tr id="i160" class="altColor">
+<tr id="i164" class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isValidOp-org.apache.sysds.common.Types.ParamBuiltinOp-org.apache.sysds.common.Types.ParamBuiltinOp...-">isValidOp</a></span>(<a href="../../../../../org/apache/sysds/common/Types.ParamBuiltinOp.html" title="enum in org.apache.sysds.common">Types.ParamBuiltinOp</a>&nbsp;input,
          <a href="../../../../../org/apache/sysds/common/Types.ParamBuiltinOp.html" title="enum in org.apache.sysds.common">Types.ParamBuiltinOp</a>...&nbsp;validTab)</code>&nbsp;</td>
 </tr>
-<tr id="i161" class="rowColor">
+<tr id="i165" class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isValidOp-org.apache.sysds.common.Types.ReOrgOp-org.apache.sysds.common.Types.ReOrgOp...-">isValidOp</a></span>(<a href="../../../../../org/apache/sysds/common/Types.ReOrgOp.html" title="enum in org.apache.sysds.common">Types.ReOrgOp</a>&nbsp;input,
          <a href="../../../../../org/apache/sysds/common/Types.ReOrgOp.html" title="enum in org.apache.sysds.common">Types.ReOrgOp</a>...&nbsp;validTab)</code>&nbsp;</td>
 </tr>
-<tr id="i162" class="altColor">
+<tr id="i166" class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isValidOuterBinaryOp-org.apache.sysds.common.Types.OpOp2-">isValidOuterBinaryOp</a></span>(<a href="../../../../../org/apache/sysds/common/Types.OpOp2.html" title="enum in org.apache.sysds.common">Types.OpOp2</a>&nbsp;op)</code>&nbsp;</td>
 </tr>
-<tr id="i163" class="rowColor">
+<tr id="i167" class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isValueTypeCast-org.apache.sysds.common.Types.OpOp1-">isValueTypeCast</a></span>(<a href="../../../../../org/apache/sysds/common/Types.OpOp1.html" title="enum in org.apache.sysds.common">Types.OpOp1</a>&nbsp;op)</code>&nbsp;</td>
 </tr>
-<tr id="i164" class="altColor">
+<tr id="i168" class="altColor">
+<td class="colFirst"><code>static boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#knownParamservFunctions-org.apache.sysds.hops.Hop-">knownParamservFunctions</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop)</code>&nbsp;</td>
+</tr>
+<tr id="i169" class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#rContainsRead-org.apache.sysds.hops.Hop-java.lang.String-boolean-">rContainsRead</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;root,
              <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;var,
              boolean&nbsp;includeMetaOp)</code>&nbsp;</td>
 </tr>
-<tr id="i165" class="rowColor">
+<tr id="i170" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#refreshOutputParameters-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-">refreshOutputParameters</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hnew,
                        <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hold)</code>&nbsp;</td>
 </tr>
-<tr id="i166" class="altColor">
+<tr id="i171" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#removeAllChildReferences-org.apache.sysds.hops.Hop-">removeAllChildReferences</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;parent)</code>&nbsp;</td>
 </tr>
-<tr id="i167" class="rowColor">
+<tr id="i172" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#removeChildReference-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-">removeChildReference</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;parent,
                     <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;child)</code>&nbsp;</td>
 </tr>
-<tr id="i168" class="altColor">
+<tr id="i173" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#removeChildReferenceByPos-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-int-">removeChildReferenceByPos</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;parent,
                          <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;child,
                          int&nbsp;posChild)</code>&nbsp;</td>
 </tr>
-<tr id="i169" class="rowColor">
+<tr id="i174" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#replaceChildReference-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-">replaceChildReference</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;parent,
                      <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;inOld,
                      <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;inNew)</code>&nbsp;</td>
 </tr>
-<tr id="i170" class="altColor">
+<tr id="i175" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#replaceChildReference-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-int-">replaceChildReference</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;parent,
                      <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;inOld,
                      <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;inNew,
                      int&nbsp;pos)</code>&nbsp;</td>
 </tr>
-<tr id="i171" class="rowColor">
+<tr id="i176" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#replaceChildReference-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-int-boolean-">replaceChildReference</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;parent,
                      <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;inOld,
@@ -1007,19 +1029,19 @@
                      int&nbsp;pos,
                      boolean&nbsp;refresh)</code>&nbsp;</td>
 </tr>
-<tr id="i172" class="altColor">
+<tr id="i177" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#rewireAllParentChildReferences-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-">rewireAllParentChildReferences</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hold,
                               <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hnew)</code>
 <div class="block">Replace an old Hop with a replacement Hop.</div>
 </td>
 </tr>
-<tr id="i173" class="rowColor">
+<tr id="i178" class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#rHasSimpleReadChain-org.apache.sysds.hops.Hop-java.lang.String-">rHasSimpleReadChain</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;root,
                    <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;var)</code>&nbsp;</td>
 </tr>
-<tr id="i174" class="altColor">
+<tr id="i179" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#setOutputParameters-org.apache.sysds.hops.Hop-long-long-int-long-">setOutputParameters</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop,
                    long&nbsp;rlen,
@@ -1027,21 +1049,21 @@
                    int&nbsp;blen,
                    long&nbsp;nnz)</code>&nbsp;</td>
 </tr>
-<tr id="i175" class="rowColor">
+<tr id="i180" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#setOutputParametersForScalar-org.apache.sysds.hops.Hop-">setOutputParametersForScalar</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop)</code>&nbsp;</td>
 </tr>
-<tr id="i176" class="altColor">
+<tr id="i181" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#setUnoptimizedFunctionCalls-org.apache.sysds.parser.StatementBlock-">setUnoptimizedFunctionCalls</a></span>(<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&nbsp;sb)</code>&nbsp;</td>
 </tr>
-<tr id="i177" class="rowColor">
+<tr id="i182" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#updateHopCharacteristics-org.apache.sysds.hops.Hop-int-org.apache.sysds.hops.Hop-">updateHopCharacteristics</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop,
                         int&nbsp;blen,
                         <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;src)</code>&nbsp;</td>
 </tr>
-<tr id="i178" class="altColor">
+<tr id="i183" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#updateHopCharacteristics-org.apache.sysds.hops.Hop-int-org.apache.sysds.hops.MemoTable-org.apache.sysds.hops.Hop-">updateHopCharacteristics</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop,
                         int&nbsp;blen,
@@ -1152,6 +1174,15 @@
 </dl>
 </li>
 </ul>
+<a name="getIntValueSafe-org.apache.sysds.hops.Hop-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getIntValueSafe</h4>
+<pre>public static&nbsp;long&nbsp;getIntValueSafe(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;op)</pre>
+</li>
+</ul>
 <a name="getIntValueSafe-org.apache.sysds.hops.LiteralOp-">
 <!--   -->
 </a>
@@ -1716,6 +1747,16 @@
                                        long&nbsp;cix)</pre>
 </li>
 </ul>
+<a name="createIndexingOp-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>createIndexingOp</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/sysds/hops/IndexingOp.html" title="class in org.apache.sysds.hops">IndexingOp</a>&nbsp;createIndexingOp(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;input,
+                                          <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;batchsize)</pre>
+</li>
+</ul>
 <a name="createIndexingOp-org.apache.sysds.hops.Hop-long-long-">
 <!--   -->
 </a>
@@ -2068,6 +2109,16 @@
                                double&nbsp;threshold)</pre>
 </li>
 </ul>
+<a name="isEqualValue-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isEqualValue</h4>
+<pre>public static&nbsp;boolean&nbsp;isEqualValue(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop1,
+                                   <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop2)</pre>
+</li>
+</ul>
 <a name="isEqualValue-org.apache.sysds.hops.LiteralOp-org.apache.sysds.hops.LiteralOp-">
 <!--   -->
 </a>
@@ -2299,6 +2350,15 @@
 <pre>public static&nbsp;boolean&nbsp;isBinaryMatrixColVectorOperation(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop)</pre>
 </li>
 </ul>
+<a name="isBinaryMatrixRowVectorOperation-org.apache.sysds.hops.Hop-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isBinaryMatrixRowVectorOperation</h4>
+<pre>public static&nbsp;boolean&nbsp;isBinaryMatrixRowVectorOperation(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop)</pre>
+</li>
+</ul>
 <a name="isUnary-org.apache.sysds.hops.Hop-org.apache.sysds.common.Types.OpOp1-">
 <!--   -->
 </a>
@@ -2911,6 +2971,15 @@
 <pre>public static&nbsp;boolean&nbsp;containsSecondOrderBuiltin(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&gt;&nbsp;roots)</pre>
 </li>
 </ul>
+<a name="knownParamservFunctions-org.apache.sysds.hops.Hop-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>knownParamservFunctions</h4>
+<pre>public static&nbsp;boolean&nbsp;knownParamservFunctions(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop)</pre>
+</li>
+</ul>
 <a name="setUnoptimizedFunctionCalls-org.apache.sysds.parser.StatementBlock-">
 <!--   -->
 </a>
@@ -2989,6 +3058,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/rewrite/MarkForLineageReuse.html b/docs/api/java/org/apache/sysds/hops/rewrite/MarkForLineageReuse.html
index f159dd1..c3c8442 100644
--- a/docs/api/java/org/apache/sysds/hops/rewrite/MarkForLineageReuse.html
+++ b/docs/api/java/org/apache/sysds/hops/rewrite/MarkForLineageReuse.html
@@ -351,6 +351,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html b/docs/api/java/org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html
index 1d51664..0eceea8 100644
--- a/docs/api/java/org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html
+++ b/docs/api/java/org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html
@@ -383,6 +383,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/rewrite/ProgramRewriter.html b/docs/api/java/org/apache/sysds/hops/rewrite/ProgramRewriter.html
index 70e7629..22da3d4 100644
--- a/docs/api/java/org/apache/sysds/hops/rewrite/ProgramRewriter.html
+++ b/docs/api/java/org/apache/sysds/hops/rewrite/ProgramRewriter.html
@@ -513,6 +513,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/rewrite/RewriteAlgebraicSimplificationDynamic.html b/docs/api/java/org/apache/sysds/hops/rewrite/RewriteAlgebraicSimplificationDynamic.html
index 9d0ee47..3c219de 100644
--- a/docs/api/java/org/apache/sysds/hops/rewrite/RewriteAlgebraicSimplificationDynamic.html
+++ b/docs/api/java/org/apache/sysds/hops/rewrite/RewriteAlgebraicSimplificationDynamic.html
@@ -321,6 +321,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/rewrite/RewriteAlgebraicSimplificationStatic.html b/docs/api/java/org/apache/sysds/hops/rewrite/RewriteAlgebraicSimplificationStatic.html
index 05a08bc..a40f2ba 100644
--- a/docs/api/java/org/apache/sysds/hops/rewrite/RewriteAlgebraicSimplificationStatic.html
+++ b/docs/api/java/org/apache/sysds/hops/rewrite/RewriteAlgebraicSimplificationStatic.html
@@ -321,6 +321,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/rewrite/RewriteBlockSizeAndReblock.html b/docs/api/java/org/apache/sysds/hops/rewrite/RewriteBlockSizeAndReblock.html
index 68b18e1..92cd1d9 100644
--- a/docs/api/java/org/apache/sysds/hops/rewrite/RewriteBlockSizeAndReblock.html
+++ b/docs/api/java/org/apache/sysds/hops/rewrite/RewriteBlockSizeAndReblock.html
@@ -319,6 +319,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/rewrite/RewriteCommonSubexpressionElimination.html b/docs/api/java/org/apache/sysds/hops/rewrite/RewriteCommonSubexpressionElimination.html
index d86a5a8..30dfc02 100644
--- a/docs/api/java/org/apache/sysds/hops/rewrite/RewriteCommonSubexpressionElimination.html
+++ b/docs/api/java/org/apache/sysds/hops/rewrite/RewriteCommonSubexpressionElimination.html
@@ -332,6 +332,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/rewrite/RewriteCompressedReblock.html b/docs/api/java/org/apache/sysds/hops/rewrite/RewriteCompressedReblock.html
index 47073f6..ded2b61 100644
--- a/docs/api/java/org/apache/sysds/hops/rewrite/RewriteCompressedReblock.html
+++ b/docs/api/java/org/apache/sysds/hops/rewrite/RewriteCompressedReblock.html
@@ -116,12 +116,11 @@
 <br>
 <pre>public class <span class="typeNameLabel">RewriteCompressedReblock</span>
 extends <a href="../../../../../org/apache/sysds/hops/rewrite/StatementBlockRewriteRule.html" title="class in org.apache.sysds.hops.rewrite">StatementBlockRewriteRule</a></pre>
-<div class="block">Rule: CompressedReblock: If config compressed.linalg is enabled, we
- inject compression directions after pread of matrices w/ both dims &gt; 1
- (i.e., multi-column matrices). In case of 'auto' compression, we apply
- compression if the datasize is known to exceed aggregate cluster memory,
- the matrix is used in loops, and all operations are supported over 
- compressed matrices.</div>
+<div class="block">Rule: Compressed Re block if config compressed.linalg is enabled, we inject compression directions after read of
+ matrices if number of rows is above 1000 and cols at least 1.
+ 
+ In case of 'auto' compression, we apply compression if the data size is known to exceed aggregate cluster memory, the
+ matrix is used in loops, and all operations are supported over compressed matrices.</div>
 </li>
 </ul>
 </div>
@@ -357,6 +356,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/rewrite/RewriteConstantFolding.html b/docs/api/java/org/apache/sysds/hops/rewrite/RewriteConstantFolding.html
index 2ea919a..7409f97 100644
--- a/docs/api/java/org/apache/sysds/hops/rewrite/RewriteConstantFolding.html
+++ b/docs/api/java/org/apache/sysds/hops/rewrite/RewriteConstantFolding.html
@@ -320,6 +320,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/rewrite/RewriteElementwiseMultChainOptimization.html b/docs/api/java/org/apache/sysds/hops/rewrite/RewriteElementwiseMultChainOptimization.html
index 4255b97..0d843ba 100644
--- a/docs/api/java/org/apache/sysds/hops/rewrite/RewriteElementwiseMultChainOptimization.html
+++ b/docs/api/java/org/apache/sysds/hops/rewrite/RewriteElementwiseMultChainOptimization.html
@@ -332,6 +332,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/rewrite/RewriteForLoopVectorization.html b/docs/api/java/org/apache/sysds/hops/rewrite/RewriteForLoopVectorization.html
index ad25ef3..ee7efc7 100644
--- a/docs/api/java/org/apache/sysds/hops/rewrite/RewriteForLoopVectorization.html
+++ b/docs/api/java/org/apache/sysds/hops/rewrite/RewriteForLoopVectorization.html
@@ -354,6 +354,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/rewrite/RewriteGPUSpecificOps.html b/docs/api/java/org/apache/sysds/hops/rewrite/RewriteGPUSpecificOps.html
index 76cb018..20b02c8 100644
--- a/docs/api/java/org/apache/sysds/hops/rewrite/RewriteGPUSpecificOps.html
+++ b/docs/api/java/org/apache/sysds/hops/rewrite/RewriteGPUSpecificOps.html
@@ -315,6 +315,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/rewrite/RewriteHoistLoopInvariantOperations.html b/docs/api/java/org/apache/sysds/hops/rewrite/RewriteHoistLoopInvariantOperations.html
index 2c59956..bbab4f3 100644
--- a/docs/api/java/org/apache/sysds/hops/rewrite/RewriteHoistLoopInvariantOperations.html
+++ b/docs/api/java/org/apache/sysds/hops/rewrite/RewriteHoistLoopInvariantOperations.html
@@ -365,6 +365,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/rewrite/RewriteIndexingVectorization.html b/docs/api/java/org/apache/sysds/hops/rewrite/RewriteIndexingVectorization.html
index 0256ecd..8ff7d79 100644
--- a/docs/api/java/org/apache/sysds/hops/rewrite/RewriteIndexingVectorization.html
+++ b/docs/api/java/org/apache/sysds/hops/rewrite/RewriteIndexingVectorization.html
@@ -322,6 +322,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/rewrite/RewriteInjectSparkLoopCheckpointing.html b/docs/api/java/org/apache/sysds/hops/rewrite/RewriteInjectSparkLoopCheckpointing.html
index a4592b1..df75f55 100644
--- a/docs/api/java/org/apache/sysds/hops/rewrite/RewriteInjectSparkLoopCheckpointing.html
+++ b/docs/api/java/org/apache/sysds/hops/rewrite/RewriteInjectSparkLoopCheckpointing.html
@@ -356,6 +356,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/rewrite/RewriteInjectSparkPReadCheckpointing.html b/docs/api/java/org/apache/sysds/hops/rewrite/RewriteInjectSparkPReadCheckpointing.html
index 8645bb9..7d3d9d8 100644
--- a/docs/api/java/org/apache/sysds/hops/rewrite/RewriteInjectSparkPReadCheckpointing.html
+++ b/docs/api/java/org/apache/sysds/hops/rewrite/RewriteInjectSparkPReadCheckpointing.html
@@ -319,6 +319,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/rewrite/RewriteMarkLoopVariablesUpdateInPlace.html b/docs/api/java/org/apache/sysds/hops/rewrite/RewriteMarkLoopVariablesUpdateInPlace.html
index ddc4d6b..df16b3c 100644
--- a/docs/api/java/org/apache/sysds/hops/rewrite/RewriteMarkLoopVariablesUpdateInPlace.html
+++ b/docs/api/java/org/apache/sysds/hops/rewrite/RewriteMarkLoopVariablesUpdateInPlace.html
@@ -353,6 +353,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/rewrite/RewriteMatrixMultChainOptimization.html b/docs/api/java/org/apache/sysds/hops/rewrite/RewriteMatrixMultChainOptimization.html
index 3215409..99d1099 100644
--- a/docs/api/java/org/apache/sysds/hops/rewrite/RewriteMatrixMultChainOptimization.html
+++ b/docs/api/java/org/apache/sysds/hops/rewrite/RewriteMatrixMultChainOptimization.html
@@ -326,6 +326,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/rewrite/RewriteMatrixMultChainOptimizationSparse.html b/docs/api/java/org/apache/sysds/hops/rewrite/RewriteMatrixMultChainOptimizationSparse.html
index befb726..6199802 100644
--- a/docs/api/java/org/apache/sysds/hops/rewrite/RewriteMatrixMultChainOptimizationSparse.html
+++ b/docs/api/java/org/apache/sysds/hops/rewrite/RewriteMatrixMultChainOptimizationSparse.html
@@ -258,6 +258,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/rewrite/RewriteMergeBlockSequence.html b/docs/api/java/org/apache/sysds/hops/rewrite/RewriteMergeBlockSequence.html
index 5adabf4..3341ac5 100644
--- a/docs/api/java/org/apache/sysds/hops/rewrite/RewriteMergeBlockSequence.html
+++ b/docs/api/java/org/apache/sysds/hops/rewrite/RewriteMergeBlockSequence.html
@@ -353,6 +353,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/rewrite/RewriteRemoveDanglingParentReferences.html b/docs/api/java/org/apache/sysds/hops/rewrite/RewriteRemoveDanglingParentReferences.html
index 7718260..afddae9 100644
--- a/docs/api/java/org/apache/sysds/hops/rewrite/RewriteRemoveDanglingParentReferences.html
+++ b/docs/api/java/org/apache/sysds/hops/rewrite/RewriteRemoveDanglingParentReferences.html
@@ -319,6 +319,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/rewrite/RewriteRemoveEmptyBasicBlocks.html b/docs/api/java/org/apache/sysds/hops/rewrite/RewriteRemoveEmptyBasicBlocks.html
index 70afee0..98967cf 100644
--- a/docs/api/java/org/apache/sysds/hops/rewrite/RewriteRemoveEmptyBasicBlocks.html
+++ b/docs/api/java/org/apache/sysds/hops/rewrite/RewriteRemoveEmptyBasicBlocks.html
@@ -50,7 +50,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../org/apache/sysds/hops/rewrite/RewriteRemoveDanglingParentReferences.html" title="class in org.apache.sysds.hops.rewrite"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/sysds/hops/rewrite/RewriteRemovePersistentReadWrite.html" title="class in org.apache.sysds.hops.rewrite"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/sysds/hops/rewrite/RewriteRemoveForLoopEmptySequence.html" title="class in org.apache.sysds.hops.rewrite"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?org/apache/sysds/hops/rewrite/RewriteRemoveEmptyBasicBlocks.html" target="_top">Frames</a></li>
@@ -314,7 +314,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../org/apache/sysds/hops/rewrite/RewriteRemoveDanglingParentReferences.html" title="class in org.apache.sysds.hops.rewrite"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/sysds/hops/rewrite/RewriteRemovePersistentReadWrite.html" title="class in org.apache.sysds.hops.rewrite"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/sysds/hops/rewrite/RewriteRemoveForLoopEmptySequence.html" title="class in org.apache.sysds.hops.rewrite"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?org/apache/sysds/hops/rewrite/RewriteRemoveEmptyBasicBlocks.html" target="_top">Frames</a></li>
@@ -354,6 +354,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/rewrite/RewriteRemoveForLoopEmptySequence.html b/docs/api/java/org/apache/sysds/hops/rewrite/RewriteRemoveForLoopEmptySequence.html
new file mode 100644
index 0000000..1127ea8
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/hops/rewrite/RewriteRemoveForLoopEmptySequence.html
@@ -0,0 +1,358 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>RewriteRemoveForLoopEmptySequence (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="RewriteRemoveForLoopEmptySequence (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/RewriteRemoveForLoopEmptySequence.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/sysds/hops/rewrite/RewriteRemoveEmptyBasicBlocks.html" title="class in org.apache.sysds.hops.rewrite"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/sysds/hops/rewrite/RewriteRemovePersistentReadWrite.html" title="class in org.apache.sysds.hops.rewrite"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/sysds/hops/rewrite/RewriteRemoveForLoopEmptySequence.html" target="_top">Frames</a></li>
+<li><a href="RewriteRemoveForLoopEmptySequence.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.sysds.hops.rewrite</div>
+<h2 title="Class RewriteRemoveForLoopEmptySequence" class="title">Class RewriteRemoveForLoopEmptySequence</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../org/apache/sysds/hops/rewrite/StatementBlockRewriteRule.html" title="class in org.apache.sysds.hops.rewrite">org.apache.sysds.hops.rewrite.StatementBlockRewriteRule</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.sysds.hops.rewrite.RewriteRemoveForLoopEmptySequence</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">RewriteRemoveForLoopEmptySequence</span>
+extends <a href="../../../../../org/apache/sysds/hops/rewrite/StatementBlockRewriteRule.html" title="class in org.apache.sysds.hops.rewrite">StatementBlockRewriteRule</a></pre>
+<div class="block">Rule: Simplify program structure by removing (par)for statements iterating over
+ an empty sequence, i.e., (par)for-loops without a single iteration.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/RewriteRemoveForLoopEmptySequence.html#RewriteRemoveForLoopEmptySequence--">RewriteRemoveForLoopEmptySequence</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/RewriteRemoveForLoopEmptySequence.html#createsSplitDag--">createsSplitDag</a></span>()</code>
+<div class="block">Indicates if the rewrite potentially splits dags, which is used
+ for phase ordering of rewrites.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/RewriteRemoveForLoopEmptySequence.html#rewriteStatementBlock-org.apache.sysds.parser.StatementBlock-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteStatementBlock</a></span>(<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&nbsp;sb,
+                     <a href="../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;state)</code>
+<div class="block">Handle an arbitrary statement block.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/RewriteRemoveForLoopEmptySequence.html#rewriteStatementBlocks-java.util.List-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteStatementBlocks</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;&nbsp;sbs,
+                      <a href="../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;state)</code>
+<div class="block">Handle a list of statement blocks.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.hops.rewrite.StatementBlockRewriteRule">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.hops.rewrite.<a href="../../../../../org/apache/sysds/hops/rewrite/StatementBlockRewriteRule.html" title="class in org.apache.sysds.hops.rewrite">StatementBlockRewriteRule</a></h3>
+<code><a href="../../../../../org/apache/sysds/hops/rewrite/StatementBlockRewriteRule.html#createCutVarName-boolean-">createCutVarName</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="RewriteRemoveForLoopEmptySequence--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>RewriteRemoveForLoopEmptySequence</h4>
+<pre>public&nbsp;RewriteRemoveForLoopEmptySequence()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="createsSplitDag--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>createsSplitDag</h4>
+<pre>public&nbsp;boolean&nbsp;createsSplitDag()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/sysds/hops/rewrite/StatementBlockRewriteRule.html#createsSplitDag--">StatementBlockRewriteRule</a></code></span></div>
+<div class="block">Indicates if the rewrite potentially splits dags, which is used
+ for phase ordering of rewrites.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/sysds/hops/rewrite/StatementBlockRewriteRule.html#createsSplitDag--">createsSplitDag</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/hops/rewrite/StatementBlockRewriteRule.html" title="class in org.apache.sysds.hops.rewrite">StatementBlockRewriteRule</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if dag splits are possible.</dd>
+</dl>
+</li>
+</ul>
+<a name="rewriteStatementBlock-org.apache.sysds.parser.StatementBlock-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>rewriteStatementBlock</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;&nbsp;rewriteStatementBlock(<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&nbsp;sb,
+                                                  <a href="../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;state)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/sysds/hops/rewrite/StatementBlockRewriteRule.html#rewriteStatementBlock-org.apache.sysds.parser.StatementBlock-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">StatementBlockRewriteRule</a></code></span></div>
+<div class="block">Handle an arbitrary statement block. Specific type constraints have to be ensured
+ within the individual rewrites. If a rewrite does not apply to individual blocks, it 
+ should simply return the input block.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/sysds/hops/rewrite/StatementBlockRewriteRule.html#rewriteStatementBlock-org.apache.sysds.parser.StatementBlock-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteStatementBlock</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/hops/rewrite/StatementBlockRewriteRule.html" title="class in org.apache.sysds.hops.rewrite">StatementBlockRewriteRule</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>sb</code> - statement block</dd>
+<dd><code>state</code> - program rewrite status</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>list of statement blocks</dd>
+</dl>
+</li>
+</ul>
+<a name="rewriteStatementBlocks-java.util.List-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>rewriteStatementBlocks</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;&nbsp;rewriteStatementBlocks(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;&nbsp;sbs,
+                                                   <a href="../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;state)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/sysds/hops/rewrite/StatementBlockRewriteRule.html#rewriteStatementBlocks-java.util.List-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">StatementBlockRewriteRule</a></code></span></div>
+<div class="block">Handle a list of statement blocks. Specific type constraints have to be ensured
+ within the individual rewrites. If a rewrite does not require sequence access, it 
+ should simply return the input list of statement blocks.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/sysds/hops/rewrite/StatementBlockRewriteRule.html#rewriteStatementBlocks-java.util.List-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteStatementBlocks</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/hops/rewrite/StatementBlockRewriteRule.html" title="class in org.apache.sysds.hops.rewrite">StatementBlockRewriteRule</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>sbs</code> - list of statement blocks</dd>
+<dd><code>state</code> - program rewrite status</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>list of statement blocks</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/RewriteRemoveForLoopEmptySequence.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/sysds/hops/rewrite/RewriteRemoveEmptyBasicBlocks.html" title="class in org.apache.sysds.hops.rewrite"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/sysds/hops/rewrite/RewriteRemovePersistentReadWrite.html" title="class in org.apache.sysds.hops.rewrite"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/sysds/hops/rewrite/RewriteRemoveForLoopEmptySequence.html" target="_top">Frames</a></li>
+<li><a href="RewriteRemoveForLoopEmptySequence.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/hops/rewrite/RewriteRemovePersistentReadWrite.html b/docs/api/java/org/apache/sysds/hops/rewrite/RewriteRemovePersistentReadWrite.html
index c95bf2b..02e844d 100644
--- a/docs/api/java/org/apache/sysds/hops/rewrite/RewriteRemovePersistentReadWrite.html
+++ b/docs/api/java/org/apache/sysds/hops/rewrite/RewriteRemovePersistentReadWrite.html
@@ -49,7 +49,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/sysds/hops/rewrite/RewriteRemoveEmptyBasicBlocks.html" title="class in org.apache.sysds.hops.rewrite"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/sysds/hops/rewrite/RewriteRemoveForLoopEmptySequence.html" title="class in org.apache.sysds.hops.rewrite"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../org/apache/sysds/hops/rewrite/RewriteRemoveReadAfterWrite.html" title="class in org.apache.sysds.hops.rewrite"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -294,7 +294,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/sysds/hops/rewrite/RewriteRemoveEmptyBasicBlocks.html" title="class in org.apache.sysds.hops.rewrite"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/sysds/hops/rewrite/RewriteRemoveForLoopEmptySequence.html" title="class in org.apache.sysds.hops.rewrite"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../org/apache/sysds/hops/rewrite/RewriteRemoveReadAfterWrite.html" title="class in org.apache.sysds.hops.rewrite"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -335,6 +335,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/rewrite/RewriteRemoveReadAfterWrite.html b/docs/api/java/org/apache/sysds/hops/rewrite/RewriteRemoveReadAfterWrite.html
index 66df6c4..60cd495 100644
--- a/docs/api/java/org/apache/sysds/hops/rewrite/RewriteRemoveReadAfterWrite.html
+++ b/docs/api/java/org/apache/sysds/hops/rewrite/RewriteRemoveReadAfterWrite.html
@@ -320,6 +320,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/rewrite/RewriteRemoveUnnecessaryBranches.html b/docs/api/java/org/apache/sysds/hops/rewrite/RewriteRemoveUnnecessaryBranches.html
index 22663e9..e7e5422 100644
--- a/docs/api/java/org/apache/sysds/hops/rewrite/RewriteRemoveUnnecessaryBranches.html
+++ b/docs/api/java/org/apache/sysds/hops/rewrite/RewriteRemoveUnnecessaryBranches.html
@@ -354,6 +354,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/rewrite/RewriteRemoveUnnecessaryCasts.html b/docs/api/java/org/apache/sysds/hops/rewrite/RewriteRemoveUnnecessaryCasts.html
index a48d3ac..4985126 100644
--- a/docs/api/java/org/apache/sysds/hops/rewrite/RewriteRemoveUnnecessaryCasts.html
+++ b/docs/api/java/org/apache/sysds/hops/rewrite/RewriteRemoveUnnecessaryCasts.html
@@ -327,6 +327,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/rewrite/RewriteSplitDagDataDependentOperators.html b/docs/api/java/org/apache/sysds/hops/rewrite/RewriteSplitDagDataDependentOperators.html
index 4784a09..aeb8811 100644
--- a/docs/api/java/org/apache/sysds/hops/rewrite/RewriteSplitDagDataDependentOperators.html
+++ b/docs/api/java/org/apache/sysds/hops/rewrite/RewriteSplitDagDataDependentOperators.html
@@ -366,6 +366,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/rewrite/RewriteSplitDagUnknownCSVRead.html b/docs/api/java/org/apache/sysds/hops/rewrite/RewriteSplitDagUnknownCSVRead.html
index 00cdb39..c986b1d 100644
--- a/docs/api/java/org/apache/sysds/hops/rewrite/RewriteSplitDagUnknownCSVRead.html
+++ b/docs/api/java/org/apache/sysds/hops/rewrite/RewriteSplitDagUnknownCSVRead.html
@@ -355,6 +355,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/rewrite/RewriteTransientWriteParentHandling.html b/docs/api/java/org/apache/sysds/hops/rewrite/RewriteTransientWriteParentHandling.html
index 0ed568d..17b18e5 100644
--- a/docs/api/java/org/apache/sysds/hops/rewrite/RewriteTransientWriteParentHandling.html
+++ b/docs/api/java/org/apache/sysds/hops/rewrite/RewriteTransientWriteParentHandling.html
@@ -320,6 +320,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/rewrite/StatementBlockRewriteRule.html b/docs/api/java/org/apache/sysds/hops/rewrite/StatementBlockRewriteRule.html
index 4e12f4e..6d3397b 100644
--- a/docs/api/java/org/apache/sysds/hops/rewrite/StatementBlockRewriteRule.html
+++ b/docs/api/java/org/apache/sysds/hops/rewrite/StatementBlockRewriteRule.html
@@ -109,7 +109,7 @@
 <li class="blockList">
 <dl>
 <dt>Direct Known Subclasses:</dt>
-<dd><a href="../../../../../org/apache/sysds/hops/rewrite/MarkForLineageReuse.html" title="class in org.apache.sysds.hops.rewrite">MarkForLineageReuse</a>, <a href="../../../../../org/apache/sysds/hops/rewrite/RewriteCompressedReblock.html" title="class in org.apache.sysds.hops.rewrite">RewriteCompressedReblock</a>, <a href="../../../../../org/apache/sysds/hops/rewrite/RewriteForLoopVectorization.html" title="class in org.apache.sysds.hops.rewrite">RewriteForLoopVectorization</a>, <a href="../../../../../org/apache/sysds/hops/rewrite/RewriteHoistLoopInvariantOperations.html" title="class in org.apache.sysds.hops.rewrite">RewriteHoistLoopInvariantOperations</a>, <a href="../../../../../org/apache/sysds/hops/rewrite/RewriteInjectSparkLoopCheckpointing.html" title="class in org.apache.sysds.hops.rewrite">RewriteInjectSparkLoopCheckpointing</a>, <a href="../../../../../org/apache/sysds/hops/rewrite/RewriteMarkLoopVariablesUpdateInPlace.html" title="class in org.apache.sysds.hops.rewrite">RewriteMarkLoopVariablesUpdateInPlace</a>, <a href="../../../../../org/apache/sysds/hops/rewrite/RewriteMergeBlockSequence.html" title="class in org.apache.sysds.hops.rewrite">RewriteMergeBlockSequence</a>, <a href="../../../../../org/apache/sysds/hops/rewrite/RewriteRemoveEmptyBasicBlocks.html" title="class in org.apache.sysds.hops.rewrite">RewriteRemoveEmptyBasicBlocks</a>, <a href="../../../../../org/apache/sysds/hops/rewrite/RewriteRemoveUnnecessaryBranches.html" title="class in org.apache.sysds.hops.rewrite">RewriteRemoveUnnecessaryBranches</a>, <a href="../../../../../org/apache/sysds/hops/rewrite/RewriteSplitDagDataDependentOperators.html" title="class in org.apache.sysds.hops.rewrite">RewriteSplitDagDataDependentOperators</a>, <a href="../../../../../org/apache/sysds/hops/rewrite/RewriteSplitDagUnknownCSVRead.html" title="class in org.apache.sysds.hops.rewrite">RewriteSplitDagUnknownCSVRead</a></dd>
+<dd><a href="../../../../../org/apache/sysds/hops/rewrite/MarkForLineageReuse.html" title="class in org.apache.sysds.hops.rewrite">MarkForLineageReuse</a>, <a href="../../../../../org/apache/sysds/hops/rewrite/RewriteCompressedReblock.html" title="class in org.apache.sysds.hops.rewrite">RewriteCompressedReblock</a>, <a href="../../../../../org/apache/sysds/hops/rewrite/RewriteForLoopVectorization.html" title="class in org.apache.sysds.hops.rewrite">RewriteForLoopVectorization</a>, <a href="../../../../../org/apache/sysds/hops/rewrite/RewriteHoistLoopInvariantOperations.html" title="class in org.apache.sysds.hops.rewrite">RewriteHoistLoopInvariantOperations</a>, <a href="../../../../../org/apache/sysds/hops/rewrite/RewriteInjectSparkLoopCheckpointing.html" title="class in org.apache.sysds.hops.rewrite">RewriteInjectSparkLoopCheckpointing</a>, <a href="../../../../../org/apache/sysds/hops/rewrite/RewriteMarkLoopVariablesUpdateInPlace.html" title="class in org.apache.sysds.hops.rewrite">RewriteMarkLoopVariablesUpdateInPlace</a>, <a href="../../../../../org/apache/sysds/hops/rewrite/RewriteMergeBlockSequence.html" title="class in org.apache.sysds.hops.rewrite">RewriteMergeBlockSequence</a>, <a href="../../../../../org/apache/sysds/hops/rewrite/RewriteRemoveEmptyBasicBlocks.html" title="class in org.apache.sysds.hops.rewrite">RewriteRemoveEmptyBasicBlocks</a>, <a href="../../../../../org/apache/sysds/hops/rewrite/RewriteRemoveForLoopEmptySequence.html" title="class in org.apache.sysds.hops.rewrite">RewriteRemoveForLoopEmptySequence</a>, <a href="../../../../../org/apache/sysds/hops/rewrite/RewriteRemoveUnnecessaryBranches.html" title="class in org.apache.sysds.hops.rewrite">RewriteRemoveUnnecessaryBranches</a>, <a href="../../../../../org/apache/sysds/hops/rewrite/RewriteSplitDagDataDependentOperators.html" title="class in org.apache.sysds.hops.rewrite">RewriteSplitDagDataDependentOperators</a>, <a href="../../../../../org/apache/sysds/hops/rewrite/RewriteSplitDagUnknownCSVRead.html" title="class in org.apache.sysds.hops.rewrite">RewriteSplitDagUnknownCSVRead</a></dd>
 </dl>
 <hr>
 <br>
@@ -349,6 +349,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/rewrite/class-use/HopDagValidator.html b/docs/api/java/org/apache/sysds/hops/rewrite/class-use/HopDagValidator.html
index 0eaa435..7fa9184 100644
--- a/docs/api/java/org/apache/sysds/hops/rewrite/class-use/HopDagValidator.html
+++ b/docs/api/java/org/apache/sysds/hops/rewrite/class-use/HopDagValidator.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/rewrite/class-use/HopRewriteRule.html b/docs/api/java/org/apache/sysds/hops/rewrite/class-use/HopRewriteRule.html
index 44fd136..4f5fb0d 100644
--- a/docs/api/java/org/apache/sysds/hops/rewrite/class-use/HopRewriteRule.html
+++ b/docs/api/java/org/apache/sysds/hops/rewrite/class-use/HopRewriteRule.html
@@ -328,6 +328,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/rewrite/class-use/HopRewriteUtils.html b/docs/api/java/org/apache/sysds/hops/rewrite/class-use/HopRewriteUtils.html
index 3f18f72..a042ac3 100644
--- a/docs/api/java/org/apache/sysds/hops/rewrite/class-use/HopRewriteUtils.html
+++ b/docs/api/java/org/apache/sysds/hops/rewrite/class-use/HopRewriteUtils.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/rewrite/class-use/MarkForLineageReuse.html b/docs/api/java/org/apache/sysds/hops/rewrite/class-use/MarkForLineageReuse.html
index 325b29b..ce6ac0b 100644
--- a/docs/api/java/org/apache/sysds/hops/rewrite/class-use/MarkForLineageReuse.html
+++ b/docs/api/java/org/apache/sysds/hops/rewrite/class-use/MarkForLineageReuse.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/rewrite/class-use/ProgramRewriteStatus.html b/docs/api/java/org/apache/sysds/hops/rewrite/class-use/ProgramRewriteStatus.html
index c309953..0dc3136 100644
--- a/docs/api/java/org/apache/sysds/hops/rewrite/class-use/ProgramRewriteStatus.html
+++ b/docs/api/java/org/apache/sysds/hops/rewrite/class-use/ProgramRewriteStatus.html
@@ -314,66 +314,76 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">RewriteForLoopVectorization.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/rewrite/RewriteForLoopVectorization.html#rewriteStatementBlock-org.apache.sysds.parser.StatementBlock-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteStatementBlock</a></span>(<a href="../../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&nbsp;sb,
+<td class="colLast"><span class="typeNameLabel">RewriteRemoveForLoopEmptySequence.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/rewrite/RewriteRemoveForLoopEmptySequence.html#rewriteStatementBlock-org.apache.sysds.parser.StatementBlock-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteStatementBlock</a></span>(<a href="../../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&nbsp;sb,
                      <a href="../../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;state)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">RewriteForLoopVectorization.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/rewrite/RewriteForLoopVectorization.html#rewriteStatementBlock-org.apache.sysds.parser.StatementBlock-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteStatementBlock</a></span>(<a href="../../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&nbsp;sb,
+                     <a href="../../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;state)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">MarkForLineageReuse.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/rewrite/MarkForLineageReuse.html#rewriteStatementBlock-org.apache.sysds.parser.StatementBlock-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteStatementBlock</a></span>(<a href="../../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&nbsp;sb,
                      <a href="../../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;status)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">RewriteRemoveEmptyBasicBlocks.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/rewrite/RewriteRemoveEmptyBasicBlocks.html#rewriteStatementBlock-org.apache.sysds.parser.StatementBlock-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteStatementBlock</a></span>(<a href="../../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&nbsp;sb,
                      <a href="../../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;state)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">RewriteSplitDagDataDependentOperators.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/rewrite/RewriteSplitDagDataDependentOperators.html#rewriteStatementBlock-org.apache.sysds.parser.StatementBlock-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteStatementBlock</a></span>(<a href="../../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&nbsp;sb,
                      <a href="../../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;state)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">RewriteCompressedReblock.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/rewrite/RewriteCompressedReblock.html#rewriteStatementBlock-org.apache.sysds.parser.StatementBlock-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteStatementBlock</a></span>(<a href="../../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&nbsp;sb,
                      <a href="../../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;sate)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">RewriteMergeBlockSequence.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/rewrite/RewriteMergeBlockSequence.html#rewriteStatementBlock-org.apache.sysds.parser.StatementBlock-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteStatementBlock</a></span>(<a href="../../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&nbsp;sb,
                      <a href="../../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;state)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">RewriteInjectSparkLoopCheckpointing.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/rewrite/RewriteInjectSparkLoopCheckpointing.html#rewriteStatementBlock-org.apache.sysds.parser.StatementBlock-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteStatementBlock</a></span>(<a href="../../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&nbsp;sb,
                      <a href="../../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;status)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>abstract <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">StatementBlockRewriteRule.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/rewrite/StatementBlockRewriteRule.html#rewriteStatementBlock-org.apache.sysds.parser.StatementBlock-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteStatementBlock</a></span>(<a href="../../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&nbsp;sb,
                      <a href="../../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;state)</code>
 <div class="block">Handle an arbitrary statement block.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">RewriteHoistLoopInvariantOperations.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/rewrite/RewriteHoistLoopInvariantOperations.html#rewriteStatementBlock-org.apache.sysds.parser.StatementBlock-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteStatementBlock</a></span>(<a href="../../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&nbsp;sb,
                      <a href="../../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;state)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">RewriteMarkLoopVariablesUpdateInPlace.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/rewrite/RewriteMarkLoopVariablesUpdateInPlace.html#rewriteStatementBlock-org.apache.sysds.parser.StatementBlock-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteStatementBlock</a></span>(<a href="../../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&nbsp;sb,
                      <a href="../../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;status)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">RewriteSplitDagUnknownCSVRead.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/rewrite/RewriteSplitDagUnknownCSVRead.html#rewriteStatementBlock-org.apache.sysds.parser.StatementBlock-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteStatementBlock</a></span>(<a href="../../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&nbsp;sb,
                      <a href="../../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;state)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">RewriteRemoveUnnecessaryBranches.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/rewrite/RewriteRemoveUnnecessaryBranches.html#rewriteStatementBlock-org.apache.sysds.parser.StatementBlock-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteStatementBlock</a></span>(<a href="../../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&nbsp;sb,
                      <a href="../../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;state)</code>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">RewriteRemoveForLoopEmptySequence.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/rewrite/RewriteRemoveForLoopEmptySequence.html#rewriteStatementBlocks-java.util.List-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteStatementBlocks</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;&nbsp;sbs,
+                      <a href="../../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;state)</code>&nbsp;</td>
+</tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">RewriteForLoopVectorization.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/rewrite/RewriteForLoopVectorization.html#rewriteStatementBlocks-java.util.List-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteStatementBlocks</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;&nbsp;sbs,
@@ -507,6 +517,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/rewrite/class-use/ProgramRewriter.html b/docs/api/java/org/apache/sysds/hops/rewrite/class-use/ProgramRewriter.html
index af720c1..f4ee25a 100644
--- a/docs/api/java/org/apache/sysds/hops/rewrite/class-use/ProgramRewriter.html
+++ b/docs/api/java/org/apache/sysds/hops/rewrite/class-use/ProgramRewriter.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/rewrite/class-use/RewriteAlgebraicSimplificationDynamic.html b/docs/api/java/org/apache/sysds/hops/rewrite/class-use/RewriteAlgebraicSimplificationDynamic.html
index 1994a0d..342edcb 100644
--- a/docs/api/java/org/apache/sysds/hops/rewrite/class-use/RewriteAlgebraicSimplificationDynamic.html
+++ b/docs/api/java/org/apache/sysds/hops/rewrite/class-use/RewriteAlgebraicSimplificationDynamic.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/rewrite/class-use/RewriteAlgebraicSimplificationStatic.html b/docs/api/java/org/apache/sysds/hops/rewrite/class-use/RewriteAlgebraicSimplificationStatic.html
index 885fe0f..5f22782 100644
--- a/docs/api/java/org/apache/sysds/hops/rewrite/class-use/RewriteAlgebraicSimplificationStatic.html
+++ b/docs/api/java/org/apache/sysds/hops/rewrite/class-use/RewriteAlgebraicSimplificationStatic.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/rewrite/class-use/RewriteBlockSizeAndReblock.html b/docs/api/java/org/apache/sysds/hops/rewrite/class-use/RewriteBlockSizeAndReblock.html
index a61b433..a2e4442 100644
--- a/docs/api/java/org/apache/sysds/hops/rewrite/class-use/RewriteBlockSizeAndReblock.html
+++ b/docs/api/java/org/apache/sysds/hops/rewrite/class-use/RewriteBlockSizeAndReblock.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/rewrite/class-use/RewriteCommonSubexpressionElimination.html b/docs/api/java/org/apache/sysds/hops/rewrite/class-use/RewriteCommonSubexpressionElimination.html
index 9bdb252..f945812 100644
--- a/docs/api/java/org/apache/sysds/hops/rewrite/class-use/RewriteCommonSubexpressionElimination.html
+++ b/docs/api/java/org/apache/sysds/hops/rewrite/class-use/RewriteCommonSubexpressionElimination.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/rewrite/class-use/RewriteCompressedReblock.html b/docs/api/java/org/apache/sysds/hops/rewrite/class-use/RewriteCompressedReblock.html
index 596dbc0..3d4cf69 100644
--- a/docs/api/java/org/apache/sysds/hops/rewrite/class-use/RewriteCompressedReblock.html
+++ b/docs/api/java/org/apache/sysds/hops/rewrite/class-use/RewriteCompressedReblock.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/rewrite/class-use/RewriteConstantFolding.html b/docs/api/java/org/apache/sysds/hops/rewrite/class-use/RewriteConstantFolding.html
index 334636c..8146b5e 100644
--- a/docs/api/java/org/apache/sysds/hops/rewrite/class-use/RewriteConstantFolding.html
+++ b/docs/api/java/org/apache/sysds/hops/rewrite/class-use/RewriteConstantFolding.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/rewrite/class-use/RewriteElementwiseMultChainOptimization.html b/docs/api/java/org/apache/sysds/hops/rewrite/class-use/RewriteElementwiseMultChainOptimization.html
index 94164ba..9dca486 100644
--- a/docs/api/java/org/apache/sysds/hops/rewrite/class-use/RewriteElementwiseMultChainOptimization.html
+++ b/docs/api/java/org/apache/sysds/hops/rewrite/class-use/RewriteElementwiseMultChainOptimization.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/rewrite/class-use/RewriteForLoopVectorization.html b/docs/api/java/org/apache/sysds/hops/rewrite/class-use/RewriteForLoopVectorization.html
index a54803c..9e361c9 100644
--- a/docs/api/java/org/apache/sysds/hops/rewrite/class-use/RewriteForLoopVectorization.html
+++ b/docs/api/java/org/apache/sysds/hops/rewrite/class-use/RewriteForLoopVectorization.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/rewrite/class-use/RewriteGPUSpecificOps.html b/docs/api/java/org/apache/sysds/hops/rewrite/class-use/RewriteGPUSpecificOps.html
index a92ff8a..bbc917a 100644
--- a/docs/api/java/org/apache/sysds/hops/rewrite/class-use/RewriteGPUSpecificOps.html
+++ b/docs/api/java/org/apache/sysds/hops/rewrite/class-use/RewriteGPUSpecificOps.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/rewrite/class-use/RewriteHoistLoopInvariantOperations.html b/docs/api/java/org/apache/sysds/hops/rewrite/class-use/RewriteHoistLoopInvariantOperations.html
index 6cd1a34..3756ab0 100644
--- a/docs/api/java/org/apache/sysds/hops/rewrite/class-use/RewriteHoistLoopInvariantOperations.html
+++ b/docs/api/java/org/apache/sysds/hops/rewrite/class-use/RewriteHoistLoopInvariantOperations.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/rewrite/class-use/RewriteIndexingVectorization.html b/docs/api/java/org/apache/sysds/hops/rewrite/class-use/RewriteIndexingVectorization.html
index 501f25c..9e0fc3b 100644
--- a/docs/api/java/org/apache/sysds/hops/rewrite/class-use/RewriteIndexingVectorization.html
+++ b/docs/api/java/org/apache/sysds/hops/rewrite/class-use/RewriteIndexingVectorization.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/rewrite/class-use/RewriteInjectSparkLoopCheckpointing.html b/docs/api/java/org/apache/sysds/hops/rewrite/class-use/RewriteInjectSparkLoopCheckpointing.html
index e2da1e1..d8a8035 100644
--- a/docs/api/java/org/apache/sysds/hops/rewrite/class-use/RewriteInjectSparkLoopCheckpointing.html
+++ b/docs/api/java/org/apache/sysds/hops/rewrite/class-use/RewriteInjectSparkLoopCheckpointing.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/rewrite/class-use/RewriteInjectSparkPReadCheckpointing.html b/docs/api/java/org/apache/sysds/hops/rewrite/class-use/RewriteInjectSparkPReadCheckpointing.html
index 38d16a3..f7eedb1 100644
--- a/docs/api/java/org/apache/sysds/hops/rewrite/class-use/RewriteInjectSparkPReadCheckpointing.html
+++ b/docs/api/java/org/apache/sysds/hops/rewrite/class-use/RewriteInjectSparkPReadCheckpointing.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/rewrite/class-use/RewriteMarkLoopVariablesUpdateInPlace.html b/docs/api/java/org/apache/sysds/hops/rewrite/class-use/RewriteMarkLoopVariablesUpdateInPlace.html
index 3329a40..69bd098 100644
--- a/docs/api/java/org/apache/sysds/hops/rewrite/class-use/RewriteMarkLoopVariablesUpdateInPlace.html
+++ b/docs/api/java/org/apache/sysds/hops/rewrite/class-use/RewriteMarkLoopVariablesUpdateInPlace.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/rewrite/class-use/RewriteMatrixMultChainOptimization.html b/docs/api/java/org/apache/sysds/hops/rewrite/class-use/RewriteMatrixMultChainOptimization.html
index f3e0b5a..2a8dc4b 100644
--- a/docs/api/java/org/apache/sysds/hops/rewrite/class-use/RewriteMatrixMultChainOptimization.html
+++ b/docs/api/java/org/apache/sysds/hops/rewrite/class-use/RewriteMatrixMultChainOptimization.html
@@ -169,6 +169,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/rewrite/class-use/RewriteMatrixMultChainOptimizationSparse.html b/docs/api/java/org/apache/sysds/hops/rewrite/class-use/RewriteMatrixMultChainOptimizationSparse.html
index 630f628..ff14b26 100644
--- a/docs/api/java/org/apache/sysds/hops/rewrite/class-use/RewriteMatrixMultChainOptimizationSparse.html
+++ b/docs/api/java/org/apache/sysds/hops/rewrite/class-use/RewriteMatrixMultChainOptimizationSparse.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/rewrite/class-use/RewriteMergeBlockSequence.html b/docs/api/java/org/apache/sysds/hops/rewrite/class-use/RewriteMergeBlockSequence.html
index 03c0b8d..de9f277 100644
--- a/docs/api/java/org/apache/sysds/hops/rewrite/class-use/RewriteMergeBlockSequence.html
+++ b/docs/api/java/org/apache/sysds/hops/rewrite/class-use/RewriteMergeBlockSequence.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/rewrite/class-use/RewriteRemoveDanglingParentReferences.html b/docs/api/java/org/apache/sysds/hops/rewrite/class-use/RewriteRemoveDanglingParentReferences.html
index 17a838f..e6a8a96 100644
--- a/docs/api/java/org/apache/sysds/hops/rewrite/class-use/RewriteRemoveDanglingParentReferences.html
+++ b/docs/api/java/org/apache/sysds/hops/rewrite/class-use/RewriteRemoveDanglingParentReferences.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/rewrite/class-use/RewriteRemoveEmptyBasicBlocks.html b/docs/api/java/org/apache/sysds/hops/rewrite/class-use/RewriteRemoveEmptyBasicBlocks.html
index ade4e54..f520cd9 100644
--- a/docs/api/java/org/apache/sysds/hops/rewrite/class-use/RewriteRemoveEmptyBasicBlocks.html
+++ b/docs/api/java/org/apache/sysds/hops/rewrite/class-use/RewriteRemoveEmptyBasicBlocks.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/class-use/BitmapEncoder.html b/docs/api/java/org/apache/sysds/hops/rewrite/class-use/RewriteRemoveForLoopEmptySequence.html
similarity index 71%
copy from docs/api/java/org/apache/sysds/runtime/compress/class-use/BitmapEncoder.html
copy to docs/api/java/org/apache/sysds/hops/rewrite/class-use/RewriteRemoveForLoopEmptySequence.html
index f4f340f..f6995e3 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/class-use/BitmapEncoder.html
+++ b/docs/api/java/org/apache/sysds/hops/rewrite/class-use/RewriteRemoveForLoopEmptySequence.html
@@ -4,7 +4,7 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.sysds.runtime.compress.BitmapEncoder (SystemDS 2.1.0-SNAPSHOT API)</title>
+<title>Uses of Class org.apache.sysds.hops.rewrite.RewriteRemoveForLoopEmptySequence (SystemDS 2.1.0-SNAPSHOT API)</title>
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.sysds.runtime.compress.BitmapEncoder (SystemDS 2.1.0-SNAPSHOT API)";
+            parent.document.title="Uses of Class org.apache.sysds.hops.rewrite.RewriteRemoveForLoopEmptySequence (SystemDS 2.1.0-SNAPSHOT API)";
         }
     }
     catch(err) {
@@ -33,7 +33,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/BitmapEncoder.html" title="class in org.apache.sysds.runtime.compress">Class</a></li>
+<li><a href="../../../../../../org/apache/sysds/hops/rewrite/RewriteRemoveForLoopEmptySequence.html" title="class in org.apache.sysds.hops.rewrite">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -47,8 +47,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/class-use/BitmapEncoder.html" target="_top">Frames</a></li>
-<li><a href="BitmapEncoder.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../index.html?org/apache/sysds/hops/rewrite/class-use/RewriteRemoveForLoopEmptySequence.html" target="_top">Frames</a></li>
+<li><a href="RewriteRemoveForLoopEmptySequence.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
 <li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -70,9 +70,9 @@
 </a></div>
 <!-- ========= END OF TOP NAVBAR ========= -->
 <div class="header">
-<h2 title="Uses of Class org.apache.sysds.runtime.compress.BitmapEncoder" class="title">Uses of Class<br>org.apache.sysds.runtime.compress.BitmapEncoder</h2>
+<h2 title="Uses of Class org.apache.sysds.hops.rewrite.RewriteRemoveForLoopEmptySequence" class="title">Uses of Class<br>org.apache.sysds.hops.rewrite.RewriteRemoveForLoopEmptySequence</h2>
 </div>
-<div class="classUseContainer">No usage of org.apache.sysds.runtime.compress.BitmapEncoder</div>
+<div class="classUseContainer">No usage of org.apache.sysds.hops.rewrite.RewriteRemoveForLoopEmptySequence</div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
 <!--   -->
@@ -84,7 +84,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/BitmapEncoder.html" title="class in org.apache.sysds.runtime.compress">Class</a></li>
+<li><a href="../../../../../../org/apache/sysds/hops/rewrite/RewriteRemoveForLoopEmptySequence.html" title="class in org.apache.sysds.hops.rewrite">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -98,8 +98,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/class-use/BitmapEncoder.html" target="_top">Frames</a></li>
-<li><a href="BitmapEncoder.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../index.html?org/apache/sysds/hops/rewrite/class-use/RewriteRemoveForLoopEmptySequence.html" target="_top">Frames</a></li>
+<li><a href="RewriteRemoveForLoopEmptySequence.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
 <li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/rewrite/class-use/RewriteRemovePersistentReadWrite.html b/docs/api/java/org/apache/sysds/hops/rewrite/class-use/RewriteRemovePersistentReadWrite.html
index ffc59a1..a132100 100644
--- a/docs/api/java/org/apache/sysds/hops/rewrite/class-use/RewriteRemovePersistentReadWrite.html
+++ b/docs/api/java/org/apache/sysds/hops/rewrite/class-use/RewriteRemovePersistentReadWrite.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/rewrite/class-use/RewriteRemoveReadAfterWrite.html b/docs/api/java/org/apache/sysds/hops/rewrite/class-use/RewriteRemoveReadAfterWrite.html
index 237d1ac..1671fc0 100644
--- a/docs/api/java/org/apache/sysds/hops/rewrite/class-use/RewriteRemoveReadAfterWrite.html
+++ b/docs/api/java/org/apache/sysds/hops/rewrite/class-use/RewriteRemoveReadAfterWrite.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/rewrite/class-use/RewriteRemoveUnnecessaryBranches.html b/docs/api/java/org/apache/sysds/hops/rewrite/class-use/RewriteRemoveUnnecessaryBranches.html
index 0285c6c..ef394da 100644
--- a/docs/api/java/org/apache/sysds/hops/rewrite/class-use/RewriteRemoveUnnecessaryBranches.html
+++ b/docs/api/java/org/apache/sysds/hops/rewrite/class-use/RewriteRemoveUnnecessaryBranches.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/rewrite/class-use/RewriteRemoveUnnecessaryCasts.html b/docs/api/java/org/apache/sysds/hops/rewrite/class-use/RewriteRemoveUnnecessaryCasts.html
index 5ad0872..8c3767f 100644
--- a/docs/api/java/org/apache/sysds/hops/rewrite/class-use/RewriteRemoveUnnecessaryCasts.html
+++ b/docs/api/java/org/apache/sysds/hops/rewrite/class-use/RewriteRemoveUnnecessaryCasts.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/rewrite/class-use/RewriteSplitDagDataDependentOperators.html b/docs/api/java/org/apache/sysds/hops/rewrite/class-use/RewriteSplitDagDataDependentOperators.html
index 4169d37..2f2c7cf 100644
--- a/docs/api/java/org/apache/sysds/hops/rewrite/class-use/RewriteSplitDagDataDependentOperators.html
+++ b/docs/api/java/org/apache/sysds/hops/rewrite/class-use/RewriteSplitDagDataDependentOperators.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/rewrite/class-use/RewriteSplitDagUnknownCSVRead.html b/docs/api/java/org/apache/sysds/hops/rewrite/class-use/RewriteSplitDagUnknownCSVRead.html
index 5eddb11..7fca85e 100644
--- a/docs/api/java/org/apache/sysds/hops/rewrite/class-use/RewriteSplitDagUnknownCSVRead.html
+++ b/docs/api/java/org/apache/sysds/hops/rewrite/class-use/RewriteSplitDagUnknownCSVRead.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/rewrite/class-use/RewriteTransientWriteParentHandling.html b/docs/api/java/org/apache/sysds/hops/rewrite/class-use/RewriteTransientWriteParentHandling.html
index d9bea35..9a344e6 100644
--- a/docs/api/java/org/apache/sysds/hops/rewrite/class-use/RewriteTransientWriteParentHandling.html
+++ b/docs/api/java/org/apache/sysds/hops/rewrite/class-use/RewriteTransientWriteParentHandling.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/rewrite/class-use/StatementBlockRewriteRule.html b/docs/api/java/org/apache/sysds/hops/rewrite/class-use/StatementBlockRewriteRule.html
index f150175..dbb7291 100644
--- a/docs/api/java/org/apache/sysds/hops/rewrite/class-use/StatementBlockRewriteRule.html
+++ b/docs/api/java/org/apache/sysds/hops/rewrite/class-use/StatementBlockRewriteRule.html
@@ -109,9 +109,8 @@
 <tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/rewrite/RewriteCompressedReblock.html" title="class in org.apache.sysds.hops.rewrite">RewriteCompressedReblock</a></span></code>
-<div class="block">Rule: CompressedReblock: If config compressed.linalg is enabled, we
- inject compression directions after pread of matrices w/ both dims &gt; 1
- (i.e., multi-column matrices).</div>
+<div class="block">Rule: Compressed Re block if config compressed.linalg is enabled, we inject compression directions after read of
+ matrices if number of rows is above 1000 and cols at least 1.</div>
 </td>
 </tr>
 <tr class="altColor">
@@ -159,19 +158,26 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/rewrite/RewriteRemoveForLoopEmptySequence.html" title="class in org.apache.sysds.hops.rewrite">RewriteRemoveForLoopEmptySequence</a></span></code>
+<div class="block">Rule: Simplify program structure by removing (par)for statements iterating over
+ an empty sequence, i.e., (par)for-loops without a single iteration.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/rewrite/RewriteRemoveUnnecessaryBranches.html" title="class in org.apache.sysds.hops.rewrite">RewriteRemoveUnnecessaryBranches</a></span></code>
 <div class="block">Rule: Simplify program structure by pulling if or else statement body out
  (removing the if statement block ifself) in order to allow intra-procedure
  analysis to propagate exact statistics.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/rewrite/RewriteSplitDagDataDependentOperators.html" title="class in org.apache.sysds.hops.rewrite">RewriteSplitDagDataDependentOperators</a></span></code>
 <div class="block">Rule: Split Hop DAG after specific data-dependent operators.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/rewrite/RewriteSplitDagUnknownCSVRead.html" title="class in org.apache.sysds.hops.rewrite">RewriteSplitDagUnknownCSVRead</a></span></code>
 <div class="block">Rule: Split Hop DAG after CSV reads with unknown size.</div>
@@ -271,6 +277,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/rewrite/package-frame.html b/docs/api/java/org/apache/sysds/hops/rewrite/package-frame.html
index 25f6405..2acf67d 100644
--- a/docs/api/java/org/apache/sysds/hops/rewrite/package-frame.html
+++ b/docs/api/java/org/apache/sysds/hops/rewrite/package-frame.html
@@ -38,6 +38,7 @@
 <li><a href="RewriteMergeBlockSequence.html" title="class in org.apache.sysds.hops.rewrite" target="classFrame">RewriteMergeBlockSequence</a></li>
 <li><a href="RewriteRemoveDanglingParentReferences.html" title="class in org.apache.sysds.hops.rewrite" target="classFrame">RewriteRemoveDanglingParentReferences</a></li>
 <li><a href="RewriteRemoveEmptyBasicBlocks.html" title="class in org.apache.sysds.hops.rewrite" target="classFrame">RewriteRemoveEmptyBasicBlocks</a></li>
+<li><a href="RewriteRemoveForLoopEmptySequence.html" title="class in org.apache.sysds.hops.rewrite" target="classFrame">RewriteRemoveForLoopEmptySequence</a></li>
 <li><a href="RewriteRemovePersistentReadWrite.html" title="class in org.apache.sysds.hops.rewrite" target="classFrame">RewriteRemovePersistentReadWrite</a></li>
 <li><a href="RewriteRemoveReadAfterWrite.html" title="class in org.apache.sysds.hops.rewrite" target="classFrame">RewriteRemoveReadAfterWrite</a></li>
 <li><a href="RewriteRemoveUnnecessaryBranches.html" title="class in org.apache.sysds.hops.rewrite" target="classFrame">RewriteRemoveUnnecessaryBranches</a></li>
diff --git a/docs/api/java/org/apache/sysds/hops/rewrite/package-summary.html b/docs/api/java/org/apache/sysds/hops/rewrite/package-summary.html
index ef8ab8e..0d3a56b 100644
--- a/docs/api/java/org/apache/sysds/hops/rewrite/package-summary.html
+++ b/docs/api/java/org/apache/sysds/hops/rewrite/package-summary.html
@@ -142,9 +142,8 @@
 <tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/sysds/hops/rewrite/RewriteCompressedReblock.html" title="class in org.apache.sysds.hops.rewrite">RewriteCompressedReblock</a></td>
 <td class="colLast">
-<div class="block">Rule: CompressedReblock: If config compressed.linalg is enabled, we
- inject compression directions after pread of matrices w/ both dims &gt; 1
- (i.e., multi-column matrices).</div>
+<div class="block">Rule: Compressed Re block if config compressed.linalg is enabled, we inject compression directions after read of
+ matrices if number of rows is above 1000 and cols at least 1.</div>
 </td>
 </tr>
 <tr class="rowColor">
@@ -251,19 +250,26 @@
 </td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/sysds/hops/rewrite/RewriteRemoveForLoopEmptySequence.html" title="class in org.apache.sysds.hops.rewrite">RewriteRemoveForLoopEmptySequence</a></td>
+<td class="colLast">
+<div class="block">Rule: Simplify program structure by removing (par)for statements iterating over
+ an empty sequence, i.e., (par)for-loops without a single iteration.</div>
+</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/sysds/hops/rewrite/RewriteRemovePersistentReadWrite.html" title="class in org.apache.sysds.hops.rewrite">RewriteRemovePersistentReadWrite</a></td>
 <td class="colLast">
 <div class="block">This rewrite is a custom rewrite for JMLC in order to replace all persistent reads
  and writes with transient reads and writes from the symbol table.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/sysds/hops/rewrite/RewriteRemoveReadAfterWrite.html" title="class in org.apache.sysds.hops.rewrite">RewriteRemoveReadAfterWrite</a></td>
 <td class="colLast">
 <div class="block">Rule: RemoveReadAfterWrite.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/sysds/hops/rewrite/RewriteRemoveUnnecessaryBranches.html" title="class in org.apache.sysds.hops.rewrite">RewriteRemoveUnnecessaryBranches</a></td>
 <td class="colLast">
 <div class="block">Rule: Simplify program structure by pulling if or else statement body out
@@ -271,25 +277,25 @@
  analysis to propagate exact statistics.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/sysds/hops/rewrite/RewriteRemoveUnnecessaryCasts.html" title="class in org.apache.sysds.hops.rewrite">RewriteRemoveUnnecessaryCasts</a></td>
 <td class="colLast">
 <div class="block">Rule: RemoveUnnecessaryCasts.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/sysds/hops/rewrite/RewriteSplitDagDataDependentOperators.html" title="class in org.apache.sysds.hops.rewrite">RewriteSplitDagDataDependentOperators</a></td>
 <td class="colLast">
 <div class="block">Rule: Split Hop DAG after specific data-dependent operators.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/sysds/hops/rewrite/RewriteSplitDagUnknownCSVRead.html" title="class in org.apache.sysds.hops.rewrite">RewriteSplitDagUnknownCSVRead</a></td>
 <td class="colLast">
 <div class="block">Rule: Split Hop DAG after CSV reads with unknown size.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/sysds/hops/rewrite/RewriteTransientWriteParentHandling.html" title="class in org.apache.sysds.hops.rewrite">RewriteTransientWriteParentHandling</a></td>
 <td class="colLast">
 <div class="block">Rule: Eliminate for Transient Write DataHops to have no parents
@@ -299,7 +305,7 @@
  analysis for Lop's to Instruction translation (according to Amol)</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/sysds/hops/rewrite/StatementBlockRewriteRule.html" title="class in org.apache.sysds.hops.rewrite">StatementBlockRewriteRule</a></td>
 <td class="colLast">
 <div class="block">Base class for all hop rewrites in order to enable generic
@@ -358,6 +364,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/rewrite/package-tree.html b/docs/api/java/org/apache/sysds/hops/rewrite/package-tree.html
index 0d45a96..c3ab02d 100644
--- a/docs/api/java/org/apache/sysds/hops/rewrite/package-tree.html
+++ b/docs/api/java/org/apache/sysds/hops/rewrite/package-tree.html
@@ -118,6 +118,7 @@
 <li type="circle">org.apache.sysds.hops.rewrite.<a href="../../../../../org/apache/sysds/hops/rewrite/RewriteMarkLoopVariablesUpdateInPlace.html" title="class in org.apache.sysds.hops.rewrite"><span class="typeNameLink">RewriteMarkLoopVariablesUpdateInPlace</span></a></li>
 <li type="circle">org.apache.sysds.hops.rewrite.<a href="../../../../../org/apache/sysds/hops/rewrite/RewriteMergeBlockSequence.html" title="class in org.apache.sysds.hops.rewrite"><span class="typeNameLink">RewriteMergeBlockSequence</span></a></li>
 <li type="circle">org.apache.sysds.hops.rewrite.<a href="../../../../../org/apache/sysds/hops/rewrite/RewriteRemoveEmptyBasicBlocks.html" title="class in org.apache.sysds.hops.rewrite"><span class="typeNameLink">RewriteRemoveEmptyBasicBlocks</span></a></li>
+<li type="circle">org.apache.sysds.hops.rewrite.<a href="../../../../../org/apache/sysds/hops/rewrite/RewriteRemoveForLoopEmptySequence.html" title="class in org.apache.sysds.hops.rewrite"><span class="typeNameLink">RewriteRemoveForLoopEmptySequence</span></a></li>
 <li type="circle">org.apache.sysds.hops.rewrite.<a href="../../../../../org/apache/sysds/hops/rewrite/RewriteRemoveUnnecessaryBranches.html" title="class in org.apache.sysds.hops.rewrite"><span class="typeNameLink">RewriteRemoveUnnecessaryBranches</span></a></li>
 <li type="circle">org.apache.sysds.hops.rewrite.<a href="../../../../../org/apache/sysds/hops/rewrite/RewriteSplitDagDataDependentOperators.html" title="class in org.apache.sysds.hops.rewrite"><span class="typeNameLink">RewriteSplitDagDataDependentOperators</span></a></li>
 <li type="circle">org.apache.sysds.hops.rewrite.<a href="../../../../../org/apache/sysds/hops/rewrite/RewriteSplitDagUnknownCSVRead.html" title="class in org.apache.sysds.hops.rewrite"><span class="typeNameLink">RewriteSplitDagUnknownCSVRead</span></a></li>
@@ -174,6 +175,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/hops/rewrite/package-use.html b/docs/api/java/org/apache/sysds/hops/rewrite/package-use.html
index 08b492b..9312e61 100644
--- a/docs/api/java/org/apache/sysds/hops/rewrite/package-use.html
+++ b/docs/api/java/org/apache/sysds/hops/rewrite/package-use.html
@@ -176,6 +176,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/Append.html b/docs/api/java/org/apache/sysds/lops/Append.html
index 2659e19..bcf47b9 100644
--- a/docs/api/java/org/apache/sysds/lops/Append.html
+++ b/docs/api/java/org/apache/sysds/lops/Append.html
@@ -416,6 +416,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/AppendG.html b/docs/api/java/org/apache/sysds/lops/AppendG.html
index 79ff1b4..67894bd 100644
--- a/docs/api/java/org/apache/sysds/lops/AppendG.html
+++ b/docs/api/java/org/apache/sysds/lops/AppendG.html
@@ -434,6 +434,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/AppendGAlignedSP.html b/docs/api/java/org/apache/sysds/lops/AppendGAlignedSP.html
index dd7435c..d5ee696 100644
--- a/docs/api/java/org/apache/sysds/lops/AppendGAlignedSP.html
+++ b/docs/api/java/org/apache/sysds/lops/AppendGAlignedSP.html
@@ -414,6 +414,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/AppendM.CacheType.html b/docs/api/java/org/apache/sysds/lops/AppendM.CacheType.html
index 2d1ef29..004641c 100644
--- a/docs/api/java/org/apache/sysds/lops/AppendM.CacheType.html
+++ b/docs/api/java/org/apache/sysds/lops/AppendM.CacheType.html
@@ -341,6 +341,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/AppendM.html b/docs/api/java/org/apache/sysds/lops/AppendM.html
index 377b04b..43c684d 100644
--- a/docs/api/java/org/apache/sysds/lops/AppendM.html
+++ b/docs/api/java/org/apache/sysds/lops/AppendM.html
@@ -431,6 +431,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/AppendR.html b/docs/api/java/org/apache/sysds/lops/AppendR.html
index 8655e0e..dfe9d45 100644
--- a/docs/api/java/org/apache/sysds/lops/AppendR.html
+++ b/docs/api/java/org/apache/sysds/lops/AppendR.html
@@ -411,6 +411,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/Binary.html b/docs/api/java/org/apache/sysds/lops/Binary.html
index 03ca1f3..ed50d29 100644
--- a/docs/api/java/org/apache/sysds/lops/Binary.html
+++ b/docs/api/java/org/apache/sysds/lops/Binary.html
@@ -175,6 +175,15 @@
 <div class="block">Constructor to perform a binary operation.</div>
 </td>
 </tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/lops/Binary.html#Binary-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.OpOp2-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-int-">Binary</a></span>(<a href="../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
+      <a href="../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
+      <a href="../../../../org/apache/sysds/common/Types.OpOp2.html" title="enum in org.apache.sysds.common">Types.OpOp2</a>&nbsp;op,
+      <a href="../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
+      <a href="../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
+      <a href="../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et,
+      int&nbsp;k)</code>&nbsp;</td>
+</tr>
 </table>
 </li>
 </ul>
@@ -240,7 +249,7 @@
 <a name="Binary-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.OpOp2-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>Binary</h4>
 <pre>public&nbsp;Binary(<a href="../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
@@ -261,6 +270,21 @@
 </dl>
 </li>
 </ul>
+<a name="Binary-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.OpOp2-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-int-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>Binary</h4>
+<pre>public&nbsp;Binary(<a href="../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
+              <a href="../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
+              <a href="../../../../org/apache/sysds/common/Types.OpOp2.html" title="enum in org.apache.sysds.common">Types.OpOp2</a>&nbsp;op,
+              <a href="../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
+              <a href="../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
+              <a href="../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et,
+              int&nbsp;k)</pre>
+</li>
+</ul>
 </li>
 </ul>
 <!-- ============ METHOD DETAIL ========== -->
@@ -385,6 +409,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/BinaryM.VectorType.html b/docs/api/java/org/apache/sysds/lops/BinaryM.VectorType.html
index cb0a81d..55bfbd6 100644
--- a/docs/api/java/org/apache/sysds/lops/BinaryM.VectorType.html
+++ b/docs/api/java/org/apache/sysds/lops/BinaryM.VectorType.html
@@ -341,6 +341,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/BinaryM.html b/docs/api/java/org/apache/sysds/lops/BinaryM.html
index 7cbf700..0ed0f76 100644
--- a/docs/api/java/org/apache/sysds/lops/BinaryM.html
+++ b/docs/api/java/org/apache/sysds/lops/BinaryM.html
@@ -425,6 +425,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/BinaryScalar.html b/docs/api/java/org/apache/sysds/lops/BinaryScalar.html
index 3f4f881..612f11a 100644
--- a/docs/api/java/org/apache/sysds/lops/BinaryScalar.html
+++ b/docs/api/java/org/apache/sysds/lops/BinaryScalar.html
@@ -405,6 +405,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/BinaryUAggChain.html b/docs/api/java/org/apache/sysds/lops/BinaryUAggChain.html
index 7944435..14d6477 100644
--- a/docs/api/java/org/apache/sysds/lops/BinaryUAggChain.html
+++ b/docs/api/java/org/apache/sysds/lops/BinaryUAggChain.html
@@ -402,6 +402,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/CSVReBlock.html b/docs/api/java/org/apache/sysds/lops/CSVReBlock.html
index bf8ac39..02baa6d 100644
--- a/docs/api/java/org/apache/sysds/lops/CSVReBlock.html
+++ b/docs/api/java/org/apache/sysds/lops/CSVReBlock.html
@@ -386,6 +386,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/CentralMoment.html b/docs/api/java/org/apache/sysds/lops/CentralMoment.html
index af87a1f..6bd86cf 100644
--- a/docs/api/java/org/apache/sysds/lops/CentralMoment.html
+++ b/docs/api/java/org/apache/sysds/lops/CentralMoment.html
@@ -418,6 +418,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/Checkpoint.html b/docs/api/java/org/apache/sysds/lops/Checkpoint.html
index 3144870..1a3e9af 100644
--- a/docs/api/java/org/apache/sysds/lops/Checkpoint.html
+++ b/docs/api/java/org/apache/sysds/lops/Checkpoint.html
@@ -522,6 +522,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/CoVariance.html b/docs/api/java/org/apache/sysds/lops/CoVariance.html
index a9f67e1..feff77d 100644
--- a/docs/api/java/org/apache/sysds/lops/CoVariance.html
+++ b/docs/api/java/org/apache/sysds/lops/CoVariance.html
@@ -434,6 +434,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/Compression.CompressConfig.html b/docs/api/java/org/apache/sysds/lops/Compression.CompressConfig.html
index 579427b..641c5e0 100644
--- a/docs/api/java/org/apache/sysds/lops/Compression.CompressConfig.html
+++ b/docs/api/java/org/apache/sysds/lops/Compression.CompressConfig.html
@@ -145,9 +145,12 @@
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/lops/Compression.CompressConfig.html#AUTO">AUTO</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/lops/Compression.CompressConfig.html#FALSE">FALSE</a></span></code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/lops/Compression.CompressConfig.html#COST">COST</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/lops/Compression.CompressConfig.html#FALSE">FALSE</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/lops/Compression.CompressConfig.html#TRUE">TRUE</a></span></code>&nbsp;</td>
 </tr>
 </table>
@@ -229,6 +232,15 @@
 <pre>public static final&nbsp;<a href="../../../../org/apache/sysds/lops/Compression.CompressConfig.html" title="enum in org.apache.sysds.lops">Compression.CompressConfig</a> FALSE</pre>
 </li>
 </ul>
+<a name="COST">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>COST</h4>
+<pre>public static final&nbsp;<a href="../../../../org/apache/sysds/lops/Compression.CompressConfig.html" title="enum in org.apache.sysds.lops">Compression.CompressConfig</a> COST</pre>
+</li>
+</ul>
 <a name="AUTO">
 <!--   -->
 </a>
@@ -366,6 +378,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/Compression.html b/docs/api/java/org/apache/sysds/lops/Compression.html
index 3c563d8..322a270 100644
--- a/docs/api/java/org/apache/sysds/lops/Compression.html
+++ b/docs/api/java/org/apache/sysds/lops/Compression.html
@@ -394,6 +394,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/Ctable.OperationTypes.html b/docs/api/java/org/apache/sysds/lops/Ctable.OperationTypes.html
index 002bbd3..15547a0 100644
--- a/docs/api/java/org/apache/sysds/lops/Ctable.OperationTypes.html
+++ b/docs/api/java/org/apache/sysds/lops/Ctable.OperationTypes.html
@@ -415,6 +415,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/Ctable.html b/docs/api/java/org/apache/sysds/lops/Ctable.html
index 46e9304..a4d4a1b 100644
--- a/docs/api/java/org/apache/sysds/lops/Ctable.html
+++ b/docs/api/java/org/apache/sysds/lops/Ctable.html
@@ -179,11 +179,12 @@
 <th class="colOne" scope="col">Constructor and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/lops/Ctable.html#Ctable-org.apache.sysds.lops.Lop:A-org.apache.sysds.lops.Ctable.OperationTypes-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-boolean-org.apache.sysds.lops.LopProperties.ExecType-">Ctable</a></span>(<a href="../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>[]&nbsp;inputLops,
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/lops/Ctable.html#Ctable-org.apache.sysds.lops.Lop:A-org.apache.sysds.lops.Ctable.OperationTypes-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-boolean-boolean-org.apache.sysds.lops.LopProperties.ExecType-">Ctable</a></span>(<a href="../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>[]&nbsp;inputLops,
       <a href="../../../../org/apache/sysds/lops/Ctable.OperationTypes.html" title="enum in org.apache.sysds.lops">Ctable.OperationTypes</a>&nbsp;op,
       <a href="../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
       <a href="../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
       boolean&nbsp;ignoreZeros,
+      boolean&nbsp;outputEmptyBlocks,
       <a href="../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
@@ -281,7 +282,7 @@
               <a href="../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</pre>
 </li>
 </ul>
-<a name="Ctable-org.apache.sysds.lops.Lop:A-org.apache.sysds.lops.Ctable.OperationTypes-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-boolean-org.apache.sysds.lops.LopProperties.ExecType-">
+<a name="Ctable-org.apache.sysds.lops.Lop:A-org.apache.sysds.lops.Ctable.OperationTypes-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-boolean-boolean-org.apache.sysds.lops.LopProperties.ExecType-">
 <!--   -->
 </a>
 <ul class="blockListLast">
@@ -292,6 +293,7 @@
               <a href="../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
               <a href="../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
               boolean&nbsp;ignoreZeros,
+              boolean&nbsp;outputEmptyBlocks,
               <a href="../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</pre>
 </li>
 </ul>
@@ -446,6 +448,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/CumulativeOffsetBinary.html b/docs/api/java/org/apache/sysds/lops/CumulativeOffsetBinary.html
index 8efdd29..96dadac 100644
--- a/docs/api/java/org/apache/sysds/lops/CumulativeOffsetBinary.html
+++ b/docs/api/java/org/apache/sysds/lops/CumulativeOffsetBinary.html
@@ -384,6 +384,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/CumulativePartialAggregate.html b/docs/api/java/org/apache/sysds/lops/CumulativePartialAggregate.html
index 2d13d57..aa0ae1c 100644
--- a/docs/api/java/org/apache/sysds/lops/CumulativePartialAggregate.html
+++ b/docs/api/java/org/apache/sysds/lops/CumulativePartialAggregate.html
@@ -353,6 +353,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/Data.html b/docs/api/java/org/apache/sysds/lops/Data.html
index 675dad0..5e2759f 100644
--- a/docs/api/java/org/apache/sysds/lops/Data.html
+++ b/docs/api/java/org/apache/sysds/lops/Data.html
@@ -704,6 +704,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/DataGen.html b/docs/api/java/org/apache/sysds/lops/DataGen.html
index 8a7cb1d..248351f 100644
--- a/docs/api/java/org/apache/sysds/lops/DataGen.html
+++ b/docs/api/java/org/apache/sysds/lops/DataGen.html
@@ -50,7 +50,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../org/apache/sysds/lops/Data.html" title="class in org.apache.sysds.lops"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../org/apache/sysds/lops/DnnTransform.html" title="class in org.apache.sysds.lops"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/sysds/lops/DeCompression.html" title="class in org.apache.sysds.lops"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../index.html?org/apache/sysds/lops/DataGen.html" target="_top">Frames</a></li>
@@ -152,21 +152,25 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/lops/DataGen.html#RAND_OPCODE">RAND_OPCODE</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/lops/DataGen.html#FRAME_OPCODE">FRAME_OPCODE</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/lops/DataGen.html#RAND_OPCODE">RAND_OPCODE</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/lops/DataGen.html#SAMPLE_OPCODE">SAMPLE_OPCODE</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/lops/DataGen.html#SEQ_OPCODE">SEQ_OPCODE</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/lops/DataGen.html#SINIT_OPCODE">SINIT_OPCODE</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/lops/DataGen.html#TIME_OPCODE">TIME_OPCODE</a></span></code>&nbsp;</td>
 </tr>
@@ -327,7 +331,7 @@
 <a name="TIME_OPCODE">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>TIME_OPCODE</h4>
 <pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> TIME_OPCODE</pre>
@@ -337,6 +341,19 @@
 </dl>
 </li>
 </ul>
+<a name="FRAME_OPCODE">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>FRAME_OPCODE</h4>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> FRAME_OPCODE</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../constant-values.html#org.apache.sysds.lops.DataGen.FRAME_OPCODE">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 <!-- ========= CONSTRUCTOR DETAIL ======== -->
@@ -472,7 +489,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../org/apache/sysds/lops/Data.html" title="class in org.apache.sysds.lops"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../org/apache/sysds/lops/DnnTransform.html" title="class in org.apache.sysds.lops"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/sysds/lops/DeCompression.html" title="class in org.apache.sysds.lops"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../index.html?org/apache/sysds/lops/DataGen.html" target="_top">Frames</a></li>
@@ -512,6 +529,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/DeCompression.CompressConfig.html b/docs/api/java/org/apache/sysds/lops/DeCompression.CompressConfig.html
new file mode 100644
index 0000000..66fa2b0
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/lops/DeCompression.CompressConfig.html
@@ -0,0 +1,371 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>DeCompression.CompressConfig (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="DeCompression.CompressConfig (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":9,"i2":9};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/DeCompression.CompressConfig.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/sysds/lops/DeCompression.html" title="class in org.apache.sysds.lops"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/sysds/lops/DnnTransform.html" title="class in org.apache.sysds.lops"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/sysds/lops/DeCompression.CompressConfig.html" target="_top">Frames</a></li>
+<li><a href="DeCompression.CompressConfig.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#enum.constant.summary">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#enum.constant.detail">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.sysds.lops</div>
+<h2 title="Enum DeCompression.CompressConfig" class="title">Enum DeCompression.CompressConfig</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">java.lang.Enum</a>&lt;<a href="../../../../org/apache/sysds/lops/DeCompression.CompressConfig.html" title="enum in org.apache.sysds.lops">DeCompression.CompressConfig</a>&gt;</li>
+<li>
+<ul class="inheritance">
+<li>org.apache.sysds.lops.DeCompression.CompressConfig</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;<a href="../../../../org/apache/sysds/lops/DeCompression.CompressConfig.html" title="enum in org.apache.sysds.lops">DeCompression.CompressConfig</a>&gt;</dd>
+</dl>
+<dl>
+<dt>Enclosing class:</dt>
+<dd><a href="../../../../org/apache/sysds/lops/DeCompression.html" title="class in org.apache.sysds.lops">DeCompression</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public static enum <span class="typeNameLabel">DeCompression.CompressConfig</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a>&lt;<a href="../../../../org/apache/sysds/lops/DeCompression.CompressConfig.html" title="enum in org.apache.sysds.lops">DeCompression.CompressConfig</a>&gt;</pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== ENUM CONSTANT SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="enum.constant.summary">
+<!--   -->
+</a>
+<h3>Enum Constant Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Enum Constant Summary table, listing enum constants, and an explanation">
+<caption><span>Enum Constants</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Enum Constant and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/lops/DeCompression.CompressConfig.html#AUTO">AUTO</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/lops/DeCompression.CompressConfig.html#FALSE">FALSE</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/lops/DeCompression.CompressConfig.html#TRUE">TRUE</a></span></code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/lops/DeCompression.CompressConfig.html#isEnabled--">isEnabled</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../org/apache/sysds/lops/DeCompression.CompressConfig.html" title="enum in org.apache.sysds.lops">DeCompression.CompressConfig</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/lops/DeCompression.CompressConfig.html#valueOf-java.lang.String-">valueOf</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
+<div class="block">Returns the enum constant of this type with the specified name.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../org/apache/sysds/lops/DeCompression.CompressConfig.html" title="enum in org.apache.sysds.lops">DeCompression.CompressConfig</a>[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/lops/DeCompression.CompressConfig.html#values--">values</a></span>()</code>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Enum">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#compareTo-E-" title="class or interface in java.lang">compareTo</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#getDeclaringClass--" title="class or interface in java.lang">getDeclaringClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#name--" title="class or interface in java.lang">name</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#ordinal--" title="class or interface in java.lang">ordinal</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#valueOf-java.lang.Class-java.lang.String-" title="class or interface in java.lang">valueOf</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ ENUM CONSTANT DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="enum.constant.detail">
+<!--   -->
+</a>
+<h3>Enum Constant Detail</h3>
+<a name="TRUE">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>TRUE</h4>
+<pre>public static final&nbsp;<a href="../../../../org/apache/sysds/lops/DeCompression.CompressConfig.html" title="enum in org.apache.sysds.lops">DeCompression.CompressConfig</a> TRUE</pre>
+</li>
+</ul>
+<a name="FALSE">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>FALSE</h4>
+<pre>public static final&nbsp;<a href="../../../../org/apache/sysds/lops/DeCompression.CompressConfig.html" title="enum in org.apache.sysds.lops">DeCompression.CompressConfig</a> FALSE</pre>
+</li>
+</ul>
+<a name="AUTO">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>AUTO</h4>
+<pre>public static final&nbsp;<a href="../../../../org/apache/sysds/lops/DeCompression.CompressConfig.html" title="enum in org.apache.sysds.lops">DeCompression.CompressConfig</a> AUTO</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="values--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>values</h4>
+<pre>public static&nbsp;<a href="../../../../org/apache/sysds/lops/DeCompression.CompressConfig.html" title="enum in org.apache.sysds.lops">DeCompression.CompressConfig</a>[]&nbsp;values()</pre>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.  This method may be used to iterate
+over the constants as follows:
+<pre>
+for (DeCompression.CompressConfig c : DeCompression.CompressConfig.values())
+&nbsp;   System.out.println(c);
+</pre></div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>an array containing the constants of this enum type, in the order they are declared</dd>
+</dl>
+</li>
+</ul>
+<a name="valueOf-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>valueOf</h4>
+<pre>public static&nbsp;<a href="../../../../org/apache/sysds/lops/DeCompression.CompressConfig.html" title="enum in org.apache.sysds.lops">DeCompression.CompressConfig</a>&nbsp;valueOf(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
+<div class="block">Returns the enum constant of this type with the specified name.
+The string must match <i>exactly</i> an identifier used to declare an
+enum constant in this type.  (Extraneous whitespace characters are 
+not permitted.)</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>name</code> - the name of the enum constant to be returned.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the enum constant with the specified name</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if this enum type has no constant with the specified name</dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/NullPointerException.html?is-external=true" title="class or interface in java.lang">NullPointerException</a></code> - if the argument is null</dd>
+</dl>
+</li>
+</ul>
+<a name="isEnabled--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>isEnabled</h4>
+<pre>public&nbsp;boolean&nbsp;isEnabled()</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/DeCompression.CompressConfig.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/sysds/lops/DeCompression.html" title="class in org.apache.sysds.lops"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/sysds/lops/DnnTransform.html" title="class in org.apache.sysds.lops"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/sysds/lops/DeCompression.CompressConfig.html" target="_top">Frames</a></li>
+<li><a href="DeCompression.CompressConfig.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#enum.constant.summary">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#enum.constant.detail">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/lops/DeCompression.html b/docs/api/java/org/apache/sysds/lops/DeCompression.html
new file mode 100644
index 0000000..1b307b0
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/lops/DeCompression.html
@@ -0,0 +1,399 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>DeCompression (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="DeCompression (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/DeCompression.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/sysds/lops/DataGen.html" title="class in org.apache.sysds.lops"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/sysds/lops/DeCompression.CompressConfig.html" title="enum in org.apache.sysds.lops"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/sysds/lops/DeCompression.html" target="_top">Frames</a></li>
+<li><a href="DeCompression.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.sysds.lops</div>
+<h2 title="Class DeCompression" class="title">Class DeCompression</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">org.apache.sysds.lops.Lop</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.sysds.lops.DeCompression</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">DeCompression</span>
+extends <a href="../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!--   -->
+</a>
+<h3>Nested Class Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
+<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/lops/DeCompression.CompressConfig.html" title="enum in org.apache.sysds.lops">DeCompression.CompressConfig</a></span></code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.sysds.lops.Lop">
+<!--   -->
+</a>
+<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.sysds.lops.<a href="../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a></h3>
+<code><a href="../../../../org/apache/sysds/lops/Lop.SimpleInstType.html" title="enum in org.apache.sysds.lops">Lop.SimpleInstType</a>, <a href="../../../../org/apache/sysds/lops/Lop.Type.html" title="enum in org.apache.sysds.lops">Lop.Type</a>, <a href="../../../../org/apache/sysds/lops/Lop.VisitStatus.html" title="enum in org.apache.sysds.lops">Lop.VisitStatus</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!--   -->
+</a>
+<h3>Field Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
+<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/lops/DeCompression.html#OPCODE">OPCODE</a></span></code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.org.apache.sysds.lops.Lop">
+<!--   -->
+</a>
+<h3>Fields inherited from class&nbsp;org.apache.sysds.lops.<a href="../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a></h3>
+<code><a href="../../../../org/apache/sysds/lops/Lop.html#Z:Z_beginColumn">_beginColumn</a>, <a href="../../../../org/apache/sysds/lops/Lop.html#Z:Z_beginLine">_beginLine</a>, <a href="../../../../org/apache/sysds/lops/Lop.html#Z:Z_endColumn">_endColumn</a>, <a href="../../../../org/apache/sysds/lops/Lop.html#Z:Z_endLine">_endLine</a>, <a href="../../../../org/apache/sysds/lops/Lop.html#Z:Z_filename">_filename</a>, <a href="../../../../org/apache/sysds/lops/Lop.html#CP_CHILD_THREAD">CP_CHILD_THREAD</a>, <a href="../../../../org/apache/sysds/lops/Lop.html#CP_ROOT_THREAD_ID">CP_ROOT_THREAD_ID</a>, <a href="../../../../org/apache/sysds/lops/Lop.html#DATATYPE_PREFIX">DATATYPE_PREFIX</a>, <a href="../../../../org/apache/sysds/lops/Lop.html#FILE_SEPARATOR">FILE_SEPARATOR</a>, <a href="../../../../org/apache/sysds/lops/Lop.html#FRAME_VAR_NAME_PREFIX">FRAME_VAR_NAME_PREFIX</a>, <a href="../../../../org/apache/sysds/lops/Lop.html#INSTRUCTION_DELIMITOR">INSTRUCTION_DELIMITOR</a>, <a href="../../../../org/apache/sysds/lops/Lop.html#LITERAL_PREFIX">LITERAL_PREFIX</a>, <a href="../../../../org/apache/sysds/lops/Lop.html#MATRIX_VAR_NAME_PREFIX">MATRIX_VAR_NAME_PREFIX</a>, <a href="../../../../org/apache/sysds/lops/Lop.html#NAME_VALUE_SEPARATOR">NAME_VALUE_SEPARATOR</a>, <a href="../../../../org/apache/sysds/lops/Lop.html#OPERAND_DELIMITOR">OPERAND_DELIMITOR</a>, <a href="../../../../org/apache/sysds/lops/Lop.html#PROCESS_PREFIX">PROCESS_PREFIX</a>, <a href="../../../../org/apache/sysds/lops/Lop.html#SAMPLE_FRACTION">SAMPLE_FRACTION</a>, <a href="../../../../org/apache/sysds/lops/Lop.html#SCALAR_VAR_NAME_PREFIX">SCALAR_VAR_NAME_PREFIX</a>, <a href="../../../../org/apache/sysds/lops/Lop.html#UPDATE_INPLACE_PREFIX">UPDATE_INPLACE_PREFIX</a>, <a href="../../../../org/apache/sysds/lops/Lop.html#VALUETYPE_PREFIX">VALUETYPE_PREFIX</a>, <a href="../../../../org/apache/sysds/lops/Lop.html#VARIABLE_NAME_PLACEHOLDER">VARIABLE_NAME_PLACEHOLDER</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/lops/DeCompression.html#DeCompression-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-">DeCompression</a></span>(<a href="../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input,
+             <a href="../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
+             <a href="../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
+             <a href="../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/lops/DeCompression.html#getInstructions-java.lang.String-java.lang.String-">getInstructions</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;input1,
+               <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;output)</code>
+<div class="block">Method should be overridden if needed</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/lops/DeCompression.html#toString--">toString</a></span>()</code>
+<div class="block">Method to have Lops print their state.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.lops.Lop">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.lops.<a href="../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a></h3>
+<code><a href="../../../../org/apache/sysds/lops/Lop.html#addInput-org.apache.sysds.lops.Lop-">addInput</a>, <a href="../../../../org/apache/sysds/lops/Lop.html#addOutput-org.apache.sysds.lops.Lop-">addOutput</a>, <a href="../../../../org/apache/sysds/lops/Lop.html#addToDag-org.apache.sysds.lops.compile.Dag-">addToDag</a>, <a href="../../../../org/apache/sysds/lops/Lop.html#createReachable-int-">createReachable</a>, <a href="../../../../org/apache/sysds/lops/Lop.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../org/apache/sysds/lops/Lop.html#getBeginLine--">getBeginLine</a>, <a href="../../../../org/apache/sysds/lops/Lop.html#getDataType--">getDataType</a>, <a href="../../../../org/apache/sysds/lops/Lop.html#getEndColumn--">getEndColumn</a>, <a href="../../../../org/apache/sysds/lops/Lop.html#getEndLine--">getEndLine</a>, <a href="../../../../org/apache/sysds/lops/Lop.html#getExecType--">getExecType</a>, <a href="../../../../org/apache/sysds/lops/Lop.html#getFilename--">getFilename</a>, <a href="../../../../org/apache/sysds/lops/Lop.html#getID--">getID</a>, <a href="../../../../org/apache/sysds/lops/Lop.html#getInputs--">getInputs</a>, <a href="../../../../org/apache/sysds/lops/Lop.html#getInstructions--">getInstructions</a>, <a href="../../../../org/apache/sysds/lops/Lop.html#getInstructions-int-int-int-int-int-int-int-int-">getInstructions</a>, <a href="../../../../org/apache/sysds/lops/Lop.html#getInstructions-java.lang.String-">getInstructions</a>, <a href="../../../../org/apache/sysds/lops/Lop.html#getInstructions-java.lang.String:A-java.lang.String-">getInstructions</a>, <a href="../../../../org/apache/sysds/lops/Lop.html#getInstructions-java.lang.String:A-java.lang.String:A-">getInstructions</a>, <a href="../../../../org/apache/sysds/lops/Lop.html#getInstructions-java.lang.String-java.lang.String-java.lang.String-">getInstructions</a>, <a href="../../../../org/apache/sysds/lops/Lop.html#getInstructions-java.lang.String-java.lang.String-java.lang.String-java.lang.String-">getInstructions</a>, <a href="../../../../org/apache/sysds/lops/Lop.html#getInstructions-java.lang.String-java.lang.String-java.lang.String-java.lang.String-java.lang.String-">getInstructions</a>, <a href="../../../../org/apache/sysds/lops/Lop.html#getInstructions-java.lang.String-java.lang.String-java.lang.String-java.lang.String-java.lang.String-java.lang.String-">getInstructions</a>, <a href="../../../../org/apache/sysds/lops/Lop.html#getInstructions-java.lang.String-java.lang.String-java.lang.String-java.lang.String-java.lang.String-java.lang.String-java.lang.String-">getInstructions</a>, <a href="../../../../org/apache/sysds/lops/Lop.html#getInstructions-java.lang.String-java.lang.String-java.lang.String-java.lang.String-java.lang.String-java.lang.String-java.lang.String-java.lang.String-">getInstructions</a>, <a href="../../../../org/apache/sysds/lops/Lop.html#getLevel--">getLevel</a>, <a href="../../../../org/apache/sysds/lops/Lop.html#getOutputParameters--">getOutputParameters</a>, <a href="../../../../org/apache/sysds/lops/Lop.html#getOutputs--">getOutputs</a>, <a href="../../../../org/apache/sysds/lops/Lop.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../org/apache/sysds/lops/Lop.html#getProducesIntermediateOutput--">getProducesIntermediateOutput</a>, <a href="../../../../org/apache/sysds/lops/Lop.html#getReachable--">getReachable</a>, <a href="../../../../org/apache/sysds/lops/Lop.html#getSimpleInstructionType--">getSimpleInstructionType</a>, <a href="../../../../org/apache/sysds/lops/Lop.html#getType--">getType</a>, <a href="../../../../org/apache/sysds/lops/Lop.html#getValueType--">getValueType</a>, <a href="../../../../org/apache/sysds/lops/Lop.html#getVisited--">getVisited</a>, <a href="../../../../org/apache/sysds/lops/Lop.html#isDataExecLocation--">isDataExecLocation</a>, <a href="../../../../org/apache/sysds/lops/Lop.html#isVariable--">isVariable</a>, <a href="../../../../org/apache/sysds/lops/Lop.html#prepInputOperand-int-">prepInputOperand</a>, <a href="../../../../org/apache/sysds/lops/Lop.html#prepInputOperand-java.lang.String-">prepInputOperand</a>, <a href="../../../../org/apache/sysds/lops/Lop.html#prepOperand-java.lang.String-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-">prepOperand</a>, <a href="../../../../org/apache/sysds/lops/Lop.html#prepOperand-java.lang.String-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-boolean-">prepOperand</a>, <a href="../../../../org/apache/sysds/lops/Lop.html#prepOutputOperand--">prepOutputOperand</a>, <a href="../../../../org/apache/sysds/lops/Lop.html#prepOutputOperand-int-">prepOutputOperand</a>, <a href="../../../../org/apache/sysds/lops/Lop.html#prepOutputOperand-java.lang.String-">prepOutputOperand</a>, <a href="../../../../org/apache/sysds/lops/Lop.html#prepScalarInputOperand-org.apache.sysds.lops.LopProperties.ExecType-">prepScalarInputOperand</a>, <a href="../../../../org/apache/sysds/lops/Lop.html#prepScalarInputOperand-java.lang.String-">prepScalarInputOperand</a>, <a href="../../../../org/apache/sysds/lops/Lop.html#prepScalarLabel--">prepScalarLabel</a>, <a href="../../../../org/apache/sysds/lops/Lop.html#prepScalarOperand-org.apache.sysds.lops.LopProperties.ExecType-java.lang.String-">prepScalarOperand</a>, <a href="../../../../org/apache/sysds/lops/Lop.html#printErrorLocation--">printErrorLocation</a>, <a href="../../../../org/apache/sysds/lops/Lop.html#removeConsumer--">removeConsumer</a>, <a href="../../../../org/apache/sysds/lops/Lop.html#resetVisitStatus--">resetVisitStatus</a>, <a href="../../../../org/apache/sysds/lops/Lop.html#setAllPositions-java.lang.String-int-int-int-int-">setAllPositions</a>, <a href="../../../../org/apache/sysds/lops/Lop.html#setBeginColumn-int-">setBeginColumn</a>, <a href="../../../../org/apache/sysds/lops/Lop.html#setBeginLine-int-">setBeginLine</a>, <a href="../../../../org/apache/sysds/lops/Lop.html#setConsumerCount-int-">setConsumerCount</a>, <a href="../../../../org/apache/sysds/lops/Lop.html#setDataType-org.apache.sysds.common.Types.DataType-">setDataType</a>, <a href="../../../../org/apache/sysds/lops/Lop.html#setEndColumn-int-">setEndColumn</a>, <a href="../../../../org/apache/sysds/lops/Lop.html#setEndLine-int-">setEndLine</a>, <a href="../../../../org/apache/sysds/lops/Lop.html#setFilename-java.lang.String-">setFilename</a>, <a href="../../../../org/apache/sysds/lops/Lop.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../org/apache/sysds/lops/Lop.html#setValueType-org.apache.sysds.common.Types.ValueType-">setValueType</a>, <a href="../../../../org/apache/sysds/lops/Lop.html#setVisited-org.apache.sysds.lops.Lop.VisitStatus-">setVisited</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ FIELD DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.detail">
+<!--   -->
+</a>
+<h3>Field Detail</h3>
+<a name="OPCODE">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>OPCODE</h4>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> OPCODE</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../constant-values.html#org.apache.sysds.lops.DeCompression.OPCODE">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="DeCompression-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>DeCompression</h4>
+<pre>public&nbsp;DeCompression(<a href="../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input,
+                     <a href="../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
+                     <a href="../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
+                     <a href="../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="toString--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>toString</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/sysds/lops/Lop.html#toString--">Lop</a></code></span></div>
+<div class="block">Method to have Lops print their state. This is for debugging purposes.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../org/apache/sysds/lops/Lop.html#toString--">toString</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getInstructions-java.lang.String-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getInstructions</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getInstructions(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;input1,
+                              <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;output)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/sysds/lops/Lop.html#getInstructions-java.lang.String-java.lang.String-">Lop</a></code></span></div>
+<div class="block">Method should be overridden if needed</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../org/apache/sysds/lops/Lop.html#getInstructions-java.lang.String-java.lang.String-">getInstructions</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>input1</code> - input 1</dd>
+<dd><code>output</code> - output</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>instructions as string</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/DeCompression.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/sysds/lops/DataGen.html" title="class in org.apache.sysds.lops"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/sysds/lops/DeCompression.CompressConfig.html" title="enum in org.apache.sysds.lops"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/sysds/lops/DeCompression.html" target="_top">Frames</a></li>
+<li><a href="DeCompression.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/lops/DnnTransform.html b/docs/api/java/org/apache/sysds/lops/DnnTransform.html
index 717fb01..00e0b33 100644
--- a/docs/api/java/org/apache/sysds/lops/DnnTransform.html
+++ b/docs/api/java/org/apache/sysds/lops/DnnTransform.html
@@ -49,7 +49,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../org/apache/sysds/lops/DataGen.html" title="class in org.apache.sysds.lops"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/sysds/lops/DeCompression.CompressConfig.html" title="enum in org.apache.sysds.lops"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../org/apache/sysds/lops/Federated.html" title="class in org.apache.sysds.lops"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -580,7 +580,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../org/apache/sysds/lops/DataGen.html" title="class in org.apache.sysds.lops"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/sysds/lops/DeCompression.CompressConfig.html" title="enum in org.apache.sysds.lops"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../org/apache/sysds/lops/Federated.html" title="class in org.apache.sysds.lops"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -621,6 +621,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/Federated.html b/docs/api/java/org/apache/sysds/lops/Federated.html
index 9fda483..2301297 100644
--- a/docs/api/java/org/apache/sysds/lops/Federated.html
+++ b/docs/api/java/org/apache/sysds/lops/Federated.html
@@ -355,6 +355,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/FunctionCallCP.html b/docs/api/java/org/apache/sysds/lops/FunctionCallCP.html
index baede9b..d783489 100644
--- a/docs/api/java/org/apache/sysds/lops/FunctionCallCP.html
+++ b/docs/api/java/org/apache/sysds/lops/FunctionCallCP.html
@@ -407,6 +407,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/GroupedAggregate.html b/docs/api/java/org/apache/sysds/lops/GroupedAggregate.html
index 905c8d7..cd0104a 100644
--- a/docs/api/java/org/apache/sysds/lops/GroupedAggregate.html
+++ b/docs/api/java/org/apache/sysds/lops/GroupedAggregate.html
@@ -420,6 +420,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/GroupedAggregateM.CacheType.html b/docs/api/java/org/apache/sysds/lops/GroupedAggregateM.CacheType.html
index 0019868..417e45b 100644
--- a/docs/api/java/org/apache/sysds/lops/GroupedAggregateM.CacheType.html
+++ b/docs/api/java/org/apache/sysds/lops/GroupedAggregateM.CacheType.html
@@ -341,6 +341,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/GroupedAggregateM.html b/docs/api/java/org/apache/sysds/lops/GroupedAggregateM.html
index a319a73..ad6a28e 100644
--- a/docs/api/java/org/apache/sysds/lops/GroupedAggregateM.html
+++ b/docs/api/java/org/apache/sysds/lops/GroupedAggregateM.html
@@ -401,6 +401,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/LeftIndex.LixCacheType.html b/docs/api/java/org/apache/sysds/lops/LeftIndex.LixCacheType.html
index f9b116f..3d5999e 100644
--- a/docs/api/java/org/apache/sysds/lops/LeftIndex.LixCacheType.html
+++ b/docs/api/java/org/apache/sysds/lops/LeftIndex.LixCacheType.html
@@ -353,6 +353,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/LeftIndex.html b/docs/api/java/org/apache/sysds/lops/LeftIndex.html
index 76d423f..75d5aef 100644
--- a/docs/api/java/org/apache/sysds/lops/LeftIndex.html
+++ b/docs/api/java/org/apache/sysds/lops/LeftIndex.html
@@ -449,6 +449,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/Lop.SimpleInstType.html b/docs/api/java/org/apache/sysds/lops/Lop.SimpleInstType.html
index dadbf0d..203fe37 100644
--- a/docs/api/java/org/apache/sysds/lops/Lop.SimpleInstType.html
+++ b/docs/api/java/org/apache/sysds/lops/Lop.SimpleInstType.html
@@ -330,6 +330,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/Lop.Type.html b/docs/api/java/org/apache/sysds/lops/Lop.Type.html
index fc94f46..047ce67 100644
--- a/docs/api/java/org/apache/sysds/lops/Lop.Type.html
+++ b/docs/api/java/org/apache/sysds/lops/Lop.Type.html
@@ -1001,6 +1001,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/Lop.VisitStatus.html b/docs/api/java/org/apache/sysds/lops/Lop.VisitStatus.html
index c43151f..af1ecf3 100644
--- a/docs/api/java/org/apache/sysds/lops/Lop.VisitStatus.html
+++ b/docs/api/java/org/apache/sysds/lops/Lop.VisitStatus.html
@@ -341,6 +341,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/Lop.html b/docs/api/java/org/apache/sysds/lops/Lop.html
index c8d506f..d288c6f 100644
--- a/docs/api/java/org/apache/sysds/lops/Lop.html
+++ b/docs/api/java/org/apache/sysds/lops/Lop.html
@@ -109,7 +109,7 @@
 <li class="blockList">
 <dl>
 <dt>Direct Known Subclasses:</dt>
-<dd><a href="../../../../org/apache/sysds/lops/Append.html" title="class in org.apache.sysds.lops">Append</a>, <a href="../../../../org/apache/sysds/lops/AppendG.html" title="class in org.apache.sysds.lops">AppendG</a>, <a href="../../../../org/apache/sysds/lops/AppendGAlignedSP.html" title="class in org.apache.sysds.lops">AppendGAlignedSP</a>, <a href="../../../../org/apache/sysds/lops/AppendM.html" title="class in org.apache.sysds.lops">AppendM</a>, <a href="../../../../org/apache/sysds/lops/AppendR.html" title="class in org.apache.sysds.lops">AppendR</a>, <a href="../../../../org/apache/sysds/lops/Binary.html" title="class in org.apache.sysds.lops">Binary</a>, <a href="../../../../org/apache/sysds/lops/BinaryM.html" title="class in org.apache.sysds.lops">BinaryM</a>, <a href="../../../../org/apache/sysds/lops/BinaryScalar.html" title="class in org.apache.sysds.lops">BinaryScalar</a>, <a href="../../../../org/apache/sysds/lops/BinaryUAggChain.html" title="class in org.apache.sysds.lops">BinaryUAggChain</a>, <a href="../../../../org/apache/sysds/lops/CentralMoment.html" title="class in org.apache.sysds.lops">CentralMoment</a>, <a href="../../../../org/apache/sysds/lops/Checkpoint.html" title="class in org.apache.sysds.lops">Checkpoint</a>, <a href="../../../../org/apache/sysds/lops/Compression.html" title="class in org.apache.sysds.lops">Compression</a>, <a href="../../../../org/apache/sysds/lops/CoVariance.html" title="class in org.apache.sysds.lops">CoVariance</a>, <a href="../../../../org/apache/sysds/lops/CSVReBlock.html" title="class in org.apache.sysds.lops">CSVReBlock</a>, <a href="../../../../org/apache/sysds/lops/Ctable.html" title="class in org.apache.sysds.lops">Ctable</a>, <a href="../../../../org/apache/sysds/lops/CumulativeOffsetBinary.html" title="class in org.apache.sysds.lops">CumulativeOffsetBinary</a>, <a href="../../../../org/apache/sysds/lops/CumulativePartialAggregate.html" title="class in org.apache.sysds.lops">CumulativePartialAggregate</a>, <a href="../../../../org/apache/sysds/lops/Data.html" title="class in org.apache.sysds.lops">Data</a>, <a href="../../../../org/apache/sysds/lops/DataGen.html" title="class in org.apache.sysds.lops">DataGen</a>, <a href="../../../../org/apache/sysds/lops/DnnTransform.html" title="class in org.apache.sysds.lops">DnnTransform</a>, <a href="../../../../org/apache/sysds/lops/Federated.html" title="class in org.apache.sysds.lops">Federated</a>, <a href="../../../../org/apache/sysds/lops/FunctionCallCP.html" title="class in org.apache.sysds.lops">FunctionCallCP</a>, <a href="../../../../org/apache/sysds/lops/GroupedAggregate.html" title="class in org.apache.sysds.lops">GroupedAggregate</a>, <a href="../../../../org/apache/sysds/lops/GroupedAggregateM.html" title="class in org.apache.sysds.lops">GroupedAggregateM</a>, <a href="../../../../org/apache/sysds/lops/LeftIndex.html" title="class in org.apache.sysds.lops">LeftIndex</a>, <a href="../../../../org/apache/sysds/lops/MapMult.html" title="class in org.apache.sysds.lops">MapMult</a>, <a href="../../../../org/apache/sysds/lops/MapMultChain.html" title="class in org.apache.sysds.lops">MapMultChain</a>, <a href="../../../../org/apache/sysds/lops/MatMultCP.html" title="class in org.apache.sysds.lops">MatMultCP</a>, <a href="../../../../org/apache/sysds/lops/MMCJ.html" title="class in org.apache.sysds.lops">MMCJ</a>, <a href="../../../../org/apache/sysds/lops/MMRJ.html" title="class in org.apache.sysds.lops">MMRJ</a>, <a href="../../../../org/apache/sysds/lops/MMTSJ.html" title="class in org.apache.sysds.lops">MMTSJ</a>, <a href="../../../../org/apache/sysds/lops/MMZip.html" title="class in org.apache.sysds.lops">MMZip</a>, <a href="../../../../org/apache/sysds/lops/Nary.html" title="class in org.apache.sysds.lops">Nary</a>, <a href="../../../../org/apache/sysds/lops/ParameterizedBuiltin.html" title="class in org.apache.sysds.lops">ParameterizedBuiltin</a>, <a href="../../../../org/apache/sysds/lops/PartialAggregate.html" title="class in org.apache.sysds.lops">PartialAggregate</a>, <a href="../../../../org/apache/sysds/lops/PickByCount.html" title="class in org.apache.sysds.lops">PickByCount</a>, <a href="../../../../org/apache/sysds/lops/PMapMult.html" title="class in org.apache.sysds.lops">PMapMult</a>, <a href="../../../../org/apache/sysds/lops/PMMJ.html" title="class in org.apache.sysds.lops">PMMJ</a>, <a href="../../../../org/apache/sysds/lops/ReBlock.html" title="class in org.apache.sysds.lops">ReBlock</a>, <a href="../../../../org/apache/sysds/lops/RightIndex.html" title="class in org.apache.sysds.lops">RightIndex</a>, <a href="../../../../org/apache/sysds/lops/SortKeys.html" title="class in org.apache.sysds.lops">SortKeys</a>, <a href="../../../../org/apache/sysds/lops/SpoofFused.html" title="class in org.apache.sysds.lops">SpoofFused</a>, <a href="../../../../org/apache/sysds/lops/Sql.html" title="class in org.apache.sysds.lops">Sql</a>, <a href="../../../../org/apache/sysds/lops/Ternary.html" title="class in org.apache.sysds.lops">Ternary</a>, <a href="../../../../org/apache/sysds/lops/TernaryAggregate.html" title="class in org.apache.sysds.lops">TernaryAggregate</a>, <a href="../../../../org/apache/sysds/lops/Transform.html" title="class in org.apache.sysds.lops">Transform</a>, <a href="../../../../org/apache/sysds/lops/UAggOuterChain.html" title="class in org.apache.sysds.lops">UAggOuterChain</a>, <a href="../../../../org/apache/sysds/lops/Unary.html" title="class in org.apache.sysds.lops">Unary</a>, <a href="../../../../org/apache/sysds/lops/UnaryCP.html" title="class in org.apache.sysds.lops">UnaryCP</a>, <a href="../../../../org/apache/sysds/lops/WeightedCrossEntropy.html" title="class in org.apache.sysds.lops">WeightedCrossEntropy</a>, <a href="../../../../org/apache/sysds/lops/WeightedCrossEntropyR.html" title="class in org.apache.sysds.lops">WeightedCrossEntropyR</a>, <a href="../../../../org/apache/sysds/lops/WeightedDivMM.html" title="class in org.apache.sysds.lops">WeightedDivMM</a>, <a href="../../../../org/apache/sysds/lops/WeightedDivMMR.html" title="class in org.apache.sysds.lops">WeightedDivMMR</a>, <a href="../../../../org/apache/sysds/lops/WeightedSigmoid.html" title="class in org.apache.sysds.lops">WeightedSigmoid</a>, <a href="../../../../org/apache/sysds/lops/WeightedSigmoidR.html" title="class in org.apache.sysds.lops">WeightedSigmoidR</a>, <a href="../../../../org/apache/sysds/lops/WeightedSquaredLoss.html" title="class in org.apache.sysds.lops">WeightedSquaredLoss</a>, <a href="../../../../org/apache/sysds/lops/WeightedSquaredLossR.html" title="class in org.apache.sysds.lops">WeightedSquaredLossR</a>, <a href="../../../../org/apache/sysds/lops/WeightedUnaryMM.html" title="class in org.apache.sysds.lops">WeightedUnaryMM</a>, <a href="../../../../org/apache/sysds/lops/WeightedUnaryMMR.html" title="class in org.apache.sysds.lops">WeightedUnaryMMR</a></dd>
+<dd><a href="../../../../org/apache/sysds/lops/Append.html" title="class in org.apache.sysds.lops">Append</a>, <a href="../../../../org/apache/sysds/lops/AppendG.html" title="class in org.apache.sysds.lops">AppendG</a>, <a href="../../../../org/apache/sysds/lops/AppendGAlignedSP.html" title="class in org.apache.sysds.lops">AppendGAlignedSP</a>, <a href="../../../../org/apache/sysds/lops/AppendM.html" title="class in org.apache.sysds.lops">AppendM</a>, <a href="../../../../org/apache/sysds/lops/AppendR.html" title="class in org.apache.sysds.lops">AppendR</a>, <a href="../../../../org/apache/sysds/lops/Binary.html" title="class in org.apache.sysds.lops">Binary</a>, <a href="../../../../org/apache/sysds/lops/BinaryM.html" title="class in org.apache.sysds.lops">BinaryM</a>, <a href="../../../../org/apache/sysds/lops/BinaryScalar.html" title="class in org.apache.sysds.lops">BinaryScalar</a>, <a href="../../../../org/apache/sysds/lops/BinaryUAggChain.html" title="class in org.apache.sysds.lops">BinaryUAggChain</a>, <a href="../../../../org/apache/sysds/lops/CentralMoment.html" title="class in org.apache.sysds.lops">CentralMoment</a>, <a href="../../../../org/apache/sysds/lops/Checkpoint.html" title="class in org.apache.sysds.lops">Checkpoint</a>, <a href="../../../../org/apache/sysds/lops/Compression.html" title="class in org.apache.sysds.lops">Compression</a>, <a href="../../../../org/apache/sysds/lops/CoVariance.html" title="class in org.apache.sysds.lops">CoVariance</a>, <a href="../../../../org/apache/sysds/lops/CSVReBlock.html" title="class in org.apache.sysds.lops">CSVReBlock</a>, <a href="../../../../org/apache/sysds/lops/Ctable.html" title="class in org.apache.sysds.lops">Ctable</a>, <a href="../../../../org/apache/sysds/lops/CumulativeOffsetBinary.html" title="class in org.apache.sysds.lops">CumulativeOffsetBinary</a>, <a href="../../../../org/apache/sysds/lops/CumulativePartialAggregate.html" title="class in org.apache.sysds.lops">CumulativePartialAggregate</a>, <a href="../../../../org/apache/sysds/lops/Data.html" title="class in org.apache.sysds.lops">Data</a>, <a href="../../../../org/apache/sysds/lops/DataGen.html" title="class in org.apache.sysds.lops">DataGen</a>, <a href="../../../../org/apache/sysds/lops/DeCompression.html" title="class in org.apache.sysds.lops">DeCompression</a>, <a href="../../../../org/apache/sysds/lops/DnnTransform.html" title="class in org.apache.sysds.lops">DnnTransform</a>, <a href="../../../../org/apache/sysds/lops/Federated.html" title="class in org.apache.sysds.lops">Federated</a>, <a href="../../../../org/apache/sysds/lops/FunctionCallCP.html" title="class in org.apache.sysds.lops">FunctionCallCP</a>, <a href="../../../../org/apache/sysds/lops/GroupedAggregate.html" title="class in org.apache.sysds.lops">GroupedAggregate</a>, <a href="../../../../org/apache/sysds/lops/GroupedAggregateM.html" title="class in org.apache.sysds.lops">GroupedAggregateM</a>, <a href="../../../../org/apache/sysds/lops/LeftIndex.html" title="class in org.apache.sysds.lops">LeftIndex</a>, <a href="../../../../org/apache/sysds/lops/MapMult.html" title="class in org.apache.sysds.lops">MapMult</a>, <a href="../../../../org/apache/sysds/lops/MapMultChain.html" title="class in org.apache.sysds.lops">MapMultChain</a>, <a href="../../../../org/apache/sysds/lops/MatMultCP.html" title="class in org.apache.sysds.lops">MatMultCP</a>, <a href="../../../../org/apache/sysds/lops/MMCJ.html" title="class in org.apache.sysds.lops">MMCJ</a>, <a href="../../../../org/apache/sysds/lops/MMRJ.html" title="class in org.apache.sysds.lops">MMRJ</a>, <a href="../../../../org/apache/sysds/lops/MMTSJ.html" title="class in org.apache.sysds.lops">MMTSJ</a>, <a href="../../../../org/apache/sysds/lops/MMZip.html" title="class in org.apache.sysds.lops">MMZip</a>, <a href="../../../../org/apache/sysds/lops/Nary.html" title="class in org.apache.sysds.lops">Nary</a>, <a href="../../../../org/apache/sysds/lops/ParameterizedBuiltin.html" title="class in org.apache.sysds.lops">ParameterizedBuiltin</a>, <a href="../../../../org/apache/sysds/lops/PartialAggregate.html" title="class in org.apache.sysds.lops">PartialAggregate</a>, <a href="../../../../org/apache/sysds/lops/PickByCount.html" title="class in org.apache.sysds.lops">PickByCount</a>, <a href="../../../../org/apache/sysds/lops/PMapMult.html" title="class in org.apache.sysds.lops">PMapMult</a>, <a href="../../../../org/apache/sysds/lops/PMMJ.html" title="class in org.apache.sysds.lops">PMMJ</a>, <a href="../../../../org/apache/sysds/lops/ReBlock.html" title="class in org.apache.sysds.lops">ReBlock</a>, <a href="../../../../org/apache/sysds/lops/RightIndex.html" title="class in org.apache.sysds.lops">RightIndex</a>, <a href="../../../../org/apache/sysds/lops/SortKeys.html" title="class in org.apache.sysds.lops">SortKeys</a>, <a href="../../../../org/apache/sysds/lops/SpoofFused.html" title="class in org.apache.sysds.lops">SpoofFused</a>, <a href="../../../../org/apache/sysds/lops/Sql.html" title="class in org.apache.sysds.lops">Sql</a>, <a href="../../../../org/apache/sysds/lops/Ternary.html" title="class in org.apache.sysds.lops">Ternary</a>, <a href="../../../../org/apache/sysds/lops/TernaryAggregate.html" title="class in org.apache.sysds.lops">TernaryAggregate</a>, <a href="../../../../org/apache/sysds/lops/Transform.html" title="class in org.apache.sysds.lops">Transform</a>, <a href="../../../../org/apache/sysds/lops/UAggOuterChain.html" title="class in org.apache.sysds.lops">UAggOuterChain</a>, <a href="../../../../org/apache/sysds/lops/Unary.html" title="class in org.apache.sysds.lops">Unary</a>, <a href="../../../../org/apache/sysds/lops/UnaryCP.html" title="class in org.apache.sysds.lops">UnaryCP</a>, <a href="../../../../org/apache/sysds/lops/WeightedCrossEntropy.html" title="class in org.apache.sysds.lops">WeightedCrossEntropy</a>, <a href="../../../../org/apache/sysds/lops/WeightedCrossEntropyR.html" title="class in org.apache.sysds.lops">WeightedCrossEntropyR</a>, <a href="../../../../org/apache/sysds/lops/WeightedDivMM.html" title="class in org.apache.sysds.lops">WeightedDivMM</a>, <a href="../../../../org/apache/sysds/lops/WeightedDivMMR.html" title="class in org.apache.sysds.lops">WeightedDivMMR</a>, <a href="../../../../org/apache/sysds/lops/WeightedSigmoid.html" title="class in org.apache.sysds.lops">WeightedSigmoid</a>, <a href="../../../../org/apache/sysds/lops/WeightedSigmoidR.html" title="class in org.apache.sysds.lops">WeightedSigmoidR</a>, <a href="../../../../org/apache/sysds/lops/WeightedSquaredLoss.html" title="class in org.apache.sysds.lops">WeightedSquaredLoss</a>, <a href="../../../../org/apache/sysds/lops/WeightedSquaredLossR.html" title="class in org.apache.sysds.lops">WeightedSquaredLossR</a>, <a href="../../../../org/apache/sysds/lops/WeightedUnaryMM.html" title="class in org.apache.sysds.lops">WeightedUnaryMM</a>, <a href="../../../../org/apache/sysds/lops/WeightedUnaryMMR.html" title="class in org.apache.sysds.lops">WeightedUnaryMMR</a></dd>
 </dl>
 <hr>
 <br>
@@ -1861,6 +1861,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/LopProperties.ExecType.html b/docs/api/java/org/apache/sysds/lops/LopProperties.ExecType.html
index a827557..be8c29e 100644
--- a/docs/api/java/org/apache/sysds/lops/LopProperties.ExecType.html
+++ b/docs/api/java/org/apache/sysds/lops/LopProperties.ExecType.html
@@ -389,6 +389,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/LopProperties.html b/docs/api/java/org/apache/sysds/lops/LopProperties.html
index 1d2d754..ea29f82 100644
--- a/docs/api/java/org/apache/sysds/lops/LopProperties.html
+++ b/docs/api/java/org/apache/sysds/lops/LopProperties.html
@@ -379,6 +379,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/LopsException.html b/docs/api/java/org/apache/sysds/lops/LopsException.html
index 21aa811..e123991 100644
--- a/docs/api/java/org/apache/sysds/lops/LopsException.html
+++ b/docs/api/java/org/apache/sysds/lops/LopsException.html
@@ -297,6 +297,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/MMCJ.MMCJType.html b/docs/api/java/org/apache/sysds/lops/MMCJ.MMCJType.html
index 00a3e25..5b0b5eb 100644
--- a/docs/api/java/org/apache/sysds/lops/MMCJ.MMCJType.html
+++ b/docs/api/java/org/apache/sysds/lops/MMCJ.MMCJType.html
@@ -341,6 +341,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/MMCJ.html b/docs/api/java/org/apache/sysds/lops/MMCJ.html
index 2edb43c..3f0d1cd 100644
--- a/docs/api/java/org/apache/sysds/lops/MMCJ.html
+++ b/docs/api/java/org/apache/sysds/lops/MMCJ.html
@@ -406,6 +406,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/MMRJ.html b/docs/api/java/org/apache/sysds/lops/MMRJ.html
index 54a9ff7..ea4e2aa 100644
--- a/docs/api/java/org/apache/sysds/lops/MMRJ.html
+++ b/docs/api/java/org/apache/sysds/lops/MMRJ.html
@@ -368,6 +368,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/MMTSJ.MMTSJType.html b/docs/api/java/org/apache/sysds/lops/MMTSJ.MMTSJType.html
index f2aa640..7569272 100644
--- a/docs/api/java/org/apache/sysds/lops/MMTSJ.MMTSJType.html
+++ b/docs/api/java/org/apache/sysds/lops/MMTSJ.MMTSJType.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":9,"i2":9};
+var methods = {"i0":10,"i1":10,"i2":9,"i3":9};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -170,12 +170,16 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/lops/MMTSJ.MMTSJType.html#isLeft--">isLeft</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i1" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/lops/MMTSJ.MMTSJType.html#isRight--">isRight</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../org/apache/sysds/lops/MMTSJ.MMTSJType.html" title="enum in org.apache.sysds.lops">MMTSJ.MMTSJType</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/lops/MMTSJ.MMTSJType.html#valueOf-java.lang.String-">valueOf</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
 <div class="block">Returns the enum constant of this type with the specified name.</div>
 </td>
 </tr>
-<tr id="i2" class="altColor">
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../org/apache/sysds/lops/MMTSJ.MMTSJType.html" title="enum in org.apache.sysds.lops">MMTSJ.MMTSJType</a>[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/lops/MMTSJ.MMTSJType.html#values--">values</a></span>()</code>
 <div class="block">Returns an array containing the constants of this enum type, in
@@ -291,12 +295,21 @@
 <a name="isLeft--">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>isLeft</h4>
 <pre>public&nbsp;boolean&nbsp;isLeft()</pre>
 </li>
 </ul>
+<a name="isRight--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>isRight</h4>
+<pre>public&nbsp;boolean&nbsp;isRight()</pre>
+</li>
+</ul>
 </li>
 </ul>
 </li>
@@ -366,6 +379,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/MMTSJ.html b/docs/api/java/org/apache/sysds/lops/MMTSJ.html
index 910f581..34003fd 100644
--- a/docs/api/java/org/apache/sysds/lops/MMTSJ.html
+++ b/docs/api/java/org/apache/sysds/lops/MMTSJ.html
@@ -413,6 +413,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/MMZip.html b/docs/api/java/org/apache/sysds/lops/MMZip.html
index 8205e82..3b1bc16 100644
--- a/docs/api/java/org/apache/sysds/lops/MMZip.html
+++ b/docs/api/java/org/apache/sysds/lops/MMZip.html
@@ -359,6 +359,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/MapMult.CacheType.html b/docs/api/java/org/apache/sysds/lops/MapMult.CacheType.html
index 7294799..123f6d8 100644
--- a/docs/api/java/org/apache/sysds/lops/MapMult.CacheType.html
+++ b/docs/api/java/org/apache/sysds/lops/MapMult.CacheType.html
@@ -391,6 +391,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/MapMult.html b/docs/api/java/org/apache/sysds/lops/MapMult.html
index 5a40bde..906d9ac 100644
--- a/docs/api/java/org/apache/sysds/lops/MapMult.html
+++ b/docs/api/java/org/apache/sysds/lops/MapMult.html
@@ -419,6 +419,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/MapMultChain.ChainType.html b/docs/api/java/org/apache/sysds/lops/MapMultChain.ChainType.html
index 808a9ee..5229ab8 100644
--- a/docs/api/java/org/apache/sysds/lops/MapMultChain.ChainType.html
+++ b/docs/api/java/org/apache/sysds/lops/MapMultChain.ChainType.html
@@ -378,6 +378,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/MapMultChain.html b/docs/api/java/org/apache/sysds/lops/MapMultChain.html
index 5b4bfe6..30153bf 100644
--- a/docs/api/java/org/apache/sysds/lops/MapMultChain.html
+++ b/docs/api/java/org/apache/sysds/lops/MapMultChain.html
@@ -511,6 +511,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/MatMultCP.html b/docs/api/java/org/apache/sysds/lops/MatMultCP.html
index 1d4514d..023668d 100644
--- a/docs/api/java/org/apache/sysds/lops/MatMultCP.html
+++ b/docs/api/java/org/apache/sysds/lops/MatMultCP.html
@@ -187,6 +187,16 @@
          <a href="../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et,
          int&nbsp;k)</code>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/lops/MatMultCP.html#MatMultCP-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-int-boolean-boolean-">MatMultCP</a></span>(<a href="../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
+         <a href="../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
+         <a href="../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
+         <a href="../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
+         <a href="../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et,
+         int&nbsp;k,
+         boolean&nbsp;isLeftTransposed,
+         boolean&nbsp;isRightTransposed)</code>&nbsp;</td>
+</tr>
 </table>
 </li>
 </ul>
@@ -275,6 +285,21 @@
 <a name="MatMultCP-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-boolean-boolean-">
 <!--   -->
 </a>
+<ul class="blockList">
+<li class="blockList">
+<h4>MatMultCP</h4>
+<pre>public&nbsp;MatMultCP(<a href="../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
+                 <a href="../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
+                 <a href="../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
+                 <a href="../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
+                 <a href="../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et,
+                 boolean&nbsp;isLeftTransposed,
+                 boolean&nbsp;isRightTransposed)</pre>
+</li>
+</ul>
+<a name="MatMultCP-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-int-boolean-boolean-">
+<!--   -->
+</a>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>MatMultCP</h4>
@@ -283,6 +308,7 @@
                  <a href="../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
                  <a href="../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
                  <a href="../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et,
+                 int&nbsp;k,
                  boolean&nbsp;isLeftTransposed,
                  boolean&nbsp;isRightTransposed)</pre>
 </li>
@@ -402,6 +428,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/Nary.html b/docs/api/java/org/apache/sysds/lops/Nary.html
index 7028e61..72b641f 100644
--- a/docs/api/java/org/apache/sysds/lops/Nary.html
+++ b/docs/api/java/org/apache/sysds/lops/Nary.html
@@ -384,6 +384,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/OutputParameters.html b/docs/api/java/org/apache/sysds/lops/OutputParameters.html
index 2e33ead..7b567c9 100644
--- a/docs/api/java/org/apache/sysds/lops/OutputParameters.html
+++ b/docs/api/java/org/apache/sysds/lops/OutputParameters.html
@@ -606,6 +606,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/PMMJ.CacheType.html b/docs/api/java/org/apache/sysds/lops/PMMJ.CacheType.html
index 568ee00..3b5b7e6 100644
--- a/docs/api/java/org/apache/sysds/lops/PMMJ.CacheType.html
+++ b/docs/api/java/org/apache/sysds/lops/PMMJ.CacheType.html
@@ -341,6 +341,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/PMMJ.html b/docs/api/java/org/apache/sysds/lops/PMMJ.html
index 95e893a..148db8b 100644
--- a/docs/api/java/org/apache/sysds/lops/PMMJ.html
+++ b/docs/api/java/org/apache/sysds/lops/PMMJ.html
@@ -435,6 +435,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/PMapMult.html b/docs/api/java/org/apache/sysds/lops/PMapMult.html
index 106b995..afcd209 100644
--- a/docs/api/java/org/apache/sysds/lops/PMapMult.html
+++ b/docs/api/java/org/apache/sysds/lops/PMapMult.html
@@ -386,6 +386,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/ParameterizedBuiltin.html b/docs/api/java/org/apache/sysds/lops/ParameterizedBuiltin.html
index 1e0df68..6925743 100644
--- a/docs/api/java/org/apache/sysds/lops/ParameterizedBuiltin.html
+++ b/docs/api/java/org/apache/sysds/lops/ParameterizedBuiltin.html
@@ -434,6 +434,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/PartialAggregate.html b/docs/api/java/org/apache/sysds/lops/PartialAggregate.html
index 5b67b04..daee27d 100644
--- a/docs/api/java/org/apache/sysds/lops/PartialAggregate.html
+++ b/docs/api/java/org/apache/sysds/lops/PartialAggregate.html
@@ -484,6 +484,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/PickByCount.OperationTypes.html b/docs/api/java/org/apache/sysds/lops/PickByCount.OperationTypes.html
index 7c999ab..ded8b16 100644
--- a/docs/api/java/org/apache/sysds/lops/PickByCount.OperationTypes.html
+++ b/docs/api/java/org/apache/sysds/lops/PickByCount.OperationTypes.html
@@ -365,6 +365,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/PickByCount.html b/docs/api/java/org/apache/sysds/lops/PickByCount.html
index 1be7a47..7dfe72a 100644
--- a/docs/api/java/org/apache/sysds/lops/PickByCount.html
+++ b/docs/api/java/org/apache/sysds/lops/PickByCount.html
@@ -471,6 +471,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/ReBlock.html b/docs/api/java/org/apache/sysds/lops/ReBlock.html
index 4408ad5..d942777 100644
--- a/docs/api/java/org/apache/sysds/lops/ReBlock.html
+++ b/docs/api/java/org/apache/sysds/lops/ReBlock.html
@@ -388,6 +388,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/RightIndex.html b/docs/api/java/org/apache/sysds/lops/RightIndex.html
index ef44dc4..a8d65fd 100644
--- a/docs/api/java/org/apache/sysds/lops/RightIndex.html
+++ b/docs/api/java/org/apache/sysds/lops/RightIndex.html
@@ -493,6 +493,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/SortKeys.OperationTypes.html b/docs/api/java/org/apache/sysds/lops/SortKeys.OperationTypes.html
index 0bf92c3..46c6f87 100644
--- a/docs/api/java/org/apache/sysds/lops/SortKeys.OperationTypes.html
+++ b/docs/api/java/org/apache/sysds/lops/SortKeys.OperationTypes.html
@@ -353,6 +353,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/SortKeys.html b/docs/api/java/org/apache/sysds/lops/SortKeys.html
index b3f0acd..3f295ea 100644
--- a/docs/api/java/org/apache/sysds/lops/SortKeys.html
+++ b/docs/api/java/org/apache/sysds/lops/SortKeys.html
@@ -528,6 +528,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/SpoofFused.html b/docs/api/java/org/apache/sysds/lops/SpoofFused.html
index f1cc0ba..ef2ca0c 100644
--- a/docs/api/java/org/apache/sysds/lops/SpoofFused.html
+++ b/docs/api/java/org/apache/sysds/lops/SpoofFused.html
@@ -164,10 +164,12 @@
 <th class="colOne" scope="col">Constructor and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/lops/SpoofFused.html#SpoofFused-java.util.ArrayList-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-java.lang.Class-int-org.apache.sysds.lops.LopProperties.ExecType-">SpoofFused</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&gt;&nbsp;inputs,
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/lops/SpoofFused.html#SpoofFused-java.util.ArrayList-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-java.lang.Class-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-java.lang.String-int-org.apache.sysds.lops.LopProperties.ExecType-">SpoofFused</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&gt;&nbsp;inputs,
           <a href="../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
           <a href="../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
           <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;cla,
+          <a href="../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&nbsp;api,
+          <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;genVarName,
           int&nbsp;k,
           <a href="../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;etype)</code>&nbsp;</td>
 </tr>
@@ -301,7 +303,7 @@
 <!--   -->
 </a>
 <h3>Constructor Detail</h3>
-<a name="SpoofFused-java.util.ArrayList-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-java.lang.Class-int-org.apache.sysds.lops.LopProperties.ExecType-">
+<a name="SpoofFused-java.util.ArrayList-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-java.lang.Class-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-java.lang.String-int-org.apache.sysds.lops.LopProperties.ExecType-">
 <!--   -->
 </a>
 <ul class="blockListLast">
@@ -311,6 +313,8 @@
                   <a href="../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
                   <a href="../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
                   <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;cla,
+                  <a href="../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&nbsp;api,
+                  <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;genVarName,
                   int&nbsp;k,
                   <a href="../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;etype)</pre>
 </li>
@@ -618,6 +622,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/Sql.html b/docs/api/java/org/apache/sysds/lops/Sql.html
index 11bd723..4e04ad4 100644
--- a/docs/api/java/org/apache/sysds/lops/Sql.html
+++ b/docs/api/java/org/apache/sysds/lops/Sql.html
@@ -358,6 +358,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/Ternary.html b/docs/api/java/org/apache/sysds/lops/Ternary.html
index 0227d7f..eaecd26 100644
--- a/docs/api/java/org/apache/sysds/lops/Ternary.html
+++ b/docs/api/java/org/apache/sysds/lops/Ternary.html
@@ -165,13 +165,14 @@
 <th class="colOne" scope="col">Constructor and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/lops/Ternary.html#Ternary-org.apache.sysds.common.Types.OpOp3-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-">Ternary</a></span>(<a href="../../../../org/apache/sysds/common/Types.OpOp3.html" title="enum in org.apache.sysds.common">Types.OpOp3</a>&nbsp;op,
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/lops/Ternary.html#Ternary-org.apache.sysds.common.Types.OpOp3-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-int-">Ternary</a></span>(<a href="../../../../org/apache/sysds/common/Types.OpOp3.html" title="enum in org.apache.sysds.common">Types.OpOp3</a>&nbsp;op,
        <a href="../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
        <a href="../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
        <a href="../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input3,
        <a href="../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
        <a href="../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
-       <a href="../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
+       <a href="../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et,
+       int&nbsp;numThreads)</code>&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -232,7 +233,7 @@
 <!--   -->
 </a>
 <h3>Constructor Detail</h3>
-<a name="Ternary-org.apache.sysds.common.Types.OpOp3-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-">
+<a name="Ternary-org.apache.sysds.common.Types.OpOp3-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-int-">
 <!--   -->
 </a>
 <ul class="blockListLast">
@@ -244,7 +245,8 @@
                <a href="../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input3,
                <a href="../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
                <a href="../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
-               <a href="../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</pre>
+               <a href="../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et,
+               int&nbsp;numThreads)</pre>
 </li>
 </ul>
 </li>
@@ -364,6 +366,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/TernaryAggregate.html b/docs/api/java/org/apache/sysds/lops/TernaryAggregate.html
index bd3a77c..88aa2b2 100644
--- a/docs/api/java/org/apache/sysds/lops/TernaryAggregate.html
+++ b/docs/api/java/org/apache/sysds/lops/TernaryAggregate.html
@@ -418,6 +418,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/Transform.html b/docs/api/java/org/apache/sysds/lops/Transform.html
index e0ff6cc..3468bbd 100644
--- a/docs/api/java/org/apache/sysds/lops/Transform.html
+++ b/docs/api/java/org/apache/sysds/lops/Transform.html
@@ -584,6 +584,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/UAggOuterChain.html b/docs/api/java/org/apache/sysds/lops/UAggOuterChain.html
index a699fbd..8a6b7cb 100644
--- a/docs/api/java/org/apache/sysds/lops/UAggOuterChain.html
+++ b/docs/api/java/org/apache/sysds/lops/UAggOuterChain.html
@@ -410,6 +410,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/Unary.html b/docs/api/java/org/apache/sysds/lops/Unary.html
index b654ad4..fe163de 100644
--- a/docs/api/java/org/apache/sysds/lops/Unary.html
+++ b/docs/api/java/org/apache/sysds/lops/Unary.html
@@ -451,6 +451,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/UnaryCP.html b/docs/api/java/org/apache/sysds/lops/UnaryCP.html
index 1c15c87..7234f5c 100644
--- a/docs/api/java/org/apache/sysds/lops/UnaryCP.html
+++ b/docs/api/java/org/apache/sysds/lops/UnaryCP.html
@@ -499,6 +499,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/WeightedCrossEntropy.WCeMMType.html b/docs/api/java/org/apache/sysds/lops/WeightedCrossEntropy.WCeMMType.html
index a96073b..0b4af0e 100644
--- a/docs/api/java/org/apache/sysds/lops/WeightedCrossEntropy.WCeMMType.html
+++ b/docs/api/java/org/apache/sysds/lops/WeightedCrossEntropy.WCeMMType.html
@@ -354,6 +354,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/WeightedCrossEntropy.html b/docs/api/java/org/apache/sysds/lops/WeightedCrossEntropy.html
index 5b49230..599ad54 100644
--- a/docs/api/java/org/apache/sysds/lops/WeightedCrossEntropy.html
+++ b/docs/api/java/org/apache/sysds/lops/WeightedCrossEntropy.html
@@ -441,6 +441,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/WeightedCrossEntropyR.html b/docs/api/java/org/apache/sysds/lops/WeightedCrossEntropyR.html
index 4e52326..c4a2327 100644
--- a/docs/api/java/org/apache/sysds/lops/WeightedCrossEntropyR.html
+++ b/docs/api/java/org/apache/sysds/lops/WeightedCrossEntropyR.html
@@ -404,6 +404,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/WeightedDivMM.WDivMMType.html b/docs/api/java/org/apache/sysds/lops/WeightedDivMM.WDivMMType.html
index 67d9cfb..c54f0ff 100644
--- a/docs/api/java/org/apache/sysds/lops/WeightedDivMM.WDivMMType.html
+++ b/docs/api/java/org/apache/sysds/lops/WeightedDivMM.WDivMMType.html
@@ -557,6 +557,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/WeightedDivMM.html b/docs/api/java/org/apache/sysds/lops/WeightedDivMM.html
index aac0a5f..dadcad8 100644
--- a/docs/api/java/org/apache/sysds/lops/WeightedDivMM.html
+++ b/docs/api/java/org/apache/sysds/lops/WeightedDivMM.html
@@ -441,6 +441,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/WeightedDivMMR.html b/docs/api/java/org/apache/sysds/lops/WeightedDivMMR.html
index bbd239a..d4617c6 100644
--- a/docs/api/java/org/apache/sysds/lops/WeightedDivMMR.html
+++ b/docs/api/java/org/apache/sysds/lops/WeightedDivMMR.html
@@ -404,6 +404,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/WeightedSigmoid.WSigmoidType.html b/docs/api/java/org/apache/sysds/lops/WeightedSigmoid.WSigmoidType.html
index c1f9eef..78496a2 100644
--- a/docs/api/java/org/apache/sysds/lops/WeightedSigmoid.WSigmoidType.html
+++ b/docs/api/java/org/apache/sysds/lops/WeightedSigmoid.WSigmoidType.html
@@ -365,6 +365,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/WeightedSigmoid.html b/docs/api/java/org/apache/sysds/lops/WeightedSigmoid.html
index 1b47a4d..c2d4b6a 100644
--- a/docs/api/java/org/apache/sysds/lops/WeightedSigmoid.html
+++ b/docs/api/java/org/apache/sysds/lops/WeightedSigmoid.html
@@ -436,6 +436,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/WeightedSigmoidR.html b/docs/api/java/org/apache/sysds/lops/WeightedSigmoidR.html
index 5eb7762..e29d7b8 100644
--- a/docs/api/java/org/apache/sysds/lops/WeightedSigmoidR.html
+++ b/docs/api/java/org/apache/sysds/lops/WeightedSigmoidR.html
@@ -399,6 +399,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/WeightedSquaredLoss.WeightsType.html b/docs/api/java/org/apache/sysds/lops/WeightedSquaredLoss.WeightsType.html
index 8cda171..7cfad84 100644
--- a/docs/api/java/org/apache/sysds/lops/WeightedSquaredLoss.WeightsType.html
+++ b/docs/api/java/org/apache/sysds/lops/WeightedSquaredLoss.WeightsType.html
@@ -378,6 +378,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/WeightedSquaredLoss.html b/docs/api/java/org/apache/sysds/lops/WeightedSquaredLoss.html
index 16d5ec4..63dd210 100644
--- a/docs/api/java/org/apache/sysds/lops/WeightedSquaredLoss.html
+++ b/docs/api/java/org/apache/sysds/lops/WeightedSquaredLoss.html
@@ -441,6 +441,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/WeightedSquaredLossR.html b/docs/api/java/org/apache/sysds/lops/WeightedSquaredLossR.html
index f324d82..ab0f70f 100644
--- a/docs/api/java/org/apache/sysds/lops/WeightedSquaredLossR.html
+++ b/docs/api/java/org/apache/sysds/lops/WeightedSquaredLossR.html
@@ -404,6 +404,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/WeightedUnaryMM.WUMMType.html b/docs/api/java/org/apache/sysds/lops/WeightedUnaryMM.WUMMType.html
index 8a439bf..a560a64 100644
--- a/docs/api/java/org/apache/sysds/lops/WeightedUnaryMM.WUMMType.html
+++ b/docs/api/java/org/apache/sysds/lops/WeightedUnaryMM.WUMMType.html
@@ -341,6 +341,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/WeightedUnaryMM.html b/docs/api/java/org/apache/sysds/lops/WeightedUnaryMM.html
index 09de61a..226d418 100644
--- a/docs/api/java/org/apache/sysds/lops/WeightedUnaryMM.html
+++ b/docs/api/java/org/apache/sysds/lops/WeightedUnaryMM.html
@@ -438,6 +438,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/WeightedUnaryMMR.html b/docs/api/java/org/apache/sysds/lops/WeightedUnaryMMR.html
index 90321b6..c6cd3d3 100644
--- a/docs/api/java/org/apache/sysds/lops/WeightedUnaryMMR.html
+++ b/docs/api/java/org/apache/sysds/lops/WeightedUnaryMMR.html
@@ -401,6 +401,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/class-use/Append.html b/docs/api/java/org/apache/sysds/lops/class-use/Append.html
index b0827cb..4958496 100644
--- a/docs/api/java/org/apache/sysds/lops/class-use/Append.html
+++ b/docs/api/java/org/apache/sysds/lops/class-use/Append.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/class-use/AppendG.html b/docs/api/java/org/apache/sysds/lops/class-use/AppendG.html
index eb50c85..87cbeb2 100644
--- a/docs/api/java/org/apache/sysds/lops/class-use/AppendG.html
+++ b/docs/api/java/org/apache/sysds/lops/class-use/AppendG.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/class-use/AppendGAlignedSP.html b/docs/api/java/org/apache/sysds/lops/class-use/AppendGAlignedSP.html
index a6af0d6..320c023 100644
--- a/docs/api/java/org/apache/sysds/lops/class-use/AppendGAlignedSP.html
+++ b/docs/api/java/org/apache/sysds/lops/class-use/AppendGAlignedSP.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/class-use/AppendM.CacheType.html b/docs/api/java/org/apache/sysds/lops/class-use/AppendM.CacheType.html
index cd7874d..33e49af 100644
--- a/docs/api/java/org/apache/sysds/lops/class-use/AppendM.CacheType.html
+++ b/docs/api/java/org/apache/sysds/lops/class-use/AppendM.CacheType.html
@@ -169,6 +169,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/class-use/AppendM.html b/docs/api/java/org/apache/sysds/lops/class-use/AppendM.html
index b5d024e..6b3857a 100644
--- a/docs/api/java/org/apache/sysds/lops/class-use/AppendM.html
+++ b/docs/api/java/org/apache/sysds/lops/class-use/AppendM.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/class-use/AppendR.html b/docs/api/java/org/apache/sysds/lops/class-use/AppendR.html
index fe6c145..78f8cde 100644
--- a/docs/api/java/org/apache/sysds/lops/class-use/AppendR.html
+++ b/docs/api/java/org/apache/sysds/lops/class-use/AppendR.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/class-use/Binary.html b/docs/api/java/org/apache/sysds/lops/class-use/Binary.html
index bd2e1c6..f455a56 100644
--- a/docs/api/java/org/apache/sysds/lops/class-use/Binary.html
+++ b/docs/api/java/org/apache/sysds/lops/class-use/Binary.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/class-use/BinaryM.VectorType.html b/docs/api/java/org/apache/sysds/lops/class-use/BinaryM.VectorType.html
index 78d10ed..5816ca4 100644
--- a/docs/api/java/org/apache/sysds/lops/class-use/BinaryM.VectorType.html
+++ b/docs/api/java/org/apache/sysds/lops/class-use/BinaryM.VectorType.html
@@ -191,6 +191,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/class-use/BinaryM.html b/docs/api/java/org/apache/sysds/lops/class-use/BinaryM.html
index d14093c..67bf441 100644
--- a/docs/api/java/org/apache/sysds/lops/class-use/BinaryM.html
+++ b/docs/api/java/org/apache/sysds/lops/class-use/BinaryM.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/class-use/BinaryScalar.html b/docs/api/java/org/apache/sysds/lops/class-use/BinaryScalar.html
index 42d2038..7a19ef8 100644
--- a/docs/api/java/org/apache/sysds/lops/class-use/BinaryScalar.html
+++ b/docs/api/java/org/apache/sysds/lops/class-use/BinaryScalar.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/class-use/BinaryUAggChain.html b/docs/api/java/org/apache/sysds/lops/class-use/BinaryUAggChain.html
index 2a257e7..1228c19 100644
--- a/docs/api/java/org/apache/sysds/lops/class-use/BinaryUAggChain.html
+++ b/docs/api/java/org/apache/sysds/lops/class-use/BinaryUAggChain.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/class-use/CSVReBlock.html b/docs/api/java/org/apache/sysds/lops/class-use/CSVReBlock.html
index 1993b23..d05ce42 100644
--- a/docs/api/java/org/apache/sysds/lops/class-use/CSVReBlock.html
+++ b/docs/api/java/org/apache/sysds/lops/class-use/CSVReBlock.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/class-use/CentralMoment.html b/docs/api/java/org/apache/sysds/lops/class-use/CentralMoment.html
index c4f13d0..80aeba5 100644
--- a/docs/api/java/org/apache/sysds/lops/class-use/CentralMoment.html
+++ b/docs/api/java/org/apache/sysds/lops/class-use/CentralMoment.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/class-use/Checkpoint.html b/docs/api/java/org/apache/sysds/lops/class-use/Checkpoint.html
index 10c8ebf..c9e067f 100644
--- a/docs/api/java/org/apache/sysds/lops/class-use/Checkpoint.html
+++ b/docs/api/java/org/apache/sysds/lops/class-use/Checkpoint.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/class-use/CoVariance.html b/docs/api/java/org/apache/sysds/lops/class-use/CoVariance.html
index 945e96a..317b6f6 100644
--- a/docs/api/java/org/apache/sysds/lops/class-use/CoVariance.html
+++ b/docs/api/java/org/apache/sysds/lops/class-use/CoVariance.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/class-use/Compression.CompressConfig.html b/docs/api/java/org/apache/sysds/lops/class-use/Compression.CompressConfig.html
index 51d048c..77305da 100644
--- a/docs/api/java/org/apache/sysds/lops/class-use/Compression.CompressConfig.html
+++ b/docs/api/java/org/apache/sysds/lops/class-use/Compression.CompressConfig.html
@@ -169,6 +169,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/class-use/Compression.html b/docs/api/java/org/apache/sysds/lops/class-use/Compression.html
index 1e637ac..c8a33b3 100644
--- a/docs/api/java/org/apache/sysds/lops/class-use/Compression.html
+++ b/docs/api/java/org/apache/sysds/lops/class-use/Compression.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/class-use/Ctable.OperationTypes.html b/docs/api/java/org/apache/sysds/lops/class-use/Ctable.OperationTypes.html
index 3c7c6b6..6a57273 100644
--- a/docs/api/java/org/apache/sysds/lops/class-use/Ctable.OperationTypes.html
+++ b/docs/api/java/org/apache/sysds/lops/class-use/Ctable.OperationTypes.html
@@ -83,6 +83,10 @@
 </tr>
 <tbody>
 <tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.hops">org.apache.sysds.hops</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.lops">org.apache.sysds.lops</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
@@ -91,6 +95,25 @@
 </li>
 <li class="blockList">
 <ul class="blockList">
+<li class="blockList"><a name="org.apache.sysds.hops">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/sysds/lops/Ctable.OperationTypes.html" title="enum in org.apache.sysds.lops">Ctable.OperationTypes</a> in <a href="../../../../../org/apache/sysds/hops/package-summary.html">org.apache.sysds.hops</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/sysds/hops/package-summary.html">org.apache.sysds.hops</a> with parameters of type <a href="../../../../../org/apache/sysds/lops/Ctable.OperationTypes.html" title="enum in org.apache.sysds.lops">Ctable.OperationTypes</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><span class="typeNameLabel">TernaryOp.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/TernaryOp.html#isCTableReshapeRewriteApplicable-org.apache.sysds.lops.LopProperties.ExecType-org.apache.sysds.lops.Ctable.OperationTypes-">isCTableReshapeRewriteApplicable</a></span>(<a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et,
+                                <a href="../../../../../org/apache/sysds/lops/Ctable.OperationTypes.html" title="enum in org.apache.sysds.lops">Ctable.OperationTypes</a>&nbsp;opType)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
 <li class="blockList"><a name="org.apache.sysds.lops">
 <!--   -->
 </a>
@@ -140,11 +163,12 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/Ctable.html#Ctable-org.apache.sysds.lops.Lop:A-org.apache.sysds.lops.Ctable.OperationTypes-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-boolean-org.apache.sysds.lops.LopProperties.ExecType-">Ctable</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>[]&nbsp;inputLops,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/Ctable.html#Ctable-org.apache.sysds.lops.Lop:A-org.apache.sysds.lops.Ctable.OperationTypes-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-boolean-boolean-org.apache.sysds.lops.LopProperties.ExecType-">Ctable</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>[]&nbsp;inputLops,
       <a href="../../../../../org/apache/sysds/lops/Ctable.OperationTypes.html" title="enum in org.apache.sysds.lops">Ctable.OperationTypes</a>&nbsp;op,
       <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
       <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
       boolean&nbsp;ignoreZeros,
+      boolean&nbsp;outputEmptyBlocks,
       <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
@@ -208,6 +232,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/class-use/Ctable.html b/docs/api/java/org/apache/sysds/lops/class-use/Ctable.html
index b4e5fc5..bc2e57c 100644
--- a/docs/api/java/org/apache/sysds/lops/class-use/Ctable.html
+++ b/docs/api/java/org/apache/sysds/lops/class-use/Ctable.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/class-use/CumulativeOffsetBinary.html b/docs/api/java/org/apache/sysds/lops/class-use/CumulativeOffsetBinary.html
index 3d07fae..422d5e6 100644
--- a/docs/api/java/org/apache/sysds/lops/class-use/CumulativeOffsetBinary.html
+++ b/docs/api/java/org/apache/sysds/lops/class-use/CumulativeOffsetBinary.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/class-use/CumulativePartialAggregate.html b/docs/api/java/org/apache/sysds/lops/class-use/CumulativePartialAggregate.html
index d7cf9e3..9e394e8 100644
--- a/docs/api/java/org/apache/sysds/lops/class-use/CumulativePartialAggregate.html
+++ b/docs/api/java/org/apache/sysds/lops/class-use/CumulativePartialAggregate.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/class-use/Data.html b/docs/api/java/org/apache/sysds/lops/class-use/Data.html
index a6797b9..b7b8d4e 100644
--- a/docs/api/java/org/apache/sysds/lops/class-use/Data.html
+++ b/docs/api/java/org/apache/sysds/lops/class-use/Data.html
@@ -163,6 +163,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/class-use/DataGen.html b/docs/api/java/org/apache/sysds/lops/class-use/DataGen.html
index 3bd3fa5..9dcd197 100644
--- a/docs/api/java/org/apache/sysds/lops/class-use/DataGen.html
+++ b/docs/api/java/org/apache/sysds/lops/class-use/DataGen.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/class-use/DeCompression.CompressConfig.html b/docs/api/java/org/apache/sysds/lops/class-use/DeCompression.CompressConfig.html
new file mode 100644
index 0000000..1a4d53f
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/lops/class-use/DeCompression.CompressConfig.html
@@ -0,0 +1,174 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.sysds.lops.DeCompression.CompressConfig (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.sysds.lops.DeCompression.CompressConfig (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/sysds/lops/DeCompression.CompressConfig.html" title="enum in org.apache.sysds.lops">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/sysds/lops/class-use/DeCompression.CompressConfig.html" target="_top">Frames</a></li>
+<li><a href="DeCompression.CompressConfig.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.sysds.lops.DeCompression.CompressConfig" class="title">Uses of Class<br>org.apache.sysds.lops.DeCompression.CompressConfig</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../org/apache/sysds/lops/DeCompression.CompressConfig.html" title="enum in org.apache.sysds.lops">DeCompression.CompressConfig</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.lops">org.apache.sysds.lops</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.sysds.lops">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/sysds/lops/DeCompression.CompressConfig.html" title="enum in org.apache.sysds.lops">DeCompression.CompressConfig</a> in <a href="../../../../../org/apache/sysds/lops/package-summary.html">org.apache.sysds.lops</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/sysds/lops/package-summary.html">org.apache.sysds.lops</a> that return <a href="../../../../../org/apache/sysds/lops/DeCompression.CompressConfig.html" title="enum in org.apache.sysds.lops">DeCompression.CompressConfig</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/lops/DeCompression.CompressConfig.html" title="enum in org.apache.sysds.lops">DeCompression.CompressConfig</a></code></td>
+<td class="colLast"><span class="typeNameLabel">DeCompression.CompressConfig.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/DeCompression.CompressConfig.html#valueOf-java.lang.String-">valueOf</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
+<div class="block">Returns the enum constant of this type with the specified name.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/lops/DeCompression.CompressConfig.html" title="enum in org.apache.sysds.lops">DeCompression.CompressConfig</a>[]</code></td>
+<td class="colLast"><span class="typeNameLabel">DeCompression.CompressConfig.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/DeCompression.CompressConfig.html#values--">values</a></span>()</code>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/sysds/lops/DeCompression.CompressConfig.html" title="enum in org.apache.sysds.lops">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/sysds/lops/class-use/DeCompression.CompressConfig.html" target="_top">Frames</a></li>
+<li><a href="DeCompression.CompressConfig.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/lops/class-use/DeCompression.html b/docs/api/java/org/apache/sysds/lops/class-use/DeCompression.html
new file mode 100644
index 0000000..effb19d
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/lops/class-use/DeCompression.html
@@ -0,0 +1,125 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.sysds.lops.DeCompression (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.sysds.lops.DeCompression (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/sysds/lops/DeCompression.html" title="class in org.apache.sysds.lops">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/sysds/lops/class-use/DeCompression.html" target="_top">Frames</a></li>
+<li><a href="DeCompression.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.sysds.lops.DeCompression" class="title">Uses of Class<br>org.apache.sysds.lops.DeCompression</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.sysds.lops.DeCompression</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/sysds/lops/DeCompression.html" title="class in org.apache.sysds.lops">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/sysds/lops/class-use/DeCompression.html" target="_top">Frames</a></li>
+<li><a href="DeCompression.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/lops/class-use/DnnTransform.html b/docs/api/java/org/apache/sysds/lops/class-use/DnnTransform.html
index e0c0328..b44fdf7 100644
--- a/docs/api/java/org/apache/sysds/lops/class-use/DnnTransform.html
+++ b/docs/api/java/org/apache/sysds/lops/class-use/DnnTransform.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/class-use/Federated.html b/docs/api/java/org/apache/sysds/lops/class-use/Federated.html
index 216c977..2e2c7c2 100644
--- a/docs/api/java/org/apache/sysds/lops/class-use/Federated.html
+++ b/docs/api/java/org/apache/sysds/lops/class-use/Federated.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/class-use/FunctionCallCP.html b/docs/api/java/org/apache/sysds/lops/class-use/FunctionCallCP.html
index 90ec3ea..2310cca 100644
--- a/docs/api/java/org/apache/sysds/lops/class-use/FunctionCallCP.html
+++ b/docs/api/java/org/apache/sysds/lops/class-use/FunctionCallCP.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/class-use/GroupedAggregate.html b/docs/api/java/org/apache/sysds/lops/class-use/GroupedAggregate.html
index 499ad7f..369bc10 100644
--- a/docs/api/java/org/apache/sysds/lops/class-use/GroupedAggregate.html
+++ b/docs/api/java/org/apache/sysds/lops/class-use/GroupedAggregate.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/class-use/GroupedAggregateM.CacheType.html b/docs/api/java/org/apache/sysds/lops/class-use/GroupedAggregateM.CacheType.html
index b0a8db7..7670182 100644
--- a/docs/api/java/org/apache/sysds/lops/class-use/GroupedAggregateM.CacheType.html
+++ b/docs/api/java/org/apache/sysds/lops/class-use/GroupedAggregateM.CacheType.html
@@ -169,6 +169,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/class-use/GroupedAggregateM.html b/docs/api/java/org/apache/sysds/lops/class-use/GroupedAggregateM.html
index e79e26e..2f2fff4 100644
--- a/docs/api/java/org/apache/sysds/lops/class-use/GroupedAggregateM.html
+++ b/docs/api/java/org/apache/sysds/lops/class-use/GroupedAggregateM.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/class-use/LeftIndex.LixCacheType.html b/docs/api/java/org/apache/sysds/lops/class-use/LeftIndex.LixCacheType.html
index 6cd4c80..d5c48fd 100644
--- a/docs/api/java/org/apache/sysds/lops/class-use/LeftIndex.LixCacheType.html
+++ b/docs/api/java/org/apache/sysds/lops/class-use/LeftIndex.LixCacheType.html
@@ -189,6 +189,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/class-use/LeftIndex.html b/docs/api/java/org/apache/sysds/lops/class-use/LeftIndex.html
index 7cab9dd..6091c11 100644
--- a/docs/api/java/org/apache/sysds/lops/class-use/LeftIndex.html
+++ b/docs/api/java/org/apache/sysds/lops/class-use/LeftIndex.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/class-use/Lop.SimpleInstType.html b/docs/api/java/org/apache/sysds/lops/class-use/Lop.SimpleInstType.html
index 55c03d1..09853e6 100644
--- a/docs/api/java/org/apache/sysds/lops/class-use/Lop.SimpleInstType.html
+++ b/docs/api/java/org/apache/sysds/lops/class-use/Lop.SimpleInstType.html
@@ -179,6 +179,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/class-use/Lop.Type.html b/docs/api/java/org/apache/sysds/lops/class-use/Lop.Type.html
index 5e2c854..af9907c 100644
--- a/docs/api/java/org/apache/sysds/lops/class-use/Lop.Type.html
+++ b/docs/api/java/org/apache/sysds/lops/class-use/Lop.Type.html
@@ -190,6 +190,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/class-use/Lop.VisitStatus.html b/docs/api/java/org/apache/sysds/lops/class-use/Lop.VisitStatus.html
index 19f654b..0eefa36 100644
--- a/docs/api/java/org/apache/sysds/lops/class-use/Lop.VisitStatus.html
+++ b/docs/api/java/org/apache/sysds/lops/class-use/Lop.VisitStatus.html
@@ -190,6 +190,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/class-use/Lop.html b/docs/api/java/org/apache/sysds/lops/class-use/Lop.html
index e21cd1b..ba4543e 100644
--- a/docs/api/java/org/apache/sysds/lops/class-use/Lop.html
+++ b/docs/api/java/org/apache/sysds/lops/class-use/Lop.html
@@ -366,58 +366,62 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/DnnTransform.html" title="class in org.apache.sysds.lops">DnnTransform</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/DeCompression.html" title="class in org.apache.sysds.lops">DeCompression</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/Federated.html" title="class in org.apache.sysds.lops">Federated</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/DnnTransform.html" title="class in org.apache.sysds.lops">DnnTransform</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/FunctionCallCP.html" title="class in org.apache.sysds.lops">FunctionCallCP</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/Federated.html" title="class in org.apache.sysds.lops">Federated</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/FunctionCallCP.html" title="class in org.apache.sysds.lops">FunctionCallCP</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/GroupedAggregate.html" title="class in org.apache.sysds.lops">GroupedAggregate</a></span></code>
 <div class="block">Lop to perform grouped aggregates</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/GroupedAggregateM.html" title="class in org.apache.sysds.lops">GroupedAggregateM</a></span></code>
 <div class="block">Lop to perform mr map-side grouped aggregates 
  (restriction: sum, w/o weights, ngroups), groups broadcasted</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/LeftIndex.html" title="class in org.apache.sysds.lops">LeftIndex</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/MapMult.html" title="class in org.apache.sysds.lops">MapMult</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/MapMultChain.html" title="class in org.apache.sysds.lops">MapMultChain</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/MatMultCP.html" title="class in org.apache.sysds.lops">MatMultCP</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/MMCJ.html" title="class in org.apache.sysds.lops">MMCJ</a></span></code>
 <div class="block">Lop to perform cross product operation</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/MMRJ.html" title="class in org.apache.sysds.lops">MMRJ</a></span></code>
 <div class="block">Lop to perform cross product operation</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/MMTSJ.html" title="class in org.apache.sysds.lops">MMTSJ</a></span></code>
 <div class="block">Lop to perform transpose-identity operation (t(X)%*%X or X%*%t(X)),
@@ -425,85 +429,85 @@
  an additional Aggregate at the reducers.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/MMZip.html" title="class in org.apache.sysds.lops">MMZip</a></span></code>
 <div class="block">Lop to perform zip matrix multiplication</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/Nary.html" title="class in org.apache.sysds.lops">Nary</a></span></code>
 <div class="block">Lop to perform an operation on a variable number of operands.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/ParameterizedBuiltin.html" title="class in org.apache.sysds.lops">ParameterizedBuiltin</a></span></code>
 <div class="block">Defines a LOP for functions.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/PartialAggregate.html" title="class in org.apache.sysds.lops">PartialAggregate</a></span></code>
 <div class="block">Lop to perform a partial aggregation.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/PickByCount.html" title="class in org.apache.sysds.lops">PickByCount</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/PMapMult.html" title="class in org.apache.sysds.lops">PMapMult</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/PMMJ.html" title="class in org.apache.sysds.lops">PMMJ</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/ReBlock.html" title="class in org.apache.sysds.lops">ReBlock</a></span></code>
 <div class="block">Lop to perform reblock operation</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/RightIndex.html" title="class in org.apache.sysds.lops">RightIndex</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/SortKeys.html" title="class in org.apache.sysds.lops">SortKeys</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/SpoofFused.html" title="class in org.apache.sysds.lops">SpoofFused</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/Sql.html" title="class in org.apache.sysds.lops">Sql</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/Ternary.html" title="class in org.apache.sysds.lops">Ternary</a></span></code>
 <div class="block">Lop to perform Sum of a matrix with another matrix multiplied by Scalar.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/TernaryAggregate.html" title="class in org.apache.sysds.lops">TernaryAggregate</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/Transform.html" title="class in org.apache.sysds.lops">Transform</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/UAggOuterChain.html" title="class in org.apache.sysds.lops">UAggOuterChain</a></span></code>
 <div class="block">TODO Currently this lop only support the right hand side in distributed cache.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/Unary.html" title="class in org.apache.sysds.lops">Unary</a></span></code>
 <div class="block">Lop to perform following operations: with one operand -- NOT(A), ABS(A),
@@ -511,47 +515,47 @@
  H=H*5, EXP(A,2), LOG(A,2)</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/UnaryCP.html" title="class in org.apache.sysds.lops">UnaryCP</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/WeightedCrossEntropy.html" title="class in org.apache.sysds.lops">WeightedCrossEntropy</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/WeightedCrossEntropyR.html" title="class in org.apache.sysds.lops">WeightedCrossEntropyR</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/WeightedDivMM.html" title="class in org.apache.sysds.lops">WeightedDivMM</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/WeightedDivMMR.html" title="class in org.apache.sysds.lops">WeightedDivMMR</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/WeightedSigmoid.html" title="class in org.apache.sysds.lops">WeightedSigmoid</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/WeightedSigmoidR.html" title="class in org.apache.sysds.lops">WeightedSigmoidR</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/WeightedSquaredLoss.html" title="class in org.apache.sysds.lops">WeightedSquaredLoss</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/WeightedSquaredLossR.html" title="class in org.apache.sysds.lops">WeightedSquaredLossR</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/WeightedUnaryMM.html" title="class in org.apache.sysds.lops">WeightedUnaryMM</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/WeightedUnaryMMR.html" title="class in org.apache.sysds.lops">WeightedUnaryMMR</a></span></code>&nbsp;</td>
 </tr>
@@ -785,6 +789,15 @@
 </td>
 </tr>
 <tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/Binary.html#Binary-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.OpOp2-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-int-">Binary</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
+      <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
+      <a href="../../../../../org/apache/sysds/common/Types.OpOp2.html" title="enum in org.apache.sysds.common">Types.OpOp2</a>&nbsp;op,
+      <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
+      <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
+      <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et,
+      int&nbsp;k)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/BinaryM.html#BinaryM-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.OpOp2-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-boolean-">BinaryM</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
        <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
        <a href="../../../../../org/apache/sysds/common/Types.OpOp2.html" title="enum in org.apache.sysds.common">Types.OpOp2</a>&nbsp;op,
@@ -795,7 +808,7 @@
 <div class="block">Constructor to perform a binary operation.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/BinaryScalar.html#BinaryScalar-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.OpOp2-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-">BinaryScalar</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
             <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
             <a href="../../../../../org/apache/sysds/common/Types.OpOp2.html" title="enum in org.apache.sysds.common">Types.OpOp2</a>&nbsp;op,
@@ -804,7 +817,7 @@
 <div class="block">Constructor to perform a scalar operation</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/BinaryUAggChain.html#BinaryUAggChain-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.OpOp2-org.apache.sysds.common.Types.AggOp-org.apache.sysds.common.Types.Direction-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-">BinaryUAggChain</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
                <a href="../../../../../org/apache/sysds/common/Types.OpOp2.html" title="enum in org.apache.sysds.common">Types.OpOp2</a>&nbsp;bop,
                <a href="../../../../../org/apache/sysds/common/Types.AggOp.html" title="enum in org.apache.sysds.common">Types.AggOp</a>&nbsp;uaop,
@@ -815,7 +828,7 @@
 <div class="block">Constructor to setup a map mult chain without weights</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/CentralMoment.html#CentralMoment-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-">CentralMoment</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
              <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
              <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input3,
@@ -823,14 +836,14 @@
              <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
              <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/CentralMoment.html#CentralMoment-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-">CentralMoment</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
              <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
              <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
              <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
              <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/Checkpoint.html#Checkpoint-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-java.lang.String-">Checkpoint</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input,
           <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
           <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
@@ -839,13 +852,13 @@
  that Spark libraries are always available.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/Compression.html#Compression-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-">Compression</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input,
            <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
            <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
            <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/CoVariance.html#CoVariance-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-">CoVariance</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
           <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
           <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input3,
@@ -853,42 +866,43 @@
           <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
           <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/CoVariance.html#CoVariance-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-">CoVariance</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
           <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
           <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
           <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
           <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/CoVariance.html#CoVariance-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-">CoVariance</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
           <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
           <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
           <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/CSVReBlock.html#CSVReBlock-org.apache.sysds.lops.Lop-int-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-">CSVReBlock</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input,
           int&nbsp;blen,
           <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
           <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
           <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/Ctable.html#Ctable-org.apache.sysds.lops.Lop:A-org.apache.sysds.lops.Ctable.OperationTypes-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-boolean-org.apache.sysds.lops.LopProperties.ExecType-">Ctable</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>[]&nbsp;inputLops,
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/Ctable.html#Ctable-org.apache.sysds.lops.Lop:A-org.apache.sysds.lops.Ctable.OperationTypes-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-boolean-boolean-org.apache.sysds.lops.LopProperties.ExecType-">Ctable</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>[]&nbsp;inputLops,
       <a href="../../../../../org/apache/sysds/lops/Ctable.OperationTypes.html" title="enum in org.apache.sysds.lops">Ctable.OperationTypes</a>&nbsp;op,
       <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
       <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
       boolean&nbsp;ignoreZeros,
+      boolean&nbsp;outputEmptyBlocks,
       <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/Ctable.html#Ctable-org.apache.sysds.lops.Lop:A-org.apache.sysds.lops.Ctable.OperationTypes-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-">Ctable</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>[]&nbsp;inputLops,
       <a href="../../../../../org/apache/sysds/lops/Ctable.OperationTypes.html" title="enum in org.apache.sysds.lops">Ctable.OperationTypes</a>&nbsp;op,
       <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
       <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
       <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/CumulativeOffsetBinary.html#CumulativeOffsetBinary-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-double-boolean-org.apache.sysds.common.Types.AggOp-org.apache.sysds.lops.LopProperties.ExecType-">CumulativeOffsetBinary</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;data,
                       <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;offsets,
                       <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
@@ -898,7 +912,7 @@
                       <a href="../../../../../org/apache/sysds/common/Types.AggOp.html" title="enum in org.apache.sysds.common">Types.AggOp</a>&nbsp;op,
                       <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/CumulativeOffsetBinary.html#CumulativeOffsetBinary-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.common.Types.AggOp-org.apache.sysds.lops.LopProperties.ExecType-">CumulativeOffsetBinary</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;data,
                       <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;offsets,
                       <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
@@ -906,14 +920,14 @@
                       <a href="../../../../../org/apache/sysds/common/Types.AggOp.html" title="enum in org.apache.sysds.common">Types.AggOp</a>&nbsp;op,
                       <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/CumulativePartialAggregate.html#CumulativePartialAggregate-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.common.Types.AggOp-org.apache.sysds.lops.LopProperties.ExecType-">CumulativePartialAggregate</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input,
                           <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
                           <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
                           <a href="../../../../../org/apache/sysds/common/Types.AggOp.html" title="enum in org.apache.sysds.common">Types.AggOp</a>&nbsp;op,
                           <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/Data.html#Data-org.apache.sysds.common.Types.OpOpData-org.apache.sysds.lops.Lop-java.util.HashMap-java.lang.String-java.lang.String-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.common.Types.FileFormat-">Data</a></span>(<a href="../../../../../org/apache/sysds/common/Types.OpOpData.html" title="enum in org.apache.sysds.common">Types.OpOpData</a>&nbsp;op,
     <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input,
     <a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&gt;&nbsp;inputParametersLops,
@@ -926,6 +940,12 @@
  In case of write: <code>input</code> must be provided.</div>
 </td>
 </tr>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/DeCompression.html#DeCompression-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-">DeCompression</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input,
+             <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
+             <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
+             <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
+</tr>
 <tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/DnnTransform.html#DnnTransform-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.OpOpDnn-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-int-">DnnTransform</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
             <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
@@ -1036,6 +1056,16 @@
          int&nbsp;k)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/MatMultCP.html#MatMultCP-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-int-boolean-boolean-">MatMultCP</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
+         <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
+         <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
+         <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
+         <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et,
+         int&nbsp;k,
+         boolean&nbsp;isLeftTransposed,
+         boolean&nbsp;isRightTransposed)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/MMCJ.html#MMCJ-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-boolean-org.apache.sysds.hops.AggBinaryOp.SparkAggType-org.apache.sysds.lops.LopProperties.ExecType-">MMCJ</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
     <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
     <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
@@ -1044,7 +1074,7 @@
     <a href="../../../../../org/apache/sysds/hops/AggBinaryOp.SparkAggType.html" title="enum in org.apache.sysds.hops">AggBinaryOp.SparkAggType</a>&nbsp;aggtype,
     <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/MMCJ.html#MMCJ-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.MMCJ.MMCJType-org.apache.sysds.lops.LopProperties.ExecType-">MMCJ</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
     <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
     <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
@@ -1054,7 +1084,7 @@
 <div class="block">Constructor to perform a cross product operation.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/MMRJ.html#MMRJ-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-">MMRJ</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
     <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
     <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
@@ -1063,14 +1093,14 @@
 <div class="block">Constructor to perform a cross product operation.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/MMTSJ.html#MMTSJ-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-org.apache.sysds.lops.MMTSJ.MMTSJType-">MMTSJ</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
      <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
      <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
      <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et,
      <a href="../../../../../org/apache/sysds/lops/MMTSJ.MMTSJType.html" title="enum in org.apache.sysds.lops">MMTSJ.MMTSJType</a>&nbsp;type)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/MMTSJ.html#MMTSJ-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-org.apache.sysds.lops.MMTSJ.MMTSJType-boolean-">MMTSJ</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
      <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
      <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
@@ -1078,7 +1108,7 @@
      <a href="../../../../../org/apache/sysds/lops/MMTSJ.MMTSJType.html" title="enum in org.apache.sysds.lops">MMTSJ.MMTSJType</a>&nbsp;type,
      boolean&nbsp;multiPass)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/MMTSJ.html#MMTSJ-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-org.apache.sysds.lops.MMTSJ.MMTSJType-boolean-int-">MMTSJ</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
      <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
      <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
@@ -1087,7 +1117,7 @@
      boolean&nbsp;multiPass,
      int&nbsp;k)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/MMZip.html#MMZip-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-boolean-org.apache.sysds.lops.LopProperties.ExecType-">MMZip</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
      <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
      <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
@@ -1095,14 +1125,14 @@
      boolean&nbsp;tRewrite,
      <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/Nary.html#Nary-org.apache.sysds.common.Types.OpOpN-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.Lop:A-org.apache.sysds.lops.LopProperties.ExecType-">Nary</a></span>(<a href="../../../../../org/apache/sysds/common/Types.OpOpN.html" title="enum in org.apache.sysds.common">Types.OpOpN</a>&nbsp;operationType,
     <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
     <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
     <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>[]&nbsp;inputLops,
     <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/PartialAggregate.html#PartialAggregate-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.AggOp-org.apache.sysds.common.Types.Direction-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.hops.AggBinaryOp.SparkAggType-org.apache.sysds.lops.LopProperties.ExecType-">PartialAggregate</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input,
                 <a href="../../../../../org/apache/sysds/common/Types.AggOp.html" title="enum in org.apache.sysds.common">Types.AggOp</a>&nbsp;op,
                 <a href="../../../../../org/apache/sysds/common/Types.Direction.html" title="enum in org.apache.sysds.common">Types.Direction</a>&nbsp;direct,
@@ -1111,7 +1141,7 @@
                 <a href="../../../../../org/apache/sysds/hops/AggBinaryOp.SparkAggType.html" title="enum in org.apache.sysds.hops">AggBinaryOp.SparkAggType</a>&nbsp;aggtype,
                 <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/PartialAggregate.html#PartialAggregate-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.AggOp-org.apache.sysds.common.Types.Direction-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-int-">PartialAggregate</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input,
                 <a href="../../../../../org/apache/sysds/common/Types.AggOp.html" title="enum in org.apache.sysds.common">Types.AggOp</a>&nbsp;op,
                 <a href="../../../../../org/apache/sysds/common/Types.Direction.html" title="enum in org.apache.sysds.common">Types.Direction</a>&nbsp;direct,
@@ -1120,7 +1150,7 @@
                 <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et,
                 int&nbsp;k)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/PickByCount.html#PickByCount-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.PickByCount.OperationTypes-org.apache.sysds.lops.LopProperties.ExecType-">PickByCount</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
            <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
            <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
@@ -1128,7 +1158,7 @@
            <a href="../../../../../org/apache/sysds/lops/PickByCount.OperationTypes.html" title="enum in org.apache.sysds.lops">PickByCount.OperationTypes</a>&nbsp;op,
            <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/PickByCount.html#PickByCount-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.PickByCount.OperationTypes-org.apache.sysds.lops.LopProperties.ExecType-boolean-">PickByCount</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
            <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
            <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
@@ -1137,13 +1167,13 @@
            <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et,
            boolean&nbsp;inMemoryInput)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/PMapMult.html#PMapMult-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-">PMapMult</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
         <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
         <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
         <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/PMMJ.html#PMMJ-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-boolean-boolean-org.apache.sysds.lops.LopProperties.ExecType-">PMMJ</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;pminput,
     <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;rightinput,
     <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;nrow,
@@ -1155,7 +1185,7 @@
 <div class="block">Constructor to setup a Permutation Matrix Multiplication</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/ReBlock.html#ReBlock-org.apache.sysds.lops.Lop-int-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-boolean-org.apache.sysds.lops.LopProperties.ExecType-">ReBlock</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input,
        int&nbsp;blen,
        <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
@@ -1163,7 +1193,7 @@
        boolean&nbsp;outputEmptyBlocks,
        <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/RightIndex.html#RightIndex-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.hops.AggBinaryOp.SparkAggType-org.apache.sysds.lops.LopProperties.ExecType-">RightIndex</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input,
           <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;rowL,
           <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;rowU,
@@ -1176,7 +1206,7 @@
           <a href="../../../../../org/apache/sysds/hops/AggBinaryOp.SparkAggType.html" title="enum in org.apache.sysds.hops">AggBinaryOp.SparkAggType</a>&nbsp;aggtype,
           <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/RightIndex.html#RightIndex-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-">RightIndex</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input,
           <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;rowL,
           <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;rowU,
@@ -1188,7 +1218,7 @@
           <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
           <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/RightIndex.html#RightIndex-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-boolean-">RightIndex</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input,
           <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;rowL,
           <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;rowU,
@@ -1201,7 +1231,7 @@
           <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et,
           boolean&nbsp;forleft)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/SortKeys.html#SortKeys-org.apache.sysds.lops.Lop-boolean-org.apache.sysds.lops.SortKeys.OperationTypes-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-">SortKeys</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input,
         boolean&nbsp;desc,
         <a href="../../../../../org/apache/sysds/lops/SortKeys.OperationTypes.html" title="enum in org.apache.sysds.lops">SortKeys.OperationTypes</a>&nbsp;op,
@@ -1209,7 +1239,7 @@
         <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
         <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/SortKeys.html#SortKeys-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.SortKeys.OperationTypes-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-">SortKeys</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
         <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
         <a href="../../../../../org/apache/sysds/lops/SortKeys.OperationTypes.html" title="enum in org.apache.sysds.lops">SortKeys.OperationTypes</a>&nbsp;op,
@@ -1217,23 +1247,24 @@
         <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
         <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/SortKeys.html#SortKeys-org.apache.sysds.lops.Lop-org.apache.sysds.lops.SortKeys.OperationTypes-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-">SortKeys</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input,
         <a href="../../../../../org/apache/sysds/lops/SortKeys.OperationTypes.html" title="enum in org.apache.sysds.lops">SortKeys.OperationTypes</a>&nbsp;op,
         <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
         <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
         <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/Ternary.html#Ternary-org.apache.sysds.common.Types.OpOp3-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-">Ternary</a></span>(<a href="../../../../../org/apache/sysds/common/Types.OpOp3.html" title="enum in org.apache.sysds.common">Types.OpOp3</a>&nbsp;op,
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/Ternary.html#Ternary-org.apache.sysds.common.Types.OpOp3-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-int-">Ternary</a></span>(<a href="../../../../../org/apache/sysds/common/Types.OpOp3.html" title="enum in org.apache.sysds.common">Types.OpOp3</a>&nbsp;op,
        <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
        <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
        <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input3,
        <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
        <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
-       <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
+       <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et,
+       int&nbsp;numThreads)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/TernaryAggregate.html#TernaryAggregate-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.AggOp-org.apache.sysds.common.Types.OpOp2-org.apache.sysds.common.Types.Direction-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-int-">TernaryAggregate</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
                 <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
                 <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input3,
@@ -1245,7 +1276,7 @@
                 <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et,
                 int&nbsp;k)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/Transform.html#Transform-org.apache.sysds.lops.Lop:A-org.apache.sysds.common.Types.ReOrgOp-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-boolean-org.apache.sysds.lops.LopProperties.ExecType-">Transform</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>[]&nbsp;inputs,
          <a href="../../../../../org/apache/sysds/common/Types.ReOrgOp.html" title="enum in org.apache.sysds.common">Types.ReOrgOp</a>&nbsp;op,
          <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
@@ -1253,7 +1284,7 @@
          boolean&nbsp;outputEmptyBlock,
          <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/Transform.html#Transform-org.apache.sysds.lops.Lop:A-org.apache.sysds.common.Types.ReOrgOp-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-boolean-">Transform</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>[]&nbsp;inputs,
          <a href="../../../../../org/apache/sysds/common/Types.ReOrgOp.html" title="enum in org.apache.sysds.common">Types.ReOrgOp</a>&nbsp;op,
          <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
@@ -1261,7 +1292,7 @@
          <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et,
          boolean&nbsp;bSortIndInMem)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/Transform.html#Transform-org.apache.sysds.lops.Lop:A-org.apache.sysds.common.Types.ReOrgOp-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-boolean-int-">Transform</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>[]&nbsp;inputs,
          <a href="../../../../../org/apache/sysds/common/Types.ReOrgOp.html" title="enum in org.apache.sysds.common">Types.ReOrgOp</a>&nbsp;op,
          <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
@@ -1270,7 +1301,7 @@
          boolean&nbsp;bSortIndInMem,
          int&nbsp;k)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/Transform.html#Transform-org.apache.sysds.lops.Lop:A-org.apache.sysds.common.Types.ReOrgOp-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-int-">Transform</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>[]&nbsp;inputs,
          <a href="../../../../../org/apache/sysds/common/Types.ReOrgOp.html" title="enum in org.apache.sysds.common">Types.ReOrgOp</a>&nbsp;op,
          <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
@@ -1278,14 +1309,14 @@
          <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et,
          int&nbsp;k)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/Transform.html#Transform-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.ReOrgOp-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-">Transform</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input,
          <a href="../../../../../org/apache/sysds/common/Types.ReOrgOp.html" title="enum in org.apache.sysds.common">Types.ReOrgOp</a>&nbsp;op,
          <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
          <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
          <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/Transform.html#Transform-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.ReOrgOp-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-boolean-">Transform</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input,
          <a href="../../../../../org/apache/sysds/common/Types.ReOrgOp.html" title="enum in org.apache.sysds.common">Types.ReOrgOp</a>&nbsp;op,
          <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
@@ -1293,7 +1324,7 @@
          <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et,
          boolean&nbsp;bSortIndInMem)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/Transform.html#Transform-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.ReOrgOp-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-int-">Transform</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input,
          <a href="../../../../../org/apache/sysds/common/Types.ReOrgOp.html" title="enum in org.apache.sysds.common">Types.ReOrgOp</a>&nbsp;op,
          <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
@@ -1301,7 +1332,7 @@
          <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et,
          int&nbsp;k)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/UAggOuterChain.html#UAggOuterChain-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.AggOp-org.apache.sysds.common.Types.Direction-org.apache.sysds.common.Types.OpOp2-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-">UAggOuterChain</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
               <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
               <a href="../../../../../org/apache/sysds/common/Types.AggOp.html" title="enum in org.apache.sysds.common">Types.AggOp</a>&nbsp;uaop,
@@ -1313,7 +1344,7 @@
 <div class="block">Constructor to setup a unaryagg outer chain</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/Unary.html#Unary-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.OpOp1-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-">Unary</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
      <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
      <a href="../../../../../org/apache/sysds/common/Types.OpOp1.html" title="enum in org.apache.sysds.common">Types.OpOp1</a>&nbsp;op,
@@ -1323,7 +1354,7 @@
 <div class="block">Constructor to perform a unary operation with 2 inputs</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/Unary.html#Unary-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.OpOp1-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-int-boolean-">Unary</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
      <a href="../../../../../org/apache/sysds/common/Types.OpOp1.html" title="enum in org.apache.sysds.common">Types.OpOp1</a>&nbsp;op,
      <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
@@ -1334,13 +1365,13 @@
 <div class="block">Constructor to perform a unary operation with 1 input.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/UnaryCP.html#UnaryCP-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.OpOp1-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-">UnaryCP</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input,
        <a href="../../../../../org/apache/sysds/common/Types.OpOp1.html" title="enum in org.apache.sysds.common">Types.OpOp1</a>&nbsp;op,
        <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
        <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/UnaryCP.html#UnaryCP-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.OpOp1-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-">UnaryCP</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input,
        <a href="../../../../../org/apache/sysds/common/Types.OpOp1.html" title="enum in org.apache.sysds.common">Types.OpOp1</a>&nbsp;op,
        <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
@@ -1349,7 +1380,7 @@
 <div class="block">Constructor to perform a scalar operation</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/WeightedCrossEntropy.html#WeightedCrossEntropy-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.WeightedCrossEntropy.WCeMMType-org.apache.sysds.lops.LopProperties.ExecType-">WeightedCrossEntropy</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
                     <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
                     <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input3,
@@ -1359,7 +1390,7 @@
                     <a href="../../../../../org/apache/sysds/lops/WeightedCrossEntropy.WCeMMType.html" title="enum in org.apache.sysds.lops">WeightedCrossEntropy.WCeMMType</a>&nbsp;wt,
                     <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/WeightedCrossEntropyR.html#WeightedCrossEntropyR-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.WeightedCrossEntropy.WCeMMType-boolean-boolean-org.apache.sysds.lops.LopProperties.ExecType-">WeightedCrossEntropyR</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
                      <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
                      <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input3,
@@ -1371,7 +1402,7 @@
                      boolean&nbsp;cacheV,
                      <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/WeightedDivMM.html#WeightedDivMM-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.WeightedDivMM.WDivMMType-org.apache.sysds.lops.LopProperties.ExecType-">WeightedDivMM</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
              <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
              <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input3,
@@ -1381,7 +1412,7 @@
              <a href="../../../../../org/apache/sysds/lops/WeightedDivMM.WDivMMType.html" title="enum in org.apache.sysds.lops">WeightedDivMM.WDivMMType</a>&nbsp;wt,
              <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/WeightedDivMMR.html#WeightedDivMMR-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.WeightedDivMM.WDivMMType-boolean-boolean-org.apache.sysds.lops.LopProperties.ExecType-">WeightedDivMMR</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
               <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
               <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input3,
@@ -1393,7 +1424,7 @@
               boolean&nbsp;cacheV,
               <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/WeightedSigmoid.html#WeightedSigmoid-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.WeightedSigmoid.WSigmoidType-org.apache.sysds.lops.LopProperties.ExecType-">WeightedSigmoid</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
                <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
                <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input3,
@@ -1402,7 +1433,7 @@
                <a href="../../../../../org/apache/sysds/lops/WeightedSigmoid.WSigmoidType.html" title="enum in org.apache.sysds.lops">WeightedSigmoid.WSigmoidType</a>&nbsp;wt,
                <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/WeightedSigmoidR.html#WeightedSigmoidR-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.WeightedSigmoid.WSigmoidType-boolean-boolean-org.apache.sysds.lops.LopProperties.ExecType-">WeightedSigmoidR</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
                 <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
                 <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input3,
@@ -1413,7 +1444,7 @@
                 boolean&nbsp;cacheV,
                 <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/WeightedSquaredLoss.html#WeightedSquaredLoss-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.WeightedSquaredLoss.WeightsType-org.apache.sysds.lops.LopProperties.ExecType-">WeightedSquaredLoss</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
                    <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
                    <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input3,
@@ -1423,7 +1454,7 @@
                    <a href="../../../../../org/apache/sysds/lops/WeightedSquaredLoss.WeightsType.html" title="enum in org.apache.sysds.lops">WeightedSquaredLoss.WeightsType</a>&nbsp;wt,
                    <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/WeightedSquaredLossR.html#WeightedSquaredLossR-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.WeightedSquaredLoss.WeightsType-boolean-boolean-org.apache.sysds.lops.LopProperties.ExecType-">WeightedSquaredLossR</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
                     <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
                     <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input3,
@@ -1435,7 +1466,7 @@
                     boolean&nbsp;cacheV,
                     <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/WeightedUnaryMM.html#WeightedUnaryMM-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.WeightedUnaryMM.WUMMType-org.apache.sysds.common.Types.OpOp1-org.apache.sysds.lops.LopProperties.ExecType-">WeightedUnaryMM</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
                <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
                <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input3,
@@ -1445,7 +1476,7 @@
                <a href="../../../../../org/apache/sysds/common/Types.OpOp1.html" title="enum in org.apache.sysds.common">Types.OpOp1</a>&nbsp;op,
                <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/WeightedUnaryMMR.html#WeightedUnaryMMR-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.WeightedUnaryMM.WUMMType-org.apache.sysds.common.Types.OpOp1-boolean-boolean-org.apache.sysds.lops.LopProperties.ExecType-">WeightedUnaryMMR</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
                 <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
                 <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input3,
@@ -1563,10 +1594,12 @@
                     int&nbsp;k)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/SpoofFused.html#SpoofFused-java.util.ArrayList-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-java.lang.Class-int-org.apache.sysds.lops.LopProperties.ExecType-">SpoofFused</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&gt;&nbsp;inputs,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/SpoofFused.html#SpoofFused-java.util.ArrayList-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-java.lang.Class-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-java.lang.String-int-org.apache.sysds.lops.LopProperties.ExecType-">SpoofFused</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&gt;&nbsp;inputs,
           <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
           <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
           <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;cla,
+          <a href="../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&nbsp;api,
+          <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;genVarName,
           int&nbsp;k,
           <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;etype)</code>&nbsp;</td>
 </tr>
@@ -1782,6 +1815,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/class-use/LopProperties.ExecType.html b/docs/api/java/org/apache/sysds/lops/class-use/LopProperties.ExecType.html
index ab5111d..919ec68 100644
--- a/docs/api/java/org/apache/sysds/lops/class-use/LopProperties.ExecType.html
+++ b/docs/api/java/org/apache/sysds/lops/class-use/LopProperties.ExecType.html
@@ -141,18 +141,23 @@
                 <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&gt;&nbsp;inputs)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><span class="typeNameLabel">TernaryOp.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/TernaryOp.html#isCTableReshapeRewriteApplicable-org.apache.sysds.lops.LopProperties.ExecType-org.apache.sysds.lops.Ctable.OperationTypes-">isCTableReshapeRewriteApplicable</a></span>(<a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et,
+                                <a href="../../../../../org/apache/sysds/lops/Ctable.OperationTypes.html" title="enum in org.apache.sysds.lops">Ctable.OperationTypes</a>&nbsp;opType)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">Hop.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/Hop.html#resetRecompilationFlag-java.util.ArrayList-org.apache.sysds.lops.LopProperties.ExecType-org.apache.sysds.hops.recompile.Recompiler.ResetType-">resetRecompilationFlag</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&gt;&nbsp;hops,
                       <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et,
                       <a href="../../../../../org/apache/sysds/hops/recompile/Recompiler.ResetType.html" title="enum in org.apache.sysds.hops.recompile">Recompiler.ResetType</a>&nbsp;reset)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">Hop.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/Hop.html#resetRecompilationFlag-org.apache.sysds.hops.Hop-org.apache.sysds.lops.LopProperties.ExecType-org.apache.sysds.hops.recompile.Recompiler.ResetType-">resetRecompilationFlag</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hops,
                       <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et,
                       <a href="../../../../../org/apache/sysds/hops/recompile/Recompiler.ResetType.html" title="enum in org.apache.sysds.hops.recompile">Recompiler.ResetType</a>&nbsp;reset)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">Hop.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/Hop.html#setForcedExecType-org.apache.sysds.lops.LopProperties.ExecType-">setForcedExecType</a></span>(<a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;etype)</code>&nbsp;</td>
 </tr>
@@ -194,6 +199,13 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static void</code></td>
+<td class="colLast"><span class="typeNameLabel">Recompiler.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/recompile/Recompiler.html#rRecompileProgramBlock2Forced-org.apache.sysds.runtime.controlprogram.ProgramBlock-long-java.util.HashSet-org.apache.sysds.lops.LopProperties.ExecType-">rRecompileProgramBlock2Forced</a></span>(<a href="../../../../../org/apache/sysds/runtime/controlprogram/ProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ProgramBlock</a>&nbsp;pb,
+                             long&nbsp;tid,
+                             <a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashSet.html?is-external=true" title="class or interface in java.util">HashSet</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;fnStack,
+                             <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">Recompiler.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/recompile/Recompiler.html#rSetExecType-org.apache.sysds.hops.Hop-org.apache.sysds.lops.LopProperties.ExecType-">rSetExecType</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop,
             <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;etype)</code>&nbsp;</td>
 </tr>
@@ -372,6 +384,15 @@
 </td>
 </tr>
 <tr class="rowColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/Binary.html#Binary-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.OpOp2-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-int-">Binary</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
+      <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
+      <a href="../../../../../org/apache/sysds/common/Types.OpOp2.html" title="enum in org.apache.sysds.common">Types.OpOp2</a>&nbsp;op,
+      <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
+      <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
+      <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et,
+      int&nbsp;k)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/BinaryM.html#BinaryM-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.OpOp2-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-boolean-">BinaryM</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
        <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
        <a href="../../../../../org/apache/sysds/common/Types.OpOp2.html" title="enum in org.apache.sysds.common">Types.OpOp2</a>&nbsp;op,
@@ -382,7 +403,7 @@
 <div class="block">Constructor to perform a binary operation.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/BinaryUAggChain.html#BinaryUAggChain-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.OpOp2-org.apache.sysds.common.Types.AggOp-org.apache.sysds.common.Types.Direction-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-">BinaryUAggChain</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
                <a href="../../../../../org/apache/sysds/common/Types.OpOp2.html" title="enum in org.apache.sysds.common">Types.OpOp2</a>&nbsp;bop,
                <a href="../../../../../org/apache/sysds/common/Types.AggOp.html" title="enum in org.apache.sysds.common">Types.AggOp</a>&nbsp;uaop,
@@ -393,7 +414,7 @@
 <div class="block">Constructor to setup a map mult chain without weights</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/CentralMoment.html#CentralMoment-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-">CentralMoment</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
              <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
              <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input3,
@@ -401,20 +422,20 @@
              <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
              <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/CentralMoment.html#CentralMoment-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-">CentralMoment</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
              <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
              <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
              <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
              <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/Compression.html#Compression-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-">Compression</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input,
            <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
            <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
            <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/CoVariance.html#CoVariance-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-">CoVariance</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
           <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
           <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input3,
@@ -422,42 +443,43 @@
           <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
           <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/CoVariance.html#CoVariance-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-">CoVariance</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
           <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
           <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
           <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
           <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/CoVariance.html#CoVariance-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-">CoVariance</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
           <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
           <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
           <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/CSVReBlock.html#CSVReBlock-org.apache.sysds.lops.Lop-int-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-">CSVReBlock</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input,
           int&nbsp;blen,
           <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
           <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
           <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/Ctable.html#Ctable-org.apache.sysds.lops.Lop:A-org.apache.sysds.lops.Ctable.OperationTypes-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-boolean-org.apache.sysds.lops.LopProperties.ExecType-">Ctable</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>[]&nbsp;inputLops,
+<tr class="rowColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/Ctable.html#Ctable-org.apache.sysds.lops.Lop:A-org.apache.sysds.lops.Ctable.OperationTypes-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-boolean-boolean-org.apache.sysds.lops.LopProperties.ExecType-">Ctable</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>[]&nbsp;inputLops,
       <a href="../../../../../org/apache/sysds/lops/Ctable.OperationTypes.html" title="enum in org.apache.sysds.lops">Ctable.OperationTypes</a>&nbsp;op,
       <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
       <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
       boolean&nbsp;ignoreZeros,
+      boolean&nbsp;outputEmptyBlocks,
       <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/Ctable.html#Ctable-org.apache.sysds.lops.Lop:A-org.apache.sysds.lops.Ctable.OperationTypes-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-">Ctable</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>[]&nbsp;inputLops,
       <a href="../../../../../org/apache/sysds/lops/Ctable.OperationTypes.html" title="enum in org.apache.sysds.lops">Ctable.OperationTypes</a>&nbsp;op,
       <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
       <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
       <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/CumulativeOffsetBinary.html#CumulativeOffsetBinary-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-double-boolean-org.apache.sysds.common.Types.AggOp-org.apache.sysds.lops.LopProperties.ExecType-">CumulativeOffsetBinary</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;data,
                       <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;offsets,
                       <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
@@ -467,7 +489,7 @@
                       <a href="../../../../../org/apache/sysds/common/Types.AggOp.html" title="enum in org.apache.sysds.common">Types.AggOp</a>&nbsp;op,
                       <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/CumulativeOffsetBinary.html#CumulativeOffsetBinary-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.common.Types.AggOp-org.apache.sysds.lops.LopProperties.ExecType-">CumulativeOffsetBinary</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;data,
                       <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;offsets,
                       <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
@@ -475,14 +497,14 @@
                       <a href="../../../../../org/apache/sysds/common/Types.AggOp.html" title="enum in org.apache.sysds.common">Types.AggOp</a>&nbsp;op,
                       <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/CumulativePartialAggregate.html#CumulativePartialAggregate-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.common.Types.AggOp-org.apache.sysds.lops.LopProperties.ExecType-">CumulativePartialAggregate</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input,
                           <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
                           <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
                           <a href="../../../../../org/apache/sysds/common/Types.AggOp.html" title="enum in org.apache.sysds.common">Types.AggOp</a>&nbsp;op,
                           <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/DataGen.html#DataGen-org.apache.sysds.common.Types.OpOpDG-org.apache.sysds.parser.DataIdentifier-java.util.HashMap-java.lang.String-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-">DataGen</a></span>(<a href="../../../../../org/apache/sysds/common/Types.OpOpDG.html" title="enum in org.apache.sysds.common">Types.OpOpDG</a>&nbsp;op,
        <a href="../../../../../org/apache/sysds/parser/DataIdentifier.html" title="class in org.apache.sysds.parser">DataIdentifier</a>&nbsp;id,
        <a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&gt;&nbsp;inputParametersLops,
@@ -493,6 +515,12 @@
 <div class="block">Creates a new Rand-LOP.</div>
 </td>
 </tr>
+<tr class="rowColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/DeCompression.html#DeCompression-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-">DeCompression</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input,
+             <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
+             <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
+             <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
+</tr>
 <tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/DnnTransform.html#DnnTransform-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.OpOpDnn-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-int-">DnnTransform</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
             <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
@@ -636,6 +664,16 @@
          int&nbsp;k)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/MatMultCP.html#MatMultCP-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-int-boolean-boolean-">MatMultCP</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
+         <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
+         <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
+         <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
+         <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et,
+         int&nbsp;k,
+         boolean&nbsp;isLeftTransposed,
+         boolean&nbsp;isRightTransposed)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/MMCJ.html#MMCJ-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-boolean-org.apache.sysds.hops.AggBinaryOp.SparkAggType-org.apache.sysds.lops.LopProperties.ExecType-">MMCJ</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
     <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
     <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
@@ -644,7 +682,7 @@
     <a href="../../../../../org/apache/sysds/hops/AggBinaryOp.SparkAggType.html" title="enum in org.apache.sysds.hops">AggBinaryOp.SparkAggType</a>&nbsp;aggtype,
     <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/MMCJ.html#MMCJ-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.MMCJ.MMCJType-org.apache.sysds.lops.LopProperties.ExecType-">MMCJ</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
     <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
     <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
@@ -654,7 +692,7 @@
 <div class="block">Constructor to perform a cross product operation.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/MMRJ.html#MMRJ-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-">MMRJ</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
     <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
     <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
@@ -663,14 +701,14 @@
 <div class="block">Constructor to perform a cross product operation.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/MMTSJ.html#MMTSJ-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-org.apache.sysds.lops.MMTSJ.MMTSJType-">MMTSJ</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
      <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
      <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
      <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et,
      <a href="../../../../../org/apache/sysds/lops/MMTSJ.MMTSJType.html" title="enum in org.apache.sysds.lops">MMTSJ.MMTSJType</a>&nbsp;type)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/MMTSJ.html#MMTSJ-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-org.apache.sysds.lops.MMTSJ.MMTSJType-boolean-">MMTSJ</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
      <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
      <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
@@ -678,7 +716,7 @@
      <a href="../../../../../org/apache/sysds/lops/MMTSJ.MMTSJType.html" title="enum in org.apache.sysds.lops">MMTSJ.MMTSJType</a>&nbsp;type,
      boolean&nbsp;multiPass)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/MMTSJ.html#MMTSJ-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-org.apache.sysds.lops.MMTSJ.MMTSJType-boolean-int-">MMTSJ</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
      <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
      <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
@@ -687,7 +725,7 @@
      boolean&nbsp;multiPass,
      int&nbsp;k)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/MMZip.html#MMZip-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-boolean-org.apache.sysds.lops.LopProperties.ExecType-">MMZip</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
      <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
      <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
@@ -695,21 +733,21 @@
      boolean&nbsp;tRewrite,
      <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/Nary.html#Nary-org.apache.sysds.common.Types.OpOpN-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.Lop:A-org.apache.sysds.lops.LopProperties.ExecType-">Nary</a></span>(<a href="../../../../../org/apache/sysds/common/Types.OpOpN.html" title="enum in org.apache.sysds.common">Types.OpOpN</a>&nbsp;operationType,
     <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
     <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
     <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>[]&nbsp;inputLops,
     <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/ParameterizedBuiltin.html#ParameterizedBuiltin-java.util.HashMap-org.apache.sysds.common.Types.ParamBuiltinOp-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-">ParameterizedBuiltin</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&gt;&nbsp;paramLops,
                     <a href="../../../../../org/apache/sysds/common/Types.ParamBuiltinOp.html" title="enum in org.apache.sysds.common">Types.ParamBuiltinOp</a>&nbsp;op,
                     <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
                     <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
                     <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/ParameterizedBuiltin.html#ParameterizedBuiltin-java.util.HashMap-org.apache.sysds.common.Types.ParamBuiltinOp-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-boolean-">ParameterizedBuiltin</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&gt;&nbsp;paramLops,
                     <a href="../../../../../org/apache/sysds/common/Types.ParamBuiltinOp.html" title="enum in org.apache.sysds.common">Types.ParamBuiltinOp</a>&nbsp;op,
                     <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
@@ -717,7 +755,7 @@
                     <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et,
                     boolean&nbsp;bRmEmptyBC)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/ParameterizedBuiltin.html#ParameterizedBuiltin-java.util.HashMap-org.apache.sysds.common.Types.ParamBuiltinOp-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-int-">ParameterizedBuiltin</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&gt;&nbsp;paramLops,
                     <a href="../../../../../org/apache/sysds/common/Types.ParamBuiltinOp.html" title="enum in org.apache.sysds.common">Types.ParamBuiltinOp</a>&nbsp;op,
                     <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
@@ -725,7 +763,7 @@
                     <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et,
                     int&nbsp;k)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/PartialAggregate.html#PartialAggregate-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.AggOp-org.apache.sysds.common.Types.Direction-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.hops.AggBinaryOp.SparkAggType-org.apache.sysds.lops.LopProperties.ExecType-">PartialAggregate</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input,
                 <a href="../../../../../org/apache/sysds/common/Types.AggOp.html" title="enum in org.apache.sysds.common">Types.AggOp</a>&nbsp;op,
                 <a href="../../../../../org/apache/sysds/common/Types.Direction.html" title="enum in org.apache.sysds.common">Types.Direction</a>&nbsp;direct,
@@ -734,7 +772,7 @@
                 <a href="../../../../../org/apache/sysds/hops/AggBinaryOp.SparkAggType.html" title="enum in org.apache.sysds.hops">AggBinaryOp.SparkAggType</a>&nbsp;aggtype,
                 <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/PartialAggregate.html#PartialAggregate-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.AggOp-org.apache.sysds.common.Types.Direction-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-int-">PartialAggregate</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input,
                 <a href="../../../../../org/apache/sysds/common/Types.AggOp.html" title="enum in org.apache.sysds.common">Types.AggOp</a>&nbsp;op,
                 <a href="../../../../../org/apache/sysds/common/Types.Direction.html" title="enum in org.apache.sysds.common">Types.Direction</a>&nbsp;direct,
@@ -743,7 +781,7 @@
                 <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et,
                 int&nbsp;k)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/PickByCount.html#PickByCount-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.PickByCount.OperationTypes-org.apache.sysds.lops.LopProperties.ExecType-">PickByCount</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
            <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
            <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
@@ -751,7 +789,7 @@
            <a href="../../../../../org/apache/sysds/lops/PickByCount.OperationTypes.html" title="enum in org.apache.sysds.lops">PickByCount.OperationTypes</a>&nbsp;op,
            <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/PickByCount.html#PickByCount-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.PickByCount.OperationTypes-org.apache.sysds.lops.LopProperties.ExecType-boolean-">PickByCount</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
            <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
            <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
@@ -760,7 +798,7 @@
            <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et,
            boolean&nbsp;inMemoryInput)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/PMMJ.html#PMMJ-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-boolean-boolean-org.apache.sysds.lops.LopProperties.ExecType-">PMMJ</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;pminput,
     <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;rightinput,
     <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;nrow,
@@ -772,7 +810,7 @@
 <div class="block">Constructor to setup a Permutation Matrix Multiplication</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/ReBlock.html#ReBlock-org.apache.sysds.lops.Lop-int-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-boolean-org.apache.sysds.lops.LopProperties.ExecType-">ReBlock</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input,
        int&nbsp;blen,
        <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
@@ -780,7 +818,7 @@
        boolean&nbsp;outputEmptyBlocks,
        <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/RightIndex.html#RightIndex-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.hops.AggBinaryOp.SparkAggType-org.apache.sysds.lops.LopProperties.ExecType-">RightIndex</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input,
           <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;rowL,
           <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;rowU,
@@ -793,7 +831,7 @@
           <a href="../../../../../org/apache/sysds/hops/AggBinaryOp.SparkAggType.html" title="enum in org.apache.sysds.hops">AggBinaryOp.SparkAggType</a>&nbsp;aggtype,
           <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/RightIndex.html#RightIndex-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-">RightIndex</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input,
           <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;rowL,
           <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;rowU,
@@ -805,7 +843,7 @@
           <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
           <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/RightIndex.html#RightIndex-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-boolean-">RightIndex</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input,
           <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;rowL,
           <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;rowU,
@@ -818,7 +856,7 @@
           <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et,
           boolean&nbsp;forleft)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/SortKeys.html#SortKeys-org.apache.sysds.lops.Lop-boolean-org.apache.sysds.lops.SortKeys.OperationTypes-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-">SortKeys</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input,
         boolean&nbsp;desc,
         <a href="../../../../../org/apache/sysds/lops/SortKeys.OperationTypes.html" title="enum in org.apache.sysds.lops">SortKeys.OperationTypes</a>&nbsp;op,
@@ -826,7 +864,7 @@
         <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
         <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/SortKeys.html#SortKeys-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.SortKeys.OperationTypes-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-">SortKeys</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
         <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
         <a href="../../../../../org/apache/sysds/lops/SortKeys.OperationTypes.html" title="enum in org.apache.sysds.lops">SortKeys.OperationTypes</a>&nbsp;op,
@@ -834,31 +872,34 @@
         <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
         <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/SortKeys.html#SortKeys-org.apache.sysds.lops.Lop-org.apache.sysds.lops.SortKeys.OperationTypes-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-">SortKeys</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input,
         <a href="../../../../../org/apache/sysds/lops/SortKeys.OperationTypes.html" title="enum in org.apache.sysds.lops">SortKeys.OperationTypes</a>&nbsp;op,
         <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
         <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
         <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/SpoofFused.html#SpoofFused-java.util.ArrayList-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-java.lang.Class-int-org.apache.sysds.lops.LopProperties.ExecType-">SpoofFused</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&gt;&nbsp;inputs,
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/SpoofFused.html#SpoofFused-java.util.ArrayList-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-java.lang.Class-org.apache.sysds.hops.codegen.SpoofCompiler.GeneratorAPI-java.lang.String-int-org.apache.sysds.lops.LopProperties.ExecType-">SpoofFused</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&gt;&nbsp;inputs,
           <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
           <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
           <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;cla,
+          <a href="../../../../../org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a>&nbsp;api,
+          <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;genVarName,
           int&nbsp;k,
           <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;etype)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/Ternary.html#Ternary-org.apache.sysds.common.Types.OpOp3-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-">Ternary</a></span>(<a href="../../../../../org/apache/sysds/common/Types.OpOp3.html" title="enum in org.apache.sysds.common">Types.OpOp3</a>&nbsp;op,
+<tr class="rowColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/Ternary.html#Ternary-org.apache.sysds.common.Types.OpOp3-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-int-">Ternary</a></span>(<a href="../../../../../org/apache/sysds/common/Types.OpOp3.html" title="enum in org.apache.sysds.common">Types.OpOp3</a>&nbsp;op,
        <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
        <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
        <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input3,
        <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
        <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
-       <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
+       <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et,
+       int&nbsp;numThreads)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/TernaryAggregate.html#TernaryAggregate-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.AggOp-org.apache.sysds.common.Types.OpOp2-org.apache.sysds.common.Types.Direction-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-int-">TernaryAggregate</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
                 <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
                 <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input3,
@@ -870,7 +911,7 @@
                 <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et,
                 int&nbsp;k)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/Transform.html#Transform-org.apache.sysds.lops.Lop:A-org.apache.sysds.common.Types.ReOrgOp-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-boolean-org.apache.sysds.lops.LopProperties.ExecType-">Transform</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>[]&nbsp;inputs,
          <a href="../../../../../org/apache/sysds/common/Types.ReOrgOp.html" title="enum in org.apache.sysds.common">Types.ReOrgOp</a>&nbsp;op,
          <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
@@ -878,7 +919,7 @@
          boolean&nbsp;outputEmptyBlock,
          <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/Transform.html#Transform-org.apache.sysds.lops.Lop:A-org.apache.sysds.common.Types.ReOrgOp-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-boolean-">Transform</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>[]&nbsp;inputs,
          <a href="../../../../../org/apache/sysds/common/Types.ReOrgOp.html" title="enum in org.apache.sysds.common">Types.ReOrgOp</a>&nbsp;op,
          <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
@@ -886,7 +927,7 @@
          <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et,
          boolean&nbsp;bSortIndInMem)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/Transform.html#Transform-org.apache.sysds.lops.Lop:A-org.apache.sysds.common.Types.ReOrgOp-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-boolean-int-">Transform</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>[]&nbsp;inputs,
          <a href="../../../../../org/apache/sysds/common/Types.ReOrgOp.html" title="enum in org.apache.sysds.common">Types.ReOrgOp</a>&nbsp;op,
          <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
@@ -895,7 +936,7 @@
          boolean&nbsp;bSortIndInMem,
          int&nbsp;k)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/Transform.html#Transform-org.apache.sysds.lops.Lop:A-org.apache.sysds.common.Types.ReOrgOp-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-int-">Transform</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>[]&nbsp;inputs,
          <a href="../../../../../org/apache/sysds/common/Types.ReOrgOp.html" title="enum in org.apache.sysds.common">Types.ReOrgOp</a>&nbsp;op,
          <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
@@ -903,14 +944,14 @@
          <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et,
          int&nbsp;k)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/Transform.html#Transform-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.ReOrgOp-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-">Transform</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input,
          <a href="../../../../../org/apache/sysds/common/Types.ReOrgOp.html" title="enum in org.apache.sysds.common">Types.ReOrgOp</a>&nbsp;op,
          <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
          <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
          <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/Transform.html#Transform-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.ReOrgOp-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-boolean-">Transform</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input,
          <a href="../../../../../org/apache/sysds/common/Types.ReOrgOp.html" title="enum in org.apache.sysds.common">Types.ReOrgOp</a>&nbsp;op,
          <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
@@ -918,7 +959,7 @@
          <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et,
          boolean&nbsp;bSortIndInMem)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/Transform.html#Transform-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.ReOrgOp-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-int-">Transform</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input,
          <a href="../../../../../org/apache/sysds/common/Types.ReOrgOp.html" title="enum in org.apache.sysds.common">Types.ReOrgOp</a>&nbsp;op,
          <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
@@ -926,7 +967,7 @@
          <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et,
          int&nbsp;k)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/UAggOuterChain.html#UAggOuterChain-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.AggOp-org.apache.sysds.common.Types.Direction-org.apache.sysds.common.Types.OpOp2-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-">UAggOuterChain</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
               <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
               <a href="../../../../../org/apache/sysds/common/Types.AggOp.html" title="enum in org.apache.sysds.common">Types.AggOp</a>&nbsp;uaop,
@@ -938,7 +979,7 @@
 <div class="block">Constructor to setup a unaryagg outer chain</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/Unary.html#Unary-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.OpOp1-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-">Unary</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
      <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
      <a href="../../../../../org/apache/sysds/common/Types.OpOp1.html" title="enum in org.apache.sysds.common">Types.OpOp1</a>&nbsp;op,
@@ -948,7 +989,7 @@
 <div class="block">Constructor to perform a unary operation with 2 inputs</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/Unary.html#Unary-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.OpOp1-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-int-boolean-">Unary</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
      <a href="../../../../../org/apache/sysds/common/Types.OpOp1.html" title="enum in org.apache.sysds.common">Types.OpOp1</a>&nbsp;op,
      <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
@@ -959,7 +1000,7 @@
 <div class="block">Constructor to perform a unary operation with 1 input.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/UnaryCP.html#UnaryCP-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.OpOp1-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.LopProperties.ExecType-">UnaryCP</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input,
        <a href="../../../../../org/apache/sysds/common/Types.OpOp1.html" title="enum in org.apache.sysds.common">Types.OpOp1</a>&nbsp;op,
        <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
@@ -968,7 +1009,7 @@
 <div class="block">Constructor to perform a scalar operation</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/WeightedCrossEntropy.html#WeightedCrossEntropy-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.WeightedCrossEntropy.WCeMMType-org.apache.sysds.lops.LopProperties.ExecType-">WeightedCrossEntropy</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
                     <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
                     <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input3,
@@ -978,7 +1019,7 @@
                     <a href="../../../../../org/apache/sysds/lops/WeightedCrossEntropy.WCeMMType.html" title="enum in org.apache.sysds.lops">WeightedCrossEntropy.WCeMMType</a>&nbsp;wt,
                     <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/WeightedCrossEntropyR.html#WeightedCrossEntropyR-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.WeightedCrossEntropy.WCeMMType-boolean-boolean-org.apache.sysds.lops.LopProperties.ExecType-">WeightedCrossEntropyR</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
                      <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
                      <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input3,
@@ -990,7 +1031,7 @@
                      boolean&nbsp;cacheV,
                      <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/WeightedDivMM.html#WeightedDivMM-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.WeightedDivMM.WDivMMType-org.apache.sysds.lops.LopProperties.ExecType-">WeightedDivMM</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
              <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
              <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input3,
@@ -1000,7 +1041,7 @@
              <a href="../../../../../org/apache/sysds/lops/WeightedDivMM.WDivMMType.html" title="enum in org.apache.sysds.lops">WeightedDivMM.WDivMMType</a>&nbsp;wt,
              <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/WeightedDivMMR.html#WeightedDivMMR-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.WeightedDivMM.WDivMMType-boolean-boolean-org.apache.sysds.lops.LopProperties.ExecType-">WeightedDivMMR</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
               <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
               <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input3,
@@ -1012,7 +1053,7 @@
               boolean&nbsp;cacheV,
               <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/WeightedSigmoid.html#WeightedSigmoid-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.WeightedSigmoid.WSigmoidType-org.apache.sysds.lops.LopProperties.ExecType-">WeightedSigmoid</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
                <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
                <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input3,
@@ -1021,7 +1062,7 @@
                <a href="../../../../../org/apache/sysds/lops/WeightedSigmoid.WSigmoidType.html" title="enum in org.apache.sysds.lops">WeightedSigmoid.WSigmoidType</a>&nbsp;wt,
                <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/WeightedSigmoidR.html#WeightedSigmoidR-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.WeightedSigmoid.WSigmoidType-boolean-boolean-org.apache.sysds.lops.LopProperties.ExecType-">WeightedSigmoidR</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
                 <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
                 <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input3,
@@ -1032,7 +1073,7 @@
                 boolean&nbsp;cacheV,
                 <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/WeightedSquaredLoss.html#WeightedSquaredLoss-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.WeightedSquaredLoss.WeightsType-org.apache.sysds.lops.LopProperties.ExecType-">WeightedSquaredLoss</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
                    <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
                    <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input3,
@@ -1042,7 +1083,7 @@
                    <a href="../../../../../org/apache/sysds/lops/WeightedSquaredLoss.WeightsType.html" title="enum in org.apache.sysds.lops">WeightedSquaredLoss.WeightsType</a>&nbsp;wt,
                    <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/WeightedSquaredLossR.html#WeightedSquaredLossR-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.WeightedSquaredLoss.WeightsType-boolean-boolean-org.apache.sysds.lops.LopProperties.ExecType-">WeightedSquaredLossR</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
                     <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
                     <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input3,
@@ -1054,7 +1095,7 @@
                     boolean&nbsp;cacheV,
                     <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/WeightedUnaryMM.html#WeightedUnaryMM-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.WeightedUnaryMM.WUMMType-org.apache.sysds.common.Types.OpOp1-org.apache.sysds.lops.LopProperties.ExecType-">WeightedUnaryMM</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
                <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
                <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input3,
@@ -1064,7 +1105,7 @@
                <a href="../../../../../org/apache/sysds/common/Types.OpOp1.html" title="enum in org.apache.sysds.common">Types.OpOp1</a>&nbsp;op,
                <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/lops/WeightedUnaryMMR.html#WeightedUnaryMMR-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.lops.WeightedUnaryMM.WUMMType-org.apache.sysds.common.Types.OpOp1-boolean-boolean-org.apache.sysds.lops.LopProperties.ExecType-">WeightedUnaryMMR</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input1,
                 <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input2,
                 <a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;input3,
@@ -1190,6 +1231,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/class-use/LopProperties.html b/docs/api/java/org/apache/sysds/lops/class-use/LopProperties.html
index cfe09bb..b0dbd3e 100644
--- a/docs/api/java/org/apache/sysds/lops/class-use/LopProperties.html
+++ b/docs/api/java/org/apache/sysds/lops/class-use/LopProperties.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/class-use/LopsException.html b/docs/api/java/org/apache/sysds/lops/class-use/LopsException.html
index 4ad289f..b12d050 100644
--- a/docs/api/java/org/apache/sysds/lops/class-use/LopsException.html
+++ b/docs/api/java/org/apache/sysds/lops/class-use/LopsException.html
@@ -161,6 +161,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/class-use/MMCJ.MMCJType.html b/docs/api/java/org/apache/sysds/lops/class-use/MMCJ.MMCJType.html
index f7db164..f1a8f4e 100644
--- a/docs/api/java/org/apache/sysds/lops/class-use/MMCJ.MMCJType.html
+++ b/docs/api/java/org/apache/sysds/lops/class-use/MMCJ.MMCJType.html
@@ -187,6 +187,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/class-use/MMCJ.html b/docs/api/java/org/apache/sysds/lops/class-use/MMCJ.html
index 156cbce..6598c6d 100644
--- a/docs/api/java/org/apache/sysds/lops/class-use/MMCJ.html
+++ b/docs/api/java/org/apache/sysds/lops/class-use/MMCJ.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/class-use/MMRJ.html b/docs/api/java/org/apache/sysds/lops/class-use/MMRJ.html
index 8728723..25c1ce1 100644
--- a/docs/api/java/org/apache/sysds/lops/class-use/MMRJ.html
+++ b/docs/api/java/org/apache/sysds/lops/class-use/MMRJ.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/class-use/MMTSJ.MMTSJType.html b/docs/api/java/org/apache/sysds/lops/class-use/MMTSJ.MMTSJType.html
index 9b49d77..637ea5b 100644
--- a/docs/api/java/org/apache/sysds/lops/class-use/MMTSJ.MMTSJType.html
+++ b/docs/api/java/org/apache/sysds/lops/class-use/MMTSJ.MMTSJType.html
@@ -388,6 +388,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/class-use/MMTSJ.html b/docs/api/java/org/apache/sysds/lops/class-use/MMTSJ.html
index f853364..1a1948e 100644
--- a/docs/api/java/org/apache/sysds/lops/class-use/MMTSJ.html
+++ b/docs/api/java/org/apache/sysds/lops/class-use/MMTSJ.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/class-use/MMZip.html b/docs/api/java/org/apache/sysds/lops/class-use/MMZip.html
index 30ee4c7..3266cc3 100644
--- a/docs/api/java/org/apache/sysds/lops/class-use/MMZip.html
+++ b/docs/api/java/org/apache/sysds/lops/class-use/MMZip.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/class-use/MapMult.CacheType.html b/docs/api/java/org/apache/sysds/lops/class-use/MapMult.CacheType.html
index c5f977e..cd47275 100644
--- a/docs/api/java/org/apache/sysds/lops/class-use/MapMult.CacheType.html
+++ b/docs/api/java/org/apache/sysds/lops/class-use/MapMult.CacheType.html
@@ -173,6 +173,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/class-use/MapMult.html b/docs/api/java/org/apache/sysds/lops/class-use/MapMult.html
index 83d6368..97a915b 100644
--- a/docs/api/java/org/apache/sysds/lops/class-use/MapMult.html
+++ b/docs/api/java/org/apache/sysds/lops/class-use/MapMult.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/class-use/MapMultChain.ChainType.html b/docs/api/java/org/apache/sysds/lops/class-use/MapMultChain.ChainType.html
index 2436b5e..1a76762 100644
--- a/docs/api/java/org/apache/sysds/lops/class-use/MapMultChain.ChainType.html
+++ b/docs/api/java/org/apache/sysds/lops/class-use/MapMultChain.ChainType.html
@@ -362,6 +362,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/class-use/MapMultChain.html b/docs/api/java/org/apache/sysds/lops/class-use/MapMultChain.html
index 6858cf1..198e98d 100644
--- a/docs/api/java/org/apache/sysds/lops/class-use/MapMultChain.html
+++ b/docs/api/java/org/apache/sysds/lops/class-use/MapMultChain.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/class-use/MatMultCP.html b/docs/api/java/org/apache/sysds/lops/class-use/MatMultCP.html
index b872a77..0b870b8 100644
--- a/docs/api/java/org/apache/sysds/lops/class-use/MatMultCP.html
+++ b/docs/api/java/org/apache/sysds/lops/class-use/MatMultCP.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/class-use/Nary.html b/docs/api/java/org/apache/sysds/lops/class-use/Nary.html
index cd83239..538825b 100644
--- a/docs/api/java/org/apache/sysds/lops/class-use/Nary.html
+++ b/docs/api/java/org/apache/sysds/lops/class-use/Nary.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/class-use/OutputParameters.html b/docs/api/java/org/apache/sysds/lops/class-use/OutputParameters.html
index ed63ccb..6cee072 100644
--- a/docs/api/java/org/apache/sysds/lops/class-use/OutputParameters.html
+++ b/docs/api/java/org/apache/sysds/lops/class-use/OutputParameters.html
@@ -175,6 +175,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/class-use/PMMJ.CacheType.html b/docs/api/java/org/apache/sysds/lops/class-use/PMMJ.CacheType.html
index 80598ad..7a720e3 100644
--- a/docs/api/java/org/apache/sysds/lops/class-use/PMMJ.CacheType.html
+++ b/docs/api/java/org/apache/sysds/lops/class-use/PMMJ.CacheType.html
@@ -169,6 +169,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/class-use/PMMJ.html b/docs/api/java/org/apache/sysds/lops/class-use/PMMJ.html
index 8184953..e808374 100644
--- a/docs/api/java/org/apache/sysds/lops/class-use/PMMJ.html
+++ b/docs/api/java/org/apache/sysds/lops/class-use/PMMJ.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/class-use/PMapMult.html b/docs/api/java/org/apache/sysds/lops/class-use/PMapMult.html
index f7a4268..7628664 100644
--- a/docs/api/java/org/apache/sysds/lops/class-use/PMapMult.html
+++ b/docs/api/java/org/apache/sysds/lops/class-use/PMapMult.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/class-use/ParameterizedBuiltin.html b/docs/api/java/org/apache/sysds/lops/class-use/ParameterizedBuiltin.html
index 13fb400..7a367fc 100644
--- a/docs/api/java/org/apache/sysds/lops/class-use/ParameterizedBuiltin.html
+++ b/docs/api/java/org/apache/sysds/lops/class-use/ParameterizedBuiltin.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/class-use/PartialAggregate.html b/docs/api/java/org/apache/sysds/lops/class-use/PartialAggregate.html
index 3802b8c..af7494c 100644
--- a/docs/api/java/org/apache/sysds/lops/class-use/PartialAggregate.html
+++ b/docs/api/java/org/apache/sysds/lops/class-use/PartialAggregate.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/class-use/PickByCount.OperationTypes.html b/docs/api/java/org/apache/sysds/lops/class-use/PickByCount.OperationTypes.html
index 64c3948..dae1fb0 100644
--- a/docs/api/java/org/apache/sysds/lops/class-use/PickByCount.OperationTypes.html
+++ b/docs/api/java/org/apache/sysds/lops/class-use/PickByCount.OperationTypes.html
@@ -198,6 +198,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/class-use/PickByCount.html b/docs/api/java/org/apache/sysds/lops/class-use/PickByCount.html
index d999c34..7efa12d 100644
--- a/docs/api/java/org/apache/sysds/lops/class-use/PickByCount.html
+++ b/docs/api/java/org/apache/sysds/lops/class-use/PickByCount.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/class-use/ReBlock.html b/docs/api/java/org/apache/sysds/lops/class-use/ReBlock.html
index 830318a..8dbba63 100644
--- a/docs/api/java/org/apache/sysds/lops/class-use/ReBlock.html
+++ b/docs/api/java/org/apache/sysds/lops/class-use/ReBlock.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/class-use/RightIndex.html b/docs/api/java/org/apache/sysds/lops/class-use/RightIndex.html
index e699489..5875ec4 100644
--- a/docs/api/java/org/apache/sysds/lops/class-use/RightIndex.html
+++ b/docs/api/java/org/apache/sysds/lops/class-use/RightIndex.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/class-use/SortKeys.OperationTypes.html b/docs/api/java/org/apache/sysds/lops/class-use/SortKeys.OperationTypes.html
index bae9396..602952e 100644
--- a/docs/api/java/org/apache/sysds/lops/class-use/SortKeys.OperationTypes.html
+++ b/docs/api/java/org/apache/sysds/lops/class-use/SortKeys.OperationTypes.html
@@ -230,6 +230,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/class-use/SortKeys.html b/docs/api/java/org/apache/sysds/lops/class-use/SortKeys.html
index 498e61d..2a82f04 100644
--- a/docs/api/java/org/apache/sysds/lops/class-use/SortKeys.html
+++ b/docs/api/java/org/apache/sysds/lops/class-use/SortKeys.html
@@ -173,6 +173,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/class-use/SpoofFused.html b/docs/api/java/org/apache/sysds/lops/class-use/SpoofFused.html
index 83a52e1..74d90ab 100644
--- a/docs/api/java/org/apache/sysds/lops/class-use/SpoofFused.html
+++ b/docs/api/java/org/apache/sysds/lops/class-use/SpoofFused.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/class-use/Sql.html b/docs/api/java/org/apache/sysds/lops/class-use/Sql.html
index 31cad03..c15853c 100644
--- a/docs/api/java/org/apache/sysds/lops/class-use/Sql.html
+++ b/docs/api/java/org/apache/sysds/lops/class-use/Sql.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/class-use/Ternary.html b/docs/api/java/org/apache/sysds/lops/class-use/Ternary.html
index 8b70c89..b5eb687 100644
--- a/docs/api/java/org/apache/sysds/lops/class-use/Ternary.html
+++ b/docs/api/java/org/apache/sysds/lops/class-use/Ternary.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/class-use/TernaryAggregate.html b/docs/api/java/org/apache/sysds/lops/class-use/TernaryAggregate.html
index 5198514..4508143 100644
--- a/docs/api/java/org/apache/sysds/lops/class-use/TernaryAggregate.html
+++ b/docs/api/java/org/apache/sysds/lops/class-use/TernaryAggregate.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/class-use/Transform.html b/docs/api/java/org/apache/sysds/lops/class-use/Transform.html
index 597762b..39a5f47 100644
--- a/docs/api/java/org/apache/sysds/lops/class-use/Transform.html
+++ b/docs/api/java/org/apache/sysds/lops/class-use/Transform.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/class-use/UAggOuterChain.html b/docs/api/java/org/apache/sysds/lops/class-use/UAggOuterChain.html
index 74e1ffc..b3cb076 100644
--- a/docs/api/java/org/apache/sysds/lops/class-use/UAggOuterChain.html
+++ b/docs/api/java/org/apache/sysds/lops/class-use/UAggOuterChain.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/class-use/Unary.html b/docs/api/java/org/apache/sysds/lops/class-use/Unary.html
index 79988fe..b560c0c 100644
--- a/docs/api/java/org/apache/sysds/lops/class-use/Unary.html
+++ b/docs/api/java/org/apache/sysds/lops/class-use/Unary.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/class-use/UnaryCP.html b/docs/api/java/org/apache/sysds/lops/class-use/UnaryCP.html
index 515bbd8..9fa8037 100644
--- a/docs/api/java/org/apache/sysds/lops/class-use/UnaryCP.html
+++ b/docs/api/java/org/apache/sysds/lops/class-use/UnaryCP.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/class-use/WeightedCrossEntropy.WCeMMType.html b/docs/api/java/org/apache/sysds/lops/class-use/WeightedCrossEntropy.WCeMMType.html
index 27f1e14..afcee1e 100644
--- a/docs/api/java/org/apache/sysds/lops/class-use/WeightedCrossEntropy.WCeMMType.html
+++ b/docs/api/java/org/apache/sysds/lops/class-use/WeightedCrossEntropy.WCeMMType.html
@@ -277,6 +277,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/class-use/WeightedCrossEntropy.html b/docs/api/java/org/apache/sysds/lops/class-use/WeightedCrossEntropy.html
index e731dea..fb18816 100644
--- a/docs/api/java/org/apache/sysds/lops/class-use/WeightedCrossEntropy.html
+++ b/docs/api/java/org/apache/sysds/lops/class-use/WeightedCrossEntropy.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/class-use/WeightedCrossEntropyR.html b/docs/api/java/org/apache/sysds/lops/class-use/WeightedCrossEntropyR.html
index 6e12c9f..2e3f328 100644
--- a/docs/api/java/org/apache/sysds/lops/class-use/WeightedCrossEntropyR.html
+++ b/docs/api/java/org/apache/sysds/lops/class-use/WeightedCrossEntropyR.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/class-use/WeightedDivMM.WDivMMType.html b/docs/api/java/org/apache/sysds/lops/class-use/WeightedDivMM.WDivMMType.html
index e554d96..84a5eaa 100644
--- a/docs/api/java/org/apache/sysds/lops/class-use/WeightedDivMM.WDivMMType.html
+++ b/docs/api/java/org/apache/sysds/lops/class-use/WeightedDivMM.WDivMMType.html
@@ -283,6 +283,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/class-use/WeightedDivMM.html b/docs/api/java/org/apache/sysds/lops/class-use/WeightedDivMM.html
index 7f7f955..de76588 100644
--- a/docs/api/java/org/apache/sysds/lops/class-use/WeightedDivMM.html
+++ b/docs/api/java/org/apache/sysds/lops/class-use/WeightedDivMM.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/class-use/WeightedDivMMR.html b/docs/api/java/org/apache/sysds/lops/class-use/WeightedDivMMR.html
index db91688..fcad75e 100644
--- a/docs/api/java/org/apache/sysds/lops/class-use/WeightedDivMMR.html
+++ b/docs/api/java/org/apache/sysds/lops/class-use/WeightedDivMMR.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/class-use/WeightedSigmoid.WSigmoidType.html b/docs/api/java/org/apache/sysds/lops/class-use/WeightedSigmoid.WSigmoidType.html
index dbd6bd2..8f8c041 100644
--- a/docs/api/java/org/apache/sysds/lops/class-use/WeightedSigmoid.WSigmoidType.html
+++ b/docs/api/java/org/apache/sysds/lops/class-use/WeightedSigmoid.WSigmoidType.html
@@ -267,6 +267,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/class-use/WeightedSigmoid.html b/docs/api/java/org/apache/sysds/lops/class-use/WeightedSigmoid.html
index 1601c6f..f6ecf76 100644
--- a/docs/api/java/org/apache/sysds/lops/class-use/WeightedSigmoid.html
+++ b/docs/api/java/org/apache/sysds/lops/class-use/WeightedSigmoid.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/class-use/WeightedSigmoidR.html b/docs/api/java/org/apache/sysds/lops/class-use/WeightedSigmoidR.html
index fc28664..c7d7e14 100644
--- a/docs/api/java/org/apache/sysds/lops/class-use/WeightedSigmoidR.html
+++ b/docs/api/java/org/apache/sysds/lops/class-use/WeightedSigmoidR.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/class-use/WeightedSquaredLoss.WeightsType.html b/docs/api/java/org/apache/sysds/lops/class-use/WeightedSquaredLoss.WeightsType.html
index f9692b4..9b8eb7a 100644
--- a/docs/api/java/org/apache/sysds/lops/class-use/WeightedSquaredLoss.WeightsType.html
+++ b/docs/api/java/org/apache/sysds/lops/class-use/WeightedSquaredLoss.WeightsType.html
@@ -271,6 +271,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/class-use/WeightedSquaredLoss.html b/docs/api/java/org/apache/sysds/lops/class-use/WeightedSquaredLoss.html
index de7390c..af44125 100644
--- a/docs/api/java/org/apache/sysds/lops/class-use/WeightedSquaredLoss.html
+++ b/docs/api/java/org/apache/sysds/lops/class-use/WeightedSquaredLoss.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/class-use/WeightedSquaredLossR.html b/docs/api/java/org/apache/sysds/lops/class-use/WeightedSquaredLossR.html
index f6766b1..0129858 100644
--- a/docs/api/java/org/apache/sysds/lops/class-use/WeightedSquaredLossR.html
+++ b/docs/api/java/org/apache/sysds/lops/class-use/WeightedSquaredLossR.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/class-use/WeightedUnaryMM.WUMMType.html b/docs/api/java/org/apache/sysds/lops/class-use/WeightedUnaryMM.WUMMType.html
index b03e619..426b152 100644
--- a/docs/api/java/org/apache/sysds/lops/class-use/WeightedUnaryMM.WUMMType.html
+++ b/docs/api/java/org/apache/sysds/lops/class-use/WeightedUnaryMM.WUMMType.html
@@ -272,6 +272,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/class-use/WeightedUnaryMM.html b/docs/api/java/org/apache/sysds/lops/class-use/WeightedUnaryMM.html
index 5ddb8fe..31cd47a 100644
--- a/docs/api/java/org/apache/sysds/lops/class-use/WeightedUnaryMM.html
+++ b/docs/api/java/org/apache/sysds/lops/class-use/WeightedUnaryMM.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/class-use/WeightedUnaryMMR.html b/docs/api/java/org/apache/sysds/lops/class-use/WeightedUnaryMMR.html
index e3923d2..61bff6c 100644
--- a/docs/api/java/org/apache/sysds/lops/class-use/WeightedUnaryMMR.html
+++ b/docs/api/java/org/apache/sysds/lops/class-use/WeightedUnaryMMR.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/compile/Dag.html b/docs/api/java/org/apache/sysds/lops/compile/Dag.html
index 490aa28..5aed43f 100644
--- a/docs/api/java/org/apache/sysds/lops/compile/Dag.html
+++ b/docs/api/java/org/apache/sysds/lops/compile/Dag.html
@@ -347,6 +347,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/compile/LopComparator.html b/docs/api/java/org/apache/sysds/lops/compile/LopComparator.html
index f1d742a..d706b2f 100644
--- a/docs/api/java/org/apache/sysds/lops/compile/LopComparator.html
+++ b/docs/api/java/org/apache/sysds/lops/compile/LopComparator.html
@@ -303,6 +303,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/compile/class-use/Dag.html b/docs/api/java/org/apache/sysds/lops/compile/class-use/Dag.html
index 6d1ccd4..89033d9 100644
--- a/docs/api/java/org/apache/sysds/lops/compile/class-use/Dag.html
+++ b/docs/api/java/org/apache/sysds/lops/compile/class-use/Dag.html
@@ -162,6 +162,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/compile/class-use/LopComparator.html b/docs/api/java/org/apache/sysds/lops/compile/class-use/LopComparator.html
index 2b85fbe..492b91c 100644
--- a/docs/api/java/org/apache/sysds/lops/compile/class-use/LopComparator.html
+++ b/docs/api/java/org/apache/sysds/lops/compile/class-use/LopComparator.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/compile/package-summary.html b/docs/api/java/org/apache/sysds/lops/compile/package-summary.html
index 179e606..010d460 100644
--- a/docs/api/java/org/apache/sysds/lops/compile/package-summary.html
+++ b/docs/api/java/org/apache/sysds/lops/compile/package-summary.html
@@ -147,6 +147,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/compile/package-tree.html b/docs/api/java/org/apache/sysds/lops/compile/package-tree.html
index 29dd7ec..4994e06 100644
--- a/docs/api/java/org/apache/sysds/lops/compile/package-tree.html
+++ b/docs/api/java/org/apache/sysds/lops/compile/package-tree.html
@@ -134,6 +134,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/compile/package-use.html b/docs/api/java/org/apache/sysds/lops/compile/package-use.html
index 542fab4..fb5b86f 100644
--- a/docs/api/java/org/apache/sysds/lops/compile/package-use.html
+++ b/docs/api/java/org/apache/sysds/lops/compile/package-use.html
@@ -156,6 +156,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/package-frame.html b/docs/api/java/org/apache/sysds/lops/package-frame.html
index e711650..9b13db7 100644
--- a/docs/api/java/org/apache/sysds/lops/package-frame.html
+++ b/docs/api/java/org/apache/sysds/lops/package-frame.html
@@ -32,6 +32,7 @@
 <li><a href="CumulativePartialAggregate.html" title="class in org.apache.sysds.lops" target="classFrame">CumulativePartialAggregate</a></li>
 <li><a href="Data.html" title="class in org.apache.sysds.lops" target="classFrame">Data</a></li>
 <li><a href="DataGen.html" title="class in org.apache.sysds.lops" target="classFrame">DataGen</a></li>
+<li><a href="DeCompression.html" title="class in org.apache.sysds.lops" target="classFrame">DeCompression</a></li>
 <li><a href="DnnTransform.html" title="class in org.apache.sysds.lops" target="classFrame">DnnTransform</a></li>
 <li><a href="Federated.html" title="class in org.apache.sysds.lops" target="classFrame">Federated</a></li>
 <li><a href="FunctionCallCP.html" title="class in org.apache.sysds.lops" target="classFrame">FunctionCallCP</a></li>
@@ -82,6 +83,7 @@
 <li><a href="BinaryM.VectorType.html" title="enum in org.apache.sysds.lops" target="classFrame">BinaryM.VectorType</a></li>
 <li><a href="Compression.CompressConfig.html" title="enum in org.apache.sysds.lops" target="classFrame">Compression.CompressConfig</a></li>
 <li><a href="Ctable.OperationTypes.html" title="enum in org.apache.sysds.lops" target="classFrame">Ctable.OperationTypes</a></li>
+<li><a href="DeCompression.CompressConfig.html" title="enum in org.apache.sysds.lops" target="classFrame">DeCompression.CompressConfig</a></li>
 <li><a href="GroupedAggregateM.CacheType.html" title="enum in org.apache.sysds.lops" target="classFrame">GroupedAggregateM.CacheType</a></li>
 <li><a href="LeftIndex.LixCacheType.html" title="enum in org.apache.sysds.lops" target="classFrame">LeftIndex.LixCacheType</a></li>
 <li><a href="Lop.SimpleInstType.html" title="enum in org.apache.sysds.lops" target="classFrame">Lop.SimpleInstType</a></li>
diff --git a/docs/api/java/org/apache/sysds/lops/package-summary.html b/docs/api/java/org/apache/sysds/lops/package-summary.html
index bb7c102..38e55bd 100644
--- a/docs/api/java/org/apache/sysds/lops/package-summary.html
+++ b/docs/api/java/org/apache/sysds/lops/package-summary.html
@@ -183,69 +183,73 @@
 </td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><a href="../../../../org/apache/sysds/lops/DeCompression.html" title="class in org.apache.sysds.lops">DeCompression</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/sysds/lops/DnnTransform.html" title="class in org.apache.sysds.lops">DnnTransform</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/sysds/lops/Federated.html" title="class in org.apache.sysds.lops">Federated</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/sysds/lops/FunctionCallCP.html" title="class in org.apache.sysds.lops">FunctionCallCP</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/sysds/lops/GroupedAggregate.html" title="class in org.apache.sysds.lops">GroupedAggregate</a></td>
 <td class="colLast">
 <div class="block">Lop to perform grouped aggregates</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/sysds/lops/GroupedAggregateM.html" title="class in org.apache.sysds.lops">GroupedAggregateM</a></td>
 <td class="colLast">
 <div class="block">Lop to perform mr map-side grouped aggregates 
  (restriction: sum, w/o weights, ngroups), groups broadcasted</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/sysds/lops/LeftIndex.html" title="class in org.apache.sysds.lops">LeftIndex</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a></td>
 <td class="colLast">
 <div class="block">Base class for all Lops.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/sysds/lops/LopProperties.html" title="class in org.apache.sysds.lops">LopProperties</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/sysds/lops/MapMult.html" title="class in org.apache.sysds.lops">MapMult</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/sysds/lops/MapMultChain.html" title="class in org.apache.sysds.lops">MapMultChain</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/sysds/lops/MatMultCP.html" title="class in org.apache.sysds.lops">MatMultCP</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/sysds/lops/MMCJ.html" title="class in org.apache.sysds.lops">MMCJ</a></td>
 <td class="colLast">
 <div class="block">Lop to perform cross product operation</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/sysds/lops/MMRJ.html" title="class in org.apache.sysds.lops">MMRJ</a></td>
 <td class="colLast">
 <div class="block">Lop to perform cross product operation</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/sysds/lops/MMTSJ.html" title="class in org.apache.sysds.lops">MMTSJ</a></td>
 <td class="colLast">
 <div class="block">Lop to perform transpose-identity operation (t(X)%*%X or X%*%t(X)),
@@ -253,91 +257,91 @@
  an additional Aggregate at the reducers.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/sysds/lops/MMZip.html" title="class in org.apache.sysds.lops">MMZip</a></td>
 <td class="colLast">
 <div class="block">Lop to perform zip matrix multiplication</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/sysds/lops/Nary.html" title="class in org.apache.sysds.lops">Nary</a></td>
 <td class="colLast">
 <div class="block">Lop to perform an operation on a variable number of operands.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/sysds/lops/OutputParameters.html" title="class in org.apache.sysds.lops">OutputParameters</a></td>
 <td class="colLast">
 <div class="block">class to maintain output parameters for a lop.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/sysds/lops/ParameterizedBuiltin.html" title="class in org.apache.sysds.lops">ParameterizedBuiltin</a></td>
 <td class="colLast">
 <div class="block">Defines a LOP for functions.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/sysds/lops/PartialAggregate.html" title="class in org.apache.sysds.lops">PartialAggregate</a></td>
 <td class="colLast">
 <div class="block">Lop to perform a partial aggregation.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/sysds/lops/PickByCount.html" title="class in org.apache.sysds.lops">PickByCount</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/sysds/lops/PMapMult.html" title="class in org.apache.sysds.lops">PMapMult</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/sysds/lops/PMMJ.html" title="class in org.apache.sysds.lops">PMMJ</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/sysds/lops/ReBlock.html" title="class in org.apache.sysds.lops">ReBlock</a></td>
 <td class="colLast">
 <div class="block">Lop to perform reblock operation</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/sysds/lops/RightIndex.html" title="class in org.apache.sysds.lops">RightIndex</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/sysds/lops/SortKeys.html" title="class in org.apache.sysds.lops">SortKeys</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/sysds/lops/SpoofFused.html" title="class in org.apache.sysds.lops">SpoofFused</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/sysds/lops/Sql.html" title="class in org.apache.sysds.lops">Sql</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/sysds/lops/Ternary.html" title="class in org.apache.sysds.lops">Ternary</a></td>
 <td class="colLast">
 <div class="block">Lop to perform Sum of a matrix with another matrix multiplied by Scalar.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/sysds/lops/TernaryAggregate.html" title="class in org.apache.sysds.lops">TernaryAggregate</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/sysds/lops/Transform.html" title="class in org.apache.sysds.lops">Transform</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/sysds/lops/UAggOuterChain.html" title="class in org.apache.sysds.lops">UAggOuterChain</a></td>
 <td class="colLast">
 <div class="block">TODO Currently this lop only support the right hand side in distributed cache.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/sysds/lops/Unary.html" title="class in org.apache.sysds.lops">Unary</a></td>
 <td class="colLast">
 <div class="block">Lop to perform following operations: with one operand -- NOT(A), ABS(A),
@@ -345,47 +349,47 @@
  H=H*5, EXP(A,2), LOG(A,2)</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/sysds/lops/UnaryCP.html" title="class in org.apache.sysds.lops">UnaryCP</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/sysds/lops/WeightedCrossEntropy.html" title="class in org.apache.sysds.lops">WeightedCrossEntropy</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/sysds/lops/WeightedCrossEntropyR.html" title="class in org.apache.sysds.lops">WeightedCrossEntropyR</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/sysds/lops/WeightedDivMM.html" title="class in org.apache.sysds.lops">WeightedDivMM</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/sysds/lops/WeightedDivMMR.html" title="class in org.apache.sysds.lops">WeightedDivMMR</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/sysds/lops/WeightedSigmoid.html" title="class in org.apache.sysds.lops">WeightedSigmoid</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/sysds/lops/WeightedSigmoidR.html" title="class in org.apache.sysds.lops">WeightedSigmoidR</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/sysds/lops/WeightedSquaredLoss.html" title="class in org.apache.sysds.lops">WeightedSquaredLoss</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/sysds/lops/WeightedSquaredLossR.html" title="class in org.apache.sysds.lops">WeightedSquaredLossR</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/sysds/lops/WeightedUnaryMM.html" title="class in org.apache.sysds.lops">WeightedUnaryMM</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/sysds/lops/WeightedUnaryMMR.html" title="class in org.apache.sysds.lops">WeightedUnaryMMR</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
@@ -417,76 +421,80 @@
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><a href="../../../../org/apache/sysds/lops/GroupedAggregateM.CacheType.html" title="enum in org.apache.sysds.lops">GroupedAggregateM.CacheType</a></td>
+<td class="colFirst"><a href="../../../../org/apache/sysds/lops/DeCompression.CompressConfig.html" title="enum in org.apache.sysds.lops">DeCompression.CompressConfig</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><a href="../../../../org/apache/sysds/lops/LeftIndex.LixCacheType.html" title="enum in org.apache.sysds.lops">LeftIndex.LixCacheType</a></td>
+<td class="colFirst"><a href="../../../../org/apache/sysds/lops/GroupedAggregateM.CacheType.html" title="enum in org.apache.sysds.lops">GroupedAggregateM.CacheType</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><a href="../../../../org/apache/sysds/lops/LeftIndex.LixCacheType.html" title="enum in org.apache.sysds.lops">LeftIndex.LixCacheType</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/sysds/lops/Lop.SimpleInstType.html" title="enum in org.apache.sysds.lops">Lop.SimpleInstType</a></td>
 <td class="colLast">
 <div class="block">Lop types</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/sysds/lops/Lop.Type.html" title="enum in org.apache.sysds.lops">Lop.Type</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/sysds/lops/Lop.VisitStatus.html" title="enum in org.apache.sysds.lops">Lop.VisitStatus</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/sysds/lops/MapMult.CacheType.html" title="enum in org.apache.sysds.lops">MapMult.CacheType</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/sysds/lops/MapMultChain.ChainType.html" title="enum in org.apache.sysds.lops">MapMultChain.ChainType</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/sysds/lops/MMCJ.MMCJType.html" title="enum in org.apache.sysds.lops">MMCJ.MMCJType</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/sysds/lops/MMTSJ.MMTSJType.html" title="enum in org.apache.sysds.lops">MMTSJ.MMTSJType</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/sysds/lops/PickByCount.OperationTypes.html" title="enum in org.apache.sysds.lops">PickByCount.OperationTypes</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/sysds/lops/PMMJ.CacheType.html" title="enum in org.apache.sysds.lops">PMMJ.CacheType</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/sysds/lops/SortKeys.OperationTypes.html" title="enum in org.apache.sysds.lops">SortKeys.OperationTypes</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/sysds/lops/WeightedCrossEntropy.WCeMMType.html" title="enum in org.apache.sysds.lops">WeightedCrossEntropy.WCeMMType</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/sysds/lops/WeightedDivMM.WDivMMType.html" title="enum in org.apache.sysds.lops">WeightedDivMM.WDivMMType</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/sysds/lops/WeightedSigmoid.WSigmoidType.html" title="enum in org.apache.sysds.lops">WeightedSigmoid.WSigmoidType</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/sysds/lops/WeightedSquaredLoss.WeightsType.html" title="enum in org.apache.sysds.lops">WeightedSquaredLoss.WeightsType</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/sysds/lops/WeightedUnaryMM.WUMMType.html" title="enum in org.apache.sysds.lops">WeightedUnaryMM.WUMMType</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
@@ -557,6 +565,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/package-tree.html b/docs/api/java/org/apache/sysds/lops/package-tree.html
index 5c9ba34..4fa7c56 100644
--- a/docs/api/java/org/apache/sysds/lops/package-tree.html
+++ b/docs/api/java/org/apache/sysds/lops/package-tree.html
@@ -102,6 +102,7 @@
 <li type="circle">org.apache.sysds.lops.<a href="../../../../org/apache/sysds/lops/CumulativePartialAggregate.html" title="class in org.apache.sysds.lops"><span class="typeNameLink">CumulativePartialAggregate</span></a></li>
 <li type="circle">org.apache.sysds.lops.<a href="../../../../org/apache/sysds/lops/Data.html" title="class in org.apache.sysds.lops"><span class="typeNameLink">Data</span></a></li>
 <li type="circle">org.apache.sysds.lops.<a href="../../../../org/apache/sysds/lops/DataGen.html" title="class in org.apache.sysds.lops"><span class="typeNameLink">DataGen</span></a></li>
+<li type="circle">org.apache.sysds.lops.<a href="../../../../org/apache/sysds/lops/DeCompression.html" title="class in org.apache.sysds.lops"><span class="typeNameLink">DeCompression</span></a></li>
 <li type="circle">org.apache.sysds.lops.<a href="../../../../org/apache/sysds/lops/DnnTransform.html" title="class in org.apache.sysds.lops"><span class="typeNameLink">DnnTransform</span></a></li>
 <li type="circle">org.apache.sysds.lops.<a href="../../../../org/apache/sysds/lops/Federated.html" title="class in org.apache.sysds.lops"><span class="typeNameLink">Federated</span></a></li>
 <li type="circle">org.apache.sysds.lops.<a href="../../../../org/apache/sysds/lops/FunctionCallCP.html" title="class in org.apache.sysds.lops"><span class="typeNameLink">FunctionCallCP</span></a></li>
@@ -176,6 +177,7 @@
 <li type="circle">org.apache.sysds.lops.<a href="../../../../org/apache/sysds/lops/BinaryM.VectorType.html" title="enum in org.apache.sysds.lops"><span class="typeNameLink">BinaryM.VectorType</span></a></li>
 <li type="circle">org.apache.sysds.lops.<a href="../../../../org/apache/sysds/lops/Compression.CompressConfig.html" title="enum in org.apache.sysds.lops"><span class="typeNameLink">Compression.CompressConfig</span></a></li>
 <li type="circle">org.apache.sysds.lops.<a href="../../../../org/apache/sysds/lops/Ctable.OperationTypes.html" title="enum in org.apache.sysds.lops"><span class="typeNameLink">Ctable.OperationTypes</span></a></li>
+<li type="circle">org.apache.sysds.lops.<a href="../../../../org/apache/sysds/lops/DeCompression.CompressConfig.html" title="enum in org.apache.sysds.lops"><span class="typeNameLink">DeCompression.CompressConfig</span></a></li>
 <li type="circle">org.apache.sysds.lops.<a href="../../../../org/apache/sysds/lops/GroupedAggregateM.CacheType.html" title="enum in org.apache.sysds.lops"><span class="typeNameLink">GroupedAggregateM.CacheType</span></a></li>
 <li type="circle">org.apache.sysds.lops.<a href="../../../../org/apache/sysds/lops/LeftIndex.LixCacheType.html" title="enum in org.apache.sysds.lops"><span class="typeNameLink">LeftIndex.LixCacheType</span></a></li>
 <li type="circle">org.apache.sysds.lops.<a href="../../../../org/apache/sysds/lops/Lop.SimpleInstType.html" title="enum in org.apache.sysds.lops"><span class="typeNameLink">Lop.SimpleInstType</span></a></li>
@@ -247,6 +249,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/lops/package-use.html b/docs/api/java/org/apache/sysds/lops/package-use.html
index 28a08a3..c14576a 100644
--- a/docs/api/java/org/apache/sysds/lops/package-use.html
+++ b/docs/api/java/org/apache/sysds/lops/package-use.html
@@ -159,17 +159,20 @@
 </tr>
 <tbody>
 <tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/sysds/lops/class-use/Ctable.OperationTypes.html#org.apache.sysds.hops">Ctable.OperationTypes</a>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../org/apache/sysds/lops/class-use/Lop.html#org.apache.sysds.hops">Lop</a>
 <div class="block">Base class for all Lops.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../org/apache/sysds/lops/class-use/LopProperties.ExecType.html#org.apache.sysds.hops">LopProperties.ExecType</a>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../org/apache/sysds/lops/class-use/MapMultChain.ChainType.html#org.apache.sysds.hops">MapMultChain.ChainType</a>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../org/apache/sysds/lops/class-use/MMTSJ.MMTSJType.html#org.apache.sysds.hops">MMTSJ.MMTSJType</a>&nbsp;</td>
 </tr>
 </tbody>
@@ -249,72 +252,75 @@
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colOne"><a href="../../../../org/apache/sysds/lops/class-use/GroupedAggregateM.CacheType.html#org.apache.sysds.lops">GroupedAggregateM.CacheType</a>&nbsp;</td>
+<td class="colOne"><a href="../../../../org/apache/sysds/lops/class-use/DeCompression.CompressConfig.html#org.apache.sysds.lops">DeCompression.CompressConfig</a>&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colOne"><a href="../../../../org/apache/sysds/lops/class-use/LeftIndex.LixCacheType.html#org.apache.sysds.lops">LeftIndex.LixCacheType</a>&nbsp;</td>
+<td class="colOne"><a href="../../../../org/apache/sysds/lops/class-use/GroupedAggregateM.CacheType.html#org.apache.sysds.lops">GroupedAggregateM.CacheType</a>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/sysds/lops/class-use/LeftIndex.LixCacheType.html#org.apache.sysds.lops">LeftIndex.LixCacheType</a>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colOne"><a href="../../../../org/apache/sysds/lops/class-use/Lop.html#org.apache.sysds.lops">Lop</a>
 <div class="block">Base class for all Lops.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../org/apache/sysds/lops/class-use/Lop.SimpleInstType.html#org.apache.sysds.lops">Lop.SimpleInstType</a>
 <div class="block">Lop types</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../org/apache/sysds/lops/class-use/Lop.Type.html#org.apache.sysds.lops">Lop.Type</a>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../org/apache/sysds/lops/class-use/Lop.VisitStatus.html#org.apache.sysds.lops">Lop.VisitStatus</a>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../org/apache/sysds/lops/class-use/LopProperties.ExecType.html#org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../org/apache/sysds/lops/class-use/MapMult.CacheType.html#org.apache.sysds.lops">MapMult.CacheType</a>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../org/apache/sysds/lops/class-use/MapMultChain.ChainType.html#org.apache.sysds.lops">MapMultChain.ChainType</a>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../org/apache/sysds/lops/class-use/MMCJ.MMCJType.html#org.apache.sysds.lops">MMCJ.MMCJType</a>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../org/apache/sysds/lops/class-use/MMTSJ.MMTSJType.html#org.apache.sysds.lops">MMTSJ.MMTSJType</a>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../org/apache/sysds/lops/class-use/OutputParameters.html#org.apache.sysds.lops">OutputParameters</a>
 <div class="block">class to maintain output parameters for a lop.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../org/apache/sysds/lops/class-use/PickByCount.OperationTypes.html#org.apache.sysds.lops">PickByCount.OperationTypes</a>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../org/apache/sysds/lops/class-use/PMMJ.CacheType.html#org.apache.sysds.lops">PMMJ.CacheType</a>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../org/apache/sysds/lops/class-use/SortKeys.html#org.apache.sysds.lops">SortKeys</a>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../org/apache/sysds/lops/class-use/SortKeys.OperationTypes.html#org.apache.sysds.lops">SortKeys.OperationTypes</a>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../org/apache/sysds/lops/class-use/WeightedCrossEntropy.WCeMMType.html#org.apache.sysds.lops">WeightedCrossEntropy.WCeMMType</a>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../org/apache/sysds/lops/class-use/WeightedDivMM.WDivMMType.html#org.apache.sysds.lops">WeightedDivMM.WDivMMType</a>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../org/apache/sysds/lops/class-use/WeightedSigmoid.WSigmoidType.html#org.apache.sysds.lops">WeightedSigmoid.WSigmoidType</a>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../org/apache/sysds/lops/class-use/WeightedSquaredLoss.WeightsType.html#org.apache.sysds.lops">WeightedSquaredLoss.WeightsType</a>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../org/apache/sysds/lops/class-use/WeightedUnaryMM.WUMMType.html#org.apache.sysds.lops">WeightedUnaryMM.WUMMType</a>&nbsp;</td>
 </tr>
 </tbody>
@@ -585,6 +591,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/AssignmentStatement.html b/docs/api/java/org/apache/sysds/parser/AssignmentStatement.html
index 573ebb8..66f3970 100644
--- a/docs/api/java/org/apache/sysds/parser/AssignmentStatement.html
+++ b/docs/api/java/org/apache/sysds/parser/AssignmentStatement.html
@@ -137,7 +137,7 @@
 <!--   -->
 </a>
 <h3>Nested classes/interfaces inherited from class&nbsp;org.apache.sysds.parser.<a href="../../../../org/apache/sysds/parser/Statement.html" title="class in org.apache.sysds.parser">Statement</a></h3>
-<code><a href="../../../../org/apache/sysds/parser/Statement.PSCheckpointing.html" title="enum in org.apache.sysds.parser">Statement.PSCheckpointing</a>, <a href="../../../../org/apache/sysds/parser/Statement.PSFrequency.html" title="enum in org.apache.sysds.parser">Statement.PSFrequency</a>, <a href="../../../../org/apache/sysds/parser/Statement.PSModeType.html" title="enum in org.apache.sysds.parser">Statement.PSModeType</a>, <a href="../../../../org/apache/sysds/parser/Statement.PSScheme.html" title="enum in org.apache.sysds.parser">Statement.PSScheme</a>, <a href="../../../../org/apache/sysds/parser/Statement.PSUpdateType.html" title="enum in org.apache.sysds.parser">Statement.PSUpdateType</a></code></li>
+<code><a href="../../../../org/apache/sysds/parser/Statement.FederatedPSScheme.html" title="enum in org.apache.sysds.parser">Statement.FederatedPSScheme</a>, <a href="../../../../org/apache/sysds/parser/Statement.PSCheckpointing.html" title="enum in org.apache.sysds.parser">Statement.PSCheckpointing</a>, <a href="../../../../org/apache/sysds/parser/Statement.PSFrequency.html" title="enum in org.apache.sysds.parser">Statement.PSFrequency</a>, <a href="../../../../org/apache/sysds/parser/Statement.PSModeType.html" title="enum in org.apache.sysds.parser">Statement.PSModeType</a>, <a href="../../../../org/apache/sysds/parser/Statement.PSRuntimeBalancing.html" title="enum in org.apache.sysds.parser">Statement.PSRuntimeBalancing</a>, <a href="../../../../org/apache/sysds/parser/Statement.PSScheme.html" title="enum in org.apache.sysds.parser">Statement.PSScheme</a>, <a href="../../../../org/apache/sysds/parser/Statement.PSUpdateType.html" title="enum in org.apache.sysds.parser">Statement.PSUpdateType</a></code></li>
 </ul>
 </li>
 </ul>
@@ -152,7 +152,7 @@
 <!--   -->
 </a>
 <h3>Fields inherited from class&nbsp;org.apache.sysds.parser.<a href="../../../../org/apache/sysds/parser/Statement.html" title="class in org.apache.sysds.parser">Statement</a></h3>
-<code><a href="../../../../org/apache/sysds/parser/Statement.html#BOOLEAN_VALUE_TYPE">BOOLEAN_VALUE_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#DOUBLE_VALUE_TYPE">DOUBLE_VALUE_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#FRAME_DATA_TYPE">FRAME_DATA_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN">GAGG_FN</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_CM">GAGG_FN_CM</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_CM_ORDER">GAGG_FN_CM_ORDER</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_COUNT">GAGG_FN_COUNT</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_MEAN">GAGG_FN_MEAN</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_SUM">GAGG_FN_SUM</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_VARIANCE">GAGG_FN_VARIANCE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_GROUPS">GAGG_GROUPS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_NUM_GROUPS">GAGG_NUM_GROUPS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_TARGET">GAGG_TARGET</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_WEIGHTS">GAGG_WEIGHTS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#INT_VALUE_TYPE">INT_VALUE_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#MATRIX_DATA_TYPE">MATRIX_DATA_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#OUTPUTSTATEMENT">OUTPUTSTATEMENT</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_AGGREGATION_FUN">PS_AGGREGATION_FUN</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_BATCH_SIZE">PS_BATCH_SIZE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_CHECKPOINTING">PS_CHECKPOINTING</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_EPOCHS">PS_EPOCHS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FEATURES">PS_FEATURES</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FREQUENCY">PS_FREQUENCY</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_GRADIENTS">PS_GRADIENTS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_HYPER_PARAMS">PS_HYPER_PARAMS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_LABELS">PS_LABELS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_MODE">PS_MODE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_MODEL">PS_MODEL</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_PARALLELISM">PS_PARALLELISM</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_SCHEME">PS_SCHEME</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_UPDATE_FUN">PS_UPDATE_FUN</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_UPDATE_TYPE">PS_UPDATE_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_VAL_FEATURES">PS_VAL_FEATURES</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_VAL_LABELS">PS_VAL_LABELS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SCALAR_DATA_TYPE">SCALAR_DATA_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SEQ_FROM">SEQ_FROM</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SEQ_INCR">SEQ_INCR</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SEQ_TO">SEQ_TO</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SETWD">SETWD</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SOURCE">SOURCE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#STRING_VALUE_TYPE">STRING_VALUE_TYPE</a></code></li>
+<code><a href="../../../../org/apache/sysds/parser/Statement.html#BOOLEAN_VALUE_TYPE">BOOLEAN_VALUE_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#DOUBLE_VALUE_TYPE">DOUBLE_VALUE_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#FRAME_DATA_TYPE">FRAME_DATA_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN">GAGG_FN</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_CM">GAGG_FN_CM</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_CM_ORDER">GAGG_FN_CM_ORDER</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_COUNT">GAGG_FN_COUNT</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_MEAN">GAGG_FN_MEAN</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_SUM">GAGG_FN_SUM</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_VARIANCE">GAGG_FN_VARIANCE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_GROUPS">GAGG_GROUPS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_NUM_GROUPS">GAGG_NUM_GROUPS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_TARGET">GAGG_TARGET</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_WEIGHTS">GAGG_WEIGHTS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#INT_VALUE_TYPE">INT_VALUE_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#MATRIX_DATA_TYPE">MATRIX_DATA_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#OUTPUTSTATEMENT">OUTPUTSTATEMENT</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_AGGREGATION_FUN">PS_AGGREGATION_FUN</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_BATCH_SIZE">PS_BATCH_SIZE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_CHECKPOINTING">PS_CHECKPOINTING</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_EPOCHS">PS_EPOCHS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FEATURES">PS_FEATURES</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FED_AGGREGATION_FNAME">PS_FED_AGGREGATION_FNAME</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FED_BATCH_SIZE">PS_FED_BATCH_SIZE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FED_DATA_SIZE">PS_FED_DATA_SIZE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FED_GRADIENTS_FNAME">PS_FED_GRADIENTS_FNAME</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FED_MODEL_VARID">PS_FED_MODEL_VARID</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FED_NAMESPACE">PS_FED_NAMESPACE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FED_POSS_BATCHES_LOCAL">PS_FED_POSS_BATCHES_LOCAL</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FED_RUNTIME_BALANCING">PS_FED_RUNTIME_BALANCING</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FED_WEIGHTING">PS_FED_WEIGHTING</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FREQUENCY">PS_FREQUENCY</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_GRADIENTS">PS_GRADIENTS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_HYPER_PARAMS">PS_HYPER_PARAMS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_LABELS">PS_LABELS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_MODE">PS_MODE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_MODEL">PS_MODEL</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_PARALLELISM">PS_PARALLELISM</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_SCHEME">PS_SCHEME</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_SEED">PS_SEED</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_UPDATE_FUN">PS_UPDATE_FUN</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_UPDATE_TYPE">PS_UPDATE_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_VAL_FEATURES">PS_VAL_FEATURES</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_VAL_FUN">PS_VAL_FUN</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_VAL_LABELS">PS_VAL_LABELS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SCALAR_DATA_TYPE">SCALAR_DATA_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SEQ_FROM">SEQ_FROM</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SEQ_INCR">SEQ_INCR</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SEQ_TO">SEQ_TO</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SETWD">SETWD</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SOURCE">SOURCE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#STRING_VALUE_TYPE">STRING_VALUE_TYPE</a></code></li>
 </ul>
 </li>
 </ul>
@@ -569,6 +569,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/BinaryExpression.html b/docs/api/java/org/apache/sysds/parser/BinaryExpression.html
index 71e7b68..d41ff58 100644
--- a/docs/api/java/org/apache/sysds/parser/BinaryExpression.html
+++ b/docs/api/java/org/apache/sysds/parser/BinaryExpression.html
@@ -478,6 +478,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/BooleanExpression.html b/docs/api/java/org/apache/sysds/parser/BooleanExpression.html
index bdb8543..39e251b 100644
--- a/docs/api/java/org/apache/sysds/parser/BooleanExpression.html
+++ b/docs/api/java/org/apache/sysds/parser/BooleanExpression.html
@@ -463,6 +463,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/BooleanIdentifier.html b/docs/api/java/org/apache/sysds/parser/BooleanIdentifier.html
index 5dbd87e..d21b105 100644
--- a/docs/api/java/org/apache/sysds/parser/BooleanIdentifier.html
+++ b/docs/api/java/org/apache/sysds/parser/BooleanIdentifier.html
@@ -437,6 +437,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/BuiltinConstant.html b/docs/api/java/org/apache/sysds/parser/BuiltinConstant.html
index 72b9f12..fa8233d 100644
--- a/docs/api/java/org/apache/sysds/parser/BuiltinConstant.html
+++ b/docs/api/java/org/apache/sysds/parser/BuiltinConstant.html
@@ -376,6 +376,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/BuiltinFunctionExpression.html b/docs/api/java/org/apache/sysds/parser/BuiltinFunctionExpression.html
index 1d1de01..81f2532 100644
--- a/docs/api/java/org/apache/sysds/parser/BuiltinFunctionExpression.html
+++ b/docs/api/java/org/apache/sysds/parser/BuiltinFunctionExpression.html
@@ -682,6 +682,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/ConditionalPredicate.html b/docs/api/java/org/apache/sysds/parser/ConditionalPredicate.html
index ef10499..ba88c0f 100644
--- a/docs/api/java/org/apache/sysds/parser/ConditionalPredicate.html
+++ b/docs/api/java/org/apache/sysds/parser/ConditionalPredicate.html
@@ -539,6 +539,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/ConstIdentifier.html b/docs/api/java/org/apache/sysds/parser/ConstIdentifier.html
index 19e7315..79682af 100644
--- a/docs/api/java/org/apache/sysds/parser/ConstIdentifier.html
+++ b/docs/api/java/org/apache/sysds/parser/ConstIdentifier.html
@@ -321,6 +321,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/DMLProgram.html b/docs/api/java/org/apache/sysds/parser/DMLProgram.html
index f637093..dab070b 100644
--- a/docs/api/java/org/apache/sysds/parser/DMLProgram.html
+++ b/docs/api/java/org/apache/sysds/parser/DMLProgram.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":9,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":9,"i22":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":9,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":9,"i21":10,"i22":10,"i23":10,"i24":10,"i25":9,"i26":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -131,10 +131,14 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DMLProgram.html#DEFAULT_NAMESPACE">DEFAULT_NAMESPACE</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DMLProgram.html#BUILTIN_NAMESPACE">BUILTIN_NAMESPACE</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DMLProgram.html#DEFAULT_NAMESPACE">DEFAULT_NAMESPACE</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DMLProgram.html#INTERNAL_NAMESPACE">INTERNAL_NAMESPACE</a></span></code>&nbsp;</td>
 </tr>
 </table>
@@ -198,75 +202,91 @@
 </tr>
 <tr id="i5" class="rowColor">
 <td class="colFirst"><code><a href="../../../../org/apache/sysds/parser/FunctionDictionary.html" title="class in org.apache.sysds.parser">FunctionDictionary</a>&lt;<a href="../../../../org/apache/sysds/parser/FunctionStatementBlock.html" title="class in org.apache.sysds.parser">FunctionStatementBlock</a>&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DMLProgram.html#getDefaultFunctionDictionary--">getDefaultFunctionDictionary</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DMLProgram.html#createNamespace-java.lang.String-">createNamespace</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace)</code>&nbsp;</td>
 </tr>
 <tr id="i6" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/sysds/parser/FunctionDictionary.html" title="class in org.apache.sysds.parser">FunctionDictionary</a>&lt;<a href="../../../../org/apache/sysds/parser/FunctionStatementBlock.html" title="class in org.apache.sysds.parser">FunctionStatementBlock</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DMLProgram.html#getBuiltinFunctionDictionary--">getBuiltinFunctionDictionary</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/sysds/parser/FunctionDictionary.html" title="class in org.apache.sysds.parser">FunctionDictionary</a>&lt;<a href="../../../../org/apache/sysds/parser/FunctionStatementBlock.html" title="class in org.apache.sysds.parser">FunctionStatementBlock</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DMLProgram.html#getDefaultFunctionDictionary--">getDefaultFunctionDictionary</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/sysds/parser/FunctionDictionary.html" title="class in org.apache.sysds.parser">FunctionDictionary</a>&lt;<a href="../../../../org/apache/sysds/parser/FunctionStatementBlock.html" title="class in org.apache.sysds.parser">FunctionStatementBlock</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DMLProgram.html#getFunctionDictionary-java.lang.String-">getFunctionDictionary</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace)</code>&nbsp;</td>
+</tr>
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code><a href="../../../../org/apache/sysds/parser/FunctionStatementBlock.html" title="class in org.apache.sysds.parser">FunctionStatementBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DMLProgram.html#getFunctionStatementBlock-java.lang.String-">getFunctionStatementBlock</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;fkey)</code>&nbsp;</td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i10" class="altColor">
 <td class="colFirst"><code><a href="../../../../org/apache/sysds/parser/FunctionStatementBlock.html" title="class in org.apache.sysds.parser">FunctionStatementBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DMLProgram.html#getFunctionStatementBlock-java.lang.String-java.lang.String-">getFunctionStatementBlock</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespaceKey,
                          <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;functionName)</code>&nbsp;</td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/sysds/parser/FunctionStatementBlock.html" title="class in org.apache.sysds.parser">FunctionStatementBlock</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DMLProgram.html#getFunctionStatementBlocks--">getFunctionStatementBlocks</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i12" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../org/apache/sysds/parser/FunctionStatementBlock.html" title="class in org.apache.sysds.parser">FunctionStatementBlock</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DMLProgram.html#getFunctionStatementBlocks-java.lang.String-">getFunctionStatementBlocks</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespaceKey)</code>&nbsp;</td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i13" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../org/apache/sysds/parser/FunctionStatementBlock.html" title="class in org.apache.sysds.parser">FunctionStatementBlock</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DMLProgram.html#getNamedNSFunctionStatementBlocks--">getNamedNSFunctionStatementBlocks</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i11" class="rowColor">
+<tr id="i14" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../org/apache/sysds/parser/FunctionDictionary.html" title="class in org.apache.sysds.parser">FunctionDictionary</a>&lt;<a href="../../../../org/apache/sysds/parser/FunctionStatementBlock.html" title="class in org.apache.sysds.parser">FunctionStatementBlock</a>&gt;&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DMLProgram.html#getNamespaces--">getNamespaces</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i12" class="altColor">
+<tr id="i15" class="rowColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DMLProgram.html#getNumStatementBlocks--">getNumStatementBlocks</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i13" class="rowColor">
+<tr id="i16" class="altColor">
 <td class="colFirst"><code><a href="../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DMLProgram.html#getStatementBlock-int-">getStatementBlock</a></span>(int&nbsp;i)</code>&nbsp;</td>
 </tr>
-<tr id="i14" class="altColor">
+<tr id="i17" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DMLProgram.html#getStatementBlocks--">getStatementBlocks</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i15" class="rowColor">
+<tr id="i18" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DMLProgram.html#hasFunctionStatementBlocks--">hasFunctionStatementBlocks</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i16" class="altColor">
+<tr id="i19" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DMLProgram.html#hoistFunctionCallsFromExpressions--">hoistFunctionCallsFromExpressions</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i17" class="rowColor">
+<tr id="i20" class="altColor">
+<td class="colFirst"><code>static boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DMLProgram.html#isInternalNamespace-java.lang.String-">isInternalNamespace</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace)</code>&nbsp;</td>
+</tr>
+<tr id="i21" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DMLProgram.html#mergeStatementBlocks--">mergeStatementBlocks</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i18" class="altColor">
+<tr id="i22" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DMLProgram.html#removeFunctionStatementBlock-java.lang.String-">removeFunctionStatementBlock</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;fkey)</code>&nbsp;</td>
 </tr>
-<tr id="i19" class="rowColor">
+<tr id="i23" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DMLProgram.html#removeFunctionStatementBlock-java.lang.String-java.lang.String-">removeFunctionStatementBlock</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespaceKey,
                             <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;functionName)</code>&nbsp;</td>
 </tr>
-<tr id="i20" class="altColor">
+<tr id="i24" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DMLProgram.html#setStatementBlocks-java.util.ArrayList-">setStatementBlocks</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;&nbsp;passed)</code>&nbsp;</td>
 </tr>
-<tr id="i21" class="rowColor">
+<tr id="i25" class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DMLProgram.html#splitFunctionKey-java.lang.String-">splitFunctionKey</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;fkey)</code>&nbsp;</td>
 </tr>
-<tr id="i22" class="altColor">
+<tr id="i26" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DMLProgram.html#toString--">toString</a></span>()</code>&nbsp;</td>
 </tr>
@@ -305,6 +325,19 @@
 </dl>
 </li>
 </ul>
+<a name="BUILTIN_NAMESPACE">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>BUILTIN_NAMESPACE</h4>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> BUILTIN_NAMESPACE</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../constant-values.html#org.apache.sysds.parser.DMLProgram.BUILTIN_NAMESPACE">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
 <a name="INTERNAL_NAMESPACE">
 <!--   -->
 </a>
@@ -379,6 +412,24 @@
 <pre>public&nbsp;int&nbsp;getNumStatementBlocks()</pre>
 </li>
 </ul>
+<a name="isInternalNamespace-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isInternalNamespace</h4>
+<pre>public static&nbsp;boolean&nbsp;isInternalNamespace(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace)</pre>
+</li>
+</ul>
+<a name="createNamespace-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>createNamespace</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/sysds/parser/FunctionDictionary.html" title="class in org.apache.sysds.parser">FunctionDictionary</a>&lt;<a href="../../../../org/apache/sysds/parser/FunctionStatementBlock.html" title="class in org.apache.sysds.parser">FunctionStatementBlock</a>&gt;&nbsp;createNamespace(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace)</pre>
+</li>
+</ul>
 <a name="getFunctionStatementBlock-java.lang.String-">
 <!--   -->
 </a>
@@ -469,6 +520,24 @@
 <pre>public&nbsp;<a href="../../../../org/apache/sysds/parser/FunctionDictionary.html" title="class in org.apache.sysds.parser">FunctionDictionary</a>&lt;<a href="../../../../org/apache/sysds/parser/FunctionStatementBlock.html" title="class in org.apache.sysds.parser">FunctionStatementBlock</a>&gt;&nbsp;getDefaultFunctionDictionary()</pre>
 </li>
 </ul>
+<a name="getBuiltinFunctionDictionary--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getBuiltinFunctionDictionary</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/sysds/parser/FunctionDictionary.html" title="class in org.apache.sysds.parser">FunctionDictionary</a>&lt;<a href="../../../../org/apache/sysds/parser/FunctionStatementBlock.html" title="class in org.apache.sysds.parser">FunctionStatementBlock</a>&gt;&nbsp;getBuiltinFunctionDictionary()</pre>
+</li>
+</ul>
+<a name="getFunctionDictionary-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getFunctionDictionary</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/sysds/parser/FunctionDictionary.html" title="class in org.apache.sysds.parser">FunctionDictionary</a>&lt;<a href="../../../../org/apache/sysds/parser/FunctionStatementBlock.html" title="class in org.apache.sysds.parser">FunctionStatementBlock</a>&gt;&nbsp;getFunctionDictionary(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace)</pre>
+</li>
+</ul>
 <a name="addFunctionStatementBlock-java.lang.String-org.apache.sysds.parser.FunctionStatementBlock-">
 <!--   -->
 </a>
@@ -645,6 +714,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/DMLTranslator.html b/docs/api/java/org/apache/sysds/parser/DMLTranslator.html
index 58cd83c..69d130e 100644
--- a/docs/api/java/org/apache/sysds/parser/DMLTranslator.html
+++ b/docs/api/java/org/apache/sysds/parser/DMLTranslator.html
@@ -706,6 +706,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/DataExpression.html b/docs/api/java/org/apache/sysds/parser/DataExpression.html
index e7f61ee..401c7b9 100644
--- a/docs/api/java/org/apache/sysds/parser/DataExpression.html
+++ b/docs/api/java/org/apache/sysds/parser/DataExpression.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":9,"i9":9,"i10":9,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":9,"i10":9,"i11":9,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -205,60 +205,68 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DataExpression.html#DELIM_DELIMITER">DELIM_DELIMITER</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DataExpression.html#DEFAULT_SCHEMAPARAM">DEFAULT_SCHEMAPARAM</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DataExpression.html#DELIM_DELIMITER">DELIM_DELIMITER</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DataExpression.html#DELIM_FILL">DELIM_FILL</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DataExpression.html#DELIM_FILL_VALUE">DELIM_FILL_VALUE</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DataExpression.html#DELIM_HAS_HEADER_ROW">DELIM_HAS_HEADER_ROW</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DataExpression.html#DELIM_NA_STRING_SEP">DELIM_NA_STRING_SEP</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DataExpression.html#DELIM_NA_STRINGS">DELIM_NA_STRINGS</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DataExpression.html#DELIM_SPARSE">DELIM_SPARSE</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DataExpression.html#DESCRIPTIONPARAM">DESCRIPTIONPARAM</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DataExpression.html#FED_ADDRESSES">FED_ADDRESSES</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DataExpression.html#FED_RANGES">FED_RANGES</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DataExpression.html#FED_TYPE">FED_TYPE</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DataExpression.html#FEDERATED_VALID_PARAM_NAMES">FEDERATED_VALID_PARAM_NAMES</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DataExpression.html#FINE_GRAINED_PRIVACY">FINE_GRAINED_PRIVACY</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DataExpression.html#FORMAT_TYPE">FORMAT_TYPE</a></span></code>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DataExpression.html#FRAME_VALID_PARAM_NAMES">FRAME_VALID_PARAM_NAMES</a></span></code>&nbsp;</td>
+</tr>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DataExpression.html#IO_FILENAME">IO_FILENAME</a></span></code>&nbsp;</td>
@@ -433,41 +441,46 @@
 </tr>
 <tr id="i1" class="rowColor">
 <td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DataExpression.html#addFrameExprParam-java.lang.String-org.apache.sysds.parser.Expression-">addFrameExprParam</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;paramName,
+                 <a href="../../../../org/apache/sysds/parser/Expression.html" title="class in org.apache.sysds.parser">Expression</a>&nbsp;paramValue)</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DataExpression.html#addMatrixExprParam-java.lang.String-org.apache.sysds.parser.Expression-">addMatrixExprParam</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;paramName,
                   <a href="../../../../org/apache/sysds/parser/Expression.html" title="class in org.apache.sysds.parser">Expression</a>&nbsp;paramValue)</code>&nbsp;</td>
 </tr>
-<tr id="i2" class="altColor">
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DataExpression.html#addRandExprParam-java.lang.String-org.apache.sysds.parser.Expression-">addRandExprParam</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;paramName,
                 <a href="../../../../org/apache/sysds/parser/Expression.html" title="class in org.apache.sysds.parser">Expression</a>&nbsp;paramValue)</code>&nbsp;</td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DataExpression.html#addSqlExprParam-java.lang.String-org.apache.sysds.parser.Expression-">addSqlExprParam</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;paramName,
                <a href="../../../../org/apache/sysds/parser/Expression.html" title="class in org.apache.sysds.parser">Expression</a>&nbsp;paramValue)</code>&nbsp;</td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DataExpression.html#addTensorExprParam-java.lang.String-org.apache.sysds.parser.Expression-">addTensorExprParam</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;paramName,
                   <a href="../../../../org/apache/sysds/parser/Expression.html" title="class in org.apache.sysds.parser">Expression</a>&nbsp;paramValue)</code>&nbsp;</td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DataExpression.html#addVarParam-java.lang.String-org.apache.sysds.parser.Expression-">addVarParam</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
            <a href="../../../../org/apache/sysds/parser/Expression.html" title="class in org.apache.sysds.parser">Expression</a>&nbsp;value)</code>&nbsp;</td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DataExpression.html#checkHasDelimitedFormat-java.lang.String-boolean-">checkHasDelimitedFormat</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;filename,
                        boolean&nbsp;conditional)</code>&nbsp;</td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DataExpression.html#checkHasMatrixMarketFormat-java.lang.String-java.lang.String-boolean-">checkHasMatrixMarketFormat</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;inputFileName,
                           <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;mtdFileName,
                           boolean&nbsp;conditional)</code>&nbsp;</td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../org/apache/sysds/parser/DataExpression.html" title="class in org.apache.sysds.parser">DataExpression</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DataExpression.html#getDataExpression-org.antlr.v4.runtime.ParserRuleContext-java.lang.String-java.util.ArrayList-java.lang.String-org.apache.sysds.parser.dml.CustomErrorListener-">getDataExpression</a></span>(org.antlr.v4.runtime.ParserRuleContext&nbsp;ctx,
                  <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;functionName,
@@ -475,89 +488,93 @@
                  <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;filename,
                  <a href="../../../../org/apache/sysds/parser/dml/CustomErrorListener.html" title="class in org.apache.sysds.parser.dml">CustomErrorListener</a>&nbsp;errorListener)</code>&nbsp;</td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i10" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../org/apache/sysds/parser/DataExpression.html" title="class in org.apache.sysds.parser">DataExpression</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DataExpression.html#getDataExpression-java.lang.String-java.util.ArrayList-org.apache.sysds.parser.ParseInfo-org.apache.sysds.parser.dml.CustomErrorListener-">getDataExpression</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;functionName,
                  <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../org/apache/sysds/parser/ParameterExpression.html" title="class in org.apache.sysds.parser">ParameterExpression</a>&gt;&nbsp;passedParamExprs,
                  <a href="../../../../org/apache/sysds/parser/ParseInfo.html" title="interface in org.apache.sysds.parser">ParseInfo</a>&nbsp;parseInfo,
                  <a href="../../../../org/apache/sysds/parser/dml/CustomErrorListener.html" title="class in org.apache.sysds.parser.dml">CustomErrorListener</a>&nbsp;errorListener)</code>&nbsp;</td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DataExpression.html#getMTDFileName-java.lang.String-">getMTDFileName</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;inputFileName)</code>&nbsp;</td>
 </tr>
-<tr id="i11" class="rowColor">
+<tr id="i12" class="altColor">
 <td class="colFirst"><code><a href="../../../../org/apache/sysds/parser/Expression.DataOp.html" title="enum in org.apache.sysds.parser">Expression.DataOp</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DataExpression.html#getOpCode--">getOpCode</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i12" class="altColor">
+<tr id="i13" class="rowColor">
 <td class="colFirst"><code><a href="../../../../org/apache/sysds/parser/Expression.html" title="class in org.apache.sysds.parser">Expression</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DataExpression.html#getVarParam-java.lang.String-">getVarParam</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>&nbsp;</td>
 </tr>
-<tr id="i13" class="rowColor">
+<tr id="i14" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../org/apache/sysds/parser/Expression.html" title="class in org.apache.sysds.parser">Expression</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DataExpression.html#getVarParams--">getVarParams</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i14" class="altColor">
+<tr id="i15" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DataExpression.html#isCSVReadWithUnknownSize--">isCSVReadWithUnknownSize</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i15" class="rowColor">
+<tr id="i16" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DataExpression.html#isRead--">isRead</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i16" class="altColor">
+<tr id="i17" class="rowColor">
 <td class="colFirst"><code>org.apache.wink.json4j.JSONObject</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DataExpression.html#readMetadataFile-java.lang.String-boolean-">readMetadataFile</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;filename,
                 boolean&nbsp;conditional)</code>&nbsp;</td>
 </tr>
-<tr id="i17" class="rowColor">
+<tr id="i18" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DataExpression.html#removeVarParam-java.lang.String...-">removeVarParam</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;names)</code>&nbsp;</td>
 </tr>
-<tr id="i18" class="altColor">
+<tr id="i19" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DataExpression.html#removeVarParam-java.lang.String-">removeVarParam</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>&nbsp;</td>
 </tr>
-<tr id="i19" class="rowColor">
+<tr id="i20" class="altColor">
 <td class="colFirst"><code><a href="../../../../org/apache/sysds/parser/Expression.html" title="class in org.apache.sysds.parser">Expression</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DataExpression.html#rewriteExpression-java.lang.String-">rewriteExpression</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;prefix)</code>&nbsp;</td>
 </tr>
-<tr id="i20" class="altColor">
+<tr id="i21" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DataExpression.html#setCheckMetadata-boolean-">setCheckMetadata</a></span>(boolean&nbsp;checkMetadata)</code>&nbsp;</td>
 </tr>
-<tr id="i21" class="rowColor">
+<tr id="i22" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DataExpression.html#setFederatedDefault--">setFederatedDefault</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i22" class="altColor">
+<tr id="i23" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DataExpression.html#setFrameDefault--">setFrameDefault</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i24" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DataExpression.html#setMatrixDefault--">setMatrixDefault</a></span>()</code>
 <div class="block">By default we use rowwise matrix reshape according to our internal dense/sparse matrix representations.</div>
 </td>
 </tr>
-<tr id="i23" class="rowColor">
+<tr id="i25" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DataExpression.html#setOpCode-org.apache.sysds.parser.Expression.DataOp-">setOpCode</a></span>(<a href="../../../../org/apache/sysds/parser/Expression.DataOp.html" title="enum in org.apache.sysds.parser">Expression.DataOp</a>&nbsp;op)</code>&nbsp;</td>
 </tr>
-<tr id="i24" class="altColor">
+<tr id="i26" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DataExpression.html#setRandDefault--">setRandDefault</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i25" class="rowColor">
+<tr id="i27" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DataExpression.html#setTensorDefault--">setTensorDefault</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i26" class="altColor">
+<tr id="i28" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DataExpression.html#setVarParams-java.util.HashMap-">setVarParams</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../org/apache/sysds/parser/Expression.html" title="class in org.apache.sysds.parser">Expression</a>&gt;&nbsp;varParams)</code>&nbsp;</td>
 </tr>
-<tr id="i27" class="rowColor">
+<tr id="i29" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DataExpression.html#toString--">toString</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i28" class="altColor">
+<tr id="i30" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DataExpression.html#validateExpression-java.util.HashMap-java.util.HashMap-boolean-">validateExpression</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../org/apache/sysds/parser/DataIdentifier.html" title="class in org.apache.sysds.parser">DataIdentifier</a>&gt;&nbsp;ids,
                   <a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../org/apache/sysds/parser/ConstIdentifier.html" title="class in org.apache.sysds.parser">ConstIdentifier</a>&gt;&nbsp;currConstVars,
@@ -566,11 +583,11 @@
  statement</div>
 </td>
 </tr>
-<tr id="i29" class="rowColor">
+<tr id="i31" class="rowColor">
 <td class="colFirst"><code><a href="../../../../org/apache/sysds/parser/VariableSet.html" title="class in org.apache.sysds.parser">VariableSet</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DataExpression.html#variablesRead--">variablesRead</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i30" class="altColor">
+<tr id="i32" class="altColor">
 <td class="colFirst"><code><a href="../../../../org/apache/sysds/parser/VariableSet.html" title="class in org.apache.sysds.parser">VariableSet</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DataExpression.html#variablesUpdated--">variablesUpdated</a></span>()</code>&nbsp;</td>
 </tr>
@@ -1188,6 +1205,15 @@
 <pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt; RESHAPE_VALID_PARAM_NAMES</pre>
 </li>
 </ul>
+<a name="FRAME_VALID_PARAM_NAMES">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>FRAME_VALID_PARAM_NAMES</h4>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt; FRAME_VALID_PARAM_NAMES</pre>
+</li>
+</ul>
 <a name="SQL_VALID_PARAM_NAMES">
 <!--   -->
 </a>
@@ -1294,7 +1320,7 @@
 <a name="DEFAULT_NA_STRINGS">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_NA_STRINGS</h4>
 <pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> DEFAULT_NA_STRINGS</pre>
@@ -1304,6 +1330,19 @@
 </dl>
 </li>
 </ul>
+<a name="DEFAULT_SCHEMAPARAM">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>DEFAULT_SCHEMAPARAM</h4>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> DEFAULT_SCHEMAPARAM</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../constant-values.html#org.apache.sysds.parser.DataExpression.DEFAULT_SCHEMAPARAM">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 <!-- ========= CONSTRUCTOR DETAIL ======== -->
@@ -1406,6 +1445,16 @@
                                <a href="../../../../org/apache/sysds/parser/Expression.html" title="class in org.apache.sysds.parser">Expression</a>&nbsp;paramValue)</pre>
 </li>
 </ul>
+<a name="addFrameExprParam-java.lang.String-org.apache.sysds.parser.Expression-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>addFrameExprParam</h4>
+<pre>public&nbsp;void&nbsp;addFrameExprParam(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;paramName,
+                              <a href="../../../../org/apache/sysds/parser/Expression.html" title="class in org.apache.sysds.parser">Expression</a>&nbsp;paramValue)</pre>
+</li>
+</ul>
 <a name="addTensorExprParam-java.lang.String-org.apache.sysds.parser.Expression-">
 <!--   -->
 </a>
@@ -1461,6 +1510,15 @@
  always read by-column and the default for byRow is by-column as well.</div>
 </li>
 </ul>
+<a name="setFrameDefault--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setFrameDefault</h4>
+<pre>public&nbsp;void&nbsp;setFrameDefault()</pre>
+</li>
+</ul>
 <a name="setTensorDefault--">
 <!--   -->
 </a>
@@ -1744,6 +1802,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/DataIdentifier.html b/docs/api/java/org/apache/sysds/parser/DataIdentifier.html
index 057679c..0c6fb3f 100644
--- a/docs/api/java/org/apache/sysds/parser/DataIdentifier.html
+++ b/docs/api/java/org/apache/sysds/parser/DataIdentifier.html
@@ -511,6 +511,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/DoubleIdentifier.html b/docs/api/java/org/apache/sysds/parser/DoubleIdentifier.html
index 3abdb9d..b54bf7b 100644
--- a/docs/api/java/org/apache/sysds/parser/DoubleIdentifier.html
+++ b/docs/api/java/org/apache/sysds/parser/DoubleIdentifier.html
@@ -477,6 +477,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/Expression.BinaryOp.html b/docs/api/java/org/apache/sysds/parser/Expression.BinaryOp.html
index 6cc8d3b..b8163e0 100644
--- a/docs/api/java/org/apache/sysds/parser/Expression.BinaryOp.html
+++ b/docs/api/java/org/apache/sysds/parser/Expression.BinaryOp.html
@@ -426,6 +426,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/Expression.BooleanOp.html b/docs/api/java/org/apache/sysds/parser/Expression.BooleanOp.html
index 6d66e40..6f9e66f 100644
--- a/docs/api/java/org/apache/sysds/parser/Expression.BooleanOp.html
+++ b/docs/api/java/org/apache/sysds/parser/Expression.BooleanOp.html
@@ -390,6 +390,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/Expression.DataOp.html b/docs/api/java/org/apache/sysds/parser/Expression.DataOp.html
index 8186f32..7a06db0 100644
--- a/docs/api/java/org/apache/sysds/parser/Expression.DataOp.html
+++ b/docs/api/java/org/apache/sysds/parser/Expression.DataOp.html
@@ -146,21 +146,24 @@
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/Expression.DataOp.html#FEDERATED">FEDERATED</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/Expression.DataOp.html#FRAME">FRAME</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/Expression.DataOp.html#MATRIX">MATRIX</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/Expression.DataOp.html#RAND">RAND</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/Expression.DataOp.html#READ">READ</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/Expression.DataOp.html#SQL">SQL</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/Expression.DataOp.html#TENSOR">TENSOR</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/Expression.DataOp.html#WRITE">WRITE</a></span></code>&nbsp;</td>
 </tr>
 </table>
@@ -256,6 +259,15 @@
 <pre>public static final&nbsp;<a href="../../../../org/apache/sysds/parser/Expression.DataOp.html" title="enum in org.apache.sysds.parser">Expression.DataOp</a> MATRIX</pre>
 </li>
 </ul>
+<a name="FRAME">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>FRAME</h4>
+<pre>public static final&nbsp;<a href="../../../../org/apache/sysds/parser/Expression.DataOp.html" title="enum in org.apache.sysds.parser">Expression.DataOp</a> FRAME</pre>
+</li>
+</ul>
 <a name="TENSOR">
 <!--   -->
 </a>
@@ -402,6 +414,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/Expression.FunctCallOp.html b/docs/api/java/org/apache/sysds/parser/Expression.FunctCallOp.html
index fbb88b2..7465f55 100644
--- a/docs/api/java/org/apache/sysds/parser/Expression.FunctCallOp.html
+++ b/docs/api/java/org/apache/sysds/parser/Expression.FunctCallOp.html
@@ -342,6 +342,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/Expression.RelationalOp.html b/docs/api/java/org/apache/sysds/parser/Expression.RelationalOp.html
index 66555ec..f8240b4 100644
--- a/docs/api/java/org/apache/sysds/parser/Expression.RelationalOp.html
+++ b/docs/api/java/org/apache/sysds/parser/Expression.RelationalOp.html
@@ -402,6 +402,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/Expression.html b/docs/api/java/org/apache/sysds/parser/Expression.html
index e8a5f24..e9d8106 100644
--- a/docs/api/java/org/apache/sysds/parser/Expression.html
+++ b/docs/api/java/org/apache/sysds/parser/Expression.html
@@ -1190,6 +1190,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/ExpressionList.html b/docs/api/java/org/apache/sysds/parser/ExpressionList.html
index 6c72ff3..2107901 100644
--- a/docs/api/java/org/apache/sysds/parser/ExpressionList.html
+++ b/docs/api/java/org/apache/sysds/parser/ExpressionList.html
@@ -433,6 +433,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/ForStatement.html b/docs/api/java/org/apache/sysds/parser/ForStatement.html
index c7ca08e..e5feed5 100644
--- a/docs/api/java/org/apache/sysds/parser/ForStatement.html
+++ b/docs/api/java/org/apache/sysds/parser/ForStatement.html
@@ -141,7 +141,7 @@
 <!--   -->
 </a>
 <h3>Nested classes/interfaces inherited from class&nbsp;org.apache.sysds.parser.<a href="../../../../org/apache/sysds/parser/Statement.html" title="class in org.apache.sysds.parser">Statement</a></h3>
-<code><a href="../../../../org/apache/sysds/parser/Statement.PSCheckpointing.html" title="enum in org.apache.sysds.parser">Statement.PSCheckpointing</a>, <a href="../../../../org/apache/sysds/parser/Statement.PSFrequency.html" title="enum in org.apache.sysds.parser">Statement.PSFrequency</a>, <a href="../../../../org/apache/sysds/parser/Statement.PSModeType.html" title="enum in org.apache.sysds.parser">Statement.PSModeType</a>, <a href="../../../../org/apache/sysds/parser/Statement.PSScheme.html" title="enum in org.apache.sysds.parser">Statement.PSScheme</a>, <a href="../../../../org/apache/sysds/parser/Statement.PSUpdateType.html" title="enum in org.apache.sysds.parser">Statement.PSUpdateType</a></code></li>
+<code><a href="../../../../org/apache/sysds/parser/Statement.FederatedPSScheme.html" title="enum in org.apache.sysds.parser">Statement.FederatedPSScheme</a>, <a href="../../../../org/apache/sysds/parser/Statement.PSCheckpointing.html" title="enum in org.apache.sysds.parser">Statement.PSCheckpointing</a>, <a href="../../../../org/apache/sysds/parser/Statement.PSFrequency.html" title="enum in org.apache.sysds.parser">Statement.PSFrequency</a>, <a href="../../../../org/apache/sysds/parser/Statement.PSModeType.html" title="enum in org.apache.sysds.parser">Statement.PSModeType</a>, <a href="../../../../org/apache/sysds/parser/Statement.PSRuntimeBalancing.html" title="enum in org.apache.sysds.parser">Statement.PSRuntimeBalancing</a>, <a href="../../../../org/apache/sysds/parser/Statement.PSScheme.html" title="enum in org.apache.sysds.parser">Statement.PSScheme</a>, <a href="../../../../org/apache/sysds/parser/Statement.PSUpdateType.html" title="enum in org.apache.sysds.parser">Statement.PSUpdateType</a></code></li>
 </ul>
 </li>
 </ul>
@@ -156,7 +156,7 @@
 <!--   -->
 </a>
 <h3>Fields inherited from class&nbsp;org.apache.sysds.parser.<a href="../../../../org/apache/sysds/parser/Statement.html" title="class in org.apache.sysds.parser">Statement</a></h3>
-<code><a href="../../../../org/apache/sysds/parser/Statement.html#BOOLEAN_VALUE_TYPE">BOOLEAN_VALUE_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#DOUBLE_VALUE_TYPE">DOUBLE_VALUE_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#FRAME_DATA_TYPE">FRAME_DATA_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN">GAGG_FN</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_CM">GAGG_FN_CM</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_CM_ORDER">GAGG_FN_CM_ORDER</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_COUNT">GAGG_FN_COUNT</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_MEAN">GAGG_FN_MEAN</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_SUM">GAGG_FN_SUM</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_VARIANCE">GAGG_FN_VARIANCE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_GROUPS">GAGG_GROUPS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_NUM_GROUPS">GAGG_NUM_GROUPS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_TARGET">GAGG_TARGET</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_WEIGHTS">GAGG_WEIGHTS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#INT_VALUE_TYPE">INT_VALUE_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#MATRIX_DATA_TYPE">MATRIX_DATA_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#OUTPUTSTATEMENT">OUTPUTSTATEMENT</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_AGGREGATION_FUN">PS_AGGREGATION_FUN</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_BATCH_SIZE">PS_BATCH_SIZE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_CHECKPOINTING">PS_CHECKPOINTING</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_EPOCHS">PS_EPOCHS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FEATURES">PS_FEATURES</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FREQUENCY">PS_FREQUENCY</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_GRADIENTS">PS_GRADIENTS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_HYPER_PARAMS">PS_HYPER_PARAMS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_LABELS">PS_LABELS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_MODE">PS_MODE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_MODEL">PS_MODEL</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_PARALLELISM">PS_PARALLELISM</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_SCHEME">PS_SCHEME</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_UPDATE_FUN">PS_UPDATE_FUN</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_UPDATE_TYPE">PS_UPDATE_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_VAL_FEATURES">PS_VAL_FEATURES</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_VAL_LABELS">PS_VAL_LABELS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SCALAR_DATA_TYPE">SCALAR_DATA_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SEQ_FROM">SEQ_FROM</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SEQ_INCR">SEQ_INCR</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SEQ_TO">SEQ_TO</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SETWD">SETWD</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SOURCE">SOURCE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#STRING_VALUE_TYPE">STRING_VALUE_TYPE</a></code></li>
+<code><a href="../../../../org/apache/sysds/parser/Statement.html#BOOLEAN_VALUE_TYPE">BOOLEAN_VALUE_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#DOUBLE_VALUE_TYPE">DOUBLE_VALUE_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#FRAME_DATA_TYPE">FRAME_DATA_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN">GAGG_FN</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_CM">GAGG_FN_CM</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_CM_ORDER">GAGG_FN_CM_ORDER</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_COUNT">GAGG_FN_COUNT</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_MEAN">GAGG_FN_MEAN</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_SUM">GAGG_FN_SUM</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_VARIANCE">GAGG_FN_VARIANCE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_GROUPS">GAGG_GROUPS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_NUM_GROUPS">GAGG_NUM_GROUPS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_TARGET">GAGG_TARGET</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_WEIGHTS">GAGG_WEIGHTS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#INT_VALUE_TYPE">INT_VALUE_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#MATRIX_DATA_TYPE">MATRIX_DATA_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#OUTPUTSTATEMENT">OUTPUTSTATEMENT</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_AGGREGATION_FUN">PS_AGGREGATION_FUN</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_BATCH_SIZE">PS_BATCH_SIZE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_CHECKPOINTING">PS_CHECKPOINTING</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_EPOCHS">PS_EPOCHS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FEATURES">PS_FEATURES</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FED_AGGREGATION_FNAME">PS_FED_AGGREGATION_FNAME</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FED_BATCH_SIZE">PS_FED_BATCH_SIZE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FED_DATA_SIZE">PS_FED_DATA_SIZE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FED_GRADIENTS_FNAME">PS_FED_GRADIENTS_FNAME</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FED_MODEL_VARID">PS_FED_MODEL_VARID</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FED_NAMESPACE">PS_FED_NAMESPACE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FED_POSS_BATCHES_LOCAL">PS_FED_POSS_BATCHES_LOCAL</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FED_RUNTIME_BALANCING">PS_FED_RUNTIME_BALANCING</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FED_WEIGHTING">PS_FED_WEIGHTING</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FREQUENCY">PS_FREQUENCY</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_GRADIENTS">PS_GRADIENTS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_HYPER_PARAMS">PS_HYPER_PARAMS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_LABELS">PS_LABELS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_MODE">PS_MODE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_MODEL">PS_MODEL</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_PARALLELISM">PS_PARALLELISM</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_SCHEME">PS_SCHEME</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_SEED">PS_SEED</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_UPDATE_FUN">PS_UPDATE_FUN</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_UPDATE_TYPE">PS_UPDATE_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_VAL_FEATURES">PS_VAL_FEATURES</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_VAL_FUN">PS_VAL_FUN</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_VAL_LABELS">PS_VAL_LABELS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SCALAR_DATA_TYPE">SCALAR_DATA_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SEQ_FROM">SEQ_FROM</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SEQ_INCR">SEQ_INCR</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SEQ_TO">SEQ_TO</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SETWD">SETWD</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SOURCE">SOURCE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#STRING_VALUE_TYPE">STRING_VALUE_TYPE</a></code></li>
 </ul>
 </li>
 </ul>
@@ -508,6 +508,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/ForStatementBlock.html b/docs/api/java/org/apache/sysds/parser/ForStatementBlock.html
index 51d71d4..c3c66d8 100644
--- a/docs/api/java/org/apache/sysds/parser/ForStatementBlock.html
+++ b/docs/api/java/org/apache/sysds/parser/ForStatementBlock.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -230,37 +230,41 @@
 </tr>
 <tr id="i14" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#requiresToRecompilation--">requiresToRecompilation</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#requiresPredicateRecompilation--">requiresPredicateRecompilation</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i15" class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#setFromHops-org.apache.sysds.hops.Hop-">setFromHops</a></span>(<a href="../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hops)</code>&nbsp;</td>
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#requiresToRecompilation--">requiresToRecompilation</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i16" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#setFromLops-org.apache.sysds.lops.Lop-">setFromLops</a></span>(<a href="../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;lops)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#setFromHops-org.apache.sysds.hops.Hop-">setFromHops</a></span>(<a href="../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hops)</code>&nbsp;</td>
 </tr>
 <tr id="i17" class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#setIncrementHops-org.apache.sysds.hops.Hop-">setIncrementHops</a></span>(<a href="../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hops)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#setFromLops-org.apache.sysds.lops.Lop-">setFromLops</a></span>(<a href="../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;lops)</code>&nbsp;</td>
 </tr>
 <tr id="i18" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#setIncrementLops-org.apache.sysds.lops.Lop-">setIncrementLops</a></span>(<a href="../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;lops)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#setIncrementHops-org.apache.sysds.hops.Hop-">setIncrementHops</a></span>(<a href="../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hops)</code>&nbsp;</td>
 </tr>
 <tr id="i19" class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#setToHops-org.apache.sysds.hops.Hop-">setToHops</a></span>(<a href="../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hops)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#setIncrementLops-org.apache.sysds.lops.Lop-">setIncrementLops</a></span>(<a href="../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;lops)</code>&nbsp;</td>
 </tr>
 <tr id="i20" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#setToLops-org.apache.sysds.lops.Lop-">setToLops</a></span>(<a href="../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;lops)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#setToHops-org.apache.sysds.hops.Hop-">setToHops</a></span>(<a href="../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hops)</code>&nbsp;</td>
 </tr>
 <tr id="i21" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#setToLops-org.apache.sysds.lops.Lop-">setToLops</a></span>(<a href="../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;lops)</code>&nbsp;</td>
+</tr>
+<tr id="i22" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#updatePredicateRecompilationFlags--">updatePredicateRecompilationFlags</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i22" class="altColor">
+<tr id="i23" class="rowColor">
 <td class="colFirst"><code><a href="../../../../org/apache/sysds/parser/VariableSet.html" title="class in org.apache.sysds.parser">VariableSet</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#validate-org.apache.sysds.parser.DMLProgram-org.apache.sysds.parser.VariableSet-java.util.HashMap-boolean-">validate</a></span>(<a href="../../../../org/apache/sysds/parser/DMLProgram.html" title="class in org.apache.sysds.parser">DMLProgram</a>&nbsp;dmlProg,
         <a href="../../../../org/apache/sysds/parser/VariableSet.html" title="class in org.apache.sysds.parser">VariableSet</a>&nbsp;ids,
@@ -538,6 +542,15 @@
 <pre>public&nbsp;boolean&nbsp;updatePredicateRecompilationFlags()</pre>
 </li>
 </ul>
+<a name="requiresPredicateRecompilation--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>requiresPredicateRecompilation</h4>
+<pre>public&nbsp;boolean&nbsp;requiresPredicateRecompilation()</pre>
+</li>
+</ul>
 <a name="requiresFromRecompilation--">
 <!--   -->
 </a>
@@ -634,6 +647,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/FunctionCallIdentifier.html b/docs/api/java/org/apache/sysds/parser/FunctionCallIdentifier.html
index 09cb605..233e5bd 100644
--- a/docs/api/java/org/apache/sysds/parser/FunctionCallIdentifier.html
+++ b/docs/api/java/org/apache/sysds/parser/FunctionCallIdentifier.html
@@ -528,6 +528,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/FunctionDictionary.html b/docs/api/java/org/apache/sysds/parser/FunctionDictionary.html
index 20b989f..9b98ca8 100644
--- a/docs/api/java/org/apache/sysds/parser/FunctionDictionary.html
+++ b/docs/api/java/org/apache/sysds/parser/FunctionDictionary.html
@@ -400,6 +400,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/FunctionStatement.html b/docs/api/java/org/apache/sysds/parser/FunctionStatement.html
index d8f5f78..9440fe5 100644
--- a/docs/api/java/org/apache/sysds/parser/FunctionStatement.html
+++ b/docs/api/java/org/apache/sysds/parser/FunctionStatement.html
@@ -137,7 +137,7 @@
 <!--   -->
 </a>
 <h3>Nested classes/interfaces inherited from class&nbsp;org.apache.sysds.parser.<a href="../../../../org/apache/sysds/parser/Statement.html" title="class in org.apache.sysds.parser">Statement</a></h3>
-<code><a href="../../../../org/apache/sysds/parser/Statement.PSCheckpointing.html" title="enum in org.apache.sysds.parser">Statement.PSCheckpointing</a>, <a href="../../../../org/apache/sysds/parser/Statement.PSFrequency.html" title="enum in org.apache.sysds.parser">Statement.PSFrequency</a>, <a href="../../../../org/apache/sysds/parser/Statement.PSModeType.html" title="enum in org.apache.sysds.parser">Statement.PSModeType</a>, <a href="../../../../org/apache/sysds/parser/Statement.PSScheme.html" title="enum in org.apache.sysds.parser">Statement.PSScheme</a>, <a href="../../../../org/apache/sysds/parser/Statement.PSUpdateType.html" title="enum in org.apache.sysds.parser">Statement.PSUpdateType</a></code></li>
+<code><a href="../../../../org/apache/sysds/parser/Statement.FederatedPSScheme.html" title="enum in org.apache.sysds.parser">Statement.FederatedPSScheme</a>, <a href="../../../../org/apache/sysds/parser/Statement.PSCheckpointing.html" title="enum in org.apache.sysds.parser">Statement.PSCheckpointing</a>, <a href="../../../../org/apache/sysds/parser/Statement.PSFrequency.html" title="enum in org.apache.sysds.parser">Statement.PSFrequency</a>, <a href="../../../../org/apache/sysds/parser/Statement.PSModeType.html" title="enum in org.apache.sysds.parser">Statement.PSModeType</a>, <a href="../../../../org/apache/sysds/parser/Statement.PSRuntimeBalancing.html" title="enum in org.apache.sysds.parser">Statement.PSRuntimeBalancing</a>, <a href="../../../../org/apache/sysds/parser/Statement.PSScheme.html" title="enum in org.apache.sysds.parser">Statement.PSScheme</a>, <a href="../../../../org/apache/sysds/parser/Statement.PSUpdateType.html" title="enum in org.apache.sysds.parser">Statement.PSUpdateType</a></code></li>
 </ul>
 </li>
 </ul>
@@ -152,7 +152,7 @@
 <!--   -->
 </a>
 <h3>Fields inherited from class&nbsp;org.apache.sysds.parser.<a href="../../../../org/apache/sysds/parser/Statement.html" title="class in org.apache.sysds.parser">Statement</a></h3>
-<code><a href="../../../../org/apache/sysds/parser/Statement.html#BOOLEAN_VALUE_TYPE">BOOLEAN_VALUE_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#DOUBLE_VALUE_TYPE">DOUBLE_VALUE_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#FRAME_DATA_TYPE">FRAME_DATA_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN">GAGG_FN</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_CM">GAGG_FN_CM</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_CM_ORDER">GAGG_FN_CM_ORDER</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_COUNT">GAGG_FN_COUNT</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_MEAN">GAGG_FN_MEAN</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_SUM">GAGG_FN_SUM</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_VARIANCE">GAGG_FN_VARIANCE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_GROUPS">GAGG_GROUPS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_NUM_GROUPS">GAGG_NUM_GROUPS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_TARGET">GAGG_TARGET</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_WEIGHTS">GAGG_WEIGHTS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#INT_VALUE_TYPE">INT_VALUE_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#MATRIX_DATA_TYPE">MATRIX_DATA_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#OUTPUTSTATEMENT">OUTPUTSTATEMENT</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_AGGREGATION_FUN">PS_AGGREGATION_FUN</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_BATCH_SIZE">PS_BATCH_SIZE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_CHECKPOINTING">PS_CHECKPOINTING</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_EPOCHS">PS_EPOCHS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FEATURES">PS_FEATURES</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FREQUENCY">PS_FREQUENCY</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_GRADIENTS">PS_GRADIENTS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_HYPER_PARAMS">PS_HYPER_PARAMS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_LABELS">PS_LABELS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_MODE">PS_MODE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_MODEL">PS_MODEL</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_PARALLELISM">PS_PARALLELISM</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_SCHEME">PS_SCHEME</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_UPDATE_FUN">PS_UPDATE_FUN</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_UPDATE_TYPE">PS_UPDATE_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_VAL_FEATURES">PS_VAL_FEATURES</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_VAL_LABELS">PS_VAL_LABELS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SCALAR_DATA_TYPE">SCALAR_DATA_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SEQ_FROM">SEQ_FROM</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SEQ_INCR">SEQ_INCR</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SEQ_TO">SEQ_TO</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SETWD">SETWD</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SOURCE">SOURCE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#STRING_VALUE_TYPE">STRING_VALUE_TYPE</a></code></li>
+<code><a href="../../../../org/apache/sysds/parser/Statement.html#BOOLEAN_VALUE_TYPE">BOOLEAN_VALUE_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#DOUBLE_VALUE_TYPE">DOUBLE_VALUE_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#FRAME_DATA_TYPE">FRAME_DATA_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN">GAGG_FN</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_CM">GAGG_FN_CM</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_CM_ORDER">GAGG_FN_CM_ORDER</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_COUNT">GAGG_FN_COUNT</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_MEAN">GAGG_FN_MEAN</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_SUM">GAGG_FN_SUM</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_VARIANCE">GAGG_FN_VARIANCE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_GROUPS">GAGG_GROUPS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_NUM_GROUPS">GAGG_NUM_GROUPS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_TARGET">GAGG_TARGET</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_WEIGHTS">GAGG_WEIGHTS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#INT_VALUE_TYPE">INT_VALUE_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#MATRIX_DATA_TYPE">MATRIX_DATA_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#OUTPUTSTATEMENT">OUTPUTSTATEMENT</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_AGGREGATION_FUN">PS_AGGREGATION_FUN</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_BATCH_SIZE">PS_BATCH_SIZE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_CHECKPOINTING">PS_CHECKPOINTING</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_EPOCHS">PS_EPOCHS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FEATURES">PS_FEATURES</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FED_AGGREGATION_FNAME">PS_FED_AGGREGATION_FNAME</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FED_BATCH_SIZE">PS_FED_BATCH_SIZE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FED_DATA_SIZE">PS_FED_DATA_SIZE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FED_GRADIENTS_FNAME">PS_FED_GRADIENTS_FNAME</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FED_MODEL_VARID">PS_FED_MODEL_VARID</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FED_NAMESPACE">PS_FED_NAMESPACE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FED_POSS_BATCHES_LOCAL">PS_FED_POSS_BATCHES_LOCAL</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FED_RUNTIME_BALANCING">PS_FED_RUNTIME_BALANCING</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FED_WEIGHTING">PS_FED_WEIGHTING</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FREQUENCY">PS_FREQUENCY</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_GRADIENTS">PS_GRADIENTS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_HYPER_PARAMS">PS_HYPER_PARAMS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_LABELS">PS_LABELS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_MODE">PS_MODE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_MODEL">PS_MODEL</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_PARALLELISM">PS_PARALLELISM</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_SCHEME">PS_SCHEME</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_SEED">PS_SEED</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_UPDATE_FUN">PS_UPDATE_FUN</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_UPDATE_TYPE">PS_UPDATE_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_VAL_FEATURES">PS_VAL_FEATURES</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_VAL_FUN">PS_VAL_FUN</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_VAL_LABELS">PS_VAL_LABELS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SCALAR_DATA_TYPE">SCALAR_DATA_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SEQ_FROM">SEQ_FROM</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SEQ_INCR">SEQ_INCR</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SEQ_TO">SEQ_TO</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SETWD">SETWD</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SOURCE">SOURCE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#STRING_VALUE_TYPE">STRING_VALUE_TYPE</a></code></li>
 </ul>
 </li>
 </ul>
@@ -595,6 +595,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/FunctionStatementBlock.html b/docs/api/java/org/apache/sysds/parser/FunctionStatementBlock.html
index 0da8594..8bdbf8a 100644
--- a/docs/api/java/org/apache/sysds/parser/FunctionStatementBlock.html
+++ b/docs/api/java/org/apache/sysds/parser/FunctionStatementBlock.html
@@ -498,6 +498,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/Identifier.html b/docs/api/java/org/apache/sysds/parser/Identifier.html
index 3e83c4f..696e626 100644
--- a/docs/api/java/org/apache/sysds/parser/Identifier.html
+++ b/docs/api/java/org/apache/sysds/parser/Identifier.html
@@ -618,6 +618,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/IfStatement.html b/docs/api/java/org/apache/sysds/parser/IfStatement.html
index b7e7d57..37880d2 100644
--- a/docs/api/java/org/apache/sysds/parser/IfStatement.html
+++ b/docs/api/java/org/apache/sysds/parser/IfStatement.html
@@ -137,7 +137,7 @@
 <!--   -->
 </a>
 <h3>Nested classes/interfaces inherited from class&nbsp;org.apache.sysds.parser.<a href="../../../../org/apache/sysds/parser/Statement.html" title="class in org.apache.sysds.parser">Statement</a></h3>
-<code><a href="../../../../org/apache/sysds/parser/Statement.PSCheckpointing.html" title="enum in org.apache.sysds.parser">Statement.PSCheckpointing</a>, <a href="../../../../org/apache/sysds/parser/Statement.PSFrequency.html" title="enum in org.apache.sysds.parser">Statement.PSFrequency</a>, <a href="../../../../org/apache/sysds/parser/Statement.PSModeType.html" title="enum in org.apache.sysds.parser">Statement.PSModeType</a>, <a href="../../../../org/apache/sysds/parser/Statement.PSScheme.html" title="enum in org.apache.sysds.parser">Statement.PSScheme</a>, <a href="../../../../org/apache/sysds/parser/Statement.PSUpdateType.html" title="enum in org.apache.sysds.parser">Statement.PSUpdateType</a></code></li>
+<code><a href="../../../../org/apache/sysds/parser/Statement.FederatedPSScheme.html" title="enum in org.apache.sysds.parser">Statement.FederatedPSScheme</a>, <a href="../../../../org/apache/sysds/parser/Statement.PSCheckpointing.html" title="enum in org.apache.sysds.parser">Statement.PSCheckpointing</a>, <a href="../../../../org/apache/sysds/parser/Statement.PSFrequency.html" title="enum in org.apache.sysds.parser">Statement.PSFrequency</a>, <a href="../../../../org/apache/sysds/parser/Statement.PSModeType.html" title="enum in org.apache.sysds.parser">Statement.PSModeType</a>, <a href="../../../../org/apache/sysds/parser/Statement.PSRuntimeBalancing.html" title="enum in org.apache.sysds.parser">Statement.PSRuntimeBalancing</a>, <a href="../../../../org/apache/sysds/parser/Statement.PSScheme.html" title="enum in org.apache.sysds.parser">Statement.PSScheme</a>, <a href="../../../../org/apache/sysds/parser/Statement.PSUpdateType.html" title="enum in org.apache.sysds.parser">Statement.PSUpdateType</a></code></li>
 </ul>
 </li>
 </ul>
@@ -152,7 +152,7 @@
 <!--   -->
 </a>
 <h3>Fields inherited from class&nbsp;org.apache.sysds.parser.<a href="../../../../org/apache/sysds/parser/Statement.html" title="class in org.apache.sysds.parser">Statement</a></h3>
-<code><a href="../../../../org/apache/sysds/parser/Statement.html#BOOLEAN_VALUE_TYPE">BOOLEAN_VALUE_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#DOUBLE_VALUE_TYPE">DOUBLE_VALUE_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#FRAME_DATA_TYPE">FRAME_DATA_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN">GAGG_FN</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_CM">GAGG_FN_CM</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_CM_ORDER">GAGG_FN_CM_ORDER</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_COUNT">GAGG_FN_COUNT</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_MEAN">GAGG_FN_MEAN</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_SUM">GAGG_FN_SUM</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_VARIANCE">GAGG_FN_VARIANCE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_GROUPS">GAGG_GROUPS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_NUM_GROUPS">GAGG_NUM_GROUPS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_TARGET">GAGG_TARGET</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_WEIGHTS">GAGG_WEIGHTS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#INT_VALUE_TYPE">INT_VALUE_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#MATRIX_DATA_TYPE">MATRIX_DATA_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#OUTPUTSTATEMENT">OUTPUTSTATEMENT</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_AGGREGATION_FUN">PS_AGGREGATION_FUN</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_BATCH_SIZE">PS_BATCH_SIZE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_CHECKPOINTING">PS_CHECKPOINTING</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_EPOCHS">PS_EPOCHS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FEATURES">PS_FEATURES</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FREQUENCY">PS_FREQUENCY</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_GRADIENTS">PS_GRADIENTS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_HYPER_PARAMS">PS_HYPER_PARAMS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_LABELS">PS_LABELS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_MODE">PS_MODE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_MODEL">PS_MODEL</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_PARALLELISM">PS_PARALLELISM</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_SCHEME">PS_SCHEME</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_UPDATE_FUN">PS_UPDATE_FUN</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_UPDATE_TYPE">PS_UPDATE_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_VAL_FEATURES">PS_VAL_FEATURES</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_VAL_LABELS">PS_VAL_LABELS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SCALAR_DATA_TYPE">SCALAR_DATA_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SEQ_FROM">SEQ_FROM</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SEQ_INCR">SEQ_INCR</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SEQ_TO">SEQ_TO</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SETWD">SETWD</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SOURCE">SOURCE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#STRING_VALUE_TYPE">STRING_VALUE_TYPE</a></code></li>
+<code><a href="../../../../org/apache/sysds/parser/Statement.html#BOOLEAN_VALUE_TYPE">BOOLEAN_VALUE_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#DOUBLE_VALUE_TYPE">DOUBLE_VALUE_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#FRAME_DATA_TYPE">FRAME_DATA_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN">GAGG_FN</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_CM">GAGG_FN_CM</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_CM_ORDER">GAGG_FN_CM_ORDER</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_COUNT">GAGG_FN_COUNT</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_MEAN">GAGG_FN_MEAN</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_SUM">GAGG_FN_SUM</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_VARIANCE">GAGG_FN_VARIANCE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_GROUPS">GAGG_GROUPS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_NUM_GROUPS">GAGG_NUM_GROUPS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_TARGET">GAGG_TARGET</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_WEIGHTS">GAGG_WEIGHTS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#INT_VALUE_TYPE">INT_VALUE_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#MATRIX_DATA_TYPE">MATRIX_DATA_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#OUTPUTSTATEMENT">OUTPUTSTATEMENT</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_AGGREGATION_FUN">PS_AGGREGATION_FUN</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_BATCH_SIZE">PS_BATCH_SIZE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_CHECKPOINTING">PS_CHECKPOINTING</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_EPOCHS">PS_EPOCHS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FEATURES">PS_FEATURES</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FED_AGGREGATION_FNAME">PS_FED_AGGREGATION_FNAME</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FED_BATCH_SIZE">PS_FED_BATCH_SIZE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FED_DATA_SIZE">PS_FED_DATA_SIZE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FED_GRADIENTS_FNAME">PS_FED_GRADIENTS_FNAME</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FED_MODEL_VARID">PS_FED_MODEL_VARID</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FED_NAMESPACE">PS_FED_NAMESPACE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FED_POSS_BATCHES_LOCAL">PS_FED_POSS_BATCHES_LOCAL</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FED_RUNTIME_BALANCING">PS_FED_RUNTIME_BALANCING</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FED_WEIGHTING">PS_FED_WEIGHTING</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FREQUENCY">PS_FREQUENCY</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_GRADIENTS">PS_GRADIENTS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_HYPER_PARAMS">PS_HYPER_PARAMS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_LABELS">PS_LABELS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_MODE">PS_MODE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_MODEL">PS_MODEL</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_PARALLELISM">PS_PARALLELISM</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_SCHEME">PS_SCHEME</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_SEED">PS_SEED</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_UPDATE_FUN">PS_UPDATE_FUN</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_UPDATE_TYPE">PS_UPDATE_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_VAL_FEATURES">PS_VAL_FEATURES</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_VAL_FUN">PS_VAL_FUN</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_VAL_LABELS">PS_VAL_LABELS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SCALAR_DATA_TYPE">SCALAR_DATA_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SEQ_FROM">SEQ_FROM</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SEQ_INCR">SEQ_INCR</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SEQ_TO">SEQ_TO</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SETWD">SETWD</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SOURCE">SOURCE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#STRING_VALUE_TYPE">STRING_VALUE_TYPE</a></code></li>
 </ul>
 </li>
 </ul>
@@ -556,6 +556,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/IfStatementBlock.html b/docs/api/java/org/apache/sysds/parser/IfStatementBlock.html
index 460e6a7..85d2667 100644
--- a/docs/api/java/org/apache/sysds/parser/IfStatementBlock.html
+++ b/docs/api/java/org/apache/sysds/parser/IfStatementBlock.html
@@ -457,6 +457,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/ImportStatement.html b/docs/api/java/org/apache/sysds/parser/ImportStatement.html
index 63251f5..732a8c0 100644
--- a/docs/api/java/org/apache/sysds/parser/ImportStatement.html
+++ b/docs/api/java/org/apache/sysds/parser/ImportStatement.html
@@ -137,7 +137,7 @@
 <!--   -->
 </a>
 <h3>Nested classes/interfaces inherited from class&nbsp;org.apache.sysds.parser.<a href="../../../../org/apache/sysds/parser/Statement.html" title="class in org.apache.sysds.parser">Statement</a></h3>
-<code><a href="../../../../org/apache/sysds/parser/Statement.PSCheckpointing.html" title="enum in org.apache.sysds.parser">Statement.PSCheckpointing</a>, <a href="../../../../org/apache/sysds/parser/Statement.PSFrequency.html" title="enum in org.apache.sysds.parser">Statement.PSFrequency</a>, <a href="../../../../org/apache/sysds/parser/Statement.PSModeType.html" title="enum in org.apache.sysds.parser">Statement.PSModeType</a>, <a href="../../../../org/apache/sysds/parser/Statement.PSScheme.html" title="enum in org.apache.sysds.parser">Statement.PSScheme</a>, <a href="../../../../org/apache/sysds/parser/Statement.PSUpdateType.html" title="enum in org.apache.sysds.parser">Statement.PSUpdateType</a></code></li>
+<code><a href="../../../../org/apache/sysds/parser/Statement.FederatedPSScheme.html" title="enum in org.apache.sysds.parser">Statement.FederatedPSScheme</a>, <a href="../../../../org/apache/sysds/parser/Statement.PSCheckpointing.html" title="enum in org.apache.sysds.parser">Statement.PSCheckpointing</a>, <a href="../../../../org/apache/sysds/parser/Statement.PSFrequency.html" title="enum in org.apache.sysds.parser">Statement.PSFrequency</a>, <a href="../../../../org/apache/sysds/parser/Statement.PSModeType.html" title="enum in org.apache.sysds.parser">Statement.PSModeType</a>, <a href="../../../../org/apache/sysds/parser/Statement.PSRuntimeBalancing.html" title="enum in org.apache.sysds.parser">Statement.PSRuntimeBalancing</a>, <a href="../../../../org/apache/sysds/parser/Statement.PSScheme.html" title="enum in org.apache.sysds.parser">Statement.PSScheme</a>, <a href="../../../../org/apache/sysds/parser/Statement.PSUpdateType.html" title="enum in org.apache.sysds.parser">Statement.PSUpdateType</a></code></li>
 </ul>
 </li>
 </ul>
@@ -152,7 +152,7 @@
 <!--   -->
 </a>
 <h3>Fields inherited from class&nbsp;org.apache.sysds.parser.<a href="../../../../org/apache/sysds/parser/Statement.html" title="class in org.apache.sysds.parser">Statement</a></h3>
-<code><a href="../../../../org/apache/sysds/parser/Statement.html#BOOLEAN_VALUE_TYPE">BOOLEAN_VALUE_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#DOUBLE_VALUE_TYPE">DOUBLE_VALUE_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#FRAME_DATA_TYPE">FRAME_DATA_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN">GAGG_FN</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_CM">GAGG_FN_CM</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_CM_ORDER">GAGG_FN_CM_ORDER</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_COUNT">GAGG_FN_COUNT</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_MEAN">GAGG_FN_MEAN</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_SUM">GAGG_FN_SUM</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_VARIANCE">GAGG_FN_VARIANCE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_GROUPS">GAGG_GROUPS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_NUM_GROUPS">GAGG_NUM_GROUPS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_TARGET">GAGG_TARGET</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_WEIGHTS">GAGG_WEIGHTS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#INT_VALUE_TYPE">INT_VALUE_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#MATRIX_DATA_TYPE">MATRIX_DATA_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#OUTPUTSTATEMENT">OUTPUTSTATEMENT</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_AGGREGATION_FUN">PS_AGGREGATION_FUN</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_BATCH_SIZE">PS_BATCH_SIZE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_CHECKPOINTING">PS_CHECKPOINTING</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_EPOCHS">PS_EPOCHS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FEATURES">PS_FEATURES</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FREQUENCY">PS_FREQUENCY</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_GRADIENTS">PS_GRADIENTS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_HYPER_PARAMS">PS_HYPER_PARAMS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_LABELS">PS_LABELS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_MODE">PS_MODE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_MODEL">PS_MODEL</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_PARALLELISM">PS_PARALLELISM</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_SCHEME">PS_SCHEME</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_UPDATE_FUN">PS_UPDATE_FUN</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_UPDATE_TYPE">PS_UPDATE_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_VAL_FEATURES">PS_VAL_FEATURES</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_VAL_LABELS">PS_VAL_LABELS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SCALAR_DATA_TYPE">SCALAR_DATA_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SEQ_FROM">SEQ_FROM</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SEQ_INCR">SEQ_INCR</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SEQ_TO">SEQ_TO</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SETWD">SETWD</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SOURCE">SOURCE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#STRING_VALUE_TYPE">STRING_VALUE_TYPE</a></code></li>
+<code><a href="../../../../org/apache/sysds/parser/Statement.html#BOOLEAN_VALUE_TYPE">BOOLEAN_VALUE_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#DOUBLE_VALUE_TYPE">DOUBLE_VALUE_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#FRAME_DATA_TYPE">FRAME_DATA_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN">GAGG_FN</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_CM">GAGG_FN_CM</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_CM_ORDER">GAGG_FN_CM_ORDER</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_COUNT">GAGG_FN_COUNT</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_MEAN">GAGG_FN_MEAN</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_SUM">GAGG_FN_SUM</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_VARIANCE">GAGG_FN_VARIANCE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_GROUPS">GAGG_GROUPS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_NUM_GROUPS">GAGG_NUM_GROUPS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_TARGET">GAGG_TARGET</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_WEIGHTS">GAGG_WEIGHTS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#INT_VALUE_TYPE">INT_VALUE_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#MATRIX_DATA_TYPE">MATRIX_DATA_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#OUTPUTSTATEMENT">OUTPUTSTATEMENT</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_AGGREGATION_FUN">PS_AGGREGATION_FUN</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_BATCH_SIZE">PS_BATCH_SIZE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_CHECKPOINTING">PS_CHECKPOINTING</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_EPOCHS">PS_EPOCHS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FEATURES">PS_FEATURES</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FED_AGGREGATION_FNAME">PS_FED_AGGREGATION_FNAME</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FED_BATCH_SIZE">PS_FED_BATCH_SIZE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FED_DATA_SIZE">PS_FED_DATA_SIZE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FED_GRADIENTS_FNAME">PS_FED_GRADIENTS_FNAME</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FED_MODEL_VARID">PS_FED_MODEL_VARID</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FED_NAMESPACE">PS_FED_NAMESPACE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FED_POSS_BATCHES_LOCAL">PS_FED_POSS_BATCHES_LOCAL</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FED_RUNTIME_BALANCING">PS_FED_RUNTIME_BALANCING</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FED_WEIGHTING">PS_FED_WEIGHTING</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FREQUENCY">PS_FREQUENCY</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_GRADIENTS">PS_GRADIENTS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_HYPER_PARAMS">PS_HYPER_PARAMS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_LABELS">PS_LABELS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_MODE">PS_MODE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_MODEL">PS_MODEL</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_PARALLELISM">PS_PARALLELISM</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_SCHEME">PS_SCHEME</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_SEED">PS_SEED</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_UPDATE_FUN">PS_UPDATE_FUN</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_UPDATE_TYPE">PS_UPDATE_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_VAL_FEATURES">PS_VAL_FEATURES</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_VAL_FUN">PS_VAL_FUN</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_VAL_LABELS">PS_VAL_LABELS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SCALAR_DATA_TYPE">SCALAR_DATA_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SEQ_FROM">SEQ_FROM</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SEQ_INCR">SEQ_INCR</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SEQ_TO">SEQ_TO</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SETWD">SETWD</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SOURCE">SOURCE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#STRING_VALUE_TYPE">STRING_VALUE_TYPE</a></code></li>
 </ul>
 </li>
 </ul>
@@ -504,6 +504,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/IndexedIdentifier.html b/docs/api/java/org/apache/sysds/parser/IndexedIdentifier.html
index d28d71b..c15af86 100644
--- a/docs/api/java/org/apache/sysds/parser/IndexedIdentifier.html
+++ b/docs/api/java/org/apache/sysds/parser/IndexedIdentifier.html
@@ -639,6 +639,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/IntIdentifier.html b/docs/api/java/org/apache/sysds/parser/IntIdentifier.html
index d78f2e5..0cb5ebe 100644
--- a/docs/api/java/org/apache/sysds/parser/IntIdentifier.html
+++ b/docs/api/java/org/apache/sysds/parser/IntIdentifier.html
@@ -464,6 +464,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/IterablePredicate.html b/docs/api/java/org/apache/sysds/parser/IterablePredicate.html
index e43657f..d6d2094 100644
--- a/docs/api/java/org/apache/sysds/parser/IterablePredicate.html
+++ b/docs/api/java/org/apache/sysds/parser/IterablePredicate.html
@@ -523,6 +523,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/LanguageException.LanguageErrorCodes.html b/docs/api/java/org/apache/sysds/parser/LanguageException.LanguageErrorCodes.html
index 5edb5aa..0332bbb 100644
--- a/docs/api/java/org/apache/sysds/parser/LanguageException.LanguageErrorCodes.html
+++ b/docs/api/java/org/apache/sysds/parser/LanguageException.LanguageErrorCodes.html
@@ -311,6 +311,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/LanguageException.html b/docs/api/java/org/apache/sysds/parser/LanguageException.html
index 5449a0d..3457e91 100644
--- a/docs/api/java/org/apache/sysds/parser/LanguageException.html
+++ b/docs/api/java/org/apache/sysds/parser/LanguageException.html
@@ -355,6 +355,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/LiveVariableAnalysis.html b/docs/api/java/org/apache/sysds/parser/LiveVariableAnalysis.html
index a383006..b8c7231 100644
--- a/docs/api/java/org/apache/sysds/parser/LiveVariableAnalysis.html
+++ b/docs/api/java/org/apache/sysds/parser/LiveVariableAnalysis.html
@@ -479,6 +479,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/MultiAssignmentStatement.html b/docs/api/java/org/apache/sysds/parser/MultiAssignmentStatement.html
index b5b0deb..63abd8f 100644
--- a/docs/api/java/org/apache/sysds/parser/MultiAssignmentStatement.html
+++ b/docs/api/java/org/apache/sysds/parser/MultiAssignmentStatement.html
@@ -137,7 +137,7 @@
 <!--   -->
 </a>
 <h3>Nested classes/interfaces inherited from class&nbsp;org.apache.sysds.parser.<a href="../../../../org/apache/sysds/parser/Statement.html" title="class in org.apache.sysds.parser">Statement</a></h3>
-<code><a href="../../../../org/apache/sysds/parser/Statement.PSCheckpointing.html" title="enum in org.apache.sysds.parser">Statement.PSCheckpointing</a>, <a href="../../../../org/apache/sysds/parser/Statement.PSFrequency.html" title="enum in org.apache.sysds.parser">Statement.PSFrequency</a>, <a href="../../../../org/apache/sysds/parser/Statement.PSModeType.html" title="enum in org.apache.sysds.parser">Statement.PSModeType</a>, <a href="../../../../org/apache/sysds/parser/Statement.PSScheme.html" title="enum in org.apache.sysds.parser">Statement.PSScheme</a>, <a href="../../../../org/apache/sysds/parser/Statement.PSUpdateType.html" title="enum in org.apache.sysds.parser">Statement.PSUpdateType</a></code></li>
+<code><a href="../../../../org/apache/sysds/parser/Statement.FederatedPSScheme.html" title="enum in org.apache.sysds.parser">Statement.FederatedPSScheme</a>, <a href="../../../../org/apache/sysds/parser/Statement.PSCheckpointing.html" title="enum in org.apache.sysds.parser">Statement.PSCheckpointing</a>, <a href="../../../../org/apache/sysds/parser/Statement.PSFrequency.html" title="enum in org.apache.sysds.parser">Statement.PSFrequency</a>, <a href="../../../../org/apache/sysds/parser/Statement.PSModeType.html" title="enum in org.apache.sysds.parser">Statement.PSModeType</a>, <a href="../../../../org/apache/sysds/parser/Statement.PSRuntimeBalancing.html" title="enum in org.apache.sysds.parser">Statement.PSRuntimeBalancing</a>, <a href="../../../../org/apache/sysds/parser/Statement.PSScheme.html" title="enum in org.apache.sysds.parser">Statement.PSScheme</a>, <a href="../../../../org/apache/sysds/parser/Statement.PSUpdateType.html" title="enum in org.apache.sysds.parser">Statement.PSUpdateType</a></code></li>
 </ul>
 </li>
 </ul>
@@ -152,7 +152,7 @@
 <!--   -->
 </a>
 <h3>Fields inherited from class&nbsp;org.apache.sysds.parser.<a href="../../../../org/apache/sysds/parser/Statement.html" title="class in org.apache.sysds.parser">Statement</a></h3>
-<code><a href="../../../../org/apache/sysds/parser/Statement.html#BOOLEAN_VALUE_TYPE">BOOLEAN_VALUE_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#DOUBLE_VALUE_TYPE">DOUBLE_VALUE_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#FRAME_DATA_TYPE">FRAME_DATA_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN">GAGG_FN</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_CM">GAGG_FN_CM</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_CM_ORDER">GAGG_FN_CM_ORDER</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_COUNT">GAGG_FN_COUNT</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_MEAN">GAGG_FN_MEAN</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_SUM">GAGG_FN_SUM</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_VARIANCE">GAGG_FN_VARIANCE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_GROUPS">GAGG_GROUPS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_NUM_GROUPS">GAGG_NUM_GROUPS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_TARGET">GAGG_TARGET</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_WEIGHTS">GAGG_WEIGHTS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#INT_VALUE_TYPE">INT_VALUE_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#MATRIX_DATA_TYPE">MATRIX_DATA_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#OUTPUTSTATEMENT">OUTPUTSTATEMENT</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_AGGREGATION_FUN">PS_AGGREGATION_FUN</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_BATCH_SIZE">PS_BATCH_SIZE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_CHECKPOINTING">PS_CHECKPOINTING</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_EPOCHS">PS_EPOCHS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FEATURES">PS_FEATURES</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FREQUENCY">PS_FREQUENCY</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_GRADIENTS">PS_GRADIENTS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_HYPER_PARAMS">PS_HYPER_PARAMS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_LABELS">PS_LABELS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_MODE">PS_MODE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_MODEL">PS_MODEL</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_PARALLELISM">PS_PARALLELISM</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_SCHEME">PS_SCHEME</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_UPDATE_FUN">PS_UPDATE_FUN</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_UPDATE_TYPE">PS_UPDATE_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_VAL_FEATURES">PS_VAL_FEATURES</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_VAL_LABELS">PS_VAL_LABELS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SCALAR_DATA_TYPE">SCALAR_DATA_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SEQ_FROM">SEQ_FROM</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SEQ_INCR">SEQ_INCR</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SEQ_TO">SEQ_TO</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SETWD">SETWD</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SOURCE">SOURCE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#STRING_VALUE_TYPE">STRING_VALUE_TYPE</a></code></li>
+<code><a href="../../../../org/apache/sysds/parser/Statement.html#BOOLEAN_VALUE_TYPE">BOOLEAN_VALUE_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#DOUBLE_VALUE_TYPE">DOUBLE_VALUE_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#FRAME_DATA_TYPE">FRAME_DATA_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN">GAGG_FN</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_CM">GAGG_FN_CM</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_CM_ORDER">GAGG_FN_CM_ORDER</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_COUNT">GAGG_FN_COUNT</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_MEAN">GAGG_FN_MEAN</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_SUM">GAGG_FN_SUM</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_VARIANCE">GAGG_FN_VARIANCE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_GROUPS">GAGG_GROUPS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_NUM_GROUPS">GAGG_NUM_GROUPS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_TARGET">GAGG_TARGET</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_WEIGHTS">GAGG_WEIGHTS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#INT_VALUE_TYPE">INT_VALUE_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#MATRIX_DATA_TYPE">MATRIX_DATA_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#OUTPUTSTATEMENT">OUTPUTSTATEMENT</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_AGGREGATION_FUN">PS_AGGREGATION_FUN</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_BATCH_SIZE">PS_BATCH_SIZE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_CHECKPOINTING">PS_CHECKPOINTING</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_EPOCHS">PS_EPOCHS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FEATURES">PS_FEATURES</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FED_AGGREGATION_FNAME">PS_FED_AGGREGATION_FNAME</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FED_BATCH_SIZE">PS_FED_BATCH_SIZE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FED_DATA_SIZE">PS_FED_DATA_SIZE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FED_GRADIENTS_FNAME">PS_FED_GRADIENTS_FNAME</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FED_MODEL_VARID">PS_FED_MODEL_VARID</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FED_NAMESPACE">PS_FED_NAMESPACE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FED_POSS_BATCHES_LOCAL">PS_FED_POSS_BATCHES_LOCAL</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FED_RUNTIME_BALANCING">PS_FED_RUNTIME_BALANCING</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FED_WEIGHTING">PS_FED_WEIGHTING</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FREQUENCY">PS_FREQUENCY</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_GRADIENTS">PS_GRADIENTS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_HYPER_PARAMS">PS_HYPER_PARAMS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_LABELS">PS_LABELS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_MODE">PS_MODE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_MODEL">PS_MODEL</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_PARALLELISM">PS_PARALLELISM</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_SCHEME">PS_SCHEME</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_SEED">PS_SEED</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_UPDATE_FUN">PS_UPDATE_FUN</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_UPDATE_TYPE">PS_UPDATE_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_VAL_FEATURES">PS_VAL_FEATURES</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_VAL_FUN">PS_VAL_FUN</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_VAL_LABELS">PS_VAL_LABELS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SCALAR_DATA_TYPE">SCALAR_DATA_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SEQ_FROM">SEQ_FROM</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SEQ_INCR">SEQ_INCR</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SEQ_TO">SEQ_TO</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SETWD">SETWD</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SOURCE">SOURCE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#STRING_VALUE_TYPE">STRING_VALUE_TYPE</a></code></li>
 </ul>
 </li>
 </ul>
@@ -480,6 +480,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/OutputStatement.html b/docs/api/java/org/apache/sysds/parser/OutputStatement.html
index 71dbf45..0c08739 100644
--- a/docs/api/java/org/apache/sysds/parser/OutputStatement.html
+++ b/docs/api/java/org/apache/sysds/parser/OutputStatement.html
@@ -137,7 +137,7 @@
 <!--   -->
 </a>
 <h3>Nested classes/interfaces inherited from class&nbsp;org.apache.sysds.parser.<a href="../../../../org/apache/sysds/parser/Statement.html" title="class in org.apache.sysds.parser">Statement</a></h3>
-<code><a href="../../../../org/apache/sysds/parser/Statement.PSCheckpointing.html" title="enum in org.apache.sysds.parser">Statement.PSCheckpointing</a>, <a href="../../../../org/apache/sysds/parser/Statement.PSFrequency.html" title="enum in org.apache.sysds.parser">Statement.PSFrequency</a>, <a href="../../../../org/apache/sysds/parser/Statement.PSModeType.html" title="enum in org.apache.sysds.parser">Statement.PSModeType</a>, <a href="../../../../org/apache/sysds/parser/Statement.PSScheme.html" title="enum in org.apache.sysds.parser">Statement.PSScheme</a>, <a href="../../../../org/apache/sysds/parser/Statement.PSUpdateType.html" title="enum in org.apache.sysds.parser">Statement.PSUpdateType</a></code></li>
+<code><a href="../../../../org/apache/sysds/parser/Statement.FederatedPSScheme.html" title="enum in org.apache.sysds.parser">Statement.FederatedPSScheme</a>, <a href="../../../../org/apache/sysds/parser/Statement.PSCheckpointing.html" title="enum in org.apache.sysds.parser">Statement.PSCheckpointing</a>, <a href="../../../../org/apache/sysds/parser/Statement.PSFrequency.html" title="enum in org.apache.sysds.parser">Statement.PSFrequency</a>, <a href="../../../../org/apache/sysds/parser/Statement.PSModeType.html" title="enum in org.apache.sysds.parser">Statement.PSModeType</a>, <a href="../../../../org/apache/sysds/parser/Statement.PSRuntimeBalancing.html" title="enum in org.apache.sysds.parser">Statement.PSRuntimeBalancing</a>, <a href="../../../../org/apache/sysds/parser/Statement.PSScheme.html" title="enum in org.apache.sysds.parser">Statement.PSScheme</a>, <a href="../../../../org/apache/sysds/parser/Statement.PSUpdateType.html" title="enum in org.apache.sysds.parser">Statement.PSUpdateType</a></code></li>
 </ul>
 </li>
 </ul>
@@ -163,7 +163,7 @@
 <!--   -->
 </a>
 <h3>Fields inherited from class&nbsp;org.apache.sysds.parser.<a href="../../../../org/apache/sysds/parser/Statement.html" title="class in org.apache.sysds.parser">Statement</a></h3>
-<code><a href="../../../../org/apache/sysds/parser/Statement.html#BOOLEAN_VALUE_TYPE">BOOLEAN_VALUE_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#DOUBLE_VALUE_TYPE">DOUBLE_VALUE_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#FRAME_DATA_TYPE">FRAME_DATA_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN">GAGG_FN</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_CM">GAGG_FN_CM</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_CM_ORDER">GAGG_FN_CM_ORDER</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_COUNT">GAGG_FN_COUNT</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_MEAN">GAGG_FN_MEAN</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_SUM">GAGG_FN_SUM</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_VARIANCE">GAGG_FN_VARIANCE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_GROUPS">GAGG_GROUPS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_NUM_GROUPS">GAGG_NUM_GROUPS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_TARGET">GAGG_TARGET</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_WEIGHTS">GAGG_WEIGHTS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#INT_VALUE_TYPE">INT_VALUE_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#MATRIX_DATA_TYPE">MATRIX_DATA_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#OUTPUTSTATEMENT">OUTPUTSTATEMENT</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_AGGREGATION_FUN">PS_AGGREGATION_FUN</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_BATCH_SIZE">PS_BATCH_SIZE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_CHECKPOINTING">PS_CHECKPOINTING</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_EPOCHS">PS_EPOCHS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FEATURES">PS_FEATURES</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FREQUENCY">PS_FREQUENCY</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_GRADIENTS">PS_GRADIENTS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_HYPER_PARAMS">PS_HYPER_PARAMS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_LABELS">PS_LABELS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_MODE">PS_MODE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_MODEL">PS_MODEL</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_PARALLELISM">PS_PARALLELISM</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_SCHEME">PS_SCHEME</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_UPDATE_FUN">PS_UPDATE_FUN</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_UPDATE_TYPE">PS_UPDATE_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_VAL_FEATURES">PS_VAL_FEATURES</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_VAL_LABELS">PS_VAL_LABELS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SCALAR_DATA_TYPE">SCALAR_DATA_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SEQ_FROM">SEQ_FROM</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SEQ_INCR">SEQ_INCR</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SEQ_TO">SEQ_TO</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SETWD">SETWD</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SOURCE">SOURCE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#STRING_VALUE_TYPE">STRING_VALUE_TYPE</a></code></li>
+<code><a href="../../../../org/apache/sysds/parser/Statement.html#BOOLEAN_VALUE_TYPE">BOOLEAN_VALUE_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#DOUBLE_VALUE_TYPE">DOUBLE_VALUE_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#FRAME_DATA_TYPE">FRAME_DATA_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN">GAGG_FN</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_CM">GAGG_FN_CM</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_CM_ORDER">GAGG_FN_CM_ORDER</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_COUNT">GAGG_FN_COUNT</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_MEAN">GAGG_FN_MEAN</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_SUM">GAGG_FN_SUM</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_VARIANCE">GAGG_FN_VARIANCE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_GROUPS">GAGG_GROUPS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_NUM_GROUPS">GAGG_NUM_GROUPS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_TARGET">GAGG_TARGET</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_WEIGHTS">GAGG_WEIGHTS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#INT_VALUE_TYPE">INT_VALUE_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#MATRIX_DATA_TYPE">MATRIX_DATA_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#OUTPUTSTATEMENT">OUTPUTSTATEMENT</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_AGGREGATION_FUN">PS_AGGREGATION_FUN</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_BATCH_SIZE">PS_BATCH_SIZE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_CHECKPOINTING">PS_CHECKPOINTING</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_EPOCHS">PS_EPOCHS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FEATURES">PS_FEATURES</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FED_AGGREGATION_FNAME">PS_FED_AGGREGATION_FNAME</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FED_BATCH_SIZE">PS_FED_BATCH_SIZE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FED_DATA_SIZE">PS_FED_DATA_SIZE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FED_GRADIENTS_FNAME">PS_FED_GRADIENTS_FNAME</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FED_MODEL_VARID">PS_FED_MODEL_VARID</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FED_NAMESPACE">PS_FED_NAMESPACE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FED_POSS_BATCHES_LOCAL">PS_FED_POSS_BATCHES_LOCAL</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FED_RUNTIME_BALANCING">PS_FED_RUNTIME_BALANCING</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FED_WEIGHTING">PS_FED_WEIGHTING</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FREQUENCY">PS_FREQUENCY</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_GRADIENTS">PS_GRADIENTS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_HYPER_PARAMS">PS_HYPER_PARAMS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_LABELS">PS_LABELS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_MODE">PS_MODE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_MODEL">PS_MODEL</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_PARALLELISM">PS_PARALLELISM</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_SCHEME">PS_SCHEME</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_SEED">PS_SEED</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_UPDATE_FUN">PS_UPDATE_FUN</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_UPDATE_TYPE">PS_UPDATE_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_VAL_FEATURES">PS_VAL_FEATURES</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_VAL_FUN">PS_VAL_FUN</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_VAL_LABELS">PS_VAL_LABELS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SCALAR_DATA_TYPE">SCALAR_DATA_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SEQ_FROM">SEQ_FROM</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SEQ_INCR">SEQ_INCR</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SEQ_TO">SEQ_TO</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SETWD">SETWD</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SOURCE">SOURCE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#STRING_VALUE_TYPE">STRING_VALUE_TYPE</a></code></li>
 </ul>
 </li>
 </ul>
@@ -571,6 +571,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/ParForStatement.html b/docs/api/java/org/apache/sysds/parser/ParForStatement.html
index 9213f64..98b3f39 100644
--- a/docs/api/java/org/apache/sysds/parser/ParForStatement.html
+++ b/docs/api/java/org/apache/sysds/parser/ParForStatement.html
@@ -144,7 +144,7 @@
 <!--   -->
 </a>
 <h3>Nested classes/interfaces inherited from class&nbsp;org.apache.sysds.parser.<a href="../../../../org/apache/sysds/parser/Statement.html" title="class in org.apache.sysds.parser">Statement</a></h3>
-<code><a href="../../../../org/apache/sysds/parser/Statement.PSCheckpointing.html" title="enum in org.apache.sysds.parser">Statement.PSCheckpointing</a>, <a href="../../../../org/apache/sysds/parser/Statement.PSFrequency.html" title="enum in org.apache.sysds.parser">Statement.PSFrequency</a>, <a href="../../../../org/apache/sysds/parser/Statement.PSModeType.html" title="enum in org.apache.sysds.parser">Statement.PSModeType</a>, <a href="../../../../org/apache/sysds/parser/Statement.PSScheme.html" title="enum in org.apache.sysds.parser">Statement.PSScheme</a>, <a href="../../../../org/apache/sysds/parser/Statement.PSUpdateType.html" title="enum in org.apache.sysds.parser">Statement.PSUpdateType</a></code></li>
+<code><a href="../../../../org/apache/sysds/parser/Statement.FederatedPSScheme.html" title="enum in org.apache.sysds.parser">Statement.FederatedPSScheme</a>, <a href="../../../../org/apache/sysds/parser/Statement.PSCheckpointing.html" title="enum in org.apache.sysds.parser">Statement.PSCheckpointing</a>, <a href="../../../../org/apache/sysds/parser/Statement.PSFrequency.html" title="enum in org.apache.sysds.parser">Statement.PSFrequency</a>, <a href="../../../../org/apache/sysds/parser/Statement.PSModeType.html" title="enum in org.apache.sysds.parser">Statement.PSModeType</a>, <a href="../../../../org/apache/sysds/parser/Statement.PSRuntimeBalancing.html" title="enum in org.apache.sysds.parser">Statement.PSRuntimeBalancing</a>, <a href="../../../../org/apache/sysds/parser/Statement.PSScheme.html" title="enum in org.apache.sysds.parser">Statement.PSScheme</a>, <a href="../../../../org/apache/sysds/parser/Statement.PSUpdateType.html" title="enum in org.apache.sysds.parser">Statement.PSUpdateType</a></code></li>
 </ul>
 </li>
 </ul>
@@ -159,7 +159,7 @@
 <!--   -->
 </a>
 <h3>Fields inherited from class&nbsp;org.apache.sysds.parser.<a href="../../../../org/apache/sysds/parser/Statement.html" title="class in org.apache.sysds.parser">Statement</a></h3>
-<code><a href="../../../../org/apache/sysds/parser/Statement.html#BOOLEAN_VALUE_TYPE">BOOLEAN_VALUE_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#DOUBLE_VALUE_TYPE">DOUBLE_VALUE_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#FRAME_DATA_TYPE">FRAME_DATA_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN">GAGG_FN</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_CM">GAGG_FN_CM</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_CM_ORDER">GAGG_FN_CM_ORDER</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_COUNT">GAGG_FN_COUNT</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_MEAN">GAGG_FN_MEAN</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_SUM">GAGG_FN_SUM</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_VARIANCE">GAGG_FN_VARIANCE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_GROUPS">GAGG_GROUPS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_NUM_GROUPS">GAGG_NUM_GROUPS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_TARGET">GAGG_TARGET</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_WEIGHTS">GAGG_WEIGHTS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#INT_VALUE_TYPE">INT_VALUE_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#MATRIX_DATA_TYPE">MATRIX_DATA_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#OUTPUTSTATEMENT">OUTPUTSTATEMENT</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_AGGREGATION_FUN">PS_AGGREGATION_FUN</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_BATCH_SIZE">PS_BATCH_SIZE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_CHECKPOINTING">PS_CHECKPOINTING</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_EPOCHS">PS_EPOCHS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FEATURES">PS_FEATURES</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FREQUENCY">PS_FREQUENCY</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_GRADIENTS">PS_GRADIENTS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_HYPER_PARAMS">PS_HYPER_PARAMS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_LABELS">PS_LABELS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_MODE">PS_MODE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_MODEL">PS_MODEL</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_PARALLELISM">PS_PARALLELISM</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_SCHEME">PS_SCHEME</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_UPDATE_FUN">PS_UPDATE_FUN</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_UPDATE_TYPE">PS_UPDATE_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_VAL_FEATURES">PS_VAL_FEATURES</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_VAL_LABELS">PS_VAL_LABELS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SCALAR_DATA_TYPE">SCALAR_DATA_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SEQ_FROM">SEQ_FROM</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SEQ_INCR">SEQ_INCR</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SEQ_TO">SEQ_TO</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SETWD">SETWD</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SOURCE">SOURCE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#STRING_VALUE_TYPE">STRING_VALUE_TYPE</a></code></li>
+<code><a href="../../../../org/apache/sysds/parser/Statement.html#BOOLEAN_VALUE_TYPE">BOOLEAN_VALUE_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#DOUBLE_VALUE_TYPE">DOUBLE_VALUE_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#FRAME_DATA_TYPE">FRAME_DATA_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN">GAGG_FN</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_CM">GAGG_FN_CM</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_CM_ORDER">GAGG_FN_CM_ORDER</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_COUNT">GAGG_FN_COUNT</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_MEAN">GAGG_FN_MEAN</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_SUM">GAGG_FN_SUM</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_VARIANCE">GAGG_FN_VARIANCE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_GROUPS">GAGG_GROUPS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_NUM_GROUPS">GAGG_NUM_GROUPS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_TARGET">GAGG_TARGET</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_WEIGHTS">GAGG_WEIGHTS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#INT_VALUE_TYPE">INT_VALUE_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#MATRIX_DATA_TYPE">MATRIX_DATA_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#OUTPUTSTATEMENT">OUTPUTSTATEMENT</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_AGGREGATION_FUN">PS_AGGREGATION_FUN</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_BATCH_SIZE">PS_BATCH_SIZE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_CHECKPOINTING">PS_CHECKPOINTING</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_EPOCHS">PS_EPOCHS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FEATURES">PS_FEATURES</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FED_AGGREGATION_FNAME">PS_FED_AGGREGATION_FNAME</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FED_BATCH_SIZE">PS_FED_BATCH_SIZE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FED_DATA_SIZE">PS_FED_DATA_SIZE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FED_GRADIENTS_FNAME">PS_FED_GRADIENTS_FNAME</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FED_MODEL_VARID">PS_FED_MODEL_VARID</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FED_NAMESPACE">PS_FED_NAMESPACE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FED_POSS_BATCHES_LOCAL">PS_FED_POSS_BATCHES_LOCAL</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FED_RUNTIME_BALANCING">PS_FED_RUNTIME_BALANCING</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FED_WEIGHTING">PS_FED_WEIGHTING</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FREQUENCY">PS_FREQUENCY</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_GRADIENTS">PS_GRADIENTS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_HYPER_PARAMS">PS_HYPER_PARAMS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_LABELS">PS_LABELS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_MODE">PS_MODE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_MODEL">PS_MODEL</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_PARALLELISM">PS_PARALLELISM</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_SCHEME">PS_SCHEME</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_SEED">PS_SEED</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_UPDATE_FUN">PS_UPDATE_FUN</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_UPDATE_TYPE">PS_UPDATE_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_VAL_FEATURES">PS_VAL_FEATURES</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_VAL_FUN">PS_VAL_FUN</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_VAL_LABELS">PS_VAL_LABELS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SCALAR_DATA_TYPE">SCALAR_DATA_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SEQ_FROM">SEQ_FROM</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SEQ_INCR">SEQ_INCR</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SEQ_TO">SEQ_TO</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SETWD">SETWD</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SOURCE">SOURCE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#STRING_VALUE_TYPE">STRING_VALUE_TYPE</a></code></li>
 </ul>
 </li>
 </ul>
@@ -338,6 +338,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/ParForStatementBlock.ResultVar.html b/docs/api/java/org/apache/sysds/parser/ParForStatementBlock.ResultVar.html
index 374a109..3443468 100644
--- a/docs/api/java/org/apache/sysds/parser/ParForStatementBlock.ResultVar.html
+++ b/docs/api/java/org/apache/sysds/parser/ParForStatementBlock.ResultVar.html
@@ -375,6 +375,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/ParForStatementBlock.html b/docs/api/java/org/apache/sysds/parser/ParForStatementBlock.html
index 68e7e0a..53f7ed3 100644
--- a/docs/api/java/org/apache/sysds/parser/ParForStatementBlock.html
+++ b/docs/api/java/org/apache/sysds/parser/ParForStatementBlock.html
@@ -281,7 +281,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.parser.<a href="../../../../org/apache/sysds/parser/ForStatementBlock.html" title="class in org.apache.sysds.parser">ForStatementBlock</a></h3>
-<code><a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#analyze-org.apache.sysds.parser.VariableSet-">analyze</a>, <a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#getFromHops--">getFromHops</a>, <a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#getFromLops--">getFromLops</a>, <a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#getIncrementHops--">getIncrementHops</a>, <a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#getIncrementLops--">getIncrementLops</a>, <a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#getInputstoSB--">getInputstoSB</a>, <a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#getIterPredicate--">getIterPredicate</a>, <a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#getToHops--">getToHops</a>, <a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#getToLops--">getToLops</a>, <a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#initializebackwardLV-org.apache.sysds.parser.VariableSet-">initializebackwardLV</a>, <a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#initializeforwardLV-org.apache.sysds.parser.VariableSet-">initializeforwardLV</a>, <a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#performConstantPropagation-java.util.HashMap-">performConstantPropagation</a>, <a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#requiresFromRecompilation--">requiresFromRecompilation</a>, <a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#requiresIncrementRecompilation--">requiresIncrementRecompilation</a>, <a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#requiresToRecompilation--">requiresToRecompilation</a>, <a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#setFromHops-org.apache.sysds.hops.Hop-">setFromHops</a>, <a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#setFromLops-org.apache.sysds.lops.Lop-">setFromLops</a>, <a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#setIncrementHops-org.apache.sysds.hops.Hop-">setIncrementHops</a>, <a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#setIncrementLops-org.apache.sysds.lops.Lop-">setIncrementLops</a>, <a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#setToHops-org.apache.sysds.hops.Hop-">setToHops</a>, <a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#setToLops-org.apache.sysds.lops.Lop-">setToLops</a>, <a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#updatePredicateRecompilationFlags--">updatePredicateRecompilationFlags</a></code></li>
+<code><a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#analyze-org.apache.sysds.parser.VariableSet-">analyze</a>, <a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#getFromHops--">getFromHops</a>, <a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#getFromLops--">getFromLops</a>, <a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#getIncrementHops--">getIncrementHops</a>, <a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#getIncrementLops--">getIncrementLops</a>, <a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#getInputstoSB--">getInputstoSB</a>, <a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#getIterPredicate--">getIterPredicate</a>, <a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#getToHops--">getToHops</a>, <a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#getToLops--">getToLops</a>, <a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#initializebackwardLV-org.apache.sysds.parser.VariableSet-">initializebackwardLV</a>, <a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#initializeforwardLV-org.apache.sysds.parser.VariableSet-">initializeforwardLV</a>, <a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#performConstantPropagation-java.util.HashMap-">performConstantPropagation</a>, <a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#requiresFromRecompilation--">requiresFromRecompilation</a>, <a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#requiresIncrementRecompilation--">requiresIncrementRecompilation</a>, <a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#requiresPredicateRecompilation--">requiresPredicateRecompilation</a>, <a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#requiresToRecompilation--">requiresToRecompilation</a>, <a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#setFromHops-org.apache.sysds.hops.Hop-">setFromHops</a>, <a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#setFromLops-org.apache.sysds.lops.Lop-">setFromLops</a>, <a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#setIncrementHops-org.apache.sysds.hops.Hop-">setIncrementHops</a>, <a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#setIncrementLops-org.apache.sysds.lops.Lop-">setIncrementLops</a>, <a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#setToHops-org.apache.sysds.hops.Hop-">setToHops</a>, <a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#setToLops-org.apache.sysds.lops.Lop-">setToLops</a>, <a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#updatePredicateRecompilationFlags--">updatePredicateRecompilationFlags</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.parser.StatementBlock">
@@ -637,6 +637,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/ParameterExpression.html b/docs/api/java/org/apache/sysds/parser/ParameterExpression.html
index 942e526..b95e82d 100644
--- a/docs/api/java/org/apache/sysds/parser/ParameterExpression.html
+++ b/docs/api/java/org/apache/sysds/parser/ParameterExpression.html
@@ -325,6 +325,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/ParameterizedBuiltinFunctionExpression.html b/docs/api/java/org/apache/sysds/parser/ParameterizedBuiltinFunctionExpression.html
index 41226da..3d376b1 100644
--- a/docs/api/java/org/apache/sysds/parser/ParameterizedBuiltinFunctionExpression.html
+++ b/docs/api/java/org/apache/sysds/parser/ParameterizedBuiltinFunctionExpression.html
@@ -669,6 +669,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/ParseException.html b/docs/api/java/org/apache/sysds/parser/ParseException.html
index 64573c4..2ac6f2c 100644
--- a/docs/api/java/org/apache/sysds/parser/ParseException.html
+++ b/docs/api/java/org/apache/sysds/parser/ParseException.html
@@ -478,6 +478,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/ParseInfo.html b/docs/api/java/org/apache/sysds/parser/ParseInfo.html
index a6ecee2..c768da4 100644
--- a/docs/api/java/org/apache/sysds/parser/ParseInfo.html
+++ b/docs/api/java/org/apache/sysds/parser/ParseInfo.html
@@ -379,6 +379,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/ParserFactory.html b/docs/api/java/org/apache/sysds/parser/ParserFactory.html
index d7993c7..6acdc37 100644
--- a/docs/api/java/org/apache/sysds/parser/ParserFactory.html
+++ b/docs/api/java/org/apache/sysds/parser/ParserFactory.html
@@ -289,6 +289,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/ParserWrapper.html b/docs/api/java/org/apache/sysds/parser/ParserWrapper.html
index 8086906..6bfdf11 100644
--- a/docs/api/java/org/apache/sysds/parser/ParserWrapper.html
+++ b/docs/api/java/org/apache/sysds/parser/ParserWrapper.html
@@ -360,6 +360,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/PathStatement.html b/docs/api/java/org/apache/sysds/parser/PathStatement.html
index 29fc915..525a02e 100644
--- a/docs/api/java/org/apache/sysds/parser/PathStatement.html
+++ b/docs/api/java/org/apache/sysds/parser/PathStatement.html
@@ -137,7 +137,7 @@
 <!--   -->
 </a>
 <h3>Nested classes/interfaces inherited from class&nbsp;org.apache.sysds.parser.<a href="../../../../org/apache/sysds/parser/Statement.html" title="class in org.apache.sysds.parser">Statement</a></h3>
-<code><a href="../../../../org/apache/sysds/parser/Statement.PSCheckpointing.html" title="enum in org.apache.sysds.parser">Statement.PSCheckpointing</a>, <a href="../../../../org/apache/sysds/parser/Statement.PSFrequency.html" title="enum in org.apache.sysds.parser">Statement.PSFrequency</a>, <a href="../../../../org/apache/sysds/parser/Statement.PSModeType.html" title="enum in org.apache.sysds.parser">Statement.PSModeType</a>, <a href="../../../../org/apache/sysds/parser/Statement.PSScheme.html" title="enum in org.apache.sysds.parser">Statement.PSScheme</a>, <a href="../../../../org/apache/sysds/parser/Statement.PSUpdateType.html" title="enum in org.apache.sysds.parser">Statement.PSUpdateType</a></code></li>
+<code><a href="../../../../org/apache/sysds/parser/Statement.FederatedPSScheme.html" title="enum in org.apache.sysds.parser">Statement.FederatedPSScheme</a>, <a href="../../../../org/apache/sysds/parser/Statement.PSCheckpointing.html" title="enum in org.apache.sysds.parser">Statement.PSCheckpointing</a>, <a href="../../../../org/apache/sysds/parser/Statement.PSFrequency.html" title="enum in org.apache.sysds.parser">Statement.PSFrequency</a>, <a href="../../../../org/apache/sysds/parser/Statement.PSModeType.html" title="enum in org.apache.sysds.parser">Statement.PSModeType</a>, <a href="../../../../org/apache/sysds/parser/Statement.PSRuntimeBalancing.html" title="enum in org.apache.sysds.parser">Statement.PSRuntimeBalancing</a>, <a href="../../../../org/apache/sysds/parser/Statement.PSScheme.html" title="enum in org.apache.sysds.parser">Statement.PSScheme</a>, <a href="../../../../org/apache/sysds/parser/Statement.PSUpdateType.html" title="enum in org.apache.sysds.parser">Statement.PSUpdateType</a></code></li>
 </ul>
 </li>
 </ul>
@@ -152,7 +152,7 @@
 <!--   -->
 </a>
 <h3>Fields inherited from class&nbsp;org.apache.sysds.parser.<a href="../../../../org/apache/sysds/parser/Statement.html" title="class in org.apache.sysds.parser">Statement</a></h3>
-<code><a href="../../../../org/apache/sysds/parser/Statement.html#BOOLEAN_VALUE_TYPE">BOOLEAN_VALUE_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#DOUBLE_VALUE_TYPE">DOUBLE_VALUE_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#FRAME_DATA_TYPE">FRAME_DATA_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN">GAGG_FN</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_CM">GAGG_FN_CM</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_CM_ORDER">GAGG_FN_CM_ORDER</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_COUNT">GAGG_FN_COUNT</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_MEAN">GAGG_FN_MEAN</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_SUM">GAGG_FN_SUM</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_VARIANCE">GAGG_FN_VARIANCE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_GROUPS">GAGG_GROUPS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_NUM_GROUPS">GAGG_NUM_GROUPS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_TARGET">GAGG_TARGET</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_WEIGHTS">GAGG_WEIGHTS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#INT_VALUE_TYPE">INT_VALUE_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#MATRIX_DATA_TYPE">MATRIX_DATA_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#OUTPUTSTATEMENT">OUTPUTSTATEMENT</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_AGGREGATION_FUN">PS_AGGREGATION_FUN</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_BATCH_SIZE">PS_BATCH_SIZE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_CHECKPOINTING">PS_CHECKPOINTING</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_EPOCHS">PS_EPOCHS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FEATURES">PS_FEATURES</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FREQUENCY">PS_FREQUENCY</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_GRADIENTS">PS_GRADIENTS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_HYPER_PARAMS">PS_HYPER_PARAMS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_LABELS">PS_LABELS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_MODE">PS_MODE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_MODEL">PS_MODEL</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_PARALLELISM">PS_PARALLELISM</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_SCHEME">PS_SCHEME</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_UPDATE_FUN">PS_UPDATE_FUN</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_UPDATE_TYPE">PS_UPDATE_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_VAL_FEATURES">PS_VAL_FEATURES</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_VAL_LABELS">PS_VAL_LABELS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SCALAR_DATA_TYPE">SCALAR_DATA_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SEQ_FROM">SEQ_FROM</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SEQ_INCR">SEQ_INCR</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SEQ_TO">SEQ_TO</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SETWD">SETWD</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SOURCE">SOURCE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#STRING_VALUE_TYPE">STRING_VALUE_TYPE</a></code></li>
+<code><a href="../../../../org/apache/sysds/parser/Statement.html#BOOLEAN_VALUE_TYPE">BOOLEAN_VALUE_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#DOUBLE_VALUE_TYPE">DOUBLE_VALUE_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#FRAME_DATA_TYPE">FRAME_DATA_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN">GAGG_FN</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_CM">GAGG_FN_CM</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_CM_ORDER">GAGG_FN_CM_ORDER</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_COUNT">GAGG_FN_COUNT</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_MEAN">GAGG_FN_MEAN</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_SUM">GAGG_FN_SUM</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_VARIANCE">GAGG_FN_VARIANCE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_GROUPS">GAGG_GROUPS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_NUM_GROUPS">GAGG_NUM_GROUPS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_TARGET">GAGG_TARGET</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_WEIGHTS">GAGG_WEIGHTS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#INT_VALUE_TYPE">INT_VALUE_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#MATRIX_DATA_TYPE">MATRIX_DATA_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#OUTPUTSTATEMENT">OUTPUTSTATEMENT</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_AGGREGATION_FUN">PS_AGGREGATION_FUN</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_BATCH_SIZE">PS_BATCH_SIZE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_CHECKPOINTING">PS_CHECKPOINTING</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_EPOCHS">PS_EPOCHS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FEATURES">PS_FEATURES</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FED_AGGREGATION_FNAME">PS_FED_AGGREGATION_FNAME</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FED_BATCH_SIZE">PS_FED_BATCH_SIZE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FED_DATA_SIZE">PS_FED_DATA_SIZE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FED_GRADIENTS_FNAME">PS_FED_GRADIENTS_FNAME</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FED_MODEL_VARID">PS_FED_MODEL_VARID</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FED_NAMESPACE">PS_FED_NAMESPACE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FED_POSS_BATCHES_LOCAL">PS_FED_POSS_BATCHES_LOCAL</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FED_RUNTIME_BALANCING">PS_FED_RUNTIME_BALANCING</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FED_WEIGHTING">PS_FED_WEIGHTING</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FREQUENCY">PS_FREQUENCY</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_GRADIENTS">PS_GRADIENTS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_HYPER_PARAMS">PS_HYPER_PARAMS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_LABELS">PS_LABELS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_MODE">PS_MODE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_MODEL">PS_MODEL</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_PARALLELISM">PS_PARALLELISM</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_SCHEME">PS_SCHEME</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_SEED">PS_SEED</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_UPDATE_FUN">PS_UPDATE_FUN</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_UPDATE_TYPE">PS_UPDATE_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_VAL_FEATURES">PS_VAL_FEATURES</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_VAL_FUN">PS_VAL_FUN</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_VAL_LABELS">PS_VAL_LABELS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SCALAR_DATA_TYPE">SCALAR_DATA_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SEQ_FROM">SEQ_FROM</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SEQ_INCR">SEQ_INCR</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SEQ_TO">SEQ_TO</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SETWD">SETWD</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SOURCE">SOURCE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#STRING_VALUE_TYPE">STRING_VALUE_TYPE</a></code></li>
 </ul>
 </li>
 </ul>
@@ -439,6 +439,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/PrintStatement.PRINTTYPE.html b/docs/api/java/org/apache/sysds/parser/PrintStatement.PRINTTYPE.html
index b1d6889..30638fc 100644
--- a/docs/api/java/org/apache/sysds/parser/PrintStatement.PRINTTYPE.html
+++ b/docs/api/java/org/apache/sysds/parser/PrintStatement.PRINTTYPE.html
@@ -369,6 +369,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/PrintStatement.html b/docs/api/java/org/apache/sysds/parser/PrintStatement.html
index e6d4aa9..311a264 100644
--- a/docs/api/java/org/apache/sysds/parser/PrintStatement.html
+++ b/docs/api/java/org/apache/sysds/parser/PrintStatement.html
@@ -150,7 +150,7 @@
 <!--   -->
 </a>
 <h3>Nested classes/interfaces inherited from class&nbsp;org.apache.sysds.parser.<a href="../../../../org/apache/sysds/parser/Statement.html" title="class in org.apache.sysds.parser">Statement</a></h3>
-<code><a href="../../../../org/apache/sysds/parser/Statement.PSCheckpointing.html" title="enum in org.apache.sysds.parser">Statement.PSCheckpointing</a>, <a href="../../../../org/apache/sysds/parser/Statement.PSFrequency.html" title="enum in org.apache.sysds.parser">Statement.PSFrequency</a>, <a href="../../../../org/apache/sysds/parser/Statement.PSModeType.html" title="enum in org.apache.sysds.parser">Statement.PSModeType</a>, <a href="../../../../org/apache/sysds/parser/Statement.PSScheme.html" title="enum in org.apache.sysds.parser">Statement.PSScheme</a>, <a href="../../../../org/apache/sysds/parser/Statement.PSUpdateType.html" title="enum in org.apache.sysds.parser">Statement.PSUpdateType</a></code></li>
+<code><a href="../../../../org/apache/sysds/parser/Statement.FederatedPSScheme.html" title="enum in org.apache.sysds.parser">Statement.FederatedPSScheme</a>, <a href="../../../../org/apache/sysds/parser/Statement.PSCheckpointing.html" title="enum in org.apache.sysds.parser">Statement.PSCheckpointing</a>, <a href="../../../../org/apache/sysds/parser/Statement.PSFrequency.html" title="enum in org.apache.sysds.parser">Statement.PSFrequency</a>, <a href="../../../../org/apache/sysds/parser/Statement.PSModeType.html" title="enum in org.apache.sysds.parser">Statement.PSModeType</a>, <a href="../../../../org/apache/sysds/parser/Statement.PSRuntimeBalancing.html" title="enum in org.apache.sysds.parser">Statement.PSRuntimeBalancing</a>, <a href="../../../../org/apache/sysds/parser/Statement.PSScheme.html" title="enum in org.apache.sysds.parser">Statement.PSScheme</a>, <a href="../../../../org/apache/sysds/parser/Statement.PSUpdateType.html" title="enum in org.apache.sysds.parser">Statement.PSUpdateType</a></code></li>
 </ul>
 </li>
 </ul>
@@ -165,7 +165,7 @@
 <!--   -->
 </a>
 <h3>Fields inherited from class&nbsp;org.apache.sysds.parser.<a href="../../../../org/apache/sysds/parser/Statement.html" title="class in org.apache.sysds.parser">Statement</a></h3>
-<code><a href="../../../../org/apache/sysds/parser/Statement.html#BOOLEAN_VALUE_TYPE">BOOLEAN_VALUE_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#DOUBLE_VALUE_TYPE">DOUBLE_VALUE_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#FRAME_DATA_TYPE">FRAME_DATA_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN">GAGG_FN</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_CM">GAGG_FN_CM</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_CM_ORDER">GAGG_FN_CM_ORDER</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_COUNT">GAGG_FN_COUNT</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_MEAN">GAGG_FN_MEAN</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_SUM">GAGG_FN_SUM</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_VARIANCE">GAGG_FN_VARIANCE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_GROUPS">GAGG_GROUPS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_NUM_GROUPS">GAGG_NUM_GROUPS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_TARGET">GAGG_TARGET</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_WEIGHTS">GAGG_WEIGHTS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#INT_VALUE_TYPE">INT_VALUE_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#MATRIX_DATA_TYPE">MATRIX_DATA_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#OUTPUTSTATEMENT">OUTPUTSTATEMENT</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_AGGREGATION_FUN">PS_AGGREGATION_FUN</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_BATCH_SIZE">PS_BATCH_SIZE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_CHECKPOINTING">PS_CHECKPOINTING</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_EPOCHS">PS_EPOCHS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FEATURES">PS_FEATURES</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FREQUENCY">PS_FREQUENCY</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_GRADIENTS">PS_GRADIENTS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_HYPER_PARAMS">PS_HYPER_PARAMS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_LABELS">PS_LABELS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_MODE">PS_MODE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_MODEL">PS_MODEL</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_PARALLELISM">PS_PARALLELISM</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_SCHEME">PS_SCHEME</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_UPDATE_FUN">PS_UPDATE_FUN</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_UPDATE_TYPE">PS_UPDATE_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_VAL_FEATURES">PS_VAL_FEATURES</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_VAL_LABELS">PS_VAL_LABELS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SCALAR_DATA_TYPE">SCALAR_DATA_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SEQ_FROM">SEQ_FROM</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SEQ_INCR">SEQ_INCR</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SEQ_TO">SEQ_TO</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SETWD">SETWD</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SOURCE">SOURCE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#STRING_VALUE_TYPE">STRING_VALUE_TYPE</a></code></li>
+<code><a href="../../../../org/apache/sysds/parser/Statement.html#BOOLEAN_VALUE_TYPE">BOOLEAN_VALUE_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#DOUBLE_VALUE_TYPE">DOUBLE_VALUE_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#FRAME_DATA_TYPE">FRAME_DATA_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN">GAGG_FN</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_CM">GAGG_FN_CM</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_CM_ORDER">GAGG_FN_CM_ORDER</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_COUNT">GAGG_FN_COUNT</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_MEAN">GAGG_FN_MEAN</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_SUM">GAGG_FN_SUM</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_VARIANCE">GAGG_FN_VARIANCE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_GROUPS">GAGG_GROUPS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_NUM_GROUPS">GAGG_NUM_GROUPS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_TARGET">GAGG_TARGET</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_WEIGHTS">GAGG_WEIGHTS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#INT_VALUE_TYPE">INT_VALUE_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#MATRIX_DATA_TYPE">MATRIX_DATA_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#OUTPUTSTATEMENT">OUTPUTSTATEMENT</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_AGGREGATION_FUN">PS_AGGREGATION_FUN</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_BATCH_SIZE">PS_BATCH_SIZE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_CHECKPOINTING">PS_CHECKPOINTING</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_EPOCHS">PS_EPOCHS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FEATURES">PS_FEATURES</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FED_AGGREGATION_FNAME">PS_FED_AGGREGATION_FNAME</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FED_BATCH_SIZE">PS_FED_BATCH_SIZE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FED_DATA_SIZE">PS_FED_DATA_SIZE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FED_GRADIENTS_FNAME">PS_FED_GRADIENTS_FNAME</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FED_MODEL_VARID">PS_FED_MODEL_VARID</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FED_NAMESPACE">PS_FED_NAMESPACE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FED_POSS_BATCHES_LOCAL">PS_FED_POSS_BATCHES_LOCAL</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FED_RUNTIME_BALANCING">PS_FED_RUNTIME_BALANCING</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FED_WEIGHTING">PS_FED_WEIGHTING</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FREQUENCY">PS_FREQUENCY</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_GRADIENTS">PS_GRADIENTS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_HYPER_PARAMS">PS_HYPER_PARAMS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_LABELS">PS_LABELS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_MODE">PS_MODE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_MODEL">PS_MODEL</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_PARALLELISM">PS_PARALLELISM</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_SCHEME">PS_SCHEME</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_SEED">PS_SEED</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_UPDATE_FUN">PS_UPDATE_FUN</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_UPDATE_TYPE">PS_UPDATE_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_VAL_FEATURES">PS_VAL_FEATURES</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_VAL_FUN">PS_VAL_FUN</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_VAL_LABELS">PS_VAL_LABELS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SCALAR_DATA_TYPE">SCALAR_DATA_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SEQ_FROM">SEQ_FROM</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SEQ_INCR">SEQ_INCR</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SEQ_TO">SEQ_TO</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SETWD">SETWD</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SOURCE">SOURCE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#STRING_VALUE_TYPE">STRING_VALUE_TYPE</a></code></li>
 </ul>
 </li>
 </ul>
@@ -514,6 +514,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/RelationalExpression.html b/docs/api/java/org/apache/sysds/parser/RelationalExpression.html
index aefa8c0..61bceac 100644
--- a/docs/api/java/org/apache/sysds/parser/RelationalExpression.html
+++ b/docs/api/java/org/apache/sysds/parser/RelationalExpression.html
@@ -463,6 +463,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html b/docs/api/java/org/apache/sysds/parser/Statement.FederatedPSScheme.html
similarity index 61%
copy from docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html
copy to docs/api/java/org/apache/sysds/parser/Statement.FederatedPSScheme.html
index cd7d096..94b8e71 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html
+++ b/docs/api/java/org/apache/sysds/parser/Statement.FederatedPSScheme.html
@@ -4,15 +4,15 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ColGroup.CompressionType (SystemDS 2.1.0-SNAPSHOT API)</title>
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
+<title>Statement.FederatedPSScheme (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
 </head>
 <body>
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ColGroup.CompressionType (SystemDS 2.1.0-SNAPSHOT API)";
+            parent.document.title="Statement.FederatedPSScheme (SystemDS 2.1.0-SNAPSHOT API)";
         }
     }
     catch(err) {
@@ -37,27 +37,27 @@
 <!--   -->
 </a>
 <ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../../../../overview-summary.html">Overview</a></li>
 <li><a href="package-summary.html">Package</a></li>
 <li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/ColGroup.CompressionType.html">Use</a></li>
+<li><a href="class-use/Statement.FederatedPSScheme.html">Use</a></li>
 <li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
 </ul>
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/sysds/parser/Statement.html" title="class in org.apache.sysds.parser"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/sysds/parser/Statement.PSCheckpointing.html" title="enum in org.apache.sysds.parser"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" target="_top">Frames</a></li>
-<li><a href="ColGroup.CompressionType.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../index.html?org/apache/sysds/parser/Statement.FederatedPSScheme.html" target="_top">Frames</a></li>
+<li><a href="Statement.FederatedPSScheme.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
 </ul>
 <div>
 <script type="text/javascript"><!--
@@ -92,18 +92,18 @@
 <!-- ========= END OF TOP NAVBAR ========= -->
 <!-- ======== START OF CLASS DATA ======== -->
 <div class="header">
-<div class="subTitle">org.apache.sysds.runtime.compress.colgroup</div>
-<h2 title="Enum ColGroup.CompressionType" class="title">Enum ColGroup.CompressionType</h2>
+<div class="subTitle">org.apache.sysds.parser</div>
+<h2 title="Enum Statement.FederatedPSScheme" class="title">Enum Statement.FederatedPSScheme</h2>
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
 <li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
-<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">java.lang.Enum</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>&gt;</li>
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">java.lang.Enum</a>&lt;<a href="../../../../org/apache/sysds/parser/Statement.FederatedPSScheme.html" title="enum in org.apache.sysds.parser">Statement.FederatedPSScheme</a>&gt;</li>
 <li>
 <ul class="inheritance">
-<li>org.apache.sysds.runtime.compress.colgroup.ColGroup.CompressionType</li>
+<li>org.apache.sysds.parser.Statement.FederatedPSScheme</li>
 </ul>
 </li>
 </ul>
@@ -114,23 +114,16 @@
 <li class="blockList">
 <dl>
 <dt>All Implemented Interfaces:</dt>
-<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>&gt;</dd>
+<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;<a href="../../../../org/apache/sysds/parser/Statement.FederatedPSScheme.html" title="enum in org.apache.sysds.parser">Statement.FederatedPSScheme</a>&gt;</dd>
 </dl>
 <dl>
 <dt>Enclosing class:</dt>
-<dd><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></dd>
+<dd><a href="../../../../org/apache/sysds/parser/Statement.html" title="class in org.apache.sysds.parser">Statement</a></dd>
 </dl>
 <hr>
 <br>
-<pre>public static enum <span class="typeNameLabel">ColGroup.CompressionType</span>
-extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>&gt;</pre>
-<div class="block">Public Group types supported
- 
- Note For instance DDC is called DDC not DDC1, or DDC2 which is a specific subtype of the DDC. That
- differentiation is hidden to a user.
- 
- Includes Uncompressed for sparse/dense representation RLE for Run length encoding OLE for Offset Length encoding
- DDC for Dense dictionary encoding</div>
+<pre>public static enum <span class="typeNameLabel">Statement.FederatedPSScheme</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a>&lt;<a href="../../../../org/apache/sysds/parser/Statement.FederatedPSScheme.html" title="enum in org.apache.sysds.parser">Statement.FederatedPSScheme</a>&gt;</pre>
 </li>
 </ul>
 </div>
@@ -149,19 +142,19 @@
 <th class="colOne" scope="col">Enum Constant and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html#CONST">CONST</a></span></code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/Statement.FederatedPSScheme.html#BALANCE_TO_AVG">BALANCE_TO_AVG</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html#DDC">DDC</a></span></code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/Statement.FederatedPSScheme.html#KEEP_DATA_ON_WORKER">KEEP_DATA_ON_WORKER</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html#OLE">OLE</a></span></code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/Statement.FederatedPSScheme.html#REPLICATE_TO_MAX">REPLICATE_TO_MAX</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html#RLE">RLE</a></span></code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/Statement.FederatedPSScheme.html#SHUFFLE">SHUFFLE</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html#UNCOMPRESSED">UNCOMPRESSED</a></span></code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/Statement.FederatedPSScheme.html#SUBSAMPLE_TO_MIN">SUBSAMPLE_TO_MIN</a></span></code>&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -179,14 +172,14 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html#valueOf-java.lang.String-">valueOf</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
+<td class="colFirst"><code>static <a href="../../../../org/apache/sysds/parser/Statement.FederatedPSScheme.html" title="enum in org.apache.sysds.parser">Statement.FederatedPSScheme</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/Statement.FederatedPSScheme.html#valueOf-java.lang.String-">valueOf</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
 <div class="block">Returns the enum constant of this type with the specified name.</div>
 </td>
 </tr>
 <tr id="i1" class="rowColor">
-<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>[]</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html#values--">values</a></span>()</code>
+<td class="colFirst"><code>static <a href="../../../../org/apache/sysds/parser/Statement.FederatedPSScheme.html" title="enum in org.apache.sysds.parser">Statement.FederatedPSScheme</a>[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/Statement.FederatedPSScheme.html#values--">values</a></span>()</code>
 <div class="block">Returns an array containing the constants of this enum type, in
 the order they are declared.</div>
 </td>
@@ -220,49 +213,49 @@
 <!--   -->
 </a>
 <h3>Enum Constant Detail</h3>
-<a name="UNCOMPRESSED">
+<a name="KEEP_DATA_ON_WORKER">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>UNCOMPRESSED</h4>
-<pre>public static final&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a> UNCOMPRESSED</pre>
+<h4>KEEP_DATA_ON_WORKER</h4>
+<pre>public static final&nbsp;<a href="../../../../org/apache/sysds/parser/Statement.FederatedPSScheme.html" title="enum in org.apache.sysds.parser">Statement.FederatedPSScheme</a> KEEP_DATA_ON_WORKER</pre>
 </li>
 </ul>
-<a name="RLE">
+<a name="SHUFFLE">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>RLE</h4>
-<pre>public static final&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a> RLE</pre>
+<h4>SHUFFLE</h4>
+<pre>public static final&nbsp;<a href="../../../../org/apache/sysds/parser/Statement.FederatedPSScheme.html" title="enum in org.apache.sysds.parser">Statement.FederatedPSScheme</a> SHUFFLE</pre>
 </li>
 </ul>
-<a name="OLE">
+<a name="REPLICATE_TO_MAX">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>OLE</h4>
-<pre>public static final&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a> OLE</pre>
+<h4>REPLICATE_TO_MAX</h4>
+<pre>public static final&nbsp;<a href="../../../../org/apache/sysds/parser/Statement.FederatedPSScheme.html" title="enum in org.apache.sysds.parser">Statement.FederatedPSScheme</a> REPLICATE_TO_MAX</pre>
 </li>
 </ul>
-<a name="DDC">
+<a name="SUBSAMPLE_TO_MIN">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>DDC</h4>
-<pre>public static final&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a> DDC</pre>
+<h4>SUBSAMPLE_TO_MIN</h4>
+<pre>public static final&nbsp;<a href="../../../../org/apache/sysds/parser/Statement.FederatedPSScheme.html" title="enum in org.apache.sysds.parser">Statement.FederatedPSScheme</a> SUBSAMPLE_TO_MIN</pre>
 </li>
 </ul>
-<a name="CONST">
+<a name="BALANCE_TO_AVG">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>CONST</h4>
-<pre>public static final&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a> CONST</pre>
+<h4>BALANCE_TO_AVG</h4>
+<pre>public static final&nbsp;<a href="../../../../org/apache/sysds/parser/Statement.FederatedPSScheme.html" title="enum in org.apache.sysds.parser">Statement.FederatedPSScheme</a> BALANCE_TO_AVG</pre>
 </li>
 </ul>
 </li>
@@ -279,12 +272,12 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>values</h4>
-<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>[]&nbsp;values()</pre>
+<pre>public static&nbsp;<a href="../../../../org/apache/sysds/parser/Statement.FederatedPSScheme.html" title="enum in org.apache.sysds.parser">Statement.FederatedPSScheme</a>[]&nbsp;values()</pre>
 <div class="block">Returns an array containing the constants of this enum type, in
 the order they are declared.  This method may be used to iterate
 over the constants as follows:
 <pre>
-for (ColGroup.CompressionType c : ColGroup.CompressionType.values())
+for (Statement.FederatedPSScheme c : Statement.FederatedPSScheme.values())
 &nbsp;   System.out.println(c);
 </pre></div>
 <dl>
@@ -299,7 +292,7 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>valueOf</h4>
-<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>&nbsp;valueOf(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
+<pre>public static&nbsp;<a href="../../../../org/apache/sysds/parser/Statement.FederatedPSScheme.html" title="enum in org.apache.sysds.parser">Statement.FederatedPSScheme</a>&nbsp;valueOf(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
 enum constant in this type.  (Extraneous whitespace characters are 
@@ -331,27 +324,27 @@
 <!--   -->
 </a>
 <ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../../../../overview-summary.html">Overview</a></li>
 <li><a href="package-summary.html">Package</a></li>
 <li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/ColGroup.CompressionType.html">Use</a></li>
+<li><a href="class-use/Statement.FederatedPSScheme.html">Use</a></li>
 <li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
 </ul>
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/sysds/parser/Statement.html" title="class in org.apache.sysds.parser"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/sysds/parser/Statement.PSCheckpointing.html" title="enum in org.apache.sysds.parser"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" target="_top">Frames</a></li>
-<li><a href="ColGroup.CompressionType.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../index.html?org/apache/sysds/parser/Statement.FederatedPSScheme.html" target="_top">Frames</a></li>
+<li><a href="Statement.FederatedPSScheme.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
 </ul>
 <div>
 <script type="text/javascript"><!--
@@ -384,6 +377,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/Statement.PSCheckpointing.html b/docs/api/java/org/apache/sysds/parser/Statement.PSCheckpointing.html
index 8341698..e898a92 100644
--- a/docs/api/java/org/apache/sysds/parser/Statement.PSCheckpointing.html
+++ b/docs/api/java/org/apache/sysds/parser/Statement.PSCheckpointing.html
@@ -49,7 +49,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../org/apache/sysds/parser/Statement.html" title="class in org.apache.sysds.parser"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/sysds/parser/Statement.FederatedPSScheme.html" title="enum in org.apache.sysds.parser"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../org/apache/sysds/parser/Statement.PSFrequency.html" title="enum in org.apache.sysds.parser"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -312,7 +312,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../org/apache/sysds/parser/Statement.html" title="class in org.apache.sysds.parser"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/sysds/parser/Statement.FederatedPSScheme.html" title="enum in org.apache.sysds.parser"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../org/apache/sysds/parser/Statement.PSFrequency.html" title="enum in org.apache.sysds.parser"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -353,6 +353,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/Statement.PSFrequency.html b/docs/api/java/org/apache/sysds/parser/Statement.PSFrequency.html
index 580ccc1..a8fa52e 100644
--- a/docs/api/java/org/apache/sysds/parser/Statement.PSFrequency.html
+++ b/docs/api/java/org/apache/sysds/parser/Statement.PSFrequency.html
@@ -341,6 +341,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/Statement.PSModeType.html b/docs/api/java/org/apache/sysds/parser/Statement.PSModeType.html
index a777303..092b000 100644
--- a/docs/api/java/org/apache/sysds/parser/Statement.PSModeType.html
+++ b/docs/api/java/org/apache/sysds/parser/Statement.PSModeType.html
@@ -50,7 +50,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../org/apache/sysds/parser/Statement.PSFrequency.html" title="enum in org.apache.sysds.parser"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../org/apache/sysds/parser/Statement.PSScheme.html" title="enum in org.apache.sysds.parser"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/sysds/parser/Statement.PSRuntimeBalancing.html" title="enum in org.apache.sysds.parser"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../index.html?org/apache/sysds/parser/Statement.PSModeType.html" target="_top">Frames</a></li>
@@ -142,9 +142,12 @@
 <th class="colOne" scope="col">Enum Constant and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/Statement.PSModeType.html#LOCAL">LOCAL</a></span></code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/Statement.PSModeType.html#FEDERATED">FEDERATED</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/Statement.PSModeType.html#LOCAL">LOCAL</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/Statement.PSModeType.html#REMOTE_SPARK">REMOTE_SPARK</a></span></code>&nbsp;</td>
 </tr>
 </table>
@@ -204,6 +207,15 @@
 <!--   -->
 </a>
 <h3>Enum Constant Detail</h3>
+<a name="FEDERATED">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>FEDERATED</h4>
+<pre>public static final&nbsp;<a href="../../../../org/apache/sysds/parser/Statement.PSModeType.html" title="enum in org.apache.sysds.parser">Statement.PSModeType</a> FEDERATED</pre>
+</li>
+</ul>
 <a name="LOCAL">
 <!--   -->
 </a>
@@ -301,7 +313,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../org/apache/sysds/parser/Statement.PSFrequency.html" title="enum in org.apache.sysds.parser"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../org/apache/sysds/parser/Statement.PSScheme.html" title="enum in org.apache.sysds.parser"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/sysds/parser/Statement.PSRuntimeBalancing.html" title="enum in org.apache.sysds.parser"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../index.html?org/apache/sysds/parser/Statement.PSModeType.html" target="_top">Frames</a></li>
@@ -341,6 +353,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html b/docs/api/java/org/apache/sysds/parser/Statement.PSRuntimeBalancing.html
similarity index 61%
copy from docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html
copy to docs/api/java/org/apache/sysds/parser/Statement.PSRuntimeBalancing.html
index cd7d096..52150f9 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html
+++ b/docs/api/java/org/apache/sysds/parser/Statement.PSRuntimeBalancing.html
@@ -4,15 +4,15 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ColGroup.CompressionType (SystemDS 2.1.0-SNAPSHOT API)</title>
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
+<title>Statement.PSRuntimeBalancing (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
 </head>
 <body>
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ColGroup.CompressionType (SystemDS 2.1.0-SNAPSHOT API)";
+            parent.document.title="Statement.PSRuntimeBalancing (SystemDS 2.1.0-SNAPSHOT API)";
         }
     }
     catch(err) {
@@ -37,27 +37,27 @@
 <!--   -->
 </a>
 <ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../../../../overview-summary.html">Overview</a></li>
 <li><a href="package-summary.html">Package</a></li>
 <li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/ColGroup.CompressionType.html">Use</a></li>
+<li><a href="class-use/Statement.PSRuntimeBalancing.html">Use</a></li>
 <li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
 </ul>
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/sysds/parser/Statement.PSModeType.html" title="enum in org.apache.sysds.parser"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/sysds/parser/Statement.PSScheme.html" title="enum in org.apache.sysds.parser"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" target="_top">Frames</a></li>
-<li><a href="ColGroup.CompressionType.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../index.html?org/apache/sysds/parser/Statement.PSRuntimeBalancing.html" target="_top">Frames</a></li>
+<li><a href="Statement.PSRuntimeBalancing.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
 </ul>
 <div>
 <script type="text/javascript"><!--
@@ -92,18 +92,18 @@
 <!-- ========= END OF TOP NAVBAR ========= -->
 <!-- ======== START OF CLASS DATA ======== -->
 <div class="header">
-<div class="subTitle">org.apache.sysds.runtime.compress.colgroup</div>
-<h2 title="Enum ColGroup.CompressionType" class="title">Enum ColGroup.CompressionType</h2>
+<div class="subTitle">org.apache.sysds.parser</div>
+<h2 title="Enum Statement.PSRuntimeBalancing" class="title">Enum Statement.PSRuntimeBalancing</h2>
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
 <li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
-<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">java.lang.Enum</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>&gt;</li>
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">java.lang.Enum</a>&lt;<a href="../../../../org/apache/sysds/parser/Statement.PSRuntimeBalancing.html" title="enum in org.apache.sysds.parser">Statement.PSRuntimeBalancing</a>&gt;</li>
 <li>
 <ul class="inheritance">
-<li>org.apache.sysds.runtime.compress.colgroup.ColGroup.CompressionType</li>
+<li>org.apache.sysds.parser.Statement.PSRuntimeBalancing</li>
 </ul>
 </li>
 </ul>
@@ -114,23 +114,16 @@
 <li class="blockList">
 <dl>
 <dt>All Implemented Interfaces:</dt>
-<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>&gt;</dd>
+<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;<a href="../../../../org/apache/sysds/parser/Statement.PSRuntimeBalancing.html" title="enum in org.apache.sysds.parser">Statement.PSRuntimeBalancing</a>&gt;</dd>
 </dl>
 <dl>
 <dt>Enclosing class:</dt>
-<dd><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></dd>
+<dd><a href="../../../../org/apache/sysds/parser/Statement.html" title="class in org.apache.sysds.parser">Statement</a></dd>
 </dl>
 <hr>
 <br>
-<pre>public static enum <span class="typeNameLabel">ColGroup.CompressionType</span>
-extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>&gt;</pre>
-<div class="block">Public Group types supported
- 
- Note For instance DDC is called DDC not DDC1, or DDC2 which is a specific subtype of the DDC. That
- differentiation is hidden to a user.
- 
- Includes Uncompressed for sparse/dense representation RLE for Run length encoding OLE for Offset Length encoding
- DDC for Dense dictionary encoding</div>
+<pre>public static enum <span class="typeNameLabel">Statement.PSRuntimeBalancing</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a>&lt;<a href="../../../../org/apache/sysds/parser/Statement.PSRuntimeBalancing.html" title="enum in org.apache.sysds.parser">Statement.PSRuntimeBalancing</a>&gt;</pre>
 </li>
 </ul>
 </div>
@@ -149,19 +142,22 @@
 <th class="colOne" scope="col">Enum Constant and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html#CONST">CONST</a></span></code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/Statement.PSRuntimeBalancing.html#BASELINE">BASELINE</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html#DDC">DDC</a></span></code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/Statement.PSRuntimeBalancing.html#CYCLE_AVG">CYCLE_AVG</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html#OLE">OLE</a></span></code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/Statement.PSRuntimeBalancing.html#CYCLE_MAX">CYCLE_MAX</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html#RLE">RLE</a></span></code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/Statement.PSRuntimeBalancing.html#CYCLE_MIN">CYCLE_MIN</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html#UNCOMPRESSED">UNCOMPRESSED</a></span></code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/Statement.PSRuntimeBalancing.html#NONE">NONE</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/Statement.PSRuntimeBalancing.html#SCALE_BATCH">SCALE_BATCH</a></span></code>&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -179,14 +175,14 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html#valueOf-java.lang.String-">valueOf</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
+<td class="colFirst"><code>static <a href="../../../../org/apache/sysds/parser/Statement.PSRuntimeBalancing.html" title="enum in org.apache.sysds.parser">Statement.PSRuntimeBalancing</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/Statement.PSRuntimeBalancing.html#valueOf-java.lang.String-">valueOf</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
 <div class="block">Returns the enum constant of this type with the specified name.</div>
 </td>
 </tr>
 <tr id="i1" class="rowColor">
-<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>[]</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html#values--">values</a></span>()</code>
+<td class="colFirst"><code>static <a href="../../../../org/apache/sysds/parser/Statement.PSRuntimeBalancing.html" title="enum in org.apache.sysds.parser">Statement.PSRuntimeBalancing</a>[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/Statement.PSRuntimeBalancing.html#values--">values</a></span>()</code>
 <div class="block">Returns an array containing the constants of this enum type, in
 the order they are declared.</div>
 </td>
@@ -220,49 +216,58 @@
 <!--   -->
 </a>
 <h3>Enum Constant Detail</h3>
-<a name="UNCOMPRESSED">
+<a name="NONE">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>UNCOMPRESSED</h4>
-<pre>public static final&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a> UNCOMPRESSED</pre>
+<h4>NONE</h4>
+<pre>public static final&nbsp;<a href="../../../../org/apache/sysds/parser/Statement.PSRuntimeBalancing.html" title="enum in org.apache.sysds.parser">Statement.PSRuntimeBalancing</a> NONE</pre>
 </li>
 </ul>
-<a name="RLE">
+<a name="BASELINE">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>RLE</h4>
-<pre>public static final&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a> RLE</pre>
+<h4>BASELINE</h4>
+<pre>public static final&nbsp;<a href="../../../../org/apache/sysds/parser/Statement.PSRuntimeBalancing.html" title="enum in org.apache.sysds.parser">Statement.PSRuntimeBalancing</a> BASELINE</pre>
 </li>
 </ul>
-<a name="OLE">
+<a name="CYCLE_MIN">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>OLE</h4>
-<pre>public static final&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a> OLE</pre>
+<h4>CYCLE_MIN</h4>
+<pre>public static final&nbsp;<a href="../../../../org/apache/sysds/parser/Statement.PSRuntimeBalancing.html" title="enum in org.apache.sysds.parser">Statement.PSRuntimeBalancing</a> CYCLE_MIN</pre>
 </li>
 </ul>
-<a name="DDC">
+<a name="CYCLE_AVG">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>DDC</h4>
-<pre>public static final&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a> DDC</pre>
+<h4>CYCLE_AVG</h4>
+<pre>public static final&nbsp;<a href="../../../../org/apache/sysds/parser/Statement.PSRuntimeBalancing.html" title="enum in org.apache.sysds.parser">Statement.PSRuntimeBalancing</a> CYCLE_AVG</pre>
 </li>
 </ul>
-<a name="CONST">
+<a name="CYCLE_MAX">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>CYCLE_MAX</h4>
+<pre>public static final&nbsp;<a href="../../../../org/apache/sysds/parser/Statement.PSRuntimeBalancing.html" title="enum in org.apache.sysds.parser">Statement.PSRuntimeBalancing</a> CYCLE_MAX</pre>
+</li>
+</ul>
+<a name="SCALE_BATCH">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>CONST</h4>
-<pre>public static final&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a> CONST</pre>
+<h4>SCALE_BATCH</h4>
+<pre>public static final&nbsp;<a href="../../../../org/apache/sysds/parser/Statement.PSRuntimeBalancing.html" title="enum in org.apache.sysds.parser">Statement.PSRuntimeBalancing</a> SCALE_BATCH</pre>
 </li>
 </ul>
 </li>
@@ -279,12 +284,12 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>values</h4>
-<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>[]&nbsp;values()</pre>
+<pre>public static&nbsp;<a href="../../../../org/apache/sysds/parser/Statement.PSRuntimeBalancing.html" title="enum in org.apache.sysds.parser">Statement.PSRuntimeBalancing</a>[]&nbsp;values()</pre>
 <div class="block">Returns an array containing the constants of this enum type, in
 the order they are declared.  This method may be used to iterate
 over the constants as follows:
 <pre>
-for (ColGroup.CompressionType c : ColGroup.CompressionType.values())
+for (Statement.PSRuntimeBalancing c : Statement.PSRuntimeBalancing.values())
 &nbsp;   System.out.println(c);
 </pre></div>
 <dl>
@@ -299,7 +304,7 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>valueOf</h4>
-<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>&nbsp;valueOf(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
+<pre>public static&nbsp;<a href="../../../../org/apache/sysds/parser/Statement.PSRuntimeBalancing.html" title="enum in org.apache.sysds.parser">Statement.PSRuntimeBalancing</a>&nbsp;valueOf(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
 enum constant in this type.  (Extraneous whitespace characters are 
@@ -331,27 +336,27 @@
 <!--   -->
 </a>
 <ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../../../../overview-summary.html">Overview</a></li>
 <li><a href="package-summary.html">Package</a></li>
 <li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/ColGroup.CompressionType.html">Use</a></li>
+<li><a href="class-use/Statement.PSRuntimeBalancing.html">Use</a></li>
 <li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
 </ul>
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/sysds/parser/Statement.PSModeType.html" title="enum in org.apache.sysds.parser"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/sysds/parser/Statement.PSScheme.html" title="enum in org.apache.sysds.parser"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" target="_top">Frames</a></li>
-<li><a href="ColGroup.CompressionType.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../index.html?org/apache/sysds/parser/Statement.PSRuntimeBalancing.html" target="_top">Frames</a></li>
+<li><a href="Statement.PSRuntimeBalancing.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
 </ul>
 <div>
 <script type="text/javascript"><!--
@@ -384,6 +389,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/Statement.PSScheme.html b/docs/api/java/org/apache/sysds/parser/Statement.PSScheme.html
index 34b243f..5e46e9c 100644
--- a/docs/api/java/org/apache/sysds/parser/Statement.PSScheme.html
+++ b/docs/api/java/org/apache/sysds/parser/Statement.PSScheme.html
@@ -49,7 +49,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../org/apache/sysds/parser/Statement.PSModeType.html" title="enum in org.apache.sysds.parser"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/sysds/parser/Statement.PSRuntimeBalancing.html" title="enum in org.apache.sysds.parser"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../org/apache/sysds/parser/Statement.PSUpdateType.html" title="enum in org.apache.sysds.parser"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -324,7 +324,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../org/apache/sysds/parser/Statement.PSModeType.html" title="enum in org.apache.sysds.parser"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/sysds/parser/Statement.PSRuntimeBalancing.html" title="enum in org.apache.sysds.parser"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../org/apache/sysds/parser/Statement.PSUpdateType.html" title="enum in org.apache.sysds.parser"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -365,6 +365,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/Statement.PSUpdateType.html b/docs/api/java/org/apache/sysds/parser/Statement.PSUpdateType.html
index bc151e8..55ef183 100644
--- a/docs/api/java/org/apache/sysds/parser/Statement.PSUpdateType.html
+++ b/docs/api/java/org/apache/sysds/parser/Statement.PSUpdateType.html
@@ -379,6 +379,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/Statement.html b/docs/api/java/org/apache/sysds/parser/Statement.html
index bda8b71..f195d06 100644
--- a/docs/api/java/org/apache/sysds/parser/Statement.html
+++ b/docs/api/java/org/apache/sysds/parser/Statement.html
@@ -50,7 +50,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../org/apache/sysds/parser/RelationalExpression.html" title="class in org.apache.sysds.parser"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../org/apache/sysds/parser/Statement.PSCheckpointing.html" title="enum in org.apache.sysds.parser"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/sysds/parser/Statement.FederatedPSScheme.html" title="enum in org.apache.sysds.parser"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../index.html?org/apache/sysds/parser/Statement.html" target="_top">Frames</a></li>
@@ -140,16 +140,24 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/Statement.PSCheckpointing.html" title="enum in org.apache.sysds.parser">Statement.PSCheckpointing</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/Statement.FederatedPSScheme.html" title="enum in org.apache.sysds.parser">Statement.FederatedPSScheme</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/Statement.PSFrequency.html" title="enum in org.apache.sysds.parser">Statement.PSFrequency</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/Statement.PSCheckpointing.html" title="enum in org.apache.sysds.parser">Statement.PSCheckpointing</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/Statement.PSFrequency.html" title="enum in org.apache.sysds.parser">Statement.PSFrequency</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/Statement.PSModeType.html" title="enum in org.apache.sysds.parser">Statement.PSModeType</a></span></code>&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><code>static class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/Statement.PSRuntimeBalancing.html" title="enum in org.apache.sysds.parser">Statement.PSRuntimeBalancing</a></span></code>&nbsp;</td>
+</tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/Statement.PSScheme.html" title="enum in org.apache.sysds.parser">Statement.PSScheme</a></span></code>&nbsp;</td>
@@ -263,36 +271,76 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/Statement.html#PS_FREQUENCY">PS_FREQUENCY</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/Statement.html#PS_FED_AGGREGATION_FNAME">PS_FED_AGGREGATION_FNAME</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/Statement.html#PS_FED_BATCH_SIZE">PS_FED_BATCH_SIZE</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/Statement.html#PS_FED_DATA_SIZE">PS_FED_DATA_SIZE</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/Statement.html#PS_FED_GRADIENTS_FNAME">PS_FED_GRADIENTS_FNAME</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/Statement.html#PS_FED_MODEL_VARID">PS_FED_MODEL_VARID</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/Statement.html#PS_FED_NAMESPACE">PS_FED_NAMESPACE</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/Statement.html#PS_FED_POSS_BATCHES_LOCAL">PS_FED_POSS_BATCHES_LOCAL</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/Statement.html#PS_FED_RUNTIME_BALANCING">PS_FED_RUNTIME_BALANCING</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/Statement.html#PS_FED_WEIGHTING">PS_FED_WEIGHTING</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/Statement.html#PS_FREQUENCY">PS_FREQUENCY</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/Statement.html#PS_GRADIENTS">PS_GRADIENTS</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/Statement.html#PS_HYPER_PARAMS">PS_HYPER_PARAMS</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/Statement.html#PS_LABELS">PS_LABELS</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/Statement.html#PS_MODE">PS_MODE</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/Statement.html#PS_MODEL">PS_MODEL</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/Statement.html#PS_PARALLELISM">PS_PARALLELISM</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/Statement.html#PS_SCHEME">PS_SCHEME</a></span></code>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/Statement.html#PS_SEED">PS_SEED</a></span></code>&nbsp;</td>
+</tr>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/Statement.html#PS_UPDATE_FUN">PS_UPDATE_FUN</a></span></code>&nbsp;</td>
@@ -307,33 +355,37 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/Statement.html#PS_VAL_LABELS">PS_VAL_LABELS</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/Statement.html#PS_VAL_FUN">PS_VAL_FUN</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/Statement.html#PS_VAL_LABELS">PS_VAL_LABELS</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/Statement.html#SCALAR_DATA_TYPE">SCALAR_DATA_TYPE</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/Statement.html#SEQ_FROM">SEQ_FROM</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/Statement.html#SEQ_INCR">SEQ_INCR</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/Statement.html#SEQ_TO">SEQ_TO</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/Statement.html#SETWD">SETWD</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/Statement.html#SOURCE">SOURCE</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/Statement.html#STRING_VALUE_TYPE">STRING_VALUE_TYPE</a></span></code>&nbsp;</td>
 </tr>
@@ -895,6 +947,19 @@
 </dl>
 </li>
 </ul>
+<a name="PS_VAL_FUN">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>PS_VAL_FUN</h4>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> PS_VAL_FUN</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../constant-values.html#org.apache.sysds.parser.Statement.PS_VAL_FUN">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
 <a name="PS_UPDATE_FUN">
 <!--   -->
 </a>
@@ -947,6 +1012,19 @@
 </dl>
 </li>
 </ul>
+<a name="PS_SEED">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>PS_SEED</h4>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> PS_SEED</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../constant-values.html#org.apache.sysds.parser.Statement.PS_SEED">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
 <a name="PS_UPDATE_TYPE">
 <!--   -->
 </a>
@@ -973,6 +1051,32 @@
 </dl>
 </li>
 </ul>
+<a name="PS_FED_WEIGHTING">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>PS_FED_WEIGHTING</h4>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> PS_FED_WEIGHTING</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../constant-values.html#org.apache.sysds.parser.Statement.PS_FED_WEIGHTING">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="PS_FED_RUNTIME_BALANCING">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>PS_FED_RUNTIME_BALANCING</h4>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> PS_FED_RUNTIME_BALANCING</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../constant-values.html#org.apache.sysds.parser.Statement.PS_FED_RUNTIME_BALANCING">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
 <a name="PS_EPOCHS">
 <!--   -->
 </a>
@@ -1041,7 +1145,7 @@
 <a name="PS_CHECKPOINTING">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>PS_CHECKPOINTING</h4>
 <pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> PS_CHECKPOINTING</pre>
@@ -1051,6 +1155,97 @@
 </dl>
 </li>
 </ul>
+<a name="PS_FED_BATCH_SIZE">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>PS_FED_BATCH_SIZE</h4>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> PS_FED_BATCH_SIZE</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../constant-values.html#org.apache.sysds.parser.Statement.PS_FED_BATCH_SIZE">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="PS_FED_DATA_SIZE">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>PS_FED_DATA_SIZE</h4>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> PS_FED_DATA_SIZE</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../constant-values.html#org.apache.sysds.parser.Statement.PS_FED_DATA_SIZE">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="PS_FED_POSS_BATCHES_LOCAL">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>PS_FED_POSS_BATCHES_LOCAL</h4>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> PS_FED_POSS_BATCHES_LOCAL</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../constant-values.html#org.apache.sysds.parser.Statement.PS_FED_POSS_BATCHES_LOCAL">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="PS_FED_NAMESPACE">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>PS_FED_NAMESPACE</h4>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> PS_FED_NAMESPACE</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../constant-values.html#org.apache.sysds.parser.Statement.PS_FED_NAMESPACE">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="PS_FED_GRADIENTS_FNAME">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>PS_FED_GRADIENTS_FNAME</h4>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> PS_FED_GRADIENTS_FNAME</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../constant-values.html#org.apache.sysds.parser.Statement.PS_FED_GRADIENTS_FNAME">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="PS_FED_AGGREGATION_FNAME">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>PS_FED_AGGREGATION_FNAME</h4>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> PS_FED_AGGREGATION_FNAME</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../constant-values.html#org.apache.sysds.parser.Statement.PS_FED_AGGREGATION_FNAME">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="PS_FED_MODEL_VARID">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>PS_FED_MODEL_VARID</h4>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> PS_FED_MODEL_VARID</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../constant-values.html#org.apache.sysds.parser.Statement.PS_FED_MODEL_VARID">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 <!-- ========= CONSTRUCTOR DETAIL ======== -->
@@ -1420,7 +1615,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../org/apache/sysds/parser/RelationalExpression.html" title="class in org.apache.sysds.parser"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../org/apache/sysds/parser/Statement.PSCheckpointing.html" title="enum in org.apache.sysds.parser"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/sysds/parser/Statement.FederatedPSScheme.html" title="enum in org.apache.sysds.parser"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../index.html?org/apache/sysds/parser/Statement.html" target="_top">Frames</a></li>
@@ -1460,6 +1655,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/StatementBlock.html b/docs/api/java/org/apache/sysds/parser/StatementBlock.html
index 371edf9..069cc38 100644
--- a/docs/api/java/org/apache/sysds/parser/StatementBlock.html
+++ b/docs/api/java/org/apache/sysds/parser/StatementBlock.html
@@ -1208,6 +1208,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/StringIdentifier.html b/docs/api/java/org/apache/sysds/parser/StringIdentifier.html
index f334d8d..905eef8 100644
--- a/docs/api/java/org/apache/sysds/parser/StringIdentifier.html
+++ b/docs/api/java/org/apache/sysds/parser/StringIdentifier.html
@@ -425,6 +425,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/VariableSet.html b/docs/api/java/org/apache/sysds/parser/VariableSet.html
index d77d99b..da54f94 100644
--- a/docs/api/java/org/apache/sysds/parser/VariableSet.html
+++ b/docs/api/java/org/apache/sysds/parser/VariableSet.html
@@ -445,6 +445,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/WhileStatement.html b/docs/api/java/org/apache/sysds/parser/WhileStatement.html
index bef6bef..6a2e9b3 100644
--- a/docs/api/java/org/apache/sysds/parser/WhileStatement.html
+++ b/docs/api/java/org/apache/sysds/parser/WhileStatement.html
@@ -137,7 +137,7 @@
 <!--   -->
 </a>
 <h3>Nested classes/interfaces inherited from class&nbsp;org.apache.sysds.parser.<a href="../../../../org/apache/sysds/parser/Statement.html" title="class in org.apache.sysds.parser">Statement</a></h3>
-<code><a href="../../../../org/apache/sysds/parser/Statement.PSCheckpointing.html" title="enum in org.apache.sysds.parser">Statement.PSCheckpointing</a>, <a href="../../../../org/apache/sysds/parser/Statement.PSFrequency.html" title="enum in org.apache.sysds.parser">Statement.PSFrequency</a>, <a href="../../../../org/apache/sysds/parser/Statement.PSModeType.html" title="enum in org.apache.sysds.parser">Statement.PSModeType</a>, <a href="../../../../org/apache/sysds/parser/Statement.PSScheme.html" title="enum in org.apache.sysds.parser">Statement.PSScheme</a>, <a href="../../../../org/apache/sysds/parser/Statement.PSUpdateType.html" title="enum in org.apache.sysds.parser">Statement.PSUpdateType</a></code></li>
+<code><a href="../../../../org/apache/sysds/parser/Statement.FederatedPSScheme.html" title="enum in org.apache.sysds.parser">Statement.FederatedPSScheme</a>, <a href="../../../../org/apache/sysds/parser/Statement.PSCheckpointing.html" title="enum in org.apache.sysds.parser">Statement.PSCheckpointing</a>, <a href="../../../../org/apache/sysds/parser/Statement.PSFrequency.html" title="enum in org.apache.sysds.parser">Statement.PSFrequency</a>, <a href="../../../../org/apache/sysds/parser/Statement.PSModeType.html" title="enum in org.apache.sysds.parser">Statement.PSModeType</a>, <a href="../../../../org/apache/sysds/parser/Statement.PSRuntimeBalancing.html" title="enum in org.apache.sysds.parser">Statement.PSRuntimeBalancing</a>, <a href="../../../../org/apache/sysds/parser/Statement.PSScheme.html" title="enum in org.apache.sysds.parser">Statement.PSScheme</a>, <a href="../../../../org/apache/sysds/parser/Statement.PSUpdateType.html" title="enum in org.apache.sysds.parser">Statement.PSUpdateType</a></code></li>
 </ul>
 </li>
 </ul>
@@ -152,7 +152,7 @@
 <!--   -->
 </a>
 <h3>Fields inherited from class&nbsp;org.apache.sysds.parser.<a href="../../../../org/apache/sysds/parser/Statement.html" title="class in org.apache.sysds.parser">Statement</a></h3>
-<code><a href="../../../../org/apache/sysds/parser/Statement.html#BOOLEAN_VALUE_TYPE">BOOLEAN_VALUE_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#DOUBLE_VALUE_TYPE">DOUBLE_VALUE_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#FRAME_DATA_TYPE">FRAME_DATA_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN">GAGG_FN</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_CM">GAGG_FN_CM</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_CM_ORDER">GAGG_FN_CM_ORDER</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_COUNT">GAGG_FN_COUNT</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_MEAN">GAGG_FN_MEAN</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_SUM">GAGG_FN_SUM</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_VARIANCE">GAGG_FN_VARIANCE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_GROUPS">GAGG_GROUPS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_NUM_GROUPS">GAGG_NUM_GROUPS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_TARGET">GAGG_TARGET</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_WEIGHTS">GAGG_WEIGHTS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#INT_VALUE_TYPE">INT_VALUE_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#MATRIX_DATA_TYPE">MATRIX_DATA_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#OUTPUTSTATEMENT">OUTPUTSTATEMENT</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_AGGREGATION_FUN">PS_AGGREGATION_FUN</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_BATCH_SIZE">PS_BATCH_SIZE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_CHECKPOINTING">PS_CHECKPOINTING</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_EPOCHS">PS_EPOCHS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FEATURES">PS_FEATURES</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FREQUENCY">PS_FREQUENCY</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_GRADIENTS">PS_GRADIENTS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_HYPER_PARAMS">PS_HYPER_PARAMS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_LABELS">PS_LABELS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_MODE">PS_MODE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_MODEL">PS_MODEL</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_PARALLELISM">PS_PARALLELISM</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_SCHEME">PS_SCHEME</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_UPDATE_FUN">PS_UPDATE_FUN</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_UPDATE_TYPE">PS_UPDATE_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_VAL_FEATURES">PS_VAL_FEATURES</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_VAL_LABELS">PS_VAL_LABELS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SCALAR_DATA_TYPE">SCALAR_DATA_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SEQ_FROM">SEQ_FROM</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SEQ_INCR">SEQ_INCR</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SEQ_TO">SEQ_TO</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SETWD">SETWD</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SOURCE">SOURCE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#STRING_VALUE_TYPE">STRING_VALUE_TYPE</a></code></li>
+<code><a href="../../../../org/apache/sysds/parser/Statement.html#BOOLEAN_VALUE_TYPE">BOOLEAN_VALUE_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#DOUBLE_VALUE_TYPE">DOUBLE_VALUE_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#FRAME_DATA_TYPE">FRAME_DATA_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN">GAGG_FN</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_CM">GAGG_FN_CM</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_CM_ORDER">GAGG_FN_CM_ORDER</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_COUNT">GAGG_FN_COUNT</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_MEAN">GAGG_FN_MEAN</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_SUM">GAGG_FN_SUM</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_FN_VARIANCE">GAGG_FN_VARIANCE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_GROUPS">GAGG_GROUPS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_NUM_GROUPS">GAGG_NUM_GROUPS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_TARGET">GAGG_TARGET</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#GAGG_WEIGHTS">GAGG_WEIGHTS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#INT_VALUE_TYPE">INT_VALUE_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#MATRIX_DATA_TYPE">MATRIX_DATA_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#OUTPUTSTATEMENT">OUTPUTSTATEMENT</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_AGGREGATION_FUN">PS_AGGREGATION_FUN</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_BATCH_SIZE">PS_BATCH_SIZE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_CHECKPOINTING">PS_CHECKPOINTING</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_EPOCHS">PS_EPOCHS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FEATURES">PS_FEATURES</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FED_AGGREGATION_FNAME">PS_FED_AGGREGATION_FNAME</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FED_BATCH_SIZE">PS_FED_BATCH_SIZE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FED_DATA_SIZE">PS_FED_DATA_SIZE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FED_GRADIENTS_FNAME">PS_FED_GRADIENTS_FNAME</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FED_MODEL_VARID">PS_FED_MODEL_VARID</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FED_NAMESPACE">PS_FED_NAMESPACE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FED_POSS_BATCHES_LOCAL">PS_FED_POSS_BATCHES_LOCAL</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FED_RUNTIME_BALANCING">PS_FED_RUNTIME_BALANCING</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FED_WEIGHTING">PS_FED_WEIGHTING</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_FREQUENCY">PS_FREQUENCY</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_GRADIENTS">PS_GRADIENTS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_HYPER_PARAMS">PS_HYPER_PARAMS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_LABELS">PS_LABELS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_MODE">PS_MODE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_MODEL">PS_MODEL</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_PARALLELISM">PS_PARALLELISM</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_SCHEME">PS_SCHEME</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_SEED">PS_SEED</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_UPDATE_FUN">PS_UPDATE_FUN</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_UPDATE_TYPE">PS_UPDATE_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_VAL_FEATURES">PS_VAL_FEATURES</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_VAL_FUN">PS_VAL_FUN</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#PS_VAL_LABELS">PS_VAL_LABELS</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SCALAR_DATA_TYPE">SCALAR_DATA_TYPE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SEQ_FROM">SEQ_FROM</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SEQ_INCR">SEQ_INCR</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SEQ_TO">SEQ_TO</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SETWD">SETWD</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#SOURCE">SOURCE</a>, <a href="../../../../org/apache/sysds/parser/Statement.html#STRING_VALUE_TYPE">STRING_VALUE_TYPE</a></code></li>
 </ul>
 </li>
 </ul>
@@ -504,6 +504,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/WhileStatementBlock.html b/docs/api/java/org/apache/sysds/parser/WhileStatementBlock.html
index 694ff24..d2c6ee3 100644
--- a/docs/api/java/org/apache/sysds/parser/WhileStatementBlock.html
+++ b/docs/api/java/org/apache/sysds/parser/WhileStatementBlock.html
@@ -474,6 +474,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/class-use/AssignmentStatement.html b/docs/api/java/org/apache/sysds/parser/class-use/AssignmentStatement.html
index 94ba846..7edd480 100644
--- a/docs/api/java/org/apache/sysds/parser/class-use/AssignmentStatement.html
+++ b/docs/api/java/org/apache/sysds/parser/class-use/AssignmentStatement.html
@@ -161,6 +161,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/class-use/BinaryExpression.html b/docs/api/java/org/apache/sysds/parser/class-use/BinaryExpression.html
index 97719ee..719ce18 100644
--- a/docs/api/java/org/apache/sysds/parser/class-use/BinaryExpression.html
+++ b/docs/api/java/org/apache/sysds/parser/class-use/BinaryExpression.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/class-use/BooleanExpression.html b/docs/api/java/org/apache/sysds/parser/class-use/BooleanExpression.html
index 14e9eca..2c4d4a3 100644
--- a/docs/api/java/org/apache/sysds/parser/class-use/BooleanExpression.html
+++ b/docs/api/java/org/apache/sysds/parser/class-use/BooleanExpression.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/class-use/BooleanIdentifier.html b/docs/api/java/org/apache/sysds/parser/class-use/BooleanIdentifier.html
index b1731d6..a95e7a1 100644
--- a/docs/api/java/org/apache/sysds/parser/class-use/BooleanIdentifier.html
+++ b/docs/api/java/org/apache/sysds/parser/class-use/BooleanIdentifier.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/class-use/BuiltinConstant.html b/docs/api/java/org/apache/sysds/parser/class-use/BuiltinConstant.html
index 9e9ca26..bb964fd 100644
--- a/docs/api/java/org/apache/sysds/parser/class-use/BuiltinConstant.html
+++ b/docs/api/java/org/apache/sysds/parser/class-use/BuiltinConstant.html
@@ -169,6 +169,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/class-use/BuiltinFunctionExpression.html b/docs/api/java/org/apache/sysds/parser/class-use/BuiltinFunctionExpression.html
index ef6ffc1..2ba00d1 100644
--- a/docs/api/java/org/apache/sysds/parser/class-use/BuiltinFunctionExpression.html
+++ b/docs/api/java/org/apache/sysds/parser/class-use/BuiltinFunctionExpression.html
@@ -163,6 +163,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/class-use/ConditionalPredicate.html b/docs/api/java/org/apache/sysds/parser/class-use/ConditionalPredicate.html
index 39ab8c4..a1bc047 100644
--- a/docs/api/java/org/apache/sysds/parser/class-use/ConditionalPredicate.html
+++ b/docs/api/java/org/apache/sysds/parser/class-use/ConditionalPredicate.html
@@ -181,6 +181,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/class-use/ConstIdentifier.html b/docs/api/java/org/apache/sysds/parser/class-use/ConstIdentifier.html
index 74e4f68..effe973 100644
--- a/docs/api/java/org/apache/sysds/parser/class-use/ConstIdentifier.html
+++ b/docs/api/java/org/apache/sysds/parser/class-use/ConstIdentifier.html
@@ -366,6 +366,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/class-use/DMLProgram.html b/docs/api/java/org/apache/sysds/parser/class-use/DMLProgram.html
index 5741361..4e6c626 100644
--- a/docs/api/java/org/apache/sysds/parser/class-use/DMLProgram.html
+++ b/docs/api/java/org/apache/sysds/parser/class-use/DMLProgram.html
@@ -700,6 +700,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/class-use/DMLTranslator.html b/docs/api/java/org/apache/sysds/parser/class-use/DMLTranslator.html
index 7c5e98f..f2d18d1 100644
--- a/docs/api/java/org/apache/sysds/parser/class-use/DMLTranslator.html
+++ b/docs/api/java/org/apache/sysds/parser/class-use/DMLTranslator.html
@@ -162,6 +162,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/class-use/DataExpression.html b/docs/api/java/org/apache/sysds/parser/class-use/DataExpression.html
index b4e1d50..a8b9eb4 100644
--- a/docs/api/java/org/apache/sysds/parser/class-use/DataExpression.html
+++ b/docs/api/java/org/apache/sysds/parser/class-use/DataExpression.html
@@ -188,6 +188,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/class-use/DataIdentifier.html b/docs/api/java/org/apache/sysds/parser/class-use/DataIdentifier.html
index ac6fbb1..4ed7bc3 100644
--- a/docs/api/java/org/apache/sysds/parser/class-use/DataIdentifier.html
+++ b/docs/api/java/org/apache/sysds/parser/class-use/DataIdentifier.html
@@ -579,13 +579,21 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>static void</code></td>
+<td class="colLast"><span class="typeNameLabel">LineageEstimator.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageEstimator.html#processFunc-java.util.List-org.apache.sysds.runtime.lineage.LineageItem:A-java.lang.String-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-long-">processFunc</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/sysds/parser/DataIdentifier.html" title="class in org.apache.sysds.parser">DataIdentifier</a>&gt;&nbsp;outputs,
+           <a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>[]&nbsp;liInputs,
+           <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+           <a href="../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
+           long&nbsp;computetime)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">LineageCache.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageCache.html#putValue-java.util.List-org.apache.sysds.runtime.lineage.LineageItem:A-java.lang.String-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-long-">putValue</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/sysds/parser/DataIdentifier.html" title="class in org.apache.sysds.parser">DataIdentifier</a>&gt;&nbsp;outputs,
         <a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>[]&nbsp;liInputs,
         <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
         <a href="../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
         long&nbsp;computetime)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">LineageCache.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageCache.html#reuse-java.util.List-java.util.List-int-org.apache.sysds.runtime.lineage.LineageItem:A-java.lang.String-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">reuse</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;outNames,
      <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/sysds/parser/DataIdentifier.html" title="class in org.apache.sysds.parser">DataIdentifier</a>&gt;&nbsp;outParams,
@@ -594,6 +602,12 @@
      <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
      <a href="../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><span class="typeNameLabel">LineageEstimator.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageEstimator.html#stopEstimator-java.util.List-org.apache.sysds.runtime.lineage.LineageItem:A-java.lang.String-">stopEstimator</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/sysds/parser/DataIdentifier.html" title="class in org.apache.sysds.parser">DataIdentifier</a>&gt;&nbsp;outputs,
+             <a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>[]&nbsp;liInputs,
+             <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>&nbsp;</td>
+</tr>
 </tbody>
 </table>
 </li>
@@ -648,6 +662,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/class-use/DoubleIdentifier.html b/docs/api/java/org/apache/sysds/parser/class-use/DoubleIdentifier.html
index 6078db0..8a09e87 100644
--- a/docs/api/java/org/apache/sysds/parser/class-use/DoubleIdentifier.html
+++ b/docs/api/java/org/apache/sysds/parser/class-use/DoubleIdentifier.html
@@ -172,6 +172,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/class-use/Expression.BinaryOp.html b/docs/api/java/org/apache/sysds/parser/class-use/Expression.BinaryOp.html
index 15de97a..9b45b9d 100644
--- a/docs/api/java/org/apache/sysds/parser/class-use/Expression.BinaryOp.html
+++ b/docs/api/java/org/apache/sysds/parser/class-use/Expression.BinaryOp.html
@@ -207,6 +207,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/class-use/Expression.BooleanOp.html b/docs/api/java/org/apache/sysds/parser/class-use/Expression.BooleanOp.html
index 9ba8dbf..ed144c3 100644
--- a/docs/api/java/org/apache/sysds/parser/class-use/Expression.BooleanOp.html
+++ b/docs/api/java/org/apache/sysds/parser/class-use/Expression.BooleanOp.html
@@ -194,6 +194,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/class-use/Expression.DataOp.html b/docs/api/java/org/apache/sysds/parser/class-use/Expression.DataOp.html
index 2d969c0..3e9e0df 100644
--- a/docs/api/java/org/apache/sysds/parser/class-use/Expression.DataOp.html
+++ b/docs/api/java/org/apache/sysds/parser/class-use/Expression.DataOp.html
@@ -216,6 +216,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/class-use/Expression.FunctCallOp.html b/docs/api/java/org/apache/sysds/parser/class-use/Expression.FunctCallOp.html
index c5a3da0..c35d389 100644
--- a/docs/api/java/org/apache/sysds/parser/class-use/Expression.FunctCallOp.html
+++ b/docs/api/java/org/apache/sysds/parser/class-use/Expression.FunctCallOp.html
@@ -173,6 +173,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/class-use/Expression.RelationalOp.html b/docs/api/java/org/apache/sysds/parser/class-use/Expression.RelationalOp.html
index a357744..9838f8d 100644
--- a/docs/api/java/org/apache/sysds/parser/class-use/Expression.RelationalOp.html
+++ b/docs/api/java/org/apache/sysds/parser/class-use/Expression.RelationalOp.html
@@ -194,6 +194,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/class-use/Expression.html b/docs/api/java/org/apache/sysds/parser/class-use/Expression.html
index ed53988..c989377 100644
--- a/docs/api/java/org/apache/sysds/parser/class-use/Expression.html
+++ b/docs/api/java/org/apache/sysds/parser/class-use/Expression.html
@@ -460,35 +460,40 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">DataExpression.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/parser/DataExpression.html#addFrameExprParam-java.lang.String-org.apache.sysds.parser.Expression-">addFrameExprParam</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;paramName,
+                 <a href="../../../../../org/apache/sysds/parser/Expression.html" title="class in org.apache.sysds.parser">Expression</a>&nbsp;paramValue)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">DataExpression.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/parser/DataExpression.html#addMatrixExprParam-java.lang.String-org.apache.sysds.parser.Expression-">addMatrixExprParam</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;paramName,
                   <a href="../../../../../org/apache/sysds/parser/Expression.html" title="class in org.apache.sysds.parser">Expression</a>&nbsp;paramValue)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">DataExpression.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/parser/DataExpression.html#addRandExprParam-java.lang.String-org.apache.sysds.parser.Expression-">addRandExprParam</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;paramName,
                 <a href="../../../../../org/apache/sysds/parser/Expression.html" title="class in org.apache.sysds.parser">Expression</a>&nbsp;paramValue)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">DataExpression.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/parser/DataExpression.html#addSqlExprParam-java.lang.String-org.apache.sysds.parser.Expression-">addSqlExprParam</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;paramName,
                <a href="../../../../../org/apache/sysds/parser/Expression.html" title="class in org.apache.sysds.parser">Expression</a>&nbsp;paramValue)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">DataExpression.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/parser/DataExpression.html#addTensorExprParam-java.lang.String-org.apache.sysds.parser.Expression-">addTensorExprParam</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;paramName,
                   <a href="../../../../../org/apache/sysds/parser/Expression.html" title="class in org.apache.sysds.parser">Expression</a>&nbsp;paramValue)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">ParameterizedBuiltinFunctionExpression.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/parser/ParameterizedBuiltinFunctionExpression.html#addVarParam-java.lang.String-org.apache.sysds.parser.Expression-">addVarParam</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
            <a href="../../../../../org/apache/sysds/parser/Expression.html" title="class in org.apache.sysds.parser">Expression</a>&nbsp;value)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">DataExpression.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/parser/DataExpression.html#addVarParam-java.lang.String-org.apache.sysds.parser.Expression-">addVarParam</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
            <a href="../../../../../org/apache/sysds/parser/Expression.html" title="class in org.apache.sysds.parser">Expression</a>&nbsp;value)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a></code></td>
 <td class="colLast"><span class="typeNameLabel">Expression.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/parser/Expression.html#computeDataType-org.apache.sysds.parser.Expression-org.apache.sysds.parser.Expression-boolean-">computeDataType</a></span>(<a href="../../../../../org/apache/sysds/parser/Expression.html" title="class in org.apache.sysds.parser">Expression</a>&nbsp;expression1,
                <a href="../../../../../org/apache/sysds/parser/Expression.html" title="class in org.apache.sysds.parser">Expression</a>&nbsp;expression2,
@@ -496,7 +501,7 @@
 <div class="block">Compute data type based on expressions.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a></code></td>
 <td class="colLast"><span class="typeNameLabel">Expression.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/parser/Expression.html#computeValueType-org.apache.sysds.parser.Expression-org.apache.sysds.parser.Expression-boolean-">computeValueType</a></span>(<a href="../../../../../org/apache/sysds/parser/Expression.html" title="class in org.apache.sysds.parser">Expression</a>&nbsp;expression1,
                 <a href="../../../../../org/apache/sysds/parser/Expression.html" title="class in org.apache.sysds.parser">Expression</a>&nbsp;expression2,
@@ -504,14 +509,14 @@
 <div class="block">Compute value type based on expressions.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a></code></td>
 <td class="colLast"><span class="typeNameLabel">Expression.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/parser/Expression.html#computeValueType-org.apache.sysds.parser.Expression-org.apache.sysds.common.Types.ValueType-org.apache.sysds.common.Types.ValueType-boolean-">computeValueType</a></span>(<a href="../../../../../org/apache/sysds/parser/Expression.html" title="class in org.apache.sysds.parser">Expression</a>&nbsp;expr1,
                 <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;v1,
                 <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;v2,
                 boolean&nbsp;cast)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/runtime/meta/MatrixCharacteristics.html" title="class in org.apache.sysds.runtime.meta">MatrixCharacteristics</a></code></td>
 <td class="colLast"><span class="typeNameLabel">Expression.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/parser/Expression.html#getBinaryMatrixCharacteristics-org.apache.sysds.parser.Expression-org.apache.sysds.parser.Expression-">getBinaryMatrixCharacteristics</a></span>(<a href="../../../../../org/apache/sysds/parser/Expression.html" title="class in org.apache.sysds.parser">Expression</a>&nbsp;expression1,
                               <a href="../../../../../org/apache/sysds/parser/Expression.html" title="class in org.apache.sysds.parser">Expression</a>&nbsp;expression2)</code>
@@ -519,74 +524,74 @@
  operations.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/parser/Expression.html" title="class in org.apache.sysds.parser">Expression</a></code></td>
 <td class="colLast"><span class="typeNameLabel">StatementBlock.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/parser/StatementBlock.html#rHoistFunctionCallsFromExpressions-org.apache.sysds.parser.Expression-boolean-java.util.ArrayList-org.apache.sysds.parser.DMLProgram-">rHoistFunctionCallsFromExpressions</a></span>(<a href="../../../../../org/apache/sysds/parser/Expression.html" title="class in org.apache.sysds.parser">Expression</a>&nbsp;expr,
                                   boolean&nbsp;root,
                                   <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/parser/Statement.html" title="class in org.apache.sysds.parser">Statement</a>&gt;&nbsp;tmp,
                                   <a href="../../../../../org/apache/sysds/parser/DMLProgram.html" title="class in org.apache.sysds.parser">DMLProgram</a>&nbsp;prog)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">IndexedIdentifier.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/parser/IndexedIdentifier.html#setColLowerBound-org.apache.sysds.parser.Expression-">setColLowerBound</a></span>(<a href="../../../../../org/apache/sysds/parser/Expression.html" title="class in org.apache.sysds.parser">Expression</a>&nbsp;passed)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">IndexedIdentifier.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/parser/IndexedIdentifier.html#setColUpperBound-org.apache.sysds.parser.Expression-">setColUpperBound</a></span>(<a href="../../../../../org/apache/sysds/parser/Expression.html" title="class in org.apache.sysds.parser">Expression</a>&nbsp;passed)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">ParameterExpression.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/parser/ParameterExpression.html#setExpr-org.apache.sysds.parser.Expression-">setExpr</a></span>(<a href="../../../../../org/apache/sysds/parser/Expression.html" title="class in org.apache.sysds.parser">Expression</a>&nbsp;expr)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">IterablePredicate.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/parser/IterablePredicate.html#setFromExpr-org.apache.sysds.parser.Expression-">setFromExpr</a></span>(<a href="../../../../../org/apache/sysds/parser/Expression.html" title="class in org.apache.sysds.parser">Expression</a>&nbsp;from)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">IterablePredicate.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/parser/IterablePredicate.html#setIncrementExpr-org.apache.sysds.parser.Expression-">setIncrementExpr</a></span>(<a href="../../../../../org/apache/sysds/parser/Expression.html" title="class in org.apache.sysds.parser">Expression</a>&nbsp;increment)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">BinaryExpression.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/parser/BinaryExpression.html#setLeft-org.apache.sysds.parser.Expression-">setLeft</a></span>(<a href="../../../../../org/apache/sysds/parser/Expression.html" title="class in org.apache.sysds.parser">Expression</a>&nbsp;l)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">RelationalExpression.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/parser/RelationalExpression.html#setLeft-org.apache.sysds.parser.Expression-">setLeft</a></span>(<a href="../../../../../org/apache/sysds/parser/Expression.html" title="class in org.apache.sysds.parser">Expression</a>&nbsp;l)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">BooleanExpression.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/parser/BooleanExpression.html#setLeft-org.apache.sysds.parser.Expression-">setLeft</a></span>(<a href="../../../../../org/apache/sysds/parser/Expression.html" title="class in org.apache.sysds.parser">Expression</a>&nbsp;l)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">ConditionalPredicate.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/parser/ConditionalPredicate.html#setPredicate-org.apache.sysds.parser.Expression-">setPredicate</a></span>(<a href="../../../../../org/apache/sysds/parser/Expression.html" title="class in org.apache.sysds.parser">Expression</a>&nbsp;expr)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">BinaryExpression.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/parser/BinaryExpression.html#setRight-org.apache.sysds.parser.Expression-">setRight</a></span>(<a href="../../../../../org/apache/sysds/parser/Expression.html" title="class in org.apache.sysds.parser">Expression</a>&nbsp;r)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">RelationalExpression.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/parser/RelationalExpression.html#setRight-org.apache.sysds.parser.Expression-">setRight</a></span>(<a href="../../../../../org/apache/sysds/parser/Expression.html" title="class in org.apache.sysds.parser">Expression</a>&nbsp;r)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">BooleanExpression.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/parser/BooleanExpression.html#setRight-org.apache.sysds.parser.Expression-">setRight</a></span>(<a href="../../../../../org/apache/sysds/parser/Expression.html" title="class in org.apache.sysds.parser">Expression</a>&nbsp;r)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">IndexedIdentifier.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/parser/IndexedIdentifier.html#setRowLowerBound-org.apache.sysds.parser.Expression-">setRowLowerBound</a></span>(<a href="../../../../../org/apache/sysds/parser/Expression.html" title="class in org.apache.sysds.parser">Expression</a>&nbsp;passed)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">IndexedIdentifier.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/parser/IndexedIdentifier.html#setRowUpperBound-org.apache.sysds.parser.Expression-">setRowUpperBound</a></span>(<a href="../../../../../org/apache/sysds/parser/Expression.html" title="class in org.apache.sysds.parser">Expression</a>&nbsp;passed)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">AssignmentStatement.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/parser/AssignmentStatement.html#setSource-org.apache.sysds.parser.Expression-">setSource</a></span>(<a href="../../../../../org/apache/sysds/parser/Expression.html" title="class in org.apache.sysds.parser">Expression</a>&nbsp;s)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">IterablePredicate.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/parser/IterablePredicate.html#setToExpr-org.apache.sysds.parser.Expression-">setToExpr</a></span>(<a href="../../../../../org/apache/sysds/parser/Expression.html" title="class in org.apache.sysds.parser">Expression</a>&nbsp;to)</code>&nbsp;</td>
 </tr>
@@ -843,6 +848,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/class-use/ExpressionList.html b/docs/api/java/org/apache/sysds/parser/class-use/ExpressionList.html
index 29a7a8d..4b16410 100644
--- a/docs/api/java/org/apache/sysds/parser/class-use/ExpressionList.html
+++ b/docs/api/java/org/apache/sysds/parser/class-use/ExpressionList.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/class-use/ForStatement.html b/docs/api/java/org/apache/sysds/parser/class-use/ForStatement.html
index 286d8bd..439bce4 100644
--- a/docs/api/java/org/apache/sysds/parser/class-use/ForStatement.html
+++ b/docs/api/java/org/apache/sysds/parser/class-use/ForStatement.html
@@ -163,6 +163,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/class-use/ForStatementBlock.html b/docs/api/java/org/apache/sysds/parser/class-use/ForStatementBlock.html
index f272076..5e7d451 100644
--- a/docs/api/java/org/apache/sysds/parser/class-use/ForStatementBlock.html
+++ b/docs/api/java/org/apache/sysds/parser/class-use/ForStatementBlock.html
@@ -222,6 +222,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/class-use/FunctionCallIdentifier.html b/docs/api/java/org/apache/sysds/parser/class-use/FunctionCallIdentifier.html
index dd12566..4464890 100644
--- a/docs/api/java/org/apache/sysds/parser/class-use/FunctionCallIdentifier.html
+++ b/docs/api/java/org/apache/sysds/parser/class-use/FunctionCallIdentifier.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/class-use/FunctionDictionary.html b/docs/api/java/org/apache/sysds/parser/class-use/FunctionDictionary.html
index bfa2b09..ed647f1 100644
--- a/docs/api/java/org/apache/sysds/parser/class-use/FunctionDictionary.html
+++ b/docs/api/java/org/apache/sysds/parser/class-use/FunctionDictionary.html
@@ -108,8 +108,20 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/parser/FunctionDictionary.html" title="class in org.apache.sysds.parser">FunctionDictionary</a>&lt;<a href="../../../../../org/apache/sysds/parser/FunctionStatementBlock.html" title="class in org.apache.sysds.parser">FunctionStatementBlock</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">DMLProgram.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/parser/DMLProgram.html#createNamespace-java.lang.String-">createNamespace</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/sysds/parser/FunctionDictionary.html" title="class in org.apache.sysds.parser">FunctionDictionary</a>&lt;<a href="../../../../../org/apache/sysds/parser/FunctionStatementBlock.html" title="class in org.apache.sysds.parser">FunctionStatementBlock</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">DMLProgram.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/parser/DMLProgram.html#getBuiltinFunctionDictionary--">getBuiltinFunctionDictionary</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/sysds/parser/FunctionDictionary.html" title="class in org.apache.sysds.parser">FunctionDictionary</a>&lt;<a href="../../../../../org/apache/sysds/parser/FunctionStatementBlock.html" title="class in org.apache.sysds.parser">FunctionStatementBlock</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">DMLProgram.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/parser/DMLProgram.html#getDefaultFunctionDictionary--">getDefaultFunctionDictionary</a></span>()</code>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/sysds/parser/FunctionDictionary.html" title="class in org.apache.sysds.parser">FunctionDictionary</a>&lt;<a href="../../../../../org/apache/sysds/parser/FunctionStatementBlock.html" title="class in org.apache.sysds.parser">FunctionStatementBlock</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">DMLProgram.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/parser/DMLProgram.html#getFunctionDictionary-java.lang.String-">getFunctionDictionary</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace)</code>&nbsp;</td>
+</tr>
 </tbody>
 </table>
 <table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
@@ -143,6 +155,19 @@
 </tr>
 </tbody>
 </table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/sysds/parser/dml/package-summary.html">org.apache.sysds.parser.dml</a> that return <a href="../../../../../org/apache/sysds/parser/FunctionDictionary.html" title="class in org.apache.sysds.parser">FunctionDictionary</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/sysds/parser/FunctionDictionary.html" title="class in org.apache.sysds.parser">FunctionDictionary</a>&lt;<a href="../../../../../org/apache/sysds/parser/FunctionStatementBlock.html" title="class in org.apache.sysds.parser">FunctionStatementBlock</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">DmlSyntacticValidator.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/parser/dml/DmlSyntacticValidator.html#getParsedBuiltinFunctions--">getParsedBuiltinFunctions</a></span>()</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
 </li>
 </ul>
 </li>
@@ -195,6 +220,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/class-use/FunctionStatement.html b/docs/api/java/org/apache/sysds/parser/class-use/FunctionStatement.html
index 6b0916d..d4390a1 100644
--- a/docs/api/java/org/apache/sysds/parser/class-use/FunctionStatement.html
+++ b/docs/api/java/org/apache/sysds/parser/class-use/FunctionStatement.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/class-use/FunctionStatementBlock.html b/docs/api/java/org/apache/sysds/parser/class-use/FunctionStatementBlock.html
index c2c73a5..771ec18 100644
--- a/docs/api/java/org/apache/sysds/parser/class-use/FunctionStatementBlock.html
+++ b/docs/api/java/org/apache/sysds/parser/class-use/FunctionStatementBlock.html
@@ -159,21 +159,33 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/parser/FunctionDictionary.html" title="class in org.apache.sysds.parser">FunctionDictionary</a>&lt;<a href="../../../../../org/apache/sysds/parser/FunctionStatementBlock.html" title="class in org.apache.sysds.parser">FunctionStatementBlock</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">DMLProgram.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/parser/DMLProgram.html#createNamespace-java.lang.String-">createNamespace</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/sysds/parser/FunctionDictionary.html" title="class in org.apache.sysds.parser">FunctionDictionary</a>&lt;<a href="../../../../../org/apache/sysds/parser/FunctionStatementBlock.html" title="class in org.apache.sysds.parser">FunctionStatementBlock</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">DMLProgram.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/parser/DMLProgram.html#getBuiltinFunctionDictionary--">getBuiltinFunctionDictionary</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/sysds/parser/FunctionDictionary.html" title="class in org.apache.sysds.parser">FunctionDictionary</a>&lt;<a href="../../../../../org/apache/sysds/parser/FunctionStatementBlock.html" title="class in org.apache.sysds.parser">FunctionStatementBlock</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">DMLProgram.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/parser/DMLProgram.html#getDefaultFunctionDictionary--">getDefaultFunctionDictionary</a></span>()</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/sysds/parser/FunctionDictionary.html" title="class in org.apache.sysds.parser">FunctionDictionary</a>&lt;<a href="../../../../../org/apache/sysds/parser/FunctionStatementBlock.html" title="class in org.apache.sysds.parser">FunctionStatementBlock</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">DMLProgram.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/parser/DMLProgram.html#getFunctionDictionary-java.lang.String-">getFunctionDictionary</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/sysds/parser/FunctionStatementBlock.html" title="class in org.apache.sysds.parser">FunctionStatementBlock</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">DMLProgram.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/parser/DMLProgram.html#getFunctionStatementBlocks--">getFunctionStatementBlocks</a></span>()</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../org/apache/sysds/parser/FunctionStatementBlock.html" title="class in org.apache.sysds.parser">FunctionStatementBlock</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">DMLProgram.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/parser/DMLProgram.html#getFunctionStatementBlocks-java.lang.String-">getFunctionStatementBlocks</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespaceKey)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../org/apache/sysds/parser/FunctionStatementBlock.html" title="class in org.apache.sysds.parser">FunctionStatementBlock</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">DMLProgram.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/parser/DMLProgram.html#getNamedNSFunctionStatementBlocks--">getNamedNSFunctionStatementBlocks</a></span>()</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../org/apache/sysds/parser/FunctionDictionary.html" title="class in org.apache.sysds.parser">FunctionDictionary</a>&lt;<a href="../../../../../org/apache/sysds/parser/FunctionStatementBlock.html" title="class in org.apache.sysds.parser">FunctionStatementBlock</a>&gt;&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">DMLProgram.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/parser/DMLProgram.html#getNamespaces--">getNamespaces</a></span>()</code>&nbsp;</td>
 </tr>
@@ -239,6 +251,10 @@
 </tr>
 <tbody>
 <tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/sysds/parser/FunctionDictionary.html" title="class in org.apache.sysds.parser">FunctionDictionary</a>&lt;<a href="../../../../../org/apache/sysds/parser/FunctionStatementBlock.html" title="class in org.apache.sysds.parser">FunctionStatementBlock</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">DmlSyntacticValidator.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/parser/dml/DmlSyntacticValidator.html#getParsedBuiltinFunctions--">getParsedBuiltinFunctions</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../org/apache/sysds/parser/FunctionStatementBlock.html" title="class in org.apache.sysds.parser">FunctionStatementBlock</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">DmlSyntacticValidator.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/parser/dml/DmlSyntacticValidator.html#loadAndParseBuiltinFunction-java.lang.String-java.lang.String-">loadAndParseBuiltinFunction</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
                            <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace)</code>&nbsp;</td>
@@ -332,6 +348,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/class-use/Identifier.html b/docs/api/java/org/apache/sysds/parser/class-use/Identifier.html
index 72144a2..e516ab2 100644
--- a/docs/api/java/org/apache/sysds/parser/class-use/Identifier.html
+++ b/docs/api/java/org/apache/sysds/parser/class-use/Identifier.html
@@ -267,6 +267,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/class-use/IfStatement.html b/docs/api/java/org/apache/sysds/parser/class-use/IfStatement.html
index 63fc06c..484c9c6 100644
--- a/docs/api/java/org/apache/sysds/parser/class-use/IfStatement.html
+++ b/docs/api/java/org/apache/sysds/parser/class-use/IfStatement.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/class-use/IfStatementBlock.html b/docs/api/java/org/apache/sysds/parser/class-use/IfStatementBlock.html
index a6b7f13..e12f213 100644
--- a/docs/api/java/org/apache/sysds/parser/class-use/IfStatementBlock.html
+++ b/docs/api/java/org/apache/sysds/parser/class-use/IfStatementBlock.html
@@ -197,6 +197,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/class-use/ImportStatement.html b/docs/api/java/org/apache/sysds/parser/class-use/ImportStatement.html
index 046200c..139459c 100644
--- a/docs/api/java/org/apache/sysds/parser/class-use/ImportStatement.html
+++ b/docs/api/java/org/apache/sysds/parser/class-use/ImportStatement.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/class-use/IndexedIdentifier.html b/docs/api/java/org/apache/sysds/parser/class-use/IndexedIdentifier.html
index 56e94ab..a65495d 100644
--- a/docs/api/java/org/apache/sysds/parser/class-use/IndexedIdentifier.html
+++ b/docs/api/java/org/apache/sysds/parser/class-use/IndexedIdentifier.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/class-use/IntIdentifier.html b/docs/api/java/org/apache/sysds/parser/class-use/IntIdentifier.html
index 6e14aff..18ec2b7 100644
--- a/docs/api/java/org/apache/sysds/parser/class-use/IntIdentifier.html
+++ b/docs/api/java/org/apache/sysds/parser/class-use/IntIdentifier.html
@@ -159,6 +159,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/class-use/IterablePredicate.html b/docs/api/java/org/apache/sysds/parser/class-use/IterablePredicate.html
index 0344e29..5b2e375 100644
--- a/docs/api/java/org/apache/sysds/parser/class-use/IterablePredicate.html
+++ b/docs/api/java/org/apache/sysds/parser/class-use/IterablePredicate.html
@@ -177,6 +177,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/class-use/LanguageException.LanguageErrorCodes.html b/docs/api/java/org/apache/sysds/parser/class-use/LanguageException.LanguageErrorCodes.html
index 1d89f35..84469d0 100644
--- a/docs/api/java/org/apache/sysds/parser/class-use/LanguageException.LanguageErrorCodes.html
+++ b/docs/api/java/org/apache/sysds/parser/class-use/LanguageException.LanguageErrorCodes.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/class-use/LanguageException.html b/docs/api/java/org/apache/sysds/parser/class-use/LanguageException.html
index 01bd461..8f17429 100644
--- a/docs/api/java/org/apache/sysds/parser/class-use/LanguageException.html
+++ b/docs/api/java/org/apache/sysds/parser/class-use/LanguageException.html
@@ -166,6 +166,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/class-use/LiveVariableAnalysis.html b/docs/api/java/org/apache/sysds/parser/class-use/LiveVariableAnalysis.html
index 8fc23a6..affb452 100644
--- a/docs/api/java/org/apache/sysds/parser/class-use/LiveVariableAnalysis.html
+++ b/docs/api/java/org/apache/sysds/parser/class-use/LiveVariableAnalysis.html
@@ -183,6 +183,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/class-use/MultiAssignmentStatement.html b/docs/api/java/org/apache/sysds/parser/class-use/MultiAssignmentStatement.html
index 3e026de..b44e777 100644
--- a/docs/api/java/org/apache/sysds/parser/class-use/MultiAssignmentStatement.html
+++ b/docs/api/java/org/apache/sysds/parser/class-use/MultiAssignmentStatement.html
@@ -177,6 +177,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/class-use/OutputStatement.html b/docs/api/java/org/apache/sysds/parser/class-use/OutputStatement.html
index 26b0e31..def2c08 100644
--- a/docs/api/java/org/apache/sysds/parser/class-use/OutputStatement.html
+++ b/docs/api/java/org/apache/sysds/parser/class-use/OutputStatement.html
@@ -161,6 +161,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/class-use/ParForStatement.html b/docs/api/java/org/apache/sysds/parser/class-use/ParForStatement.html
index 10b0eff..3214159 100644
--- a/docs/api/java/org/apache/sysds/parser/class-use/ParForStatement.html
+++ b/docs/api/java/org/apache/sysds/parser/class-use/ParForStatement.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/class-use/ParForStatementBlock.ResultVar.html b/docs/api/java/org/apache/sysds/parser/class-use/ParForStatementBlock.ResultVar.html
index 79cd727..fd14ceb 100644
--- a/docs/api/java/org/apache/sysds/parser/class-use/ParForStatementBlock.ResultVar.html
+++ b/docs/api/java/org/apache/sysds/parser/class-use/ParForStatementBlock.ResultVar.html
@@ -236,12 +236,13 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/runtime/controlprogram/parfor/RemoteParForJobReturn.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">RemoteParForJobReturn</a></code></td>
-<td class="colLast"><span class="typeNameLabel">RemoteParForSpark.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/controlprogram/parfor/RemoteParForSpark.html#runJob-long-java.lang.String-java.util.HashMap-java.util.List-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-java.util.ArrayList-boolean-int-boolean-">runJob</a></span>(long&nbsp;pfid,
+<td class="colLast"><span class="typeNameLabel">RemoteParForSpark.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/controlprogram/parfor/RemoteParForSpark.html#runJob-long-java.lang.String-java.util.HashMap-java.util.List-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-java.util.Set-java.util.List-boolean-int-boolean-">runJob</a></span>(long&nbsp;pfid,
       <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;prog,
       <a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,byte[]&gt;&nbsp;clsMap,
       <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/sysds/runtime/controlprogram/parfor/Task.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">Task</a>&gt;&nbsp;tasks,
       <a href="../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
-      <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/parser/ParForStatementBlock.ResultVar.html" title="class in org.apache.sysds.parser">ParForStatementBlock.ResultVar</a>&gt;&nbsp;resultVars,
+      <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;brVars,
+      <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/sysds/parser/ParForStatementBlock.ResultVar.html" title="class in org.apache.sysds.parser">ParForStatementBlock.ResultVar</a>&gt;&nbsp;resultVars,
       boolean&nbsp;cpCaching,
       int&nbsp;numMappers,
       boolean&nbsp;topLevelPF)</code>&nbsp;</td>
@@ -335,6 +336,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/class-use/ParForStatementBlock.html b/docs/api/java/org/apache/sysds/parser/class-use/ParForStatementBlock.html
index a90d655..4f8e4f4 100644
--- a/docs/api/java/org/apache/sysds/parser/class-use/ParForStatementBlock.html
+++ b/docs/api/java/org/apache/sysds/parser/class-use/ParForStatementBlock.html
@@ -215,6 +215,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/class-use/ParameterExpression.html b/docs/api/java/org/apache/sysds/parser/class-use/ParameterExpression.html
index 6406e38..d8111e2 100644
--- a/docs/api/java/org/apache/sysds/parser/class-use/ParameterExpression.html
+++ b/docs/api/java/org/apache/sysds/parser/class-use/ParameterExpression.html
@@ -267,6 +267,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/class-use/ParameterizedBuiltinFunctionExpression.html b/docs/api/java/org/apache/sysds/parser/class-use/ParameterizedBuiltinFunctionExpression.html
index 9e2a9a1..65a0cd9 100644
--- a/docs/api/java/org/apache/sysds/parser/class-use/ParameterizedBuiltinFunctionExpression.html
+++ b/docs/api/java/org/apache/sysds/parser/class-use/ParameterizedBuiltinFunctionExpression.html
@@ -163,6 +163,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/class-use/ParseException.html b/docs/api/java/org/apache/sysds/parser/class-use/ParseException.html
index 6bfe2f6..2cbe99c 100644
--- a/docs/api/java/org/apache/sysds/parser/class-use/ParseException.html
+++ b/docs/api/java/org/apache/sysds/parser/class-use/ParseException.html
@@ -172,6 +172,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/class-use/ParseInfo.html b/docs/api/java/org/apache/sysds/parser/class-use/ParseInfo.html
index e966a2d..afb592c 100644
--- a/docs/api/java/org/apache/sysds/parser/class-use/ParseInfo.html
+++ b/docs/api/java/org/apache/sysds/parser/class-use/ParseInfo.html
@@ -676,6 +676,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/class-use/ParserFactory.html b/docs/api/java/org/apache/sysds/parser/class-use/ParserFactory.html
index ba81cab..be822b7 100644
--- a/docs/api/java/org/apache/sysds/parser/class-use/ParserFactory.html
+++ b/docs/api/java/org/apache/sysds/parser/class-use/ParserFactory.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/class-use/ParserWrapper.html b/docs/api/java/org/apache/sysds/parser/class-use/ParserWrapper.html
index 8647cb9..1db3c1c 100644
--- a/docs/api/java/org/apache/sysds/parser/class-use/ParserWrapper.html
+++ b/docs/api/java/org/apache/sysds/parser/class-use/ParserWrapper.html
@@ -190,6 +190,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/class-use/PathStatement.html b/docs/api/java/org/apache/sysds/parser/class-use/PathStatement.html
index ac7ce82..8db20eb 100644
--- a/docs/api/java/org/apache/sysds/parser/class-use/PathStatement.html
+++ b/docs/api/java/org/apache/sysds/parser/class-use/PathStatement.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/class-use/PrintStatement.PRINTTYPE.html b/docs/api/java/org/apache/sysds/parser/class-use/PrintStatement.PRINTTYPE.html
index df4d97c..ef3f93a 100644
--- a/docs/api/java/org/apache/sysds/parser/class-use/PrintStatement.PRINTTYPE.html
+++ b/docs/api/java/org/apache/sysds/parser/class-use/PrintStatement.PRINTTYPE.html
@@ -185,6 +185,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/class-use/PrintStatement.html b/docs/api/java/org/apache/sysds/parser/class-use/PrintStatement.html
index 404f765..fc355af 100644
--- a/docs/api/java/org/apache/sysds/parser/class-use/PrintStatement.html
+++ b/docs/api/java/org/apache/sysds/parser/class-use/PrintStatement.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/class-use/RelationalExpression.html b/docs/api/java/org/apache/sysds/parser/class-use/RelationalExpression.html
index b632b8e..92c5bb4 100644
--- a/docs/api/java/org/apache/sysds/parser/class-use/RelationalExpression.html
+++ b/docs/api/java/org/apache/sysds/parser/class-use/RelationalExpression.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/class-use/Statement.FederatedPSScheme.html b/docs/api/java/org/apache/sysds/parser/class-use/Statement.FederatedPSScheme.html
new file mode 100644
index 0000000..4d353c3
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/parser/class-use/Statement.FederatedPSScheme.html
@@ -0,0 +1,195 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.sysds.parser.Statement.FederatedPSScheme (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.sysds.parser.Statement.FederatedPSScheme (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/sysds/parser/Statement.FederatedPSScheme.html" title="enum in org.apache.sysds.parser">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/sysds/parser/class-use/Statement.FederatedPSScheme.html" target="_top">Frames</a></li>
+<li><a href="Statement.FederatedPSScheme.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.sysds.parser.Statement.FederatedPSScheme" class="title">Uses of Class<br>org.apache.sysds.parser.Statement.FederatedPSScheme</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../org/apache/sysds/parser/Statement.FederatedPSScheme.html" title="enum in org.apache.sysds.parser">Statement.FederatedPSScheme</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.parser">org.apache.sysds.parser</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.controlprogram.paramserv.dp">org.apache.sysds.runtime.controlprogram.paramserv.dp</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.sysds.parser">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/sysds/parser/Statement.FederatedPSScheme.html" title="enum in org.apache.sysds.parser">Statement.FederatedPSScheme</a> in <a href="../../../../../org/apache/sysds/parser/package-summary.html">org.apache.sysds.parser</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/sysds/parser/package-summary.html">org.apache.sysds.parser</a> that return <a href="../../../../../org/apache/sysds/parser/Statement.FederatedPSScheme.html" title="enum in org.apache.sysds.parser">Statement.FederatedPSScheme</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/parser/Statement.FederatedPSScheme.html" title="enum in org.apache.sysds.parser">Statement.FederatedPSScheme</a></code></td>
+<td class="colLast"><span class="typeNameLabel">Statement.FederatedPSScheme.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/parser/Statement.FederatedPSScheme.html#valueOf-java.lang.String-">valueOf</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
+<div class="block">Returns the enum constant of this type with the specified name.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/parser/Statement.FederatedPSScheme.html" title="enum in org.apache.sysds.parser">Statement.FederatedPSScheme</a>[]</code></td>
+<td class="colLast"><span class="typeNameLabel">Statement.FederatedPSScheme.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/parser/Statement.FederatedPSScheme.html#values--">values</a></span>()</code>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.sysds.runtime.controlprogram.paramserv.dp">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/sysds/parser/Statement.FederatedPSScheme.html" title="enum in org.apache.sysds.parser">Statement.FederatedPSScheme</a> in <a href="../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/package-summary.html">org.apache.sysds.runtime.controlprogram.paramserv.dp</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/package-summary.html">org.apache.sysds.runtime.controlprogram.paramserv.dp</a> with parameters of type <a href="../../../../../org/apache/sysds/parser/Statement.FederatedPSScheme.html" title="enum in org.apache.sysds.parser">Statement.FederatedPSScheme</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/FederatedDataPartitioner.html#FederatedDataPartitioner-org.apache.sysds.parser.Statement.FederatedPSScheme-int-">FederatedDataPartitioner</a></span>(<a href="../../../../../org/apache/sysds/parser/Statement.FederatedPSScheme.html" title="enum in org.apache.sysds.parser">Statement.FederatedPSScheme</a>&nbsp;scheme,
+                        int&nbsp;seed)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/sysds/parser/Statement.FederatedPSScheme.html" title="enum in org.apache.sysds.parser">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/sysds/parser/class-use/Statement.FederatedPSScheme.html" target="_top">Frames</a></li>
+<li><a href="Statement.FederatedPSScheme.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/parser/class-use/Statement.PSCheckpointing.html b/docs/api/java/org/apache/sysds/parser/class-use/Statement.PSCheckpointing.html
index 50fadd2..3405646 100644
--- a/docs/api/java/org/apache/sysds/parser/class-use/Statement.PSCheckpointing.html
+++ b/docs/api/java/org/apache/sysds/parser/class-use/Statement.PSCheckpointing.html
@@ -169,6 +169,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/class-use/Statement.PSFrequency.html b/docs/api/java/org/apache/sysds/parser/class-use/Statement.PSFrequency.html
index 71c9848..3c13f45 100644
--- a/docs/api/java/org/apache/sysds/parser/class-use/Statement.PSFrequency.html
+++ b/docs/api/java/org/apache/sysds/parser/class-use/Statement.PSFrequency.html
@@ -126,6 +126,28 @@
 <!--   -->
 </a>
 <h3>Uses of <a href="../../../../../org/apache/sysds/parser/Statement.PSFrequency.html" title="enum in org.apache.sysds.parser">Statement.PSFrequency</a> in <a href="../../../../../org/apache/sysds/runtime/controlprogram/paramserv/package-summary.html">org.apache.sysds.runtime.controlprogram.paramserv</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/sysds/runtime/controlprogram/paramserv/package-summary.html">org.apache.sysds.runtime.controlprogram.paramserv</a> with parameters of type <a href="../../../../../org/apache/sysds/parser/Statement.PSFrequency.html" title="enum in org.apache.sysds.parser">Statement.PSFrequency</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/runtime/controlprogram/paramserv/LocalParamServer.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv">LocalParamServer</a></code></td>
+<td class="colLast"><span class="typeNameLabel">LocalParamServer.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/controlprogram/paramserv/LocalParamServer.html#create-org.apache.sysds.runtime.instructions.cp.ListObject-java.lang.String-org.apache.sysds.parser.Statement.PSUpdateType-org.apache.sysds.parser.Statement.PSFrequency-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-int-java.lang.String-int-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-">create</a></span>(<a href="../../../../../org/apache/sysds/runtime/instructions/cp/ListObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ListObject</a>&nbsp;model,
+      <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;aggFunc,
+      <a href="../../../../../org/apache/sysds/parser/Statement.PSUpdateType.html" title="enum in org.apache.sysds.parser">Statement.PSUpdateType</a>&nbsp;updateType,
+      <a href="../../../../../org/apache/sysds/parser/Statement.PSFrequency.html" title="enum in org.apache.sysds.parser">Statement.PSFrequency</a>&nbsp;freq,
+      <a href="../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
+      int&nbsp;workerNum,
+      <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;valFunc,
+      int&nbsp;numBatchesPerEpoch,
+      <a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;valFeatures,
+      <a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;valLabels)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
 <table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
 <caption><span>Constructors in <a href="../../../../../org/apache/sysds/runtime/controlprogram/paramserv/package-summary.html">org.apache.sysds.runtime.controlprogram.paramserv</a> with parameters of type <a href="../../../../../org/apache/sysds/parser/Statement.PSFrequency.html" title="enum in org.apache.sysds.parser">Statement.PSFrequency</a></span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
@@ -133,6 +155,18 @@
 </tr>
 <tbody>
 <tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/controlprogram/paramserv/FederatedPSControlThread.html#FederatedPSControlThread-int-java.lang.String-org.apache.sysds.parser.Statement.PSFrequency-org.apache.sysds.parser.Statement.PSRuntimeBalancing-boolean-int-long-int-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.runtime.controlprogram.paramserv.ParamServer-">FederatedPSControlThread</a></span>(int&nbsp;workerID,
+                        <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;updFunc,
+                        <a href="../../../../../org/apache/sysds/parser/Statement.PSFrequency.html" title="enum in org.apache.sysds.parser">Statement.PSFrequency</a>&nbsp;freq,
+                        <a href="../../../../../org/apache/sysds/parser/Statement.PSRuntimeBalancing.html" title="enum in org.apache.sysds.parser">Statement.PSRuntimeBalancing</a>&nbsp;runtimeBalancing,
+                        boolean&nbsp;weighting,
+                        int&nbsp;epochs,
+                        long&nbsp;batchSize,
+                        int&nbsp;numBatchesPerGlobalEpoch,
+                        <a href="../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
+                        <a href="../../../../../org/apache/sysds/runtime/controlprogram/paramserv/ParamServer.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv">ParamServer</a>&nbsp;ps)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/controlprogram/paramserv/LocalPSWorker.html#LocalPSWorker-int-java.lang.String-org.apache.sysds.parser.Statement.PSFrequency-int-long-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.runtime.controlprogram.paramserv.ParamServer-">LocalPSWorker</a></span>(int&nbsp;workerID,
              <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;updFunc,
              <a href="../../../../../org/apache/sysds/parser/Statement.PSFrequency.html" title="enum in org.apache.sysds.parser">Statement.PSFrequency</a>&nbsp;freq,
@@ -141,7 +175,7 @@
              <a href="../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
              <a href="../../../../../org/apache/sysds/runtime/controlprogram/paramserv/ParamServer.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv">ParamServer</a>&nbsp;ps)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/controlprogram/paramserv/SparkPSWorker.html#SparkPSWorker-java.lang.String-java.lang.String-org.apache.sysds.parser.Statement.PSFrequency-int-long-java.lang.String-java.util.HashMap-org.apache.spark.SparkConf-int-org.apache.spark.util.LongAccumulator-org.apache.spark.util.LongAccumulator-org.apache.spark.util.LongAccumulator-org.apache.spark.util.LongAccumulator-org.apache.spark.util.LongAccumulator-org.apache.spark.util.LongAccumulator-org.apache.spark.util.LongAccumulator-org.apache.spark.util.LongAccumulator-">SparkPSWorker</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;updFunc,
              <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;aggFunc,
              <a href="../../../../../org/apache/sysds/parser/Statement.PSFrequency.html" title="enum in org.apache.sysds.parser">Statement.PSFrequency</a>&nbsp;freq,
@@ -214,6 +248,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/class-use/Statement.PSModeType.html b/docs/api/java/org/apache/sysds/parser/class-use/Statement.PSModeType.html
index 72aa0b2..9851b78 100644
--- a/docs/api/java/org/apache/sysds/parser/class-use/Statement.PSModeType.html
+++ b/docs/api/java/org/apache/sysds/parser/class-use/Statement.PSModeType.html
@@ -169,6 +169,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/class-use/Statement.PSRuntimeBalancing.html b/docs/api/java/org/apache/sysds/parser/class-use/Statement.PSRuntimeBalancing.html
new file mode 100644
index 0000000..28ab0c6
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/parser/class-use/Statement.PSRuntimeBalancing.html
@@ -0,0 +1,203 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.sysds.parser.Statement.PSRuntimeBalancing (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.sysds.parser.Statement.PSRuntimeBalancing (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/sysds/parser/Statement.PSRuntimeBalancing.html" title="enum in org.apache.sysds.parser">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/sysds/parser/class-use/Statement.PSRuntimeBalancing.html" target="_top">Frames</a></li>
+<li><a href="Statement.PSRuntimeBalancing.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.sysds.parser.Statement.PSRuntimeBalancing" class="title">Uses of Class<br>org.apache.sysds.parser.Statement.PSRuntimeBalancing</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../org/apache/sysds/parser/Statement.PSRuntimeBalancing.html" title="enum in org.apache.sysds.parser">Statement.PSRuntimeBalancing</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.parser">org.apache.sysds.parser</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.controlprogram.paramserv">org.apache.sysds.runtime.controlprogram.paramserv</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.sysds.parser">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/sysds/parser/Statement.PSRuntimeBalancing.html" title="enum in org.apache.sysds.parser">Statement.PSRuntimeBalancing</a> in <a href="../../../../../org/apache/sysds/parser/package-summary.html">org.apache.sysds.parser</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/sysds/parser/package-summary.html">org.apache.sysds.parser</a> that return <a href="../../../../../org/apache/sysds/parser/Statement.PSRuntimeBalancing.html" title="enum in org.apache.sysds.parser">Statement.PSRuntimeBalancing</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/parser/Statement.PSRuntimeBalancing.html" title="enum in org.apache.sysds.parser">Statement.PSRuntimeBalancing</a></code></td>
+<td class="colLast"><span class="typeNameLabel">Statement.PSRuntimeBalancing.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/parser/Statement.PSRuntimeBalancing.html#valueOf-java.lang.String-">valueOf</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
+<div class="block">Returns the enum constant of this type with the specified name.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/parser/Statement.PSRuntimeBalancing.html" title="enum in org.apache.sysds.parser">Statement.PSRuntimeBalancing</a>[]</code></td>
+<td class="colLast"><span class="typeNameLabel">Statement.PSRuntimeBalancing.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/parser/Statement.PSRuntimeBalancing.html#values--">values</a></span>()</code>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.sysds.runtime.controlprogram.paramserv">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/sysds/parser/Statement.PSRuntimeBalancing.html" title="enum in org.apache.sysds.parser">Statement.PSRuntimeBalancing</a> in <a href="../../../../../org/apache/sysds/runtime/controlprogram/paramserv/package-summary.html">org.apache.sysds.runtime.controlprogram.paramserv</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../org/apache/sysds/runtime/controlprogram/paramserv/package-summary.html">org.apache.sysds.runtime.controlprogram.paramserv</a> with parameters of type <a href="../../../../../org/apache/sysds/parser/Statement.PSRuntimeBalancing.html" title="enum in org.apache.sysds.parser">Statement.PSRuntimeBalancing</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/controlprogram/paramserv/FederatedPSControlThread.html#FederatedPSControlThread-int-java.lang.String-org.apache.sysds.parser.Statement.PSFrequency-org.apache.sysds.parser.Statement.PSRuntimeBalancing-boolean-int-long-int-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.runtime.controlprogram.paramserv.ParamServer-">FederatedPSControlThread</a></span>(int&nbsp;workerID,
+                        <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;updFunc,
+                        <a href="../../../../../org/apache/sysds/parser/Statement.PSFrequency.html" title="enum in org.apache.sysds.parser">Statement.PSFrequency</a>&nbsp;freq,
+                        <a href="../../../../../org/apache/sysds/parser/Statement.PSRuntimeBalancing.html" title="enum in org.apache.sysds.parser">Statement.PSRuntimeBalancing</a>&nbsp;runtimeBalancing,
+                        boolean&nbsp;weighting,
+                        int&nbsp;epochs,
+                        long&nbsp;batchSize,
+                        int&nbsp;numBatchesPerGlobalEpoch,
+                        <a href="../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
+                        <a href="../../../../../org/apache/sysds/runtime/controlprogram/paramserv/ParamServer.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv">ParamServer</a>&nbsp;ps)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/sysds/parser/Statement.PSRuntimeBalancing.html" title="enum in org.apache.sysds.parser">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/sysds/parser/class-use/Statement.PSRuntimeBalancing.html" target="_top">Frames</a></li>
+<li><a href="Statement.PSRuntimeBalancing.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/parser/class-use/Statement.PSScheme.html b/docs/api/java/org/apache/sysds/parser/class-use/Statement.PSScheme.html
index ed2eabd..0bfc035 100644
--- a/docs/api/java/org/apache/sysds/parser/class-use/Statement.PSScheme.html
+++ b/docs/api/java/org/apache/sysds/parser/class-use/Statement.PSScheme.html
@@ -221,6 +221,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/class-use/Statement.PSUpdateType.html b/docs/api/java/org/apache/sysds/parser/class-use/Statement.PSUpdateType.html
index f9995b4..abc88fa 100644
--- a/docs/api/java/org/apache/sysds/parser/class-use/Statement.PSUpdateType.html
+++ b/docs/api/java/org/apache/sysds/parser/class-use/Statement.PSUpdateType.html
@@ -135,11 +135,16 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/runtime/controlprogram/paramserv/LocalParamServer.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv">LocalParamServer</a></code></td>
-<td class="colLast"><span class="typeNameLabel">LocalParamServer.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/controlprogram/paramserv/LocalParamServer.html#create-org.apache.sysds.runtime.instructions.cp.ListObject-java.lang.String-org.apache.sysds.parser.Statement.PSUpdateType-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-int-">create</a></span>(<a href="../../../../../org/apache/sysds/runtime/instructions/cp/ListObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ListObject</a>&nbsp;model,
+<td class="colLast"><span class="typeNameLabel">LocalParamServer.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/controlprogram/paramserv/LocalParamServer.html#create-org.apache.sysds.runtime.instructions.cp.ListObject-java.lang.String-org.apache.sysds.parser.Statement.PSUpdateType-org.apache.sysds.parser.Statement.PSFrequency-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-int-java.lang.String-int-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-">create</a></span>(<a href="../../../../../org/apache/sysds/runtime/instructions/cp/ListObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ListObject</a>&nbsp;model,
       <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;aggFunc,
       <a href="../../../../../org/apache/sysds/parser/Statement.PSUpdateType.html" title="enum in org.apache.sysds.parser">Statement.PSUpdateType</a>&nbsp;updateType,
+      <a href="../../../../../org/apache/sysds/parser/Statement.PSFrequency.html" title="enum in org.apache.sysds.parser">Statement.PSFrequency</a>&nbsp;freq,
       <a href="../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
-      int&nbsp;workerNum)</code>&nbsp;</td>
+      int&nbsp;workerNum,
+      <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;valFunc,
+      int&nbsp;numBatchesPerEpoch,
+      <a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;valFeatures,
+      <a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;valLabels)</code>&nbsp;</td>
 </tr>
 </tbody>
 </table>
@@ -195,6 +200,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/class-use/Statement.html b/docs/api/java/org/apache/sysds/parser/class-use/Statement.html
index 7286645..1c4abca 100644
--- a/docs/api/java/org/apache/sysds/parser/class-use/Statement.html
+++ b/docs/api/java/org/apache/sysds/parser/class-use/Statement.html
@@ -359,6 +359,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/class-use/StatementBlock.html b/docs/api/java/org/apache/sysds/parser/class-use/StatementBlock.html
index 1f2e785..d33da94 100644
--- a/docs/api/java/org/apache/sysds/parser/class-use/StatementBlock.html
+++ b/docs/api/java/org/apache/sysds/parser/class-use/StatementBlock.html
@@ -307,66 +307,76 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">RewriteForLoopVectorization.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/RewriteForLoopVectorization.html#rewriteStatementBlock-org.apache.sysds.parser.StatementBlock-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteStatementBlock</a></span>(<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&nbsp;sb,
+<td class="colLast"><span class="typeNameLabel">RewriteRemoveForLoopEmptySequence.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/RewriteRemoveForLoopEmptySequence.html#rewriteStatementBlock-org.apache.sysds.parser.StatementBlock-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteStatementBlock</a></span>(<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&nbsp;sb,
                      <a href="../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;state)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">RewriteForLoopVectorization.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/RewriteForLoopVectorization.html#rewriteStatementBlock-org.apache.sysds.parser.StatementBlock-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteStatementBlock</a></span>(<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&nbsp;sb,
+                     <a href="../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;state)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">MarkForLineageReuse.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/MarkForLineageReuse.html#rewriteStatementBlock-org.apache.sysds.parser.StatementBlock-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteStatementBlock</a></span>(<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&nbsp;sb,
                      <a href="../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;status)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">RewriteRemoveEmptyBasicBlocks.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/RewriteRemoveEmptyBasicBlocks.html#rewriteStatementBlock-org.apache.sysds.parser.StatementBlock-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteStatementBlock</a></span>(<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&nbsp;sb,
                      <a href="../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;state)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">RewriteSplitDagDataDependentOperators.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/RewriteSplitDagDataDependentOperators.html#rewriteStatementBlock-org.apache.sysds.parser.StatementBlock-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteStatementBlock</a></span>(<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&nbsp;sb,
                      <a href="../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;state)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">RewriteCompressedReblock.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/RewriteCompressedReblock.html#rewriteStatementBlock-org.apache.sysds.parser.StatementBlock-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteStatementBlock</a></span>(<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&nbsp;sb,
                      <a href="../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;sate)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">RewriteMergeBlockSequence.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/RewriteMergeBlockSequence.html#rewriteStatementBlock-org.apache.sysds.parser.StatementBlock-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteStatementBlock</a></span>(<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&nbsp;sb,
                      <a href="../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;state)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">RewriteInjectSparkLoopCheckpointing.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/RewriteInjectSparkLoopCheckpointing.html#rewriteStatementBlock-org.apache.sysds.parser.StatementBlock-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteStatementBlock</a></span>(<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&nbsp;sb,
                      <a href="../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;status)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>abstract <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">StatementBlockRewriteRule.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/StatementBlockRewriteRule.html#rewriteStatementBlock-org.apache.sysds.parser.StatementBlock-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteStatementBlock</a></span>(<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&nbsp;sb,
                      <a href="../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;state)</code>
 <div class="block">Handle an arbitrary statement block.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">RewriteHoistLoopInvariantOperations.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/RewriteHoistLoopInvariantOperations.html#rewriteStatementBlock-org.apache.sysds.parser.StatementBlock-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteStatementBlock</a></span>(<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&nbsp;sb,
                      <a href="../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;state)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">RewriteMarkLoopVariablesUpdateInPlace.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/RewriteMarkLoopVariablesUpdateInPlace.html#rewriteStatementBlock-org.apache.sysds.parser.StatementBlock-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteStatementBlock</a></span>(<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&nbsp;sb,
                      <a href="../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;status)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">RewriteSplitDagUnknownCSVRead.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/RewriteSplitDagUnknownCSVRead.html#rewriteStatementBlock-org.apache.sysds.parser.StatementBlock-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteStatementBlock</a></span>(<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&nbsp;sb,
                      <a href="../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;state)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">RewriteRemoveUnnecessaryBranches.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/RewriteRemoveUnnecessaryBranches.html#rewriteStatementBlock-org.apache.sysds.parser.StatementBlock-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteStatementBlock</a></span>(<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&nbsp;sb,
                      <a href="../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;state)</code>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">RewriteRemoveForLoopEmptySequence.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/RewriteRemoveForLoopEmptySequence.html#rewriteStatementBlocks-java.util.List-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteStatementBlocks</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;&nbsp;sbs,
+                      <a href="../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;state)</code>&nbsp;</td>
+</tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">RewriteForLoopVectorization.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/RewriteForLoopVectorization.html#rewriteStatementBlocks-java.util.List-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteStatementBlocks</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;&nbsp;sbs,
@@ -460,78 +470,83 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">RewriteForLoopVectorization.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/RewriteForLoopVectorization.html#rewriteStatementBlock-org.apache.sysds.parser.StatementBlock-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteStatementBlock</a></span>(<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&nbsp;sb,
+<td class="colLast"><span class="typeNameLabel">RewriteRemoveForLoopEmptySequence.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/RewriteRemoveForLoopEmptySequence.html#rewriteStatementBlock-org.apache.sysds.parser.StatementBlock-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteStatementBlock</a></span>(<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&nbsp;sb,
                      <a href="../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;state)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">RewriteForLoopVectorization.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/RewriteForLoopVectorization.html#rewriteStatementBlock-org.apache.sysds.parser.StatementBlock-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteStatementBlock</a></span>(<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&nbsp;sb,
+                     <a href="../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;state)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">MarkForLineageReuse.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/MarkForLineageReuse.html#rewriteStatementBlock-org.apache.sysds.parser.StatementBlock-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteStatementBlock</a></span>(<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&nbsp;sb,
                      <a href="../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;status)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">RewriteRemoveEmptyBasicBlocks.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/RewriteRemoveEmptyBasicBlocks.html#rewriteStatementBlock-org.apache.sysds.parser.StatementBlock-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteStatementBlock</a></span>(<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&nbsp;sb,
                      <a href="../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;state)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">RewriteSplitDagDataDependentOperators.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/RewriteSplitDagDataDependentOperators.html#rewriteStatementBlock-org.apache.sysds.parser.StatementBlock-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteStatementBlock</a></span>(<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&nbsp;sb,
                      <a href="../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;state)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">RewriteCompressedReblock.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/RewriteCompressedReblock.html#rewriteStatementBlock-org.apache.sysds.parser.StatementBlock-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteStatementBlock</a></span>(<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&nbsp;sb,
                      <a href="../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;sate)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">RewriteMergeBlockSequence.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/RewriteMergeBlockSequence.html#rewriteStatementBlock-org.apache.sysds.parser.StatementBlock-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteStatementBlock</a></span>(<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&nbsp;sb,
                      <a href="../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;state)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">RewriteInjectSparkLoopCheckpointing.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/RewriteInjectSparkLoopCheckpointing.html#rewriteStatementBlock-org.apache.sysds.parser.StatementBlock-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteStatementBlock</a></span>(<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&nbsp;sb,
                      <a href="../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;status)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>abstract <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">StatementBlockRewriteRule.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/StatementBlockRewriteRule.html#rewriteStatementBlock-org.apache.sysds.parser.StatementBlock-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteStatementBlock</a></span>(<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&nbsp;sb,
                      <a href="../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;state)</code>
 <div class="block">Handle an arbitrary statement block.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">RewriteHoistLoopInvariantOperations.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/RewriteHoistLoopInvariantOperations.html#rewriteStatementBlock-org.apache.sysds.parser.StatementBlock-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteStatementBlock</a></span>(<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&nbsp;sb,
                      <a href="../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;state)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">RewriteMarkLoopVariablesUpdateInPlace.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/RewriteMarkLoopVariablesUpdateInPlace.html#rewriteStatementBlock-org.apache.sysds.parser.StatementBlock-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteStatementBlock</a></span>(<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&nbsp;sb,
                      <a href="../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;status)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">RewriteSplitDagUnknownCSVRead.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/RewriteSplitDagUnknownCSVRead.html#rewriteStatementBlock-org.apache.sysds.parser.StatementBlock-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteStatementBlock</a></span>(<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&nbsp;sb,
                      <a href="../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;state)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">RewriteRemoveUnnecessaryBranches.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/RewriteRemoveUnnecessaryBranches.html#rewriteStatementBlock-org.apache.sysds.parser.StatementBlock-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteStatementBlock</a></span>(<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&nbsp;sb,
                      <a href="../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;state)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">ProgramRewriter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/ProgramRewriter.html#rRewriteStatementBlock-org.apache.sysds.parser.StatementBlock-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-boolean-">rRewriteStatementBlock</a></span>(<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&nbsp;sb,
                       <a href="../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;status,
                       boolean&nbsp;splitDags)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">ProgramRewriter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/ProgramRewriter.html#rRewriteStatementBlockHopDAGs-org.apache.sysds.parser.StatementBlock-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rRewriteStatementBlockHopDAGs</a></span>(<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&nbsp;current,
                              <a href="../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;state)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">HopRewriteUtils.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/HopRewriteUtils.html#setUnoptimizedFunctionCalls-org.apache.sysds.parser.StatementBlock-">setUnoptimizedFunctionCalls</a></span>(<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&nbsp;sb)</code>&nbsp;</td>
 </tr>
@@ -546,67 +561,72 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">RewriteRemoveForLoopEmptySequence.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/RewriteRemoveForLoopEmptySequence.html#rewriteStatementBlocks-java.util.List-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteStatementBlocks</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;&nbsp;sbs,
+                      <a href="../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;state)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">RewriteForLoopVectorization.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/RewriteForLoopVectorization.html#rewriteStatementBlocks-java.util.List-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteStatementBlocks</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;&nbsp;sbs,
                       <a href="../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;sate)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">MarkForLineageReuse.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/MarkForLineageReuse.html#rewriteStatementBlocks-java.util.List-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteStatementBlocks</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;&nbsp;sbs,
                       <a href="../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;status)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">RewriteRemoveEmptyBasicBlocks.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/RewriteRemoveEmptyBasicBlocks.html#rewriteStatementBlocks-java.util.List-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteStatementBlocks</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;&nbsp;sbs,
                       <a href="../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;sate)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">RewriteSplitDagDataDependentOperators.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/RewriteSplitDagDataDependentOperators.html#rewriteStatementBlocks-java.util.List-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteStatementBlocks</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;&nbsp;sbs,
                       <a href="../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;sate)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">RewriteCompressedReblock.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/RewriteCompressedReblock.html#rewriteStatementBlocks-java.util.List-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteStatementBlocks</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;&nbsp;sbs,
                       <a href="../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;sate)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">RewriteMergeBlockSequence.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/RewriteMergeBlockSequence.html#rewriteStatementBlocks-java.util.List-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteStatementBlocks</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;&nbsp;sbs,
                       <a href="../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;sate)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">RewriteInjectSparkLoopCheckpointing.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/RewriteInjectSparkLoopCheckpointing.html#rewriteStatementBlocks-java.util.List-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteStatementBlocks</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;&nbsp;sbs,
                       <a href="../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;sate)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>abstract <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">StatementBlockRewriteRule.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/StatementBlockRewriteRule.html#rewriteStatementBlocks-java.util.List-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteStatementBlocks</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;&nbsp;sbs,
                       <a href="../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;state)</code>
 <div class="block">Handle a list of statement blocks.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">RewriteHoistLoopInvariantOperations.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/RewriteHoistLoopInvariantOperations.html#rewriteStatementBlocks-java.util.List-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteStatementBlocks</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;&nbsp;sbs,
                       <a href="../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;state)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">RewriteMarkLoopVariablesUpdateInPlace.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/RewriteMarkLoopVariablesUpdateInPlace.html#rewriteStatementBlocks-java.util.List-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteStatementBlocks</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;&nbsp;sbs,
                       <a href="../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;sate)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">RewriteSplitDagUnknownCSVRead.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/RewriteSplitDagUnknownCSVRead.html#rewriteStatementBlocks-java.util.List-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteStatementBlocks</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;&nbsp;sbs,
                       <a href="../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;sate)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">RewriteRemoveUnnecessaryBranches.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/RewriteRemoveUnnecessaryBranches.html#rewriteStatementBlocks-java.util.List-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteStatementBlocks</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;&nbsp;sbs,
                       <a href="../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;sate)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">ProgramRewriter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/ProgramRewriter.html#rRewriteStatementBlocks-java.util.ArrayList-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-boolean-">rRewriteStatementBlocks</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;&nbsp;sbs,
                        <a href="../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;status,
@@ -1089,6 +1109,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/class-use/StringIdentifier.html b/docs/api/java/org/apache/sysds/parser/class-use/StringIdentifier.html
index f927802..c3362f7 100644
--- a/docs/api/java/org/apache/sysds/parser/class-use/StringIdentifier.html
+++ b/docs/api/java/org/apache/sysds/parser/class-use/StringIdentifier.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/class-use/VariableSet.html b/docs/api/java/org/apache/sysds/parser/class-use/VariableSet.html
index 4fef2d6..f078da1 100644
--- a/docs/api/java/org/apache/sysds/parser/class-use/VariableSet.html
+++ b/docs/api/java/org/apache/sysds/parser/class-use/VariableSet.html
@@ -885,6 +885,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/class-use/WhileStatement.html b/docs/api/java/org/apache/sysds/parser/class-use/WhileStatement.html
index fc15292..17a2f82 100644
--- a/docs/api/java/org/apache/sysds/parser/class-use/WhileStatement.html
+++ b/docs/api/java/org/apache/sysds/parser/class-use/WhileStatement.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/class-use/WhileStatementBlock.html b/docs/api/java/org/apache/sysds/parser/class-use/WhileStatementBlock.html
index 3456bef..1b30ced 100644
--- a/docs/api/java/org/apache/sysds/parser/class-use/WhileStatementBlock.html
+++ b/docs/api/java/org/apache/sysds/parser/class-use/WhileStatementBlock.html
@@ -197,6 +197,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/CustomErrorListener.ParseIssue.html b/docs/api/java/org/apache/sysds/parser/dml/CustomErrorListener.ParseIssue.html
index 4e4fcc7..eb095ab 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/CustomErrorListener.ParseIssue.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/CustomErrorListener.ParseIssue.html
@@ -462,6 +462,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/CustomErrorListener.ParseIssueType.html b/docs/api/java/org/apache/sysds/parser/dml/CustomErrorListener.ParseIssueType.html
index 84804d7..13fa896 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/CustomErrorListener.ParseIssueType.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/CustomErrorListener.ParseIssueType.html
@@ -376,6 +376,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/CustomErrorListener.html b/docs/api/java/org/apache/sysds/parser/dml/CustomErrorListener.html
index 7010d04..d1b6600 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/CustomErrorListener.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/CustomErrorListener.html
@@ -555,6 +555,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/DMLParserWrapper.html b/docs/api/java/org/apache/sysds/parser/dml/DMLParserWrapper.html
index 91692ea..2433c1f 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/DMLParserWrapper.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/DMLParserWrapper.html
@@ -348,6 +348,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/DmlBaseListener.html b/docs/api/java/org/apache/sysds/parser/dml/DmlBaseListener.html
index c5ca851..1978fba 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/DmlBaseListener.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/DmlBaseListener.html
@@ -2754,6 +2754,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/DmlLexer.html b/docs/api/java/org/apache/sysds/parser/dml/DmlLexer.html
index f5a2782..72c2f48 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/DmlLexer.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/DmlLexer.html
@@ -1720,6 +1720,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/DmlListener.html b/docs/api/java/org/apache/sysds/parser/dml/DmlListener.html
index 9f8f234..991163c 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/DmlListener.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/DmlListener.html
@@ -2258,6 +2258,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/DmlParser.AccumulatorAssignmentStatementContext.html b/docs/api/java/org/apache/sysds/parser/dml/DmlParser.AccumulatorAssignmentStatementContext.html
index daa0ed0..48c571f 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/DmlParser.AccumulatorAssignmentStatementContext.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/DmlParser.AccumulatorAssignmentStatementContext.html
@@ -441,6 +441,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/DmlParser.AddSubExpressionContext.html b/docs/api/java/org/apache/sysds/parser/dml/DmlParser.AddSubExpressionContext.html
index a1a861d..8dbb29e 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/DmlParser.AddSubExpressionContext.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/DmlParser.AddSubExpressionContext.html
@@ -441,6 +441,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/DmlParser.AssignmentStatementContext.html b/docs/api/java/org/apache/sysds/parser/dml/DmlParser.AssignmentStatementContext.html
index 0ba7efe..bdb2d0a 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/DmlParser.AssignmentStatementContext.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/DmlParser.AssignmentStatementContext.html
@@ -441,6 +441,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/DmlParser.AtomicExpressionContext.html b/docs/api/java/org/apache/sysds/parser/dml/DmlParser.AtomicExpressionContext.html
index 64b36bd..3892382 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/DmlParser.AtomicExpressionContext.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/DmlParser.AtomicExpressionContext.html
@@ -402,6 +402,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/DmlParser.BooleanAndExpressionContext.html b/docs/api/java/org/apache/sysds/parser/dml/DmlParser.BooleanAndExpressionContext.html
index 1b6b7b4..23e0beb 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/DmlParser.BooleanAndExpressionContext.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/DmlParser.BooleanAndExpressionContext.html
@@ -441,6 +441,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/DmlParser.BooleanNotExpressionContext.html b/docs/api/java/org/apache/sysds/parser/dml/DmlParser.BooleanNotExpressionContext.html
index a88d6bb..f087220 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/DmlParser.BooleanNotExpressionContext.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/DmlParser.BooleanNotExpressionContext.html
@@ -415,6 +415,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/DmlParser.BooleanOrExpressionContext.html b/docs/api/java/org/apache/sysds/parser/dml/DmlParser.BooleanOrExpressionContext.html
index 6ab1136..a92ff07 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/DmlParser.BooleanOrExpressionContext.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/DmlParser.BooleanOrExpressionContext.html
@@ -441,6 +441,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/DmlParser.BuiltinFunctionExpressionContext.html b/docs/api/java/org/apache/sysds/parser/dml/DmlParser.BuiltinFunctionExpressionContext.html
index 15e4790..cf40453 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/DmlParser.BuiltinFunctionExpressionContext.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/DmlParser.BuiltinFunctionExpressionContext.html
@@ -454,6 +454,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/DmlParser.CommandlineParamExpressionContext.html b/docs/api/java/org/apache/sysds/parser/dml/DmlParser.CommandlineParamExpressionContext.html
index 5620af3..761cb45 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/DmlParser.CommandlineParamExpressionContext.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/DmlParser.CommandlineParamExpressionContext.html
@@ -374,6 +374,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/DmlParser.CommandlinePositionExpressionContext.html b/docs/api/java/org/apache/sysds/parser/dml/DmlParser.CommandlinePositionExpressionContext.html
index 827692f..4e80e4d 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/DmlParser.CommandlinePositionExpressionContext.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/DmlParser.CommandlinePositionExpressionContext.html
@@ -374,6 +374,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/DmlParser.ConstDoubleIdExpressionContext.html b/docs/api/java/org/apache/sysds/parser/dml/DmlParser.ConstDoubleIdExpressionContext.html
index 2002d49..1482564 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/DmlParser.ConstDoubleIdExpressionContext.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/DmlParser.ConstDoubleIdExpressionContext.html
@@ -374,6 +374,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/DmlParser.ConstFalseExpressionContext.html b/docs/api/java/org/apache/sysds/parser/dml/DmlParser.ConstFalseExpressionContext.html
index 2989842..68a4bf0 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/DmlParser.ConstFalseExpressionContext.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/DmlParser.ConstFalseExpressionContext.html
@@ -361,6 +361,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/DmlParser.ConstIntIdExpressionContext.html b/docs/api/java/org/apache/sysds/parser/dml/DmlParser.ConstIntIdExpressionContext.html
index f5c7034..6019cdd 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/DmlParser.ConstIntIdExpressionContext.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/DmlParser.ConstIntIdExpressionContext.html
@@ -374,6 +374,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/DmlParser.ConstStringIdExpressionContext.html b/docs/api/java/org/apache/sysds/parser/dml/DmlParser.ConstStringIdExpressionContext.html
index 5af0c8a..44c960d 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/DmlParser.ConstStringIdExpressionContext.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/DmlParser.ConstStringIdExpressionContext.html
@@ -374,6 +374,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/DmlParser.ConstTrueExpressionContext.html b/docs/api/java/org/apache/sysds/parser/dml/DmlParser.ConstTrueExpressionContext.html
index 0685157..5e63053 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/DmlParser.ConstTrueExpressionContext.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/DmlParser.ConstTrueExpressionContext.html
@@ -361,6 +361,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/DmlParser.DataIdExpressionContext.html b/docs/api/java/org/apache/sysds/parser/dml/DmlParser.DataIdExpressionContext.html
index e753b9a..d00bfda 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/DmlParser.DataIdExpressionContext.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/DmlParser.DataIdExpressionContext.html
@@ -374,6 +374,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/DmlParser.DataIdentifierContext.html b/docs/api/java/org/apache/sysds/parser/dml/DmlParser.DataIdentifierContext.html
index 14b05f7..896bb75 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/DmlParser.DataIdentifierContext.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/DmlParser.DataIdentifierContext.html
@@ -384,6 +384,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/DmlParser.DataTypeContext.html b/docs/api/java/org/apache/sysds/parser/dml/DmlParser.DataTypeContext.html
index 33f09e1..2caec62 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/DmlParser.DataTypeContext.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/DmlParser.DataTypeContext.html
@@ -356,6 +356,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/DmlParser.ExpressionContext.html b/docs/api/java/org/apache/sysds/parser/dml/DmlParser.ExpressionContext.html
index 653e121..6d84549 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/DmlParser.ExpressionContext.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/DmlParser.ExpressionContext.html
@@ -384,6 +384,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/DmlParser.ExternalFunctionDefExpressionContext.html b/docs/api/java/org/apache/sysds/parser/dml/DmlParser.ExternalFunctionDefExpressionContext.html
index 2898193..7fa2ec7 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/DmlParser.ExternalFunctionDefExpressionContext.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/DmlParser.ExternalFunctionDefExpressionContext.html
@@ -519,6 +519,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/DmlParser.ForStatementContext.html b/docs/api/java/org/apache/sysds/parser/dml/DmlParser.ForStatementContext.html
index 6125e6e..4f3ab78 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/DmlParser.ForStatementContext.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/DmlParser.ForStatementContext.html
@@ -532,6 +532,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/DmlParser.FunctionCallAssignmentStatementContext.html b/docs/api/java/org/apache/sysds/parser/dml/DmlParser.FunctionCallAssignmentStatementContext.html
index ec193f9..90405f0 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/DmlParser.FunctionCallAssignmentStatementContext.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/DmlParser.FunctionCallAssignmentStatementContext.html
@@ -480,6 +480,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/DmlParser.FunctionCallMultiAssignmentStatementContext.html b/docs/api/java/org/apache/sysds/parser/dml/DmlParser.FunctionCallMultiAssignmentStatementContext.html
index ec7aef4..de018f4 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/DmlParser.FunctionCallMultiAssignmentStatementContext.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/DmlParser.FunctionCallMultiAssignmentStatementContext.html
@@ -506,6 +506,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/DmlParser.FunctionStatementContext.html b/docs/api/java/org/apache/sysds/parser/dml/DmlParser.FunctionStatementContext.html
index b4c91b3..dbd826a 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/DmlParser.FunctionStatementContext.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/DmlParser.FunctionStatementContext.html
@@ -384,6 +384,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/DmlParser.IfStatementContext.html b/docs/api/java/org/apache/sysds/parser/dml/DmlParser.IfStatementContext.html
index 6084fab..713a6d6 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/DmlParser.IfStatementContext.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/DmlParser.IfStatementContext.html
@@ -467,6 +467,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/DmlParser.IfdefAssignmentStatementContext.html b/docs/api/java/org/apache/sysds/parser/dml/DmlParser.IfdefAssignmentStatementContext.html
index 6617fb5..8f3395e 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/DmlParser.IfdefAssignmentStatementContext.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/DmlParser.IfdefAssignmentStatementContext.html
@@ -467,6 +467,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/DmlParser.ImportStatementContext.html b/docs/api/java/org/apache/sysds/parser/dml/DmlParser.ImportStatementContext.html
index f9e35be..504abe6 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/DmlParser.ImportStatementContext.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/DmlParser.ImportStatementContext.html
@@ -428,6 +428,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/DmlParser.IndexedExpressionContext.html b/docs/api/java/org/apache/sysds/parser/dml/DmlParser.IndexedExpressionContext.html
index 9aa2a3a..ed6e084 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/DmlParser.IndexedExpressionContext.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/DmlParser.IndexedExpressionContext.html
@@ -480,6 +480,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/DmlParser.InternalFunctionDefExpressionContext.html b/docs/api/java/org/apache/sysds/parser/dml/DmlParser.InternalFunctionDefExpressionContext.html
index ede8cb9..997cdc2 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/DmlParser.InternalFunctionDefExpressionContext.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/DmlParser.InternalFunctionDefExpressionContext.html
@@ -558,6 +558,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/DmlParser.IterablePredicateColonExpressionContext.html b/docs/api/java/org/apache/sysds/parser/dml/DmlParser.IterablePredicateColonExpressionContext.html
index b943ad5..7ab5ede 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/DmlParser.IterablePredicateColonExpressionContext.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/DmlParser.IterablePredicateColonExpressionContext.html
@@ -428,6 +428,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/DmlParser.IterablePredicateContext.html b/docs/api/java/org/apache/sysds/parser/dml/DmlParser.IterablePredicateContext.html
index 98d6f03..5efe576 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/DmlParser.IterablePredicateContext.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/DmlParser.IterablePredicateContext.html
@@ -384,6 +384,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/DmlParser.IterablePredicateSeqExpressionContext.html b/docs/api/java/org/apache/sysds/parser/dml/DmlParser.IterablePredicateSeqExpressionContext.html
index 44be34e..b55f50e 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/DmlParser.IterablePredicateSeqExpressionContext.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/DmlParser.IterablePredicateSeqExpressionContext.html
@@ -454,6 +454,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/DmlParser.MatrixDataTypeCheckContext.html b/docs/api/java/org/apache/sysds/parser/dml/DmlParser.MatrixDataTypeCheckContext.html
index 172d945..85ea2a2 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/DmlParser.MatrixDataTypeCheckContext.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/DmlParser.MatrixDataTypeCheckContext.html
@@ -367,6 +367,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/DmlParser.MatrixMulExpressionContext.html b/docs/api/java/org/apache/sysds/parser/dml/DmlParser.MatrixMulExpressionContext.html
index 0e83bc7..85784ab 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/DmlParser.MatrixMulExpressionContext.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/DmlParser.MatrixMulExpressionContext.html
@@ -441,6 +441,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/DmlParser.Ml_typeContext.html b/docs/api/java/org/apache/sysds/parser/dml/DmlParser.Ml_typeContext.html
index cd8bcab..0b26b3e 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/DmlParser.Ml_typeContext.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/DmlParser.Ml_typeContext.html
@@ -387,6 +387,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/DmlParser.ModIntDivExpressionContext.html b/docs/api/java/org/apache/sysds/parser/dml/DmlParser.ModIntDivExpressionContext.html
index 844d2bd..2cbcf43 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/DmlParser.ModIntDivExpressionContext.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/DmlParser.ModIntDivExpressionContext.html
@@ -441,6 +441,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/DmlParser.MultDivExpressionContext.html b/docs/api/java/org/apache/sysds/parser/dml/DmlParser.MultDivExpressionContext.html
index 782df3d..099a1b0 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/DmlParser.MultDivExpressionContext.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/DmlParser.MultDivExpressionContext.html
@@ -441,6 +441,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/DmlParser.MultiIdExpressionContext.html b/docs/api/java/org/apache/sysds/parser/dml/DmlParser.MultiIdExpressionContext.html
index 5a635d1..1c9530f 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/DmlParser.MultiIdExpressionContext.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/DmlParser.MultiIdExpressionContext.html
@@ -428,6 +428,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/DmlParser.ParForStatementContext.html b/docs/api/java/org/apache/sysds/parser/dml/DmlParser.ParForStatementContext.html
index 9a4640d..42a976c 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/DmlParser.ParForStatementContext.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/DmlParser.ParForStatementContext.html
@@ -532,6 +532,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/DmlParser.ParameterizedExpressionContext.html b/docs/api/java/org/apache/sysds/parser/dml/DmlParser.ParameterizedExpressionContext.html
index 4c20e8f..e133507 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/DmlParser.ParameterizedExpressionContext.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/DmlParser.ParameterizedExpressionContext.html
@@ -428,6 +428,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/DmlParser.PathStatementContext.html b/docs/api/java/org/apache/sysds/parser/dml/DmlParser.PathStatementContext.html
index dc838d9..fbe435c 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/DmlParser.PathStatementContext.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/DmlParser.PathStatementContext.html
@@ -402,6 +402,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/DmlParser.PowerExpressionContext.html b/docs/api/java/org/apache/sysds/parser/dml/DmlParser.PowerExpressionContext.html
index 95566e9..042dfaf 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/DmlParser.PowerExpressionContext.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/DmlParser.PowerExpressionContext.html
@@ -441,6 +441,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/DmlParser.ProgramrootContext.html b/docs/api/java/org/apache/sysds/parser/dml/DmlParser.ProgramrootContext.html
index 527b2d9..0ddd8dd 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/DmlParser.ProgramrootContext.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/DmlParser.ProgramrootContext.html
@@ -493,6 +493,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/DmlParser.RelationalExpressionContext.html b/docs/api/java/org/apache/sysds/parser/dml/DmlParser.RelationalExpressionContext.html
index efc6648..de788e5 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/DmlParser.RelationalExpressionContext.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/DmlParser.RelationalExpressionContext.html
@@ -441,6 +441,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/DmlParser.SimpleDataIdentifierExpressionContext.html b/docs/api/java/org/apache/sysds/parser/dml/DmlParser.SimpleDataIdentifierExpressionContext.html
index fd83d08..0a4e55d 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/DmlParser.SimpleDataIdentifierExpressionContext.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/DmlParser.SimpleDataIdentifierExpressionContext.html
@@ -374,6 +374,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/DmlParser.StatementContext.html b/docs/api/java/org/apache/sysds/parser/dml/DmlParser.StatementContext.html
index 3e757b4..582aeae 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/DmlParser.StatementContext.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/DmlParser.StatementContext.html
@@ -384,6 +384,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/DmlParser.StrictParameterizedExpressionContext.html b/docs/api/java/org/apache/sysds/parser/dml/DmlParser.StrictParameterizedExpressionContext.html
index f9dad01..ec6fe9b 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/DmlParser.StrictParameterizedExpressionContext.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/DmlParser.StrictParameterizedExpressionContext.html
@@ -428,6 +428,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/DmlParser.StrictParameterizedKeyValueStringContext.html b/docs/api/java/org/apache/sysds/parser/dml/DmlParser.StrictParameterizedKeyValueStringContext.html
index 09ae038..dfed5b4 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/DmlParser.StrictParameterizedKeyValueStringContext.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/DmlParser.StrictParameterizedKeyValueStringContext.html
@@ -428,6 +428,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/DmlParser.TypedArgAssignContext.html b/docs/api/java/org/apache/sysds/parser/dml/DmlParser.TypedArgAssignContext.html
index edcda6f..b04726f 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/DmlParser.TypedArgAssignContext.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/DmlParser.TypedArgAssignContext.html
@@ -454,6 +454,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/DmlParser.TypedArgNoAssignContext.html b/docs/api/java/org/apache/sysds/parser/dml/DmlParser.TypedArgNoAssignContext.html
index c4486e0..6554e13 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/DmlParser.TypedArgNoAssignContext.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/DmlParser.TypedArgNoAssignContext.html
@@ -428,6 +428,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/DmlParser.UnaryExpressionContext.html b/docs/api/java/org/apache/sysds/parser/dml/DmlParser.UnaryExpressionContext.html
index b5f065f..5a9038d 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/DmlParser.UnaryExpressionContext.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/DmlParser.UnaryExpressionContext.html
@@ -415,6 +415,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/DmlParser.ValueTypeContext.html b/docs/api/java/org/apache/sysds/parser/dml/DmlParser.ValueTypeContext.html
index a09e495..c1b3500 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/DmlParser.ValueTypeContext.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/DmlParser.ValueTypeContext.html
@@ -361,6 +361,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/DmlParser.WhileStatementContext.html b/docs/api/java/org/apache/sysds/parser/dml/DmlParser.WhileStatementContext.html
index 34dc345..3ad5fd1 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/DmlParser.WhileStatementContext.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/DmlParser.WhileStatementContext.html
@@ -454,6 +454,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/DmlParser.html b/docs/api/java/org/apache/sysds/parser/dml/DmlParser.html
index 05c16de..b07c2f5 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/DmlParser.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/DmlParser.html
@@ -2424,6 +2424,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/DmlPreprocessor.html b/docs/api/java/org/apache/sysds/parser/dml/DmlPreprocessor.html
index 386448a..40ea430 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/DmlPreprocessor.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/DmlPreprocessor.html
@@ -2662,6 +2662,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/DmlSyntacticValidator.ConvertedDMLSyntax.html b/docs/api/java/org/apache/sysds/parser/dml/DmlSyntacticValidator.ConvertedDMLSyntax.html
index e3e997a..4534fa9 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/DmlSyntacticValidator.ConvertedDMLSyntax.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/DmlSyntacticValidator.ConvertedDMLSyntax.html
@@ -305,6 +305,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/DmlSyntacticValidator.html b/docs/api/java/org/apache/sysds/parser/dml/DmlSyntacticValidator.html
index e487a36..c7ebe45 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/DmlSyntacticValidator.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/DmlSyntacticValidator.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10,"i37":10,"i38":10,"i39":10,"i40":10,"i41":10,"i42":10,"i43":10,"i44":10,"i45":10,"i46":10,"i47":10,"i48":10,"i49":10,"i50":10,"i51":10,"i52":10,"i53":10,"i54":10,"i55":10,"i56":10,"i57":10,"i58":10,"i59":10,"i60":10,"i61":10,"i62":10,"i63":10,"i64":10,"i65":10,"i66":10,"i67":10,"i68":10,"i69":10,"i70":10,"i71":10,"i72":10,"i73":10,"i74":10,"i75":10,"i76":10,"i77":10,"i78":10,"i79":10,"i80":10,"i81":10,"i82":10,"i83":10,"i84":10,"i85":10,"i86":10,"i87":10,"i88":10,"i89":10,"i90":10,"i91":10,"i92":10,"i93":10,"i94":10,"i95":10,"i96":10,"i97":10,"i98":9,"i99":10,"i100":10,"i101":9,"i102":9,"i103":9,"i104":10,"i105":10,"i106":10,"i107":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10,"i37":10,"i38":10,"i39":10,"i40":10,"i41":10,"i42":10,"i43":10,"i44":10,"i45":10,"i46":10,"i47":10,"i48":10,"i49":10,"i50":10,"i51":10,"i52":10,"i53":10,"i54":10,"i55":10,"i56":10,"i57":10,"i58":10,"i59":10,"i60":10,"i61":10,"i62":10,"i63":10,"i64":10,"i65":10,"i66":10,"i67":10,"i68":10,"i69":10,"i70":10,"i71":10,"i72":10,"i73":10,"i74":10,"i75":10,"i76":10,"i77":10,"i78":10,"i79":10,"i80":10,"i81":10,"i82":10,"i83":10,"i84":10,"i85":10,"i86":10,"i87":10,"i88":10,"i89":10,"i90":10,"i91":10,"i92":10,"i93":10,"i94":10,"i95":10,"i96":10,"i97":10,"i98":9,"i99":10,"i100":10,"i101":10,"i102":9,"i103":9,"i104":9,"i105":10,"i106":10,"i107":10,"i108":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -846,38 +846,42 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/parser/dml/DmlSyntacticValidator.html#getNamespaceSafe-org.antlr.v4.runtime.Token-">getNamespaceSafe</a></span>(org.antlr.v4.runtime.Token&nbsp;ns)</code>&nbsp;</td>
 </tr>
 <tr id="i100" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/sysds/parser/FunctionDictionary.html" title="class in org.apache.sysds.parser">FunctionDictionary</a>&lt;<a href="../../../../../org/apache/sysds/parser/FunctionStatementBlock.html" title="class in org.apache.sysds.parser">FunctionStatementBlock</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/parser/dml/DmlSyntacticValidator.html#getParsedBuiltinFunctions--">getParsedBuiltinFunctions</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i101" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/parser/dml/DmlSyntacticValidator.html#getWorkingFilePath-java.lang.String-">getWorkingFilePath</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;filePath)</code>&nbsp;</td>
 </tr>
-<tr id="i101" class="rowColor">
+<tr id="i102" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/parser/dml/DmlSyntacticValidator.html#init--">init</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i102" class="altColor">
+<tr id="i103" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/parser/dml/DmlSyntacticValidator.html#init-java.util.Map-">init</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;scripts)</code>&nbsp;</td>
 </tr>
-<tr id="i103" class="rowColor">
+<tr id="i104" class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../org/apache/sysds/parser/FunctionStatementBlock.html" title="class in org.apache.sysds.parser">FunctionStatementBlock</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/parser/dml/DmlSyntacticValidator.html#loadAndParseBuiltinFunction-java.lang.String-java.lang.String-">loadAndParseBuiltinFunction</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
                            <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace)</code>&nbsp;</td>
 </tr>
-<tr id="i104" class="altColor">
+<tr id="i105" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/parser/dml/DmlSyntacticValidator.html#namespaceResolutionOp--">namespaceResolutionOp</a></span>()</code>
 <div class="block">Obtain the namespace separator (<code>::</code> for DML 
  that is used to specify a namespace and a function in that namespace.</div>
 </td>
 </tr>
-<tr id="i105" class="rowColor">
+<tr id="i106" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/parser/dml/DmlSyntacticValidator.html#trueStringLiteral--">trueStringLiteral</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i106" class="altColor">
+<tr id="i107" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/parser/dml/DmlSyntacticValidator.html#visitErrorNode-org.antlr.v4.runtime.tree.ErrorNode-">visitErrorNode</a></span>(org.antlr.v4.runtime.tree.ErrorNode&nbsp;node)</code>&nbsp;</td>
 </tr>
-<tr id="i107" class="rowColor">
+<tr id="i108" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/parser/dml/DmlSyntacticValidator.html#visitTerminal-org.antlr.v4.runtime.tree.TerminalNode-">visitTerminal</a></span>(org.antlr.v4.runtime.tree.TerminalNode&nbsp;node)</code>&nbsp;</td>
 </tr>
@@ -956,6 +960,15 @@
 <pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;falseStringLiteral()</pre>
 </li>
 </ul>
+<a name="getParsedBuiltinFunctions--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getParsedBuiltinFunctions</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/sysds/parser/FunctionDictionary.html" title="class in org.apache.sysds.parser">FunctionDictionary</a>&lt;<a href="../../../../../org/apache/sysds/parser/FunctionStatementBlock.html" title="class in org.apache.sysds.parser">FunctionStatementBlock</a>&gt;&nbsp;getParsedBuiltinFunctions()</pre>
+</li>
+</ul>
 <a name="enterEveryRule-org.antlr.v4.runtime.ParserRuleContext-">
 <!--   -->
 </a>
@@ -2819,6 +2832,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/ExpressionInfo.html b/docs/api/java/org/apache/sysds/parser/dml/ExpressionInfo.html
index 01586eb..73ef72e 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/ExpressionInfo.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/ExpressionInfo.html
@@ -314,6 +314,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/StatementInfo.html b/docs/api/java/org/apache/sysds/parser/dml/StatementInfo.html
index 1540bb6..8b8420e 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/StatementInfo.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/StatementInfo.html
@@ -301,6 +301,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/class-use/CustomErrorListener.ParseIssue.html b/docs/api/java/org/apache/sysds/parser/dml/class-use/CustomErrorListener.ParseIssue.html
index a7188d5..5376ca4 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/class-use/CustomErrorListener.ParseIssue.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/class-use/CustomErrorListener.ParseIssue.html
@@ -259,6 +259,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/class-use/CustomErrorListener.ParseIssueType.html b/docs/api/java/org/apache/sysds/parser/dml/class-use/CustomErrorListener.ParseIssueType.html
index 67fd7b2..3679e98 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/class-use/CustomErrorListener.ParseIssueType.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/class-use/CustomErrorListener.ParseIssueType.html
@@ -203,6 +203,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/class-use/CustomErrorListener.html b/docs/api/java/org/apache/sysds/parser/dml/class-use/CustomErrorListener.html
index 2da7706..f2fb85a 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/class-use/CustomErrorListener.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/class-use/CustomErrorListener.html
@@ -197,6 +197,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/class-use/DMLParserWrapper.html b/docs/api/java/org/apache/sysds/parser/dml/class-use/DMLParserWrapper.html
index b511aba..bc86757 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/class-use/DMLParserWrapper.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/class-use/DMLParserWrapper.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlBaseListener.html b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlBaseListener.html
index 9f69732..cf374f9 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlBaseListener.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlBaseListener.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlLexer.html b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlLexer.html
index 872797e..46e2583 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlLexer.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlLexer.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlListener.html b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlListener.html
index d3d4e5d..856ca08 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlListener.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlListener.html
@@ -175,6 +175,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.AccumulatorAssignmentStatementContext.html b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.AccumulatorAssignmentStatementContext.html
index d6ddb1e..48d5011 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.AccumulatorAssignmentStatementContext.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.AccumulatorAssignmentStatementContext.html
@@ -200,6 +200,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.AddSubExpressionContext.html b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.AddSubExpressionContext.html
index 10c6dc0..a5cdbe2 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.AddSubExpressionContext.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.AddSubExpressionContext.html
@@ -200,6 +200,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.AssignmentStatementContext.html b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.AssignmentStatementContext.html
index 2e0df49..d7ba976 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.AssignmentStatementContext.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.AssignmentStatementContext.html
@@ -200,6 +200,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.AtomicExpressionContext.html b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.AtomicExpressionContext.html
index 6a43c5c..dc40a26 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.AtomicExpressionContext.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.AtomicExpressionContext.html
@@ -200,6 +200,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.BooleanAndExpressionContext.html b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.BooleanAndExpressionContext.html
index f13eab5..f63d625 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.BooleanAndExpressionContext.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.BooleanAndExpressionContext.html
@@ -200,6 +200,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.BooleanNotExpressionContext.html b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.BooleanNotExpressionContext.html
index 6104c6c..5f185c9 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.BooleanNotExpressionContext.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.BooleanNotExpressionContext.html
@@ -200,6 +200,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.BooleanOrExpressionContext.html b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.BooleanOrExpressionContext.html
index 88f185a..b4a271e 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.BooleanOrExpressionContext.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.BooleanOrExpressionContext.html
@@ -200,6 +200,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.BuiltinFunctionExpressionContext.html b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.BuiltinFunctionExpressionContext.html
index 107ecd9..f4c4d7d 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.BuiltinFunctionExpressionContext.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.BuiltinFunctionExpressionContext.html
@@ -200,6 +200,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.CommandlineParamExpressionContext.html b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.CommandlineParamExpressionContext.html
index 78b625b..acae501 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.CommandlineParamExpressionContext.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.CommandlineParamExpressionContext.html
@@ -200,6 +200,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.CommandlinePositionExpressionContext.html b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.CommandlinePositionExpressionContext.html
index bc181f7..9404327 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.CommandlinePositionExpressionContext.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.CommandlinePositionExpressionContext.html
@@ -200,6 +200,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.ConstDoubleIdExpressionContext.html b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.ConstDoubleIdExpressionContext.html
index 1894cd0..3624b07 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.ConstDoubleIdExpressionContext.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.ConstDoubleIdExpressionContext.html
@@ -200,6 +200,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.ConstFalseExpressionContext.html b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.ConstFalseExpressionContext.html
index e3fb33e..583028c 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.ConstFalseExpressionContext.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.ConstFalseExpressionContext.html
@@ -200,6 +200,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.ConstIntIdExpressionContext.html b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.ConstIntIdExpressionContext.html
index 706fbf0..96199f5 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.ConstIntIdExpressionContext.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.ConstIntIdExpressionContext.html
@@ -200,6 +200,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.ConstStringIdExpressionContext.html b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.ConstStringIdExpressionContext.html
index 1eeb6d3..70b8362 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.ConstStringIdExpressionContext.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.ConstStringIdExpressionContext.html
@@ -200,6 +200,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.ConstTrueExpressionContext.html b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.ConstTrueExpressionContext.html
index 977154c..bd98016 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.ConstTrueExpressionContext.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.ConstTrueExpressionContext.html
@@ -200,6 +200,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.DataIdExpressionContext.html b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.DataIdExpressionContext.html
index dfefada..c7a8fd1 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.DataIdExpressionContext.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.DataIdExpressionContext.html
@@ -200,6 +200,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.DataIdentifierContext.html b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.DataIdentifierContext.html
index 3232b7e..bce0bd8 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.DataIdentifierContext.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.DataIdentifierContext.html
@@ -305,6 +305,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.DataTypeContext.html b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.DataTypeContext.html
index 328d792..abc15fd 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.DataTypeContext.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.DataTypeContext.html
@@ -201,6 +201,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.ExpressionContext.html b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.ExpressionContext.html
index 2a5afbb..9f86022 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.ExpressionContext.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.ExpressionContext.html
@@ -642,6 +642,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.ExternalFunctionDefExpressionContext.html b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.ExternalFunctionDefExpressionContext.html
index c482ea6..5692e16 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.ExternalFunctionDefExpressionContext.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.ExternalFunctionDefExpressionContext.html
@@ -200,6 +200,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.ForStatementContext.html b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.ForStatementContext.html
index f1076ae..1b925e6 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.ForStatementContext.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.ForStatementContext.html
@@ -200,6 +200,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.FunctionCallAssignmentStatementContext.html b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.FunctionCallAssignmentStatementContext.html
index bfaee03..77f7d3b 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.FunctionCallAssignmentStatementContext.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.FunctionCallAssignmentStatementContext.html
@@ -200,6 +200,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.FunctionCallMultiAssignmentStatementContext.html b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.FunctionCallMultiAssignmentStatementContext.html
index b724673..6c01f5b 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.FunctionCallMultiAssignmentStatementContext.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.FunctionCallMultiAssignmentStatementContext.html
@@ -200,6 +200,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.FunctionStatementContext.html b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.FunctionStatementContext.html
index 5770f8a..b0858cd 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.FunctionStatementContext.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.FunctionStatementContext.html
@@ -247,6 +247,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.IfStatementContext.html b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.IfStatementContext.html
index 0190fec..cc7a2d2 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.IfStatementContext.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.IfStatementContext.html
@@ -200,6 +200,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.IfdefAssignmentStatementContext.html b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.IfdefAssignmentStatementContext.html
index b26bcb6..e35c221 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.IfdefAssignmentStatementContext.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.IfdefAssignmentStatementContext.html
@@ -200,6 +200,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.ImportStatementContext.html b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.ImportStatementContext.html
index 0784b7b..5d10603 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.ImportStatementContext.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.ImportStatementContext.html
@@ -200,6 +200,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.IndexedExpressionContext.html b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.IndexedExpressionContext.html
index f9ed8f0..7e03a8b 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.IndexedExpressionContext.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.IndexedExpressionContext.html
@@ -202,6 +202,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.InternalFunctionDefExpressionContext.html b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.InternalFunctionDefExpressionContext.html
index b91a6c4..2c2dabe 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.InternalFunctionDefExpressionContext.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.InternalFunctionDefExpressionContext.html
@@ -200,6 +200,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.IterablePredicateColonExpressionContext.html b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.IterablePredicateColonExpressionContext.html
index 1e64c62..5a1fbf1 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.IterablePredicateColonExpressionContext.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.IterablePredicateColonExpressionContext.html
@@ -200,6 +200,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.IterablePredicateContext.html b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.IterablePredicateContext.html
index 14be0b4..3b62ab9 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.IterablePredicateContext.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.IterablePredicateContext.html
@@ -229,6 +229,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.IterablePredicateSeqExpressionContext.html b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.IterablePredicateSeqExpressionContext.html
index 12872bc..414e03c 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.IterablePredicateSeqExpressionContext.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.IterablePredicateSeqExpressionContext.html
@@ -200,6 +200,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.MatrixDataTypeCheckContext.html b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.MatrixDataTypeCheckContext.html
index 43b2c00..4d5a305 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.MatrixDataTypeCheckContext.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.MatrixDataTypeCheckContext.html
@@ -200,6 +200,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.MatrixMulExpressionContext.html b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.MatrixMulExpressionContext.html
index 9fd0e20..773b9ef 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.MatrixMulExpressionContext.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.MatrixMulExpressionContext.html
@@ -200,6 +200,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.Ml_typeContext.html b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.Ml_typeContext.html
index ced429c..8c8c5f1 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.Ml_typeContext.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.Ml_typeContext.html
@@ -234,6 +234,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.ModIntDivExpressionContext.html b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.ModIntDivExpressionContext.html
index 3991bf2..ebb596f 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.ModIntDivExpressionContext.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.ModIntDivExpressionContext.html
@@ -200,6 +200,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.MultDivExpressionContext.html b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.MultDivExpressionContext.html
index f6d6b8d..e91935b 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.MultDivExpressionContext.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.MultDivExpressionContext.html
@@ -200,6 +200,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.MultiIdExpressionContext.html b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.MultiIdExpressionContext.html
index ea978a6..0fcb2f4 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.MultiIdExpressionContext.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.MultiIdExpressionContext.html
@@ -200,6 +200,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.ParForStatementContext.html b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.ParForStatementContext.html
index f2e02bb..a0e16dc 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.ParForStatementContext.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.ParForStatementContext.html
@@ -200,6 +200,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.ParameterizedExpressionContext.html b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.ParameterizedExpressionContext.html
index 1c9713e..2ffab06 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.ParameterizedExpressionContext.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.ParameterizedExpressionContext.html
@@ -284,6 +284,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.PathStatementContext.html b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.PathStatementContext.html
index 34c2b65..8757414 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.PathStatementContext.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.PathStatementContext.html
@@ -200,6 +200,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.PowerExpressionContext.html b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.PowerExpressionContext.html
index d906bb6..fa023d6 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.PowerExpressionContext.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.PowerExpressionContext.html
@@ -200,6 +200,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.ProgramrootContext.html b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.ProgramrootContext.html
index a8be8d7..109d7a3 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.ProgramrootContext.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.ProgramrootContext.html
@@ -209,6 +209,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.RelationalExpressionContext.html b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.RelationalExpressionContext.html
index 327ee3c..d090771 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.RelationalExpressionContext.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.RelationalExpressionContext.html
@@ -200,6 +200,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.SimpleDataIdentifierExpressionContext.html b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.SimpleDataIdentifierExpressionContext.html
index 28ecf38..f60673d 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.SimpleDataIdentifierExpressionContext.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.SimpleDataIdentifierExpressionContext.html
@@ -200,6 +200,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.StatementContext.html b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.StatementContext.html
index 8a6e2b6..2a7abcc 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.StatementContext.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.StatementContext.html
@@ -394,6 +394,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.StrictParameterizedExpressionContext.html b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.StrictParameterizedExpressionContext.html
index 51a74f5..c4b3eeb 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.StrictParameterizedExpressionContext.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.StrictParameterizedExpressionContext.html
@@ -268,6 +268,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.StrictParameterizedKeyValueStringContext.html b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.StrictParameterizedKeyValueStringContext.html
index f8af6bf..09208c0 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.StrictParameterizedKeyValueStringContext.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.StrictParameterizedKeyValueStringContext.html
@@ -252,6 +252,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.TypedArgAssignContext.html b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.TypedArgAssignContext.html
index 40abde2..70df193 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.TypedArgAssignContext.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.TypedArgAssignContext.html
@@ -252,6 +252,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.TypedArgNoAssignContext.html b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.TypedArgNoAssignContext.html
index 0f6ea05..acdaa32 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.TypedArgNoAssignContext.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.TypedArgNoAssignContext.html
@@ -272,6 +272,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.UnaryExpressionContext.html b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.UnaryExpressionContext.html
index 2bf802b..5474971 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.UnaryExpressionContext.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.UnaryExpressionContext.html
@@ -200,6 +200,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.ValueTypeContext.html b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.ValueTypeContext.html
index cafade3..4560f9c 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.ValueTypeContext.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.ValueTypeContext.html
@@ -213,6 +213,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.WhileStatementContext.html b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.WhileStatementContext.html
index d9d9ed2..99a3840 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.WhileStatementContext.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.WhileStatementContext.html
@@ -200,6 +200,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.html b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.html
index edeb066..9fde73e 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlParser.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlPreprocessor.html b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlPreprocessor.html
index ea919e2..564e1bc 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlPreprocessor.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlPreprocessor.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlSyntacticValidator.ConvertedDMLSyntax.html b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlSyntacticValidator.ConvertedDMLSyntax.html
index f48b709..0e0a80b 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlSyntacticValidator.ConvertedDMLSyntax.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlSyntacticValidator.ConvertedDMLSyntax.html
@@ -164,6 +164,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlSyntacticValidator.html b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlSyntacticValidator.html
index 93b7c63..431435b 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlSyntacticValidator.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/class-use/DmlSyntacticValidator.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/class-use/ExpressionInfo.html b/docs/api/java/org/apache/sysds/parser/dml/class-use/ExpressionInfo.html
index c5889dd..eddb6a6 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/class-use/ExpressionInfo.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/class-use/ExpressionInfo.html
@@ -168,6 +168,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/class-use/StatementInfo.html b/docs/api/java/org/apache/sysds/parser/dml/class-use/StatementInfo.html
index 8dbb802..135cc87 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/class-use/StatementInfo.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/class-use/StatementInfo.html
@@ -164,6 +164,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/package-summary.html b/docs/api/java/org/apache/sysds/parser/dml/package-summary.html
index 9332c60..e4c9237 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/package-summary.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/package-summary.html
@@ -438,6 +438,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/package-tree.html b/docs/api/java/org/apache/sysds/parser/dml/package-tree.html
index d6d5f98..d94a979 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/package-tree.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/package-tree.html
@@ -262,6 +262,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/dml/package-use.html b/docs/api/java/org/apache/sysds/parser/dml/package-use.html
index 7e33bc6..a36ffa4 100644
--- a/docs/api/java/org/apache/sysds/parser/dml/package-use.html
+++ b/docs/api/java/org/apache/sysds/parser/dml/package-use.html
@@ -369,6 +369,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/package-frame.html b/docs/api/java/org/apache/sysds/parser/package-frame.html
index 996addf..5508673 100644
--- a/docs/api/java/org/apache/sysds/parser/package-frame.html
+++ b/docs/api/java/org/apache/sysds/parser/package-frame.html
@@ -74,9 +74,11 @@
 <li><a href="Expression.FunctCallOp.html" title="enum in org.apache.sysds.parser" target="classFrame">Expression.FunctCallOp</a></li>
 <li><a href="Expression.RelationalOp.html" title="enum in org.apache.sysds.parser" target="classFrame">Expression.RelationalOp</a></li>
 <li><a href="PrintStatement.PRINTTYPE.html" title="enum in org.apache.sysds.parser" target="classFrame">PrintStatement.PRINTTYPE</a></li>
+<li><a href="Statement.FederatedPSScheme.html" title="enum in org.apache.sysds.parser" target="classFrame">Statement.FederatedPSScheme</a></li>
 <li><a href="Statement.PSCheckpointing.html" title="enum in org.apache.sysds.parser" target="classFrame">Statement.PSCheckpointing</a></li>
 <li><a href="Statement.PSFrequency.html" title="enum in org.apache.sysds.parser" target="classFrame">Statement.PSFrequency</a></li>
 <li><a href="Statement.PSModeType.html" title="enum in org.apache.sysds.parser" target="classFrame">Statement.PSModeType</a></li>
+<li><a href="Statement.PSRuntimeBalancing.html" title="enum in org.apache.sysds.parser" target="classFrame">Statement.PSRuntimeBalancing</a></li>
 <li><a href="Statement.PSScheme.html" title="enum in org.apache.sysds.parser" target="classFrame">Statement.PSScheme</a></li>
 <li><a href="Statement.PSUpdateType.html" title="enum in org.apache.sysds.parser" target="classFrame">Statement.PSUpdateType</a></li>
 </ul>
diff --git a/docs/api/java/org/apache/sysds/parser/package-summary.html b/docs/api/java/org/apache/sysds/parser/package-summary.html
index f5d1e0c..f8eab31 100644
--- a/docs/api/java/org/apache/sysds/parser/package-summary.html
+++ b/docs/api/java/org/apache/sysds/parser/package-summary.html
@@ -351,17 +351,25 @@
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><a href="../../../../org/apache/sysds/parser/Statement.PSCheckpointing.html" title="enum in org.apache.sysds.parser">Statement.PSCheckpointing</a></td>
+<td class="colFirst"><a href="../../../../org/apache/sysds/parser/Statement.FederatedPSScheme.html" title="enum in org.apache.sysds.parser">Statement.FederatedPSScheme</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><a href="../../../../org/apache/sysds/parser/Statement.PSFrequency.html" title="enum in org.apache.sysds.parser">Statement.PSFrequency</a></td>
+<td class="colFirst"><a href="../../../../org/apache/sysds/parser/Statement.PSCheckpointing.html" title="enum in org.apache.sysds.parser">Statement.PSCheckpointing</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><a href="../../../../org/apache/sysds/parser/Statement.PSFrequency.html" title="enum in org.apache.sysds.parser">Statement.PSFrequency</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/sysds/parser/Statement.PSModeType.html" title="enum in org.apache.sysds.parser">Statement.PSModeType</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../org/apache/sysds/parser/Statement.PSRuntimeBalancing.html" title="enum in org.apache.sysds.parser">Statement.PSRuntimeBalancing</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
 <tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/sysds/parser/Statement.PSScheme.html" title="enum in org.apache.sysds.parser">Statement.PSScheme</a></td>
 <td class="colLast">&nbsp;</td>
@@ -445,6 +453,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/package-tree.html b/docs/api/java/org/apache/sysds/parser/package-tree.html
index f68aaa4..bd35789 100644
--- a/docs/api/java/org/apache/sysds/parser/package-tree.html
+++ b/docs/api/java/org/apache/sysds/parser/package-tree.html
@@ -193,9 +193,11 @@
 <li type="circle">org.apache.sysds.parser.<a href="../../../../org/apache/sysds/parser/Expression.FunctCallOp.html" title="enum in org.apache.sysds.parser"><span class="typeNameLink">Expression.FunctCallOp</span></a></li>
 <li type="circle">org.apache.sysds.parser.<a href="../../../../org/apache/sysds/parser/Expression.RelationalOp.html" title="enum in org.apache.sysds.parser"><span class="typeNameLink">Expression.RelationalOp</span></a></li>
 <li type="circle">org.apache.sysds.parser.<a href="../../../../org/apache/sysds/parser/PrintStatement.PRINTTYPE.html" title="enum in org.apache.sysds.parser"><span class="typeNameLink">PrintStatement.PRINTTYPE</span></a></li>
+<li type="circle">org.apache.sysds.parser.<a href="../../../../org/apache/sysds/parser/Statement.FederatedPSScheme.html" title="enum in org.apache.sysds.parser"><span class="typeNameLink">Statement.FederatedPSScheme</span></a></li>
 <li type="circle">org.apache.sysds.parser.<a href="../../../../org/apache/sysds/parser/Statement.PSCheckpointing.html" title="enum in org.apache.sysds.parser"><span class="typeNameLink">Statement.PSCheckpointing</span></a></li>
 <li type="circle">org.apache.sysds.parser.<a href="../../../../org/apache/sysds/parser/Statement.PSFrequency.html" title="enum in org.apache.sysds.parser"><span class="typeNameLink">Statement.PSFrequency</span></a></li>
 <li type="circle">org.apache.sysds.parser.<a href="../../../../org/apache/sysds/parser/Statement.PSModeType.html" title="enum in org.apache.sysds.parser"><span class="typeNameLink">Statement.PSModeType</span></a></li>
+<li type="circle">org.apache.sysds.parser.<a href="../../../../org/apache/sysds/parser/Statement.PSRuntimeBalancing.html" title="enum in org.apache.sysds.parser"><span class="typeNameLink">Statement.PSRuntimeBalancing</span></a></li>
 <li type="circle">org.apache.sysds.parser.<a href="../../../../org/apache/sysds/parser/Statement.PSScheme.html" title="enum in org.apache.sysds.parser"><span class="typeNameLink">Statement.PSScheme</span></a></li>
 <li type="circle">org.apache.sysds.parser.<a href="../../../../org/apache/sysds/parser/Statement.PSUpdateType.html" title="enum in org.apache.sysds.parser"><span class="typeNameLink">Statement.PSUpdateType</span></a></li>
 </ul>
@@ -251,6 +253,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/parser/package-use.html b/docs/api/java/org/apache/sysds/parser/package-use.html
index 8a56352..01bc73f 100644
--- a/docs/api/java/org/apache/sysds/parser/package-use.html
+++ b/docs/api/java/org/apache/sysds/parser/package-use.html
@@ -467,14 +467,20 @@
 <td class="colOne"><a href="../../../../org/apache/sysds/parser/class-use/Statement.html#org.apache.sysds.parser">Statement</a>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colOne"><a href="../../../../org/apache/sysds/parser/class-use/Statement.PSCheckpointing.html#org.apache.sysds.parser">Statement.PSCheckpointing</a>&nbsp;</td>
+<td class="colOne"><a href="../../../../org/apache/sysds/parser/class-use/Statement.FederatedPSScheme.html#org.apache.sysds.parser">Statement.FederatedPSScheme</a>&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colOne"><a href="../../../../org/apache/sysds/parser/class-use/Statement.PSFrequency.html#org.apache.sysds.parser">Statement.PSFrequency</a>&nbsp;</td>
+<td class="colOne"><a href="../../../../org/apache/sysds/parser/class-use/Statement.PSCheckpointing.html#org.apache.sysds.parser">Statement.PSCheckpointing</a>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/sysds/parser/class-use/Statement.PSFrequency.html#org.apache.sysds.parser">Statement.PSFrequency</a>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colOne"><a href="../../../../org/apache/sysds/parser/class-use/Statement.PSModeType.html#org.apache.sysds.parser">Statement.PSModeType</a>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/sysds/parser/class-use/Statement.PSRuntimeBalancing.html#org.apache.sysds.parser">Statement.PSRuntimeBalancing</a>&nbsp;</td>
+</tr>
 <tr class="altColor">
 <td class="colOne"><a href="../../../../org/apache/sysds/parser/class-use/Statement.PSScheme.html#org.apache.sysds.parser">Statement.PSScheme</a>&nbsp;</td>
 </tr>
@@ -575,9 +581,12 @@
 <td class="colOne"><a href="../../../../org/apache/sysds/parser/class-use/Statement.PSFrequency.html#org.apache.sysds.runtime.controlprogram.paramserv">Statement.PSFrequency</a>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colOne"><a href="../../../../org/apache/sysds/parser/class-use/Statement.PSScheme.html#org.apache.sysds.runtime.controlprogram.paramserv">Statement.PSScheme</a>&nbsp;</td>
+<td class="colOne"><a href="../../../../org/apache/sysds/parser/class-use/Statement.PSRuntimeBalancing.html#org.apache.sysds.runtime.controlprogram.paramserv">Statement.PSRuntimeBalancing</a>&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/sysds/parser/class-use/Statement.PSScheme.html#org.apache.sysds.runtime.controlprogram.paramserv">Statement.PSScheme</a>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../org/apache/sysds/parser/class-use/Statement.PSUpdateType.html#org.apache.sysds.runtime.controlprogram.paramserv">Statement.PSUpdateType</a>&nbsp;</td>
 </tr>
 </tbody>
@@ -593,6 +602,9 @@
 </tr>
 <tbody>
 <tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/sysds/parser/class-use/Statement.FederatedPSScheme.html#org.apache.sysds.runtime.controlprogram.paramserv.dp">Statement.FederatedPSScheme</a>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../org/apache/sysds/parser/class-use/Statement.PSScheme.html#org.apache.sysds.runtime.controlprogram.paramserv.dp">Statement.PSScheme</a>&nbsp;</td>
 </tr>
 </tbody>
@@ -782,6 +794,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/DMLCompressionException.html b/docs/api/java/org/apache/sysds/runtime/DMLCompressionException.html
index 66452ad..a00f82a 100644
--- a/docs/api/java/org/apache/sysds/runtime/DMLCompressionException.html
+++ b/docs/api/java/org/apache/sysds/runtime/DMLCompressionException.html
@@ -314,6 +314,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/DMLRuntimeException.html b/docs/api/java/org/apache/sysds/runtime/DMLRuntimeException.html
index b931edd..78fd4fc 100644
--- a/docs/api/java/org/apache/sysds/runtime/DMLRuntimeException.html
+++ b/docs/api/java/org/apache/sysds/runtime/DMLRuntimeException.html
@@ -314,6 +314,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/DMLScriptException.html b/docs/api/java/org/apache/sysds/runtime/DMLScriptException.html
index f2ec6f2..8e8d917 100644
--- a/docs/api/java/org/apache/sysds/runtime/DMLScriptException.html
+++ b/docs/api/java/org/apache/sysds/runtime/DMLScriptException.html
@@ -296,6 +296,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/class-use/DMLCompressionException.html b/docs/api/java/org/apache/sysds/runtime/class-use/DMLCompressionException.html
index ec526cc..d4cf54e 100644
--- a/docs/api/java/org/apache/sysds/runtime/class-use/DMLCompressionException.html
+++ b/docs/api/java/org/apache/sysds/runtime/class-use/DMLCompressionException.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/class-use/DMLRuntimeException.html b/docs/api/java/org/apache/sysds/runtime/class-use/DMLRuntimeException.html
index c339f8a..4cd5279 100644
--- a/docs/api/java/org/apache/sysds/runtime/class-use/DMLRuntimeException.html
+++ b/docs/api/java/org/apache/sysds/runtime/class-use/DMLRuntimeException.html
@@ -1068,6 +1068,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/class-use/DMLScriptException.html b/docs/api/java/org/apache/sysds/runtime/class-use/DMLScriptException.html
index 17d0ad5..7550719 100644
--- a/docs/api/java/org/apache/sysds/runtime/class-use/DMLScriptException.html
+++ b/docs/api/java/org/apache/sysds/runtime/class-use/DMLScriptException.html
@@ -164,6 +164,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/codegen/ByteClassLoader.html b/docs/api/java/org/apache/sysds/runtime/codegen/ByteClassLoader.html
index 6264812..c211670 100644
--- a/docs/api/java/org/apache/sysds/runtime/codegen/ByteClassLoader.html
+++ b/docs/api/java/org/apache/sysds/runtime/codegen/ByteClassLoader.html
@@ -311,6 +311,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/codegen/CodegenUtils.html b/docs/api/java/org/apache/sysds/runtime/codegen/CodegenUtils.html
index 7b3c74c..1e12c38 100644
--- a/docs/api/java/org/apache/sysds/runtime/codegen/CodegenUtils.html
+++ b/docs/api/java/org/apache/sysds/runtime/codegen/CodegenUtils.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9};
+var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":9,"i11":9,"i12":9,"i13":9};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -185,6 +185,31 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/CodegenUtils.html#getClassSync-java.lang.String-byte:A-">getClassSync</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
             byte[]&nbsp;classBytes)</code>&nbsp;</td>
 </tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/CodegenUtils.html#getCUDAopID-java.lang.String-">getCUDAopID</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>&nbsp;</td>
+</tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code>static boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/CodegenUtils.html#isNumeric-java.lang.String-">isNumeric</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</code>
+<div class="block">Extension of org.apache.commons.lang.StringUtils
+ to account for negatives and decimals.</div>
+</td>
+</tr>
+<tr id="i11" class="rowColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/CodegenUtils.html#printWithLineNumber-java.lang.String-">printWithLineNumber</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;src)</code>&nbsp;</td>
+</tr>
+<tr id="i12" class="altColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/CodegenUtils.html#putCUDAOpID-java.lang.String-int-">putCUDAOpID</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+           int&nbsp;id)</code>&nbsp;</td>
+</tr>
+<tr id="i13" class="rowColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/CodegenUtils.html#putCUDASource-int-java.lang.String-">putCUDASource</a></span>(int&nbsp;id,
+             <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;src)</code>&nbsp;</td>
+</tr>
 </table>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -299,13 +324,68 @@
 <pre>public static&nbsp;<a href="../../../../../org/apache/sysds/runtime/codegen/SpoofOperator.html" title="class in org.apache.sysds.runtime.codegen">SpoofOperator</a>&nbsp;createInstance(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;cla)</pre>
 </li>
 </ul>
+<a name="getCUDAopID-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getCUDAopID</h4>
+<pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&nbsp;getCUDAopID(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
+</li>
+</ul>
+<a name="putCUDAOpID-java.lang.String-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>putCUDAOpID</h4>
+<pre>public static&nbsp;void&nbsp;putCUDAOpID(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+                               int&nbsp;id)</pre>
+</li>
+</ul>
+<a name="putCUDASource-int-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>putCUDASource</h4>
+<pre>public static&nbsp;void&nbsp;putCUDASource(int&nbsp;id,
+                                 <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;src)</pre>
+</li>
+</ul>
 <a name="createSideInput-org.apache.sysds.runtime.matrix.data.MatrixBlock-">
 <!--   -->
 </a>
+<ul class="blockList">
+<li class="blockList">
+<h4>createSideInput</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/sysds/runtime/codegen/SpoofOperator.SideInput.html" title="class in org.apache.sysds.runtime.codegen">SpoofOperator.SideInput</a>&nbsp;createSideInput(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;in)</pre>
+</li>
+</ul>
+<a name="isNumeric-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isNumeric</h4>
+<pre>public static&nbsp;boolean&nbsp;isNumeric(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</pre>
+<div class="block"><p>Extension of org.apache.commons.lang.StringUtils
+ to account for negatives and decimals.</p></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>str</code> - the String to check, may be null</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd><code>true</code> if only contains digits,-,., and is non-null</dd>
+</dl>
+</li>
+</ul>
+<a name="printWithLineNumber-java.lang.String-">
+<!--   -->
+</a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>createSideInput</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/sysds/runtime/codegen/SpoofOperator.SideInput.html" title="class in org.apache.sysds.runtime.codegen">SpoofOperator.SideInput</a>&nbsp;createSideInput(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;in)</pre>
+<h4>printWithLineNumber</h4>
+<pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;printWithLineNumber(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;src)</pre>
 </li>
 </ul>
 </li>
@@ -377,6 +457,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html b/docs/api/java/org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html
index 6ebe742..e8e8cee 100644
--- a/docs/api/java/org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html
+++ b/docs/api/java/org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":9,"i11":9,"i12":9,"i13":9,"i14":9,"i15":9,"i16":9,"i17":9,"i18":9,"i19":9,"i20":9,"i21":9,"i22":9,"i23":9,"i24":9,"i25":9,"i26":9,"i27":9,"i28":9,"i29":9,"i30":9,"i31":9,"i32":9,"i33":9,"i34":9,"i35":9,"i36":9,"i37":9,"i38":9,"i39":9,"i40":9,"i41":9,"i42":9,"i43":9,"i44":9,"i45":9,"i46":9,"i47":9,"i48":9,"i49":9,"i50":9,"i51":9,"i52":9,"i53":9,"i54":9,"i55":9,"i56":9,"i57":9,"i58":9,"i59":9,"i60":9,"i61":9,"i62":9,"i63":9,"i64":9,"i65":9,"i66":9,"i67":9,"i68":9,"i69":9,"i70":9,"i71":9,"i72":9,"i73":9,"i74":9,"i75":9,"i76":9,"i77":9,"i78":9,"i79":9,"i80":9,"i81":9,"i82":9,"i83":9,"i84":9,"i85":9,"i86":9,"i87":9,"i88":9,"i89":9,"i90":9,"i91":9,"i92":9,"i93":9,"i94":9,"i95":9,"i96":9,"i97":9,"i98":9,"i99":9,"i100":9,"i101":9,"i102":9,"i103":9,"i104":9,"i105":9,"i106":9,"i107":9,"i108":9,"i109":9,"i110":9,"i111":9,"i112":9,"i113":9,"i114":9,"i115":9,"i116":9,"i117":9,"i118":9,"i119":9,"i120":9,"i121":9,"i122":9,"i123":9,"i124":9,"i125":9,"i126":9,"i127":9,"i128":9,"i129":9,"i130":9,"i131":9,"i132":9,"i133":9,"i134":9,"i135":9,"i136":9,"i137":9,"i138":9,"i139":9,"i140":9,"i141":9,"i142":9,"i143":9,"i144":9,"i145":9,"i146":9,"i147":9,"i148":9,"i149":9,"i150":9,"i151":9,"i152":9,"i153":9,"i154":9,"i155":9,"i156":9,"i157":9,"i158":9,"i159":9,"i160":9,"i161":9,"i162":9,"i163":9,"i164":9,"i165":9,"i166":9,"i167":9,"i168":9,"i169":9,"i170":9,"i171":9,"i172":9,"i173":9,"i174":9,"i175":9,"i176":9,"i177":9,"i178":9,"i179":9,"i180":9,"i181":9,"i182":9,"i183":9,"i184":9,"i185":9,"i186":9,"i187":9,"i188":9,"i189":9,"i190":9,"i191":9,"i192":9,"i193":9,"i194":9,"i195":9,"i196":9,"i197":9,"i198":9,"i199":9,"i200":9,"i201":9,"i202":9,"i203":9,"i204":9,"i205":9,"i206":9,"i207":9,"i208":9,"i209":9,"i210":9,"i211":9,"i212":9,"i213":9,"i214":9,"i215":9,"i216":9,"i217":9,"i218":9,"i219":9,"i220":9,"i221":9,"i222":9,"i223":9,"i224":9,"i225":9,"i226":9,"i227":9,"i228":9,"i229":9,"i230":9,"i231":9,"i232":9,"i233":9,"i234":9,"i235":9,"i236":9,"i237":9,"i238":9,"i239":9,"i240":9,"i241":9,"i242":9,"i243":9,"i244":9,"i245":9,"i246":9,"i247":9,"i248":9,"i249":9,"i250":9,"i251":9,"i252":9,"i253":9,"i254":9,"i255":9,"i256":9,"i257":9,"i258":9,"i259":9,"i260":9,"i261":9,"i262":9,"i263":9,"i264":9,"i265":9,"i266":9,"i267":9,"i268":9,"i269":9,"i270":9,"i271":9,"i272":9,"i273":9,"i274":9,"i275":9,"i276":9,"i277":9,"i278":9,"i279":9,"i280":9,"i281":9,"i282":9,"i283":9,"i284":9,"i285":9,"i286":9,"i287":9,"i288":9,"i289":9,"i290":9,"i291":9,"i292":9,"i293":9,"i294":9,"i295":9,"i296":9,"i297":9,"i298":9,"i299":9,"i300":9,"i301":9,"i302":9};
+var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":9,"i11":9,"i12":9,"i13":9,"i14":9,"i15":9,"i16":9,"i17":9,"i18":9,"i19":9,"i20":9,"i21":9,"i22":9,"i23":9,"i24":9,"i25":9,"i26":9,"i27":9,"i28":9,"i29":9,"i30":9,"i31":9,"i32":9,"i33":9,"i34":9,"i35":9,"i36":9,"i37":9,"i38":9,"i39":9,"i40":9,"i41":9,"i42":9,"i43":9,"i44":9,"i45":9,"i46":9,"i47":9,"i48":9,"i49":9,"i50":9,"i51":9,"i52":9,"i53":9,"i54":9,"i55":9,"i56":9,"i57":9,"i58":9,"i59":9,"i60":9,"i61":9,"i62":9,"i63":9,"i64":9,"i65":9,"i66":9,"i67":9,"i68":9,"i69":9,"i70":9,"i71":9,"i72":9,"i73":9,"i74":9,"i75":9,"i76":9,"i77":9,"i78":9,"i79":9,"i80":9,"i81":9,"i82":9,"i83":9,"i84":9,"i85":9,"i86":9,"i87":9,"i88":9,"i89":9,"i90":9,"i91":9,"i92":9,"i93":9,"i94":9,"i95":9,"i96":9,"i97":9,"i98":9,"i99":9,"i100":9,"i101":9,"i102":9,"i103":9,"i104":9,"i105":9,"i106":9,"i107":9,"i108":9,"i109":9,"i110":9,"i111":9,"i112":9,"i113":9,"i114":9,"i115":9,"i116":9,"i117":9,"i118":9,"i119":9,"i120":9,"i121":9,"i122":9,"i123":9,"i124":9,"i125":9,"i126":9,"i127":9,"i128":9,"i129":9,"i130":9,"i131":9,"i132":9,"i133":9,"i134":9,"i135":9,"i136":9,"i137":9,"i138":9,"i139":9,"i140":9,"i141":9,"i142":9,"i143":9,"i144":9,"i145":9,"i146":9,"i147":9,"i148":9,"i149":9,"i150":9,"i151":9,"i152":9,"i153":9,"i154":9,"i155":9,"i156":9,"i157":9,"i158":9,"i159":9,"i160":9,"i161":9,"i162":9,"i163":9,"i164":9,"i165":9,"i166":9,"i167":9,"i168":9,"i169":9,"i170":9,"i171":9,"i172":9,"i173":9,"i174":9,"i175":9,"i176":9,"i177":9,"i178":9,"i179":9,"i180":9,"i181":9,"i182":9,"i183":9,"i184":9,"i185":9,"i186":9,"i187":9,"i188":9,"i189":9,"i190":9,"i191":9,"i192":9,"i193":9,"i194":9,"i195":9,"i196":9,"i197":9,"i198":9,"i199":9,"i200":9,"i201":9,"i202":9,"i203":9,"i204":9,"i205":9,"i206":9,"i207":9,"i208":9,"i209":9,"i210":9,"i211":9,"i212":9,"i213":9,"i214":9,"i215":9,"i216":9,"i217":9,"i218":9,"i219":9,"i220":9,"i221":9,"i222":9,"i223":9,"i224":9,"i225":9,"i226":9,"i227":9,"i228":9,"i229":9,"i230":9,"i231":9,"i232":9,"i233":9,"i234":9,"i235":9,"i236":9,"i237":9,"i238":9,"i239":9,"i240":9,"i241":9,"i242":9,"i243":9,"i244":9,"i245":9,"i246":9,"i247":9,"i248":9,"i249":9,"i250":9,"i251":9,"i252":9,"i253":9,"i254":9,"i255":9,"i256":9,"i257":9,"i258":9,"i259":9,"i260":9,"i261":9,"i262":9,"i263":9,"i264":9,"i265":9,"i266":9,"i267":9,"i268":9,"i269":9,"i270":9,"i271":9,"i272":9,"i273":9,"i274":9,"i275":9,"i276":9,"i277":9,"i278":9,"i279":9,"i280":9,"i281":9,"i282":9,"i283":9,"i284":9,"i285":9,"i286":9,"i287":9,"i288":9,"i289":9,"i290":9,"i291":9,"i292":9,"i293":9,"i294":9,"i295":9,"i296":9,"i297":9,"i298":9,"i299":9,"i300":9,"i301":9,"i302":9,"i303":9,"i304":9};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -485,6 +485,26 @@
 </tr>
 <tr id="i41" class="rowColor">
 <td class="colFirst"><code>static double[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectCbindWrite-double:A-double:A-int:A-int-int-int-int-int-">vectCbindWrite</a></span>(double[]&nbsp;a,
+              double[]&nbsp;b,
+              int[]&nbsp;aix,
+              int&nbsp;ai,
+              int&nbsp;bi,
+              int&nbsp;alen,
+              int&nbsp;alen2,
+              int&nbsp;blen)</code>&nbsp;</td>
+</tr>
+<tr id="i42" class="altColor">
+<td class="colFirst"><code>static double[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectCbindWrite-double:A-double:A-int-int-int-int-">vectCbindWrite</a></span>(double[]&nbsp;a,
+              double[]&nbsp;b,
+              int&nbsp;ai,
+              int&nbsp;bi,
+              int&nbsp;alen,
+              int&nbsp;blen)</code>&nbsp;</td>
+</tr>
+<tr id="i43" class="rowColor">
+<td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectCbindWrite-double:A-double-int:A-int-int-int-">vectCbindWrite</a></span>(double[]&nbsp;a,
               double&nbsp;b,
               int[]&nbsp;aix,
@@ -492,19 +512,19 @@
               int&nbsp;alen,
               int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i42" class="altColor">
+<tr id="i44" class="altColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectCbindWrite-double:A-double-int-int-">vectCbindWrite</a></span>(double[]&nbsp;a,
               double&nbsp;b,
               int&nbsp;aix,
               int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i43" class="rowColor">
+<tr id="i45" class="rowColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectCbindWrite-double-double-">vectCbindWrite</a></span>(double&nbsp;a,
               double&nbsp;b)</code>&nbsp;</td>
 </tr>
-<tr id="i44" class="altColor">
+<tr id="i46" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectCeilAdd-double:A-double:A-int:A-int-int-int-int-">vectCeilAdd</a></span>(double[]&nbsp;a,
            double[]&nbsp;c,
@@ -514,7 +534,7 @@
            int&nbsp;alen,
            int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i45" class="rowColor">
+<tr id="i47" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectCeilAdd-double:A-double:A-int-int-int-">vectCeilAdd</a></span>(double[]&nbsp;a,
            double[]&nbsp;c,
@@ -522,7 +542,7 @@
            int&nbsp;ci,
            int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i46" class="altColor">
+<tr id="i48" class="altColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectCeilWrite-double:A-int:A-int-int-int-">vectCeilWrite</a></span>(double[]&nbsp;a,
              int[]&nbsp;aix,
@@ -530,13 +550,13 @@
              int&nbsp;alen,
              int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i47" class="rowColor">
+<tr id="i49" class="rowColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectCeilWrite-double:A-int-int-">vectCeilWrite</a></span>(double[]&nbsp;a,
              int&nbsp;ai,
              int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i48" class="altColor">
+<tr id="i50" class="altColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectConv2dmmWrite-double:A-double:A-int-int-int-int-int-int-int-int-int-int-int-int-">vectConv2dmmWrite</a></span>(double[]&nbsp;a,
                  double[]&nbsp;b,
@@ -553,7 +573,7 @@
                  int&nbsp;H,
                  int&nbsp;W)</code>&nbsp;</td>
 </tr>
-<tr id="i49" class="rowColor">
+<tr id="i51" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectCosAdd-double:A-double:A-int:A-int-int-int-int-">vectCosAdd</a></span>(double[]&nbsp;a,
           double[]&nbsp;c,
@@ -563,7 +583,7 @@
           int&nbsp;alen,
           int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i50" class="altColor">
+<tr id="i52" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectCosAdd-double:A-double:A-int-int-int-">vectCosAdd</a></span>(double[]&nbsp;a,
           double[]&nbsp;c,
@@ -571,7 +591,7 @@
           int&nbsp;ci,
           int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i51" class="rowColor">
+<tr id="i53" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectCoshAdd-double:A-double:A-int:A-int-int-int-int-">vectCoshAdd</a></span>(double[]&nbsp;a,
            double[]&nbsp;c,
@@ -581,7 +601,7 @@
            int&nbsp;alen,
            int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i52" class="altColor">
+<tr id="i54" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectCoshAdd-double:A-double:A-int-int-int-">vectCoshAdd</a></span>(double[]&nbsp;a,
            double[]&nbsp;c,
@@ -589,7 +609,7 @@
            int&nbsp;ci,
            int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i53" class="rowColor">
+<tr id="i55" class="rowColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectCoshWrite-double:A-int:A-int-int-int-">vectCoshWrite</a></span>(double[]&nbsp;a,
              int[]&nbsp;aix,
@@ -597,13 +617,13 @@
              int&nbsp;alen,
              int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i54" class="altColor">
+<tr id="i56" class="altColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectCoshWrite-double:A-int-int-">vectCoshWrite</a></span>(double[]&nbsp;a,
              int&nbsp;ai,
              int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i55" class="rowColor">
+<tr id="i57" class="rowColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectCosWrite-double:A-int:A-int-int-int-">vectCosWrite</a></span>(double[]&nbsp;a,
             int[]&nbsp;aix,
@@ -611,13 +631,13 @@
             int&nbsp;alen,
             int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i56" class="altColor">
+<tr id="i58" class="altColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectCosWrite-double:A-int-int-">vectCosWrite</a></span>(double[]&nbsp;a,
             int&nbsp;ai,
             int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i57" class="rowColor">
+<tr id="i59" class="rowColor">
 <td class="colFirst"><code>static double</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectCountnnz-double:A-int:A-int-int-int-">vectCountnnz</a></span>(double[]&nbsp;avals,
             int[]&nbsp;aix,
@@ -625,13 +645,13 @@
             int&nbsp;alen,
             int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i58" class="altColor">
+<tr id="i60" class="altColor">
 <td class="colFirst"><code>static double</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectCountnnz-double:A-int-int-">vectCountnnz</a></span>(double[]&nbsp;a,
             int&nbsp;ai,
             int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i59" class="rowColor">
+<tr id="i61" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectCummaxAdd-double:A-double:A-int:A-int-int-int-int-">vectCummaxAdd</a></span>(double[]&nbsp;a,
              double[]&nbsp;c,
@@ -641,7 +661,7 @@
              int&nbsp;alen,
              int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i60" class="altColor">
+<tr id="i62" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectCummaxAdd-double:A-double:A-int-int-int-">vectCummaxAdd</a></span>(double[]&nbsp;a,
              double[]&nbsp;c,
@@ -649,7 +669,7 @@
              int&nbsp;ci,
              int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i61" class="rowColor">
+<tr id="i63" class="rowColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectCummaxWrite-double:A-int:A-int-int-int-">vectCummaxWrite</a></span>(double[]&nbsp;a,
                int[]&nbsp;aix,
@@ -657,13 +677,13 @@
                int&nbsp;alen,
                int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i62" class="altColor">
+<tr id="i64" class="altColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectCummaxWrite-double:A-int-int-">vectCummaxWrite</a></span>(double[]&nbsp;a,
                int&nbsp;ai,
                int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i63" class="rowColor">
+<tr id="i65" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectCumminAdd-double:A-double:A-int:A-int-int-int-int-">vectCumminAdd</a></span>(double[]&nbsp;a,
              double[]&nbsp;c,
@@ -673,7 +693,7 @@
              int&nbsp;alen,
              int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i64" class="altColor">
+<tr id="i66" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectCumminAdd-double:A-double:A-int-int-int-">vectCumminAdd</a></span>(double[]&nbsp;a,
              double[]&nbsp;c,
@@ -681,7 +701,7 @@
              int&nbsp;ci,
              int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i65" class="rowColor">
+<tr id="i67" class="rowColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectCumminWrite-double:A-int:A-int-int-int-">vectCumminWrite</a></span>(double[]&nbsp;a,
                int[]&nbsp;aix,
@@ -689,13 +709,13 @@
                int&nbsp;alen,
                int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i66" class="altColor">
+<tr id="i68" class="altColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectCumminWrite-double:A-int-int-">vectCumminWrite</a></span>(double[]&nbsp;a,
                int&nbsp;ai,
                int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i67" class="rowColor">
+<tr id="i69" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectCumsumAdd-double:A-double:A-int:A-int-int-int-int-">vectCumsumAdd</a></span>(double[]&nbsp;a,
              double[]&nbsp;c,
@@ -705,7 +725,7 @@
              int&nbsp;alen,
              int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i68" class="altColor">
+<tr id="i70" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectCumsumAdd-double:A-double:A-int-int-int-">vectCumsumAdd</a></span>(double[]&nbsp;a,
              double[]&nbsp;c,
@@ -713,7 +733,7 @@
              int&nbsp;ci,
              int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i69" class="rowColor">
+<tr id="i71" class="rowColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectCumsumWrite-double:A-int:A-int-int-int-">vectCumsumWrite</a></span>(double[]&nbsp;a,
                int[]&nbsp;aix,
@@ -721,13 +741,13 @@
                int&nbsp;alen,
                int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i70" class="altColor">
+<tr id="i72" class="altColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectCumsumWrite-double:A-int-int-">vectCumsumWrite</a></span>(double[]&nbsp;a,
                int&nbsp;ai,
                int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i71" class="rowColor">
+<tr id="i73" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectDivAdd-double:A-double-double:A-int:A-int-int-int-int-">vectDivAdd</a></span>(double[]&nbsp;a,
           double&nbsp;bval,
@@ -738,7 +758,7 @@
           int&nbsp;alen,
           int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i72" class="altColor">
+<tr id="i74" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectDivAdd-double:A-double-double:A-int-int-int-">vectDivAdd</a></span>(double[]&nbsp;a,
           double&nbsp;bval,
@@ -747,7 +767,7 @@
           int&nbsp;ci,
           int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i73" class="rowColor">
+<tr id="i75" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectDivAdd-double-double:A-double:A-int:A-int-int-int-int-">vectDivAdd</a></span>(double&nbsp;bval,
           double[]&nbsp;a,
@@ -758,7 +778,7 @@
           int&nbsp;alen,
           int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i74" class="altColor">
+<tr id="i76" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectDivAdd-double-double:A-double:A-int-int-int-">vectDivAdd</a></span>(double&nbsp;bval,
           double[]&nbsp;a,
@@ -767,7 +787,7 @@
           int&nbsp;ci,
           int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i75" class="rowColor">
+<tr id="i77" class="rowColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectDivWrite-double:A-double:A-int:A-int-int-int-int-">vectDivWrite</a></span>(double[]&nbsp;a,
             double[]&nbsp;b,
@@ -777,7 +797,7 @@
             int&nbsp;alen,
             int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i76" class="altColor">
+<tr id="i78" class="altColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectDivWrite-double:A-double:A-int-int:A-int-int-int-">vectDivWrite</a></span>(double[]&nbsp;a,
             double[]&nbsp;b,
@@ -787,7 +807,7 @@
             int&nbsp;blen,
             int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i77" class="rowColor">
+<tr id="i79" class="rowColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectDivWrite-double:A-double:A-int-int-int-">vectDivWrite</a></span>(double[]&nbsp;a,
             double[]&nbsp;b,
@@ -795,7 +815,7 @@
             int&nbsp;bi,
             int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i78" class="altColor">
+<tr id="i80" class="altColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectDivWrite-double:A-double-int:A-int-int-int-">vectDivWrite</a></span>(double[]&nbsp;a,
             double&nbsp;bval,
@@ -804,14 +824,14 @@
             int&nbsp;alen,
             int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i79" class="rowColor">
+<tr id="i81" class="rowColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectDivWrite-double:A-double-int-int-">vectDivWrite</a></span>(double[]&nbsp;a,
             double&nbsp;bval,
             int&nbsp;ai,
             int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i80" class="altColor">
+<tr id="i82" class="altColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectDivWrite-double-double:A-int:A-int-int-int-">vectDivWrite</a></span>(double&nbsp;bval,
             double[]&nbsp;a,
@@ -820,14 +840,14 @@
             int&nbsp;alen,
             int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i81" class="rowColor">
+<tr id="i83" class="rowColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectDivWrite-double-double:A-int-int-">vectDivWrite</a></span>(double&nbsp;bval,
             double[]&nbsp;a,
             int&nbsp;ai,
             int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i82" class="altColor">
+<tr id="i84" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectEqualAdd-double:A-double-double:A-int:A-int-int-int-int-">vectEqualAdd</a></span>(double[]&nbsp;a,
             double&nbsp;bval,
@@ -838,7 +858,7 @@
             int&nbsp;alen,
             int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i83" class="rowColor">
+<tr id="i85" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectEqualAdd-double:A-double-double:A-int-int-int-">vectEqualAdd</a></span>(double[]&nbsp;a,
             double&nbsp;bval,
@@ -847,7 +867,7 @@
             int&nbsp;ci,
             int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i84" class="altColor">
+<tr id="i86" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectEqualAdd-double-double:A-double:A-int:A-int-int-int-int-">vectEqualAdd</a></span>(double&nbsp;bval,
             double[]&nbsp;a,
@@ -858,7 +878,7 @@
             int&nbsp;alen,
             int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i85" class="rowColor">
+<tr id="i87" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectEqualAdd-double-double:A-double:A-int-int-int-">vectEqualAdd</a></span>(double&nbsp;bval,
             double[]&nbsp;a,
@@ -867,7 +887,7 @@
             int&nbsp;ci,
             int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i86" class="altColor">
+<tr id="i88" class="altColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectEqualWrite-double:A-double:A-int:A-int-int-int-int-">vectEqualWrite</a></span>(double[]&nbsp;a,
               double[]&nbsp;b,
@@ -877,7 +897,7 @@
               int&nbsp;alen,
               int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i87" class="rowColor">
+<tr id="i89" class="rowColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectEqualWrite-double:A-double:A-int-int:A-int-int-int-">vectEqualWrite</a></span>(double[]&nbsp;a,
               double[]&nbsp;b,
@@ -887,7 +907,7 @@
               int&nbsp;blen,
               int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i88" class="altColor">
+<tr id="i90" class="altColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectEqualWrite-double:A-double:A-int-int-int-">vectEqualWrite</a></span>(double[]&nbsp;a,
               double[]&nbsp;b,
@@ -895,7 +915,7 @@
               int&nbsp;bi,
               int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i89" class="rowColor">
+<tr id="i91" class="rowColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectEqualWrite-double:A-double-int:A-int-int-int-">vectEqualWrite</a></span>(double[]&nbsp;a,
               double&nbsp;bval,
@@ -904,14 +924,14 @@
               int&nbsp;alen,
               int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i90" class="altColor">
+<tr id="i92" class="altColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectEqualWrite-double:A-double-int-int-">vectEqualWrite</a></span>(double[]&nbsp;a,
               double&nbsp;bval,
               int&nbsp;ai,
               int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i91" class="rowColor">
+<tr id="i93" class="rowColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectEqualWrite-double-double:A-int:A-int-int-int-">vectEqualWrite</a></span>(double&nbsp;bval,
               double[]&nbsp;a,
@@ -920,14 +940,14 @@
               int&nbsp;alen,
               int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i92" class="altColor">
+<tr id="i94" class="altColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectEqualWrite-double-double:A-int-int-">vectEqualWrite</a></span>(double&nbsp;bval,
               double[]&nbsp;a,
               int&nbsp;ai,
               int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i93" class="rowColor">
+<tr id="i95" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectExpAdd-double:A-double:A-int:A-int-int-int-int-">vectExpAdd</a></span>(double[]&nbsp;a,
           double[]&nbsp;c,
@@ -937,7 +957,7 @@
           int&nbsp;alen,
           int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i94" class="altColor">
+<tr id="i96" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectExpAdd-double:A-double:A-int-int-int-">vectExpAdd</a></span>(double[]&nbsp;a,
           double[]&nbsp;c,
@@ -945,7 +965,7 @@
           int&nbsp;ci,
           int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i95" class="rowColor">
+<tr id="i97" class="rowColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectExpWrite-double:A-int:A-int-int-int-">vectExpWrite</a></span>(double[]&nbsp;a,
             int[]&nbsp;aix,
@@ -953,13 +973,13 @@
             int&nbsp;alen,
             int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i96" class="altColor">
+<tr id="i98" class="altColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectExpWrite-double:A-int-int-">vectExpWrite</a></span>(double[]&nbsp;a,
             int&nbsp;ai,
             int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i97" class="rowColor">
+<tr id="i99" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectFloorAdd-double:A-double:A-int:A-int-int-int-int-">vectFloorAdd</a></span>(double[]&nbsp;a,
             double[]&nbsp;c,
@@ -969,7 +989,7 @@
             int&nbsp;alen,
             int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i98" class="altColor">
+<tr id="i100" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectFloorAdd-double:A-double:A-int-int-int-">vectFloorAdd</a></span>(double[]&nbsp;a,
             double[]&nbsp;c,
@@ -977,7 +997,7 @@
             int&nbsp;ci,
             int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i99" class="rowColor">
+<tr id="i101" class="rowColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectFloorWrite-double:A-int:A-int-int-int-">vectFloorWrite</a></span>(double[]&nbsp;a,
               int[]&nbsp;aix,
@@ -985,13 +1005,13 @@
               int&nbsp;alen,
               int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i100" class="altColor">
+<tr id="i102" class="altColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectFloorWrite-double:A-int-int-">vectFloorWrite</a></span>(double[]&nbsp;a,
               int&nbsp;ai,
               int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i101" class="rowColor">
+<tr id="i103" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectGreaterAdd-double:A-double-double:A-int:A-int-int-int-int-">vectGreaterAdd</a></span>(double[]&nbsp;a,
               double&nbsp;bval,
@@ -1002,7 +1022,7 @@
               int&nbsp;alen,
               int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i102" class="altColor">
+<tr id="i104" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectGreaterAdd-double:A-double-double:A-int-int-int-">vectGreaterAdd</a></span>(double[]&nbsp;a,
               double&nbsp;bval,
@@ -1011,7 +1031,7 @@
               int&nbsp;ci,
               int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i103" class="rowColor">
+<tr id="i105" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectGreaterAdd-double-double:A-double:A-int:A-int-int-int-int-">vectGreaterAdd</a></span>(double&nbsp;bval,
               double[]&nbsp;a,
@@ -1022,7 +1042,7 @@
               int&nbsp;alen,
               int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i104" class="altColor">
+<tr id="i106" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectGreaterAdd-double-double:A-double:A-int-int-int-">vectGreaterAdd</a></span>(double&nbsp;bval,
               double[]&nbsp;a,
@@ -1031,7 +1051,7 @@
               int&nbsp;ci,
               int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i105" class="rowColor">
+<tr id="i107" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectGreaterequalAdd-double:A-double-double:A-int:A-int-int-int-int-">vectGreaterequalAdd</a></span>(double[]&nbsp;a,
                    double&nbsp;bval,
@@ -1042,7 +1062,7 @@
                    int&nbsp;alen,
                    int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i106" class="altColor">
+<tr id="i108" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectGreaterequalAdd-double:A-double-double:A-int-int-int-">vectGreaterequalAdd</a></span>(double[]&nbsp;a,
                    double&nbsp;bval,
@@ -1051,7 +1071,7 @@
                    int&nbsp;ci,
                    int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i107" class="rowColor">
+<tr id="i109" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectGreaterequalAdd-double-double:A-double:A-int:A-int-int-int-int-">vectGreaterequalAdd</a></span>(double&nbsp;bval,
                    double[]&nbsp;a,
@@ -1062,7 +1082,7 @@
                    int&nbsp;alen,
                    int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i108" class="altColor">
+<tr id="i110" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectGreaterequalAdd-double-double:A-double:A-int-int-int-">vectGreaterequalAdd</a></span>(double&nbsp;bval,
                    double[]&nbsp;a,
@@ -1071,7 +1091,7 @@
                    int&nbsp;ci,
                    int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i109" class="rowColor">
+<tr id="i111" class="rowColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectGreaterequalWrite-double:A-double:A-int:A-int-int-int-int-">vectGreaterequalWrite</a></span>(double[]&nbsp;a,
                      double[]&nbsp;b,
@@ -1081,7 +1101,7 @@
                      int&nbsp;alen,
                      int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i110" class="altColor">
+<tr id="i112" class="altColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectGreaterequalWrite-double:A-double:A-int-int:A-int-int-int-">vectGreaterequalWrite</a></span>(double[]&nbsp;a,
                      double[]&nbsp;b,
@@ -1091,7 +1111,7 @@
                      int&nbsp;blen,
                      int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i111" class="rowColor">
+<tr id="i113" class="rowColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectGreaterequalWrite-double:A-double:A-int-int-int-">vectGreaterequalWrite</a></span>(double[]&nbsp;a,
                      double[]&nbsp;b,
@@ -1099,7 +1119,7 @@
                      int&nbsp;bi,
                      int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i112" class="altColor">
+<tr id="i114" class="altColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectGreaterequalWrite-double:A-double-int:A-int-int-int-">vectGreaterequalWrite</a></span>(double[]&nbsp;a,
                      double&nbsp;bval,
@@ -1108,14 +1128,14 @@
                      int&nbsp;alen,
                      int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i113" class="rowColor">
+<tr id="i115" class="rowColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectGreaterequalWrite-double:A-double-int-int-">vectGreaterequalWrite</a></span>(double[]&nbsp;a,
                      double&nbsp;bval,
                      int&nbsp;ai,
                      int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i114" class="altColor">
+<tr id="i116" class="altColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectGreaterequalWrite-double-double:A-int:A-int-int-int-">vectGreaterequalWrite</a></span>(double&nbsp;bval,
                      double[]&nbsp;a,
@@ -1124,14 +1144,14 @@
                      int&nbsp;alen,
                      int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i115" class="rowColor">
+<tr id="i117" class="rowColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectGreaterequalWrite-double-double:A-int-int-">vectGreaterequalWrite</a></span>(double&nbsp;bval,
                      double[]&nbsp;a,
                      int&nbsp;ai,
                      int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i116" class="altColor">
+<tr id="i118" class="altColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectGreaterWrite-double:A-double:A-int:A-int-int-int-int-">vectGreaterWrite</a></span>(double[]&nbsp;a,
                 double[]&nbsp;b,
@@ -1141,7 +1161,7 @@
                 int&nbsp;alen,
                 int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i117" class="rowColor">
+<tr id="i119" class="rowColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectGreaterWrite-double:A-double:A-int-int:A-int-int-int-">vectGreaterWrite</a></span>(double[]&nbsp;a,
                 double[]&nbsp;b,
@@ -1151,7 +1171,7 @@
                 int&nbsp;blen,
                 int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i118" class="altColor">
+<tr id="i120" class="altColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectGreaterWrite-double:A-double:A-int-int-int-">vectGreaterWrite</a></span>(double[]&nbsp;a,
                 double[]&nbsp;b,
@@ -1159,7 +1179,7 @@
                 int&nbsp;bi,
                 int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i119" class="rowColor">
+<tr id="i121" class="rowColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectGreaterWrite-double:A-double-int:A-int-int-int-">vectGreaterWrite</a></span>(double[]&nbsp;a,
                 double&nbsp;bval,
@@ -1168,14 +1188,14 @@
                 int&nbsp;alen,
                 int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i120" class="altColor">
+<tr id="i122" class="altColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectGreaterWrite-double:A-double-int-int-">vectGreaterWrite</a></span>(double[]&nbsp;a,
                 double&nbsp;bval,
                 int&nbsp;ai,
                 int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i121" class="rowColor">
+<tr id="i123" class="rowColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectGreaterWrite-double-double:A-int:A-int-int-int-">vectGreaterWrite</a></span>(double&nbsp;bval,
                 double[]&nbsp;a,
@@ -1184,14 +1204,14 @@
                 int&nbsp;alen,
                 int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i122" class="altColor">
+<tr id="i124" class="altColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectGreaterWrite-double-double:A-int-int-">vectGreaterWrite</a></span>(double&nbsp;bval,
                 double[]&nbsp;a,
                 int&nbsp;ai,
                 int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i123" class="rowColor">
+<tr id="i125" class="rowColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectIm2colWrite-double:A-int:A-int-int-int-int-int-int-int-int-int-int-int-int-">vectIm2colWrite</a></span>(double[]&nbsp;avals,
                int[]&nbsp;aix,
@@ -1208,7 +1228,7 @@
                int&nbsp;H,
                int&nbsp;W)</code>&nbsp;</td>
 </tr>
-<tr id="i124" class="altColor">
+<tr id="i126" class="altColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectIm2colWrite-double:A-int-int-int-int-int-int-int-int-int-int-int-">vectIm2colWrite</a></span>(double[]&nbsp;a,
                int&nbsp;ai,
@@ -1223,7 +1243,7 @@
                int&nbsp;H,
                int&nbsp;W)</code>&nbsp;</td>
 </tr>
-<tr id="i125" class="rowColor">
+<tr id="i127" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectLessAdd-double:A-double-double:A-int:A-int-int-int-int-">vectLessAdd</a></span>(double[]&nbsp;a,
            double&nbsp;bval,
@@ -1234,7 +1254,7 @@
            int&nbsp;alen,
            int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i126" class="altColor">
+<tr id="i128" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectLessAdd-double:A-double-double:A-int-int-int-">vectLessAdd</a></span>(double[]&nbsp;a,
            double&nbsp;bval,
@@ -1243,7 +1263,7 @@
            int&nbsp;ci,
            int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i127" class="rowColor">
+<tr id="i129" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectLessAdd-double-double:A-double:A-int:A-int-int-int-int-">vectLessAdd</a></span>(double&nbsp;bval,
            double[]&nbsp;a,
@@ -1254,7 +1274,7 @@
            int&nbsp;alen,
            int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i128" class="altColor">
+<tr id="i130" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectLessAdd-double-double:A-double:A-int-int-int-">vectLessAdd</a></span>(double&nbsp;bval,
            double[]&nbsp;a,
@@ -1263,7 +1283,7 @@
            int&nbsp;ci,
            int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i129" class="rowColor">
+<tr id="i131" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectLessequalAdd-double:A-double-double:A-int:A-int-int-int-int-">vectLessequalAdd</a></span>(double[]&nbsp;a,
                 double&nbsp;bval,
@@ -1274,7 +1294,7 @@
                 int&nbsp;alen,
                 int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i130" class="altColor">
+<tr id="i132" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectLessequalAdd-double:A-double-double:A-int-int-int-">vectLessequalAdd</a></span>(double[]&nbsp;a,
                 double&nbsp;bval,
@@ -1283,7 +1303,7 @@
                 int&nbsp;ci,
                 int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i131" class="rowColor">
+<tr id="i133" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectLessequalAdd-double-double:A-double:A-int:A-int-int-int-int-">vectLessequalAdd</a></span>(double&nbsp;bval,
                 double[]&nbsp;a,
@@ -1294,7 +1314,7 @@
                 int&nbsp;alen,
                 int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i132" class="altColor">
+<tr id="i134" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectLessequalAdd-double-double:A-double:A-int-int-int-">vectLessequalAdd</a></span>(double&nbsp;bval,
                 double[]&nbsp;a,
@@ -1303,7 +1323,7 @@
                 int&nbsp;ci,
                 int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i133" class="rowColor">
+<tr id="i135" class="rowColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectLessequalWrite-double:A-double:A-int:A-int-int-int-int-">vectLessequalWrite</a></span>(double[]&nbsp;a,
                   double[]&nbsp;b,
@@ -1313,7 +1333,7 @@
                   int&nbsp;alen,
                   int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i134" class="altColor">
+<tr id="i136" class="altColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectLessequalWrite-double:A-double:A-int-int:A-int-int-int-">vectLessequalWrite</a></span>(double[]&nbsp;a,
                   double[]&nbsp;b,
@@ -1323,7 +1343,7 @@
                   int&nbsp;blen,
                   int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i135" class="rowColor">
+<tr id="i137" class="rowColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectLessequalWrite-double:A-double:A-int-int-int-">vectLessequalWrite</a></span>(double[]&nbsp;a,
                   double[]&nbsp;b,
@@ -1331,7 +1351,7 @@
                   int&nbsp;bi,
                   int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i136" class="altColor">
+<tr id="i138" class="altColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectLessequalWrite-double:A-double-int:A-int-int-int-">vectLessequalWrite</a></span>(double[]&nbsp;a,
                   double&nbsp;bval,
@@ -1340,14 +1360,14 @@
                   int&nbsp;alen,
                   int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i137" class="rowColor">
+<tr id="i139" class="rowColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectLessequalWrite-double:A-double-int-int-">vectLessequalWrite</a></span>(double[]&nbsp;a,
                   double&nbsp;bval,
                   int&nbsp;ai,
                   int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i138" class="altColor">
+<tr id="i140" class="altColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectLessequalWrite-double-double:A-int:A-int-int-int-">vectLessequalWrite</a></span>(double&nbsp;bval,
                   double[]&nbsp;a,
@@ -1356,14 +1376,14 @@
                   int&nbsp;alen,
                   int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i139" class="rowColor">
+<tr id="i141" class="rowColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectLessequalWrite-double-double:A-int-int-">vectLessequalWrite</a></span>(double&nbsp;bval,
                   double[]&nbsp;a,
                   int&nbsp;ai,
                   int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i140" class="altColor">
+<tr id="i142" class="altColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectLessWrite-double:A-double:A-int:A-int-int-int-int-">vectLessWrite</a></span>(double[]&nbsp;a,
              double[]&nbsp;b,
@@ -1373,7 +1393,7 @@
              int&nbsp;alen,
              int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i141" class="rowColor">
+<tr id="i143" class="rowColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectLessWrite-double:A-double:A-int-int:A-int-int-int-">vectLessWrite</a></span>(double[]&nbsp;a,
              double[]&nbsp;b,
@@ -1383,7 +1403,7 @@
              int&nbsp;blen,
              int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i142" class="altColor">
+<tr id="i144" class="altColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectLessWrite-double:A-double:A-int-int-int-">vectLessWrite</a></span>(double[]&nbsp;a,
              double[]&nbsp;b,
@@ -1391,7 +1411,7 @@
              int&nbsp;bi,
              int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i143" class="rowColor">
+<tr id="i145" class="rowColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectLessWrite-double:A-double-int:A-int-int-int-">vectLessWrite</a></span>(double[]&nbsp;a,
              double&nbsp;bval,
@@ -1400,14 +1420,14 @@
              int&nbsp;alen,
              int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i144" class="altColor">
+<tr id="i146" class="altColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectLessWrite-double:A-double-int-int-">vectLessWrite</a></span>(double[]&nbsp;a,
              double&nbsp;bval,
              int&nbsp;ai,
              int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i145" class="rowColor">
+<tr id="i147" class="rowColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectLessWrite-double-double:A-int:A-int-int-int-">vectLessWrite</a></span>(double&nbsp;bval,
              double[]&nbsp;a,
@@ -1416,14 +1436,14 @@
              int&nbsp;alen,
              int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i146" class="altColor">
+<tr id="i148" class="altColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectLessWrite-double-double:A-int-int-">vectLessWrite</a></span>(double&nbsp;bval,
              double[]&nbsp;a,
              int&nbsp;ai,
              int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i147" class="rowColor">
+<tr id="i149" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectLogAdd-double:A-double:A-int:A-int-int-int-int-">vectLogAdd</a></span>(double[]&nbsp;a,
           double[]&nbsp;c,
@@ -1433,7 +1453,7 @@
           int&nbsp;alen,
           int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i148" class="altColor">
+<tr id="i150" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectLogAdd-double:A-double:A-int-int-int-">vectLogAdd</a></span>(double[]&nbsp;a,
           double[]&nbsp;c,
@@ -1441,7 +1461,7 @@
           int&nbsp;ci,
           int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i149" class="rowColor">
+<tr id="i151" class="rowColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectLogWrite-double:A-int:A-int-int-int-">vectLogWrite</a></span>(double[]&nbsp;a,
             int[]&nbsp;aix,
@@ -1449,13 +1469,13 @@
             int&nbsp;alen,
             int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i150" class="altColor">
+<tr id="i152" class="altColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectLogWrite-double:A-int-int-">vectLogWrite</a></span>(double[]&nbsp;a,
             int&nbsp;ai,
             int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i151" class="rowColor">
+<tr id="i153" class="rowColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectMatrixMult-double:A-double:A-int:A-int-int-int-int-">vectMatrixMult</a></span>(double[]&nbsp;a,
               double[]&nbsp;b,
@@ -1465,7 +1485,7 @@
               int&nbsp;alen,
               int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i152" class="altColor">
+<tr id="i154" class="altColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectMatrixMult-double:A-double:A-int-int-int-">vectMatrixMult</a></span>(double[]&nbsp;a,
               double[]&nbsp;b,
@@ -1473,7 +1493,7 @@
               int&nbsp;bi,
               int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i153" class="rowColor">
+<tr id="i155" class="rowColor">
 <td class="colFirst"><code>static double</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectMax-double:A-int:A-int-int-int-">vectMax</a></span>(double[]&nbsp;avals,
        int[]&nbsp;aix,
@@ -1481,13 +1501,13 @@
        int&nbsp;alen,
        int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i154" class="altColor">
+<tr id="i156" class="altColor">
 <td class="colFirst"><code>static double</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectMax-double:A-int-int-">vectMax</a></span>(double[]&nbsp;a,
        int&nbsp;ai,
        int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i155" class="rowColor">
+<tr id="i157" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectMaxAdd-double:A-double-double:A-int:A-int-int-int-int-">vectMaxAdd</a></span>(double[]&nbsp;a,
           double&nbsp;bval,
@@ -1498,7 +1518,7 @@
           int&nbsp;alen,
           int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i156" class="altColor">
+<tr id="i158" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectMaxAdd-double:A-double-double:A-int-int-int-">vectMaxAdd</a></span>(double[]&nbsp;a,
           double&nbsp;bval,
@@ -1507,7 +1527,7 @@
           int&nbsp;ci,
           int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i157" class="rowColor">
+<tr id="i159" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectMaxAdd-double-double:A-double:A-int:A-int-int-int-int-">vectMaxAdd</a></span>(double&nbsp;bval,
           double[]&nbsp;a,
@@ -1518,7 +1538,7 @@
           int&nbsp;alen,
           int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i158" class="altColor">
+<tr id="i160" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectMaxAdd-double-double:A-double:A-int-int-int-">vectMaxAdd</a></span>(double&nbsp;bval,
           double[]&nbsp;a,
@@ -1527,7 +1547,7 @@
           int&nbsp;ci,
           int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i159" class="rowColor">
+<tr id="i161" class="rowColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectMaxpoolWrite-double:A-int:A-int-int-int-int-int-int-int-int-int-int-int-int-">vectMaxpoolWrite</a></span>(double[]&nbsp;avals,
                 int[]&nbsp;aix,
@@ -1544,7 +1564,7 @@
                 int&nbsp;H,
                 int&nbsp;W)</code>&nbsp;</td>
 </tr>
-<tr id="i160" class="altColor">
+<tr id="i162" class="altColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectMaxpoolWrite-double:A-int-int-int-int-int-int-int-int-int-int-int-">vectMaxpoolWrite</a></span>(double[]&nbsp;a,
                 int&nbsp;ai,
@@ -1559,7 +1579,7 @@
                 int&nbsp;H,
                 int&nbsp;W)</code>&nbsp;</td>
 </tr>
-<tr id="i161" class="rowColor">
+<tr id="i163" class="rowColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectMaxWrite-double:A-double:A-int:A-int-int-int-int-">vectMaxWrite</a></span>(double[]&nbsp;a,
             double[]&nbsp;b,
@@ -1569,7 +1589,7 @@
             int&nbsp;alen,
             int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i162" class="altColor">
+<tr id="i164" class="altColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectMaxWrite-double:A-double:A-int-int:A-int-int-int-">vectMaxWrite</a></span>(double[]&nbsp;a,
             double[]&nbsp;b,
@@ -1579,7 +1599,7 @@
             int&nbsp;blen,
             int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i163" class="rowColor">
+<tr id="i165" class="rowColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectMaxWrite-double:A-double:A-int-int-int-">vectMaxWrite</a></span>(double[]&nbsp;a,
             double[]&nbsp;b,
@@ -1587,7 +1607,7 @@
             int&nbsp;bi,
             int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i164" class="altColor">
+<tr id="i166" class="altColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectMaxWrite-double:A-double-int:A-int-int-int-">vectMaxWrite</a></span>(double[]&nbsp;a,
             double&nbsp;bval,
@@ -1596,14 +1616,14 @@
             int&nbsp;alen,
             int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i165" class="rowColor">
+<tr id="i167" class="rowColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectMaxWrite-double:A-double-int-int-">vectMaxWrite</a></span>(double[]&nbsp;a,
             double&nbsp;bval,
             int&nbsp;ai,
             int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i166" class="altColor">
+<tr id="i168" class="altColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectMaxWrite-double-double:A-int:A-int-int-int-">vectMaxWrite</a></span>(double&nbsp;bval,
             double[]&nbsp;a,
@@ -1612,14 +1632,14 @@
             int&nbsp;alen,
             int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i167" class="rowColor">
+<tr id="i169" class="rowColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectMaxWrite-double-double:A-int-int-">vectMaxWrite</a></span>(double&nbsp;bval,
             double[]&nbsp;a,
             int&nbsp;ai,
             int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i168" class="altColor">
+<tr id="i170" class="altColor">
 <td class="colFirst"><code>static double</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectMean-double:A-int:A-int-int-int-">vectMean</a></span>(double[]&nbsp;avals,
         int[]&nbsp;aix,
@@ -1627,13 +1647,13 @@
         int&nbsp;alen,
         int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i169" class="rowColor">
+<tr id="i171" class="rowColor">
 <td class="colFirst"><code>static double</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectMean-double:A-int-int-">vectMean</a></span>(double[]&nbsp;a,
         int&nbsp;ai,
         int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i170" class="altColor">
+<tr id="i172" class="altColor">
 <td class="colFirst"><code>static double</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectMin-double:A-int:A-int-int-int-">vectMin</a></span>(double[]&nbsp;avals,
        int[]&nbsp;aix,
@@ -1641,13 +1661,13 @@
        int&nbsp;alen,
        int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i171" class="rowColor">
+<tr id="i173" class="rowColor">
 <td class="colFirst"><code>static double</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectMin-double:A-int-int-">vectMin</a></span>(double[]&nbsp;a,
        int&nbsp;ai,
        int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i172" class="altColor">
+<tr id="i174" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectMinAdd-double:A-double-double:A-int:A-int-int-int-int-">vectMinAdd</a></span>(double[]&nbsp;a,
           double&nbsp;bval,
@@ -1658,7 +1678,7 @@
           int&nbsp;alen,
           int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i173" class="rowColor">
+<tr id="i175" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectMinAdd-double:A-double-double:A-int-int-int-">vectMinAdd</a></span>(double[]&nbsp;a,
           double&nbsp;bval,
@@ -1667,7 +1687,7 @@
           int&nbsp;ci,
           int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i174" class="altColor">
+<tr id="i176" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectMinAdd-double-double:A-double:A-int:A-int-int-int-int-">vectMinAdd</a></span>(double&nbsp;bval,
           double[]&nbsp;a,
@@ -1678,7 +1698,7 @@
           int&nbsp;alen,
           int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i175" class="rowColor">
+<tr id="i177" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectMinAdd-double-double:A-double:A-int-int-int-">vectMinAdd</a></span>(double&nbsp;bval,
           double[]&nbsp;a,
@@ -1687,7 +1707,7 @@
           int&nbsp;ci,
           int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i176" class="altColor">
+<tr id="i178" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectMinusAdd-double:A-double-double:A-int:A-int-int-int-int-">vectMinusAdd</a></span>(double[]&nbsp;a,
             double&nbsp;bval,
@@ -1698,7 +1718,7 @@
             int&nbsp;alen,
             int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i177" class="rowColor">
+<tr id="i179" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectMinusAdd-double:A-double-double:A-int-int-int-">vectMinusAdd</a></span>(double[]&nbsp;a,
             double&nbsp;bval,
@@ -1707,7 +1727,7 @@
             int&nbsp;ci,
             int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i178" class="altColor">
+<tr id="i180" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectMinusAdd-double-double:A-double:A-int:A-int-int-int-int-">vectMinusAdd</a></span>(double&nbsp;bval,
             double[]&nbsp;a,
@@ -1718,7 +1738,7 @@
             int&nbsp;alen,
             int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i179" class="rowColor">
+<tr id="i181" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectMinusAdd-double-double:A-double:A-int-int-int-">vectMinusAdd</a></span>(double&nbsp;bval,
             double[]&nbsp;a,
@@ -1727,7 +1747,7 @@
             int&nbsp;ci,
             int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i180" class="altColor">
+<tr id="i182" class="altColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectMinusWrite-double:A-double:A-int:A-int-int-int-int-">vectMinusWrite</a></span>(double[]&nbsp;a,
               double[]&nbsp;b,
@@ -1737,7 +1757,7 @@
               int&nbsp;alen,
               int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i181" class="rowColor">
+<tr id="i183" class="rowColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectMinusWrite-double:A-double:A-int-int:A-int-int-int-">vectMinusWrite</a></span>(double[]&nbsp;a,
               double[]&nbsp;b,
@@ -1747,7 +1767,7 @@
               int&nbsp;blen,
               int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i182" class="altColor">
+<tr id="i184" class="altColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectMinusWrite-double:A-double:A-int-int-int-">vectMinusWrite</a></span>(double[]&nbsp;a,
               double[]&nbsp;b,
@@ -1755,7 +1775,7 @@
               int&nbsp;bi,
               int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i183" class="rowColor">
+<tr id="i185" class="rowColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectMinusWrite-double:A-double-int:A-int-int-int-">vectMinusWrite</a></span>(double[]&nbsp;a,
               double&nbsp;bval,
@@ -1764,14 +1784,14 @@
               int&nbsp;alen,
               int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i184" class="altColor">
+<tr id="i186" class="altColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectMinusWrite-double:A-double-int-int-">vectMinusWrite</a></span>(double[]&nbsp;a,
               double&nbsp;bval,
               int&nbsp;ai,
               int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i185" class="rowColor">
+<tr id="i187" class="rowColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectMinusWrite-double-double:A-int:A-int-int-int-">vectMinusWrite</a></span>(double&nbsp;bval,
               double[]&nbsp;a,
@@ -1780,14 +1800,14 @@
               int&nbsp;alen,
               int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i186" class="altColor">
+<tr id="i188" class="altColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectMinusWrite-double-double:A-int-int-">vectMinusWrite</a></span>(double&nbsp;bval,
               double[]&nbsp;a,
               int&nbsp;ai,
               int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i187" class="rowColor">
+<tr id="i189" class="rowColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectMinWrite-double:A-double:A-int:A-int-int-int-int-">vectMinWrite</a></span>(double[]&nbsp;a,
             double[]&nbsp;b,
@@ -1797,7 +1817,7 @@
             int&nbsp;alen,
             int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i188" class="altColor">
+<tr id="i190" class="altColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectMinWrite-double:A-double:A-int-int:A-int-int-int-">vectMinWrite</a></span>(double[]&nbsp;a,
             double[]&nbsp;b,
@@ -1807,7 +1827,7 @@
             int&nbsp;blen,
             int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i189" class="rowColor">
+<tr id="i191" class="rowColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectMinWrite-double:A-double:A-int-int-int-">vectMinWrite</a></span>(double[]&nbsp;a,
             double[]&nbsp;b,
@@ -1815,7 +1835,7 @@
             int&nbsp;bi,
             int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i190" class="altColor">
+<tr id="i192" class="altColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectMinWrite-double:A-double-int:A-int-int-int-">vectMinWrite</a></span>(double[]&nbsp;a,
             double&nbsp;bval,
@@ -1824,14 +1844,14 @@
             int&nbsp;alen,
             int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i191" class="rowColor">
+<tr id="i193" class="rowColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectMinWrite-double:A-double-int-int-">vectMinWrite</a></span>(double[]&nbsp;a,
             double&nbsp;bval,
             int&nbsp;ai,
             int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i192" class="altColor">
+<tr id="i194" class="altColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectMinWrite-double-double:A-int:A-int-int-int-">vectMinWrite</a></span>(double&nbsp;bval,
             double[]&nbsp;a,
@@ -1840,14 +1860,14 @@
             int&nbsp;alen,
             int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i193" class="rowColor">
+<tr id="i195" class="rowColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectMinWrite-double-double:A-int-int-">vectMinWrite</a></span>(double&nbsp;bval,
             double[]&nbsp;a,
             int&nbsp;ai,
             int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i194" class="altColor">
+<tr id="i196" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectMult2Add-double:A-double:A-int:A-int-int-int-int-">vectMult2Add</a></span>(double[]&nbsp;a,
             double[]&nbsp;c,
@@ -1857,7 +1877,7 @@
             int&nbsp;alen,
             int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i195" class="rowColor">
+<tr id="i197" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectMult2Add-double:A-double:A-int-int-int-">vectMult2Add</a></span>(double[]&nbsp;a,
             double[]&nbsp;c,
@@ -1865,7 +1885,7 @@
             int&nbsp;ci,
             int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i196" class="altColor">
+<tr id="i198" class="altColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectMult2Write-double:A-int:A-int-int-int-">vectMult2Write</a></span>(double[]&nbsp;a,
               int[]&nbsp;aix,
@@ -1873,13 +1893,13 @@
               int&nbsp;alen,
               int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i197" class="rowColor">
+<tr id="i199" class="rowColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectMult2Write-double:A-int-int-">vectMult2Write</a></span>(double[]&nbsp;a,
               int&nbsp;ai,
               int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i198" class="altColor">
+<tr id="i200" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectMultAdd-double:A-double:A-double:A-int-int-int-">vectMultAdd</a></span>(double[]&nbsp;a,
            double[]&nbsp;b,
@@ -1888,7 +1908,7 @@
            int&nbsp;ci,
            int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i199" class="rowColor">
+<tr id="i201" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectMultAdd-double:A-double-double:A-int:A-int-int-int-int-">vectMultAdd</a></span>(double[]&nbsp;a,
            double&nbsp;bval,
@@ -1899,7 +1919,7 @@
            int&nbsp;alen,
            int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i200" class="altColor">
+<tr id="i202" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectMultAdd-double:A-double-double:A-int-int-int-">vectMultAdd</a></span>(double[]&nbsp;a,
            double&nbsp;bval,
@@ -1908,7 +1928,7 @@
            int&nbsp;ci,
            int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i201" class="rowColor">
+<tr id="i203" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectMultAdd-double-double:A-double:A-int:A-int-int-int-int-">vectMultAdd</a></span>(double&nbsp;bval,
            double[]&nbsp;a,
@@ -1919,7 +1939,7 @@
            int&nbsp;alen,
            int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i202" class="altColor">
+<tr id="i204" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectMultAdd-double-double:A-double:A-int-int-int-">vectMultAdd</a></span>(double&nbsp;bval,
            double[]&nbsp;a,
@@ -1928,7 +1948,7 @@
            int&nbsp;ci,
            int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i203" class="rowColor">
+<tr id="i205" class="rowColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectMultWrite-double:A-double:A-int:A-int-int-int-int-">vectMultWrite</a></span>(double[]&nbsp;a,
              double[]&nbsp;b,
@@ -1938,7 +1958,7 @@
              int&nbsp;alen,
              int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i204" class="altColor">
+<tr id="i206" class="altColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectMultWrite-double:A-double:A-int-int:A-int-int-int-">vectMultWrite</a></span>(double[]&nbsp;a,
              double[]&nbsp;b,
@@ -1948,7 +1968,7 @@
              int&nbsp;blen,
              int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i205" class="rowColor">
+<tr id="i207" class="rowColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectMultWrite-double:A-double:A-int-int-int-">vectMultWrite</a></span>(double[]&nbsp;a,
              double[]&nbsp;b,
@@ -1956,7 +1976,7 @@
              int&nbsp;bi,
              int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i206" class="altColor">
+<tr id="i208" class="altColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectMultWrite-double:A-double-int:A-int-int-int-">vectMultWrite</a></span>(double[]&nbsp;a,
              double&nbsp;bval,
@@ -1965,14 +1985,14 @@
              int&nbsp;alen,
              int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i207" class="rowColor">
+<tr id="i209" class="rowColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectMultWrite-double:A-double-int-int-">vectMultWrite</a></span>(double[]&nbsp;a,
              double&nbsp;bval,
              int&nbsp;bi,
              int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i208" class="altColor">
+<tr id="i210" class="altColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectMultWrite-double-double:A-int:A-int-int-int-">vectMultWrite</a></span>(double&nbsp;bval,
              double[]&nbsp;a,
@@ -1981,14 +2001,14 @@
              int&nbsp;alen,
              int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i209" class="rowColor">
+<tr id="i211" class="rowColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectMultWrite-double-double:A-int-int-">vectMultWrite</a></span>(double&nbsp;bval,
              double[]&nbsp;a,
              int&nbsp;bi,
              int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i210" class="altColor">
+<tr id="i212" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectNotequalAdd-double:A-double-double:A-int:A-int-int-int-int-">vectNotequalAdd</a></span>(double[]&nbsp;a,
                double&nbsp;bval,
@@ -1999,7 +2019,7 @@
                int&nbsp;alen,
                int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i211" class="rowColor">
+<tr id="i213" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectNotequalAdd-double:A-double-double:A-int-int-int-">vectNotequalAdd</a></span>(double[]&nbsp;a,
                double&nbsp;bval,
@@ -2008,7 +2028,7 @@
                int&nbsp;ci,
                int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i212" class="altColor">
+<tr id="i214" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectNotequalAdd-double-double:A-double:A-int:A-int-int-int-int-">vectNotequalAdd</a></span>(double&nbsp;bval,
                double[]&nbsp;a,
@@ -2019,7 +2039,7 @@
                int&nbsp;alen,
                int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i213" class="rowColor">
+<tr id="i215" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectNotequalAdd-double-double:A-double:A-int-int-int-">vectNotequalAdd</a></span>(double&nbsp;bval,
                double[]&nbsp;a,
@@ -2028,7 +2048,7 @@
                int&nbsp;ci,
                int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i214" class="altColor">
+<tr id="i216" class="altColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectNotequalWrite-double:A-double:A-int:A-int-int-int-int-">vectNotequalWrite</a></span>(double[]&nbsp;a,
                  double[]&nbsp;b,
@@ -2038,7 +2058,7 @@
                  int&nbsp;alen,
                  int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i215" class="rowColor">
+<tr id="i217" class="rowColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectNotequalWrite-double:A-double:A-int-int:A-int-int-int-">vectNotequalWrite</a></span>(double[]&nbsp;a,
                  double[]&nbsp;b,
@@ -2048,7 +2068,7 @@
                  int&nbsp;blen,
                  int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i216" class="altColor">
+<tr id="i218" class="altColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectNotequalWrite-double:A-double:A-int-int-int-">vectNotequalWrite</a></span>(double[]&nbsp;a,
                  double[]&nbsp;b,
@@ -2056,7 +2076,7 @@
                  int&nbsp;bi,
                  int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i217" class="rowColor">
+<tr id="i219" class="rowColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectNotequalWrite-double:A-double-int:A-int-int-int-">vectNotequalWrite</a></span>(double[]&nbsp;a,
                  double&nbsp;bval,
@@ -2065,14 +2085,14 @@
                  int&nbsp;alen,
                  int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i218" class="altColor">
+<tr id="i220" class="altColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectNotequalWrite-double:A-double-int-int-">vectNotequalWrite</a></span>(double[]&nbsp;a,
                  double&nbsp;bval,
                  int&nbsp;ai,
                  int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i219" class="rowColor">
+<tr id="i221" class="rowColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectNotequalWrite-double-double:A-int:A-int-int-int-">vectNotequalWrite</a></span>(double&nbsp;bval,
                  double[]&nbsp;a,
@@ -2081,14 +2101,14 @@
                  int&nbsp;alen,
                  int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i220" class="altColor">
+<tr id="i222" class="altColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectNotequalWrite-double-double:A-int-int-">vectNotequalWrite</a></span>(double&nbsp;bval,
                  double[]&nbsp;a,
                  int&nbsp;ai,
                  int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i221" class="rowColor">
+<tr id="i223" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectOuterMultAdd-double:A-double:A-double:A-int:A-int-int-int-int-int-int-">vectOuterMultAdd</a></span>(double[]&nbsp;a,
                 double[]&nbsp;b,
@@ -2101,7 +2121,7 @@
                 int&nbsp;len1,
                 int&nbsp;len2)</code>&nbsp;</td>
 </tr>
-<tr id="i222" class="altColor">
+<tr id="i224" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectOuterMultAdd-double:A-double:A-double:A-int-int:A-int-int-int-int-int-">vectOuterMultAdd</a></span>(double[]&nbsp;a,
                 double[]&nbsp;b,
@@ -2114,7 +2134,7 @@
                 int&nbsp;len1,
                 int&nbsp;len2)</code>&nbsp;</td>
 </tr>
-<tr id="i223" class="rowColor">
+<tr id="i225" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectOuterMultAdd-double:A-double:A-double:A-int-int-int-int-int-">vectOuterMultAdd</a></span>(double[]&nbsp;a,
                 double[]&nbsp;b,
@@ -2125,7 +2145,7 @@
                 int&nbsp;len1,
                 int&nbsp;len2)</code>&nbsp;</td>
 </tr>
-<tr id="i224" class="altColor">
+<tr id="i226" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectPlusAdd-double:A-double-double:A-int:A-int-int-int-int-">vectPlusAdd</a></span>(double[]&nbsp;a,
            double&nbsp;bval,
@@ -2136,7 +2156,7 @@
            int&nbsp;alen,
            int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i225" class="rowColor">
+<tr id="i227" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectPlusAdd-double:A-double-double:A-int-int-int-">vectPlusAdd</a></span>(double[]&nbsp;a,
            double&nbsp;bval,
@@ -2145,7 +2165,7 @@
            int&nbsp;ci,
            int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i226" class="altColor">
+<tr id="i228" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectPlusAdd-double-double:A-double:A-int:A-int-int-int-int-">vectPlusAdd</a></span>(double&nbsp;bval,
            double[]&nbsp;a,
@@ -2156,7 +2176,7 @@
            int&nbsp;alen,
            int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i227" class="rowColor">
+<tr id="i229" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectPlusAdd-double-double:A-double:A-int-int-int-">vectPlusAdd</a></span>(double&nbsp;bval,
            double[]&nbsp;a,
@@ -2165,7 +2185,7 @@
            int&nbsp;ci,
            int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i228" class="altColor">
+<tr id="i230" class="altColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectPlusWrite-double:A-double:A-int:A-int-int-int-int-">vectPlusWrite</a></span>(double[]&nbsp;a,
              double[]&nbsp;b,
@@ -2175,7 +2195,7 @@
              int&nbsp;alen,
              int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i229" class="rowColor">
+<tr id="i231" class="rowColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectPlusWrite-double:A-double:A-int-int:A-int-int-int-">vectPlusWrite</a></span>(double[]&nbsp;a,
              double[]&nbsp;b,
@@ -2185,7 +2205,7 @@
              int&nbsp;blen,
              int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i230" class="altColor">
+<tr id="i232" class="altColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectPlusWrite-double:A-double:A-int-int-int-">vectPlusWrite</a></span>(double[]&nbsp;a,
              double[]&nbsp;b,
@@ -2193,7 +2213,7 @@
              int&nbsp;bi,
              int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i231" class="rowColor">
+<tr id="i233" class="rowColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectPlusWrite-double:A-double-int:A-int-int-int-">vectPlusWrite</a></span>(double[]&nbsp;a,
              double&nbsp;bval,
@@ -2202,14 +2222,14 @@
              int&nbsp;alen,
              int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i232" class="altColor">
+<tr id="i234" class="altColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectPlusWrite-double:A-double-int-int-">vectPlusWrite</a></span>(double[]&nbsp;a,
              double&nbsp;bval,
              int&nbsp;ai,
              int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i233" class="rowColor">
+<tr id="i235" class="rowColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectPlusWrite-double-double:A-int:A-int-int-int-">vectPlusWrite</a></span>(double&nbsp;bval,
              double[]&nbsp;a,
@@ -2218,14 +2238,14 @@
              int&nbsp;alen,
              int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i234" class="altColor">
+<tr id="i236" class="altColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectPlusWrite-double-double:A-int-int-">vectPlusWrite</a></span>(double&nbsp;bval,
              double[]&nbsp;a,
              int&nbsp;ai,
              int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i235" class="rowColor">
+<tr id="i237" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectPow2Add-double:A-double:A-int:A-int-int-int-int-">vectPow2Add</a></span>(double[]&nbsp;a,
            double[]&nbsp;c,
@@ -2235,7 +2255,7 @@
            int&nbsp;alen,
            int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i236" class="altColor">
+<tr id="i238" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectPow2Add-double:A-double:A-int-int-int-">vectPow2Add</a></span>(double[]&nbsp;a,
            double[]&nbsp;c,
@@ -2243,7 +2263,7 @@
            int&nbsp;ci,
            int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i237" class="rowColor">
+<tr id="i239" class="rowColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectPow2Write-double:A-int:A-int-int-int-">vectPow2Write</a></span>(double[]&nbsp;a,
              int[]&nbsp;aix,
@@ -2251,13 +2271,13 @@
              int&nbsp;alen,
              int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i238" class="altColor">
+<tr id="i240" class="altColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectPow2Write-double:A-int-int-">vectPow2Write</a></span>(double[]&nbsp;a,
              int&nbsp;ai,
              int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i239" class="rowColor">
+<tr id="i241" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectPowAdd-double:A-double-double:A-int:A-int-int-int-int-">vectPowAdd</a></span>(double[]&nbsp;a,
           double&nbsp;bval,
@@ -2268,7 +2288,7 @@
           int&nbsp;alen,
           int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i240" class="altColor">
+<tr id="i242" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectPowAdd-double:A-double-double:A-int-int-int-">vectPowAdd</a></span>(double[]&nbsp;a,
           double&nbsp;bval,
@@ -2277,7 +2297,7 @@
           int&nbsp;ci,
           int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i241" class="rowColor">
+<tr id="i243" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectPowAdd-double-double:A-double:A-int:A-int-int-int-int-">vectPowAdd</a></span>(double&nbsp;bval,
           double[]&nbsp;a,
@@ -2288,7 +2308,7 @@
           int&nbsp;alen,
           int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i242" class="altColor">
+<tr id="i244" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectPowAdd-double-double:A-double:A-int-int-int-">vectPowAdd</a></span>(double&nbsp;bval,
           double[]&nbsp;a,
@@ -2297,7 +2317,7 @@
           int&nbsp;ci,
           int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i243" class="rowColor">
+<tr id="i245" class="rowColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectPowWrite-double:A-double:A-int-int-int-">vectPowWrite</a></span>(double[]&nbsp;a,
             double[]&nbsp;b,
@@ -2305,7 +2325,7 @@
             int&nbsp;bi,
             int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i244" class="altColor">
+<tr id="i246" class="altColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectPowWrite-double:A-double-int:A-int-int-int-">vectPowWrite</a></span>(double[]&nbsp;a,
             double&nbsp;bval,
@@ -2314,14 +2334,14 @@
             int&nbsp;alen,
             int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i245" class="rowColor">
+<tr id="i247" class="rowColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectPowWrite-double:A-double-int-int-">vectPowWrite</a></span>(double[]&nbsp;a,
             double&nbsp;bval,
             int&nbsp;ai,
             int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i246" class="altColor">
+<tr id="i248" class="altColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectPowWrite-double-double:A-int:A-int-int-int-">vectPowWrite</a></span>(double&nbsp;bval,
             double[]&nbsp;a,
@@ -2330,14 +2350,14 @@
             int&nbsp;alen,
             int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i247" class="rowColor">
+<tr id="i249" class="rowColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectPowWrite-double-double:A-int-int-">vectPowWrite</a></span>(double&nbsp;bval,
             double[]&nbsp;a,
             int&nbsp;ai,
             int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i248" class="altColor">
+<tr id="i250" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectRoundAdd-double:A-double:A-int:A-int-int-int-int-">vectRoundAdd</a></span>(double[]&nbsp;a,
             double[]&nbsp;c,
@@ -2347,7 +2367,7 @@
             int&nbsp;alen,
             int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i249" class="rowColor">
+<tr id="i251" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectRoundAdd-double:A-double:A-int-int-int-">vectRoundAdd</a></span>(double[]&nbsp;a,
             double[]&nbsp;c,
@@ -2355,7 +2375,7 @@
             int&nbsp;ci,
             int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i250" class="altColor">
+<tr id="i252" class="altColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectRoundWrite-double:A-int:A-int-int-int-">vectRoundWrite</a></span>(double[]&nbsp;a,
               int[]&nbsp;aix,
@@ -2363,13 +2383,13 @@
               int&nbsp;alen,
               int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i251" class="rowColor">
+<tr id="i253" class="rowColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectRoundWrite-double:A-int-int-">vectRoundWrite</a></span>(double[]&nbsp;a,
               int&nbsp;ai,
               int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i252" class="altColor">
+<tr id="i254" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectSigmoidAdd-double:A-double:A-int:A-int-int-int-int-">vectSigmoidAdd</a></span>(double[]&nbsp;a,
               double[]&nbsp;c,
@@ -2379,7 +2399,7 @@
               int&nbsp;alen,
               int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i253" class="rowColor">
+<tr id="i255" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectSigmoidAdd-double:A-double:A-int-int-int-">vectSigmoidAdd</a></span>(double[]&nbsp;a,
               double[]&nbsp;c,
@@ -2387,7 +2407,7 @@
               int&nbsp;ci,
               int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i254" class="altColor">
+<tr id="i256" class="altColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectSigmoidWrite-double:A-int:A-int-int-int-">vectSigmoidWrite</a></span>(double[]&nbsp;a,
                 int[]&nbsp;aix,
@@ -2395,13 +2415,13 @@
                 int&nbsp;alen,
                 int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i255" class="rowColor">
+<tr id="i257" class="rowColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectSigmoidWrite-double:A-int-int-">vectSigmoidWrite</a></span>(double[]&nbsp;a,
                 int&nbsp;ai,
                 int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i256" class="altColor">
+<tr id="i258" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectSignAdd-double:A-double:A-int:A-int-int-int-int-">vectSignAdd</a></span>(double[]&nbsp;a,
            double[]&nbsp;c,
@@ -2411,7 +2431,7 @@
            int&nbsp;alen,
            int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i257" class="rowColor">
+<tr id="i259" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectSignAdd-double:A-double:A-int-int-int-">vectSignAdd</a></span>(double[]&nbsp;a,
            double[]&nbsp;c,
@@ -2419,7 +2439,7 @@
            int&nbsp;ci,
            int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i258" class="altColor">
+<tr id="i260" class="altColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectSignWrite-double:A-int:A-int-int-int-">vectSignWrite</a></span>(double[]&nbsp;a,
              int[]&nbsp;aix,
@@ -2427,13 +2447,13 @@
              int&nbsp;alen,
              int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i259" class="rowColor">
+<tr id="i261" class="rowColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectSignWrite-double:A-int-int-">vectSignWrite</a></span>(double[]&nbsp;a,
              int&nbsp;ai,
              int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i260" class="altColor">
+<tr id="i262" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectSinAdd-double:A-double:A-int:A-int-int-int-int-">vectSinAdd</a></span>(double[]&nbsp;a,
           double[]&nbsp;c,
@@ -2443,7 +2463,7 @@
           int&nbsp;alen,
           int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i261" class="rowColor">
+<tr id="i263" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectSinAdd-double:A-double:A-int-int-int-">vectSinAdd</a></span>(double[]&nbsp;a,
           double[]&nbsp;c,
@@ -2451,7 +2471,7 @@
           int&nbsp;ci,
           int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i262" class="altColor">
+<tr id="i264" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectSinhAdd-double:A-double:A-int:A-int-int-int-int-">vectSinhAdd</a></span>(double[]&nbsp;a,
            double[]&nbsp;c,
@@ -2461,7 +2481,7 @@
            int&nbsp;alen,
            int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i263" class="rowColor">
+<tr id="i265" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectSinhAdd-double:A-double:A-int-int-int-">vectSinhAdd</a></span>(double[]&nbsp;a,
            double[]&nbsp;c,
@@ -2469,7 +2489,7 @@
            int&nbsp;ci,
            int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i264" class="altColor">
+<tr id="i266" class="altColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectSinhWrite-double:A-int:A-int-int-int-">vectSinhWrite</a></span>(double[]&nbsp;a,
              int[]&nbsp;aix,
@@ -2477,13 +2497,13 @@
              int&nbsp;alen,
              int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i265" class="rowColor">
+<tr id="i267" class="rowColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectSinhWrite-double:A-int-int-">vectSinhWrite</a></span>(double[]&nbsp;a,
              int&nbsp;ai,
              int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i266" class="altColor">
+<tr id="i268" class="altColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectSinWrite-double:A-int:A-int-int-int-">vectSinWrite</a></span>(double[]&nbsp;a,
             int[]&nbsp;aix,
@@ -2491,13 +2511,13 @@
             int&nbsp;alen,
             int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i267" class="rowColor">
+<tr id="i269" class="rowColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectSinWrite-double:A-int-int-">vectSinWrite</a></span>(double[]&nbsp;a,
             int&nbsp;ai,
             int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i268" class="altColor">
+<tr id="i270" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectSpropAdd-double:A-double:A-int:A-int-int-int-int-">vectSpropAdd</a></span>(double[]&nbsp;a,
             double[]&nbsp;c,
@@ -2507,7 +2527,7 @@
             int&nbsp;alen,
             int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i269" class="rowColor">
+<tr id="i271" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectSpropAdd-double:A-double:A-int-int-int-">vectSpropAdd</a></span>(double[]&nbsp;a,
             double[]&nbsp;c,
@@ -2515,7 +2535,7 @@
             int&nbsp;ci,
             int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i270" class="altColor">
+<tr id="i272" class="altColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectSpropWrite-double:A-int:A-int-int-int-">vectSpropWrite</a></span>(double[]&nbsp;a,
               int[]&nbsp;aix,
@@ -2523,13 +2543,13 @@
               int&nbsp;alen,
               int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i271" class="rowColor">
+<tr id="i273" class="rowColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectSpropWrite-double:A-int-int-">vectSpropWrite</a></span>(double[]&nbsp;a,
               int&nbsp;ai,
               int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i272" class="altColor">
+<tr id="i274" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectSqrtAdd-double:A-double:A-int:A-int-int-int-int-">vectSqrtAdd</a></span>(double[]&nbsp;a,
            double[]&nbsp;c,
@@ -2539,7 +2559,7 @@
            int&nbsp;alen,
            int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i273" class="rowColor">
+<tr id="i275" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectSqrtAdd-double:A-double:A-int-int-int-">vectSqrtAdd</a></span>(double[]&nbsp;a,
            double[]&nbsp;c,
@@ -2547,7 +2567,7 @@
            int&nbsp;ci,
            int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i274" class="altColor">
+<tr id="i276" class="altColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectSqrtWrite-double:A-int:A-int-int-int-">vectSqrtWrite</a></span>(double[]&nbsp;a,
              int[]&nbsp;aix,
@@ -2555,13 +2575,13 @@
              int&nbsp;alen,
              int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i275" class="rowColor">
+<tr id="i277" class="rowColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectSqrtWrite-double:A-int-int-">vectSqrtWrite</a></span>(double[]&nbsp;a,
              int&nbsp;ai,
              int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i276" class="altColor">
+<tr id="i278" class="altColor">
 <td class="colFirst"><code>static double</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectSum-double:A-int:A-int-int-int-">vectSum</a></span>(double[]&nbsp;avals,
        int[]&nbsp;aix,
@@ -2569,7 +2589,7 @@
        int&nbsp;alen,
        int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i277" class="rowColor">
+<tr id="i279" class="rowColor">
 <td class="colFirst"><code>static double</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectSum-double:A-int-int-">vectSum</a></span>(double[]&nbsp;a,
        int&nbsp;ai,
@@ -2577,7 +2597,7 @@
 <div class="block">Computes c = sum(A), where A is a dense vectors.</div>
 </td>
 </tr>
-<tr id="i278" class="altColor">
+<tr id="i280" class="altColor">
 <td class="colFirst"><code>static double</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectSumsq-double:A-int:A-int-int-int-">vectSumsq</a></span>(double[]&nbsp;avals,
          int[]&nbsp;aix,
@@ -2585,13 +2605,13 @@
          int&nbsp;alen,
          int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i279" class="rowColor">
+<tr id="i281" class="rowColor">
 <td class="colFirst"><code>static double</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectSumsq-double:A-int-int-">vectSumsq</a></span>(double[]&nbsp;a,
          int&nbsp;ai,
          int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i280" class="altColor">
+<tr id="i282" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectTanAdd-double:A-double:A-int:A-int-int-int-int-">vectTanAdd</a></span>(double[]&nbsp;a,
           double[]&nbsp;c,
@@ -2601,7 +2621,7 @@
           int&nbsp;alen,
           int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i281" class="rowColor">
+<tr id="i283" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectTanAdd-double:A-double:A-int-int-int-">vectTanAdd</a></span>(double[]&nbsp;a,
           double[]&nbsp;c,
@@ -2609,7 +2629,7 @@
           int&nbsp;ci,
           int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i282" class="altColor">
+<tr id="i284" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectTanhAdd-double:A-double:A-int:A-int-int-int-int-">vectTanhAdd</a></span>(double[]&nbsp;a,
            double[]&nbsp;c,
@@ -2619,7 +2639,7 @@
            int&nbsp;alen,
            int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i283" class="rowColor">
+<tr id="i285" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectTanhAdd-double:A-double:A-int-int-int-">vectTanhAdd</a></span>(double[]&nbsp;a,
            double[]&nbsp;c,
@@ -2627,7 +2647,7 @@
            int&nbsp;ci,
            int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i284" class="altColor">
+<tr id="i286" class="altColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectTanhWrite-double:A-int:A-int-int-int-">vectTanhWrite</a></span>(double[]&nbsp;a,
              int[]&nbsp;aix,
@@ -2635,13 +2655,13 @@
              int&nbsp;alen,
              int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i285" class="rowColor">
+<tr id="i287" class="rowColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectTanhWrite-double:A-int-int-">vectTanhWrite</a></span>(double[]&nbsp;a,
              int&nbsp;ai,
              int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i286" class="altColor">
+<tr id="i288" class="altColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectTanWrite-double:A-int:A-int-int-int-">vectTanWrite</a></span>(double[]&nbsp;a,
             int[]&nbsp;aix,
@@ -2649,19 +2669,19 @@
             int&nbsp;alen,
             int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i287" class="rowColor">
+<tr id="i289" class="rowColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectTanWrite-double:A-int-int-">vectTanWrite</a></span>(double[]&nbsp;a,
             int&nbsp;ai,
             int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i288" class="altColor">
+<tr id="i290" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectWrite-boolean:A-boolean:A-int:A-">vectWrite</a></span>(boolean[]&nbsp;a,
          boolean[]&nbsp;c,
          int[]&nbsp;aix)</code>&nbsp;</td>
 </tr>
-<tr id="i289" class="rowColor">
+<tr id="i291" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectWrite-boolean:A-boolean:A-int:A-int-int-int-">vectWrite</a></span>(boolean[]&nbsp;a,
          boolean[]&nbsp;c,
@@ -2670,14 +2690,14 @@
          int&nbsp;ci,
          int&nbsp;alen)</code>&nbsp;</td>
 </tr>
-<tr id="i290" class="altColor">
+<tr id="i292" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectWrite-double:A-double:A-int-int-">vectWrite</a></span>(double[]&nbsp;a,
          double[]&nbsp;c,
          int&nbsp;ci,
          int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i291" class="rowColor">
+<tr id="i293" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectWrite-double:A-double:A-int-int-int-">vectWrite</a></span>(double[]&nbsp;a,
          double[]&nbsp;c,
@@ -2685,7 +2705,7 @@
          int&nbsp;ci,
          int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i292" class="altColor">
+<tr id="i294" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectXorAdd-double:A-double-double:A-int:A-int-int-int-int-">vectXorAdd</a></span>(double[]&nbsp;a,
           double&nbsp;bval,
@@ -2696,7 +2716,7 @@
           int&nbsp;alen,
           int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i293" class="rowColor">
+<tr id="i295" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectXorAdd-double:A-double-double:A-int-int-int-">vectXorAdd</a></span>(double[]&nbsp;a,
           double&nbsp;bval,
@@ -2707,7 +2727,7 @@
 <div class="block">Computes c = xor(A,B)</div>
 </td>
 </tr>
-<tr id="i294" class="altColor">
+<tr id="i296" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectXorAdd-double-double:A-double:A-int:A-int-int-int-int-">vectXorAdd</a></span>(double&nbsp;bval,
           double[]&nbsp;a,
@@ -2718,7 +2738,7 @@
           int&nbsp;alen,
           int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i295" class="rowColor">
+<tr id="i297" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectXorAdd-double-double:A-double:A-int-int-int-">vectXorAdd</a></span>(double&nbsp;bval,
           double[]&nbsp;a,
@@ -2727,7 +2747,7 @@
           int&nbsp;ci,
           int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i296" class="altColor">
+<tr id="i298" class="altColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectXorWrite-double:A-double:A-int:A-int-int-int-int-">vectXorWrite</a></span>(double[]&nbsp;a,
             double[]&nbsp;b,
@@ -2737,7 +2757,7 @@
             int&nbsp;alen,
             int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i297" class="rowColor">
+<tr id="i299" class="rowColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectXorWrite-double:A-double:A-int-int:A-int-int-int-">vectXorWrite</a></span>(double[]&nbsp;a,
             double[]&nbsp;b,
@@ -2747,7 +2767,7 @@
             int&nbsp;alen,
             int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i298" class="altColor">
+<tr id="i300" class="altColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectXorWrite-double:A-double:A-int-int-int-">vectXorWrite</a></span>(double[]&nbsp;a,
             double[]&nbsp;b,
@@ -2755,7 +2775,7 @@
             int&nbsp;bi,
             int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i299" class="rowColor">
+<tr id="i301" class="rowColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectXorWrite-double:A-double-int:A-int-int-int-">vectXorWrite</a></span>(double[]&nbsp;a,
             double&nbsp;bval,
@@ -2764,14 +2784,14 @@
             int&nbsp;alen,
             int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i300" class="altColor">
+<tr id="i302" class="altColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectXorWrite-double:A-double-int-int-">vectXorWrite</a></span>(double[]&nbsp;a,
             double&nbsp;bval,
             int&nbsp;ai,
             int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i301" class="rowColor">
+<tr id="i303" class="rowColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectXorWrite-double-double:A-int:A-int-int-int-">vectXorWrite</a></span>(double&nbsp;bval,
             double[]&nbsp;a,
@@ -2780,7 +2800,7 @@
             int&nbsp;alen,
             int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i302" class="altColor">
+<tr id="i304" class="altColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectXorWrite-double-double:A-int-int-">vectXorWrite</a></span>(double&nbsp;bval,
             double[]&nbsp;a,
@@ -3218,6 +3238,36 @@
                                       int&nbsp;len)</pre>
 </li>
 </ul>
+<a name="vectCbindWrite-double:A-double:A-int-int-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>vectCbindWrite</h4>
+<pre>public static&nbsp;double[]&nbsp;vectCbindWrite(double[]&nbsp;a,
+                                      double[]&nbsp;b,
+                                      int&nbsp;ai,
+                                      int&nbsp;bi,
+                                      int&nbsp;alen,
+                                      int&nbsp;blen)</pre>
+</li>
+</ul>
+<a name="vectCbindWrite-double:A-double:A-int:A-int-int-int-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>vectCbindWrite</h4>
+<pre>public static&nbsp;double[]&nbsp;vectCbindWrite(double[]&nbsp;a,
+                                      double[]&nbsp;b,
+                                      int[]&nbsp;aix,
+                                      int&nbsp;ai,
+                                      int&nbsp;bi,
+                                      int&nbsp;alen,
+                                      int&nbsp;alen2,
+                                      int&nbsp;blen)</pre>
+</li>
+</ul>
 <a name="vectSum-double:A-int-int-">
 <!--   -->
 </a>
@@ -7062,6 +7112,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/codegen/SpoofCUDACellwise.html b/docs/api/java/org/apache/sysds/runtime/codegen/SpoofCUDACellwise.html
new file mode 100644
index 0000000..a5c1893
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/codegen/SpoofCUDACellwise.html
@@ -0,0 +1,567 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>SpoofCUDACellwise (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="SpoofCUDACellwise (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":9,"i1":10,"i2":9,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/SpoofCUDACellwise.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCellwise.CellType.html" title="enum in org.apache.sysds.runtime.codegen"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html" title="interface in org.apache.sysds.runtime.codegen"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/sysds/runtime/codegen/SpoofCUDACellwise.html" target="_top">Frames</a></li>
+<li><a href="SpoofCUDACellwise.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.codegen.SpoofCellwise">Nested</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.sysds.runtime.codegen</div>
+<h2 title="Class SpoofCUDACellwise" class="title">Class SpoofCUDACellwise</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofOperator.html" title="class in org.apache.sysds.runtime.codegen">org.apache.sysds.runtime.codegen.SpoofOperator</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCellwise.html" title="class in org.apache.sysds.runtime.codegen">org.apache.sysds.runtime.codegen.SpoofCellwise</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.sysds.runtime.codegen.SpoofCUDACellwise</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html" title="interface in org.apache.sysds.runtime.codegen">SpoofCUDAOperator</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">SpoofCUDACellwise</span>
+extends <a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCellwise.html" title="class in org.apache.sysds.runtime.codegen">SpoofCellwise</a>
+implements <a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html" title="interface in org.apache.sysds.runtime.codegen">SpoofCUDAOperator</a></pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../serialized-form.html#org.apache.sysds.runtime.codegen.SpoofCUDACellwise">Serialized Form</a></dd>
+</dl>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!--   -->
+</a>
+<h3>Nested Class Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.sysds.runtime.codegen.SpoofCellwise">
+<!--   -->
+</a>
+<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.sysds.runtime.codegen.<a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCellwise.html" title="class in org.apache.sysds.runtime.codegen">SpoofCellwise</a></h3>
+<code><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCellwise.AggOp.html" title="enum in org.apache.sysds.runtime.codegen">SpoofCellwise.AggOp</a>, <a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCellwise.CellType.html" title="enum in org.apache.sysds.runtime.codegen">SpoofCellwise.CellType</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.sysds.runtime.codegen.SpoofOperator">
+<!--   -->
+</a>
+<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.sysds.runtime.codegen.<a href="../../../../../org/apache/sysds/runtime/codegen/SpoofOperator.html" title="class in org.apache.sysds.runtime.codegen">SpoofOperator</a></h3>
+<code><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofOperator.SideInput.html" title="class in org.apache.sysds.runtime.codegen">SpoofOperator.SideInput</a>, <a href="../../../../../org/apache/sysds/runtime/codegen/SpoofOperator.SideInputSparseCell.html" title="class in org.apache.sysds.runtime.codegen">SpoofOperator.SideInputSparseCell</a>, <a href="../../../../../org/apache/sysds/runtime/codegen/SpoofOperator.SideInputSparseRow.html" title="class in org.apache.sysds.runtime.codegen">SpoofOperator.SideInputSparseRow</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.sysds.runtime.codegen.SpoofCUDAOperator">
+<!--   -->
+</a>
+<h3>Nested classes/interfaces inherited from interface&nbsp;org.apache.sysds.runtime.codegen.<a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html" title="interface in org.apache.sysds.runtime.codegen">SpoofCUDAOperator</a></h3>
+<code><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.PrecisionProxy.html" title="class in org.apache.sysds.runtime.codegen">SpoofCUDAOperator.PrecisionProxy</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!--   -->
+</a>
+<h3>Field Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.org.apache.sysds.runtime.codegen.SpoofCUDAOperator">
+<!--   -->
+</a>
+<h3>Fields inherited from interface&nbsp;org.apache.sysds.runtime.codegen.<a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html" title="interface in org.apache.sysds.runtime.codegen">SpoofCUDAOperator</a></h3>
+<code><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html#JNI_MAT_ENTRY_SIZE">JNI_MAT_ENTRY_SIZE</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDACellwise.html#SpoofCUDACellwise-org.apache.sysds.runtime.codegen.SpoofCellwise.CellType-boolean-boolean-org.apache.sysds.runtime.codegen.SpoofCellwise.AggOp-int-org.apache.sysds.runtime.codegen.SpoofCUDAOperator.PrecisionProxy-org.apache.sysds.runtime.codegen.SpoofCellwise-">SpoofCUDACellwise</a></span>(<a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCellwise.CellType.html" title="enum in org.apache.sysds.runtime.codegen">SpoofCellwise.CellType</a>&nbsp;type,
+                 boolean&nbsp;sparseSafe,
+                 boolean&nbsp;containsSeq,
+                 <a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCellwise.AggOp.html" title="enum in org.apache.sysds.runtime.codegen">SpoofCellwise.AggOp</a>&nbsp;aggOp,
+                 int&nbsp;id,
+                 <a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.PrecisionProxy.html" title="class in org.apache.sysds.runtime.codegen">SpoofCUDAOperator.PrecisionProxy</a>&nbsp;ep,
+                 <a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCellwise.html" title="class in org.apache.sysds.runtime.codegen">SpoofCellwise</a>&nbsp;fallback)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>static int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDACellwise.html#execute_d-long-long:A-long:A-long:A-long:A-long-">execute_d</a></span>(long&nbsp;ctx,
+         long[]&nbsp;meta,
+         long[]&nbsp;in,
+         long[]&nbsp;sides,
+         long[]&nbsp;out,
+         long&nbsp;scalars)</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDACellwise.html#execute_dp-long-long:A-long:A-long:A-long:A-long-">execute_dp</a></span>(long&nbsp;ctx,
+          long[]&nbsp;meta,
+          long[]&nbsp;in,
+          long[]&nbsp;sides,
+          long[]&nbsp;out,
+          long&nbsp;scalars)</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>static int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDACellwise.html#execute_f-long-long:A-long:A-long:A-long:A-long-">execute_f</a></span>(long&nbsp;ctx,
+         long[]&nbsp;meta,
+         long[]&nbsp;in,
+         long[]&nbsp;sides,
+         long[]&nbsp;out,
+         long&nbsp;scalars)</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDACellwise.html#execute_sp-long-long:A-long:A-long:A-long:A-long-">execute_sp</a></span>(long&nbsp;ctx,
+          long[]&nbsp;meta,
+          long[]&nbsp;in,
+          long[]&nbsp;sides,
+          long[]&nbsp;out,
+          long&nbsp;scalars)</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDACellwise.html#execute-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-java.util.ArrayList-java.util.ArrayList-">execute</a></span>(<a href="../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
+       <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&gt;&nbsp;inputs,
+       <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&gt;&nbsp;scalarObjects)</code>&nbsp;</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDACellwise.html#execute-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-java.util.ArrayList-java.util.ArrayList-java.lang.String-">execute</a></span>(<a href="../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
+       <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&gt;&nbsp;inputs,
+       <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&gt;&nbsp;scalarObjects,
+       <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;outputName)</code>&nbsp;</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDACellwise.html#getName--">getName</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>jcuda.Pointer</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDACellwise.html#getScalarPtr--">getScalarPtr</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDACellwise.html#releaseScalarGPUMemory-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">releaseScalarGPUMemory</a></span>(<a href="../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDACellwise.html#setScalarPtr-jcuda.Pointer-">setScalarPtr</a></span>(jcuda.Pointer&nbsp;_ptr)</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.codegen.SpoofCellwise">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.codegen.<a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCellwise.html" title="class in org.apache.sysds.runtime.codegen">SpoofCellwise</a></h3>
+<code><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCellwise.html#containsSeq--">containsSeq</a>, <a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCellwise.html#createCUDAInstrcution-java.lang.Integer-org.apache.sysds.runtime.codegen.SpoofCUDAOperator.PrecisionProxy-">createCUDAInstrcution</a>, <a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCellwise.html#execute-java.util.ArrayList-java.util.ArrayList-int-">execute</a>, <a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCellwise.html#execute-java.util.ArrayList-java.util.ArrayList-int-long-">execute</a>, <a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCellwise.html#execute-java.util.ArrayList-java.util.ArrayList-org.apache.sysds.runtime.matrix.data.MatrixBlock-">execute</a>, <a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCellwise.html#execute-java.util.ArrayList-java.util.ArrayList-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">execute</a>, <a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCellwise.html#execute-java.util.ArrayList-java.util.ArrayList-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-long-">execute</a>, <a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCellwise.html#getAggOp--">getAggOp</a>, <a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCellwise.html#getCellType--">getCellType</a>, <a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCellwise.html#getSpoofType--">getSpoofType</a>, <a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCellwise.html#isSparseSafe--">isSparseSafe</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.codegen.SpoofOperator">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.codegen.<a href="../../../../../org/apache/sysds/runtime/codegen/SpoofOperator.html" title="class in org.apache.sysds.runtime.codegen">SpoofOperator</a></h3>
+<code><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofOperator.html#execute-java.util.ArrayList-java.util.ArrayList-">execute</a>, <a href="../../../../../org/apache/sysds/runtime/codegen/SpoofOperator.html#getDenseMatrices-org.apache.sysds.runtime.codegen.SpoofOperator.SideInput:A-">getDenseMatrices</a>, <a href="../../../../../org/apache/sysds/runtime/codegen/SpoofOperator.html#getTotalInputNnz-java.util.ArrayList-">getTotalInputNnz</a>, <a href="../../../../../org/apache/sysds/runtime/codegen/SpoofOperator.html#getTotalInputSize-java.util.ArrayList-">getTotalInputSize</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.codegen.SpoofCUDAOperator">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.sysds.runtime.codegen.<a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html" title="interface in org.apache.sysds.runtime.codegen">SpoofCUDAOperator</a></h3>
+<code><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html#prepareInputPointers-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-java.util.ArrayList-int-">prepareInputPointers</a>, <a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html#prepareOutputPointers-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-boolean-">prepareOutputPointers</a>, <a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html#prepareSideInputPointers-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-java.util.ArrayList-int-boolean-">prepareSideInputPointers</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="SpoofCUDACellwise-org.apache.sysds.runtime.codegen.SpoofCellwise.CellType-boolean-boolean-org.apache.sysds.runtime.codegen.SpoofCellwise.AggOp-int-org.apache.sysds.runtime.codegen.SpoofCUDAOperator.PrecisionProxy-org.apache.sysds.runtime.codegen.SpoofCellwise-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>SpoofCUDACellwise</h4>
+<pre>public&nbsp;SpoofCUDACellwise(<a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCellwise.CellType.html" title="enum in org.apache.sysds.runtime.codegen">SpoofCellwise.CellType</a>&nbsp;type,
+                         boolean&nbsp;sparseSafe,
+                         boolean&nbsp;containsSeq,
+                         <a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCellwise.AggOp.html" title="enum in org.apache.sysds.runtime.codegen">SpoofCellwise.AggOp</a>&nbsp;aggOp,
+                         int&nbsp;id,
+                         <a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.PrecisionProxy.html" title="class in org.apache.sysds.runtime.codegen">SpoofCUDAOperator.PrecisionProxy</a>&nbsp;ep,
+                         <a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCellwise.html" title="class in org.apache.sysds.runtime.codegen">SpoofCellwise</a>&nbsp;fallback)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="execute-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-java.util.ArrayList-java.util.ArrayList-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>execute</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&nbsp;execute(<a href="../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
+                            <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&gt;&nbsp;inputs,
+                            <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&gt;&nbsp;scalarObjects)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html#execute-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-java.util.ArrayList-java.util.ArrayList-">execute</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html" title="interface in org.apache.sysds.runtime.codegen">SpoofCUDAOperator</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getName--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getName</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getName()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html#getName--">getName</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html" title="interface in org.apache.sysds.runtime.codegen">SpoofCUDAOperator</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="setScalarPtr-jcuda.Pointer-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setScalarPtr</h4>
+<pre>public&nbsp;void&nbsp;setScalarPtr(jcuda.Pointer&nbsp;_ptr)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html#setScalarPtr-jcuda.Pointer-">setScalarPtr</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html" title="interface in org.apache.sysds.runtime.codegen">SpoofCUDAOperator</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getScalarPtr--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getScalarPtr</h4>
+<pre>public&nbsp;jcuda.Pointer&nbsp;getScalarPtr()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html#getScalarPtr--">getScalarPtr</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html" title="interface in org.apache.sysds.runtime.codegen">SpoofCUDAOperator</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="releaseScalarGPUMemory-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>releaseScalarGPUMemory</h4>
+<pre>public&nbsp;void&nbsp;releaseScalarGPUMemory(<a href="../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html#releaseScalarGPUMemory-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">releaseScalarGPUMemory</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html" title="interface in org.apache.sysds.runtime.codegen">SpoofCUDAOperator</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="execute-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-java.util.ArrayList-java.util.ArrayList-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>execute</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;execute(<a href="../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
+                            <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&gt;&nbsp;inputs,
+                            <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&gt;&nbsp;scalarObjects,
+                            <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;outputName)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html#execute-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-java.util.ArrayList-java.util.ArrayList-java.lang.String-">execute</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html" title="interface in org.apache.sysds.runtime.codegen">SpoofCUDAOperator</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="execute_sp-long-long:A-long:A-long:A-long:A-long-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>execute_sp</h4>
+<pre>public&nbsp;int&nbsp;execute_sp(long&nbsp;ctx,
+                      long[]&nbsp;meta,
+                      long[]&nbsp;in,
+                      long[]&nbsp;sides,
+                      long[]&nbsp;out,
+                      long&nbsp;scalars)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html#execute_sp-long-long:A-long:A-long:A-long:A-long-">execute_sp</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html" title="interface in org.apache.sysds.runtime.codegen">SpoofCUDAOperator</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="execute_dp-long-long:A-long:A-long:A-long:A-long-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>execute_dp</h4>
+<pre>public&nbsp;int&nbsp;execute_dp(long&nbsp;ctx,
+                      long[]&nbsp;meta,
+                      long[]&nbsp;in,
+                      long[]&nbsp;sides,
+                      long[]&nbsp;out,
+                      long&nbsp;scalars)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html#execute_dp-long-long:A-long:A-long:A-long:A-long-">execute_dp</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html" title="interface in org.apache.sysds.runtime.codegen">SpoofCUDAOperator</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="execute_f-long-long:A-long:A-long:A-long:A-long-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>execute_f</h4>
+<pre>public static&nbsp;int&nbsp;execute_f(long&nbsp;ctx,
+                            long[]&nbsp;meta,
+                            long[]&nbsp;in,
+                            long[]&nbsp;sides,
+                            long[]&nbsp;out,
+                            long&nbsp;scalars)</pre>
+</li>
+</ul>
+<a name="execute_d-long-long:A-long:A-long:A-long:A-long-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>execute_d</h4>
+<pre>public static&nbsp;int&nbsp;execute_d(long&nbsp;ctx,
+                            long[]&nbsp;meta,
+                            long[]&nbsp;in,
+                            long[]&nbsp;sides,
+                            long[]&nbsp;out,
+                            long&nbsp;scalars)</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/SpoofCUDACellwise.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCellwise.CellType.html" title="enum in org.apache.sysds.runtime.codegen"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html" title="interface in org.apache.sysds.runtime.codegen"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/sysds/runtime/codegen/SpoofCUDACellwise.html" target="_top">Frames</a></li>
+<li><a href="SpoofCUDACellwise.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.codegen.SpoofCellwise">Nested</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/ReaderColumnSelectionDenseSample.html b/docs/api/java/org/apache/sysds/runtime/codegen/SpoofCUDAOperator.PrecisionProxy.html
similarity index 62%
rename from docs/api/java/org/apache/sysds/runtime/compress/ReaderColumnSelectionDenseSample.html
rename to docs/api/java/org/apache/sysds/runtime/codegen/SpoofCUDAOperator.PrecisionProxy.html
index feba477..af514e5 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/ReaderColumnSelectionDenseSample.html
+++ b/docs/api/java/org/apache/sysds/runtime/codegen/SpoofCUDAOperator.PrecisionProxy.html
@@ -4,7 +4,7 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ReaderColumnSelectionDenseSample (SystemDS 2.1.0-SNAPSHOT API)</title>
+<title>SpoofCUDAOperator.PrecisionProxy (SystemDS 2.1.0-SNAPSHOT API)</title>
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,14 +12,14 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ReaderColumnSelectionDenseSample (SystemDS 2.1.0-SNAPSHOT API)";
+            parent.document.title="SpoofCUDAOperator.PrecisionProxy (SystemDS 2.1.0-SNAPSHOT API)";
         }
     }
     catch(err) {
     }
 //-->
-var methods = {"i0":10};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var methods = {"i0":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
 var tableTab = "tableTab";
@@ -40,7 +40,7 @@
 <li><a href="../../../../../overview-summary.html">Overview</a></li>
 <li><a href="package-summary.html">Package</a></li>
 <li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/ReaderColumnSelectionDenseSample.html">Use</a></li>
+<li><a href="class-use/SpoofCUDAOperator.PrecisionProxy.html">Use</a></li>
 <li><a href="package-tree.html">Tree</a></li>
 <li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
 <li><a href="../../../../../index-all.html">Index</a></li>
@@ -49,12 +49,12 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelectionDense.html" title="class in org.apache.sysds.runtime.compress"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelectionSparse.html" title="class in org.apache.sysds.runtime.compress"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html" title="interface in org.apache.sysds.runtime.codegen"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDARowwise.html" title="class in org.apache.sysds.runtime.codegen"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../index.html?org/apache/sysds/runtime/compress/ReaderColumnSelectionDenseSample.html" target="_top">Frames</a></li>
-<li><a href="ReaderColumnSelectionDenseSample.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../index.html?org/apache/sysds/runtime/codegen/SpoofCUDAOperator.PrecisionProxy.html" target="_top">Frames</a></li>
+<li><a href="SpoofCUDAOperator.PrecisionProxy.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
 <li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -92,31 +92,33 @@
 <!-- ========= END OF TOP NAVBAR ========= -->
 <!-- ======== START OF CLASS DATA ======== -->
 <div class="header">
-<div class="subTitle">org.apache.sysds.runtime.compress</div>
-<h2 title="Class ReaderColumnSelectionDenseSample" class="title">Class ReaderColumnSelectionDenseSample</h2>
+<div class="subTitle">org.apache.sysds.runtime.codegen</div>
+<h2 title="Class SpoofCUDAOperator.PrecisionProxy" class="title">Class SpoofCUDAOperator.PrecisionProxy</h2>
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
 <li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
-<li><a href="../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelection.html" title="class in org.apache.sysds.runtime.compress">org.apache.sysds.runtime.compress.ReaderColumnSelection</a></li>
-<li>
-<ul class="inheritance">
-<li>org.apache.sysds.runtime.compress.ReaderColumnSelectionDenseSample</li>
-</ul>
-</li>
+<li>org.apache.sysds.runtime.codegen.SpoofCUDAOperator.PrecisionProxy</li>
 </ul>
 </li>
 </ul>
 <div class="description">
 <ul class="blockList">
 <li class="blockList">
+<dl>
+<dt>Direct Known Subclasses:</dt>
+<dd><a href="../../../../../org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.DoublePrecision.html" title="class in org.apache.sysds.runtime.instructions.gpu">SpoofCUDAInstruction.DoublePrecision</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.SinglePrecision.html" title="class in org.apache.sysds.runtime.instructions.gpu">SpoofCUDAInstruction.SinglePrecision</a></dd>
+</dl>
+<dl>
+<dt>Enclosing interface:</dt>
+<dd><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html" title="interface in org.apache.sysds.runtime.codegen">SpoofCUDAOperator</a></dd>
+</dl>
 <hr>
 <br>
-<pre>public class <span class="typeNameLabel">ReaderColumnSelectionDenseSample</span>
-extends <a href="../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelection.html" title="class in org.apache.sysds.runtime.compress">ReaderColumnSelection</a></pre>
-<div class="block">considers only a subset of row indexes</div>
+<pre>public abstract static class <span class="typeNameLabel">SpoofCUDAOperator.PrecisionProxy</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 </li>
 </ul>
 </div>
@@ -135,10 +137,7 @@
 <th class="colOne" scope="col">Constructor and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelectionDenseSample.html#ReaderColumnSelectionDenseSample-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-int:A-org.apache.sysds.runtime.compress.CompressionSettings-">ReaderColumnSelectionDenseSample</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;data,
-                                int[]&nbsp;colIndexes,
-                                int[]&nbsp;sampleIndexes,
-                                <a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;compSettings)</code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.PrecisionProxy.html#PrecisionProxy--">PrecisionProxy</a></span>()</code>&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -150,24 +149,24 @@
 </a>
 <h3>Method Summary</h3>
 <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
-<td class="colFirst"><code>int</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelectionDenseSample.html#getCurrentRowIndex--">getCurrentRowIndex</a></span>()</code>&nbsp;</td>
+<td class="colFirst"><code>abstract int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.PrecisionProxy.html#exec-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.runtime.codegen.SpoofCUDAOperator-int-long:A-long:A-long:A-java.util.ArrayList-long-">exec</a></span>(<a href="../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
+    <a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html" title="interface in org.apache.sysds.runtime.codegen">SpoofCUDAOperator</a>&nbsp;op,
+    int&nbsp;opID,
+    long[]&nbsp;in,
+    long[]&nbsp;sides,
+    long[]&nbsp;out,
+    <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&gt;&nbsp;scalarObjects,
+    long&nbsp;grix)</code>&nbsp;</td>
 </tr>
 </table>
 <ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.compress.ReaderColumnSelection">
-<!--   -->
-</a>
-<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.compress.<a href="../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelection.html" title="class in org.apache.sysds.runtime.compress">ReaderColumnSelection</a></h3>
-<code><a href="../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelection.html#nextRow--">nextRow</a>, <a href="../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelection.html#reset--">reset</a></code></li>
-</ul>
-<ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
@@ -188,16 +187,13 @@
 <!--   -->
 </a>
 <h3>Constructor Detail</h3>
-<a name="ReaderColumnSelectionDenseSample-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-int:A-org.apache.sysds.runtime.compress.CompressionSettings-">
+<a name="PrecisionProxy--">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>ReaderColumnSelectionDenseSample</h4>
-<pre>public&nbsp;ReaderColumnSelectionDenseSample(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;data,
-                                        int[]&nbsp;colIndexes,
-                                        int[]&nbsp;sampleIndexes,
-                                        <a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;compSettings)</pre>
+<h4>PrecisionProxy</h4>
+<pre>public&nbsp;PrecisionProxy()</pre>
 </li>
 </ul>
 </li>
@@ -208,17 +204,20 @@
 <!--   -->
 </a>
 <h3>Method Detail</h3>
-<a name="getCurrentRowIndex--">
+<a name="exec-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.runtime.codegen.SpoofCUDAOperator-int-long:A-long:A-long:A-java.util.ArrayList-long-">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>getCurrentRowIndex</h4>
-<pre>public&nbsp;int&nbsp;getCurrentRowIndex()</pre>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelection.html#getCurrentRowIndex--">getCurrentRowIndex</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelection.html" title="class in org.apache.sysds.runtime.compress">ReaderColumnSelection</a></code></dd>
-</dl>
+<h4>exec</h4>
+<pre>public abstract&nbsp;int&nbsp;exec(<a href="../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
+                         <a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html" title="interface in org.apache.sysds.runtime.codegen">SpoofCUDAOperator</a>&nbsp;op,
+                         int&nbsp;opID,
+                         long[]&nbsp;in,
+                         long[]&nbsp;sides,
+                         long[]&nbsp;out,
+                         <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&gt;&nbsp;scalarObjects,
+                         long&nbsp;grix)</pre>
 </li>
 </ul>
 </li>
@@ -240,7 +239,7 @@
 <li><a href="../../../../../overview-summary.html">Overview</a></li>
 <li><a href="package-summary.html">Package</a></li>
 <li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/ReaderColumnSelectionDenseSample.html">Use</a></li>
+<li><a href="class-use/SpoofCUDAOperator.PrecisionProxy.html">Use</a></li>
 <li><a href="package-tree.html">Tree</a></li>
 <li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
 <li><a href="../../../../../index-all.html">Index</a></li>
@@ -249,12 +248,12 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelectionDense.html" title="class in org.apache.sysds.runtime.compress"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelectionSparse.html" title="class in org.apache.sysds.runtime.compress"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html" title="interface in org.apache.sysds.runtime.codegen"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDARowwise.html" title="class in org.apache.sysds.runtime.codegen"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../index.html?org/apache/sysds/runtime/compress/ReaderColumnSelectionDenseSample.html" target="_top">Frames</a></li>
-<li><a href="ReaderColumnSelectionDenseSample.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../index.html?org/apache/sysds/runtime/codegen/SpoofCUDAOperator.PrecisionProxy.html" target="_top">Frames</a></li>
+<li><a href="SpoofCUDAOperator.PrecisionProxy.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
 <li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -290,6 +289,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html b/docs/api/java/org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html
new file mode 100644
index 0000000..e865158
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html
@@ -0,0 +1,459 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>SpoofCUDAOperator (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="SpoofCUDAOperator (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":18,"i7":18,"i8":18,"i9":6,"i10":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],16:["t5","Default Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/SpoofCUDAOperator.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDACellwise.html" title="class in org.apache.sysds.runtime.codegen"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.PrecisionProxy.html" title="class in org.apache.sysds.runtime.codegen"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html" target="_top">Frames</a></li>
+<li><a href="SpoofCUDAOperator.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.sysds.runtime.codegen</div>
+<h2 title="Interface SpoofCUDAOperator" class="title">Interface SpoofCUDAOperator</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Known Implementing Classes:</dt>
+<dd><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDACellwise.html" title="class in org.apache.sysds.runtime.codegen">SpoofCUDACellwise</a>, <a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDARowwise.html" title="class in org.apache.sysds.runtime.codegen">SpoofCUDARowwise</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public interface <span class="typeNameLabel">SpoofCUDAOperator</span></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!--   -->
+</a>
+<h3>Nested Class Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
+<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Interface and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.PrecisionProxy.html" title="class in org.apache.sysds.runtime.codegen">SpoofCUDAOperator.PrecisionProxy</a></span></code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!--   -->
+</a>
+<h3>Field Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
+<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html#JNI_MAT_ENTRY_SIZE">JNI_MAT_ENTRY_SIZE</a></span></code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t5" class="tableTab"><span><a href="javascript:show(16);">Default Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html#execute_dp-long-long:A-long:A-long:A-long:A-long-">execute_dp</a></span>(long&nbsp;ctx,
+          long[]&nbsp;meta,
+          long[]&nbsp;in,
+          long[]&nbsp;sides,
+          long[]&nbsp;out,
+          long&nbsp;scalars)</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html#execute_sp-long-long:A-long:A-long:A-long:A-long-">execute_sp</a></span>(long&nbsp;ctx,
+          long[]&nbsp;meta,
+          long[]&nbsp;in,
+          long[]&nbsp;sides,
+          long[]&nbsp;out,
+          long&nbsp;scalars)</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html#execute-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-java.util.ArrayList-java.util.ArrayList-">execute</a></span>(<a href="../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
+       <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&gt;&nbsp;inputs,
+       <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&gt;&nbsp;scalarObjects)</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html#execute-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-java.util.ArrayList-java.util.ArrayList-java.lang.String-">execute</a></span>(<a href="../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
+       <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&gt;&nbsp;inputs,
+       <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&gt;&nbsp;scalarObjects,
+       <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;outputName)</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html#getName--">getName</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>jcuda.Pointer</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html#getScalarPtr--">getScalarPtr</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>default long[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html#prepareInputPointers-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-java.util.ArrayList-int-">prepareInputPointers</a></span>(<a href="../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
+                    <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&gt;&nbsp;inputs,
+                    int&nbsp;offset)</code>&nbsp;</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>default long[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html#prepareOutputPointers-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-boolean-">prepareOutputPointers</a></span>(<a href="../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
+                     <a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;output,
+                     boolean&nbsp;sparseOut)</code>&nbsp;</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>default long[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html#prepareSideInputPointers-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-java.util.ArrayList-int-boolean-">prepareSideInputPointers</a></span>(<a href="../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
+                        <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&gt;&nbsp;inputs,
+                        int&nbsp;offset,
+                        boolean&nbsp;tB1)</code>&nbsp;</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html#releaseScalarGPUMemory-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">releaseScalarGPUMemory</a></span>(<a href="../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
+</tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html#setScalarPtr-jcuda.Pointer-">setScalarPtr</a></span>(jcuda.Pointer&nbsp;ptr)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ FIELD DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.detail">
+<!--   -->
+</a>
+<h3>Field Detail</h3>
+<a name="JNI_MAT_ENTRY_SIZE">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>JNI_MAT_ENTRY_SIZE</h4>
+<pre>static final&nbsp;int JNI_MAT_ENTRY_SIZE</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.sysds.runtime.codegen.SpoofCUDAOperator.JNI_MAT_ENTRY_SIZE">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getName--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getName</h4>
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getName()</pre>
+</li>
+</ul>
+<a name="setScalarPtr-jcuda.Pointer-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setScalarPtr</h4>
+<pre>void&nbsp;setScalarPtr(jcuda.Pointer&nbsp;ptr)</pre>
+</li>
+</ul>
+<a name="getScalarPtr--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getScalarPtr</h4>
+<pre>jcuda.Pointer&nbsp;getScalarPtr()</pre>
+</li>
+</ul>
+<a name="releaseScalarGPUMemory-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>releaseScalarGPUMemory</h4>
+<pre>void&nbsp;releaseScalarGPUMemory(<a href="../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</pre>
+</li>
+</ul>
+<a name="prepareInputPointers-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-java.util.ArrayList-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>prepareInputPointers</h4>
+<pre>default&nbsp;long[]&nbsp;prepareInputPointers(<a href="../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
+                                    <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&gt;&nbsp;inputs,
+                                    int&nbsp;offset)</pre>
+</li>
+</ul>
+<a name="prepareSideInputPointers-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-java.util.ArrayList-int-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>prepareSideInputPointers</h4>
+<pre>default&nbsp;long[]&nbsp;prepareSideInputPointers(<a href="../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
+                                        <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&gt;&nbsp;inputs,
+                                        int&nbsp;offset,
+                                        boolean&nbsp;tB1)</pre>
+</li>
+</ul>
+<a name="prepareOutputPointers-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>prepareOutputPointers</h4>
+<pre>default&nbsp;long[]&nbsp;prepareOutputPointers(<a href="../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
+                                     <a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;output,
+                                     boolean&nbsp;sparseOut)</pre>
+</li>
+</ul>
+<a name="execute-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-java.util.ArrayList-java.util.ArrayList-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>execute</h4>
+<pre><a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;execute(<a href="../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
+                     <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&gt;&nbsp;inputs,
+                     <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&gt;&nbsp;scalarObjects,
+                     <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;outputName)</pre>
+</li>
+</ul>
+<a name="execute-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-java.util.ArrayList-java.util.ArrayList-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>execute</h4>
+<pre><a href="../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&nbsp;execute(<a href="../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
+                     <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&gt;&nbsp;inputs,
+                     <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&gt;&nbsp;scalarObjects)</pre>
+</li>
+</ul>
+<a name="execute_sp-long-long:A-long:A-long:A-long:A-long-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>execute_sp</h4>
+<pre>int&nbsp;execute_sp(long&nbsp;ctx,
+               long[]&nbsp;meta,
+               long[]&nbsp;in,
+               long[]&nbsp;sides,
+               long[]&nbsp;out,
+               long&nbsp;scalars)</pre>
+</li>
+</ul>
+<a name="execute_dp-long-long:A-long:A-long:A-long:A-long-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>execute_dp</h4>
+<pre>int&nbsp;execute_dp(long&nbsp;ctx,
+               long[]&nbsp;meta,
+               long[]&nbsp;in,
+               long[]&nbsp;sides,
+               long[]&nbsp;out,
+               long&nbsp;scalars)</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/SpoofCUDAOperator.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDACellwise.html" title="class in org.apache.sysds.runtime.codegen"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.PrecisionProxy.html" title="class in org.apache.sysds.runtime.codegen"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html" target="_top">Frames</a></li>
+<li><a href="SpoofCUDAOperator.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/codegen/SpoofCUDARowwise.html b/docs/api/java/org/apache/sysds/runtime/codegen/SpoofCUDARowwise.html
new file mode 100644
index 0000000..4bdbe0a
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/codegen/SpoofCUDARowwise.html
@@ -0,0 +1,565 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>SpoofCUDARowwise (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="SpoofCUDARowwise (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":9,"i1":10,"i2":9,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/SpoofCUDARowwise.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.PrecisionProxy.html" title="class in org.apache.sysds.runtime.codegen"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofMultiAggregate.html" title="class in org.apache.sysds.runtime.codegen"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/sysds/runtime/codegen/SpoofCUDARowwise.html" target="_top">Frames</a></li>
+<li><a href="SpoofCUDARowwise.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.codegen.SpoofRowwise">Nested</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.sysds.runtime.codegen</div>
+<h2 title="Class SpoofCUDARowwise" class="title">Class SpoofCUDARowwise</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofOperator.html" title="class in org.apache.sysds.runtime.codegen">org.apache.sysds.runtime.codegen.SpoofOperator</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofRowwise.html" title="class in org.apache.sysds.runtime.codegen">org.apache.sysds.runtime.codegen.SpoofRowwise</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.sysds.runtime.codegen.SpoofCUDARowwise</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html" title="interface in org.apache.sysds.runtime.codegen">SpoofCUDAOperator</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">SpoofCUDARowwise</span>
+extends <a href="../../../../../org/apache/sysds/runtime/codegen/SpoofRowwise.html" title="class in org.apache.sysds.runtime.codegen">SpoofRowwise</a>
+implements <a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html" title="interface in org.apache.sysds.runtime.codegen">SpoofCUDAOperator</a></pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../serialized-form.html#org.apache.sysds.runtime.codegen.SpoofCUDARowwise">Serialized Form</a></dd>
+</dl>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!--   -->
+</a>
+<h3>Nested Class Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.sysds.runtime.codegen.SpoofRowwise">
+<!--   -->
+</a>
+<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.sysds.runtime.codegen.<a href="../../../../../org/apache/sysds/runtime/codegen/SpoofRowwise.html" title="class in org.apache.sysds.runtime.codegen">SpoofRowwise</a></h3>
+<code><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofRowwise.RowType.html" title="enum in org.apache.sysds.runtime.codegen">SpoofRowwise.RowType</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.sysds.runtime.codegen.SpoofOperator">
+<!--   -->
+</a>
+<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.sysds.runtime.codegen.<a href="../../../../../org/apache/sysds/runtime/codegen/SpoofOperator.html" title="class in org.apache.sysds.runtime.codegen">SpoofOperator</a></h3>
+<code><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofOperator.SideInput.html" title="class in org.apache.sysds.runtime.codegen">SpoofOperator.SideInput</a>, <a href="../../../../../org/apache/sysds/runtime/codegen/SpoofOperator.SideInputSparseCell.html" title="class in org.apache.sysds.runtime.codegen">SpoofOperator.SideInputSparseCell</a>, <a href="../../../../../org/apache/sysds/runtime/codegen/SpoofOperator.SideInputSparseRow.html" title="class in org.apache.sysds.runtime.codegen">SpoofOperator.SideInputSparseRow</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.sysds.runtime.codegen.SpoofCUDAOperator">
+<!--   -->
+</a>
+<h3>Nested classes/interfaces inherited from interface&nbsp;org.apache.sysds.runtime.codegen.<a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html" title="interface in org.apache.sysds.runtime.codegen">SpoofCUDAOperator</a></h3>
+<code><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.PrecisionProxy.html" title="class in org.apache.sysds.runtime.codegen">SpoofCUDAOperator.PrecisionProxy</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!--   -->
+</a>
+<h3>Field Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.org.apache.sysds.runtime.codegen.SpoofCUDAOperator">
+<!--   -->
+</a>
+<h3>Fields inherited from interface&nbsp;org.apache.sysds.runtime.codegen.<a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html" title="interface in org.apache.sysds.runtime.codegen">SpoofCUDAOperator</a></h3>
+<code><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html#JNI_MAT_ENTRY_SIZE">JNI_MAT_ENTRY_SIZE</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDARowwise.html#SpoofCUDARowwise-org.apache.sysds.runtime.codegen.SpoofRowwise.RowType-long-boolean-int-int-org.apache.sysds.runtime.codegen.SpoofCUDAOperator.PrecisionProxy-">SpoofCUDARowwise</a></span>(<a href="../../../../../org/apache/sysds/runtime/codegen/SpoofRowwise.RowType.html" title="enum in org.apache.sysds.runtime.codegen">SpoofRowwise.RowType</a>&nbsp;type,
+                long&nbsp;constDim2,
+                boolean&nbsp;tB1,
+                int&nbsp;reqVectMem,
+                int&nbsp;id,
+                <a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.PrecisionProxy.html" title="class in org.apache.sysds.runtime.codegen">SpoofCUDAOperator.PrecisionProxy</a>&nbsp;ep)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>static int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDARowwise.html#execute_d-long-long:A-long:A-long:A-long:A-long-">execute_d</a></span>(long&nbsp;ctx,
+         long[]&nbsp;meta,
+         long[]&nbsp;in,
+         long[]&nbsp;sides,
+         long[]&nbsp;out,
+         long&nbsp;scalars)</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDARowwise.html#execute_dp-long-long:A-long:A-long:A-long:A-long-">execute_dp</a></span>(long&nbsp;ctx,
+          long[]&nbsp;meta,
+          long[]&nbsp;in,
+          long[]&nbsp;sides,
+          long[]&nbsp;out,
+          long&nbsp;scalars)</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>static int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDARowwise.html#execute_f-long-long:A-long:A-long:A-long:A-long-">execute_f</a></span>(long&nbsp;ctx,
+         long[]&nbsp;meta,
+         long[]&nbsp;in,
+         long[]&nbsp;sides,
+         long[]&nbsp;out,
+         long&nbsp;scalars)</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDARowwise.html#execute_sp-long-long:A-long:A-long:A-long:A-long-">execute_sp</a></span>(long&nbsp;ctx,
+          long[]&nbsp;meta,
+          long[]&nbsp;in,
+          long[]&nbsp;sides,
+          long[]&nbsp;out,
+          long&nbsp;scalars)</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDARowwise.html#execute-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-java.util.ArrayList-java.util.ArrayList-">execute</a></span>(<a href="../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
+       <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&gt;&nbsp;inputs,
+       <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&gt;&nbsp;scalarObjects)</code>&nbsp;</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDARowwise.html#execute-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-java.util.ArrayList-java.util.ArrayList-java.lang.String-">execute</a></span>(<a href="../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
+       <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&gt;&nbsp;inputs,
+       <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&gt;&nbsp;scalarObjects,
+       <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;outputName)</code>&nbsp;</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDARowwise.html#getName--">getName</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>jcuda.Pointer</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDARowwise.html#getScalarPtr--">getScalarPtr</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDARowwise.html#releaseScalarGPUMemory-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">releaseScalarGPUMemory</a></span>(<a href="../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDARowwise.html#setScalarPtr-jcuda.Pointer-">setScalarPtr</a></span>(jcuda.Pointer&nbsp;_ptr)</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.codegen.SpoofRowwise">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.codegen.<a href="../../../../../org/apache/sysds/runtime/codegen/SpoofRowwise.html" title="class in org.apache.sysds.runtime.codegen">SpoofRowwise</a></h3>
+<code><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofRowwise.html#createCUDAInstrcution-java.lang.Integer-org.apache.sysds.runtime.codegen.SpoofCUDAOperator.PrecisionProxy-">createCUDAInstrcution</a>, <a href="../../../../../org/apache/sysds/runtime/codegen/SpoofRowwise.html#execute-java.util.ArrayList-java.util.ArrayList-int-">execute</a>, <a href="../../../../../org/apache/sysds/runtime/codegen/SpoofRowwise.html#execute-java.util.ArrayList-java.util.ArrayList-org.apache.sysds.runtime.matrix.data.MatrixBlock-">execute</a>, <a href="../../../../../org/apache/sysds/runtime/codegen/SpoofRowwise.html#execute-java.util.ArrayList-java.util.ArrayList-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-boolean-long-">execute</a>, <a href="../../../../../org/apache/sysds/runtime/codegen/SpoofRowwise.html#execute-java.util.ArrayList-java.util.ArrayList-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">execute</a>, <a href="../../../../../org/apache/sysds/runtime/codegen/SpoofRowwise.html#getConstDim2--">getConstDim2</a>, <a href="../../../../../org/apache/sysds/runtime/codegen/SpoofRowwise.html#getNumIntermediates--">getNumIntermediates</a>, <a href="../../../../../org/apache/sysds/runtime/codegen/SpoofRowwise.html#getRowType--">getRowType</a>, <a href="../../../../../org/apache/sysds/runtime/codegen/SpoofRowwise.html#getSpoofType--">getSpoofType</a>, <a href="../../../../../org/apache/sysds/runtime/codegen/SpoofRowwise.html#hasMatrixObjectSideInput-java.util.ArrayList-">hasMatrixObjectSideInput</a>, <a href="../../../../../org/apache/sysds/runtime/codegen/SpoofRowwise.html#hasMatrixSideInput-java.util.ArrayList-">hasMatrixSideInput</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.codegen.SpoofOperator">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.codegen.<a href="../../../../../org/apache/sysds/runtime/codegen/SpoofOperator.html" title="class in org.apache.sysds.runtime.codegen">SpoofOperator</a></h3>
+<code><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofOperator.html#execute-java.util.ArrayList-java.util.ArrayList-">execute</a>, <a href="../../../../../org/apache/sysds/runtime/codegen/SpoofOperator.html#getDenseMatrices-org.apache.sysds.runtime.codegen.SpoofOperator.SideInput:A-">getDenseMatrices</a>, <a href="../../../../../org/apache/sysds/runtime/codegen/SpoofOperator.html#getTotalInputNnz-java.util.ArrayList-">getTotalInputNnz</a>, <a href="../../../../../org/apache/sysds/runtime/codegen/SpoofOperator.html#getTotalInputSize-java.util.ArrayList-">getTotalInputSize</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.codegen.SpoofCUDAOperator">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.sysds.runtime.codegen.<a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html" title="interface in org.apache.sysds.runtime.codegen">SpoofCUDAOperator</a></h3>
+<code><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html#prepareInputPointers-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-java.util.ArrayList-int-">prepareInputPointers</a>, <a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html#prepareOutputPointers-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-boolean-">prepareOutputPointers</a>, <a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html#prepareSideInputPointers-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-java.util.ArrayList-int-boolean-">prepareSideInputPointers</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="SpoofCUDARowwise-org.apache.sysds.runtime.codegen.SpoofRowwise.RowType-long-boolean-int-int-org.apache.sysds.runtime.codegen.SpoofCUDAOperator.PrecisionProxy-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>SpoofCUDARowwise</h4>
+<pre>public&nbsp;SpoofCUDARowwise(<a href="../../../../../org/apache/sysds/runtime/codegen/SpoofRowwise.RowType.html" title="enum in org.apache.sysds.runtime.codegen">SpoofRowwise.RowType</a>&nbsp;type,
+                        long&nbsp;constDim2,
+                        boolean&nbsp;tB1,
+                        int&nbsp;reqVectMem,
+                        int&nbsp;id,
+                        <a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.PrecisionProxy.html" title="class in org.apache.sysds.runtime.codegen">SpoofCUDAOperator.PrecisionProxy</a>&nbsp;ep)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getName--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getName</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getName()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html#getName--">getName</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html" title="interface in org.apache.sysds.runtime.codegen">SpoofCUDAOperator</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="setScalarPtr-jcuda.Pointer-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setScalarPtr</h4>
+<pre>public&nbsp;void&nbsp;setScalarPtr(jcuda.Pointer&nbsp;_ptr)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html#setScalarPtr-jcuda.Pointer-">setScalarPtr</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html" title="interface in org.apache.sysds.runtime.codegen">SpoofCUDAOperator</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getScalarPtr--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getScalarPtr</h4>
+<pre>public&nbsp;jcuda.Pointer&nbsp;getScalarPtr()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html#getScalarPtr--">getScalarPtr</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html" title="interface in org.apache.sysds.runtime.codegen">SpoofCUDAOperator</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="releaseScalarGPUMemory-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>releaseScalarGPUMemory</h4>
+<pre>public&nbsp;void&nbsp;releaseScalarGPUMemory(<a href="../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html#releaseScalarGPUMemory-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">releaseScalarGPUMemory</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html" title="interface in org.apache.sysds.runtime.codegen">SpoofCUDAOperator</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="execute-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-java.util.ArrayList-java.util.ArrayList-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>execute</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&nbsp;execute(<a href="../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
+                            <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&gt;&nbsp;inputs,
+                            <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&gt;&nbsp;scalarObjects)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html#execute-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-java.util.ArrayList-java.util.ArrayList-">execute</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html" title="interface in org.apache.sysds.runtime.codegen">SpoofCUDAOperator</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="execute-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-java.util.ArrayList-java.util.ArrayList-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>execute</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;execute(<a href="../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
+                            <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&gt;&nbsp;inputs,
+                            <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&gt;&nbsp;scalarObjects,
+                            <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;outputName)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html#execute-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-java.util.ArrayList-java.util.ArrayList-java.lang.String-">execute</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html" title="interface in org.apache.sysds.runtime.codegen">SpoofCUDAOperator</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="execute_sp-long-long:A-long:A-long:A-long:A-long-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>execute_sp</h4>
+<pre>public&nbsp;int&nbsp;execute_sp(long&nbsp;ctx,
+                      long[]&nbsp;meta,
+                      long[]&nbsp;in,
+                      long[]&nbsp;sides,
+                      long[]&nbsp;out,
+                      long&nbsp;scalars)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html#execute_sp-long-long:A-long:A-long:A-long:A-long-">execute_sp</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html" title="interface in org.apache.sysds.runtime.codegen">SpoofCUDAOperator</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="execute_dp-long-long:A-long:A-long:A-long:A-long-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>execute_dp</h4>
+<pre>public&nbsp;int&nbsp;execute_dp(long&nbsp;ctx,
+                      long[]&nbsp;meta,
+                      long[]&nbsp;in,
+                      long[]&nbsp;sides,
+                      long[]&nbsp;out,
+                      long&nbsp;scalars)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html#execute_dp-long-long:A-long:A-long:A-long:A-long-">execute_dp</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html" title="interface in org.apache.sysds.runtime.codegen">SpoofCUDAOperator</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="execute_f-long-long:A-long:A-long:A-long:A-long-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>execute_f</h4>
+<pre>public static&nbsp;int&nbsp;execute_f(long&nbsp;ctx,
+                            long[]&nbsp;meta,
+                            long[]&nbsp;in,
+                            long[]&nbsp;sides,
+                            long[]&nbsp;out,
+                            long&nbsp;scalars)</pre>
+</li>
+</ul>
+<a name="execute_d-long-long:A-long:A-long:A-long:A-long-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>execute_d</h4>
+<pre>public static&nbsp;int&nbsp;execute_d(long&nbsp;ctx,
+                            long[]&nbsp;meta,
+                            long[]&nbsp;in,
+                            long[]&nbsp;sides,
+                            long[]&nbsp;out,
+                            long&nbsp;scalars)</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/SpoofCUDARowwise.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.PrecisionProxy.html" title="class in org.apache.sysds.runtime.codegen"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofMultiAggregate.html" title="class in org.apache.sysds.runtime.codegen"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/sysds/runtime/codegen/SpoofCUDARowwise.html" target="_top">Frames</a></li>
+<li><a href="SpoofCUDARowwise.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.codegen.SpoofRowwise">Nested</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/codegen/SpoofCellwise.AggOp.html b/docs/api/java/org/apache/sysds/runtime/codegen/SpoofCellwise.AggOp.html
index fd6e93a..5727158 100644
--- a/docs/api/java/org/apache/sysds/runtime/codegen/SpoofCellwise.AggOp.html
+++ b/docs/api/java/org/apache/sysds/runtime/codegen/SpoofCellwise.AggOp.html
@@ -365,6 +365,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/codegen/SpoofCellwise.CellType.html b/docs/api/java/org/apache/sysds/runtime/codegen/SpoofCellwise.CellType.html
index 1a0b72b..e9e99e0 100644
--- a/docs/api/java/org/apache/sysds/runtime/codegen/SpoofCellwise.CellType.html
+++ b/docs/api/java/org/apache/sysds/runtime/codegen/SpoofCellwise.CellType.html
@@ -18,8 +18,8 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":9};
-var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
+var methods = {"i0":10,"i1":9,"i2":9,"i3":9};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
 var tableTab = "tableTab";
@@ -50,7 +50,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCellwise.AggOp.html" title="enum in org.apache.sysds.runtime.codegen"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofMultiAggregate.html" title="class in org.apache.sysds.runtime.codegen"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDACellwise.html" title="class in org.apache.sysds.runtime.codegen"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?org/apache/sysds/runtime/codegen/SpoofCellwise.CellType.html" target="_top">Frames</a></li>
@@ -163,18 +163,26 @@
 </a>
 <h3>Method Summary</h3>
 <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCellwise.CellType.html#getValue--">getValue</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCellwise.CellType.html" title="enum in org.apache.sysds.runtime.codegen">SpoofCellwise.CellType</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCellwise.CellType.html#valueOf-int-">valueOf</a></span>(int&nbsp;cellType)</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCellwise.CellType.html" title="enum in org.apache.sysds.runtime.codegen">SpoofCellwise.CellType</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCellwise.CellType.html#valueOf-java.lang.String-">valueOf</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
 <div class="block">Returns the enum constant of this type with the specified name.</div>
 </td>
 </tr>
-<tr id="i1" class="rowColor">
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCellwise.CellType.html" title="enum in org.apache.sysds.runtime.codegen">SpoofCellwise.CellType</a>[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCellwise.CellType.html#values--">values</a></span>()</code>
 <div class="block">Returns an array containing the constants of this enum type, in
@@ -277,7 +285,7 @@
 <a name="valueOf-java.lang.String-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>valueOf</h4>
 <pre>public static&nbsp;<a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCellwise.CellType.html" title="enum in org.apache.sysds.runtime.codegen">SpoofCellwise.CellType</a>&nbsp;valueOf(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
@@ -296,6 +304,24 @@
 </dl>
 </li>
 </ul>
+<a name="valueOf-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>valueOf</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCellwise.CellType.html" title="enum in org.apache.sysds.runtime.codegen">SpoofCellwise.CellType</a>&nbsp;valueOf(int&nbsp;cellType)</pre>
+</li>
+</ul>
+<a name="getValue--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getValue</h4>
+<pre>public&nbsp;int&nbsp;getValue()</pre>
+</li>
+</ul>
 </li>
 </ul>
 </li>
@@ -325,7 +351,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCellwise.AggOp.html" title="enum in org.apache.sysds.runtime.codegen"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofMultiAggregate.html" title="class in org.apache.sysds.runtime.codegen"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDACellwise.html" title="class in org.apache.sysds.runtime.codegen"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?org/apache/sysds/runtime/codegen/SpoofCellwise.CellType.html" target="_top">Frames</a></li>
@@ -365,6 +391,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/codegen/SpoofCellwise.html b/docs/api/java/org/apache/sysds/runtime/codegen/SpoofCellwise.html
index 2ff61ff..108b7f9 100644
--- a/docs/api/java/org/apache/sysds/runtime/codegen/SpoofCellwise.html
+++ b/docs/api/java/org/apache/sysds/runtime/codegen/SpoofCellwise.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -116,6 +116,10 @@
 <dt>All Implemented Interfaces:</dt>
 <dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></dd>
 </dl>
+<dl>
+<dt>Direct Known Subclasses:</dt>
+<dd><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDACellwise.html" title="class in org.apache.sysds.runtime.codegen">SpoofCUDACellwise</a></dd>
+</dl>
 <hr>
 <br>
 <pre>public abstract class <span class="typeNameLabel">SpoofCellwise</span>
@@ -198,32 +202,37 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCellwise.html#containsSeq--">containsSeq</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html" title="interface in org.apache.sysds.runtime.codegen">SpoofCUDAOperator</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCellwise.html#createCUDAInstrcution-java.lang.Integer-org.apache.sysds.runtime.codegen.SpoofCUDAOperator.PrecisionProxy-">createCUDAInstrcution</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&nbsp;opID,
+                     <a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.PrecisionProxy.html" title="class in org.apache.sysds.runtime.codegen">SpoofCUDAOperator.PrecisionProxy</a>&nbsp;ep)</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCellwise.html#execute-java.util.ArrayList-java.util.ArrayList-int-">execute</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&gt;&nbsp;inputs,
        <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&gt;&nbsp;scalarObjects,
        int&nbsp;k)</code>&nbsp;</td>
 </tr>
-<tr id="i2" class="altColor">
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCellwise.html#execute-java.util.ArrayList-java.util.ArrayList-int-long-">execute</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&gt;&nbsp;inputs,
        <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&gt;&nbsp;scalarObjects,
        int&nbsp;k,
        long&nbsp;rix)</code>&nbsp;</td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCellwise.html#execute-java.util.ArrayList-java.util.ArrayList-org.apache.sysds.runtime.matrix.data.MatrixBlock-">execute</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&gt;&nbsp;inputs,
        <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&gt;&nbsp;scalarObjects,
        <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</code>&nbsp;</td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCellwise.html#execute-java.util.ArrayList-java.util.ArrayList-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">execute</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&gt;&nbsp;inputs,
        <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&gt;&nbsp;scalarObjects,
        <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
        int&nbsp;k)</code>&nbsp;</td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCellwise.html#execute-java.util.ArrayList-java.util.ArrayList-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-long-">execute</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&gt;&nbsp;inputs,
        <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&gt;&nbsp;scalarObjects,
@@ -231,19 +240,19 @@
        int&nbsp;k,
        long&nbsp;rix)</code>&nbsp;</td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCellwise.AggOp.html" title="enum in org.apache.sysds.runtime.codegen">SpoofCellwise.AggOp</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCellwise.html#getAggOp--">getAggOp</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCellwise.CellType.html" title="enum in org.apache.sysds.runtime.codegen">SpoofCellwise.CellType</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCellwise.html#getCellType--">getCellType</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCellwise.html#getSpoofType--">getSpoofType</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i10" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCellwise.html#isSparseSafe--">isSparseSafe</a></span>()</code>&nbsp;</td>
 </tr>
@@ -332,6 +341,20 @@
 <pre>public&nbsp;boolean&nbsp;containsSeq()</pre>
 </li>
 </ul>
+<a name="createCUDAInstrcution-java.lang.Integer-org.apache.sysds.runtime.codegen.SpoofCUDAOperator.PrecisionProxy-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>createCUDAInstrcution</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html" title="interface in org.apache.sysds.runtime.codegen">SpoofCUDAOperator</a>&nbsp;createCUDAInstrcution(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&nbsp;opID,
+                                               <a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.PrecisionProxy.html" title="class in org.apache.sysds.runtime.codegen">SpoofCUDAOperator.PrecisionProxy</a>&nbsp;ep)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofOperator.html#createCUDAInstrcution-java.lang.Integer-org.apache.sysds.runtime.codegen.SpoofCUDAOperator.PrecisionProxy-">createCUDAInstrcution</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofOperator.html" title="class in org.apache.sysds.runtime.codegen">SpoofOperator</a></code></dd>
+</dl>
+</li>
+</ul>
 <a name="getSpoofType--">
 <!--   -->
 </a>
@@ -485,6 +508,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/codegen/SpoofMultiAggregate.html b/docs/api/java/org/apache/sysds/runtime/codegen/SpoofMultiAggregate.html
index 0fe1430..38ecaa4 100644
--- a/docs/api/java/org/apache/sysds/runtime/codegen/SpoofMultiAggregate.html
+++ b/docs/api/java/org/apache/sysds/runtime/codegen/SpoofMultiAggregate.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":10,"i2":10,"i3":10,"i4":9,"i5":10,"i6":9,"i7":10,"i8":10};
+var methods = {"i0":9,"i1":10,"i2":10,"i3":10,"i4":10,"i5":9,"i6":10,"i7":9,"i8":10,"i9":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -49,7 +49,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCellwise.CellType.html" title="enum in org.apache.sysds.runtime.codegen"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDARowwise.html" title="class in org.apache.sysds.runtime.codegen"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofOperator.html" title="class in org.apache.sysds.runtime.codegen"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -183,19 +183,24 @@
                        <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;b)</code>&nbsp;</td>
 </tr>
 <tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html" title="interface in org.apache.sysds.runtime.codegen">SpoofCUDAOperator</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofMultiAggregate.html#createCUDAInstrcution-java.lang.Integer-org.apache.sysds.runtime.codegen.SpoofCUDAOperator.PrecisionProxy-">createCUDAInstrcution</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&nbsp;opID,
+                     <a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.PrecisionProxy.html" title="class in org.apache.sysds.runtime.codegen">SpoofCUDAOperator.PrecisionProxy</a>&nbsp;ep)</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofMultiAggregate.html#execute-java.util.ArrayList-java.util.ArrayList-org.apache.sysds.runtime.matrix.data.MatrixBlock-">execute</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&gt;&nbsp;inputs,
        <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&gt;&nbsp;scalarObjects,
        <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</code>&nbsp;</td>
 </tr>
-<tr id="i2" class="altColor">
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofMultiAggregate.html#execute-java.util.ArrayList-java.util.ArrayList-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">execute</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&gt;&nbsp;inputs,
        <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&gt;&nbsp;scalarObjects,
        <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
        int&nbsp;k)</code>&nbsp;</td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofMultiAggregate.html#execute-java.util.ArrayList-java.util.ArrayList-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-long-">execute</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&gt;&nbsp;inputs,
        <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&gt;&nbsp;scalarObjects,
@@ -203,23 +208,23 @@
        int&nbsp;k,
        long&nbsp;rix)</code>&nbsp;</td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/runtime/functionobjects/ValueFunction.html" title="class in org.apache.sysds.runtime.functionobjects">ValueFunction</a>[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofMultiAggregate.html#getAggFunctions-org.apache.sysds.runtime.codegen.SpoofCellwise.AggOp:A-">getAggFunctions</a></span>(<a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCellwise.AggOp.html" title="enum in org.apache.sysds.runtime.codegen">SpoofCellwise.AggOp</a>[]&nbsp;aggOps)</code>&nbsp;</td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCellwise.AggOp.html" title="enum in org.apache.sysds.runtime.codegen">SpoofCellwise.AggOp</a>[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofMultiAggregate.html#getAggOps--">getAggOps</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code>static double</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofMultiAggregate.html#getInitialValue-org.apache.sysds.runtime.codegen.SpoofCellwise.AggOp-">getInitialValue</a></span>(<a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCellwise.AggOp.html" title="enum in org.apache.sysds.runtime.codegen">SpoofCellwise.AggOp</a>&nbsp;aggop)</code>&nbsp;</td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofMultiAggregate.html#getSpoofType--">getSpoofType</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofMultiAggregate.html#isSparseSafe--">isSparseSafe</a></span>()</code>&nbsp;</td>
 </tr>
@@ -301,6 +306,20 @@
 </dl>
 </li>
 </ul>
+<a name="createCUDAInstrcution-java.lang.Integer-org.apache.sysds.runtime.codegen.SpoofCUDAOperator.PrecisionProxy-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>createCUDAInstrcution</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html" title="interface in org.apache.sysds.runtime.codegen">SpoofCUDAOperator</a>&nbsp;createCUDAInstrcution(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&nbsp;opID,
+                                               <a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.PrecisionProxy.html" title="class in org.apache.sysds.runtime.codegen">SpoofCUDAOperator.PrecisionProxy</a>&nbsp;ep)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofOperator.html#createCUDAInstrcution-java.lang.Integer-org.apache.sysds.runtime.codegen.SpoofCUDAOperator.PrecisionProxy-">createCUDAInstrcution</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofOperator.html" title="class in org.apache.sysds.runtime.codegen">SpoofOperator</a></code></dd>
+</dl>
+</li>
+</ul>
 <a name="execute-java.util.ArrayList-java.util.ArrayList-org.apache.sysds.runtime.matrix.data.MatrixBlock-">
 <!--   -->
 </a>
@@ -402,7 +421,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCellwise.CellType.html" title="enum in org.apache.sysds.runtime.codegen"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDARowwise.html" title="class in org.apache.sysds.runtime.codegen"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofOperator.html" title="class in org.apache.sysds.runtime.codegen"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -443,6 +462,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/codegen/SpoofOperator.SideInput.html b/docs/api/java/org/apache/sysds/runtime/codegen/SpoofOperator.SideInput.html
index faf8674..9c97cb5 100644
--- a/docs/api/java/org/apache/sysds/runtime/codegen/SpoofOperator.SideInput.html
+++ b/docs/api/java/org/apache/sysds/runtime/codegen/SpoofOperator.SideInput.html
@@ -382,6 +382,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/codegen/SpoofOperator.SideInputSparseCell.html b/docs/api/java/org/apache/sysds/runtime/codegen/SpoofOperator.SideInputSparseCell.html
index 9b7170e..e6886aa 100644
--- a/docs/api/java/org/apache/sysds/runtime/codegen/SpoofOperator.SideInputSparseCell.html
+++ b/docs/api/java/org/apache/sysds/runtime/codegen/SpoofOperator.SideInputSparseCell.html
@@ -317,6 +317,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/codegen/SpoofOperator.SideInputSparseRow.html b/docs/api/java/org/apache/sysds/runtime/codegen/SpoofOperator.SideInputSparseRow.html
index 5fb493c..6187d26 100644
--- a/docs/api/java/org/apache/sysds/runtime/codegen/SpoofOperator.SideInputSparseRow.html
+++ b/docs/api/java/org/apache/sysds/runtime/codegen/SpoofOperator.SideInputSparseRow.html
@@ -319,6 +319,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/codegen/SpoofOperator.html b/docs/api/java/org/apache/sysds/runtime/codegen/SpoofOperator.html
index cc32959..4b753b2 100644
--- a/docs/api/java/org/apache/sysds/runtime/codegen/SpoofOperator.html
+++ b/docs/api/java/org/apache/sysds/runtime/codegen/SpoofOperator.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":6,"i3":10,"i4":9,"i5":6,"i6":9,"i7":9};
+var methods = {"i0":6,"i1":10,"i2":10,"i3":6,"i4":10,"i5":9,"i6":6,"i7":9,"i8":9};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -187,42 +187,47 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
+<td class="colFirst"><code>abstract <a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html" title="interface in org.apache.sysds.runtime.codegen">SpoofCUDAOperator</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofOperator.html#createCUDAInstrcution-java.lang.Integer-org.apache.sysds.runtime.codegen.SpoofCUDAOperator.PrecisionProxy-">createCUDAInstrcution</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&nbsp;opID,
+                     <a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.PrecisionProxy.html" title="class in org.apache.sysds.runtime.codegen">SpoofCUDAOperator.PrecisionProxy</a>&nbsp;ep)</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofOperator.html#execute-java.util.ArrayList-java.util.ArrayList-">execute</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&gt;&nbsp;inputs,
        <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&gt;&nbsp;scalars)</code>&nbsp;</td>
 </tr>
-<tr id="i1" class="rowColor">
+<tr id="i2" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofOperator.html#execute-java.util.ArrayList-java.util.ArrayList-int-">execute</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&gt;&nbsp;inputs,
        <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&gt;&nbsp;scalars,
        int&nbsp;k)</code>&nbsp;</td>
 </tr>
-<tr id="i2" class="altColor">
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code>abstract <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofOperator.html#execute-java.util.ArrayList-java.util.ArrayList-org.apache.sysds.runtime.matrix.data.MatrixBlock-">execute</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&gt;&nbsp;inputs,
        <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&gt;&nbsp;scalars,
        <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</code>&nbsp;</td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofOperator.html#execute-java.util.ArrayList-java.util.ArrayList-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">execute</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&gt;&nbsp;inputs,
        <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&gt;&nbsp;scalars,
        <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
        int&nbsp;k)</code>&nbsp;</td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html" title="class in org.apache.sysds.runtime.data">DenseBlock</a>[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofOperator.html#getDenseMatrices-org.apache.sysds.runtime.codegen.SpoofOperator.SideInput:A-">getDenseMatrices</a></span>(<a href="../../../../../org/apache/sysds/runtime/codegen/SpoofOperator.SideInput.html" title="class in org.apache.sysds.runtime.codegen">SpoofOperator.SideInput</a>[]&nbsp;inputs)</code>&nbsp;</td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>abstract <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofOperator.html#getSpoofType--">getSpoofType</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofOperator.html#getTotalInputNnz-java.util.ArrayList-">getTotalInputNnz</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&gt;&nbsp;inputs)</code>&nbsp;</td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofOperator.html#getTotalInputSize-java.util.ArrayList-">getTotalInputSize</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&gt;&nbsp;inputs)</code>&nbsp;</td>
 </tr>
@@ -339,12 +344,22 @@
 <a name="getTotalInputSize-java.util.ArrayList-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>getTotalInputSize</h4>
 <pre>public static&nbsp;long&nbsp;getTotalInputSize(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&gt;&nbsp;inputs)</pre>
 </li>
 </ul>
+<a name="createCUDAInstrcution-java.lang.Integer-org.apache.sysds.runtime.codegen.SpoofCUDAOperator.PrecisionProxy-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>createCUDAInstrcution</h4>
+<pre>public abstract&nbsp;<a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html" title="interface in org.apache.sysds.runtime.codegen">SpoofCUDAOperator</a>&nbsp;createCUDAInstrcution(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&nbsp;opID,
+                                                        <a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.PrecisionProxy.html" title="class in org.apache.sysds.runtime.codegen">SpoofCUDAOperator.PrecisionProxy</a>&nbsp;ep)</pre>
+</li>
+</ul>
 </li>
 </ul>
 </li>
@@ -414,6 +429,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/codegen/SpoofOuterProduct.OutProdType.html b/docs/api/java/org/apache/sysds/runtime/codegen/SpoofOuterProduct.OutProdType.html
index 851ea4a..7e96502 100644
--- a/docs/api/java/org/apache/sysds/runtime/codegen/SpoofOuterProduct.OutProdType.html
+++ b/docs/api/java/org/apache/sysds/runtime/codegen/SpoofOuterProduct.OutProdType.html
@@ -365,6 +365,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/codegen/SpoofOuterProduct.html b/docs/api/java/org/apache/sysds/runtime/codegen/SpoofOuterProduct.html
index 5fff82f..322751e 100644
--- a/docs/api/java/org/apache/sysds/runtime/codegen/SpoofOuterProduct.html
+++ b/docs/api/java/org/apache/sysds/runtime/codegen/SpoofOuterProduct.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -186,38 +186,43 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html" title="interface in org.apache.sysds.runtime.codegen">SpoofCUDAOperator</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofOuterProduct.html#createCUDAInstrcution-java.lang.Integer-org.apache.sysds.runtime.codegen.SpoofCUDAOperator.PrecisionProxy-">createCUDAInstrcution</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&nbsp;opID,
+                     <a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.PrecisionProxy.html" title="class in org.apache.sysds.runtime.codegen">SpoofCUDAOperator.PrecisionProxy</a>&nbsp;ep)</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofOuterProduct.html#execute-java.util.ArrayList-java.util.ArrayList-">execute</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&gt;&nbsp;inputs,
        <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&gt;&nbsp;scalarObjects)</code>&nbsp;</td>
 </tr>
-<tr id="i1" class="rowColor">
+<tr id="i2" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofOuterProduct.html#execute-java.util.ArrayList-java.util.ArrayList-int-">execute</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&gt;&nbsp;inputs,
        <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&gt;&nbsp;scalarObjects,
        int&nbsp;numThreads)</code>&nbsp;</td>
 </tr>
-<tr id="i2" class="altColor">
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofOuterProduct.html#execute-java.util.ArrayList-java.util.ArrayList-org.apache.sysds.runtime.matrix.data.MatrixBlock-">execute</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&gt;&nbsp;inputs,
        <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&gt;&nbsp;scalarObjects,
        <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</code>&nbsp;</td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofOuterProduct.html#execute-java.util.ArrayList-java.util.ArrayList-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">execute</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&gt;&nbsp;inputs,
        <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&gt;&nbsp;scalarObjects,
        <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
        int&nbsp;numThreads)</code>&nbsp;</td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofOuterProduct.OutProdType.html" title="enum in org.apache.sysds.runtime.codegen">SpoofOuterProduct.OutProdType</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofOuterProduct.html#getOuterProdType--">getOuterProdType</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofOuterProduct.html#getSpoofType--">getSpoofType</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofOuterProduct.html#setOuterProdType-org.apache.sysds.runtime.codegen.SpoofOuterProduct.OutProdType-">setOuterProdType</a></span>(<a href="../../../../../org/apache/sysds/runtime/codegen/SpoofOuterProduct.OutProdType.html" title="enum in org.apache.sysds.runtime.codegen">SpoofOuterProduct.OutProdType</a>&nbsp;type)</code>&nbsp;</td>
 </tr>
@@ -285,6 +290,20 @@
 <pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/codegen/SpoofOuterProduct.OutProdType.html" title="enum in org.apache.sysds.runtime.codegen">SpoofOuterProduct.OutProdType</a>&nbsp;getOuterProdType()</pre>
 </li>
 </ul>
+<a name="createCUDAInstrcution-java.lang.Integer-org.apache.sysds.runtime.codegen.SpoofCUDAOperator.PrecisionProxy-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>createCUDAInstrcution</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html" title="interface in org.apache.sysds.runtime.codegen">SpoofCUDAOperator</a>&nbsp;createCUDAInstrcution(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&nbsp;opID,
+                                               <a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.PrecisionProxy.html" title="class in org.apache.sysds.runtime.codegen">SpoofCUDAOperator.PrecisionProxy</a>&nbsp;ep)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofOperator.html#createCUDAInstrcution-java.lang.Integer-org.apache.sysds.runtime.codegen.SpoofCUDAOperator.PrecisionProxy-">createCUDAInstrcution</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofOperator.html" title="class in org.apache.sysds.runtime.codegen">SpoofOperator</a></code></dd>
+</dl>
+</li>
+</ul>
 <a name="getSpoofType--">
 <!--   -->
 </a>
@@ -427,6 +446,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/codegen/SpoofRowwise.RowType.html b/docs/api/java/org/apache/sysds/runtime/codegen/SpoofRowwise.RowType.html
index 77d7198..10644db 100644
--- a/docs/api/java/org/apache/sysds/runtime/codegen/SpoofRowwise.RowType.html
+++ b/docs/api/java/org/apache/sysds/runtime/codegen/SpoofRowwise.RowType.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":9,"i5":9};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":9,"i6":9,"i7":9};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -190,28 +190,36 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
-<td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofRowwise.RowType.html#isColumnAgg--">isColumnAgg</a></span>()</code>&nbsp;</td>
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofRowwise.RowType.html#getValue--">getValue</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i1" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofRowwise.RowType.html#isConstDim2-long-">isConstDim2</a></span>(long&nbsp;dim2)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofRowwise.RowType.html#isColumnAgg--">isColumnAgg</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i2" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofRowwise.RowType.html#isRowTypeB1--">isRowTypeB1</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofRowwise.RowType.html#isConstDim2-long-">isConstDim2</a></span>(long&nbsp;dim2)</code>&nbsp;</td>
 </tr>
 <tr id="i3" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofRowwise.RowType.html#isRowTypeB1ColumnAgg--">isRowTypeB1ColumnAgg</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofRowwise.RowType.html#isRowTypeB1--">isRowTypeB1</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i4" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofRowwise.RowType.html#isRowTypeB1ColumnAgg--">isRowTypeB1ColumnAgg</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/runtime/codegen/SpoofRowwise.RowType.html" title="enum in org.apache.sysds.runtime.codegen">SpoofRowwise.RowType</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofRowwise.RowType.html#valueOf-int-">valueOf</a></span>(int&nbsp;rowType)</code>&nbsp;</td>
+</tr>
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/runtime/codegen/SpoofRowwise.RowType.html" title="enum in org.apache.sysds.runtime.codegen">SpoofRowwise.RowType</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofRowwise.RowType.html#valueOf-java.lang.String-">valueOf</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
 <div class="block">Returns the enum constant of this type with the specified name.</div>
 </td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/runtime/codegen/SpoofRowwise.RowType.html" title="enum in org.apache.sysds.runtime.codegen">SpoofRowwise.RowType</a>[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofRowwise.RowType.html#values--">values</a></span>()</code>
 <div class="block">Returns an array containing the constants of this enum type, in
@@ -396,6 +404,24 @@
 </dl>
 </li>
 </ul>
+<a name="valueOf-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>valueOf</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/sysds/runtime/codegen/SpoofRowwise.RowType.html" title="enum in org.apache.sysds.runtime.codegen">SpoofRowwise.RowType</a>&nbsp;valueOf(int&nbsp;rowType)</pre>
+</li>
+</ul>
+<a name="getValue--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getValue</h4>
+<pre>public&nbsp;int&nbsp;getValue()</pre>
+</li>
+</ul>
 <a name="isColumnAgg--">
 <!--   -->
 </a>
@@ -501,6 +527,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/codegen/SpoofRowwise.html b/docs/api/java/org/apache/sysds/runtime/codegen/SpoofRowwise.html
index 1289cda..65906b2 100644
--- a/docs/api/java/org/apache/sysds/runtime/codegen/SpoofRowwise.html
+++ b/docs/api/java/org/apache/sysds/runtime/codegen/SpoofRowwise.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":9};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":9,"i10":9};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -116,6 +116,10 @@
 <dt>All Implemented Interfaces:</dt>
 <dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></dd>
 </dl>
+<dl>
+<dt>Direct Known Subclasses:</dt>
+<dd><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDARowwise.html" title="class in org.apache.sysds.runtime.codegen">SpoofCUDARowwise</a></dd>
+</dl>
 <hr>
 <br>
 <pre>public abstract class <span class="typeNameLabel">SpoofRowwise</span>
@@ -189,18 +193,23 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html" title="interface in org.apache.sysds.runtime.codegen">SpoofCUDAOperator</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofRowwise.html#createCUDAInstrcution-java.lang.Integer-org.apache.sysds.runtime.codegen.SpoofCUDAOperator.PrecisionProxy-">createCUDAInstrcution</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&nbsp;opID,
+                     <a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.PrecisionProxy.html" title="class in org.apache.sysds.runtime.codegen">SpoofCUDAOperator.PrecisionProxy</a>&nbsp;ep)</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofRowwise.html#execute-java.util.ArrayList-java.util.ArrayList-int-">execute</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&gt;&nbsp;inputs,
        <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&gt;&nbsp;scalarObjects,
        int&nbsp;k)</code>&nbsp;</td>
 </tr>
-<tr id="i1" class="rowColor">
+<tr id="i2" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofRowwise.html#execute-java.util.ArrayList-java.util.ArrayList-org.apache.sysds.runtime.matrix.data.MatrixBlock-">execute</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&gt;&nbsp;inputs,
        <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&gt;&nbsp;scalarObjects,
        <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</code>&nbsp;</td>
 </tr>
-<tr id="i2" class="altColor">
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofRowwise.html#execute-java.util.ArrayList-java.util.ArrayList-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-boolean-long-">execute</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&gt;&nbsp;inputs,
        <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&gt;&nbsp;scalarObjects,
@@ -209,30 +218,34 @@
        boolean&nbsp;aggIncr,
        long&nbsp;rix)</code>&nbsp;</td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofRowwise.html#execute-java.util.ArrayList-java.util.ArrayList-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">execute</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&gt;&nbsp;inputs,
        <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&gt;&nbsp;scalarObjects,
        <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
        int&nbsp;k)</code>&nbsp;</td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofRowwise.html#getConstDim2--">getConstDim2</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofRowwise.html#getNumIntermediates--">getNumIntermediates</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofRowwise.RowType.html" title="enum in org.apache.sysds.runtime.codegen">SpoofRowwise.RowType</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofRowwise.html#getRowType--">getRowType</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofRowwise.html#getSpoofType--">getSpoofType</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>static boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofRowwise.html#hasMatrixObjectSideInput-java.util.ArrayList-">hasMatrixObjectSideInput</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&gt;&nbsp;inputs)</code>&nbsp;</td>
+</tr>
+<tr id="i10" class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofRowwise.html#hasMatrixSideInput-java.util.ArrayList-">hasMatrixSideInput</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&gt;&nbsp;inputs)</code>&nbsp;</td>
 </tr>
@@ -325,6 +338,20 @@
 </dl>
 </li>
 </ul>
+<a name="createCUDAInstrcution-java.lang.Integer-org.apache.sysds.runtime.codegen.SpoofCUDAOperator.PrecisionProxy-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>createCUDAInstrcution</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html" title="interface in org.apache.sysds.runtime.codegen">SpoofCUDAOperator</a>&nbsp;createCUDAInstrcution(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&nbsp;opID,
+                                               <a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.PrecisionProxy.html" title="class in org.apache.sysds.runtime.codegen">SpoofCUDAOperator.PrecisionProxy</a>&nbsp;ep)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofOperator.html#createCUDAInstrcution-java.lang.Integer-org.apache.sysds.runtime.codegen.SpoofCUDAOperator.PrecisionProxy-">createCUDAInstrcution</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofOperator.html" title="class in org.apache.sysds.runtime.codegen">SpoofOperator</a></code></dd>
+</dl>
+</li>
+</ul>
 <a name="execute-java.util.ArrayList-java.util.ArrayList-int-">
 <!--   -->
 </a>
@@ -388,12 +415,21 @@
 <a name="hasMatrixSideInput-java.util.ArrayList-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>hasMatrixSideInput</h4>
 <pre>public static&nbsp;boolean&nbsp;hasMatrixSideInput(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&gt;&nbsp;inputs)</pre>
 </li>
 </ul>
+<a name="hasMatrixObjectSideInput-java.util.ArrayList-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>hasMatrixObjectSideInput</h4>
+<pre>public static&nbsp;boolean&nbsp;hasMatrixObjectSideInput(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&gt;&nbsp;inputs)</pre>
+</li>
+</ul>
 </li>
 </ul>
 </li>
@@ -463,6 +499,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/codegen/class-use/ByteClassLoader.html b/docs/api/java/org/apache/sysds/runtime/codegen/class-use/ByteClassLoader.html
index 8cfb8a5..8fd866d 100644
--- a/docs/api/java/org/apache/sysds/runtime/codegen/class-use/ByteClassLoader.html
+++ b/docs/api/java/org/apache/sysds/runtime/codegen/class-use/ByteClassLoader.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/codegen/class-use/CodegenUtils.html b/docs/api/java/org/apache/sysds/runtime/codegen/class-use/CodegenUtils.html
index dbabfa7..b468036 100644
--- a/docs/api/java/org/apache/sysds/runtime/codegen/class-use/CodegenUtils.html
+++ b/docs/api/java/org/apache/sysds/runtime/codegen/class-use/CodegenUtils.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/codegen/class-use/LibSpoofPrimitives.html b/docs/api/java/org/apache/sysds/runtime/codegen/class-use/LibSpoofPrimitives.html
index 26d51c2..046edcc 100644
--- a/docs/api/java/org/apache/sysds/runtime/codegen/class-use/LibSpoofPrimitives.html
+++ b/docs/api/java/org/apache/sysds/runtime/codegen/class-use/LibSpoofPrimitives.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/class-use/BitmapEncoder.html b/docs/api/java/org/apache/sysds/runtime/codegen/class-use/SpoofCUDACellwise.html
similarity index 77%
copy from docs/api/java/org/apache/sysds/runtime/compress/class-use/BitmapEncoder.html
copy to docs/api/java/org/apache/sysds/runtime/codegen/class-use/SpoofCUDACellwise.html
index f4f340f..745c438 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/class-use/BitmapEncoder.html
+++ b/docs/api/java/org/apache/sysds/runtime/codegen/class-use/SpoofCUDACellwise.html
@@ -4,7 +4,7 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.sysds.runtime.compress.BitmapEncoder (SystemDS 2.1.0-SNAPSHOT API)</title>
+<title>Uses of Class org.apache.sysds.runtime.codegen.SpoofCUDACellwise (SystemDS 2.1.0-SNAPSHOT API)</title>
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.sysds.runtime.compress.BitmapEncoder (SystemDS 2.1.0-SNAPSHOT API)";
+            parent.document.title="Uses of Class org.apache.sysds.runtime.codegen.SpoofCUDACellwise (SystemDS 2.1.0-SNAPSHOT API)";
         }
     }
     catch(err) {
@@ -33,7 +33,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/BitmapEncoder.html" title="class in org.apache.sysds.runtime.compress">Class</a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDACellwise.html" title="class in org.apache.sysds.runtime.codegen">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -47,8 +47,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/class-use/BitmapEncoder.html" target="_top">Frames</a></li>
-<li><a href="BitmapEncoder.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/codegen/class-use/SpoofCUDACellwise.html" target="_top">Frames</a></li>
+<li><a href="SpoofCUDACellwise.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
 <li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -70,9 +70,9 @@
 </a></div>
 <!-- ========= END OF TOP NAVBAR ========= -->
 <div class="header">
-<h2 title="Uses of Class org.apache.sysds.runtime.compress.BitmapEncoder" class="title">Uses of Class<br>org.apache.sysds.runtime.compress.BitmapEncoder</h2>
+<h2 title="Uses of Class org.apache.sysds.runtime.codegen.SpoofCUDACellwise" class="title">Uses of Class<br>org.apache.sysds.runtime.codegen.SpoofCUDACellwise</h2>
 </div>
-<div class="classUseContainer">No usage of org.apache.sysds.runtime.compress.BitmapEncoder</div>
+<div class="classUseContainer">No usage of org.apache.sysds.runtime.codegen.SpoofCUDACellwise</div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
 <!--   -->
@@ -84,7 +84,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/BitmapEncoder.html" title="class in org.apache.sysds.runtime.compress">Class</a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDACellwise.html" title="class in org.apache.sysds.runtime.codegen">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -98,8 +98,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/class-use/BitmapEncoder.html" target="_top">Frames</a></li>
-<li><a href="BitmapEncoder.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/codegen/class-use/SpoofCUDACellwise.html" target="_top">Frames</a></li>
+<li><a href="SpoofCUDACellwise.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
 <li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/codegen/class-use/SpoofCUDAOperator.PrecisionProxy.html b/docs/api/java/org/apache/sysds/runtime/codegen/class-use/SpoofCUDAOperator.PrecisionProxy.html
new file mode 100644
index 0000000..0ec7e15
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/codegen/class-use/SpoofCUDAOperator.PrecisionProxy.html
@@ -0,0 +1,250 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.sysds.runtime.codegen.SpoofCUDAOperator.PrecisionProxy (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.sysds.runtime.codegen.SpoofCUDAOperator.PrecisionProxy (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.PrecisionProxy.html" title="class in org.apache.sysds.runtime.codegen">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/codegen/class-use/SpoofCUDAOperator.PrecisionProxy.html" target="_top">Frames</a></li>
+<li><a href="SpoofCUDAOperator.PrecisionProxy.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.sysds.runtime.codegen.SpoofCUDAOperator.PrecisionProxy" class="title">Uses of Class<br>org.apache.sysds.runtime.codegen.SpoofCUDAOperator.PrecisionProxy</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.PrecisionProxy.html" title="class in org.apache.sysds.runtime.codegen">SpoofCUDAOperator.PrecisionProxy</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.codegen">org.apache.sysds.runtime.codegen</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.gpu">org.apache.sysds.runtime.instructions.gpu</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.sysds.runtime.codegen">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.PrecisionProxy.html" title="class in org.apache.sysds.runtime.codegen">SpoofCUDAOperator.PrecisionProxy</a> in <a href="../../../../../../org/apache/sysds/runtime/codegen/package-summary.html">org.apache.sysds.runtime.codegen</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/sysds/runtime/codegen/package-summary.html">org.apache.sysds.runtime.codegen</a> with parameters of type <a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.PrecisionProxy.html" title="class in org.apache.sysds.runtime.codegen">SpoofCUDAOperator.PrecisionProxy</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>abstract <a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html" title="interface in org.apache.sysds.runtime.codegen">SpoofCUDAOperator</a></code></td>
+<td class="colLast"><span class="typeNameLabel">SpoofOperator.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofOperator.html#createCUDAInstrcution-java.lang.Integer-org.apache.sysds.runtime.codegen.SpoofCUDAOperator.PrecisionProxy-">createCUDAInstrcution</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&nbsp;opID,
+                     <a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.PrecisionProxy.html" title="class in org.apache.sysds.runtime.codegen">SpoofCUDAOperator.PrecisionProxy</a>&nbsp;ep)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html" title="interface in org.apache.sysds.runtime.codegen">SpoofCUDAOperator</a></code></td>
+<td class="colLast"><span class="typeNameLabel">SpoofOuterProduct.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofOuterProduct.html#createCUDAInstrcution-java.lang.Integer-org.apache.sysds.runtime.codegen.SpoofCUDAOperator.PrecisionProxy-">createCUDAInstrcution</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&nbsp;opID,
+                     <a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.PrecisionProxy.html" title="class in org.apache.sysds.runtime.codegen">SpoofCUDAOperator.PrecisionProxy</a>&nbsp;ep)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html" title="interface in org.apache.sysds.runtime.codegen">SpoofCUDAOperator</a></code></td>
+<td class="colLast"><span class="typeNameLabel">SpoofRowwise.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofRowwise.html#createCUDAInstrcution-java.lang.Integer-org.apache.sysds.runtime.codegen.SpoofCUDAOperator.PrecisionProxy-">createCUDAInstrcution</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&nbsp;opID,
+                     <a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.PrecisionProxy.html" title="class in org.apache.sysds.runtime.codegen">SpoofCUDAOperator.PrecisionProxy</a>&nbsp;ep)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html" title="interface in org.apache.sysds.runtime.codegen">SpoofCUDAOperator</a></code></td>
+<td class="colLast"><span class="typeNameLabel">SpoofCellwise.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCellwise.html#createCUDAInstrcution-java.lang.Integer-org.apache.sysds.runtime.codegen.SpoofCUDAOperator.PrecisionProxy-">createCUDAInstrcution</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&nbsp;opID,
+                     <a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.PrecisionProxy.html" title="class in org.apache.sysds.runtime.codegen">SpoofCUDAOperator.PrecisionProxy</a>&nbsp;ep)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html" title="interface in org.apache.sysds.runtime.codegen">SpoofCUDAOperator</a></code></td>
+<td class="colLast"><span class="typeNameLabel">SpoofMultiAggregate.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofMultiAggregate.html#createCUDAInstrcution-java.lang.Integer-org.apache.sysds.runtime.codegen.SpoofCUDAOperator.PrecisionProxy-">createCUDAInstrcution</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&nbsp;opID,
+                     <a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.PrecisionProxy.html" title="class in org.apache.sysds.runtime.codegen">SpoofCUDAOperator.PrecisionProxy</a>&nbsp;ep)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../../org/apache/sysds/runtime/codegen/package-summary.html">org.apache.sysds.runtime.codegen</a> with parameters of type <a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.PrecisionProxy.html" title="class in org.apache.sysds.runtime.codegen">SpoofCUDAOperator.PrecisionProxy</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDACellwise.html#SpoofCUDACellwise-org.apache.sysds.runtime.codegen.SpoofCellwise.CellType-boolean-boolean-org.apache.sysds.runtime.codegen.SpoofCellwise.AggOp-int-org.apache.sysds.runtime.codegen.SpoofCUDAOperator.PrecisionProxy-org.apache.sysds.runtime.codegen.SpoofCellwise-">SpoofCUDACellwise</a></span>(<a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCellwise.CellType.html" title="enum in org.apache.sysds.runtime.codegen">SpoofCellwise.CellType</a>&nbsp;type,
+                 boolean&nbsp;sparseSafe,
+                 boolean&nbsp;containsSeq,
+                 <a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCellwise.AggOp.html" title="enum in org.apache.sysds.runtime.codegen">SpoofCellwise.AggOp</a>&nbsp;aggOp,
+                 int&nbsp;id,
+                 <a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.PrecisionProxy.html" title="class in org.apache.sysds.runtime.codegen">SpoofCUDAOperator.PrecisionProxy</a>&nbsp;ep,
+                 <a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCellwise.html" title="class in org.apache.sysds.runtime.codegen">SpoofCellwise</a>&nbsp;fallback)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDARowwise.html#SpoofCUDARowwise-org.apache.sysds.runtime.codegen.SpoofRowwise.RowType-long-boolean-int-int-org.apache.sysds.runtime.codegen.SpoofCUDAOperator.PrecisionProxy-">SpoofCUDARowwise</a></span>(<a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofRowwise.RowType.html" title="enum in org.apache.sysds.runtime.codegen">SpoofRowwise.RowType</a>&nbsp;type,
+                long&nbsp;constDim2,
+                boolean&nbsp;tB1,
+                int&nbsp;reqVectMem,
+                int&nbsp;id,
+                <a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.PrecisionProxy.html" title="class in org.apache.sysds.runtime.codegen">SpoofCUDAOperator.PrecisionProxy</a>&nbsp;ep)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.sysds.runtime.instructions.gpu">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.PrecisionProxy.html" title="class in org.apache.sysds.runtime.codegen">SpoofCUDAOperator.PrecisionProxy</a> in <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/package-summary.html">org.apache.sysds.runtime.instructions.gpu</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subclasses, and an explanation">
+<caption><span>Subclasses of <a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.PrecisionProxy.html" title="class in org.apache.sysds.runtime.codegen">SpoofCUDAOperator.PrecisionProxy</a> in <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/package-summary.html">org.apache.sysds.runtime.instructions.gpu</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>static class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.DoublePrecision.html" title="class in org.apache.sysds.runtime.instructions.gpu">SpoofCUDAInstruction.DoublePrecision</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.SinglePrecision.html" title="class in org.apache.sysds.runtime.instructions.gpu">SpoofCUDAInstruction.SinglePrecision</a></span></code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing fields, and an explanation">
+<caption><span>Fields in <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/package-summary.html">org.apache.sysds.runtime.instructions.gpu</a> declared as <a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.PrecisionProxy.html" title="class in org.apache.sysds.runtime.codegen">SpoofCUDAOperator.PrecisionProxy</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.PrecisionProxy.html" title="class in org.apache.sysds.runtime.codegen">SpoofCUDAOperator.PrecisionProxy</a></code></td>
+<td class="colLast"><span class="typeNameLabel">SpoofCUDAInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.html#proxy">proxy</a></span></code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.PrecisionProxy.html" title="class in org.apache.sysds.runtime.codegen">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/codegen/class-use/SpoofCUDAOperator.PrecisionProxy.html" target="_top">Frames</a></li>
+<li><a href="SpoofCUDAOperator.PrecisionProxy.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/codegen/class-use/SpoofCUDAOperator.html b/docs/api/java/org/apache/sysds/runtime/codegen/class-use/SpoofCUDAOperator.html
new file mode 100644
index 0000000..9b579ae
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/codegen/class-use/SpoofCUDAOperator.html
@@ -0,0 +1,263 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.sysds.runtime.codegen.SpoofCUDAOperator (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Interface org.apache.sysds.runtime.codegen.SpoofCUDAOperator (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html" title="interface in org.apache.sysds.runtime.codegen">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/codegen/class-use/SpoofCUDAOperator.html" target="_top">Frames</a></li>
+<li><a href="SpoofCUDAOperator.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Interface org.apache.sysds.runtime.codegen.SpoofCUDAOperator" class="title">Uses of Interface<br>org.apache.sysds.runtime.codegen.SpoofCUDAOperator</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html" title="interface in org.apache.sysds.runtime.codegen">SpoofCUDAOperator</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.codegen">org.apache.sysds.runtime.codegen</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.gpu">org.apache.sysds.runtime.instructions.gpu</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.sysds.runtime.codegen">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html" title="interface in org.apache.sysds.runtime.codegen">SpoofCUDAOperator</a> in <a href="../../../../../../org/apache/sysds/runtime/codegen/package-summary.html">org.apache.sysds.runtime.codegen</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../../org/apache/sysds/runtime/codegen/package-summary.html">org.apache.sysds.runtime.codegen</a> that implement <a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html" title="interface in org.apache.sysds.runtime.codegen">SpoofCUDAOperator</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDACellwise.html" title="class in org.apache.sysds.runtime.codegen">SpoofCUDACellwise</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDARowwise.html" title="class in org.apache.sysds.runtime.codegen">SpoofCUDARowwise</a></span></code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/sysds/runtime/codegen/package-summary.html">org.apache.sysds.runtime.codegen</a> that return <a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html" title="interface in org.apache.sysds.runtime.codegen">SpoofCUDAOperator</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>abstract <a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html" title="interface in org.apache.sysds.runtime.codegen">SpoofCUDAOperator</a></code></td>
+<td class="colLast"><span class="typeNameLabel">SpoofOperator.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofOperator.html#createCUDAInstrcution-java.lang.Integer-org.apache.sysds.runtime.codegen.SpoofCUDAOperator.PrecisionProxy-">createCUDAInstrcution</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&nbsp;opID,
+                     <a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.PrecisionProxy.html" title="class in org.apache.sysds.runtime.codegen">SpoofCUDAOperator.PrecisionProxy</a>&nbsp;ep)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html" title="interface in org.apache.sysds.runtime.codegen">SpoofCUDAOperator</a></code></td>
+<td class="colLast"><span class="typeNameLabel">SpoofOuterProduct.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofOuterProduct.html#createCUDAInstrcution-java.lang.Integer-org.apache.sysds.runtime.codegen.SpoofCUDAOperator.PrecisionProxy-">createCUDAInstrcution</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&nbsp;opID,
+                     <a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.PrecisionProxy.html" title="class in org.apache.sysds.runtime.codegen">SpoofCUDAOperator.PrecisionProxy</a>&nbsp;ep)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html" title="interface in org.apache.sysds.runtime.codegen">SpoofCUDAOperator</a></code></td>
+<td class="colLast"><span class="typeNameLabel">SpoofRowwise.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofRowwise.html#createCUDAInstrcution-java.lang.Integer-org.apache.sysds.runtime.codegen.SpoofCUDAOperator.PrecisionProxy-">createCUDAInstrcution</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&nbsp;opID,
+                     <a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.PrecisionProxy.html" title="class in org.apache.sysds.runtime.codegen">SpoofCUDAOperator.PrecisionProxy</a>&nbsp;ep)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html" title="interface in org.apache.sysds.runtime.codegen">SpoofCUDAOperator</a></code></td>
+<td class="colLast"><span class="typeNameLabel">SpoofCellwise.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCellwise.html#createCUDAInstrcution-java.lang.Integer-org.apache.sysds.runtime.codegen.SpoofCUDAOperator.PrecisionProxy-">createCUDAInstrcution</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&nbsp;opID,
+                     <a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.PrecisionProxy.html" title="class in org.apache.sysds.runtime.codegen">SpoofCUDAOperator.PrecisionProxy</a>&nbsp;ep)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html" title="interface in org.apache.sysds.runtime.codegen">SpoofCUDAOperator</a></code></td>
+<td class="colLast"><span class="typeNameLabel">SpoofMultiAggregate.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofMultiAggregate.html#createCUDAInstrcution-java.lang.Integer-org.apache.sysds.runtime.codegen.SpoofCUDAOperator.PrecisionProxy-">createCUDAInstrcution</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&nbsp;opID,
+                     <a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.PrecisionProxy.html" title="class in org.apache.sysds.runtime.codegen">SpoofCUDAOperator.PrecisionProxy</a>&nbsp;ep)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/sysds/runtime/codegen/package-summary.html">org.apache.sysds.runtime.codegen</a> with parameters of type <a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html" title="interface in org.apache.sysds.runtime.codegen">SpoofCUDAOperator</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>abstract int</code></td>
+<td class="colLast"><span class="typeNameLabel">SpoofCUDAOperator.PrecisionProxy.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.PrecisionProxy.html#exec-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.runtime.codegen.SpoofCUDAOperator-int-long:A-long:A-long:A-java.util.ArrayList-long-">exec</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
+    <a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html" title="interface in org.apache.sysds.runtime.codegen">SpoofCUDAOperator</a>&nbsp;op,
+    int&nbsp;opID,
+    long[]&nbsp;in,
+    long[]&nbsp;sides,
+    long[]&nbsp;out,
+    <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&gt;&nbsp;scalarObjects,
+    long&nbsp;grix)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.sysds.runtime.instructions.gpu">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html" title="interface in org.apache.sysds.runtime.codegen">SpoofCUDAOperator</a> in <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/package-summary.html">org.apache.sysds.runtime.instructions.gpu</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/package-summary.html">org.apache.sysds.runtime.instructions.gpu</a> with parameters of type <a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html" title="interface in org.apache.sysds.runtime.codegen">SpoofCUDAOperator</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><span class="typeNameLabel">SpoofCUDAInstruction.SinglePrecision.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.SinglePrecision.html#exec-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.runtime.codegen.SpoofCUDAOperator-int-long:A-long:A-long:A-java.util.ArrayList-long-">exec</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
+    <a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html" title="interface in org.apache.sysds.runtime.codegen">SpoofCUDAOperator</a>&nbsp;op,
+    int&nbsp;opID,
+    long[]&nbsp;in,
+    long[]&nbsp;sides,
+    long[]&nbsp;out,
+    <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&gt;&nbsp;scalarObjects,
+    long&nbsp;grix)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><span class="typeNameLabel">SpoofCUDAInstruction.DoublePrecision.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.DoublePrecision.html#exec-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.runtime.codegen.SpoofCUDAOperator-int-long:A-long:A-long:A-java.util.ArrayList-long-">exec</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
+    <a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html" title="interface in org.apache.sysds.runtime.codegen">SpoofCUDAOperator</a>&nbsp;op,
+    int&nbsp;opID,
+    long[]&nbsp;in,
+    long[]&nbsp;sides,
+    long[]&nbsp;out,
+    <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&gt;&nbsp;scalarObjects,
+    long&nbsp;grix)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html" title="interface in org.apache.sysds.runtime.codegen">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/codegen/class-use/SpoofCUDAOperator.html" target="_top">Frames</a></li>
+<li><a href="SpoofCUDAOperator.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/class-use/BitmapEncoder.html b/docs/api/java/org/apache/sysds/runtime/codegen/class-use/SpoofCUDARowwise.html
similarity index 77%
copy from docs/api/java/org/apache/sysds/runtime/compress/class-use/BitmapEncoder.html
copy to docs/api/java/org/apache/sysds/runtime/codegen/class-use/SpoofCUDARowwise.html
index f4f340f..b4b609f 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/class-use/BitmapEncoder.html
+++ b/docs/api/java/org/apache/sysds/runtime/codegen/class-use/SpoofCUDARowwise.html
@@ -4,7 +4,7 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.sysds.runtime.compress.BitmapEncoder (SystemDS 2.1.0-SNAPSHOT API)</title>
+<title>Uses of Class org.apache.sysds.runtime.codegen.SpoofCUDARowwise (SystemDS 2.1.0-SNAPSHOT API)</title>
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.sysds.runtime.compress.BitmapEncoder (SystemDS 2.1.0-SNAPSHOT API)";
+            parent.document.title="Uses of Class org.apache.sysds.runtime.codegen.SpoofCUDARowwise (SystemDS 2.1.0-SNAPSHOT API)";
         }
     }
     catch(err) {
@@ -33,7 +33,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/BitmapEncoder.html" title="class in org.apache.sysds.runtime.compress">Class</a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDARowwise.html" title="class in org.apache.sysds.runtime.codegen">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -47,8 +47,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/class-use/BitmapEncoder.html" target="_top">Frames</a></li>
-<li><a href="BitmapEncoder.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/codegen/class-use/SpoofCUDARowwise.html" target="_top">Frames</a></li>
+<li><a href="SpoofCUDARowwise.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
 <li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -70,9 +70,9 @@
 </a></div>
 <!-- ========= END OF TOP NAVBAR ========= -->
 <div class="header">
-<h2 title="Uses of Class org.apache.sysds.runtime.compress.BitmapEncoder" class="title">Uses of Class<br>org.apache.sysds.runtime.compress.BitmapEncoder</h2>
+<h2 title="Uses of Class org.apache.sysds.runtime.codegen.SpoofCUDARowwise" class="title">Uses of Class<br>org.apache.sysds.runtime.codegen.SpoofCUDARowwise</h2>
 </div>
-<div class="classUseContainer">No usage of org.apache.sysds.runtime.compress.BitmapEncoder</div>
+<div class="classUseContainer">No usage of org.apache.sysds.runtime.codegen.SpoofCUDARowwise</div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
 <!--   -->
@@ -84,7 +84,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/BitmapEncoder.html" title="class in org.apache.sysds.runtime.compress">Class</a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDARowwise.html" title="class in org.apache.sysds.runtime.codegen">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -98,8 +98,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/class-use/BitmapEncoder.html" target="_top">Frames</a></li>
-<li><a href="BitmapEncoder.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/codegen/class-use/SpoofCUDARowwise.html" target="_top">Frames</a></li>
+<li><a href="SpoofCUDARowwise.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
 <li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/codegen/class-use/SpoofCellwise.AggOp.html b/docs/api/java/org/apache/sysds/runtime/codegen/class-use/SpoofCellwise.AggOp.html
index d57e1c0..b3a77fc 100644
--- a/docs/api/java/org/apache/sysds/runtime/codegen/class-use/SpoofCellwise.AggOp.html
+++ b/docs/api/java/org/apache/sysds/runtime/codegen/class-use/SpoofCellwise.AggOp.html
@@ -83,10 +83,14 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><a href="#org.apache.sysds.runtime.codegen">org.apache.sysds.runtime.codegen</a></td>
+<td class="colFirst"><a href="#org.apache.sysds.hops.codegen.cplan">org.apache.sysds.hops.codegen.cplan</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.codegen">org.apache.sysds.runtime.codegen</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.spark">org.apache.sysds.runtime.instructions.spark</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
@@ -95,6 +99,24 @@
 </li>
 <li class="blockList">
 <ul class="blockList">
+<li class="blockList"><a name="org.apache.sysds.hops.codegen.cplan">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCellwise.AggOp.html" title="enum in org.apache.sysds.runtime.codegen">SpoofCellwise.AggOp</a> in <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/package-summary.html">org.apache.sysds.hops.codegen.cplan</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/sysds/hops/codegen/cplan/package-summary.html">org.apache.sysds.hops.codegen.cplan</a> that return <a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCellwise.AggOp.html" title="enum in org.apache.sysds.runtime.codegen">SpoofCellwise.AggOp</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCellwise.AggOp.html" title="enum in org.apache.sysds.runtime.codegen">SpoofCellwise.AggOp</a></code></td>
+<td class="colLast"><span class="typeNameLabel">CNodeCell.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeCell.html#getSpoofAggOp--">getSpoofAggOp</a></span>()</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
 <li class="blockList"><a name="org.apache.sysds.runtime.codegen">
 <!--   -->
 </a>
@@ -165,6 +187,15 @@
              <a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCellwise.AggOp.html" title="enum in org.apache.sysds.runtime.codegen">SpoofCellwise.AggOp</a>&nbsp;aggOp)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDACellwise.html#SpoofCUDACellwise-org.apache.sysds.runtime.codegen.SpoofCellwise.CellType-boolean-boolean-org.apache.sysds.runtime.codegen.SpoofCellwise.AggOp-int-org.apache.sysds.runtime.codegen.SpoofCUDAOperator.PrecisionProxy-org.apache.sysds.runtime.codegen.SpoofCellwise-">SpoofCUDACellwise</a></span>(<a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCellwise.CellType.html" title="enum in org.apache.sysds.runtime.codegen">SpoofCellwise.CellType</a>&nbsp;type,
+                 boolean&nbsp;sparseSafe,
+                 boolean&nbsp;containsSeq,
+                 <a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCellwise.AggOp.html" title="enum in org.apache.sysds.runtime.codegen">SpoofCellwise.AggOp</a>&nbsp;aggOp,
+                 int&nbsp;id,
+                 <a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.PrecisionProxy.html" title="class in org.apache.sysds.runtime.codegen">SpoofCUDAOperator.PrecisionProxy</a>&nbsp;ep,
+                 <a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCellwise.html" title="class in org.apache.sysds.runtime.codegen">SpoofCellwise</a>&nbsp;fallback)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofMultiAggregate.html#SpoofMultiAggregate-boolean-org.apache.sysds.runtime.codegen.SpoofCellwise.AggOp...-">SpoofMultiAggregate</a></span>(boolean&nbsp;sparseSafe,
                    <a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCellwise.AggOp.html" title="enum in org.apache.sysds.runtime.codegen">SpoofCellwise.AggOp</a>...&nbsp;aggOps)</code>&nbsp;</td>
 </tr>
@@ -240,6 +271,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/codegen/class-use/SpoofCellwise.CellType.html b/docs/api/java/org/apache/sysds/runtime/codegen/class-use/SpoofCellwise.CellType.html
index c932c5f..2c34d30 100644
--- a/docs/api/java/org/apache/sysds/runtime/codegen/class-use/SpoofCellwise.CellType.html
+++ b/docs/api/java/org/apache/sysds/runtime/codegen/class-use/SpoofCellwise.CellType.html
@@ -165,11 +165,15 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCellwise.CellType.html" title="enum in org.apache.sysds.runtime.codegen">SpoofCellwise.CellType</a></code></td>
+<td class="colLast"><span class="typeNameLabel">SpoofCellwise.CellType.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCellwise.CellType.html#valueOf-int-">valueOf</a></span>(int&nbsp;cellType)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCellwise.CellType.html" title="enum in org.apache.sysds.runtime.codegen">SpoofCellwise.CellType</a></code></td>
 <td class="colLast"><span class="typeNameLabel">SpoofCellwise.CellType.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCellwise.CellType.html#valueOf-java.lang.String-">valueOf</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
 <div class="block">Returns the enum constant of this type with the specified name.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCellwise.CellType.html" title="enum in org.apache.sysds.runtime.codegen">SpoofCellwise.CellType</a>[]</code></td>
 <td class="colLast"><span class="typeNameLabel">SpoofCellwise.CellType.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCellwise.CellType.html#values--">values</a></span>()</code>
 <div class="block">Returns an array containing the constants of this enum type, in
@@ -190,6 +194,15 @@
              boolean&nbsp;containsSeq,
              <a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCellwise.AggOp.html" title="enum in org.apache.sysds.runtime.codegen">SpoofCellwise.AggOp</a>&nbsp;aggOp)</code>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDACellwise.html#SpoofCUDACellwise-org.apache.sysds.runtime.codegen.SpoofCellwise.CellType-boolean-boolean-org.apache.sysds.runtime.codegen.SpoofCellwise.AggOp-int-org.apache.sysds.runtime.codegen.SpoofCUDAOperator.PrecisionProxy-org.apache.sysds.runtime.codegen.SpoofCellwise-">SpoofCUDACellwise</a></span>(<a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCellwise.CellType.html" title="enum in org.apache.sysds.runtime.codegen">SpoofCellwise.CellType</a>&nbsp;type,
+                 boolean&nbsp;sparseSafe,
+                 boolean&nbsp;containsSeq,
+                 <a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCellwise.AggOp.html" title="enum in org.apache.sysds.runtime.codegen">SpoofCellwise.AggOp</a>&nbsp;aggOp,
+                 int&nbsp;id,
+                 <a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.PrecisionProxy.html" title="class in org.apache.sysds.runtime.codegen">SpoofCUDAOperator.PrecisionProxy</a>&nbsp;ep,
+                 <a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCellwise.html" title="class in org.apache.sysds.runtime.codegen">SpoofCellwise</a>&nbsp;fallback)</code>&nbsp;</td>
+</tr>
 </tbody>
 </table>
 </li>
@@ -244,6 +257,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/codegen/class-use/SpoofCellwise.html b/docs/api/java/org/apache/sysds/runtime/codegen/class-use/SpoofCellwise.html
index c3e6e6b..2f5703c 100644
--- a/docs/api/java/org/apache/sysds/runtime/codegen/class-use/SpoofCellwise.html
+++ b/docs/api/java/org/apache/sysds/runtime/codegen/class-use/SpoofCellwise.html
@@ -72,7 +72,64 @@
 <div class="header">
 <h2 title="Uses of Class org.apache.sysds.runtime.codegen.SpoofCellwise" class="title">Uses of Class<br>org.apache.sysds.runtime.codegen.SpoofCellwise</h2>
 </div>
-<div class="classUseContainer">No usage of org.apache.sysds.runtime.codegen.SpoofCellwise</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCellwise.html" title="class in org.apache.sysds.runtime.codegen">SpoofCellwise</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.codegen">org.apache.sysds.runtime.codegen</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.sysds.runtime.codegen">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCellwise.html" title="class in org.apache.sysds.runtime.codegen">SpoofCellwise</a> in <a href="../../../../../../org/apache/sysds/runtime/codegen/package-summary.html">org.apache.sysds.runtime.codegen</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subclasses, and an explanation">
+<caption><span>Subclasses of <a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCellwise.html" title="class in org.apache.sysds.runtime.codegen">SpoofCellwise</a> in <a href="../../../../../../org/apache/sysds/runtime/codegen/package-summary.html">org.apache.sysds.runtime.codegen</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDACellwise.html" title="class in org.apache.sysds.runtime.codegen">SpoofCUDACellwise</a></span></code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../../org/apache/sysds/runtime/codegen/package-summary.html">org.apache.sysds.runtime.codegen</a> with parameters of type <a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCellwise.html" title="class in org.apache.sysds.runtime.codegen">SpoofCellwise</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDACellwise.html#SpoofCUDACellwise-org.apache.sysds.runtime.codegen.SpoofCellwise.CellType-boolean-boolean-org.apache.sysds.runtime.codegen.SpoofCellwise.AggOp-int-org.apache.sysds.runtime.codegen.SpoofCUDAOperator.PrecisionProxy-org.apache.sysds.runtime.codegen.SpoofCellwise-">SpoofCUDACellwise</a></span>(<a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCellwise.CellType.html" title="enum in org.apache.sysds.runtime.codegen">SpoofCellwise.CellType</a>&nbsp;type,
+                 boolean&nbsp;sparseSafe,
+                 boolean&nbsp;containsSeq,
+                 <a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCellwise.AggOp.html" title="enum in org.apache.sysds.runtime.codegen">SpoofCellwise.AggOp</a>&nbsp;aggOp,
+                 int&nbsp;id,
+                 <a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.PrecisionProxy.html" title="class in org.apache.sysds.runtime.codegen">SpoofCUDAOperator.PrecisionProxy</a>&nbsp;ep,
+                 <a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCellwise.html" title="class in org.apache.sysds.runtime.codegen">SpoofCellwise</a>&nbsp;fallback)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
 <!--   -->
@@ -120,6 +177,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/codegen/class-use/SpoofMultiAggregate.html b/docs/api/java/org/apache/sysds/runtime/codegen/class-use/SpoofMultiAggregate.html
index fb79579..9eaaffb 100644
--- a/docs/api/java/org/apache/sysds/runtime/codegen/class-use/SpoofMultiAggregate.html
+++ b/docs/api/java/org/apache/sysds/runtime/codegen/class-use/SpoofMultiAggregate.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/codegen/class-use/SpoofOperator.SideInput.html b/docs/api/java/org/apache/sysds/runtime/codegen/class-use/SpoofOperator.SideInput.html
index f3be6b9..f7b9ff5 100644
--- a/docs/api/java/org/apache/sysds/runtime/codegen/class-use/SpoofOperator.SideInput.html
+++ b/docs/api/java/org/apache/sysds/runtime/codegen/class-use/SpoofOperator.SideInput.html
@@ -204,6 +204,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/codegen/class-use/SpoofOperator.SideInputSparseCell.html b/docs/api/java/org/apache/sysds/runtime/codegen/class-use/SpoofOperator.SideInputSparseCell.html
index 0a05dd7..bd7ff3b 100644
--- a/docs/api/java/org/apache/sysds/runtime/codegen/class-use/SpoofOperator.SideInputSparseCell.html
+++ b/docs/api/java/org/apache/sysds/runtime/codegen/class-use/SpoofOperator.SideInputSparseCell.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/codegen/class-use/SpoofOperator.SideInputSparseRow.html b/docs/api/java/org/apache/sysds/runtime/codegen/class-use/SpoofOperator.SideInputSparseRow.html
index 7ba4638..0161eca 100644
--- a/docs/api/java/org/apache/sysds/runtime/codegen/class-use/SpoofOperator.SideInputSparseRow.html
+++ b/docs/api/java/org/apache/sysds/runtime/codegen/class-use/SpoofOperator.SideInputSparseRow.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/codegen/class-use/SpoofOperator.html b/docs/api/java/org/apache/sysds/runtime/codegen/class-use/SpoofOperator.html
index 7bc58c3..f0a80d1 100644
--- a/docs/api/java/org/apache/sysds/runtime/codegen/class-use/SpoofOperator.html
+++ b/docs/api/java/org/apache/sysds/runtime/codegen/class-use/SpoofOperator.html
@@ -108,6 +108,14 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDACellwise.html" title="class in org.apache.sysds.runtime.codegen">SpoofCUDACellwise</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDARowwise.html" title="class in org.apache.sysds.runtime.codegen">SpoofCUDARowwise</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofMultiAggregate.html" title="class in org.apache.sysds.runtime.codegen">SpoofMultiAggregate</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
@@ -185,6 +193,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/codegen/class-use/SpoofOuterProduct.OutProdType.html b/docs/api/java/org/apache/sysds/runtime/codegen/class-use/SpoofOuterProduct.OutProdType.html
index eb975f4..f7d3d31 100644
--- a/docs/api/java/org/apache/sysds/runtime/codegen/class-use/SpoofOuterProduct.OutProdType.html
+++ b/docs/api/java/org/apache/sysds/runtime/codegen/class-use/SpoofOuterProduct.OutProdType.html
@@ -257,6 +257,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/codegen/class-use/SpoofOuterProduct.html b/docs/api/java/org/apache/sysds/runtime/codegen/class-use/SpoofOuterProduct.html
index baf1d90..41c3b7d 100644
--- a/docs/api/java/org/apache/sysds/runtime/codegen/class-use/SpoofOuterProduct.html
+++ b/docs/api/java/org/apache/sysds/runtime/codegen/class-use/SpoofOuterProduct.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/codegen/class-use/SpoofRowwise.RowType.html b/docs/api/java/org/apache/sysds/runtime/codegen/class-use/SpoofRowwise.RowType.html
index 3ff6f54..fb2fd36 100644
--- a/docs/api/java/org/apache/sysds/runtime/codegen/class-use/SpoofRowwise.RowType.html
+++ b/docs/api/java/org/apache/sysds/runtime/codegen/class-use/SpoofRowwise.RowType.html
@@ -166,11 +166,15 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofRowwise.RowType.html" title="enum in org.apache.sysds.runtime.codegen">SpoofRowwise.RowType</a></code></td>
+<td class="colLast"><span class="typeNameLabel">SpoofRowwise.RowType.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofRowwise.RowType.html#valueOf-int-">valueOf</a></span>(int&nbsp;rowType)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofRowwise.RowType.html" title="enum in org.apache.sysds.runtime.codegen">SpoofRowwise.RowType</a></code></td>
 <td class="colLast"><span class="typeNameLabel">SpoofRowwise.RowType.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofRowwise.RowType.html#valueOf-java.lang.String-">valueOf</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
 <div class="block">Returns the enum constant of this type with the specified name.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofRowwise.RowType.html" title="enum in org.apache.sysds.runtime.codegen">SpoofRowwise.RowType</a>[]</code></td>
 <td class="colLast"><span class="typeNameLabel">SpoofRowwise.RowType.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofRowwise.RowType.html#values--">values</a></span>()</code>
 <div class="block">Returns an array containing the constants of this enum type, in
@@ -186,6 +190,14 @@
 </tr>
 <tbody>
 <tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDARowwise.html#SpoofCUDARowwise-org.apache.sysds.runtime.codegen.SpoofRowwise.RowType-long-boolean-int-int-org.apache.sysds.runtime.codegen.SpoofCUDAOperator.PrecisionProxy-">SpoofCUDARowwise</a></span>(<a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofRowwise.RowType.html" title="enum in org.apache.sysds.runtime.codegen">SpoofRowwise.RowType</a>&nbsp;type,
+                long&nbsp;constDim2,
+                boolean&nbsp;tB1,
+                int&nbsp;reqVectMem,
+                int&nbsp;id,
+                <a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.PrecisionProxy.html" title="class in org.apache.sysds.runtime.codegen">SpoofCUDAOperator.PrecisionProxy</a>&nbsp;ep)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofRowwise.html#SpoofRowwise-org.apache.sysds.runtime.codegen.SpoofRowwise.RowType-long-boolean-int-">SpoofRowwise</a></span>(<a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofRowwise.RowType.html" title="enum in org.apache.sysds.runtime.codegen">SpoofRowwise.RowType</a>&nbsp;type,
             long&nbsp;constDim2,
             boolean&nbsp;tB1,
@@ -245,6 +257,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/codegen/class-use/SpoofRowwise.html b/docs/api/java/org/apache/sysds/runtime/codegen/class-use/SpoofRowwise.html
index 2256c45..d2ac332 100644
--- a/docs/api/java/org/apache/sysds/runtime/codegen/class-use/SpoofRowwise.html
+++ b/docs/api/java/org/apache/sysds/runtime/codegen/class-use/SpoofRowwise.html
@@ -72,7 +72,47 @@
 <div class="header">
 <h2 title="Uses of Class org.apache.sysds.runtime.codegen.SpoofRowwise" class="title">Uses of Class<br>org.apache.sysds.runtime.codegen.SpoofRowwise</h2>
 </div>
-<div class="classUseContainer">No usage of org.apache.sysds.runtime.codegen.SpoofRowwise</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofRowwise.html" title="class in org.apache.sysds.runtime.codegen">SpoofRowwise</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.codegen">org.apache.sysds.runtime.codegen</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.sysds.runtime.codegen">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofRowwise.html" title="class in org.apache.sysds.runtime.codegen">SpoofRowwise</a> in <a href="../../../../../../org/apache/sysds/runtime/codegen/package-summary.html">org.apache.sysds.runtime.codegen</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subclasses, and an explanation">
+<caption><span>Subclasses of <a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofRowwise.html" title="class in org.apache.sysds.runtime.codegen">SpoofRowwise</a> in <a href="../../../../../../org/apache/sysds/runtime/codegen/package-summary.html">org.apache.sysds.runtime.codegen</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDARowwise.html" title="class in org.apache.sysds.runtime.codegen">SpoofCUDARowwise</a></span></code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
 <!--   -->
@@ -120,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/codegen/package-frame.html b/docs/api/java/org/apache/sysds/runtime/codegen/package-frame.html
index ae7434a..4286be0 100644
--- a/docs/api/java/org/apache/sysds/runtime/codegen/package-frame.html
+++ b/docs/api/java/org/apache/sysds/runtime/codegen/package-frame.html
@@ -11,12 +11,19 @@
 <body>
 <h1 class="bar"><a href="../../../../../org/apache/sysds/runtime/codegen/package-summary.html" target="classFrame">org.apache.sysds.runtime.codegen</a></h1>
 <div class="indexContainer">
+<h2 title="Interfaces">Interfaces</h2>
+<ul title="Interfaces">
+<li><a href="SpoofCUDAOperator.html" title="interface in org.apache.sysds.runtime.codegen" target="classFrame"><span class="interfaceName">SpoofCUDAOperator</span></a></li>
+</ul>
 <h2 title="Classes">Classes</h2>
 <ul title="Classes">
 <li><a href="ByteClassLoader.html" title="class in org.apache.sysds.runtime.codegen" target="classFrame">ByteClassLoader</a></li>
 <li><a href="CodegenUtils.html" title="class in org.apache.sysds.runtime.codegen" target="classFrame">CodegenUtils</a></li>
 <li><a href="LibSpoofPrimitives.html" title="class in org.apache.sysds.runtime.codegen" target="classFrame">LibSpoofPrimitives</a></li>
 <li><a href="SpoofCellwise.html" title="class in org.apache.sysds.runtime.codegen" target="classFrame">SpoofCellwise</a></li>
+<li><a href="SpoofCUDACellwise.html" title="class in org.apache.sysds.runtime.codegen" target="classFrame">SpoofCUDACellwise</a></li>
+<li><a href="SpoofCUDAOperator.PrecisionProxy.html" title="class in org.apache.sysds.runtime.codegen" target="classFrame">SpoofCUDAOperator.PrecisionProxy</a></li>
+<li><a href="SpoofCUDARowwise.html" title="class in org.apache.sysds.runtime.codegen" target="classFrame">SpoofCUDARowwise</a></li>
 <li><a href="SpoofMultiAggregate.html" title="class in org.apache.sysds.runtime.codegen" target="classFrame">SpoofMultiAggregate</a></li>
 <li><a href="SpoofOperator.html" title="class in org.apache.sysds.runtime.codegen" target="classFrame">SpoofOperator</a></li>
 <li><a href="SpoofOperator.SideInput.html" title="class in org.apache.sysds.runtime.codegen" target="classFrame">SpoofOperator.SideInput</a></li>
diff --git a/docs/api/java/org/apache/sysds/runtime/codegen/package-summary.html b/docs/api/java/org/apache/sysds/runtime/codegen/package-summary.html
index 0ad2577..1b582c0 100644
--- a/docs/api/java/org/apache/sysds/runtime/codegen/package-summary.html
+++ b/docs/api/java/org/apache/sysds/runtime/codegen/package-summary.html
@@ -75,6 +75,21 @@
 <div class="contentContainer">
 <ul class="blockList">
 <li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Interface Summary table, listing interfaces, and an explanation">
+<caption><span>Interface Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Interface</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html" title="interface in org.apache.sysds.runtime.codegen">SpoofCUDAOperator</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
 <table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
 <caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
@@ -102,30 +117,42 @@
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDACellwise.html" title="class in org.apache.sysds.runtime.codegen">SpoofCUDACellwise</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.PrecisionProxy.html" title="class in org.apache.sysds.runtime.codegen">SpoofCUDAOperator.PrecisionProxy</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDARowwise.html" title="class in org.apache.sysds.runtime.codegen">SpoofCUDARowwise</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofMultiAggregate.html" title="class in org.apache.sysds.runtime.codegen">SpoofMultiAggregate</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofOperator.html" title="class in org.apache.sysds.runtime.codegen">SpoofOperator</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofOperator.SideInput.html" title="class in org.apache.sysds.runtime.codegen">SpoofOperator.SideInput</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofOperator.SideInputSparseCell.html" title="class in org.apache.sysds.runtime.codegen">SpoofOperator.SideInputSparseCell</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofOperator.SideInputSparseRow.html" title="class in org.apache.sysds.runtime.codegen">SpoofOperator.SideInputSparseRow</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofOuterProduct.html" title="class in org.apache.sysds.runtime.codegen">SpoofOuterProduct</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/sysds/runtime/codegen/SpoofRowwise.html" title="class in org.apache.sysds.runtime.codegen">SpoofRowwise</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
@@ -208,6 +235,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/codegen/package-tree.html b/docs/api/java/org/apache/sysds/runtime/codegen/package-tree.html
index d29f006..9b33d26 100644
--- a/docs/api/java/org/apache/sysds/runtime/codegen/package-tree.html
+++ b/docs/api/java/org/apache/sysds/runtime/codegen/package-tree.html
@@ -96,12 +96,21 @@
 </li>
 <li type="circle">org.apache.sysds.runtime.codegen.<a href="../../../../../org/apache/sysds/runtime/codegen/CodegenUtils.html" title="class in org.apache.sysds.runtime.codegen"><span class="typeNameLink">CodegenUtils</span></a></li>
 <li type="circle">org.apache.sysds.runtime.codegen.<a href="../../../../../org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html" title="class in org.apache.sysds.runtime.codegen"><span class="typeNameLink">LibSpoofPrimitives</span></a></li>
+<li type="circle">org.apache.sysds.runtime.codegen.<a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.PrecisionProxy.html" title="class in org.apache.sysds.runtime.codegen"><span class="typeNameLink">SpoofCUDAOperator.PrecisionProxy</span></a></li>
 <li type="circle">org.apache.sysds.runtime.codegen.<a href="../../../../../org/apache/sysds/runtime/codegen/SpoofOperator.html" title="class in org.apache.sysds.runtime.codegen"><span class="typeNameLink">SpoofOperator</span></a> (implements java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.sysds.runtime.codegen.<a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCellwise.html" title="class in org.apache.sysds.runtime.codegen"><span class="typeNameLink">SpoofCellwise</span></a> (implements java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)</li>
+<li type="circle">org.apache.sysds.runtime.codegen.<a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCellwise.html" title="class in org.apache.sysds.runtime.codegen"><span class="typeNameLink">SpoofCellwise</span></a> (implements java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
+<ul>
+<li type="circle">org.apache.sysds.runtime.codegen.<a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDACellwise.html" title="class in org.apache.sysds.runtime.codegen"><span class="typeNameLink">SpoofCUDACellwise</span></a> (implements org.apache.sysds.runtime.codegen.<a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html" title="interface in org.apache.sysds.runtime.codegen">SpoofCUDAOperator</a>)</li>
+</ul>
+</li>
 <li type="circle">org.apache.sysds.runtime.codegen.<a href="../../../../../org/apache/sysds/runtime/codegen/SpoofMultiAggregate.html" title="class in org.apache.sysds.runtime.codegen"><span class="typeNameLink">SpoofMultiAggregate</span></a> (implements java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)</li>
 <li type="circle">org.apache.sysds.runtime.codegen.<a href="../../../../../org/apache/sysds/runtime/codegen/SpoofOuterProduct.html" title="class in org.apache.sysds.runtime.codegen"><span class="typeNameLink">SpoofOuterProduct</span></a></li>
-<li type="circle">org.apache.sysds.runtime.codegen.<a href="../../../../../org/apache/sysds/runtime/codegen/SpoofRowwise.html" title="class in org.apache.sysds.runtime.codegen"><span class="typeNameLink">SpoofRowwise</span></a></li>
+<li type="circle">org.apache.sysds.runtime.codegen.<a href="../../../../../org/apache/sysds/runtime/codegen/SpoofRowwise.html" title="class in org.apache.sysds.runtime.codegen"><span class="typeNameLink">SpoofRowwise</span></a>
+<ul>
+<li type="circle">org.apache.sysds.runtime.codegen.<a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDARowwise.html" title="class in org.apache.sysds.runtime.codegen"><span class="typeNameLink">SpoofCUDARowwise</span></a> (implements org.apache.sysds.runtime.codegen.<a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html" title="interface in org.apache.sysds.runtime.codegen">SpoofCUDAOperator</a>)</li>
+</ul>
+</li>
 </ul>
 </li>
 <li type="circle">org.apache.sysds.runtime.codegen.<a href="../../../../../org/apache/sysds/runtime/codegen/SpoofOperator.SideInput.html" title="class in org.apache.sysds.runtime.codegen"><span class="typeNameLink">SpoofOperator.SideInput</span></a>
@@ -113,6 +122,10 @@
 </ul>
 </li>
 </ul>
+<h2 title="Interface Hierarchy">Interface Hierarchy</h2>
+<ul>
+<li type="circle">org.apache.sysds.runtime.codegen.<a href="../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html" title="interface in org.apache.sysds.runtime.codegen"><span class="typeNameLink">SpoofCUDAOperator</span></a></li>
+</ul>
 <h2 title="Enum Hierarchy">Enum Hierarchy</h2>
 <ul>
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
@@ -176,6 +189,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/codegen/package-use.html b/docs/api/java/org/apache/sysds/runtime/codegen/package-use.html
index c71607b..0e8828a 100644
--- a/docs/api/java/org/apache/sysds/runtime/codegen/package-use.html
+++ b/docs/api/java/org/apache/sysds/runtime/codegen/package-use.html
@@ -95,6 +95,10 @@
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.gpu">org.apache.sysds.runtime.instructions.gpu</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.spark">org.apache.sysds.runtime.instructions.spark</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
@@ -111,12 +115,15 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colOne"><a href="../../../../../org/apache/sysds/runtime/codegen/class-use/SpoofCellwise.CellType.html#org.apache.sysds.hops.codegen.cplan">SpoofCellwise.CellType</a>&nbsp;</td>
+<td class="colOne"><a href="../../../../../org/apache/sysds/runtime/codegen/class-use/SpoofCellwise.AggOp.html#org.apache.sysds.hops.codegen.cplan">SpoofCellwise.AggOp</a>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colOne"><a href="../../../../../org/apache/sysds/runtime/codegen/class-use/SpoofOuterProduct.OutProdType.html#org.apache.sysds.hops.codegen.cplan">SpoofOuterProduct.OutProdType</a>&nbsp;</td>
+<td class="colOne"><a href="../../../../../org/apache/sysds/runtime/codegen/class-use/SpoofCellwise.CellType.html#org.apache.sysds.hops.codegen.cplan">SpoofCellwise.CellType</a>&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/sysds/runtime/codegen/class-use/SpoofOuterProduct.OutProdType.html#org.apache.sysds.hops.codegen.cplan">SpoofOuterProduct.OutProdType</a>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../org/apache/sysds/runtime/codegen/class-use/SpoofRowwise.RowType.html#org.apache.sysds.hops.codegen.cplan">SpoofRowwise.RowType</a>&nbsp;</td>
 </tr>
 </tbody>
@@ -153,26 +160,56 @@
 </tr>
 <tbody>
 <tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/sysds/runtime/codegen/class-use/SpoofCellwise.html#org.apache.sysds.runtime.codegen">SpoofCellwise</a>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../org/apache/sysds/runtime/codegen/class-use/SpoofCellwise.AggOp.html#org.apache.sysds.runtime.codegen">SpoofCellwise.AggOp</a>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../org/apache/sysds/runtime/codegen/class-use/SpoofCellwise.CellType.html#org.apache.sysds.runtime.codegen">SpoofCellwise.CellType</a>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../org/apache/sysds/runtime/codegen/class-use/SpoofCUDAOperator.html#org.apache.sysds.runtime.codegen">SpoofCUDAOperator</a>&nbsp;</td>
+</tr>
 <tr class="altColor">
-<td class="colOne"><a href="../../../../../org/apache/sysds/runtime/codegen/class-use/SpoofOperator.html#org.apache.sysds.runtime.codegen">SpoofOperator</a>&nbsp;</td>
+<td class="colOne"><a href="../../../../../org/apache/sysds/runtime/codegen/class-use/SpoofCUDAOperator.PrecisionProxy.html#org.apache.sysds.runtime.codegen">SpoofCUDAOperator.PrecisionProxy</a>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colOne"><a href="../../../../../org/apache/sysds/runtime/codegen/class-use/SpoofOperator.SideInput.html#org.apache.sysds.runtime.codegen">SpoofOperator.SideInput</a>&nbsp;</td>
+<td class="colOne"><a href="../../../../../org/apache/sysds/runtime/codegen/class-use/SpoofOperator.html#org.apache.sysds.runtime.codegen">SpoofOperator</a>&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/sysds/runtime/codegen/class-use/SpoofOperator.SideInput.html#org.apache.sysds.runtime.codegen">SpoofOperator.SideInput</a>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../org/apache/sysds/runtime/codegen/class-use/SpoofOuterProduct.OutProdType.html#org.apache.sysds.runtime.codegen">SpoofOuterProduct.OutProdType</a>&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/sysds/runtime/codegen/class-use/SpoofRowwise.html#org.apache.sysds.runtime.codegen">SpoofRowwise</a>&nbsp;</td>
+</tr>
 <tr class="rowColor">
 <td class="colOne"><a href="../../../../../org/apache/sysds/runtime/codegen/class-use/SpoofRowwise.RowType.html#org.apache.sysds.runtime.codegen">SpoofRowwise.RowType</a>&nbsp;</td>
 </tr>
 </tbody>
 </table>
 </li>
+<li class="blockList"><a name="org.apache.sysds.runtime.instructions.gpu">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/sysds/runtime/codegen/package-summary.html">org.apache.sysds.runtime.codegen</a> used by <a href="../../../../../org/apache/sysds/runtime/instructions/gpu/package-summary.html">org.apache.sysds.runtime.instructions.gpu</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/sysds/runtime/codegen/class-use/SpoofCUDAOperator.html#org.apache.sysds.runtime.instructions.gpu">SpoofCUDAOperator</a>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../org/apache/sysds/runtime/codegen/class-use/SpoofCUDAOperator.PrecisionProxy.html#org.apache.sysds.runtime.instructions.gpu">SpoofCUDAOperator.PrecisionProxy</a>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
 <li class="blockList"><a name="org.apache.sysds.runtime.instructions.spark">
 <!--   -->
 </a>
@@ -237,6 +274,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html b/docs/api/java/org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html
deleted file mode 100644
index a871d45..0000000
--- a/docs/api/java/org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html
+++ /dev/null
@@ -1,1673 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc -->
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>AbstractCompressedMatrixBlock (SystemDS 2.1.0-SNAPSHOT API)</title>
-<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="AbstractCompressedMatrixBlock (SystemDS 2.1.0-SNAPSHOT API)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":6,"i17":9,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10,"i37":10,"i38":10,"i39":10,"i40":10,"i41":10,"i42":10,"i43":10,"i44":10,"i45":10,"i46":10};
-var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/AbstractCompressedMatrixBlock.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev&nbsp;Class</li>
-<li><a href="../../../../../org/apache/sysds/runtime/compress/BitmapEncoder.html" title="class in org.apache.sysds.runtime.compress"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html" target="_top">Frames</a></li>
-<li><a href="AbstractCompressedMatrixBlock.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.matrix.data.MatrixBlock">Nested</a>&nbsp;|&nbsp;</li>
-<li><a href="#fields.inherited.from.class.org.apache.sysds.runtime.matrix.data.MatrixBlock">Field</a>&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.sysds.runtime.compress</div>
-<h2 title="Class AbstractCompressedMatrixBlock" class="title">Class AbstractCompressedMatrixBlock</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
-<li>
-<ul class="inheritance">
-<li><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">org.apache.sysds.runtime.matrix.data.MatrixValue</a></li>
-<li>
-<ul class="inheritance">
-<li><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">org.apache.sysds.runtime.matrix.data.MatrixBlock</a></li>
-<li>
-<ul class="inheritance">
-<li>org.apache.sysds.runtime.compress.AbstractCompressedMatrixBlock</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<dl>
-<dt>All Implemented Interfaces:</dt>
-<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true" title="class or interface in java.io">Externalizable</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>, org.apache.hadoop.io.Writable, org.apache.hadoop.io.WritableComparable, <a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html" title="interface in org.apache.sysds.runtime.controlprogram.caching">CacheBlock</a></dd>
-</dl>
-<dl>
-<dt>Direct Known Subclasses:</dt>
-<dd><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></dd>
-</dl>
-<hr>
-<br>
-<pre>public abstract class <span class="typeNameLabel">AbstractCompressedMatrixBlock</span>
-extends <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></pre>
-<dl>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../../serialized-form.html#org.apache.sysds.runtime.compress.AbstractCompressedMatrixBlock">Serialized Form</a></dd>
-</dl>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ======== NESTED CLASS SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="nested.class.summary">
-<!--   -->
-</a>
-<h3>Nested Class Summary</h3>
-<ul class="blockList">
-<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.sysds.runtime.matrix.data.MatrixBlock">
-<!--   -->
-</a>
-<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.sysds.runtime.matrix.data.<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></h3>
-<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.SparsityEstimate.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock.SparsityEstimate</a></code></li>
-</ul>
-<ul class="blockList">
-<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.sysds.runtime.matrix.data.MatrixValue">
-<!--   -->
-</a>
-<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.sysds.runtime.matrix.data.<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a></h3>
-<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.CellIndex.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue.CellIndex</a></code></li>
-</ul>
-</li>
-</ul>
-<!-- =========== FIELD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="field.summary">
-<!--   -->
-</a>
-<h3>Field Summary</h3>
-<ul class="blockList">
-<li class="blockList"><a name="fields.inherited.from.class.org.apache.sysds.runtime.matrix.data.MatrixBlock">
-<!--   -->
-</a>
-<h3>Fields inherited from class&nbsp;org.apache.sysds.runtime.matrix.data.<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></h3>
-<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#CONVERT_MCSR_TO_CSR_ON_DEEP_SERIALIZE">CONVERT_MCSR_TO_CSR_ON_DEEP_SERIALIZE</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#DEFAULT_INPLACE_SPARSEBLOCK">DEFAULT_INPLACE_SPARSEBLOCK</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#DEFAULT_SPARSEBLOCK">DEFAULT_SPARSEBLOCK</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#HEADER_SIZE">HEADER_SIZE</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#MAX_SHALLOW_SERIALIZE_OVERHEAD">MAX_SHALLOW_SERIALIZE_OVERHEAD</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#SPARSITY_TURN_POINT">SPARSITY_TURN_POINT</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#ULTRA_SPARSE_BLOCK_NNZ">ULTRA_SPARSE_BLOCK_NNZ</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#ULTRA_SPARSITY_TURN_POINT">ULTRA_SPARSITY_TURN_POINT</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#ULTRA_SPARSITY_TURN_POINT2">ULTRA_SPARSITY_TURN_POINT2</a></code></li>
-</ul>
-</li>
-</ul>
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.summary">
-<!--   -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#AbstractCompressedMatrixBlock--">AbstractCompressedMatrixBlock</a></span>()</code>
-<div class="block">Constructor for building an empty Compressed Matrix block object.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#AbstractCompressedMatrixBlock-boolean-">AbstractCompressedMatrixBlock</a></span>(boolean&nbsp;overLapping)</code>
-<div class="block">Create a potentially overlapping Compressed Matrix Block.</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#AbstractCompressedMatrixBlock-int-int-boolean-">AbstractCompressedMatrixBlock</a></span>(int&nbsp;rl,
-                             int&nbsp;cl,
-                             boolean&nbsp;sparse)</code>
-<div class="block">Main constructor for building a block from scratch.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#AbstractCompressedMatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">AbstractCompressedMatrixBlock</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;that)</code>
-<div class="block">"Copy" constructor to populate this compressed block with the uncompressed contents of a conventional block.</div>
-</td>
-</tr>
-</table>
-</li>
-</ul>
-<!-- ========== METHOD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.summary">
-<!--   -->
-</a>
-<h3>Method Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#aggregateBinaryOperations-org.apache.sysds.runtime.matrix.data.MatrixIndexes-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixIndexes-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.AggregateBinaryOperator-">aggregateBinaryOperations</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixIndexes.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixIndexes</a>&nbsp;m1Index,
-                         <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m1Value,
-                         <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixIndexes.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixIndexes</a>&nbsp;m2Index,
-                         <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2Value,
-                         <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result,
-                         <a href="../../../../../org/apache/sysds/runtime/matrix/operators/AggregateBinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateBinaryOperator</a>&nbsp;op)</code>&nbsp;</td>
-</tr>
-<tr id="i1" class="rowColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#aggregateTernaryOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.AggregateTernaryOperator-boolean-">aggregateTernaryOperations</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m1,
-                          <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2,
-                          <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m3,
-                          <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
-                          <a href="../../../../../org/apache/sysds/runtime/matrix/operators/AggregateTernaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateTernaryOperator</a>&nbsp;op,
-                          boolean&nbsp;inCP)</code>&nbsp;</td>
-</tr>
-<tr id="i2" class="altColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#append-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-">append</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;that,
-      <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
-      boolean&nbsp;cbind)</code>&nbsp;</td>
-</tr>
-<tr id="i3" class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#append-org.apache.sysds.runtime.matrix.data.MatrixValue-java.util.ArrayList-int-boolean-boolean-int-">append</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;v2,
-      <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/instructions/spark/data/IndexedMatrixValue.html" title="class in org.apache.sysds.runtime.instructions.spark.data">IndexedMatrixValue</a>&gt;&nbsp;outlist,
-      int&nbsp;blen,
-      boolean&nbsp;cbind,
-      boolean&nbsp;m2IsLast,
-      int&nbsp;nextNCol)</code>&nbsp;</td>
-</tr>
-<tr id="i4" class="altColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#binaryOperationsInPlace-org.apache.sysds.runtime.matrix.operators.BinaryOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-">binaryOperationsInPlace</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
-                       <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;thatValue)</code>&nbsp;</td>
-</tr>
-<tr id="i5" class="rowColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/instructions/cp/CM_COV_Object.html" title="class in org.apache.sysds.runtime.instructions.cp">CM_COV_Object</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#cmOperations-org.apache.sysds.runtime.matrix.operators.CMOperator-">cmOperations</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/operators/CMOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">CMOperator</a>&nbsp;op)</code>&nbsp;</td>
-</tr>
-<tr id="i6" class="altColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/instructions/cp/CM_COV_Object.html" title="class in org.apache.sysds.runtime.instructions.cp">CM_COV_Object</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#cmOperations-org.apache.sysds.runtime.matrix.operators.CMOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-">cmOperations</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/operators/CMOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">CMOperator</a>&nbsp;op,
-            <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;weights)</code>&nbsp;</td>
-</tr>
-<tr id="i7" class="rowColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/instructions/cp/CM_COV_Object.html" title="class in org.apache.sysds.runtime.instructions.cp">CM_COV_Object</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#covOperations-org.apache.sysds.runtime.matrix.operators.COVOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-">covOperations</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/operators/COVOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">COVOperator</a>&nbsp;op,
-             <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;that)</code>&nbsp;</td>
-</tr>
-<tr id="i8" class="altColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/instructions/cp/CM_COV_Object.html" title="class in org.apache.sysds.runtime.instructions.cp">CM_COV_Object</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#covOperations-org.apache.sysds.runtime.matrix.operators.COVOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">covOperations</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/operators/COVOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">COVOperator</a>&nbsp;op,
-             <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;that,
-             <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;weights)</code>&nbsp;</td>
-</tr>
-<tr id="i9" class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-double-double-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ctableOperations</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
-                double&nbsp;scalar,
-                double&nbsp;scalar2,
-                <a href="../../../../../org/apache/sysds/runtime/matrix/data/CTableMap.html" title="class in org.apache.sysds.runtime.matrix.data">CTableMap</a>&nbsp;resultMap,
-                <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;resultBlock)</code>
-<div class="block">D = ctable(A,v2,w)
-  this &lt;- A; scalar_that &lt;- v2; scalar_that2 &lt;- w; result &lt;- D
-  
- (i1,j1,v1) from input1 (this)
- (v2) from sclar_input2 (scalarThat)
- (w)  from scalar_input3 (scalarThat2)</div>
-</td>
-</tr>
-<tr id="i10" class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-double-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ctableOperations</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
-                double&nbsp;scalar,
-                <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;that,
-                <a href="../../../../../org/apache/sysds/runtime/matrix/data/CTableMap.html" title="class in org.apache.sysds.runtime.matrix.data">CTableMap</a>&nbsp;resultMap,
-                <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;resultBlock)</code>
-<div class="block">D = ctable(A,v2,W)
-  this &lt;- A; scalarThat &lt;- v2; that2 &lt;- W; result &lt;- D
-  
- (i1,j1,v1) from input1 (this)
- (v2) from sclar_input2 (scalarThat)
- (i3,j3,w)  from input3 (that2)</div>
-</td>
-</tr>
-<tr id="i11" class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.runtime.matrix.data.MatrixIndexes-double-boolean-int-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ctableOperations</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
-                <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixIndexes.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixIndexes</a>&nbsp;ix1,
-                double&nbsp;scalar,
-                boolean&nbsp;left,
-                int&nbsp;brlen,
-                <a href="../../../../../org/apache/sysds/runtime/matrix/data/CTableMap.html" title="class in org.apache.sysds.runtime.matrix.data">CTableMap</a>&nbsp;resultMap,
-                <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;resultBlock)</code>
-<div class="block">Specific ctable case of ctable(seq(...),X), where X is the only
- matrix input.</div>
-</td>
-</tr>
-<tr id="i12" class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.runtime.matrix.data.MatrixValue-double-boolean-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ctableOperations</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
-                <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;that,
-                double&nbsp;scalar,
-                boolean&nbsp;ignoreZeros,
-                <a href="../../../../../org/apache/sysds/runtime/matrix/data/CTableMap.html" title="class in org.apache.sysds.runtime.matrix.data">CTableMap</a>&nbsp;resultMap,
-                <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;resultBlock)</code>
-<div class="block">D = ctable(A,B,w)
-  this &lt;- A; that &lt;- B; scalar_that2 &lt;- w; result &lt;- D
-  
- (i1,j1,v1) from input1 (this)
- (i1,j1,v2) from input2 (that)
- (w)  from scalar_input3 (scalarThat2)
- 
- NOTE: This method supports both vectors and matrices.</div>
-</td>
-</tr>
-<tr id="i13" class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.CTableMap-">ctableOperations</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
-                <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;that,
-                <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;that2,
-                <a href="../../../../../org/apache/sysds/runtime/matrix/data/CTableMap.html" title="class in org.apache.sysds.runtime.matrix.data">CTableMap</a>&nbsp;resultMap)</code>
-<div class="block">D = ctable(A,B,W)
-  this &lt;- A; that &lt;- B; that2 &lt;- W; result &lt;- D
-  
- (i1,j1,v1) from input1 (this)
- (i1,j1,v2) from input2 (that)
- (i1,j1,w)  from input3 (that2)</div>
-</td>
-</tr>
-<tr id="i14" class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ctableOperations</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
-                <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;that,
-                <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;that2,
-                <a href="../../../../../org/apache/sysds/runtime/matrix/data/CTableMap.html" title="class in org.apache.sysds.runtime.matrix.data">CTableMap</a>&nbsp;resultMap,
-                <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;resultBlock)</code>&nbsp;</td>
-</tr>
-<tr id="i15" class="rowColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#ctableSeqOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-double-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ctableSeqOperations</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;that,
-                   double&nbsp;scalar,
-                   <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;resultBlock)</code>
-<div class="block">D = ctable(seq,A,w)
-  this &lt;- seq; thatMatrix &lt;- A; thatScalar &lt;- w; result &lt;- D
-  
- (i1,j1,v1) from input1 (this)
- (i1,j1,v2) from input2 (that)
- (w)  from scalar_input3 (scalarThat2)</div>
-</td>
-</tr>
-<tr id="i16" class="altColor">
-<td class="colFirst"><code>abstract <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#decompress--">decompress</a></span>()</code>&nbsp;</td>
-</tr>
-<tr id="i17" class="rowColor">
-<td class="colFirst"><code>static long</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#estimateOriginalSizeInMemory-int-int-double-">estimateOriginalSizeInMemory</a></span>(int&nbsp;nrows,
-                            int&nbsp;ncols,
-                            double&nbsp;sparsity)</code>&nbsp;</td>
-</tr>
-<tr id="i18" class="altColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#groupedAggOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-int-org.apache.sysds.runtime.matrix.operators.Operator-">groupedAggOperations</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;tgt,
-                    <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;wghts,
-                    <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;ret,
-                    int&nbsp;ngroups,
-                    <a href="../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op)</code>
-<div class="block">Invocation from CP instructions.</div>
-</td>
-</tr>
-<tr id="i19" class="rowColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#groupedAggOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-int-org.apache.sysds.runtime.matrix.operators.Operator-int-">groupedAggOperations</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;tgt,
-                    <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;wghts,
-                    <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;ret,
-                    int&nbsp;ngroups,
-                    <a href="../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
-                    int&nbsp;k)</code>&nbsp;</td>
-</tr>
-<tr id="i20" class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#incrementalAggregate-org.apache.sysds.runtime.matrix.operators.AggregateOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-">incrementalAggregate</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/operators/AggregateOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateOperator</a>&nbsp;aggOp,
-                    <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;newWithCorrection)</code>&nbsp;</td>
-</tr>
-<tr id="i21" class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#incrementalAggregate-org.apache.sysds.runtime.matrix.operators.AggregateOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-boolean-">incrementalAggregate</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/operators/AggregateOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateOperator</a>&nbsp;aggOp,
-                    <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;correction,
-                    <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;newWithCorrection,
-                    boolean&nbsp;deep)</code>&nbsp;</td>
-</tr>
-<tr id="i22" class="altColor">
-<td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#isEmptyBlock-boolean-">isEmptyBlock</a></span>(boolean&nbsp;safe)</code>&nbsp;</td>
-</tr>
-<tr id="i23" class="rowColor">
-<td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#isShallowSerialize--">isShallowSerialize</a></span>()</code>
-<div class="block">Indicates if the cache block is subject to shallow serialized,
- which is generally true if in-memory size and serialized size
- are almost identical allowing to avoid unnecessary deep serialize.</div>
-</td>
-</tr>
-<tr id="i24" class="altColor">
-<td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#isShallowSerialize-boolean-">isShallowSerialize</a></span>(boolean&nbsp;inclConvert)</code>
-<div class="block">Indicates if the cache block is subject to shallow serialized,
- which is generally true if in-memory size and serialized size
- are almost identical allowing to avoid unnecessary deep serialize.</div>
-</td>
-</tr>
-<tr id="i25" class="rowColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#leftIndexingOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-int-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType-">leftIndexingOperations</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;rhsMatrix,
-                      int&nbsp;rl,
-                      int&nbsp;ru,
-                      int&nbsp;cl,
-                      int&nbsp;cu,
-                      <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
-                      <a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.UpdateType.html" title="enum in org.apache.sysds.runtime.controlprogram.caching">MatrixObject.UpdateType</a>&nbsp;update)</code>&nbsp;</td>
-</tr>
-<tr id="i26" class="altColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#leftIndexingOperations-org.apache.sysds.runtime.instructions.cp.ScalarObject-int-int-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType-">leftIndexingOperations</a></span>(<a href="../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&nbsp;scalar,
-                      int&nbsp;rl,
-                      int&nbsp;cl,
-                      <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
-                      <a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.UpdateType.html" title="enum in org.apache.sysds.runtime.controlprogram.caching">MatrixObject.UpdateType</a>&nbsp;update)</code>
-<div class="block">Explicitly allow left indexing for scalars.</div>
-</td>
-</tr>
-<tr id="i27" class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#permutationMatrixMultOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-">permutationMatrixMultOperations</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;m2Val,
-                               <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;out1Val,
-                               <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;out2Val)</code>&nbsp;</td>
-</tr>
-<tr id="i28" class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#permutationMatrixMultOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-int-">permutationMatrixMultOperations</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;m2Val,
-                               <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;out1Val,
-                               <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;out2Val,
-                               int&nbsp;k)</code>&nbsp;</td>
-</tr>
-<tr id="i29" class="rowColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#quaternaryOperations-org.apache.sysds.runtime.matrix.operators.QuaternaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">quaternaryOperations</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/operators/QuaternaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">QuaternaryOperator</a>&nbsp;qop,
-                    <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;um,
-                    <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;vm,
-                    <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;wm,
-                    <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</code>&nbsp;</td>
-</tr>
-<tr id="i30" class="altColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#quaternaryOperations-org.apache.sysds.runtime.matrix.operators.QuaternaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">quaternaryOperations</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/operators/QuaternaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">QuaternaryOperator</a>&nbsp;qop,
-                    <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;um,
-                    <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;vm,
-                    <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;wm,
-                    <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
-                    int&nbsp;k)</code>&nbsp;</td>
-</tr>
-<tr id="i31" class="rowColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#randOperationsInPlace-org.apache.sysds.runtime.matrix.data.RandomMatrixGenerator-org.apache.commons.math3.random.Well1024a-long-">randOperationsInPlace</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/data/RandomMatrixGenerator.html" title="class in org.apache.sysds.runtime.matrix.data">RandomMatrixGenerator</a>&nbsp;rgen,
-                     org.apache.commons.math3.random.Well1024a&nbsp;bigrand,
-                     long&nbsp;bSeed)</code>
-<div class="block">Function to generate a matrix of random numbers.</div>
-</td>
-</tr>
-<tr id="i32" class="altColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#randOperationsInPlace-org.apache.sysds.runtime.matrix.data.RandomMatrixGenerator-org.apache.commons.math3.random.Well1024a-long-int-">randOperationsInPlace</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/data/RandomMatrixGenerator.html" title="class in org.apache.sysds.runtime.matrix.data">RandomMatrixGenerator</a>&nbsp;rgen,
-                     org.apache.commons.math3.random.Well1024a&nbsp;bigrand,
-                     long&nbsp;bSeed,
-                     int&nbsp;k)</code>
-<div class="block">Function to generate a matrix of random numbers.</div>
-</td>
-</tr>
-<tr id="i33" class="rowColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#removeEmptyOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-boolean-">removeEmptyOperations</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
-                     boolean&nbsp;rows,
-                     boolean&nbsp;emptyReturn)</code>&nbsp;</td>
-</tr>
-<tr id="i34" class="altColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#removeEmptyOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-boolean-org.apache.sysds.runtime.matrix.data.MatrixBlock-">removeEmptyOperations</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
-                     boolean&nbsp;rows,
-                     boolean&nbsp;emptyReturn,
-                     <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;select)</code>&nbsp;</td>
-</tr>
-<tr id="i35" class="rowColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#reorgOperations-org.apache.sysds.runtime.matrix.operators.ReorgOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-int-int-int-">reorgOperations</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/operators/ReorgOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ReorgOperator</a>&nbsp;op,
-               <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;ret,
-               int&nbsp;startRow,
-               int&nbsp;startColumn,
-               int&nbsp;length)</code>&nbsp;</td>
-</tr>
-<tr id="i36" class="altColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#replaceOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-double-double-">replaceOperations</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result,
-                 double&nbsp;pattern,
-                 double&nbsp;replacement)</code>&nbsp;</td>
-</tr>
-<tr id="i37" class="rowColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#rexpandOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-double-boolean-boolean-boolean-int-">rexpandOperations</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
-                 double&nbsp;max,
-                 boolean&nbsp;rows,
-                 boolean&nbsp;cast,
-                 boolean&nbsp;ignore,
-                 int&nbsp;k)</code>&nbsp;</td>
-</tr>
-<tr id="i38" class="altColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#seqOperationsInPlace-double-double-double-">seqOperationsInPlace</a></span>(double&nbsp;from,
-                    double&nbsp;to,
-                    double&nbsp;incr)</code>&nbsp;</td>
-</tr>
-<tr id="i39" class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#slice-java.util.ArrayList-org.apache.sysds.runtime.util.IndexRange-int-int-int-int-int-">slice</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/instructions/spark/data/IndexedMatrixValue.html" title="class in org.apache.sysds.runtime.instructions.spark.data">IndexedMatrixValue</a>&gt;&nbsp;outlist,
-     <a href="../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;range,
-     int&nbsp;rowCut,
-     int&nbsp;colCut,
-     int&nbsp;blen,
-     int&nbsp;boundaryRlen,
-     int&nbsp;boundaryClen)</code>&nbsp;</td>
-</tr>
-<tr id="i40" class="altColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#slice-int-int-int-int-boolean-org.apache.sysds.runtime.controlprogram.caching.CacheBlock-">slice</a></span>(int&nbsp;rl,
-     int&nbsp;ru,
-     int&nbsp;cl,
-     int&nbsp;cu,
-     boolean&nbsp;deep,
-     <a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html" title="interface in org.apache.sysds.runtime.controlprogram.caching">CacheBlock</a>&nbsp;ret)</code>
-<div class="block">Method to perform rightIndex operation for a given lower and upper bounds in row and column dimensions.</div>
-</td>
-</tr>
-<tr id="i41" class="rowColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#sortOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixBlock-">sortOperations</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;weights,
-              <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result)</code>&nbsp;</td>
-</tr>
-<tr id="i42" class="altColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#ternaryOperations-org.apache.sysds.runtime.matrix.operators.TernaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ternaryOperations</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/operators/TernaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">TernaryOperator</a>&nbsp;op,
-                 <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2,
-                 <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m3,
-                 <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret)</code>&nbsp;</td>
-</tr>
-<tr id="i43" class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#toShallowSerializeBlock--">toShallowSerializeBlock</a></span>()</code>
-<div class="block">Converts a cache block that is not shallow serializable into
- a form that is shallow serializable.</div>
-</td>
-</tr>
-<tr id="i44" class="altColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#uaggouterchainOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.BinaryOperator-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-">uaggouterchainOperations</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mbLeft,
-                        <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mbRight,
-                        <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mbOut,
-                        <a href="../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;bOp,
-                        <a href="../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;uaggOp)</code>&nbsp;</td>
-</tr>
-<tr id="i45" class="rowColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#unaryOperations-org.apache.sysds.runtime.matrix.operators.UnaryOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-">unaryOperations</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/operators/UnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">UnaryOperator</a>&nbsp;op,
-               <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result)</code>&nbsp;</td>
-</tr>
-<tr id="i46" class="altColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#zeroOutOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.util.IndexRange-boolean-">zeroOutOperations</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result,
-                 <a href="../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;range,
-                 boolean&nbsp;complementary)</code>&nbsp;</td>
-</tr>
-</table>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.matrix.data.MatrixBlock">
-<!--   -->
-</a>
-<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.matrix.data.<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></h3>
-<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#aggregateBinaryOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.AggregateBinaryOperator-">aggregateBinaryOperations</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#aggregateUnaryOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-int-org.apache.sysds.runtime.matrix.data.MatrixIndexes-">aggregateUnaryOperations</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#aggregateUnaryOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-int-org.apache.sysds.runtime.matrix.data.MatrixIndexes-boolean-">aggregateUnaryOperations</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#allocateAndResetSparseBlock-boolean-org.apache.sysds.runtime.data.SparseBlock.Type-">allocateAndResetSparseBlock</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#allocateBlock--">allocateBlock</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#allocateBlockAsync--">allocateBlockAsync</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#allocateDenseBlock--">allocateDenseBlock</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#allocateDenseBlock-boolean-">allocateDenseBlock</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#allocateDenseBlockUnsafe-int-int-">allocateDenseBlockUnsafe</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#allocateSparseRowsBlock--">allocateSparseRowsBlock</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#allocateSparseRowsBlock-boolean-">allocateSparseRowsBlock</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#append-org.apache.sysds.runtime.matrix.data.MatrixBlock:A-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-">append</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#append-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">append</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#appendRow-int-org.apache.sysds.runtime.data.SparseRow-">appendRow</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#appendRow-int-org.apache.sysds.runtime.data.SparseRow-boolean-">appendRow</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#appendRowToSparse-org.apache.sysds.runtime.data.SparseBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-boolean-">appendRowToSparse</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#appendToSparse-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">appendToSparse</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#appendToSparse-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-boolean-">appendToSparse</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#appendValue-int-int-double-">appendValue</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#binaryOperations-org.apache.sysds.runtime.matrix.operators.BinaryOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-">binaryOperations</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#chainMatrixMultOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.lops.MapMultChain.ChainType-">chainMatrixMultOperations</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#chainMatrixMultOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.lops.MapMultChain.ChainType-int-">chainMatrixMultOperations</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#checkNaN--">checkNaN</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#checkNonZeros--">checkNonZeros</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#checkSparseRows--">checkSparseRows</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#checkSparseRows-int-int-">checkSparseRows</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#cleanupBlock-boolean-boolean-">cleanupBlock</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#compactEmptyBlock--">compactEmptyBlock</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#compareTo-java.lang.Object-">compareTo</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#computeIQMCorrection-double-double-double-double-double-double-">computeIQMCorrection</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#containsValue-double-">containsValue</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#copy-int-int-int-int-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-">copy</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#copy-org.apache.sysds.runtime.matrix.data.MatrixValue-">copy</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#copy-org.apache.sysds.runtime.matrix.data.MatrixValue-boolean-">copy</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#copyShallow-org.apache.sysds.runtime.matrix.data.MatrixBlock-">copyShallow</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#dropLastRowsOrColumns-org.apache.sysds.common.Types.CorrectionLocationType-">dropLastRowsOrColumns</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#equals-java.lang.Object-">equals</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#estimateSizeDenseInMemory-long-long-">estimateSizeDenseInMemory</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#estimateSizeInMemory--">estimateSizeInMemory</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#estimateSizeInMemory-long-long-double-">estimateSizeInMemory</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#estimateSizeOnDisk--">estimateSizeOnDisk</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#estimateSizeOnDisk-long-long-long-">estimateSizeOnDisk</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#estimateSizeSparseInMemory-long-long-double-">estimateSizeSparseInMemory</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#estimateSizeSparseInMemory-long-long-double-org.apache.sysds.runtime.data.SparseBlock.Type-">estimateSizeSparseInMemory</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#estimateSparsityOnAggBinary-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.AggregateBinaryOperator-">estimateSparsityOnAggBinary</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#evalSparseFormatInMemory--">evalSparseFormatInMemory</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#evalSparseFormatInMemory-org.apache.sysds.runtime.meta.DataCharacteristics-">evalSparseFormatInMemory</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#evalSparseFormatInMemory-long-long-long-">evalSparseFormatInMemory</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#evalSparseFormatOnDisk--">evalSparseFormatOnDisk</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#evalSparseFormatOnDisk-long-long-long-">evalSparseFormatOnDisk</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#examSparsity--">examSparsity</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#examSparsity-boolean-">examSparsity</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#extractTriangular-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-boolean-boolean-">extractTriangular</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getDataCharacteristics--">getDataCharacteristics</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getDenseBlock--">getDenseBlock</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getDenseBlockValues--">getDenseBlockValues</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getExactSerializedSize--">getExactSerializedSize</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getExactSizeOnDisk--">getExactSizeOnDisk</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getInMemorySize--">getInMemorySize</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getLength--">getLength</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getNonZeros--">getNonZeros</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getNumColumns--">getNumColumns</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getNumRows--">getNumRows</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getSparseBlock--">getSparseBlock</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getSparseBlockIterator--">getSparseBlockIterator</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getSparseBlockIterator-int-int-">getSparseBlockIterator</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getSparsity--">getSparsity</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getValue-int-int-">getValue</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getValueDenseUnsafe-int-int-">getValueDenseUnsafe</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#hashCode--">hashCode</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#init-double:A:A-int-int-">init</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#init-double:A-int-int-">init</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#interQuartileMean--">interQuartileMean</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#isAllocated--">isAllocated</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#isEmpty--">isEmpty</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#isEmptyBlock--">isEmptyBlock</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#isInSparseFormat--">isInSparseFormat</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#isSparsePermutationMatrix--">isSparsePermutationMatrix</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#isThreadSafe--">isThreadSafe</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#isThreadSafe-boolean-">isThreadSafe</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#isUltraSparse--">isUltraSparse</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#isUltraSparse-boolean-">isUltraSparse</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#isVector--">isVector</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#leftIndexingOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.util.IndexRange-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType-">leftIndexingOperations</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#max--">max</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#mean--">mean</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#median--">median</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#merge-org.apache.sysds.runtime.controlprogram.caching.CacheBlock-boolean-">merge</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#merge-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-">merge</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#merge-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-boolean-">merge</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#merge-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-boolean-boolean-">merge</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#min--">min</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#minNonZero--">minNonZero</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#naryOperations-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.runtime.matrix.data.MatrixBlock:A-org.apache.sysds.runtime.instructions.cp.ScalarObject:A-org.apache.sysds.runtime.matrix.data.MatrixBlock-">naryOperations</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#pickValue-double-">pickValue</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#pickValue-double-boolean-">pickValue</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#pickValues-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-">pickValues</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#prod--">prod</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#quickGetValue-int-int-">quickGetValue</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#quickSetValue-int-int-double-">quickSetValue</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#randOperations-int-int-double-double-double-java.lang.String-long-">randOperations</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#randOperations-int-int-double-double-double-java.lang.String-long-int-">randOperations</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#randOperations-org.apache.sysds.runtime.matrix.data.RandomMatrixGenerator-long-">randOperations</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#randOperations-org.apache.sysds.runtime.matrix.data.RandomMatrixGenerator-long-int-">randOperations</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#readExternal-java.io.ObjectInput-">readExternal</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#readFields-java.io.DataInput-">readFields</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#recomputeNonZeros--">recomputeNonZeros</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#recomputeNonZeros-int-int-">recomputeNonZeros</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#recomputeNonZeros-int-int-int-int-">recomputeNonZeros</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#reset--">reset</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#reset-int-int-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#reset-int-int-boolean-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#reset-int-int-boolean-long-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#reset-int-int-double-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#reset-int-int-long-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#sampleOperations-long-int-boolean-long-">sampleOperations</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#scalarOperations-org.apache.sysds.runtime.matrix.operators.ScalarOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-">scalarOperations</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#seqOperations-double-double-double-">seqOperations</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#setNonZeros-long-">setNonZeros</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#setNumColumns-int-">setNumColumns</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#setNumRows-int-">setNumRows</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#setSparseBlock-org.apache.sysds.runtime.data.SparseBlock-">setSparseBlock</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#setValue-int-int-double-">setValue</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#slice-org.apache.sysds.runtime.util.IndexRange-org.apache.sysds.runtime.matrix.data.MatrixBlock-">slice</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#slice-int-int-">slice</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#slice-int-int-int-int-org.apache.sysds.runtime.controlprogram.caching.CacheBlock-">slice</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#sortSparseRows--">sortSparseRows</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#sortSparseRows-int-int-">sortSparseRows</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#sparseToDense--">sparseToDense</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#sum--">sum</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#sumSq--">sumSq</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#sumWeightForQuantile--">sumWeightForQuantile</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#toString--">toString</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#transposeSelfMatrixMultOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.lops.MMTSJ.MMTSJType-">transposeSelfMatrixMultOperations</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#transposeSelfMatrixMultOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.lops.MMTSJ.MMTSJType-int-">transposeSelfMatrixMultOperations</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#write-java.io.DataOutput-">write</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#writeExternal-java.io.ObjectOutput-">writeExternal</a></code></li>
-</ul>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
-<!--   -->
-</a>
-<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
-<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.detail">
-<!--   -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="AbstractCompressedMatrixBlock--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>AbstractCompressedMatrixBlock</h4>
-<pre>public&nbsp;AbstractCompressedMatrixBlock()</pre>
-<div class="block">Constructor for building an empty Compressed Matrix block object.</div>
-</li>
-</ul>
-<a name="AbstractCompressedMatrixBlock-boolean-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>AbstractCompressedMatrixBlock</h4>
-<pre>public&nbsp;AbstractCompressedMatrixBlock(boolean&nbsp;overLapping)</pre>
-<div class="block">Create a potentially overlapping Compressed Matrix Block.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>overLapping</code> - boolean specifying if the matrix blocks columns are overlapping.</dd>
-</dl>
-</li>
-</ul>
-<a name="AbstractCompressedMatrixBlock-int-int-boolean-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>AbstractCompressedMatrixBlock</h4>
-<pre>public&nbsp;AbstractCompressedMatrixBlock(int&nbsp;rl,
-                                     int&nbsp;cl,
-                                     boolean&nbsp;sparse)</pre>
-<div class="block">Main constructor for building a block from scratch.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>rl</code> - number of rows in the block</dd>
-<dd><code>cl</code> - number of columns</dd>
-<dd><code>sparse</code> - true if the UNCOMPRESSED representation of the block should be sparse</dd>
-</dl>
-</li>
-</ul>
-<a name="AbstractCompressedMatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>AbstractCompressedMatrixBlock</h4>
-<pre>public&nbsp;AbstractCompressedMatrixBlock(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;that)</pre>
-<div class="block">"Copy" constructor to populate this compressed block with the uncompressed contents of a conventional block. Does
- <b>not</b> compress the block. Only creates a shallow copy, and only does deep copy on compression.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>that</code> - matrix block</dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="decompress--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>decompress</h4>
-<pre>public abstract&nbsp;<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;decompress()</pre>
-</li>
-</ul>
-<a name="isEmptyBlock-boolean-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>isEmptyBlock</h4>
-<pre>public&nbsp;boolean&nbsp;isEmptyBlock(boolean&nbsp;safe)</pre>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#isEmptyBlock-boolean-">isEmptyBlock</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
-</dl>
-</li>
-</ul>
-<a name="estimateOriginalSizeInMemory-int-int-double-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>estimateOriginalSizeInMemory</h4>
-<pre>public static&nbsp;long&nbsp;estimateOriginalSizeInMemory(int&nbsp;nrows,
-                                                int&nbsp;ncols,
-                                                double&nbsp;sparsity)</pre>
-</li>
-</ul>
-<a name="unaryOperations-org.apache.sysds.runtime.matrix.operators.UnaryOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>unaryOperations</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;unaryOperations(<a href="../../../../../org/apache/sysds/runtime/matrix/operators/UnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">UnaryOperator</a>&nbsp;op,
-                                   <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result)</pre>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#unaryOperations-org.apache.sysds.runtime.matrix.operators.UnaryOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-">unaryOperations</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
-</dl>
-</li>
-</ul>
-<a name="binaryOperationsInPlace-org.apache.sysds.runtime.matrix.operators.BinaryOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>binaryOperationsInPlace</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;binaryOperationsInPlace(<a href="../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
-                                           <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;thatValue)</pre>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#binaryOperationsInPlace-org.apache.sysds.runtime.matrix.operators.BinaryOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-">binaryOperationsInPlace</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
-</dl>
-</li>
-</ul>
-<a name="incrementalAggregate-org.apache.sysds.runtime.matrix.operators.AggregateOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-boolean-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>incrementalAggregate</h4>
-<pre>public&nbsp;void&nbsp;incrementalAggregate(<a href="../../../../../org/apache/sysds/runtime/matrix/operators/AggregateOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateOperator</a>&nbsp;aggOp,
-                                 <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;correction,
-                                 <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;newWithCorrection,
-                                 boolean&nbsp;deep)</pre>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#incrementalAggregate-org.apache.sysds.runtime.matrix.operators.AggregateOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-boolean-">incrementalAggregate</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
-</dl>
-</li>
-</ul>
-<a name="incrementalAggregate-org.apache.sysds.runtime.matrix.operators.AggregateOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>incrementalAggregate</h4>
-<pre>public&nbsp;void&nbsp;incrementalAggregate(<a href="../../../../../org/apache/sysds/runtime/matrix/operators/AggregateOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateOperator</a>&nbsp;aggOp,
-                                 <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;newWithCorrection)</pre>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#incrementalAggregate-org.apache.sysds.runtime.matrix.operators.AggregateOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-">incrementalAggregate</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
-</dl>
-</li>
-</ul>
-<a name="reorgOperations-org.apache.sysds.runtime.matrix.operators.ReorgOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-int-int-int-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>reorgOperations</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;reorgOperations(<a href="../../../../../org/apache/sysds/runtime/matrix/operators/ReorgOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ReorgOperator</a>&nbsp;op,
-                                   <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;ret,
-                                   int&nbsp;startRow,
-                                   int&nbsp;startColumn,
-                                   int&nbsp;length)</pre>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#reorgOperations-org.apache.sysds.runtime.matrix.operators.ReorgOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-int-int-int-">reorgOperations</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
-</dl>
-</li>
-</ul>
-<a name="append-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>append</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;append(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;that,
-                          <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
-                          boolean&nbsp;cbind)</pre>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#append-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-">append</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
-</dl>
-</li>
-</ul>
-<a name="append-org.apache.sysds.runtime.matrix.data.MatrixValue-java.util.ArrayList-int-boolean-boolean-int-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>append</h4>
-<pre>public&nbsp;void&nbsp;append(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;v2,
-                   <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/instructions/spark/data/IndexedMatrixValue.html" title="class in org.apache.sysds.runtime.instructions.spark.data">IndexedMatrixValue</a>&gt;&nbsp;outlist,
-                   int&nbsp;blen,
-                   boolean&nbsp;cbind,
-                   boolean&nbsp;m2IsLast,
-                   int&nbsp;nextNCol)</pre>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#append-org.apache.sysds.runtime.matrix.data.MatrixValue-java.util.ArrayList-int-boolean-boolean-int-">append</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
-</dl>
-</li>
-</ul>
-<a name="permutationMatrixMultOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>permutationMatrixMultOperations</h4>
-<pre>public&nbsp;void&nbsp;permutationMatrixMultOperations(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;m2Val,
-                                            <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;out1Val,
-                                            <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;out2Val)</pre>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#permutationMatrixMultOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-">permutationMatrixMultOperations</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
-</dl>
-</li>
-</ul>
-<a name="permutationMatrixMultOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-int-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>permutationMatrixMultOperations</h4>
-<pre>public&nbsp;void&nbsp;permutationMatrixMultOperations(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;m2Val,
-                                            <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;out1Val,
-                                            <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;out2Val,
-                                            int&nbsp;k)</pre>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#permutationMatrixMultOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-int-">permutationMatrixMultOperations</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
-</dl>
-</li>
-</ul>
-<a name="leftIndexingOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-int-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>leftIndexingOperations</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;leftIndexingOperations(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;rhsMatrix,
-                                          int&nbsp;rl,
-                                          int&nbsp;ru,
-                                          int&nbsp;cl,
-                                          int&nbsp;cu,
-                                          <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
-                                          <a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.UpdateType.html" title="enum in org.apache.sysds.runtime.controlprogram.caching">MatrixObject.UpdateType</a>&nbsp;update)</pre>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#leftIndexingOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-int-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType-">leftIndexingOperations</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
-</dl>
-</li>
-</ul>
-<a name="leftIndexingOperations-org.apache.sysds.runtime.instructions.cp.ScalarObject-int-int-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>leftIndexingOperations</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;leftIndexingOperations(<a href="../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&nbsp;scalar,
-                                          int&nbsp;rl,
-                                          int&nbsp;cl,
-                                          <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
-                                          <a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.UpdateType.html" title="enum in org.apache.sysds.runtime.controlprogram.caching">MatrixObject.UpdateType</a>&nbsp;update)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#leftIndexingOperations-org.apache.sysds.runtime.instructions.cp.ScalarObject-int-int-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType-">MatrixBlock</a></code></span></div>
-<div class="block">Explicitly allow left indexing for scalars. Note: This operation is now 0-based.
- 
- * Operations to be performed: 
-   1) result=this; 
-   2) result[row,column] = scalar.getDoubleValue();</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#leftIndexingOperations-org.apache.sysds.runtime.instructions.cp.ScalarObject-int-int-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType-">leftIndexingOperations</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>scalar</code> - scalar object</dd>
-<dd><code>rl</code> - row lower</dd>
-<dd><code>cl</code> - column lower</dd>
-<dd><code>ret</code> - ?</dd>
-<dd><code>update</code> - ?</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>matrix block</dd>
-</dl>
-</li>
-</ul>
-<a name="slice-int-int-int-int-boolean-org.apache.sysds.runtime.controlprogram.caching.CacheBlock-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>slice</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;slice(int&nbsp;rl,
-                         int&nbsp;ru,
-                         int&nbsp;cl,
-                         int&nbsp;cu,
-                         boolean&nbsp;deep,
-                         <a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html" title="interface in org.apache.sysds.runtime.controlprogram.caching">CacheBlock</a>&nbsp;ret)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#slice-int-int-int-int-boolean-org.apache.sysds.runtime.controlprogram.caching.CacheBlock-">MatrixBlock</a></code></span></div>
-<div class="block">Method to perform rightIndex operation for a given lower and upper bounds in row and column dimensions.
- Extracted submatrix is returned as "result". Note: This operation is now 0-based.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#slice-int-int-int-int-boolean-org.apache.sysds.runtime.controlprogram.caching.CacheBlock-">slice</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>rl</code> - row lower</dd>
-<dd><code>ru</code> - row upper</dd>
-<dd><code>cl</code> - column lower</dd>
-<dd><code>cu</code> - column upper</dd>
-<dd><code>deep</code> - should perform deep copy</dd>
-<dd><code>ret</code> - output matrix block</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>matrix block output matrix block</dd>
-</dl>
-</li>
-</ul>
-<a name="slice-java.util.ArrayList-org.apache.sysds.runtime.util.IndexRange-int-int-int-int-int-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>slice</h4>
-<pre>public&nbsp;void&nbsp;slice(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/instructions/spark/data/IndexedMatrixValue.html" title="class in org.apache.sysds.runtime.instructions.spark.data">IndexedMatrixValue</a>&gt;&nbsp;outlist,
-                  <a href="../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;range,
-                  int&nbsp;rowCut,
-                  int&nbsp;colCut,
-                  int&nbsp;blen,
-                  int&nbsp;boundaryRlen,
-                  int&nbsp;boundaryClen)</pre>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#slice-java.util.ArrayList-org.apache.sysds.runtime.util.IndexRange-int-int-int-int-int-">slice</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
-</dl>
-</li>
-</ul>
-<a name="zeroOutOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.util.IndexRange-boolean-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>zeroOutOperations</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;zeroOutOperations(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result,
-                                     <a href="../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;range,
-                                     boolean&nbsp;complementary)</pre>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#zeroOutOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.util.IndexRange-boolean-">zeroOutOperations</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
-</dl>
-</li>
-</ul>
-<a name="cmOperations-org.apache.sysds.runtime.matrix.operators.CMOperator-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>cmOperations</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/instructions/cp/CM_COV_Object.html" title="class in org.apache.sysds.runtime.instructions.cp">CM_COV_Object</a>&nbsp;cmOperations(<a href="../../../../../org/apache/sysds/runtime/matrix/operators/CMOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">CMOperator</a>&nbsp;op)</pre>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#cmOperations-org.apache.sysds.runtime.matrix.operators.CMOperator-">cmOperations</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
-</dl>
-</li>
-</ul>
-<a name="cmOperations-org.apache.sysds.runtime.matrix.operators.CMOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>cmOperations</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/instructions/cp/CM_COV_Object.html" title="class in org.apache.sysds.runtime.instructions.cp">CM_COV_Object</a>&nbsp;cmOperations(<a href="../../../../../org/apache/sysds/runtime/matrix/operators/CMOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">CMOperator</a>&nbsp;op,
-                                  <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;weights)</pre>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#cmOperations-org.apache.sysds.runtime.matrix.operators.CMOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-">cmOperations</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
-</dl>
-</li>
-</ul>
-<a name="covOperations-org.apache.sysds.runtime.matrix.operators.COVOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>covOperations</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/instructions/cp/CM_COV_Object.html" title="class in org.apache.sysds.runtime.instructions.cp">CM_COV_Object</a>&nbsp;covOperations(<a href="../../../../../org/apache/sysds/runtime/matrix/operators/COVOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">COVOperator</a>&nbsp;op,
-                                   <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;that)</pre>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#covOperations-org.apache.sysds.runtime.matrix.operators.COVOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-">covOperations</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
-</dl>
-</li>
-</ul>
-<a name="covOperations-org.apache.sysds.runtime.matrix.operators.COVOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>covOperations</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/instructions/cp/CM_COV_Object.html" title="class in org.apache.sysds.runtime.instructions.cp">CM_COV_Object</a>&nbsp;covOperations(<a href="../../../../../org/apache/sysds/runtime/matrix/operators/COVOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">COVOperator</a>&nbsp;op,
-                                   <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;that,
-                                   <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;weights)</pre>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#covOperations-org.apache.sysds.runtime.matrix.operators.COVOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">covOperations</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
-</dl>
-</li>
-</ul>
-<a name="sortOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixBlock-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>sortOperations</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;sortOperations(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;weights,
-                                  <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result)</pre>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#sortOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixBlock-">sortOperations</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
-</dl>
-</li>
-</ul>
-<a name="aggregateBinaryOperations-org.apache.sysds.runtime.matrix.data.MatrixIndexes-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixIndexes-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.AggregateBinaryOperator-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>aggregateBinaryOperations</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;aggregateBinaryOperations(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixIndexes.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixIndexes</a>&nbsp;m1Index,
-                                             <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m1Value,
-                                             <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixIndexes.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixIndexes</a>&nbsp;m2Index,
-                                             <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2Value,
-                                             <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result,
-                                             <a href="../../../../../org/apache/sysds/runtime/matrix/operators/AggregateBinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateBinaryOperator</a>&nbsp;op)</pre>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#aggregateBinaryOperations-org.apache.sysds.runtime.matrix.data.MatrixIndexes-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixIndexes-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.AggregateBinaryOperator-">aggregateBinaryOperations</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
-</dl>
-</li>
-</ul>
-<a name="aggregateTernaryOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.AggregateTernaryOperator-boolean-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>aggregateTernaryOperations</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;aggregateTernaryOperations(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m1,
-                                              <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2,
-                                              <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m3,
-                                              <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
-                                              <a href="../../../../../org/apache/sysds/runtime/matrix/operators/AggregateTernaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateTernaryOperator</a>&nbsp;op,
-                                              boolean&nbsp;inCP)</pre>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#aggregateTernaryOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.AggregateTernaryOperator-boolean-">aggregateTernaryOperations</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
-</dl>
-</li>
-</ul>
-<a name="uaggouterchainOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.BinaryOperator-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>uaggouterchainOperations</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;uaggouterchainOperations(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mbLeft,
-                                            <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mbRight,
-                                            <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mbOut,
-                                            <a href="../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;bOp,
-                                            <a href="../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;uaggOp)</pre>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#uaggouterchainOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.BinaryOperator-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-">uaggouterchainOperations</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
-</dl>
-</li>
-</ul>
-<a name="groupedAggOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-int-org.apache.sysds.runtime.matrix.operators.Operator-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>groupedAggOperations</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;groupedAggOperations(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;tgt,
-                                        <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;wghts,
-                                        <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;ret,
-                                        int&nbsp;ngroups,
-                                        <a href="../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#groupedAggOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-int-org.apache.sysds.runtime.matrix.operators.Operator-">MatrixBlock</a></code></span></div>
-<div class="block">Invocation from CP instructions. The aggregate is computed on the groups object
- against target and weights. 
- 
- Notes:
- * The computed number of groups is reused for multiple invocations with different target.
- * This implementation supports that the target is passed as column or row vector,
-   in case of row vectors we also use sparse-safe implementations for sparse safe
-   aggregation operators.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#groupedAggOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-int-org.apache.sysds.runtime.matrix.operators.Operator-">groupedAggOperations</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>tgt</code> - ?</dd>
-<dd><code>wghts</code> - ?</dd>
-<dd><code>ret</code> - ?</dd>
-<dd><code>ngroups</code> - ?</dd>
-<dd><code>op</code> - operator</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>matrix block</dd>
-</dl>
-</li>
-</ul>
-<a name="groupedAggOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-int-org.apache.sysds.runtime.matrix.operators.Operator-int-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>groupedAggOperations</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;groupedAggOperations(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;tgt,
-                                        <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;wghts,
-                                        <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;ret,
-                                        int&nbsp;ngroups,
-                                        <a href="../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
-                                        int&nbsp;k)</pre>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#groupedAggOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-int-org.apache.sysds.runtime.matrix.operators.Operator-int-">groupedAggOperations</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
-</dl>
-</li>
-</ul>
-<a name="removeEmptyOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-boolean-org.apache.sysds.runtime.matrix.data.MatrixBlock-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>removeEmptyOperations</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;removeEmptyOperations(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
-                                         boolean&nbsp;rows,
-                                         boolean&nbsp;emptyReturn,
-                                         <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;select)</pre>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#removeEmptyOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-boolean-org.apache.sysds.runtime.matrix.data.MatrixBlock-">removeEmptyOperations</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
-</dl>
-</li>
-</ul>
-<a name="removeEmptyOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-boolean-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>removeEmptyOperations</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;removeEmptyOperations(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
-                                         boolean&nbsp;rows,
-                                         boolean&nbsp;emptyReturn)</pre>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#removeEmptyOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-boolean-">removeEmptyOperations</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
-</dl>
-</li>
-</ul>
-<a name="rexpandOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-double-boolean-boolean-boolean-int-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>rexpandOperations</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;rexpandOperations(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
-                                     double&nbsp;max,
-                                     boolean&nbsp;rows,
-                                     boolean&nbsp;cast,
-                                     boolean&nbsp;ignore,
-                                     int&nbsp;k)</pre>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#rexpandOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-double-boolean-boolean-boolean-int-">rexpandOperations</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
-</dl>
-</li>
-</ul>
-<a name="replaceOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-double-double-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>replaceOperations</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;replaceOperations(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result,
-                                     double&nbsp;pattern,
-                                     double&nbsp;replacement)</pre>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#replaceOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-double-double-">replaceOperations</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
-</dl>
-</li>
-</ul>
-<a name="ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-double-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>ctableOperations</h4>
-<pre>public&nbsp;void&nbsp;ctableOperations(<a href="../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
-                             double&nbsp;scalar,
-                             <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;that,
-                             <a href="../../../../../org/apache/sysds/runtime/matrix/data/CTableMap.html" title="class in org.apache.sysds.runtime.matrix.data">CTableMap</a>&nbsp;resultMap,
-                             <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;resultBlock)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-double-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-">MatrixBlock</a></code></span></div>
-<div class="block">D = ctable(A,v2,W)
-  this &lt;- A; scalarThat &lt;- v2; that2 &lt;- W; result &lt;- D
-  
- (i1,j1,v1) from input1 (this)
- (v2) from sclar_input2 (scalarThat)
- (i3,j3,w)  from input3 (that2)</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-double-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ctableOperations</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
-</dl>
-</li>
-</ul>
-<a name="ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-double-double-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>ctableOperations</h4>
-<pre>public&nbsp;void&nbsp;ctableOperations(<a href="../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
-                             double&nbsp;scalar,
-                             double&nbsp;scalar2,
-                             <a href="../../../../../org/apache/sysds/runtime/matrix/data/CTableMap.html" title="class in org.apache.sysds.runtime.matrix.data">CTableMap</a>&nbsp;resultMap,
-                             <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;resultBlock)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-double-double-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-">MatrixBlock</a></code></span></div>
-<div class="block">D = ctable(A,v2,w)
-  this &lt;- A; scalar_that &lt;- v2; scalar_that2 &lt;- w; result &lt;- D
-  
- (i1,j1,v1) from input1 (this)
- (v2) from sclar_input2 (scalarThat)
- (w)  from scalar_input3 (scalarThat2)</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-double-double-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ctableOperations</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
-</dl>
-</li>
-</ul>
-<a name="ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.runtime.matrix.data.MatrixIndexes-double-boolean-int-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>ctableOperations</h4>
-<pre>public&nbsp;void&nbsp;ctableOperations(<a href="../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
-                             <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixIndexes.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixIndexes</a>&nbsp;ix1,
-                             double&nbsp;scalar,
-                             boolean&nbsp;left,
-                             int&nbsp;brlen,
-                             <a href="../../../../../org/apache/sysds/runtime/matrix/data/CTableMap.html" title="class in org.apache.sysds.runtime.matrix.data">CTableMap</a>&nbsp;resultMap,
-                             <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;resultBlock)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.runtime.matrix.data.MatrixIndexes-double-boolean-int-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-">MatrixBlock</a></code></span></div>
-<div class="block">Specific ctable case of ctable(seq(...),X), where X is the only
- matrix input. The 'left' input parameter specifies if the seq appeared
- on the left, otherwise it appeared on the right.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.runtime.matrix.data.MatrixIndexes-double-boolean-int-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ctableOperations</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
-</dl>
-</li>
-</ul>
-<a name="ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.runtime.matrix.data.MatrixValue-double-boolean-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>ctableOperations</h4>
-<pre>public&nbsp;void&nbsp;ctableOperations(<a href="../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
-                             <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;that,
-                             double&nbsp;scalar,
-                             boolean&nbsp;ignoreZeros,
-                             <a href="../../../../../org/apache/sysds/runtime/matrix/data/CTableMap.html" title="class in org.apache.sysds.runtime.matrix.data">CTableMap</a>&nbsp;resultMap,
-                             <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;resultBlock)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.runtime.matrix.data.MatrixValue-double-boolean-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-">MatrixBlock</a></code></span></div>
-<div class="block">D = ctable(A,B,w)
-  this &lt;- A; that &lt;- B; scalar_that2 &lt;- w; result &lt;- D
-  
- (i1,j1,v1) from input1 (this)
- (i1,j1,v2) from input2 (that)
- (w)  from scalar_input3 (scalarThat2)
- 
- NOTE: This method supports both vectors and matrices. In case of matrices and ignoreZeros=true
- we can also use a sparse-safe implementation</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.runtime.matrix.data.MatrixValue-double-boolean-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ctableOperations</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
-</dl>
-</li>
-</ul>
-<a name="ctableSeqOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-double-org.apache.sysds.runtime.matrix.data.MatrixBlock-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>ctableSeqOperations</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ctableSeqOperations(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;that,
-                                       double&nbsp;scalar,
-                                       <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;resultBlock)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#ctableSeqOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-double-org.apache.sysds.runtime.matrix.data.MatrixBlock-">MatrixBlock</a></code></span></div>
-<div class="block">D = ctable(seq,A,w)
-  this &lt;- seq; thatMatrix &lt;- A; thatScalar &lt;- w; result &lt;- D
-  
- (i1,j1,v1) from input1 (this)
- (i1,j1,v2) from input2 (that)
- (w)  from scalar_input3 (scalarThat2)</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#ctableSeqOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-double-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ctableSeqOperations</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>that</code> - matrix value</dd>
-<dd><code>scalar</code> - scalar double</dd>
-<dd><code>resultBlock</code> - result matrix block</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>resultBlock</dd>
-</dl>
-</li>
-</ul>
-<a name="ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.CTableMap-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>ctableOperations</h4>
-<pre>public&nbsp;void&nbsp;ctableOperations(<a href="../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
-                             <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;that,
-                             <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;that2,
-                             <a href="../../../../../org/apache/sysds/runtime/matrix/data/CTableMap.html" title="class in org.apache.sysds.runtime.matrix.data">CTableMap</a>&nbsp;resultMap)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.CTableMap-">MatrixBlock</a></code></span></div>
-<div class="block">D = ctable(A,B,W)
-  this &lt;- A; that &lt;- B; that2 &lt;- W; result &lt;- D
-  
- (i1,j1,v1) from input1 (this)
- (i1,j1,v2) from input2 (that)
- (i1,j1,w)  from input3 (that2)</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.CTableMap-">ctableOperations</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>op</code> - operator</dd>
-<dd><code>that</code> - matrix value 1</dd>
-<dd><code>that2</code> - matrix value 2</dd>
-<dd><code>resultMap</code> - table map</dd>
-</dl>
-</li>
-</ul>
-<a name="ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>ctableOperations</h4>
-<pre>public&nbsp;void&nbsp;ctableOperations(<a href="../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
-                             <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;that,
-                             <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;that2,
-                             <a href="../../../../../org/apache/sysds/runtime/matrix/data/CTableMap.html" title="class in org.apache.sysds.runtime.matrix.data">CTableMap</a>&nbsp;resultMap,
-                             <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;resultBlock)</pre>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ctableOperations</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
-</dl>
-</li>
-</ul>
-<a name="ternaryOperations-org.apache.sysds.runtime.matrix.operators.TernaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>ternaryOperations</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ternaryOperations(<a href="../../../../../org/apache/sysds/runtime/matrix/operators/TernaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">TernaryOperator</a>&nbsp;op,
-                                     <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2,
-                                     <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m3,
-                                     <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret)</pre>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#ternaryOperations-org.apache.sysds.runtime.matrix.operators.TernaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ternaryOperations</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
-</dl>
-</li>
-</ul>
-<a name="quaternaryOperations-org.apache.sysds.runtime.matrix.operators.QuaternaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>quaternaryOperations</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;quaternaryOperations(<a href="../../../../../org/apache/sysds/runtime/matrix/operators/QuaternaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">QuaternaryOperator</a>&nbsp;qop,
-                                        <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;um,
-                                        <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;vm,
-                                        <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;wm,
-                                        <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</pre>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#quaternaryOperations-org.apache.sysds.runtime.matrix.operators.QuaternaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">quaternaryOperations</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
-</dl>
-</li>
-</ul>
-<a name="quaternaryOperations-org.apache.sysds.runtime.matrix.operators.QuaternaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>quaternaryOperations</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;quaternaryOperations(<a href="../../../../../org/apache/sysds/runtime/matrix/operators/QuaternaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">QuaternaryOperator</a>&nbsp;qop,
-                                        <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;um,
-                                        <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;vm,
-                                        <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;wm,
-                                        <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
-                                        int&nbsp;k)</pre>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#quaternaryOperations-org.apache.sysds.runtime.matrix.operators.QuaternaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">quaternaryOperations</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
-</dl>
-</li>
-</ul>
-<a name="randOperationsInPlace-org.apache.sysds.runtime.matrix.data.RandomMatrixGenerator-org.apache.commons.math3.random.Well1024a-long-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>randOperationsInPlace</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;randOperationsInPlace(<a href="../../../../../org/apache/sysds/runtime/matrix/data/RandomMatrixGenerator.html" title="class in org.apache.sysds.runtime.matrix.data">RandomMatrixGenerator</a>&nbsp;rgen,
-                                         org.apache.commons.math3.random.Well1024a&nbsp;bigrand,
-                                         long&nbsp;bSeed)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#randOperationsInPlace-org.apache.sysds.runtime.matrix.data.RandomMatrixGenerator-org.apache.commons.math3.random.Well1024a-long-">MatrixBlock</a></code></span></div>
-<div class="block">Function to generate a matrix of random numbers. This is invoked both
- from CP as well as from MR. In case of CP, it generates an entire matrix
- block-by-block. A <code>bigrand</code> is passed so that block-level
- seeds are generated internally. In case of MR, it generates a single
- block for given block-level seed <code>bSeed</code>.
- 
- When pdf="uniform", cell values are drawn from uniform distribution in
- range <code>[min,max]</code>.
- 
- When pdf="normal", cell values are drawn from standard normal
- distribution N(0,1). The range of generated values will always be
- (-Inf,+Inf).</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#randOperationsInPlace-org.apache.sysds.runtime.matrix.data.RandomMatrixGenerator-org.apache.commons.math3.random.Well1024a-long-">randOperationsInPlace</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>rgen</code> - random matrix generator</dd>
-<dd><code>bigrand</code> - ?</dd>
-<dd><code>bSeed</code> - seed value</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>matrix block</dd>
-</dl>
-</li>
-</ul>
-<a name="randOperationsInPlace-org.apache.sysds.runtime.matrix.data.RandomMatrixGenerator-org.apache.commons.math3.random.Well1024a-long-int-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>randOperationsInPlace</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;randOperationsInPlace(<a href="../../../../../org/apache/sysds/runtime/matrix/data/RandomMatrixGenerator.html" title="class in org.apache.sysds.runtime.matrix.data">RandomMatrixGenerator</a>&nbsp;rgen,
-                                         org.apache.commons.math3.random.Well1024a&nbsp;bigrand,
-                                         long&nbsp;bSeed,
-                                         int&nbsp;k)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#randOperationsInPlace-org.apache.sysds.runtime.matrix.data.RandomMatrixGenerator-org.apache.commons.math3.random.Well1024a-long-int-">MatrixBlock</a></code></span></div>
-<div class="block">Function to generate a matrix of random numbers. This is invoked both
- from CP as well as from MR. In case of CP, it generates an entire matrix
- block-by-block. A <code>bigrand</code> is passed so that block-level
- seeds are generated internally. In case of MR, it generates a single
- block for given block-level seed <code>bSeed</code>.
- 
- When pdf="uniform", cell values are drawn from uniform distribution in
- range <code>[min,max]</code>.
- 
- When pdf="normal", cell values are drawn from standard normal
- distribution N(0,1). The range of generated values will always be
- (-Inf,+Inf).</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#randOperationsInPlace-org.apache.sysds.runtime.matrix.data.RandomMatrixGenerator-org.apache.commons.math3.random.Well1024a-long-int-">randOperationsInPlace</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>rgen</code> - random matrix generator</dd>
-<dd><code>bigrand</code> - ?</dd>
-<dd><code>bSeed</code> - seed value</dd>
-<dd><code>k</code> - ?</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>matrix block</dd>
-</dl>
-</li>
-</ul>
-<a name="seqOperationsInPlace-double-double-double-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>seqOperationsInPlace</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;seqOperationsInPlace(double&nbsp;from,
-                                        double&nbsp;to,
-                                        double&nbsp;incr)</pre>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#seqOperationsInPlace-double-double-double-">seqOperationsInPlace</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
-</dl>
-</li>
-</ul>
-<a name="isShallowSerialize--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>isShallowSerialize</h4>
-<pre>public&nbsp;boolean&nbsp;isShallowSerialize()</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html#isShallowSerialize--">CacheBlock</a></code></span></div>
-<div class="block">Indicates if the cache block is subject to shallow serialized,
- which is generally true if in-memory size and serialized size
- are almost identical allowing to avoid unnecessary deep serialize.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html#isShallowSerialize--">isShallowSerialize</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html" title="interface in org.apache.sysds.runtime.controlprogram.caching">CacheBlock</a></code></dd>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#isShallowSerialize--">isShallowSerialize</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>true if shallow serialized</dd>
-</dl>
-</li>
-</ul>
-<a name="isShallowSerialize-boolean-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>isShallowSerialize</h4>
-<pre>public&nbsp;boolean&nbsp;isShallowSerialize(boolean&nbsp;inclConvert)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html#isShallowSerialize-boolean-">CacheBlock</a></code></span></div>
-<div class="block">Indicates if the cache block is subject to shallow serialized,
- which is generally true if in-memory size and serialized size
- are almost identical allowing to avoid unnecessary deep serialize.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html#isShallowSerialize-boolean-">isShallowSerialize</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html" title="interface in org.apache.sysds.runtime.controlprogram.caching">CacheBlock</a></code></dd>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#isShallowSerialize-boolean-">isShallowSerialize</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>inclConvert</code> - if true report blocks as shallow serialize that are
- currently not amenable but can be brought into an amenable form
- via <a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html#toShallowSerializeBlock--"><code>toShallowSerializeBlock</code></a>.</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>true if shallow serialized</dd>
-</dl>
-</li>
-</ul>
-<a name="toShallowSerializeBlock--">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>toShallowSerializeBlock</h4>
-<pre>public&nbsp;void&nbsp;toShallowSerializeBlock()</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html#toShallowSerializeBlock--">CacheBlock</a></code></span></div>
-<div class="block">Converts a cache block that is not shallow serializable into
- a form that is shallow serializable. This methods has no affect
- if the given cache block is not amenable.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html#toShallowSerializeBlock--">toShallowSerializeBlock</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html" title="interface in org.apache.sysds.runtime.controlprogram.caching">CacheBlock</a></code></dd>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#toShallowSerializeBlock--">toShallowSerializeBlock</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/AbstractCompressedMatrixBlock.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev&nbsp;Class</li>
-<li><a href="../../../../../org/apache/sysds/runtime/compress/BitmapEncoder.html" title="class in org.apache.sysds.runtime.compress"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html" target="_top">Frames</a></li>
-<li><a href="AbstractCompressedMatrixBlock.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.matrix.data.MatrixBlock">Nested</a>&nbsp;|&nbsp;</li>
-<li><a href="#fields.inherited.from.class.org.apache.sysds.runtime.matrix.data.MatrixBlock">Field</a>&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
-</body>
-</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/CompressedMatrixBlock.html b/docs/api/java/org/apache/sysds/runtime/compress/CompressedMatrixBlock.html
index 90e8ef6..8c1ba3b 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/CompressedMatrixBlock.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/CompressedMatrixBlock.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":9,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":9,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":9,"i35":10,"i36":10,"i37":10,"i38":10,"i39":9,"i40":10,"i41":10,"i42":10,"i43":10,"i44":10,"i45":10,"i46":10,"i47":10,"i48":10,"i49":10,"i50":10,"i51":10,"i52":10,"i53":10,"i54":10,"i55":10,"i56":10,"i57":10,"i58":10,"i59":10,"i60":10,"i61":10,"i62":10,"i63":10,"i64":10,"i65":10,"i66":10,"i67":10,"i68":10,"i69":10,"i70":10,"i71":10,"i72":10,"i73":10,"i74":10,"i75":10,"i76":10,"i77":10,"i78":10,"i79":10,"i80":10,"i81":10,"i82":10,"i83":10,"i84":10,"i85":10,"i86":10,"i87":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -49,7 +49,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/sysds/runtime/compress/BitmapEncoder.html" title="class in org.apache.sysds.runtime.compress"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Prev&nbsp;Class</li>
 <li><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlockFactory.html" title="class in org.apache.sysds.runtime.compress"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -106,9 +106,6 @@
 <li><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">org.apache.sysds.runtime.matrix.data.MatrixBlock</a></li>
 <li>
 <ul class="inheritance">
-<li><a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">org.apache.sysds.runtime.compress.AbstractCompressedMatrixBlock</a></li>
-<li>
-<ul class="inheritance">
 <li>org.apache.sysds.runtime.compress.CompressedMatrixBlock</li>
 </ul>
 </li>
@@ -117,8 +114,6 @@
 </ul>
 </li>
 </ul>
-</li>
-</ul>
 <div class="description">
 <ul class="blockList">
 <li class="blockList">
@@ -129,7 +124,7 @@
 <hr>
 <br>
 <pre>public class <span class="typeNameLabel">CompressedMatrixBlock</span>
-extends <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">AbstractCompressedMatrixBlock</a></pre>
+extends <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../serialized-form.html#org.apache.sysds.runtime.compress.CompressedMatrixBlock">Serialized Form</a></dd>
@@ -198,6 +193,15 @@
 <div class="block">Create a base Compressed matrix block with overlapping column groups.</div>
 </td>
 </tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#CompressedMatrixBlock-org.apache.sysds.runtime.compress.CompressedMatrixBlock-">CompressedMatrixBlock</a></span>(<a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;that)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#CompressedMatrixBlock-int-int-">CompressedMatrixBlock</a></span>(int&nbsp;rl,
+                     int&nbsp;cl)</code>
+<div class="block">Main constructor for building a block from scratch.</div>
+</td>
+</tr>
 </table>
 </li>
 </ul>
@@ -222,12 +226,39 @@
 </tr>
 <tr id="i1" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#aggregateBinaryOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.AggregateBinaryOperator-boolean-boolean-">aggregateBinaryOperations</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m1,
+                         <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2,
+                         <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
+                         <a href="../../../../../org/apache/sysds/runtime/matrix/operators/AggregateBinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateBinaryOperator</a>&nbsp;op,
+                         boolean&nbsp;transposeLeft,
+                         boolean&nbsp;transposeRight)</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#aggregateBinaryOperations-org.apache.sysds.runtime.matrix.data.MatrixIndexes-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixIndexes-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.AggregateBinaryOperator-">aggregateBinaryOperations</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixIndexes.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixIndexes</a>&nbsp;m1Index,
+                         <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m1Value,
+                         <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixIndexes.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixIndexes</a>&nbsp;m2Index,
+                         <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2Value,
+                         <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result,
+                         <a href="../../../../../org/apache/sysds/runtime/matrix/operators/AggregateBinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateBinaryOperator</a>&nbsp;op)</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#aggregateTernaryOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.AggregateTernaryOperator-boolean-">aggregateTernaryOperations</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m1,
+                          <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2,
+                          <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m3,
+                          <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
+                          <a href="../../../../../org/apache/sysds/runtime/matrix/operators/AggregateTernaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateTernaryOperator</a>&nbsp;op,
+                          boolean&nbsp;inCP)</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#aggregateUnaryOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-int-org.apache.sysds.runtime.matrix.data.MatrixIndexes-">aggregateUnaryOperations</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;op,
                         <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result,
                         int&nbsp;blen,
                         <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixIndexes.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixIndexes</a>&nbsp;indexesIn)</code>&nbsp;</td>
 </tr>
-<tr id="i2" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#aggregateUnaryOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-int-org.apache.sysds.runtime.matrix.data.MatrixIndexes-boolean-">aggregateUnaryOperations</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;op,
                         <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result,
@@ -235,33 +266,63 @@
                         <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixIndexes.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixIndexes</a>&nbsp;indexesIn,
                         boolean&nbsp;inCP)</code>&nbsp;</td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#allocateColGroupList-java.util.List-">allocateColGroupList</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>&gt;&nbsp;colGroups)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#allocateColGroup-org.apache.sysds.runtime.compress.colgroup.AColGroup-">allocateColGroup</a></span>(<a href="../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a>&nbsp;cg)</code>&nbsp;</td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#allocateColGroupList-java.util.List-">allocateColGroupList</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a>&gt;&nbsp;colGroups)</code>&nbsp;</td>
+</tr>
+<tr id="i8" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#append-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">append</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;that,
       <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret)</code>&nbsp;</td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#append-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-">append</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;that,
+      <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
+      boolean&nbsp;cbind)</code>&nbsp;</td>
+</tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#append-org.apache.sysds.runtime.matrix.data.MatrixValue-java.util.ArrayList-int-boolean-boolean-int-">append</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;v2,
+      <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/instructions/spark/data/IndexedMatrixValue.html" title="class in org.apache.sysds.runtime.instructions.spark.data">IndexedMatrixValue</a>&gt;&nbsp;outlist,
+      int&nbsp;blen,
+      boolean&nbsp;cbind,
+      boolean&nbsp;m2IsLast,
+      int&nbsp;nextNCol)</code>&nbsp;</td>
+</tr>
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#baseSizeInMemory--">baseSizeInMemory</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i12" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#binaryOperations-org.apache.sysds.runtime.matrix.operators.BinaryOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-">binaryOperations</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
                 <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;thatValue,
                 <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result)</code>&nbsp;</td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i13" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#binaryOperationsInPlace-org.apache.sysds.runtime.matrix.operators.BinaryOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-">binaryOperationsInPlace</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
+                       <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;thatValue)</code>&nbsp;</td>
+</tr>
+<tr id="i14" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#binaryOperationsLeft-org.apache.sysds.runtime.matrix.operators.BinaryOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-">binaryOperationsLeft</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
+                    <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;thatValue,
+                    <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result)</code>&nbsp;</td>
+</tr>
+<tr id="i15" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#chainMatrixMultOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.lops.MapMultChain.ChainType-">chainMatrixMultOperations</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;v,
                          <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;w,
                          <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
                          <a href="../../../../../org/apache/sysds/lops/MapMultChain.ChainType.html" title="enum in org.apache.sysds.lops">MapMultChain.ChainType</a>&nbsp;ctype)</code>&nbsp;</td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i16" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#chainMatrixMultOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.lops.MapMultChain.ChainType-int-">chainMatrixMultOperations</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;v,
                          <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;w,
@@ -269,144 +330,511 @@
                          <a href="../../../../../org/apache/sysds/lops/MapMultChain.ChainType.html" title="enum in org.apache.sysds.lops">MapMultChain.ChainType</a>&nbsp;ctype,
                          int&nbsp;k)</code>&nbsp;</td>
 </tr>
-<tr id="i9" class="rowColor">
-<td class="colFirst"><code>int[]</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#countNonZerosPerRow-int-int-">countNonZerosPerRow</a></span>(int&nbsp;rl,
-                   int&nbsp;ru)</code>&nbsp;</td>
+<tr id="i17" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/instructions/cp/CM_COV_Object.html" title="class in org.apache.sysds.runtime.instructions.cp">CM_COV_Object</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#cmOperations-org.apache.sysds.runtime.matrix.operators.CMOperator-">cmOperations</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/operators/CMOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">CMOperator</a>&nbsp;op)</code>&nbsp;</td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i18" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/instructions/cp/CM_COV_Object.html" title="class in org.apache.sysds.runtime.instructions.cp">CM_COV_Object</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#cmOperations-org.apache.sysds.runtime.matrix.operators.CMOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-">cmOperations</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/operators/CMOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">CMOperator</a>&nbsp;op,
+            <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;weights)</code>&nbsp;</td>
+</tr>
+<tr id="i19" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#containsValue-double-">containsValue</a></span>(double&nbsp;pattern)</code>&nbsp;</td>
+</tr>
+<tr id="i20" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#copy-org.apache.sysds.runtime.matrix.data.MatrixValue-">copy</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;thatValue)</code>
+<div class="block">Copy this MatrixValue into that MatrixValue.</div>
+</td>
+</tr>
+<tr id="i21" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#copy-org.apache.sysds.runtime.matrix.data.MatrixValue-boolean-">copy</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;thatValue,
+    boolean&nbsp;sp)</code>
+<div class="block">Copy this MatrixValue into that MatrixValue.</div>
+</td>
+</tr>
+<tr id="i22" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/instructions/cp/CM_COV_Object.html" title="class in org.apache.sysds.runtime.instructions.cp">CM_COV_Object</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#covOperations-org.apache.sysds.runtime.matrix.operators.COVOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-">covOperations</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/operators/COVOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">COVOperator</a>&nbsp;op,
+             <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;that)</code>&nbsp;</td>
+</tr>
+<tr id="i23" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/instructions/cp/CM_COV_Object.html" title="class in org.apache.sysds.runtime.instructions.cp">CM_COV_Object</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#covOperations-org.apache.sysds.runtime.matrix.operators.COVOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">covOperations</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/operators/COVOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">COVOperator</a>&nbsp;op,
+             <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;that,
+             <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;weights)</code>&nbsp;</td>
+</tr>
+<tr id="i24" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-double-double-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ctableOperations</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
+                double&nbsp;scalar,
+                double&nbsp;scalar2,
+                <a href="../../../../../org/apache/sysds/runtime/matrix/data/CTableMap.html" title="class in org.apache.sysds.runtime.matrix.data">CTableMap</a>&nbsp;resultMap,
+                <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;resultBlock)</code>
+<div class="block">D = ctable(A,v2,w)
+  this &lt;- A; scalar_that &lt;- v2; scalar_that2 &lt;- w; result &lt;- D
+  
+ (i1,j1,v1) from input1 (this)
+ (v2) from sclar_input2 (scalarThat)
+ (w)  from scalar_input3 (scalarThat2)</div>
+</td>
+</tr>
+<tr id="i25" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-double-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ctableOperations</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
+                double&nbsp;scalar,
+                <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;that,
+                <a href="../../../../../org/apache/sysds/runtime/matrix/data/CTableMap.html" title="class in org.apache.sysds.runtime.matrix.data">CTableMap</a>&nbsp;resultMap,
+                <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;resultBlock)</code>
+<div class="block">D = ctable(A,v2,W)
+  this &lt;- A; scalarThat &lt;- v2; that2 &lt;- W; result &lt;- D
+  
+ (i1,j1,v1) from input1 (this)
+ (v2) from sclar_input2 (scalarThat)
+ (i3,j3,w)  from input3 (that2)</div>
+</td>
+</tr>
+<tr id="i26" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.runtime.matrix.data.MatrixIndexes-double-boolean-int-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ctableOperations</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
+                <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixIndexes.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixIndexes</a>&nbsp;ix1,
+                double&nbsp;scalar,
+                boolean&nbsp;left,
+                int&nbsp;brlen,
+                <a href="../../../../../org/apache/sysds/runtime/matrix/data/CTableMap.html" title="class in org.apache.sysds.runtime.matrix.data">CTableMap</a>&nbsp;resultMap,
+                <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;resultBlock)</code>
+<div class="block">Specific ctable case of ctable(seq(...),X), where X is the only
+ matrix input.</div>
+</td>
+</tr>
+<tr id="i27" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.runtime.matrix.data.MatrixValue-double-boolean-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ctableOperations</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
+                <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;that,
+                double&nbsp;scalar,
+                boolean&nbsp;ignoreZeros,
+                <a href="../../../../../org/apache/sysds/runtime/matrix/data/CTableMap.html" title="class in org.apache.sysds.runtime.matrix.data">CTableMap</a>&nbsp;resultMap,
+                <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;resultBlock)</code>
+<div class="block">D = ctable(A,B,w)
+  this &lt;- A; that &lt;- B; scalar_that2 &lt;- w; result &lt;- D
+  
+ (i1,j1,v1) from input1 (this)
+ (i1,j1,v2) from input2 (that)
+ (w)  from scalar_input3 (scalarThat2)
+ 
+ NOTE: This method supports both vectors and matrices.</div>
+</td>
+</tr>
+<tr id="i28" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.CTableMap-">ctableOperations</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
+                <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;that,
+                <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;that2,
+                <a href="../../../../../org/apache/sysds/runtime/matrix/data/CTableMap.html" title="class in org.apache.sysds.runtime.matrix.data">CTableMap</a>&nbsp;resultMap)</code>
+<div class="block">D = ctable(A,B,W)
+  this &lt;- A; that &lt;- B; that2 &lt;- W; result &lt;- D
+  
+ (i1,j1,v1) from input1 (this)
+ (i1,j1,v2) from input2 (that)
+ (i1,j1,w)  from input3 (that2)</div>
+</td>
+</tr>
+<tr id="i29" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ctableOperations</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
+                <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;that,
+                <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;that2,
+                <a href="../../../../../org/apache/sysds/runtime/matrix/data/CTableMap.html" title="class in org.apache.sysds.runtime.matrix.data">CTableMap</a>&nbsp;resultMap,
+                <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;resultBlock)</code>&nbsp;</td>
+</tr>
+<tr id="i30" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#ctableSeqOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-double-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ctableSeqOperations</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;that,
+                   double&nbsp;scalar,
+                   <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;resultBlock)</code>
+<div class="block">D = ctable(seq,A,w)
+  this &lt;- seq; thatMatrix &lt;- A; thatScalar &lt;- w; result &lt;- D
+
+ (i1,j1,v1) from input1 (this)
+ (i1,j1,v2) from input2 (that)
+ (w)  from scalar_input3 (scalarThat2)</div>
+</td>
+</tr>
+<tr id="i31" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#decompress--">decompress</a></span>()</code>
 <div class="block">Decompress block.</div>
 </td>
 </tr>
-<tr id="i11" class="rowColor">
+<tr id="i32" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#decompress-int-">decompress</a></span>(int&nbsp;k)</code>
 <div class="block">Decompress block.</div>
 </td>
 </tr>
-<tr id="i12" class="altColor">
+<tr id="i33" class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#estimateCompressedSizeInMemory--">estimateCompressedSizeInMemory</a></span>()</code>
 <div class="block">Obtain an upper bound on the memory used to store the compressed block.</div>
 </td>
 </tr>
-<tr id="i13" class="rowColor">
-<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>&gt;</code></td>
+<tr id="i34" class="altColor">
+<td class="colFirst"><code>static long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#estimateOriginalSizeInMemory-int-int-double-">estimateOriginalSizeInMemory</a></span>(int&nbsp;nrows,
+                            int&nbsp;ncols,
+                            double&nbsp;sparsity)</code>&nbsp;</td>
+</tr>
+<tr id="i35" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#getColGroups--">getColGroups</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i14" class="altColor">
-<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;double[]&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#getDenseRowIterator-int-int-">getDenseRowIterator</a></span>(int&nbsp;rl,
-                   int&nbsp;ru)</code>&nbsp;</td>
-</tr>
-<tr id="i15" class="rowColor">
+<tr id="i36" class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#getExactSizeOnDisk--">getExactSizeOnDisk</a></span>()</code>
 <div class="block">NOTE: The used estimates must be kept consistent with the respective write functions.</div>
 </td>
 </tr>
-<tr id="i16" class="altColor">
-<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="../../../../../org/apache/sysds/runtime/matrix/data/IJV.html" title="class in org.apache.sysds.runtime.matrix.data">IJV</a>&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#getIterator-int-int-boolean-">getIterator</a></span>(int&nbsp;rl,
-           int&nbsp;ru,
-           boolean&nbsp;inclZeros)</code>&nbsp;</td>
-</tr>
-<tr id="i17" class="rowColor">
-<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="../../../../../org/apache/sysds/runtime/matrix/data/IJV.html" title="class in org.apache.sysds.runtime.matrix.data">IJV</a>&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#getIterator-int-int-int-int-boolean-">getIterator</a></span>(int&nbsp;rl,
-           int&nbsp;ru,
-           int&nbsp;cgl,
-           int&nbsp;cgu,
-           boolean&nbsp;inclZeros)</code>&nbsp;</td>
-</tr>
-<tr id="i18" class="altColor">
+<tr id="i37" class="rowColor">
 <td class="colFirst"><code>org.apache.commons.lang3.tuple.Pair&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,int[]&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#getMaxNumValues--">getMaxNumValues</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i19" class="rowColor">
-<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="../../../../../org/apache/sysds/runtime/data/SparseRow.html" title="class in org.apache.sysds.runtime.data">SparseRow</a>&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#getSparseRowIterator-int-int-">getSparseRowIterator</a></span>(int&nbsp;rl,
-                    int&nbsp;ru)</code>&nbsp;</td>
+<tr id="i38" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#getUncompressed--">getUncompressed</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i20" class="altColor">
+<tr id="i39" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#getUncompressed-org.apache.sysds.runtime.matrix.data.MatrixValue-">getUncompressed</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;mVal)</code>&nbsp;</td>
+</tr>
+<tr id="i40" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupUncompressed</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#getUncompressedColGroup--">getUncompressedColGroup</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i41" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#groupedAggOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-int-org.apache.sysds.runtime.matrix.operators.Operator-">groupedAggOperations</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;tgt,
+                    <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;wghts,
+                    <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;ret,
+                    int&nbsp;ngroups,
+                    <a href="../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op)</code>
+<div class="block">Invocation from CP instructions.</div>
+</td>
+</tr>
+<tr id="i42" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#groupedAggOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-int-org.apache.sysds.runtime.matrix.operators.Operator-int-">groupedAggOperations</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;tgt,
+                    <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;wghts,
+                    <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;ret,
+                    int&nbsp;ngroups,
+                    <a href="../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
+                    int&nbsp;k)</code>&nbsp;</td>
+</tr>
+<tr id="i43" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#incrementalAggregate-org.apache.sysds.runtime.matrix.operators.AggregateOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-">incrementalAggregate</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/operators/AggregateOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateOperator</a>&nbsp;aggOp,
+                    <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;newWithCorrection)</code>&nbsp;</td>
+</tr>
+<tr id="i44" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#incrementalAggregate-org.apache.sysds.runtime.matrix.operators.AggregateOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-boolean-">incrementalAggregate</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/operators/AggregateOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateOperator</a>&nbsp;aggOp,
+                    <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;correction,
+                    <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;newWithCorrection,
+                    boolean&nbsp;deep)</code>&nbsp;</td>
+</tr>
+<tr id="i45" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#hasUncompressedColGroup--">hasUncompressedColGroup</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#isEmptyBlock-boolean-">isEmptyBlock</a></span>(boolean&nbsp;safe)</code>&nbsp;</td>
 </tr>
-<tr id="i21" class="rowColor">
+<tr id="i46" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#isOverlapping--">isOverlapping</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i22" class="altColor">
+<tr id="i47" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#isShallowSerialize--">isShallowSerialize</a></span>()</code>
+<div class="block">Indicates if the cache block is subject to shallow serialized,
+ which is generally true if in-memory size and serialized size
+ are almost identical allowing to avoid unnecessary deep serialize.</div>
+</td>
+</tr>
+<tr id="i48" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#isShallowSerialize-boolean-">isShallowSerialize</a></span>(boolean&nbsp;inclConvert)</code>
+<div class="block">Indicates if the cache block is subject to shallow serialized,
+ which is generally true if in-memory size and serialized size
+ are almost identical allowing to avoid unnecessary deep serialize.</div>
+</td>
+</tr>
+<tr id="i49" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#isSingleUncompressedGroup--">isSingleUncompressedGroup</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i23" class="rowColor">
+<tr id="i50" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#leftIndexingOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-int-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType-">leftIndexingOperations</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;rhsMatrix,
+                      int&nbsp;rl,
+                      int&nbsp;ru,
+                      int&nbsp;cl,
+                      int&nbsp;cu,
+                      <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
+                      <a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.UpdateType.html" title="enum in org.apache.sysds.runtime.controlprogram.caching">MatrixObject.UpdateType</a>&nbsp;update)</code>&nbsp;</td>
+</tr>
+<tr id="i51" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#leftIndexingOperations-org.apache.sysds.runtime.instructions.cp.ScalarObject-int-int-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType-">leftIndexingOperations</a></span>(<a href="../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&nbsp;scalar,
+                      int&nbsp;rl,
+                      int&nbsp;cl,
+                      <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
+                      <a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.UpdateType.html" title="enum in org.apache.sysds.runtime.controlprogram.caching">MatrixObject.UpdateType</a>&nbsp;update)</code>
+<div class="block">Explicitly allow left indexing for scalars.</div>
+</td>
+</tr>
+<tr id="i52" class="altColor">
+<td class="colFirst"><code>double</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#max--">max</a></span>()</code>
+<div class="block">Wrapper method for reduceall-max of a matrix.</div>
+</td>
+</tr>
+<tr id="i53" class="rowColor">
+<td class="colFirst"><code>double</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#min--">min</a></span>()</code>
+<div class="block">Wrapper method for reduceall-min of a matrix.</div>
+</td>
+</tr>
+<tr id="i54" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#permutationMatrixMultOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-">permutationMatrixMultOperations</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;m2Val,
+                               <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;out1Val,
+                               <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;out2Val)</code>&nbsp;</td>
+</tr>
+<tr id="i55" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#permutationMatrixMultOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-int-">permutationMatrixMultOperations</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;m2Val,
+                               <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;out1Val,
+                               <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;out2Val,
+                               int&nbsp;k)</code>&nbsp;</td>
+</tr>
+<tr id="i56" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#quaternaryOperations-org.apache.sysds.runtime.matrix.operators.QuaternaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">quaternaryOperations</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/operators/QuaternaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">QuaternaryOperator</a>&nbsp;qop,
+                    <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;um,
+                    <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;vm,
+                    <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;wm,
+                    <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</code>&nbsp;</td>
+</tr>
+<tr id="i57" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#quaternaryOperations-org.apache.sysds.runtime.matrix.operators.QuaternaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">quaternaryOperations</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/operators/QuaternaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">QuaternaryOperator</a>&nbsp;qop,
+                    <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;um,
+                    <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;vm,
+                    <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;wm,
+                    <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
+                    int&nbsp;k)</code>&nbsp;</td>
+</tr>
+<tr id="i58" class="altColor">
 <td class="colFirst"><code>double</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#quickGetValue-int-int-">quickGetValue</a></span>(int&nbsp;r,
              int&nbsp;c)</code>&nbsp;</td>
 </tr>
-<tr id="i24" class="altColor">
+<tr id="i59" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#randOperationsInPlace-org.apache.sysds.runtime.matrix.data.RandomMatrixGenerator-org.apache.commons.math3.random.Well1024a-long-">randOperationsInPlace</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/data/RandomMatrixGenerator.html" title="class in org.apache.sysds.runtime.matrix.data">RandomMatrixGenerator</a>&nbsp;rgen,
+                     org.apache.commons.math3.random.Well1024a&nbsp;bigrand,
+                     long&nbsp;bSeed)</code>
+<div class="block">Function to generate a matrix of random numbers.</div>
+</td>
+</tr>
+<tr id="i60" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#randOperationsInPlace-org.apache.sysds.runtime.matrix.data.RandomMatrixGenerator-org.apache.commons.math3.random.Well1024a-long-int-">randOperationsInPlace</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/data/RandomMatrixGenerator.html" title="class in org.apache.sysds.runtime.matrix.data">RandomMatrixGenerator</a>&nbsp;rgen,
+                     org.apache.commons.math3.random.Well1024a&nbsp;bigrand,
+                     long&nbsp;bSeed,
+                     int&nbsp;k)</code>
+<div class="block">Function to generate a matrix of random numbers.</div>
+</td>
+</tr>
+<tr id="i61" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#readExternal-java.io.ObjectInput-">readExternal</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectInput.html?is-external=true" title="class or interface in java.io">ObjectInput</a>&nbsp;is)</code>
 <div class="block">Redirects the default java serialization via externalizable to our default hadoop writable serialization for
  efficient broadcast/rdd de-serialization.</div>
 </td>
 </tr>
-<tr id="i25" class="rowColor">
+<tr id="i62" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#readFields-java.io.DataInput-">readFields</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a>&nbsp;in)</code>&nbsp;</td>
 </tr>
-<tr id="i26" class="altColor">
+<tr id="i63" class="rowColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#recomputeNonZeros--">recomputeNonZeros</a></span>()</code>
+<div class="block">Recomputes and materializes the number of non-zero values
+ of the entire matrix block.</div>
+</td>
+</tr>
+<tr id="i64" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#removeEmptyOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-boolean-">removeEmptyOperations</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
+                     boolean&nbsp;rows,
+                     boolean&nbsp;emptyReturn)</code>&nbsp;</td>
+</tr>
+<tr id="i65" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#removeEmptyOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-boolean-org.apache.sysds.runtime.matrix.data.MatrixBlock-">removeEmptyOperations</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
+                     boolean&nbsp;rows,
+                     boolean&nbsp;emptyReturn,
+                     <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;select)</code>&nbsp;</td>
+</tr>
+<tr id="i66" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#reorgOperations-org.apache.sysds.runtime.matrix.operators.ReorgOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-int-int-int-">reorgOperations</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/operators/ReorgOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ReorgOperator</a>&nbsp;op,
+               <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;ret,
+               int&nbsp;startRow,
+               int&nbsp;startColumn,
+               int&nbsp;length)</code>&nbsp;</td>
+</tr>
+<tr id="i67" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#replaceOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-double-double-">replaceOperations</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result,
+                 double&nbsp;pattern,
+                 double&nbsp;replacement)</code>&nbsp;</td>
+</tr>
+<tr id="i68" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#rexpandOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-double-boolean-boolean-boolean-int-">rexpandOperations</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
+                 double&nbsp;max,
+                 boolean&nbsp;rows,
+                 boolean&nbsp;cast,
+                 boolean&nbsp;ignore,
+                 int&nbsp;k)</code>&nbsp;</td>
+</tr>
+<tr id="i69" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#scalarOperations-org.apache.sysds.runtime.matrix.operators.ScalarOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-">scalarOperations</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;sop,
                 <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result)</code>&nbsp;</td>
 </tr>
-<tr id="i27" class="rowColor">
+<tr id="i70" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#seqOperationsInPlace-double-double-double-">seqOperationsInPlace</a></span>(double&nbsp;from,
+                    double&nbsp;to,
+                    double&nbsp;incr)</code>&nbsp;</td>
+</tr>
+<tr id="i71" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#setOverlapping-boolean-">setOverlapping</a></span>(boolean&nbsp;overlapping)</code>&nbsp;</td>
 </tr>
-<tr id="i28" class="altColor">
+<tr id="i72" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#slice-java.util.ArrayList-org.apache.sysds.runtime.util.IndexRange-int-int-int-int-int-">slice</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/instructions/spark/data/IndexedMatrixValue.html" title="class in org.apache.sysds.runtime.instructions.spark.data">IndexedMatrixValue</a>&gt;&nbsp;outlist,
+     <a href="../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;range,
+     int&nbsp;rowCut,
+     int&nbsp;colCut,
+     int&nbsp;blen,
+     int&nbsp;boundaryRlen,
+     int&nbsp;boundaryClen)</code>
+<div class="block">Slice out up to 4 matrixBlocks that are separated by the row and col Cuts.</div>
+</td>
+</tr>
+<tr id="i73" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#slice-int-int-int-int-boolean-org.apache.sysds.runtime.controlprogram.caching.CacheBlock-">slice</a></span>(int&nbsp;rl,
+     int&nbsp;ru,
+     int&nbsp;cl,
+     int&nbsp;cu,
+     boolean&nbsp;deep,
+     <a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html" title="interface in org.apache.sysds.runtime.controlprogram.caching">CacheBlock</a>&nbsp;ret)</code>
+<div class="block">Method to perform rightIndex operation for a given lower and upper bounds in row and column dimensions.</div>
+</td>
+</tr>
+<tr id="i74" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#sortOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixBlock-">sortOperations</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;weights,
+              <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result)</code>&nbsp;</td>
+</tr>
+<tr id="i75" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#squash-int-">squash</a></span>(int&nbsp;k)</code>&nbsp;</td>
+</tr>
+<tr id="i76" class="altColor">
+<td class="colFirst"><code>double</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#sum--">sum</a></span>()</code>
+<div class="block">Wrapper method for reduceall-sum of a matrix.</div>
+</td>
+</tr>
+<tr id="i77" class="rowColor">
+<td class="colFirst"><code>double</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#sumSq--">sumSq</a></span>()</code>
+<div class="block">Wrapper method for reduceall-sumSq of a matrix.</div>
+</td>
+</tr>
+<tr id="i78" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#ternaryOperations-org.apache.sysds.runtime.matrix.operators.TernaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ternaryOperations</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/operators/TernaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">TernaryOperator</a>&nbsp;op,
+                 <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2,
+                 <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m3,
+                 <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret)</code>&nbsp;</td>
+</tr>
+<tr id="i79" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#toShallowSerializeBlock--">toShallowSerializeBlock</a></span>()</code>
+<div class="block">Converts a cache block that is not shallow serializable into
+ a form that is shallow serializable.</div>
+</td>
+</tr>
+<tr id="i80" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#toString--">toString</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i29" class="rowColor">
+<tr id="i81" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#transposeSelfMatrixMultOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.lops.MMTSJ.MMTSJType-">transposeSelfMatrixMultOperations</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
                                  <a href="../../../../../org/apache/sysds/lops/MMTSJ.MMTSJType.html" title="enum in org.apache.sysds.lops">MMTSJ.MMTSJType</a>&nbsp;tstype)</code>&nbsp;</td>
 </tr>
-<tr id="i30" class="altColor">
+<tr id="i82" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#transposeSelfMatrixMultOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.lops.MMTSJ.MMTSJType-int-">transposeSelfMatrixMultOperations</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
                                  <a href="../../../../../org/apache/sysds/lops/MMTSJ.MMTSJType.html" title="enum in org.apache.sysds.lops">MMTSJ.MMTSJType</a>&nbsp;tstype,
                                  int&nbsp;k)</code>&nbsp;</td>
 </tr>
-<tr id="i31" class="rowColor">
+<tr id="i83" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#uaggouterchainOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.BinaryOperator-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-">uaggouterchainOperations</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mbLeft,
+                        <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mbRight,
+                        <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mbOut,
+                        <a href="../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;bOp,
+                        <a href="../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;uaggOp)</code>&nbsp;</td>
+</tr>
+<tr id="i84" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#unaryOperations-org.apache.sysds.runtime.matrix.operators.UnaryOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-">unaryOperations</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/operators/UnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">UnaryOperator</a>&nbsp;op,
+               <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result)</code>&nbsp;</td>
+</tr>
+<tr id="i85" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#write-java.io.DataOutput-">write</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataOutput.html?is-external=true" title="class or interface in java.io">DataOutput</a>&nbsp;out)</code>&nbsp;</td>
 </tr>
-<tr id="i32" class="altColor">
+<tr id="i86" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#writeExternal-java.io.ObjectOutput-">writeExternal</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectOutput.html?is-external=true" title="class or interface in java.io">ObjectOutput</a>&nbsp;os)</code>
 <div class="block">Redirects the default java serialization via externalizable to our default hadoop writable serialization for
  efficient broadcast/rdd serialization.</div>
 </td>
 </tr>
+<tr id="i87" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#zeroOutOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.util.IndexRange-boolean-">zeroOutOperations</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result,
+                 <a href="../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;range,
+                 boolean&nbsp;complementary)</code>&nbsp;</td>
+</tr>
 </table>
 <ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.compress.AbstractCompressedMatrixBlock">
-<!--   -->
-</a>
-<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.compress.<a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">AbstractCompressedMatrixBlock</a></h3>
-<code><a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#aggregateBinaryOperations-org.apache.sysds.runtime.matrix.data.MatrixIndexes-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixIndexes-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.AggregateBinaryOperator-">aggregateBinaryOperations</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#aggregateTernaryOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.AggregateTernaryOperator-boolean-">aggregateTernaryOperations</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#append-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-">append</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#append-org.apache.sysds.runtime.matrix.data.MatrixValue-java.util.ArrayList-int-boolean-boolean-int-">append</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#binaryOperationsInPlace-org.apache.sysds.runtime.matrix.operators.BinaryOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-">binaryOperationsInPlace</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#cmOperations-org.apache.sysds.runtime.matrix.operators.CMOperator-">cmOperations</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#cmOperations-org.apache.sysds.runtime.matrix.operators.CMOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-">cmOperations</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#covOperations-org.apache.sysds.runtime.matrix.operators.COVOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-">covOperations</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#covOperations-org.apache.sysds.runtime.matrix.operators.COVOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">covOperations</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-double-double-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ctableOperations</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-double-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ctableOperations</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.runtime.matrix.data.MatrixIndexes-double-boolean-int-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ctableOperations</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.runtime.matrix.data.MatrixValue-double-boolean-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ctableOperations</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.CTableMap-">ctableOperations</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ctableOperations</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#ctableSeqOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-double-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ctableSeqOperations</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#estimateOriginalSizeInMemory-int-int-double-">estimateOriginalSizeInMemory</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#groupedAggOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-int-org.apache.sysds.runtime.matrix.operators.Operator-">groupedAggOperations</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#groupedAggOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-int-org.apache.sysds.runtime.matrix.operators.Operator-int-">groupedAggOperations</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#incrementalAggregate-org.apache.sysds.runtime.matrix.operators.AggregateOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-">incrementalAggregate</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#incrementalAggregate-org.apache.sysds.runtime.matrix.operators.AggregateOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-boolean-">incrementalAggregate</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#isEmptyBlock-boolean-">isEmptyBlock</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#isShallowSerialize--">isShallowSerialize</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#isShallowSerialize-boolean-">isShallowSerialize</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#leftIndexingOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-int-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType-">leftIndexingOperations</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#leftIndexingOperations-org.apache.sysds.runtime.instructions.cp.ScalarObject-int-int-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType-">leftIndexingOperations</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#permutationMatrixMultOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-">permutationMatrixMultOperations</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#permutationMatrixMultOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-int-">permutationMatrixMultOperations</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#quaternaryOperations-org.apache.sysds.runtime.matrix.operators.QuaternaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">quaternaryOperations</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#quaternaryOperations-org.apache.sysds.runtime.matrix.operators.QuaternaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">quaternaryOperations</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#randOperationsInPlace-org.apache.sysds.runtime.matrix.data.RandomMatrixGenerator-org.apache.commons.math3.random.Well1024a-long-">randOperationsInPlace</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#randOperationsInPlace-org.apache.sysds.runtime.matrix.data.RandomMatrixGenerator-org.apache.commons.math3.random.Well1024a-long-int-">randOperationsInPlace</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#removeEmptyOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-boolean-">removeEmptyOperations</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#removeEmptyOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-boolean-org.apache.sysds.runtime.matrix.data.MatrixBlock-">removeEmptyOperations</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#reorgOperations-org.apache.sysds.runtime.matrix.operators.ReorgOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-int-int-int-">reorgOperations</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#replaceOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-double-double-">replaceOperations</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#rexpandOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-double-boolean-boolean-boolean-int-">rexpandOperations</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#seqOperationsInPlace-double-double-double-">seqOperationsInPlace</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#slice-java.util.ArrayList-org.apache.sysds.runtime.util.IndexRange-int-int-int-int-int-">slice</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#slice-int-int-int-int-boolean-org.apache.sysds.runtime.controlprogram.caching.CacheBlock-">slice</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#sortOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixBlock-">sortOperations</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#ternaryOperations-org.apache.sysds.runtime.matrix.operators.TernaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ternaryOperations</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#toShallowSerializeBlock--">toShallowSerializeBlock</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#uaggouterchainOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.BinaryOperator-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-">uaggouterchainOperations</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#unaryOperations-org.apache.sysds.runtime.matrix.operators.UnaryOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-">unaryOperations</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#zeroOutOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.util.IndexRange-boolean-">zeroOutOperations</a></code></li>
-</ul>
-<ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.matrix.data.MatrixBlock">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.matrix.data.<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></h3>
-<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#allocateAndResetSparseBlock-boolean-org.apache.sysds.runtime.data.SparseBlock.Type-">allocateAndResetSparseBlock</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#allocateBlock--">allocateBlock</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#allocateBlockAsync--">allocateBlockAsync</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#allocateDenseBlock--">allocateDenseBlock</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#allocateDenseBlock-boolean-">allocateDenseBlock</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#allocateDenseBlockUnsafe-int-int-">allocateDenseBlockUnsafe</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#allocateSparseRowsBlock--">allocateSparseRowsBlock</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#allocateSparseRowsBlock-boolean-">allocateSparseRowsBlock</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#append-org.apache.sysds.runtime.matrix.data.MatrixBlock:A-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-">append</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#appendRow-int-org.apache.sysds.runtime.data.SparseRow-">appendRow</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#appendRow-int-org.apache.sysds.runtime.data.SparseRow-boolean-">appendRow</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#appendRowToSparse-org.apache.sysds.runtime.data.SparseBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-boolean-">appendRowToSparse</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#appendToSparse-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">appendToSparse</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#appendToSparse-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-boolean-">appendToSparse</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#appendValue-int-int-double-">appendValue</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#checkNaN--">checkNaN</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#checkNonZeros--">checkNonZeros</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#checkSparseRows--">checkSparseRows</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#checkSparseRows-int-int-">checkSparseRows</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#cleanupBlock-boolean-boolean-">cleanupBlock</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#compactEmptyBlock--">compactEmptyBlock</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#compareTo-java.lang.Object-">compareTo</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#computeIQMCorrection-double-double-double-double-double-double-">computeIQMCorrection</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#containsValue-double-">containsValue</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#copy-int-int-int-int-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-">copy</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#copy-org.apache.sysds.runtime.matrix.data.MatrixValue-">copy</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#copy-org.apache.sysds.runtime.matrix.data.MatrixValue-boolean-">copy</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#copyShallow-org.apache.sysds.runtime.matrix.data.MatrixBlock-">copyShallow</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#dropLastRowsOrColumns-org.apache.sysds.common.Types.CorrectionLocationType-">dropLastRowsOrColumns</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#equals-java.lang.Object-">equals</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#estimateSizeDenseInMemory-long-long-">estimateSizeDenseInMemory</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#estimateSizeInMemory--">estimateSizeInMemory</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#estimateSizeInMemory-long-long-double-">estimateSizeInMemory</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#estimateSizeOnDisk--">estimateSizeOnDisk</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#estimateSizeOnDisk-long-long-long-">estimateSizeOnDisk</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#estimateSizeSparseInMemory-long-long-double-">estimateSizeSparseInMemory</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#estimateSizeSparseInMemory-long-long-double-org.apache.sysds.runtime.data.SparseBlock.Type-">estimateSizeSparseInMemory</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#estimateSparsityOnAggBinary-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.AggregateBinaryOperator-">estimateSparsityOnAggBinary</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#evalSparseFormatInMemory--">evalSparseFormatInMemory</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#evalSparseFormatInMemory-org.apache.sysds.runtime.meta.DataCharacteristics-">evalSparseFormatInMemory</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#evalSparseFormatInMemory-long-long-long-">evalSparseFormatInMemory</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#evalSparseFormatOnDisk--">evalSparseFormatOnDisk</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#evalSparseFormatOnDisk-long-long-long-">evalSparseFormatOnDisk</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#examSparsity--">examSparsity</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#examSparsity-boolean-">examSparsity</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#extractTriangular-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-boolean-boolean-">extractTriangular</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getDataCharacteristics--">getDataCharacteristics</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getDenseBlock--">getDenseBlock</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getDenseBlockValues--">getDenseBlockValues</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getExactSerializedSize--">getExactSerializedSize</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getInMemorySize--">getInMemorySize</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getLength--">getLength</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getNonZeros--">getNonZeros</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getNumColumns--">getNumColumns</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getNumRows--">getNumRows</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getSparseBlock--">getSparseBlock</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getSparseBlockIterator--">getSparseBlockIterator</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getSparseBlockIterator-int-int-">getSparseBlockIterator</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getSparsity--">getSparsity</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getValue-int-int-">getValue</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getValueDenseUnsafe-int-int-">getValueDenseUnsafe</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#hashCode--">hashCode</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#init-double:A:A-int-int-">init</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#init-double:A-int-int-">init</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#interQuartileMean--">interQuartileMean</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#isAllocated--">isAllocated</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#isEmpty--">isEmpty</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#isEmptyBlock--">isEmptyBlock</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#isInSparseFormat--">isInSparseFormat</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#isSparsePermutationMatrix--">isSparsePermutationMatrix</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#isThreadSafe--">isThreadSafe</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#isThreadSafe-boolean-">isThreadSafe</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#isUltraSparse--">isUltraSparse</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#isUltraSparse-boolean-">isUltraSparse</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#isVector--">isVector</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#leftIndexingOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.util.IndexRange-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType-">leftIndexingOperations</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#max--">max</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#mean--">mean</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#median--">median</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#merge-org.apache.sysds.runtime.controlprogram.caching.CacheBlock-boolean-">merge</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#merge-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-">merge</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#merge-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-boolean-">merge</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#merge-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-boolean-boolean-">merge</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#min--">min</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#minNonZero--">minNonZero</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#naryOperations-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.runtime.matrix.data.MatrixBlock:A-org.apache.sysds.runtime.instructions.cp.ScalarObject:A-org.apache.sysds.runtime.matrix.data.MatrixBlock-">naryOperations</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#pickValue-double-">pickValue</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#pickValue-double-boolean-">pickValue</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#pickValues-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-">pickValues</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#prod--">prod</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#quickSetValue-int-int-double-">quickSetValue</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#randOperations-int-int-double-double-double-java.lang.String-long-">randOperations</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#randOperations-int-int-double-double-double-java.lang.String-long-int-">randOperations</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#randOperations-org.apache.sysds.runtime.matrix.data.RandomMatrixGenerator-long-">randOperations</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#randOperations-org.apache.sysds.runtime.matrix.data.RandomMatrixGenerator-long-int-">randOperations</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#recomputeNonZeros--">recomputeNonZeros</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#recomputeNonZeros-int-int-">recomputeNonZeros</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#recomputeNonZeros-int-int-int-int-">recomputeNonZeros</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#reset--">reset</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#reset-int-int-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#reset-int-int-boolean-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#reset-int-int-boolean-long-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#reset-int-int-double-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#reset-int-int-long-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#sampleOperations-long-int-boolean-long-">sampleOperations</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#seqOperations-double-double-double-">seqOperations</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#setNonZeros-long-">setNonZeros</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#setNumColumns-int-">setNumColumns</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#setNumRows-int-">setNumRows</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#setSparseBlock-org.apache.sysds.runtime.data.SparseBlock-">setSparseBlock</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#setValue-int-int-double-">setValue</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#slice-org.apache.sysds.runtime.util.IndexRange-org.apache.sysds.runtime.matrix.data.MatrixBlock-">slice</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#slice-int-int-">slice</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#slice-int-int-int-int-org.apache.sysds.runtime.controlprogram.caching.CacheBlock-">slice</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#sortSparseRows--">sortSparseRows</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#sortSparseRows-int-int-">sortSparseRows</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#sparseToDense--">sparseToDense</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#sum--">sum</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#sumSq--">sumSq</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#sumWeightForQuantile--">sumWeightForQuantile</a></code></li>
+<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#allocateAndResetSparseBlock-boolean-org.apache.sysds.runtime.data.SparseBlock.Type-">allocateAndResetSparseBlock</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#allocateBlock--">allocateBlock</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#allocateBlockAsync--">allocateBlockAsync</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#allocateDenseBlock--">allocateDenseBlock</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#allocateDenseBlock-boolean-">allocateDenseBlock</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#allocateDenseBlockUnsafe-int-int-">allocateDenseBlockUnsafe</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#allocateSparseRowsBlock--">allocateSparseRowsBlock</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#allocateSparseRowsBlock-boolean-">allocateSparseRowsBlock</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#append-org.apache.sysds.runtime.matrix.data.MatrixBlock:A-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-">append</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#appendRow-int-org.apache.sysds.runtime.data.SparseRow-">appendRow</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#appendRow-int-org.apache.sysds.runtime.data.SparseRow-boolean-">appendRow</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#appendRowToSparse-org.apache.sysds.runtime.data.SparseBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-boolean-">appendRowToSparse</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#appendToSparse-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">appendToSparse</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#appendToSparse-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-boolean-">appendToSparse</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#appendValue-int-int-double-">appendValue</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#appendValuePlain-int-int-double-">appendValuePlain</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#checkNaN--">checkNaN</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#checkNonZeros--">checkNonZeros</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#checkSparseRows--">checkSparseRows</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#checkSparseRows-int-int-">checkSparseRows</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#cleanupBlock-boolean-boolean-">cleanupBlock</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#compactEmptyBlock--">compactEmptyBlock</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#compareTo-java.lang.Object-">compareTo</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#computeIQMCorrection-double-double-double-double-double-double-">computeIQMCorrection</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#copy-int-int-int-int-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-">copy</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#copyShallow-org.apache.sysds.runtime.matrix.data.MatrixBlock-">copyShallow</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#ctableSeqOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-double-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-">ctableSeqOperations</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#dropLastRowsOrColumns-org.apache.sysds.common.Types.CorrectionLocationType-">dropLastRowsOrColumns</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#equals-java.lang.Object-">equals</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#estimateSizeDenseInMemory-long-long-">estimateSizeDenseInMemory</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#estimateSizeInMemory--">estimateSizeInMemory</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#estimateSizeInMemory-long-long-double-">estimateSizeInMemory</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#estimateSizeOnDisk--">estimateSizeOnDisk</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#estimateSizeOnDisk-long-long-long-">estimateSizeOnDisk</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#estimateSizeSparseInMemory-long-long-double-">estimateSizeSparseInMemory</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#estimateSizeSparseInMemory-long-long-double-org.apache.sysds.runtime.data.SparseBlock.Type-">estimateSizeSparseInMemory</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#estimateSparsityOnAggBinary-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.AggregateBinaryOperator-">estimateSparsityOnAggBinary</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#evalSparseFormatInMemory--">evalSparseFormatInMemory</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#evalSparseFormatInMemory-org.apache.sysds.runtime.meta.DataCharacteristics-">evalSparseFormatInMemory</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#evalSparseFormatInMemory-long-long-long-">evalSparseFormatInMemory</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#evalSparseFormatOnDisk--">evalSparseFormatOnDisk</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#evalSparseFormatOnDisk-long-long-long-">evalSparseFormatOnDisk</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#examSparsity--">examSparsity</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#examSparsity-boolean-">examSparsity</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#extractTriangular-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-boolean-boolean-">extractTriangular</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getDataCharacteristics--">getDataCharacteristics</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getDenseBlock--">getDenseBlock</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getDenseBlockValues--">getDenseBlockValues</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getExactSerializedSize--">getExactSerializedSize</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getHeaderSize--">getHeaderSize</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getInMemorySize--">getInMemorySize</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getLength--">getLength</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getNonZeros--">getNonZeros</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getNumColumns--">getNumColumns</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getNumRows--">getNumRows</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getSparseBlock--">getSparseBlock</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getSparseBlockIterator--">getSparseBlockIterator</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getSparseBlockIterator-int-int-">getSparseBlockIterator</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getSparsity--">getSparsity</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getValue-int-int-">getValue</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getValueDenseUnsafe-int-int-">getValueDenseUnsafe</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#hashCode--">hashCode</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#init-double:A:A-int-int-">init</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#init-double:A-int-int-">init</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#interQuartileMean--">interQuartileMean</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#isAllocated--">isAllocated</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#isEmpty--">isEmpty</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#isEmptyBlock--">isEmptyBlock</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#isInSparseFormat--">isInSparseFormat</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#isSparsePermutationMatrix--">isSparsePermutationMatrix</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#isThreadSafe--">isThreadSafe</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#isThreadSafe-boolean-">isThreadSafe</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#isUltraSparse--">isUltraSparse</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#isUltraSparse-boolean-">isUltraSparse</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#isVector--">isVector</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#leftIndexingOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.util.IndexRange-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType-">leftIndexingOperations</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#mean--">mean</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#median--">median</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#merge-org.apache.sysds.runtime.controlprogram.caching.CacheBlock-boolean-">merge</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#merge-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-">merge</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#merge-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-boolean-">merge</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#merge-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-boolean-boolean-">merge</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#minNonZero--">minNonZero</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#naryOperations-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.runtime.matrix.data.MatrixBlock:A-org.apache.sysds.runtime.instructions.cp.ScalarObject:A-org.apache.sysds.runtime.matrix.data.MatrixBlock-">naryOperations</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#pickValue-double-">pickValue</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#pickValue-double-boolean-">pickValue</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#pickValues-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-">pickValues</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#prod--">prod</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#quickSetValue-int-int-double-">quickSetValue</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#randOperations-int-int-double-double-double-java.lang.String-long-">randOperations</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#randOperations-int-int-double-double-double-java.lang.String-long-int-">randOperations</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#randOperations-org.apache.sysds.runtime.matrix.data.RandomMatrixGenerator-long-">randOperations</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#randOperations-org.apache.sysds.runtime.matrix.data.RandomMatrixGenerator-long-int-">randOperations</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#recomputeNonZeros-int-int-">recomputeNonZeros</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#recomputeNonZeros-int-int-int-int-">recomputeNonZeros</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#reset--">reset</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#reset-int-int-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#reset-int-int-boolean-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#reset-int-int-boolean-long-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#reset-int-int-double-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#reset-int-int-long-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#sampleOperations-long-int-boolean-long-">sampleOperations</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#seqOperations-double-double-double-">seqOperations</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#setDenseBlock-org.apache.sysds.runtime.data.DenseBlock-">setDenseBlock</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#setNonZeros-long-">setNonZeros</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#setNumColumns-int-">setNumColumns</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#setNumRows-int-">setNumRows</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#setSparseBlock-org.apache.sysds.runtime.data.SparseBlock-">setSparseBlock</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#setValue-int-int-double-">setValue</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#slice-org.apache.sysds.runtime.util.IndexRange-org.apache.sysds.runtime.matrix.data.MatrixBlock-">slice</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#slice-int-int-">slice</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#slice-int-int-int-int-">slice</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#slice-int-int-int-int-org.apache.sysds.runtime.controlprogram.caching.CacheBlock-">slice</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#sortSparseRows--">sortSparseRows</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#sortSparseRows-int-int-">sortSparseRows</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#sparseToDense--">sparseToDense</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#sumWeightForQuantile--">sumWeightForQuantile</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -444,7 +872,7 @@
 <a name="CompressedMatrixBlock-boolean-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>CompressedMatrixBlock</h4>
 <pre>public&nbsp;CompressedMatrixBlock(boolean&nbsp;overLapping)</pre>
@@ -455,6 +883,33 @@
 </dl>
 </li>
 </ul>
+<a name="CompressedMatrixBlock-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>CompressedMatrixBlock</h4>
+<pre>public&nbsp;CompressedMatrixBlock(int&nbsp;rl,
+                             int&nbsp;cl)</pre>
+<div class="block">Main constructor for building a block from scratch.
+ 
+ Use with caution, since it constructs an empty matrix block with nothing inside.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>rl</code> - number of rows in the block</dd>
+<dd><code>cl</code> - number of columns</dd>
+</dl>
+</li>
+</ul>
+<a name="CompressedMatrixBlock-org.apache.sysds.runtime.compress.CompressedMatrixBlock-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>CompressedMatrixBlock</h4>
+<pre>public&nbsp;CompressedMatrixBlock(<a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;that)</pre>
+</li>
+</ul>
 </li>
 </ul>
 <!-- ============ METHOD DETAIL ========== -->
@@ -472,13 +927,22 @@
 <pre>public&nbsp;boolean&nbsp;isSingleUncompressedGroup()</pre>
 </li>
 </ul>
+<a name="allocateColGroup-org.apache.sysds.runtime.compress.colgroup.AColGroup-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>allocateColGroup</h4>
+<pre>public&nbsp;void&nbsp;allocateColGroup(<a href="../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a>&nbsp;cg)</pre>
+</li>
+</ul>
 <a name="allocateColGroupList-java.util.List-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>allocateColGroupList</h4>
-<pre>public&nbsp;void&nbsp;allocateColGroupList(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>&gt;&nbsp;colGroups)</pre>
+<pre>public&nbsp;void&nbsp;allocateColGroupList(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a>&gt;&nbsp;colGroups)</pre>
 </li>
 </ul>
 <a name="getColGroups--">
@@ -487,7 +951,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getColGroups</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>&gt;&nbsp;getColGroups()</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a>&gt;&nbsp;getColGroups()</pre>
 </li>
 </ul>
 <a name="decompress--">
@@ -499,8 +963,6 @@
 <pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;decompress()</pre>
 <div class="block">Decompress block.</div>
 <dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#decompress--">decompress</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">AbstractCompressedMatrixBlock</a></code></dd>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>a new uncompressed matrix block containing the contents of this block</dd>
 </dl>
@@ -522,6 +984,33 @@
 </dl>
 </li>
 </ul>
+<a name="squash-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>squash</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;squash(int&nbsp;k)</pre>
+</li>
+</ul>
+<a name="recomputeNonZeros--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>recomputeNonZeros</h4>
+<pre>public&nbsp;long&nbsp;recomputeNonZeros()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#recomputeNonZeros--">MatrixBlock</a></code></span></div>
+<div class="block">Recomputes and materializes the number of non-zero values
+ of the entire matrix block.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#recomputeNonZeros--">recomputeNonZeros</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>number of non-zeros</dd>
+</dl>
+</li>
+</ul>
 <a name="estimateCompressedSizeInMemory--">
 <!--   -->
 </a>
@@ -656,60 +1145,6 @@
 </dl>
 </li>
 </ul>
-<a name="getIterator-int-int-boolean-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getIterator</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="../../../../../org/apache/sysds/runtime/matrix/data/IJV.html" title="class in org.apache.sysds.runtime.matrix.data">IJV</a>&gt;&nbsp;getIterator(int&nbsp;rl,
-                                 int&nbsp;ru,
-                                 boolean&nbsp;inclZeros)</pre>
-</li>
-</ul>
-<a name="getIterator-int-int-int-int-boolean-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getIterator</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="../../../../../org/apache/sysds/runtime/matrix/data/IJV.html" title="class in org.apache.sysds.runtime.matrix.data">IJV</a>&gt;&nbsp;getIterator(int&nbsp;rl,
-                                 int&nbsp;ru,
-                                 int&nbsp;cgl,
-                                 int&nbsp;cgu,
-                                 boolean&nbsp;inclZeros)</pre>
-</li>
-</ul>
-<a name="getDenseRowIterator-int-int-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getDenseRowIterator</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;double[]&gt;&nbsp;getDenseRowIterator(int&nbsp;rl,
-                                              int&nbsp;ru)</pre>
-</li>
-</ul>
-<a name="getSparseRowIterator-int-int-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getSparseRowIterator</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="../../../../../org/apache/sysds/runtime/data/SparseRow.html" title="class in org.apache.sysds.runtime.data">SparseRow</a>&gt;&nbsp;getSparseRowIterator(int&nbsp;rl,
-                                                int&nbsp;ru)</pre>
-</li>
-</ul>
-<a name="countNonZerosPerRow-int-int-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>countNonZerosPerRow</h4>
-<pre>public&nbsp;int[]&nbsp;countNonZerosPerRow(int&nbsp;rl,
-                                 int&nbsp;ru)</pre>
-</li>
-</ul>
 <a name="scalarOperations-org.apache.sysds.runtime.matrix.operators.ScalarOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-">
 <!--   -->
 </a>
@@ -739,6 +1174,17 @@
 </dl>
 </li>
 </ul>
+<a name="binaryOperationsLeft-org.apache.sysds.runtime.matrix.operators.BinaryOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>binaryOperationsLeft</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;binaryOperationsLeft(<a href="../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
+                                        <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;thatValue,
+                                        <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result)</pre>
+</li>
+</ul>
 <a name="append-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">
 <!--   -->
 </a>
@@ -753,6 +1199,39 @@
 </dl>
 </li>
 </ul>
+<a name="append-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>append</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;append(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;that,
+                          <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
+                          boolean&nbsp;cbind)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#append-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-">append</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="append-org.apache.sysds.runtime.matrix.data.MatrixValue-java.util.ArrayList-int-boolean-boolean-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>append</h4>
+<pre>public&nbsp;void&nbsp;append(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;v2,
+                   <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/instructions/spark/data/IndexedMatrixValue.html" title="class in org.apache.sysds.runtime.instructions.spark.data">IndexedMatrixValue</a>&gt;&nbsp;outlist,
+                   int&nbsp;blen,
+                   boolean&nbsp;cbind,
+                   boolean&nbsp;m2IsLast,
+                   int&nbsp;nextNCol)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#append-org.apache.sysds.runtime.matrix.data.MatrixValue-java.util.ArrayList-int-boolean-boolean-int-">append</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
+</dl>
+</li>
+</ul>
 <a name="chainMatrixMultOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.lops.MapMultChain.ChainType-">
 <!--   -->
 </a>
@@ -802,21 +1281,18 @@
 </dl>
 </li>
 </ul>
-<a name="aggregateUnaryOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-int-org.apache.sysds.runtime.matrix.data.MatrixIndexes-boolean-">
+<a name="aggregateBinaryOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.AggregateBinaryOperator-boolean-boolean-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>aggregateUnaryOperations</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;aggregateUnaryOperations(<a href="../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;op,
-                                            <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result,
-                                            int&nbsp;blen,
-                                            <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixIndexes.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixIndexes</a>&nbsp;indexesIn,
-                                            boolean&nbsp;inCP)</pre>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#aggregateUnaryOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-int-org.apache.sysds.runtime.matrix.data.MatrixIndexes-boolean-">aggregateUnaryOperations</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
-</dl>
+<h4>aggregateBinaryOperations</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;aggregateBinaryOperations(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m1,
+                                             <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2,
+                                             <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
+                                             <a href="../../../../../org/apache/sysds/runtime/matrix/operators/AggregateBinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateBinaryOperator</a>&nbsp;op,
+                                             boolean&nbsp;transposeLeft,
+                                             boolean&nbsp;transposeRight)</pre>
 </li>
 </ul>
 <a name="aggregateUnaryOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-int-org.apache.sysds.runtime.matrix.data.MatrixIndexes-">
@@ -835,6 +1311,23 @@
 </dl>
 </li>
 </ul>
+<a name="aggregateUnaryOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-int-org.apache.sysds.runtime.matrix.data.MatrixIndexes-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>aggregateUnaryOperations</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;aggregateUnaryOperations(<a href="../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;op,
+                                            <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result,
+                                            int&nbsp;blen,
+                                            <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixIndexes.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixIndexes</a>&nbsp;indexesIn,
+                                            boolean&nbsp;inCP)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#aggregateUnaryOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-int-org.apache.sysds.runtime.matrix.data.MatrixIndexes-boolean-">aggregateUnaryOperations</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
+</dl>
+</li>
+</ul>
 <a name="transposeSelfMatrixMultOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.lops.MMTSJ.MMTSJType-">
 <!--   -->
 </a>
@@ -864,13 +1357,45 @@
 </dl>
 </li>
 </ul>
-<a name="hasUncompressedColGroup--">
+<a name="replaceOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-double-double-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>hasUncompressedColGroup</h4>
-<pre>public&nbsp;boolean&nbsp;hasUncompressedColGroup()</pre>
+<h4>replaceOperations</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;replaceOperations(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result,
+                                     double&nbsp;pattern,
+                                     double&nbsp;replacement)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#replaceOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-double-double-">replaceOperations</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="reorgOperations-org.apache.sysds.runtime.matrix.operators.ReorgOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-int-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>reorgOperations</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;reorgOperations(<a href="../../../../../org/apache/sysds/runtime/matrix/operators/ReorgOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ReorgOperator</a>&nbsp;op,
+                                   <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;ret,
+                                   int&nbsp;startRow,
+                                   int&nbsp;startColumn,
+                                   int&nbsp;length)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#reorgOperations-org.apache.sysds.runtime.matrix.operators.ReorgOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-int-int-int-">reorgOperations</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getUncompressedColGroup--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getUncompressedColGroup</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupUncompressed</a>&nbsp;getUncompressedColGroup()</pre>
 </li>
 </ul>
 <a name="getMaxNumValues--">
@@ -907,12 +1432,991 @@
 <a name="setOverlapping-boolean-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>setOverlapping</h4>
 <pre>public&nbsp;void&nbsp;setOverlapping(boolean&nbsp;overlapping)</pre>
 </li>
 </ul>
+<a name="slice-int-int-int-int-boolean-org.apache.sysds.runtime.controlprogram.caching.CacheBlock-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>slice</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;slice(int&nbsp;rl,
+                         int&nbsp;ru,
+                         int&nbsp;cl,
+                         int&nbsp;cu,
+                         boolean&nbsp;deep,
+                         <a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html" title="interface in org.apache.sysds.runtime.controlprogram.caching">CacheBlock</a>&nbsp;ret)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#slice-int-int-int-int-boolean-org.apache.sysds.runtime.controlprogram.caching.CacheBlock-">MatrixBlock</a></code></span></div>
+<div class="block">Method to perform rightIndex operation for a given lower and upper bounds in row and column dimensions.
+ Extracted submatrix is returned as "result". Note: This operation is now 0-based.
+ 
+ This means that if you call with rl == ru then you get 1 row output.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#slice-int-int-int-int-boolean-org.apache.sysds.runtime.controlprogram.caching.CacheBlock-">slice</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>rl</code> - row lower if this value is bellow 0 or above the number of rows contained in the matrix an execption is thrown</dd>
+<dd><code>ru</code> - row upper if this value is bellow rl or above the number of rows contained in the matrix an exception is thrown</dd>
+<dd><code>cl</code> - column lower if this value us bellow 0 or above the number of columns contained in the matrix an exception is thrown</dd>
+<dd><code>cu</code> - column upper if this value us bellow cl or above the number of columns contained in the matrix an exception is thrown</dd>
+<dd><code>deep</code> - should perform deep copy, this is relelvant in cases where the matrix is in sparse format,
+            or the entire matrix is sliced out</dd>
+<dd><code>ret</code> - output sliced out matrix block</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>matrix block output matrix block</dd>
+</dl>
+</li>
+</ul>
+<a name="slice-java.util.ArrayList-org.apache.sysds.runtime.util.IndexRange-int-int-int-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>slice</h4>
+<pre>public&nbsp;void&nbsp;slice(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/instructions/spark/data/IndexedMatrixValue.html" title="class in org.apache.sysds.runtime.instructions.spark.data">IndexedMatrixValue</a>&gt;&nbsp;outlist,
+                  <a href="../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;range,
+                  int&nbsp;rowCut,
+                  int&nbsp;colCut,
+                  int&nbsp;blen,
+                  int&nbsp;boundaryRlen,
+                  int&nbsp;boundaryClen)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html#slice-java.util.ArrayList-org.apache.sysds.runtime.util.IndexRange-int-int-int-int-int-">MatrixValue</a></code></span></div>
+<div class="block">Slice out up to 4 matrixBlocks that are separated by the row and col Cuts.
+ 
+ This is used in the context of spark execution to distributed sliced out matrix blocks of correct block size.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#slice-java.util.ArrayList-org.apache.sysds.runtime.util.IndexRange-int-int-int-int-int-">slice</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>outlist</code> - The output matrix blocks that is extracted from the matrix</dd>
+<dd><code>range</code> - An index range containing overlapping information.</dd>
+<dd><code>rowCut</code> - The row to cut and split the matrix.</dd>
+<dd><code>colCut</code> - The column to cut ans split the matrix.</dd>
+<dd><code>blen</code> - The Block size of the output matrices.</dd>
+<dd><code>boundaryRlen</code> - The row length of the edge case matrix block, used for the final blocks
+                     that does not have enough rows to construct a full block.</dd>
+<dd><code>boundaryClen</code> - The col length of the edge case matrix block, used for the final blocks
+                     that does not have enough cols to construct a full block.</dd>
+</dl>
+</li>
+</ul>
+<a name="unaryOperations-org.apache.sysds.runtime.matrix.operators.UnaryOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>unaryOperations</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;unaryOperations(<a href="../../../../../org/apache/sysds/runtime/matrix/operators/UnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">UnaryOperator</a>&nbsp;op,
+                                   <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#unaryOperations-org.apache.sysds.runtime.matrix.operators.UnaryOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-">unaryOperations</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="containsValue-double-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>containsValue</h4>
+<pre>public&nbsp;boolean&nbsp;containsValue(double&nbsp;pattern)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#containsValue-double-">containsValue</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="max--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>max</h4>
+<pre>public&nbsp;double&nbsp;max()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#max--">MatrixBlock</a></code></span></div>
+<div class="block">Wrapper method for reduceall-max of a matrix.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#max--">max</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the maximum value of all values in the matrix</dd>
+</dl>
+</li>
+</ul>
+<a name="min--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>min</h4>
+<pre>public&nbsp;double&nbsp;min()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#min--">MatrixBlock</a></code></span></div>
+<div class="block">Wrapper method for reduceall-min of a matrix.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#min--">min</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the minimum value of all values in the matrix</dd>
+</dl>
+</li>
+</ul>
+<a name="sum--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>sum</h4>
+<pre>public&nbsp;double&nbsp;sum()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#sum--">MatrixBlock</a></code></span></div>
+<div class="block">Wrapper method for reduceall-sum of a matrix.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#sum--">sum</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Sum of the values in the matrix.</dd>
+</dl>
+</li>
+</ul>
+<a name="sumSq--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>sumSq</h4>
+<pre>public&nbsp;double&nbsp;sumSq()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#sumSq--">MatrixBlock</a></code></span></div>
+<div class="block">Wrapper method for reduceall-sumSq of a matrix.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#sumSq--">sumSq</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Sum of the squared values in the matrix.</dd>
+</dl>
+</li>
+</ul>
+<a name="rexpandOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-double-boolean-boolean-boolean-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>rexpandOperations</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;rexpandOperations(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
+                                     double&nbsp;max,
+                                     boolean&nbsp;rows,
+                                     boolean&nbsp;cast,
+                                     boolean&nbsp;ignore,
+                                     int&nbsp;k)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#rexpandOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-double-boolean-boolean-boolean-int-">rexpandOperations</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="isEmptyBlock-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isEmptyBlock</h4>
+<pre>public&nbsp;boolean&nbsp;isEmptyBlock(boolean&nbsp;safe)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#isEmptyBlock-boolean-">isEmptyBlock</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="estimateOriginalSizeInMemory-int-int-double-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>estimateOriginalSizeInMemory</h4>
+<pre>public static&nbsp;long&nbsp;estimateOriginalSizeInMemory(int&nbsp;nrows,
+                                                int&nbsp;ncols,
+                                                double&nbsp;sparsity)</pre>
+</li>
+</ul>
+<a name="binaryOperationsInPlace-org.apache.sysds.runtime.matrix.operators.BinaryOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>binaryOperationsInPlace</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;binaryOperationsInPlace(<a href="../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
+                                           <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;thatValue)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#binaryOperationsInPlace-org.apache.sysds.runtime.matrix.operators.BinaryOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-">binaryOperationsInPlace</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="incrementalAggregate-org.apache.sysds.runtime.matrix.operators.AggregateOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>incrementalAggregate</h4>
+<pre>public&nbsp;void&nbsp;incrementalAggregate(<a href="../../../../../org/apache/sysds/runtime/matrix/operators/AggregateOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateOperator</a>&nbsp;aggOp,
+                                 <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;correction,
+                                 <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;newWithCorrection,
+                                 boolean&nbsp;deep)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#incrementalAggregate-org.apache.sysds.runtime.matrix.operators.AggregateOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-boolean-">incrementalAggregate</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="incrementalAggregate-org.apache.sysds.runtime.matrix.operators.AggregateOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>incrementalAggregate</h4>
+<pre>public&nbsp;void&nbsp;incrementalAggregate(<a href="../../../../../org/apache/sysds/runtime/matrix/operators/AggregateOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateOperator</a>&nbsp;aggOp,
+                                 <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;newWithCorrection)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#incrementalAggregate-org.apache.sysds.runtime.matrix.operators.AggregateOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-">incrementalAggregate</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="permutationMatrixMultOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>permutationMatrixMultOperations</h4>
+<pre>public&nbsp;void&nbsp;permutationMatrixMultOperations(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;m2Val,
+                                            <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;out1Val,
+                                            <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;out2Val)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#permutationMatrixMultOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-">permutationMatrixMultOperations</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="permutationMatrixMultOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>permutationMatrixMultOperations</h4>
+<pre>public&nbsp;void&nbsp;permutationMatrixMultOperations(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;m2Val,
+                                            <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;out1Val,
+                                            <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;out2Val,
+                                            int&nbsp;k)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#permutationMatrixMultOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-int-">permutationMatrixMultOperations</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="leftIndexingOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-int-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>leftIndexingOperations</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;leftIndexingOperations(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;rhsMatrix,
+                                          int&nbsp;rl,
+                                          int&nbsp;ru,
+                                          int&nbsp;cl,
+                                          int&nbsp;cu,
+                                          <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
+                                          <a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.UpdateType.html" title="enum in org.apache.sysds.runtime.controlprogram.caching">MatrixObject.UpdateType</a>&nbsp;update)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#leftIndexingOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-int-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType-">leftIndexingOperations</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="leftIndexingOperations-org.apache.sysds.runtime.instructions.cp.ScalarObject-int-int-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>leftIndexingOperations</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;leftIndexingOperations(<a href="../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&nbsp;scalar,
+                                          int&nbsp;rl,
+                                          int&nbsp;cl,
+                                          <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
+                                          <a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.UpdateType.html" title="enum in org.apache.sysds.runtime.controlprogram.caching">MatrixObject.UpdateType</a>&nbsp;update)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#leftIndexingOperations-org.apache.sysds.runtime.instructions.cp.ScalarObject-int-int-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType-">MatrixBlock</a></code></span></div>
+<div class="block">Explicitly allow left indexing for scalars. Note: This operation is now 0-based.
+ 
+ * Operations to be performed: 
+   1) result=this; 
+   2) result[row,column] = scalar.getDoubleValue();</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#leftIndexingOperations-org.apache.sysds.runtime.instructions.cp.ScalarObject-int-int-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType-">leftIndexingOperations</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>scalar</code> - scalar object</dd>
+<dd><code>rl</code> - row lower</dd>
+<dd><code>cl</code> - column lower</dd>
+<dd><code>ret</code> - ?</dd>
+<dd><code>update</code> - ?</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>matrix block</dd>
+</dl>
+</li>
+</ul>
+<a name="zeroOutOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.util.IndexRange-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>zeroOutOperations</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;zeroOutOperations(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result,
+                                     <a href="../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;range,
+                                     boolean&nbsp;complementary)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#zeroOutOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.util.IndexRange-boolean-">zeroOutOperations</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="cmOperations-org.apache.sysds.runtime.matrix.operators.CMOperator-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>cmOperations</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/instructions/cp/CM_COV_Object.html" title="class in org.apache.sysds.runtime.instructions.cp">CM_COV_Object</a>&nbsp;cmOperations(<a href="../../../../../org/apache/sysds/runtime/matrix/operators/CMOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">CMOperator</a>&nbsp;op)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#cmOperations-org.apache.sysds.runtime.matrix.operators.CMOperator-">cmOperations</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="cmOperations-org.apache.sysds.runtime.matrix.operators.CMOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>cmOperations</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/instructions/cp/CM_COV_Object.html" title="class in org.apache.sysds.runtime.instructions.cp">CM_COV_Object</a>&nbsp;cmOperations(<a href="../../../../../org/apache/sysds/runtime/matrix/operators/CMOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">CMOperator</a>&nbsp;op,
+                                  <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;weights)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#cmOperations-org.apache.sysds.runtime.matrix.operators.CMOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-">cmOperations</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="covOperations-org.apache.sysds.runtime.matrix.operators.COVOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>covOperations</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/instructions/cp/CM_COV_Object.html" title="class in org.apache.sysds.runtime.instructions.cp">CM_COV_Object</a>&nbsp;covOperations(<a href="../../../../../org/apache/sysds/runtime/matrix/operators/COVOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">COVOperator</a>&nbsp;op,
+                                   <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;that)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#covOperations-org.apache.sysds.runtime.matrix.operators.COVOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-">covOperations</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="covOperations-org.apache.sysds.runtime.matrix.operators.COVOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>covOperations</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/instructions/cp/CM_COV_Object.html" title="class in org.apache.sysds.runtime.instructions.cp">CM_COV_Object</a>&nbsp;covOperations(<a href="../../../../../org/apache/sysds/runtime/matrix/operators/COVOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">COVOperator</a>&nbsp;op,
+                                   <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;that,
+                                   <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;weights)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#covOperations-org.apache.sysds.runtime.matrix.operators.COVOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">covOperations</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="sortOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixBlock-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>sortOperations</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;sortOperations(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;weights,
+                                  <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#sortOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixBlock-">sortOperations</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="aggregateBinaryOperations-org.apache.sysds.runtime.matrix.data.MatrixIndexes-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixIndexes-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.AggregateBinaryOperator-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>aggregateBinaryOperations</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;aggregateBinaryOperations(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixIndexes.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixIndexes</a>&nbsp;m1Index,
+                                             <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m1Value,
+                                             <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixIndexes.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixIndexes</a>&nbsp;m2Index,
+                                             <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2Value,
+                                             <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result,
+                                             <a href="../../../../../org/apache/sysds/runtime/matrix/operators/AggregateBinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateBinaryOperator</a>&nbsp;op)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#aggregateBinaryOperations-org.apache.sysds.runtime.matrix.data.MatrixIndexes-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixIndexes-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.AggregateBinaryOperator-">aggregateBinaryOperations</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="aggregateTernaryOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.AggregateTernaryOperator-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>aggregateTernaryOperations</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;aggregateTernaryOperations(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m1,
+                                              <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2,
+                                              <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m3,
+                                              <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
+                                              <a href="../../../../../org/apache/sysds/runtime/matrix/operators/AggregateTernaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateTernaryOperator</a>&nbsp;op,
+                                              boolean&nbsp;inCP)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#aggregateTernaryOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.AggregateTernaryOperator-boolean-">aggregateTernaryOperations</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="uaggouterchainOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.BinaryOperator-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>uaggouterchainOperations</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;uaggouterchainOperations(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mbLeft,
+                                            <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mbRight,
+                                            <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mbOut,
+                                            <a href="../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;bOp,
+                                            <a href="../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;uaggOp)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#uaggouterchainOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.BinaryOperator-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-">uaggouterchainOperations</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="groupedAggOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-int-org.apache.sysds.runtime.matrix.operators.Operator-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>groupedAggOperations</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;groupedAggOperations(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;tgt,
+                                        <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;wghts,
+                                        <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;ret,
+                                        int&nbsp;ngroups,
+                                        <a href="../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#groupedAggOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-int-org.apache.sysds.runtime.matrix.operators.Operator-">MatrixBlock</a></code></span></div>
+<div class="block">Invocation from CP instructions. The aggregate is computed on the groups object
+ against target and weights. 
+ 
+ Notes:
+ * The computed number of groups is reused for multiple invocations with different target.
+ * This implementation supports that the target is passed as column or row vector,
+   in case of row vectors we also use sparse-safe implementations for sparse safe
+   aggregation operators.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#groupedAggOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-int-org.apache.sysds.runtime.matrix.operators.Operator-">groupedAggOperations</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>tgt</code> - ?</dd>
+<dd><code>wghts</code> - ?</dd>
+<dd><code>ret</code> - ?</dd>
+<dd><code>ngroups</code> - ?</dd>
+<dd><code>op</code> - operator</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>matrix block</dd>
+</dl>
+</li>
+</ul>
+<a name="groupedAggOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-int-org.apache.sysds.runtime.matrix.operators.Operator-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>groupedAggOperations</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;groupedAggOperations(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;tgt,
+                                        <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;wghts,
+                                        <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;ret,
+                                        int&nbsp;ngroups,
+                                        <a href="../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
+                                        int&nbsp;k)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#groupedAggOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-int-org.apache.sysds.runtime.matrix.operators.Operator-int-">groupedAggOperations</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="removeEmptyOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-boolean-org.apache.sysds.runtime.matrix.data.MatrixBlock-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>removeEmptyOperations</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;removeEmptyOperations(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
+                                         boolean&nbsp;rows,
+                                         boolean&nbsp;emptyReturn,
+                                         <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;select)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#removeEmptyOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-boolean-org.apache.sysds.runtime.matrix.data.MatrixBlock-">removeEmptyOperations</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="removeEmptyOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>removeEmptyOperations</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;removeEmptyOperations(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
+                                         boolean&nbsp;rows,
+                                         boolean&nbsp;emptyReturn)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#removeEmptyOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-boolean-">removeEmptyOperations</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-double-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>ctableOperations</h4>
+<pre>public&nbsp;void&nbsp;ctableOperations(<a href="../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
+                             double&nbsp;scalar,
+                             <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;that,
+                             <a href="../../../../../org/apache/sysds/runtime/matrix/data/CTableMap.html" title="class in org.apache.sysds.runtime.matrix.data">CTableMap</a>&nbsp;resultMap,
+                             <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;resultBlock)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-double-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-">MatrixBlock</a></code></span></div>
+<div class="block">D = ctable(A,v2,W)
+  this &lt;- A; scalarThat &lt;- v2; that2 &lt;- W; result &lt;- D
+  
+ (i1,j1,v1) from input1 (this)
+ (v2) from sclar_input2 (scalarThat)
+ (i3,j3,w)  from input3 (that2)</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-double-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ctableOperations</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-double-double-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>ctableOperations</h4>
+<pre>public&nbsp;void&nbsp;ctableOperations(<a href="../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
+                             double&nbsp;scalar,
+                             double&nbsp;scalar2,
+                             <a href="../../../../../org/apache/sysds/runtime/matrix/data/CTableMap.html" title="class in org.apache.sysds.runtime.matrix.data">CTableMap</a>&nbsp;resultMap,
+                             <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;resultBlock)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-double-double-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-">MatrixBlock</a></code></span></div>
+<div class="block">D = ctable(A,v2,w)
+  this &lt;- A; scalar_that &lt;- v2; scalar_that2 &lt;- w; result &lt;- D
+  
+ (i1,j1,v1) from input1 (this)
+ (v2) from sclar_input2 (scalarThat)
+ (w)  from scalar_input3 (scalarThat2)</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-double-double-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ctableOperations</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.runtime.matrix.data.MatrixIndexes-double-boolean-int-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>ctableOperations</h4>
+<pre>public&nbsp;void&nbsp;ctableOperations(<a href="../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
+                             <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixIndexes.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixIndexes</a>&nbsp;ix1,
+                             double&nbsp;scalar,
+                             boolean&nbsp;left,
+                             int&nbsp;brlen,
+                             <a href="../../../../../org/apache/sysds/runtime/matrix/data/CTableMap.html" title="class in org.apache.sysds.runtime.matrix.data">CTableMap</a>&nbsp;resultMap,
+                             <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;resultBlock)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.runtime.matrix.data.MatrixIndexes-double-boolean-int-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-">MatrixBlock</a></code></span></div>
+<div class="block">Specific ctable case of ctable(seq(...),X), where X is the only
+ matrix input. The 'left' input parameter specifies if the seq appeared
+ on the left, otherwise it appeared on the right.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.runtime.matrix.data.MatrixIndexes-double-boolean-int-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ctableOperations</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.runtime.matrix.data.MatrixValue-double-boolean-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>ctableOperations</h4>
+<pre>public&nbsp;void&nbsp;ctableOperations(<a href="../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
+                             <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;that,
+                             double&nbsp;scalar,
+                             boolean&nbsp;ignoreZeros,
+                             <a href="../../../../../org/apache/sysds/runtime/matrix/data/CTableMap.html" title="class in org.apache.sysds.runtime.matrix.data">CTableMap</a>&nbsp;resultMap,
+                             <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;resultBlock)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.runtime.matrix.data.MatrixValue-double-boolean-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-">MatrixBlock</a></code></span></div>
+<div class="block">D = ctable(A,B,w)
+  this &lt;- A; that &lt;- B; scalar_that2 &lt;- w; result &lt;- D
+  
+ (i1,j1,v1) from input1 (this)
+ (i1,j1,v2) from input2 (that)
+ (w)  from scalar_input3 (scalarThat2)
+ 
+ NOTE: This method supports both vectors and matrices. In case of matrices and ignoreZeros=true
+ we can also use a sparse-safe implementation</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.runtime.matrix.data.MatrixValue-double-boolean-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ctableOperations</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="ctableSeqOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-double-org.apache.sysds.runtime.matrix.data.MatrixBlock-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>ctableSeqOperations</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ctableSeqOperations(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;that,
+                                       double&nbsp;scalar,
+                                       <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;resultBlock)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#ctableSeqOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-double-org.apache.sysds.runtime.matrix.data.MatrixBlock-">MatrixBlock</a></code></span></div>
+<div class="block">D = ctable(seq,A,w)
+  this &lt;- seq; thatMatrix &lt;- A; thatScalar &lt;- w; result &lt;- D
+
+ (i1,j1,v1) from input1 (this)
+ (i1,j1,v2) from input2 (that)
+ (w)  from scalar_input3 (scalarThat2)</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#ctableSeqOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-double-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ctableSeqOperations</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>that</code> - matrix value</dd>
+<dd><code>scalar</code> - scalar double</dd>
+<dd><code>resultBlock</code> - result matrix block</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>resultBlock</dd>
+</dl>
+</li>
+</ul>
+<a name="ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.CTableMap-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>ctableOperations</h4>
+<pre>public&nbsp;void&nbsp;ctableOperations(<a href="../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
+                             <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;that,
+                             <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;that2,
+                             <a href="../../../../../org/apache/sysds/runtime/matrix/data/CTableMap.html" title="class in org.apache.sysds.runtime.matrix.data">CTableMap</a>&nbsp;resultMap)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.CTableMap-">MatrixBlock</a></code></span></div>
+<div class="block">D = ctable(A,B,W)
+  this &lt;- A; that &lt;- B; that2 &lt;- W; result &lt;- D
+  
+ (i1,j1,v1) from input1 (this)
+ (i1,j1,v2) from input2 (that)
+ (i1,j1,w)  from input3 (that2)</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.CTableMap-">ctableOperations</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>op</code> - operator</dd>
+<dd><code>that</code> - matrix value 1</dd>
+<dd><code>that2</code> - matrix value 2</dd>
+<dd><code>resultMap</code> - table map</dd>
+</dl>
+</li>
+</ul>
+<a name="ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>ctableOperations</h4>
+<pre>public&nbsp;void&nbsp;ctableOperations(<a href="../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
+                             <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;that,
+                             <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;that2,
+                             <a href="../../../../../org/apache/sysds/runtime/matrix/data/CTableMap.html" title="class in org.apache.sysds.runtime.matrix.data">CTableMap</a>&nbsp;resultMap,
+                             <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;resultBlock)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ctableOperations</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="ternaryOperations-org.apache.sysds.runtime.matrix.operators.TernaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>ternaryOperations</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ternaryOperations(<a href="../../../../../org/apache/sysds/runtime/matrix/operators/TernaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">TernaryOperator</a>&nbsp;op,
+                                     <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2,
+                                     <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m3,
+                                     <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#ternaryOperations-org.apache.sysds.runtime.matrix.operators.TernaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ternaryOperations</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="quaternaryOperations-org.apache.sysds.runtime.matrix.operators.QuaternaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>quaternaryOperations</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;quaternaryOperations(<a href="../../../../../org/apache/sysds/runtime/matrix/operators/QuaternaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">QuaternaryOperator</a>&nbsp;qop,
+                                        <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;um,
+                                        <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;vm,
+                                        <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;wm,
+                                        <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#quaternaryOperations-org.apache.sysds.runtime.matrix.operators.QuaternaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">quaternaryOperations</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="quaternaryOperations-org.apache.sysds.runtime.matrix.operators.QuaternaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>quaternaryOperations</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;quaternaryOperations(<a href="../../../../../org/apache/sysds/runtime/matrix/operators/QuaternaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">QuaternaryOperator</a>&nbsp;qop,
+                                        <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;um,
+                                        <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;vm,
+                                        <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;wm,
+                                        <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
+                                        int&nbsp;k)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#quaternaryOperations-org.apache.sysds.runtime.matrix.operators.QuaternaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">quaternaryOperations</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="randOperationsInPlace-org.apache.sysds.runtime.matrix.data.RandomMatrixGenerator-org.apache.commons.math3.random.Well1024a-long-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>randOperationsInPlace</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;randOperationsInPlace(<a href="../../../../../org/apache/sysds/runtime/matrix/data/RandomMatrixGenerator.html" title="class in org.apache.sysds.runtime.matrix.data">RandomMatrixGenerator</a>&nbsp;rgen,
+                                         org.apache.commons.math3.random.Well1024a&nbsp;bigrand,
+                                         long&nbsp;bSeed)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#randOperationsInPlace-org.apache.sysds.runtime.matrix.data.RandomMatrixGenerator-org.apache.commons.math3.random.Well1024a-long-">MatrixBlock</a></code></span></div>
+<div class="block">Function to generate a matrix of random numbers. This is invoked both
+ from CP as well as from MR. In case of CP, it generates an entire matrix
+ block-by-block. A <code>bigrand</code> is passed so that block-level
+ seeds are generated internally. In case of MR, it generates a single
+ block for given block-level seed <code>bSeed</code>.
+ 
+ When pdf="uniform", cell values are drawn from uniform distribution in
+ range <code>[min,max]</code>.
+ 
+ When pdf="normal", cell values are drawn from standard normal
+ distribution N(0,1). The range of generated values will always be
+ (-Inf,+Inf).</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#randOperationsInPlace-org.apache.sysds.runtime.matrix.data.RandomMatrixGenerator-org.apache.commons.math3.random.Well1024a-long-">randOperationsInPlace</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>rgen</code> - random matrix generator</dd>
+<dd><code>bigrand</code> - ?</dd>
+<dd><code>bSeed</code> - seed value</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>matrix block</dd>
+</dl>
+</li>
+</ul>
+<a name="randOperationsInPlace-org.apache.sysds.runtime.matrix.data.RandomMatrixGenerator-org.apache.commons.math3.random.Well1024a-long-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>randOperationsInPlace</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;randOperationsInPlace(<a href="../../../../../org/apache/sysds/runtime/matrix/data/RandomMatrixGenerator.html" title="class in org.apache.sysds.runtime.matrix.data">RandomMatrixGenerator</a>&nbsp;rgen,
+                                         org.apache.commons.math3.random.Well1024a&nbsp;bigrand,
+                                         long&nbsp;bSeed,
+                                         int&nbsp;k)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#randOperationsInPlace-org.apache.sysds.runtime.matrix.data.RandomMatrixGenerator-org.apache.commons.math3.random.Well1024a-long-int-">MatrixBlock</a></code></span></div>
+<div class="block">Function to generate a matrix of random numbers. This is invoked both
+ from CP as well as from MR. In case of CP, it generates an entire matrix
+ block-by-block. A <code>bigrand</code> is passed so that block-level
+ seeds are generated internally. In case of MR, it generates a single
+ block for given block-level seed <code>bSeed</code>.
+ 
+ When pdf="uniform", cell values are drawn from uniform distribution in
+ range <code>[min,max]</code>.
+ 
+ When pdf="normal", cell values are drawn from standard normal
+ distribution N(0,1). The range of generated values will always be
+ (-Inf,+Inf).</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#randOperationsInPlace-org.apache.sysds.runtime.matrix.data.RandomMatrixGenerator-org.apache.commons.math3.random.Well1024a-long-int-">randOperationsInPlace</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>rgen</code> - random matrix generator</dd>
+<dd><code>bigrand</code> - ?</dd>
+<dd><code>bSeed</code> - seed value</dd>
+<dd><code>k</code> - ?</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>matrix block</dd>
+</dl>
+</li>
+</ul>
+<a name="seqOperationsInPlace-double-double-double-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>seqOperationsInPlace</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;seqOperationsInPlace(double&nbsp;from,
+                                        double&nbsp;to,
+                                        double&nbsp;incr)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#seqOperationsInPlace-double-double-double-">seqOperationsInPlace</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getUncompressed-org.apache.sysds.runtime.matrix.data.MatrixValue-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getUncompressed</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;getUncompressed(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;mVal)</pre>
+</li>
+</ul>
+<a name="getUncompressed--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getUncompressed</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;getUncompressed()</pre>
+</li>
+</ul>
+<a name="isShallowSerialize--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isShallowSerialize</h4>
+<pre>public&nbsp;boolean&nbsp;isShallowSerialize()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html#isShallowSerialize--">CacheBlock</a></code></span></div>
+<div class="block">Indicates if the cache block is subject to shallow serialized,
+ which is generally true if in-memory size and serialized size
+ are almost identical allowing to avoid unnecessary deep serialize.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html#isShallowSerialize--">isShallowSerialize</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html" title="interface in org.apache.sysds.runtime.controlprogram.caching">CacheBlock</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#isShallowSerialize--">isShallowSerialize</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if shallow serialized</dd>
+</dl>
+</li>
+</ul>
+<a name="isShallowSerialize-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isShallowSerialize</h4>
+<pre>public&nbsp;boolean&nbsp;isShallowSerialize(boolean&nbsp;inclConvert)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html#isShallowSerialize-boolean-">CacheBlock</a></code></span></div>
+<div class="block">Indicates if the cache block is subject to shallow serialized,
+ which is generally true if in-memory size and serialized size
+ are almost identical allowing to avoid unnecessary deep serialize.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html#isShallowSerialize-boolean-">isShallowSerialize</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html" title="interface in org.apache.sysds.runtime.controlprogram.caching">CacheBlock</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#isShallowSerialize-boolean-">isShallowSerialize</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>inclConvert</code> - if true report blocks as shallow serialize that are
+ currently not amenable but can be brought into an amenable form
+ via <a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html#toShallowSerializeBlock--"><code>toShallowSerializeBlock</code></a>.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if shallow serialized</dd>
+</dl>
+</li>
+</ul>
+<a name="toShallowSerializeBlock--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>toShallowSerializeBlock</h4>
+<pre>public&nbsp;void&nbsp;toShallowSerializeBlock()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html#toShallowSerializeBlock--">CacheBlock</a></code></span></div>
+<div class="block">Converts a cache block that is not shallow serializable into
+ a form that is shallow serializable. This methods has no affect
+ if the given cache block is not amenable.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html#toShallowSerializeBlock--">toShallowSerializeBlock</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html" title="interface in org.apache.sysds.runtime.controlprogram.caching">CacheBlock</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#toShallowSerializeBlock--">toShallowSerializeBlock</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="copy-org.apache.sysds.runtime.matrix.data.MatrixValue-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>copy</h4>
+<pre>public&nbsp;void&nbsp;copy(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;thatValue)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html#copy-org.apache.sysds.runtime.matrix.data.MatrixValue-">MatrixValue</a></code></span></div>
+<div class="block">Copy this MatrixValue into that MatrixValue.
+ 
+ If the MatrixValue is a MatrixBlock evaluate the sparsity of the original matrix,
+ and copy into either a sparse or a dense matrix.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#copy-org.apache.sysds.runtime.matrix.data.MatrixValue-">copy</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>thatValue</code> - object to copy the values into.</dd>
+</dl>
+</li>
+</ul>
+<a name="copy-org.apache.sysds.runtime.matrix.data.MatrixValue-boolean-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>copy</h4>
+<pre>public&nbsp;void&nbsp;copy(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;thatValue,
+                 boolean&nbsp;sp)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html#copy-org.apache.sysds.runtime.matrix.data.MatrixValue-boolean-">MatrixValue</a></code></span></div>
+<div class="block">Copy this MatrixValue into that MatrixValue. But select sparse destination block depending on boolean parameter.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#copy-org.apache.sysds.runtime.matrix.data.MatrixValue-boolean-">copy</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>thatValue</code> - object to copy the values into.</dd>
+<dd><code>sp</code> - boolean specifying if output should be forced sparse or dense. (only applicable if the 'that' is a MatrixBlock)</dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>
@@ -941,7 +2445,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/sysds/runtime/compress/BitmapEncoder.html" title="class in org.apache.sysds.runtime.compress"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Prev&nbsp;Class</li>
 <li><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlockFactory.html" title="class in org.apache.sysds.runtime.compress"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -982,6 +2486,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/CompressedMatrixBlockFactory.html b/docs/api/java/org/apache/sysds/runtime/compress/CompressedMatrixBlockFactory.html
index 2bcbc5f..267b309 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/CompressedMatrixBlockFactory.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/CompressedMatrixBlockFactory.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":9,"i2":9,"i3":9};
+var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -76,13 +76,13 @@
 <li>Summary:&nbsp;</li>
 <li>Nested&nbsp;|&nbsp;</li>
 <li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
 <li><a href="#method.summary">Method</a></li>
 </ul>
 <ul class="subNavList">
 <li>Detail:&nbsp;</li>
 <li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
 <li><a href="#method.detail">Method</a></li>
 </ul>
 </div>
@@ -118,23 +118,6 @@
 <div class="summary">
 <ul class="blockList">
 <li class="blockList">
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.summary">
-<!--   -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlockFactory.html#CompressedMatrixBlockFactory--">CompressedMatrixBlockFactory</a></span>()</code>&nbsp;</td>
-</tr>
-</table>
-</li>
-</ul>
 <!-- ========== METHOD SUMMARY =========== -->
 <ul class="blockList">
 <li class="blockList"><a name="method.summary">
@@ -169,6 +152,12 @@
 <div class="block">The main method for compressing the input matrix.</div>
 </td>
 </tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlockFactory.html#createConstant-int-int-double-">createConstant</a></span>(int&nbsp;numRows,
+              int&nbsp;numCols,
+              double&nbsp;value)</code>&nbsp;</td>
+</tr>
 </table>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -185,23 +174,6 @@
 <div class="details">
 <ul class="blockList">
 <li class="blockList">
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.detail">
-<!--   -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="CompressedMatrixBlockFactory--">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>CompressedMatrixBlockFactory</h4>
-<pre>public&nbsp;CompressedMatrixBlockFactory()</pre>
-</li>
-</ul>
-</li>
-</ul>
 <!-- ============ METHOD DETAIL ========== -->
 <ul class="blockList">
 <li class="blockList"><a name="method.detail">
@@ -240,7 +212,7 @@
 <a name="compress-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-org.apache.sysds.runtime.compress.CompressionSettings-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>compress</h4>
 <pre>public static&nbsp;org.apache.commons.lang3.tuple.Pair&lt;<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>,<a href="../../../../../org/apache/sysds/runtime/compress/CompressionStatistics.html" title="class in org.apache.sysds.runtime.compress">CompressionStatistics</a>&gt;&nbsp;compress(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mb,
@@ -264,6 +236,17 @@
 </dl>
 </li>
 </ul>
+<a name="createConstant-int-int-double-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>createConstant</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;createConstant(int&nbsp;numRows,
+                                                   int&nbsp;numCols,
+                                                   double&nbsp;value)</pre>
+</li>
+</ul>
 </li>
 </ul>
 </li>
@@ -319,13 +302,13 @@
 <li>Summary:&nbsp;</li>
 <li>Nested&nbsp;|&nbsp;</li>
 <li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
 <li><a href="#method.summary">Method</a></li>
 </ul>
 <ul class="subNavList">
 <li>Detail:&nbsp;</li>
 <li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
 <li><a href="#method.detail">Method</a></li>
 </ul>
 </div>
@@ -333,6 +316,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/CompressionSettings.html b/docs/api/java/org/apache/sysds/runtime/compress/CompressionSettings.html
index 98d3dab..a4db9f5 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/CompressionSettings.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/CompressionSettings.html
@@ -195,13 +195,18 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html#transposeInput">transposeInput</a></span></code>
-<div class="block">Transpose input matrix, to optimize performance, this reallocate the matrix to a more cache conscious allocation
- for iteration in columns.</div>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html#transposed">transposed</a></span></code>
+<div class="block">Transpose input matrix, to optimize access when extracting bitmaps.</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/EnumSet.html?is-external=true" title="class or interface in java.util">EnumSet</a>&lt;<a href="../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>&gt;</code></td>
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html#transposeInput">transposeInput</a></span></code>
+<div class="block">Boolean specifying which transpose setting is used, can be auto, true or false</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/EnumSet.html?is-external=true" title="class or interface in java.util">EnumSet</a>&lt;<a href="../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html#validCompressions">validCompressions</a></span></code>
 <div class="block">Valid Compressions List, containing the ColGroup CompressionTypes that are allowed to be used for the compression
  Default is to always allow for Uncompromisable ColGroup.</div>
@@ -255,7 +260,8 @@
 <li class="blockList">
 <h4>BITMAP_BLOCK_SZ</h4>
 <pre>public static final&nbsp;int BITMAP_BLOCK_SZ</pre>
-<div class="block">Size of the blocks used in a blocked bitmap representation. Note it is one more than Character.MAX_VALUE.</div>
+<div class="block">Size of the blocks used in a blocked bitmap representation. Note it is exactly Character.MAX_VALUE. This is not
+ Character max value + 1 because it breaks the offsets in cases with fully dense values.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.sysds.runtime.compress.CompressionSettings.BITMAP_BLOCK_SZ">Constant Field Values</a></dd>
@@ -301,9 +307,19 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>transposeInput</h4>
-<pre>public final&nbsp;boolean transposeInput</pre>
-<div class="block">Transpose input matrix, to optimize performance, this reallocate the matrix to a more cache conscious allocation
- for iteration in columns.</div>
+<pre>public final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> transposeInput</pre>
+<div class="block">Boolean specifying which transpose setting is used, can be auto, true or false</div>
+</li>
+</ul>
+<a name="transposed">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>transposed</h4>
+<pre>public&nbsp;boolean transposed</pre>
+<div class="block">Transpose input matrix, to optimize access when extracting bitmaps. This setting is changed inside the script
+ based on the transposeInput setting.</div>
 </li>
 </ul>
 <a name="skipList">
@@ -373,7 +389,7 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>validCompressions</h4>
-<pre>public final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/EnumSet.html?is-external=true" title="class or interface in java.util">EnumSet</a>&lt;<a href="../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>&gt; validCompressions</pre>
+<pre>public final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/EnumSet.html?is-external=true" title="class or interface in java.util">EnumSet</a>&lt;<a href="../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a>&gt; validCompressions</pre>
 <div class="block">Valid Compressions List, containing the ColGroup CompressionTypes that are allowed to be used for the compression
  Default is to always allow for Uncompromisable ColGroup.</div>
 </li>
@@ -468,6 +484,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html b/docs/api/java/org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html
index 61f77ef..294ff73 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html
@@ -149,7 +149,7 @@
 </tr>
 <tr id="i0" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html" title="class in org.apache.sysds.runtime.compress">CompressionSettingsBuilder</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html#addValidCompression-org.apache.sysds.runtime.compress.colgroup.ColGroup.CompressionType-">addValidCompression</a></span>(<a href="../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>&nbsp;cp)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html#addValidCompression-org.apache.sysds.runtime.compress.colgroup.AColGroup.CompressionType-">addValidCompression</a></span>(<a href="../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a>&nbsp;cp)</code>
 <div class="block">Add a single valid compression type to the EnumSet of valid compressions.</div>
 </td>
 </tr>
@@ -227,13 +227,13 @@
 </tr>
 <tr id="i13" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html" title="class in org.apache.sysds.runtime.compress">CompressionSettingsBuilder</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html#setTransposeInput-boolean-">setTransposeInput</a></span>(boolean&nbsp;transposeInput)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html#setTransposeInput-java.lang.String-">setTransposeInput</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;transposeInput)</code>
 <div class="block">Specify if the input matrix should be transposed before compression.</div>
 </td>
 </tr>
 <tr id="i14" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html" title="class in org.apache.sysds.runtime.compress">CompressionSettingsBuilder</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html#setValidCompressions-java.util.EnumSet-">setValidCompressions</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/EnumSet.html?is-external=true" title="class or interface in java.util">EnumSet</a>&lt;<a href="../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>&gt;&nbsp;validCompressions)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html#setValidCompressions-java.util.EnumSet-">setValidCompressions</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/EnumSet.html?is-external=true" title="class or interface in java.util">EnumSet</a>&lt;<a href="../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a>&gt;&nbsp;validCompressions)</code>
 <div class="block">Set the valid compression strategies used for the compression.</div>
 </td>
 </tr>
@@ -357,18 +357,19 @@
 </dl>
 </li>
 </ul>
-<a name="setTransposeInput-boolean-">
+<a name="setTransposeInput-java.lang.String-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>setTransposeInput</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html" title="class in org.apache.sysds.runtime.compress">CompressionSettingsBuilder</a>&nbsp;setTransposeInput(boolean&nbsp;transposeInput)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html" title="class in org.apache.sysds.runtime.compress">CompressionSettingsBuilder</a>&nbsp;setTransposeInput(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;transposeInput)</pre>
 <div class="block">Specify if the input matrix should be transposed before compression. This improves cache efficiency while
  compression the input matrix</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>transposeInput</code> - boolean specifying if the input should be transposed before compression</dd>
+<dd><code>transposeInput</code> - string specifying if the input should be transposed before compression, should be one of
+                       "auto", "true" or "false"</dd>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>The CompressionSettingsBuilder</dd>
 </dl>
@@ -429,7 +430,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>setValidCompressions</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html" title="class in org.apache.sysds.runtime.compress">CompressionSettingsBuilder</a>&nbsp;setValidCompressions(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/EnumSet.html?is-external=true" title="class or interface in java.util">EnumSet</a>&lt;<a href="../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>&gt;&nbsp;validCompressions)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html" title="class in org.apache.sysds.runtime.compress">CompressionSettingsBuilder</a>&nbsp;setValidCompressions(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/EnumSet.html?is-external=true" title="class or interface in java.util">EnumSet</a>&lt;<a href="../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a>&gt;&nbsp;validCompressions)</pre>
 <div class="block">Set the valid compression strategies used for the compression.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -439,13 +440,13 @@
 </dl>
 </li>
 </ul>
-<a name="addValidCompression-org.apache.sysds.runtime.compress.colgroup.ColGroup.CompressionType-">
+<a name="addValidCompression-org.apache.sysds.runtime.compress.colgroup.AColGroup.CompressionType-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>addValidCompression</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html" title="class in org.apache.sysds.runtime.compress">CompressionSettingsBuilder</a>&nbsp;addValidCompression(<a href="../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>&nbsp;cp)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html" title="class in org.apache.sysds.runtime.compress">CompressionSettingsBuilder</a>&nbsp;addValidCompression(<a href="../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a>&nbsp;cp)</pre>
 <div class="block">Add a single valid compression type to the EnumSet of valid compressions.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -586,6 +587,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/CompressionStatistics.html b/docs/api/java/org/apache/sysds/runtime/compress/CompressionStatistics.html
index 27bfab3..f7fc2e0 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/CompressionStatistics.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/CompressionStatistics.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -50,7 +50,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html" title="class in org.apache.sysds.runtime.compress"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelection.html" title="class in org.apache.sysds.runtime.compress"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?org/apache/sysds/runtime/compress/CompressionStatistics.html" target="_top">Frames</a></li>
@@ -131,21 +131,25 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>long</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressionStatistics.html#estimatedSizeColGroups">estimatedSizeColGroups</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressionStatistics.html#denseSize">denseSize</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressionStatistics.html#estimatedSizeColGroups">estimatedSizeColGroups</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressionStatistics.html#estimatedSizeCols">estimatedSizeCols</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressionStatistics.html#originalSize">originalSize</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>double</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressionStatistics.html#ratio">ratio</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressionStatistics.html#size">size</a></span></code>&nbsp;</td>
 </tr>
@@ -182,7 +186,7 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
-<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>,int[]&gt;</code></td>
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.ColGroupType</a>,int[]&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressionStatistics.html#getColGroups--">getColGroups</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i1" class="rowColor">
@@ -198,20 +202,16 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressionStatistics.html#getLastTimePhase--">getLastTimePhase</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i4" class="altColor">
-<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a>&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressionStatistics.html#getTimeArrayList--">getTimeArrayList</a></span>()</code>&nbsp;</td>
-</tr>
-<tr id="i5" class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressionStatistics.html#setColGroupsCounts-java.util.List-">setColGroupsCounts</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>&gt;&nbsp;colGroups)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressionStatistics.html#setColGroupsCounts-java.util.List-">setColGroupsCounts</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a>&gt;&nbsp;colGroups)</code>
 <div class="block">Set array of counts regarding col group types.</div>
 </td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressionStatistics.html#setNextTimePhase-double-">setNextTimePhase</a></span>(double&nbsp;time)</code>&nbsp;</td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressionStatistics.html#toString--">toString</a></span>()</code>&nbsp;</td>
 </tr>
@@ -255,6 +255,15 @@
 <pre>public&nbsp;long originalSize</pre>
 </li>
 </ul>
+<a name="denseSize">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>denseSize</h4>
+<pre>public&nbsp;long denseSize</pre>
+</li>
+</ul>
 <a name="estimatedSizeColGroups">
 <!--   -->
 </a>
@@ -331,8 +340,8 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>setColGroupsCounts</h4>
-<pre>public&nbsp;void&nbsp;setColGroupsCounts(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>&gt;&nbsp;colGroups)</pre>
-<div class="block">Set array of counts regarding col group types. 
+<pre>public&nbsp;void&nbsp;setColGroupsCounts(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a>&gt;&nbsp;colGroups)</pre>
+<div class="block">Set array of counts regarding col group types.
  
  The position corresponds with the enum ordinal.</div>
 <dl>
@@ -347,16 +356,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getColGroups</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>,int[]&gt;&nbsp;getColGroups()</pre>
-</li>
-</ul>
-<a name="getTimeArrayList--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getTimeArrayList</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a>&gt;&nbsp;getTimeArrayList()</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.ColGroupType</a>,int[]&gt;&nbsp;getColGroups()</pre>
 </li>
 </ul>
 <a name="getGroupsTypesString--">
@@ -419,7 +419,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html" title="class in org.apache.sysds.runtime.compress"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelection.html" title="class in org.apache.sysds.runtime.compress"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?org/apache/sysds/runtime/compress/CompressionStatistics.html" target="_top">Frames</a></li>
@@ -459,6 +459,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/ReaderColumnSelection.html b/docs/api/java/org/apache/sysds/runtime/compress/ReaderColumnSelection.html
deleted file mode 100644
index f2fda3d..0000000
--- a/docs/api/java/org/apache/sysds/runtime/compress/ReaderColumnSelection.html
+++ /dev/null
@@ -1,279 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc -->
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ReaderColumnSelection (SystemDS 2.1.0-SNAPSHOT API)</title>
-<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ReaderColumnSelection (SystemDS 2.1.0-SNAPSHOT API)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":10,"i1":10,"i2":10};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/ReaderColumnSelection.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../org/apache/sysds/runtime/compress/CompressionStatistics.html" title="class in org.apache.sysds.runtime.compress"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelectionDense.html" title="class in org.apache.sysds.runtime.compress"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/sysds/runtime/compress/ReaderColumnSelection.html" target="_top">Frames</a></li>
-<li><a href="ReaderColumnSelection.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.sysds.runtime.compress</div>
-<h2 title="Class ReaderColumnSelection" class="title">Class ReaderColumnSelection</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
-<li>
-<ul class="inheritance">
-<li>org.apache.sysds.runtime.compress.ReaderColumnSelection</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<dl>
-<dt>Direct Known Subclasses:</dt>
-<dd><a href="../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelectionDense.html" title="class in org.apache.sysds.runtime.compress">ReaderColumnSelectionDense</a>, <a href="../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelectionDenseSample.html" title="class in org.apache.sysds.runtime.compress">ReaderColumnSelectionDenseSample</a>, <a href="../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelectionSparse.html" title="class in org.apache.sysds.runtime.compress">ReaderColumnSelectionSparse</a></dd>
-</dl>
-<hr>
-<br>
-<pre>public abstract class <span class="typeNameLabel">ReaderColumnSelection</span>
-extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
-<div class="block">Base class for all column selection readers.</div>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========== METHOD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.summary">
-<!--   -->
-</a>
-<h3>Method Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>int</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelection.html#getCurrentRowIndex--">getCurrentRowIndex</a></span>()</code>&nbsp;</td>
-</tr>
-<tr id="i1" class="rowColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/compress/utils/DblArray.html" title="class in org.apache.sysds.runtime.compress.utils">DblArray</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelection.html#nextRow--">nextRow</a></span>()</code>
-<div class="block">Gets the next row, null when no more rows.</div>
-</td>
-</tr>
-<tr id="i2" class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelection.html#reset--">reset</a></span>()</code>
-<div class="block">Resets the reader to the first row.</div>
-</td>
-</tr>
-</table>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
-<!--   -->
-</a>
-<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
-<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="nextRow--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>nextRow</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/compress/utils/DblArray.html" title="class in org.apache.sysds.runtime.compress.utils">DblArray</a>&nbsp;nextRow()</pre>
-<div class="block">Gets the next row, null when no more rows.</div>
-<dl>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>next row</dd>
-</dl>
-</li>
-</ul>
-<a name="getCurrentRowIndex--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getCurrentRowIndex</h4>
-<pre>public&nbsp;int&nbsp;getCurrentRowIndex()</pre>
-</li>
-</ul>
-<a name="reset--">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>reset</h4>
-<pre>public&nbsp;void&nbsp;reset()</pre>
-<div class="block">Resets the reader to the first row.</div>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/ReaderColumnSelection.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../org/apache/sysds/runtime/compress/CompressionStatistics.html" title="class in org.apache.sysds.runtime.compress"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelectionDense.html" title="class in org.apache.sysds.runtime.compress"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/sysds/runtime/compress/ReaderColumnSelection.html" target="_top">Frames</a></li>
-<li><a href="ReaderColumnSelection.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
-</body>
-</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/ReaderColumnSelectionDense.html b/docs/api/java/org/apache/sysds/runtime/compress/ReaderColumnSelectionDense.html
deleted file mode 100644
index 864f9c8..0000000
--- a/docs/api/java/org/apache/sysds/runtime/compress/ReaderColumnSelectionDense.html
+++ /dev/null
@@ -1,254 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc -->
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ReaderColumnSelectionDense (SystemDS 2.1.0-SNAPSHOT API)</title>
-<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ReaderColumnSelectionDense (SystemDS 2.1.0-SNAPSHOT API)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/ReaderColumnSelectionDense.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelection.html" title="class in org.apache.sysds.runtime.compress"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelectionDenseSample.html" title="class in org.apache.sysds.runtime.compress"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/sysds/runtime/compress/ReaderColumnSelectionDense.html" target="_top">Frames</a></li>
-<li><a href="ReaderColumnSelectionDense.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#methods.inherited.from.class.org.apache.sysds.runtime.compress.ReaderColumnSelection">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li>Method</li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.sysds.runtime.compress</div>
-<h2 title="Class ReaderColumnSelectionDense" class="title">Class ReaderColumnSelectionDense</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
-<li>
-<ul class="inheritance">
-<li><a href="../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelection.html" title="class in org.apache.sysds.runtime.compress">org.apache.sysds.runtime.compress.ReaderColumnSelection</a></li>
-<li>
-<ul class="inheritance">
-<li>org.apache.sysds.runtime.compress.ReaderColumnSelectionDense</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<hr>
-<br>
-<pre>public class <span class="typeNameLabel">ReaderColumnSelectionDense</span>
-extends <a href="../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelection.html" title="class in org.apache.sysds.runtime.compress">ReaderColumnSelection</a></pre>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.summary">
-<!--   -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelectionDense.html#ReaderColumnSelectionDense-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-org.apache.sysds.runtime.compress.CompressionSettings-">ReaderColumnSelectionDense</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;data,
-                          int[]&nbsp;colIndices,
-                          <a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;compSettings)</code>&nbsp;</td>
-</tr>
-</table>
-</li>
-</ul>
-<!-- ========== METHOD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.summary">
-<!--   -->
-</a>
-<h3>Method Summary</h3>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.compress.ReaderColumnSelection">
-<!--   -->
-</a>
-<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.compress.<a href="../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelection.html" title="class in org.apache.sysds.runtime.compress">ReaderColumnSelection</a></h3>
-<code><a href="../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelection.html#getCurrentRowIndex--">getCurrentRowIndex</a>, <a href="../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelection.html#nextRow--">nextRow</a>, <a href="../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelection.html#reset--">reset</a></code></li>
-</ul>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
-<!--   -->
-</a>
-<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
-<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.detail">
-<!--   -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="ReaderColumnSelectionDense-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-org.apache.sysds.runtime.compress.CompressionSettings-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>ReaderColumnSelectionDense</h4>
-<pre>public&nbsp;ReaderColumnSelectionDense(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;data,
-                                  int[]&nbsp;colIndices,
-                                  <a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;compSettings)</pre>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/ReaderColumnSelectionDense.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelection.html" title="class in org.apache.sysds.runtime.compress"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelectionDenseSample.html" title="class in org.apache.sysds.runtime.compress"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/sysds/runtime/compress/ReaderColumnSelectionDense.html" target="_top">Frames</a></li>
-<li><a href="ReaderColumnSelectionDense.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#methods.inherited.from.class.org.apache.sysds.runtime.compress.ReaderColumnSelection">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li>Method</li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
-</body>
-</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/class-use/AbstractCompressedMatrixBlock.html b/docs/api/java/org/apache/sysds/runtime/compress/class-use/AbstractCompressedMatrixBlock.html
deleted file mode 100644
index a6331f6..0000000
--- a/docs/api/java/org/apache/sysds/runtime/compress/class-use/AbstractCompressedMatrixBlock.html
+++ /dev/null
@@ -1,165 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc -->
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.sysds.runtime.compress.AbstractCompressedMatrixBlock (SystemDS 2.1.0-SNAPSHOT API)</title>
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.sysds.runtime.compress.AbstractCompressedMatrixBlock (SystemDS 2.1.0-SNAPSHOT API)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/class-use/AbstractCompressedMatrixBlock.html" target="_top">Frames</a></li>
-<li><a href="AbstractCompressedMatrixBlock.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class org.apache.sysds.runtime.compress.AbstractCompressedMatrixBlock" class="title">Uses of Class<br>org.apache.sysds.runtime.compress.AbstractCompressedMatrixBlock</h2>
-</div>
-<div class="classUseContainer">
-<ul class="blockList">
-<li class="blockList">
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
-<caption><span>Packages that use <a href="../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">AbstractCompressedMatrixBlock</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Package</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a href="#org.apache.sysds.runtime.compress">org.apache.sysds.runtime.compress</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList">
-<ul class="blockList">
-<li class="blockList"><a name="org.apache.sysds.runtime.compress">
-<!--   -->
-</a>
-<h3>Uses of <a href="../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">AbstractCompressedMatrixBlock</a> in <a href="../../../../../../org/apache/sysds/runtime/compress/package-summary.html">org.apache.sysds.runtime.compress</a></h3>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subclasses, and an explanation">
-<caption><span>Subclasses of <a href="../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">AbstractCompressedMatrixBlock</a> in <a href="../../../../../../org/apache/sysds/runtime/compress/package-summary.html">org.apache.sysds.runtime.compress</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Class and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code>class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></span></code>&nbsp;</td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/class-use/AbstractCompressedMatrixBlock.html" target="_top">Frames</a></li>
-<li><a href="AbstractCompressedMatrixBlock.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
-</body>
-</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/class-use/CompressedMatrixBlock.html b/docs/api/java/org/apache/sysds/runtime/compress/class-use/CompressedMatrixBlock.html
index abb4cf8..f88019a 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/class-use/CompressedMatrixBlock.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/class-use/CompressedMatrixBlock.html
@@ -83,19 +83,84 @@
 </tr>
 <tbody>
 <tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.compress">org.apache.sysds.runtime.compress</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.compress.lib">org.apache.sysds.runtime.compress.lib</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.compress.readers">org.apache.sysds.runtime.compress.readers</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
 </tbody>
 </table>
 </li>
 <li class="blockList">
 <ul class="blockList">
+<li class="blockList"><a name="org.apache.sysds.runtime.compress">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a> in <a href="../../../../../../org/apache/sysds/runtime/compress/package-summary.html">org.apache.sysds.runtime.compress</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/sysds/runtime/compress/package-summary.html">org.apache.sysds.runtime.compress</a> that return <a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlockFactory.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlockFactory.html#createConstant-int-int-double-">createConstant</a></span>(int&nbsp;numRows,
+              int&nbsp;numCols,
+              double&nbsp;value)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#squash-int-">squash</a></span>(int&nbsp;k)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../../org/apache/sysds/runtime/compress/package-summary.html">org.apache.sysds.runtime.compress</a> with parameters of type <a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#CompressedMatrixBlock-org.apache.sysds.runtime.compress.CompressedMatrixBlock-">CompressedMatrixBlock</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;that)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
 <li class="blockList"><a name="org.apache.sysds.runtime.compress.lib">
 <!--   -->
 </a>
 <h3>Uses of <a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a> in <a href="../../../../../../org/apache/sysds/runtime/compress/lib/package-summary.html">org.apache.sysds.runtime.compress.lib</a></h3>
 <table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/sysds/runtime/compress/lib/package-summary.html">org.apache.sysds.runtime.compress.lib</a> that return <a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">CLALibBinaryCellOp.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/lib/CLALibBinaryCellOp.html#binaryMVRow-org.apache.sysds.runtime.compress.CompressedMatrixBlock-double:A-org.apache.sysds.runtime.compress.CompressedMatrixBlock-org.apache.sysds.runtime.matrix.operators.BinaryOperator-boolean-">binaryMVRow</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;m1,
+           double[]&nbsp;v,
+           <a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;ret,
+           <a href="../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
+           boolean&nbsp;left)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">CLALibSquash.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/lib/CLALibSquash.html#squash-org.apache.sysds.runtime.compress.CompressedMatrixBlock-int-">squash</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;m,
+      int&nbsp;k)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
 <caption><span>Methods in <a href="../../../../../../org/apache/sysds/runtime/compress/lib/package-summary.html">org.apache.sysds.runtime.compress.lib</a> with parameters of type <a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
@@ -104,19 +169,114 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">LibBinaryCellOp.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/lib/LibBinaryCellOp.html#bincellOp-org.apache.sysds.runtime.compress.CompressedMatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.compress.CompressedMatrixBlock-org.apache.sysds.runtime.matrix.operators.BinaryOperator-">bincellOp</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;m1,
-         <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2,
-         <a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;ret,
-         <a href="../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op)</code>
-<div class="block">matrix-matrix binary operations, MM, MV</div>
-</td>
+<td class="colLast"><span class="typeNameLabel">CLALibCompAgg.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/lib/CLALibCompAgg.html#aggregateUnary-org.apache.sysds.runtime.compress.CompressedMatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-int-org.apache.sysds.runtime.matrix.data.MatrixIndexes-boolean-">aggregateUnary</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;inputMatrix,
+              <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;outputMatrix,
+              <a href="../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;op,
+              int&nbsp;blen,
+              <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixIndexes.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixIndexes</a>&nbsp;indexesIn,
+              boolean&nbsp;inCP)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">CLALibBinaryCellOp.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/lib/CLALibBinaryCellOp.html#binaryMVRow-org.apache.sysds.runtime.compress.CompressedMatrixBlock-double:A-org.apache.sysds.runtime.compress.CompressedMatrixBlock-org.apache.sysds.runtime.matrix.operators.BinaryOperator-boolean-">binaryMVRow</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;m1,
+           double[]&nbsp;v,
+           <a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;ret,
+           <a href="../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
+           boolean&nbsp;left)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">CLALibBinaryCellOp.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/lib/CLALibBinaryCellOp.html#binaryOperations-org.apache.sysds.runtime.matrix.operators.BinaryOperator-org.apache.sysds.runtime.compress.CompressedMatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-">binaryOperations</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
+                <a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;m1,
+                <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;thatValue,
+                <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">LibScalar.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/lib/LibScalar.html#scalarOperations-org.apache.sysds.runtime.matrix.operators.ScalarOperator-org.apache.sysds.runtime.compress.CompressedMatrixBlock-org.apache.sysds.runtime.compress.CompressedMatrixBlock-boolean-">scalarOperations</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;sop,
+<td class="colLast"><span class="typeNameLabel">CLALibBinaryCellOp.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/lib/CLALibBinaryCellOp.html#binaryOperationsLeft-org.apache.sysds.runtime.matrix.operators.BinaryOperator-org.apache.sysds.runtime.compress.CompressedMatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-">binaryOperationsLeft</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
+                    <a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;m1,
+                    <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;thatValue,
+                    <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils">ABitmap</a></code></td>
+<td class="colLast"><span class="typeNameLabel">BitmapLossyEncoder.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/lib/BitmapLossyEncoder.html#extractMapFromCompressedSingleColumn-org.apache.sysds.runtime.compress.CompressedMatrixBlock-int-double-double-">extractMapFromCompressedSingleColumn</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;m,
+                                    int&nbsp;columnId,
+                                    double&nbsp;min,
+                                    double&nbsp;max)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">CLALibLeftMultBy.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/lib/CLALibLeftMultBy.html#leftMultByMatrix-org.apache.sysds.runtime.compress.CompressedMatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">leftMultByMatrix</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;m1,
+                <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2,
+                <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
+                int&nbsp;k)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">CLALibLeftMultBy.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/lib/CLALibLeftMultBy.html#leftMultByMatrixTransposed-org.apache.sysds.runtime.compress.CompressedMatrixBlock-org.apache.sysds.runtime.compress.CompressedMatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">leftMultByMatrixTransposed</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;m1,
+                          <a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;m2,
+                          <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
+                          int&nbsp;k)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">CLALibLeftMultBy.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/lib/CLALibLeftMultBy.html#leftMultByMatrixTransposed-org.apache.sysds.runtime.compress.CompressedMatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">leftMultByMatrixTransposed</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;m1,
+                          <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2,
+                          <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
+                          int&nbsp;k)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">CLALibRelationalOp.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/lib/CLALibRelationalOp.html#overlappingRelativeRelationalOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-org.apache.sysds.runtime.compress.CompressedMatrixBlock-">overlappingRelativeRelationalOperation</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;sop,
+                                      <a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;m1)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">CLALibReExpand.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/lib/CLALibReExpand.html#reExpand-org.apache.sysds.runtime.compress.CompressedMatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-double-boolean-boolean-int-">reExpand</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;in,
+        <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
+        double&nbsp;max,
+        boolean&nbsp;cast,
+        boolean&nbsp;ignore,
+        int&nbsp;k)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">CLALibRightMultBy.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/lib/CLALibRightMultBy.html#rightMultByMatrix-org.apache.sysds.runtime.compress.CompressedMatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-boolean-">rightMultByMatrix</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;m1,
+                 <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2,
+                 <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
+                 int&nbsp;k,
+                 boolean&nbsp;allowOverlap)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">CLALibScalar.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/lib/CLALibScalar.html#scalarOperations-org.apache.sysds.runtime.matrix.operators.ScalarOperator-org.apache.sysds.runtime.compress.CompressedMatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixValue-">scalarOperations</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;sop,
                 <a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;m1,
-                <a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;ret,
-                boolean&nbsp;overlapping)</code>&nbsp;</td>
+                <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">CLALibSquash.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/lib/CLALibSquash.html#squash-org.apache.sysds.runtime.compress.CompressedMatrixBlock-int-">squash</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;m,
+      int&nbsp;k)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.sysds.runtime.compress.readers">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a> in <a href="../../../../../../org/apache/sysds/runtime/compress/readers/package-summary.html">org.apache.sysds.runtime.compress.readers</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/sysds/runtime/compress/readers/package-summary.html">org.apache.sysds.runtime.compress.readers</a> with parameters of type <a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelection.html" title="class in org.apache.sysds.runtime.compress.readers">ReaderColumnSelection</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ReaderColumnSelection.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelection.html#createCompressedReader-org.apache.sysds.runtime.compress.CompressedMatrixBlock-int:A-">createCompressedReader</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;compBlock,
+                      int[]&nbsp;colIndices)</code>&nbsp;</td>
 </tr>
 </tbody>
 </table>
@@ -172,6 +332,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/class-use/CompressedMatrixBlockFactory.html b/docs/api/java/org/apache/sysds/runtime/compress/class-use/CompressedMatrixBlockFactory.html
index 9317e5d..eeb96dc 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/class-use/CompressedMatrixBlockFactory.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/class-use/CompressedMatrixBlockFactory.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/class-use/CompressionSettings.html b/docs/api/java/org/apache/sysds/runtime/compress/class-use/CompressionSettings.html
index 99ea646..5a9e63c 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/class-use/CompressionSettings.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/class-use/CompressionSettings.html
@@ -98,6 +98,10 @@
 <td class="colFirst"><a href="#org.apache.sysds.runtime.compress.estim">org.apache.sysds.runtime.compress.estim</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.compress.lib">org.apache.sysds.runtime.compress.lib</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
 </tbody>
 </table>
 </li>
@@ -148,40 +152,6 @@
 <div class="block">Copy the settings from another CompressionSettings Builder, modifies this, not that.</div>
 </td>
 </tr>
-<tr class="rowColor">
-<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils">ABitmap</a></code></td>
-<td class="colLast"><span class="typeNameLabel">BitmapEncoder.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/BitmapEncoder.html#extractBitmap-int:A-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.compress.CompressionSettings-">extractBitmap</a></span>(int[]&nbsp;colIndices,
-             <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;rawBlock,
-             <a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;compSettings)</code>
-<div class="block">Generate uncompressed bitmaps for a set of columns in an uncompressed matrix block.</div>
-</td>
-</tr>
-</tbody>
-</table>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
-<caption><span>Constructors in <a href="../../../../../../org/apache/sysds/runtime/compress/package-summary.html">org.apache.sysds.runtime.compress</a> with parameters of type <a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelectionDense.html#ReaderColumnSelectionDense-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-org.apache.sysds.runtime.compress.CompressionSettings-">ReaderColumnSelectionDense</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;data,
-                          int[]&nbsp;colIndices,
-                          <a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;compSettings)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelectionDenseSample.html#ReaderColumnSelectionDenseSample-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-int:A-org.apache.sysds.runtime.compress.CompressionSettings-">ReaderColumnSelectionDenseSample</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;data,
-                                int[]&nbsp;colIndexes,
-                                int[]&nbsp;sampleIndexes,
-                                <a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;compSettings)</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelectionSparse.html#ReaderColumnSelectionSparse-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-org.apache.sysds.runtime.compress.CompressionSettings-">ReaderColumnSelectionSparse</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;data,
-                           int[]&nbsp;colIndexes,
-                           <a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;compSettings)</code>
-<div class="block">Reader of sparse matrix blocks for compression.</div>
-</td>
-</tr>
 </tbody>
 </table>
 </li>
@@ -197,7 +167,7 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;int[]&gt;</code></td>
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfo</a></code></td>
 <td class="colLast"><span class="typeNameLabel">PlanningCoCoder.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.html#findCoCodesByPartitioning-org.apache.sysds.runtime.compress.estim.CompressedSizeEstimator-org.apache.sysds.runtime.compress.estim.CompressedSizeInfo-int-int-org.apache.sysds.runtime.compress.CompressionSettings-">findCoCodesByPartitioning</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimator.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeEstimator</a>&nbsp;sizeEstimator,
                          <a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfo</a>&nbsp;colInfos,
                          int&nbsp;numRows,
@@ -206,32 +176,6 @@
 <div class="block">Main entry point of CoCode.</div>
 </td>
 </tr>
-<tr class="rowColor">
-<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;int[]&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">ColumnGroupPartitionerStatic.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitionerStatic.html#partitionColumns-java.util.List-java.util.HashMap-org.apache.sysds.runtime.compress.CompressionSettings-">partitionColumns</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;groupCols,
-                <a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCoder.GroupableColInfo</a>&gt;&nbsp;groupColsInfo,
-                <a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;cs)</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;int[]&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">ColumnGroupPartitionerBinPacking.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitionerBinPacking.html#partitionColumns-java.util.List-java.util.HashMap-org.apache.sysds.runtime.compress.CompressionSettings-">partitionColumns</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;groupCols,
-                <a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCoder.GroupableColInfo</a>&gt;&nbsp;groupColsInfo,
-                <a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;cs)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;int[]&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">ColumnGroupPartitionerCost.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitionerCost.html#partitionColumns-java.util.List-java.util.HashMap-org.apache.sysds.runtime.compress.CompressionSettings-">partitionColumns</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;groupCols,
-                <a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCoder.GroupableColInfo</a>&gt;&nbsp;groupColsInfo,
-                <a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;cs)</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>abstract <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;int[]&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">ColumnGroupPartitioner.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitioner.html#partitionColumns-java.util.List-java.util.HashMap-org.apache.sysds.runtime.compress.CompressionSettings-">partitionColumns</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;groupCols,
-                <a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCoder.GroupableColInfo</a>&gt;&nbsp;groupColsInfo,
-                <a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;cs)</code>
-<div class="block">Partitions a list of columns into a list of partitions that contains subsets of columns.</div>
-</td>
-</tr>
 </tbody>
 </table>
 </li>
@@ -247,30 +191,20 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupFactory.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupFactory.html#assignColumns-int-org.apache.sysds.runtime.compress.colgroup.ColGroup:A-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.compress.CompressionSettings-">assignColumns</a></span>(int&nbsp;numCols,
-             <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>[]&nbsp;colGroups,
-             <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;rawBlock,
-             <a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;compSettings)</code>
-<div class="block">Method for producing the final ColGroupList stored inside the CompressedMatrixBlock.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupFactory.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupFactory.html#compress-int:A-int-org.apache.sysds.runtime.compress.utils.ABitmap-org.apache.sysds.runtime.compress.colgroup.ColGroup.CompressionType-org.apache.sysds.runtime.compress.CompressionSettings-org.apache.sysds.runtime.matrix.data.MatrixBlock-">compress</a></span>(int[]&nbsp;colIndexes,
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupFactory.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupFactory.html#compress-int:A-int-org.apache.sysds.runtime.compress.utils.ABitmap-org.apache.sysds.runtime.compress.colgroup.AColGroup.CompressionType-org.apache.sysds.runtime.compress.CompressionSettings-org.apache.sysds.runtime.matrix.data.MatrixBlock-">compress</a></span>(int[]&nbsp;colIndexes,
         int&nbsp;rlen,
         <a href="../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils">ABitmap</a>&nbsp;ubm,
-        <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>&nbsp;compType,
+        <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a>&nbsp;compType,
         <a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;cs,
         <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;rawMatrixBlock)</code>
 <div class="block">Method for compressing an ColGroup.</div>
 </td>
 </tr>
-<tr class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>[]</code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupFactory.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupFactory.html#compressColGroups-org.apache.sysds.runtime.matrix.data.MatrixBlock-java.util.HashMap-java.util.List-org.apache.sysds.runtime.compress.CompressionSettings-int-">compressColGroups</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;in,
-                 <a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a>&gt;&nbsp;compRatios,
-                 <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;int[]&gt;&nbsp;groups,
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a>[]</code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupFactory.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupFactory.html#compressColGroups-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.compress.estim.CompressedSizeInfo-org.apache.sysds.runtime.compress.CompressionSettings-int-">compressColGroups</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;in,
+                 <a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfo</a>&nbsp;csi,
                  <a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;compSettings,
                  int&nbsp;k)</code>
 <div class="block">The actual compression method, that handles the logic of compressing multiple columns together.</div>
@@ -304,19 +238,42 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimatorExact.html#CompressedSizeEstimatorExact-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.compress.CompressionSettings-">CompressedSizeEstimatorExact</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;data,
-                            <a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;compSettings)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimatorExact.html#CompressedSizeEstimatorExact-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.compress.CompressionSettings-boolean-">CompressedSizeEstimatorExact</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;data,
+                            <a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;compSettings,
+                            boolean&nbsp;transposed)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimatorSample.html#CompressedSizeEstimatorSample-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.compress.CompressionSettings-int-">CompressedSizeEstimatorSample</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;data,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimatorSample.html#CompressedSizeEstimatorSample-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.compress.CompressionSettings-int:A-boolean-">CompressedSizeEstimatorSample</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;data,
                              <a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;compSettings,
-                             int&nbsp;sampleSize)</code>
+                             int[]&nbsp;sampleRows,
+                             boolean&nbsp;transposed)</code>
 <div class="block">CompressedSizeEstimatorSample, samples from the input data and estimates the size of the compressed matrix.</div>
 </td>
 </tr>
 </tbody>
 </table>
 </li>
+<li class="blockList"><a name="org.apache.sysds.runtime.compress.lib">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a> in <a href="../../../../../../org/apache/sysds/runtime/compress/lib/package-summary.html">org.apache.sysds.runtime.compress.lib</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/sysds/runtime/compress/lib/package-summary.html">org.apache.sysds.runtime.compress.lib</a> with parameters of type <a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils">ABitmap</a></code></td>
+<td class="colLast"><span class="typeNameLabel">BitmapEncoder.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/lib/BitmapEncoder.html#extractBitmap-int:A-int-java.util.BitSet-org.apache.sysds.runtime.compress.CompressionSettings-">extractBitmap</a></span>(int[]&nbsp;colIndices,
+             int&nbsp;rows,
+             <a href="https://docs.oracle.com/javase/8/docs/api/java/util/BitSet.html?is-external=true" title="class or interface in java.util">BitSet</a>&nbsp;rawBlock,
+             <a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;compSettings)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
 </ul>
 </li>
 </ul>
@@ -368,6 +325,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/class-use/CompressionSettingsBuilder.html b/docs/api/java/org/apache/sysds/runtime/compress/class-use/CompressionSettingsBuilder.html
index 84f8b67..97c4f6b 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/class-use/CompressionSettingsBuilder.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/class-use/CompressionSettingsBuilder.html
@@ -104,7 +104,7 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html" title="class in org.apache.sysds.runtime.compress">CompressionSettingsBuilder</a></code></td>
-<td class="colLast"><span class="typeNameLabel">CompressionSettingsBuilder.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html#addValidCompression-org.apache.sysds.runtime.compress.colgroup.ColGroup.CompressionType-">addValidCompression</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>&nbsp;cp)</code>
+<td class="colLast"><span class="typeNameLabel">CompressionSettingsBuilder.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html#addValidCompression-org.apache.sysds.runtime.compress.colgroup.AColGroup.CompressionType-">addValidCompression</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a>&nbsp;cp)</code>
 <div class="block">Add a single valid compression type to the EnumSet of valid compressions.</div>
 </td>
 </tr>
@@ -176,13 +176,13 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html" title="class in org.apache.sysds.runtime.compress">CompressionSettingsBuilder</a></code></td>
-<td class="colLast"><span class="typeNameLabel">CompressionSettingsBuilder.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html#setTransposeInput-boolean-">setTransposeInput</a></span>(boolean&nbsp;transposeInput)</code>
+<td class="colLast"><span class="typeNameLabel">CompressionSettingsBuilder.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html#setTransposeInput-java.lang.String-">setTransposeInput</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;transposeInput)</code>
 <div class="block">Specify if the input matrix should be transposed before compression.</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html" title="class in org.apache.sysds.runtime.compress">CompressionSettingsBuilder</a></code></td>
-<td class="colLast"><span class="typeNameLabel">CompressionSettingsBuilder.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html#setValidCompressions-java.util.EnumSet-">setValidCompressions</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/EnumSet.html?is-external=true" title="class or interface in java.util">EnumSet</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>&gt;&nbsp;validCompressions)</code>
+<td class="colLast"><span class="typeNameLabel">CompressionSettingsBuilder.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html#setValidCompressions-java.util.EnumSet-">setValidCompressions</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/EnumSet.html?is-external=true" title="class or interface in java.util">EnumSet</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a>&gt;&nbsp;validCompressions)</code>
 <div class="block">Set the valid compression strategies used for the compression.</div>
 </td>
 </tr>
@@ -240,6 +240,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/class-use/CompressionStatistics.html b/docs/api/java/org/apache/sysds/runtime/compress/class-use/CompressionStatistics.html
index e0940f7..a475b00 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/class-use/CompressionStatistics.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/class-use/CompressionStatistics.html
@@ -178,6 +178,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/class-use/ReaderColumnSelection.html b/docs/api/java/org/apache/sysds/runtime/compress/class-use/ReaderColumnSelection.html
deleted file mode 100644
index ff4480f..0000000
--- a/docs/api/java/org/apache/sysds/runtime/compress/class-use/ReaderColumnSelection.html
+++ /dev/null
@@ -1,179 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc -->
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.sysds.runtime.compress.ReaderColumnSelection (SystemDS 2.1.0-SNAPSHOT API)</title>
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.sysds.runtime.compress.ReaderColumnSelection (SystemDS 2.1.0-SNAPSHOT API)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelection.html" title="class in org.apache.sysds.runtime.compress">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/class-use/ReaderColumnSelection.html" target="_top">Frames</a></li>
-<li><a href="ReaderColumnSelection.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class org.apache.sysds.runtime.compress.ReaderColumnSelection" class="title">Uses of Class<br>org.apache.sysds.runtime.compress.ReaderColumnSelection</h2>
-</div>
-<div class="classUseContainer">
-<ul class="blockList">
-<li class="blockList">
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
-<caption><span>Packages that use <a href="../../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelection.html" title="class in org.apache.sysds.runtime.compress">ReaderColumnSelection</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Package</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a href="#org.apache.sysds.runtime.compress">org.apache.sysds.runtime.compress</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList">
-<ul class="blockList">
-<li class="blockList"><a name="org.apache.sysds.runtime.compress">
-<!--   -->
-</a>
-<h3>Uses of <a href="../../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelection.html" title="class in org.apache.sysds.runtime.compress">ReaderColumnSelection</a> in <a href="../../../../../../org/apache/sysds/runtime/compress/package-summary.html">org.apache.sysds.runtime.compress</a></h3>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subclasses, and an explanation">
-<caption><span>Subclasses of <a href="../../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelection.html" title="class in org.apache.sysds.runtime.compress">ReaderColumnSelection</a> in <a href="../../../../../../org/apache/sysds/runtime/compress/package-summary.html">org.apache.sysds.runtime.compress</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Class and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code>class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelectionDense.html" title="class in org.apache.sysds.runtime.compress">ReaderColumnSelectionDense</a></span></code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelectionDenseSample.html" title="class in org.apache.sysds.runtime.compress">ReaderColumnSelectionDenseSample</a></span></code>
-<div class="block">considers only a subset of row indexes</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelectionSparse.html" title="class in org.apache.sysds.runtime.compress">ReaderColumnSelectionSparse</a></span></code>
-<div class="block">Used to extract the values at certain indexes from each row in a sparse matrix
- 
- Keeps returning all-zeros arrays until reaching the last possible index.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelection.html" title="class in org.apache.sysds.runtime.compress">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/class-use/ReaderColumnSelection.html" target="_top">Frames</a></li>
-<li><a href="ReaderColumnSelection.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
-</body>
-</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/class-use/ReaderColumnSelectionDenseSample.html b/docs/api/java/org/apache/sysds/runtime/compress/class-use/ReaderColumnSelectionDenseSample.html
deleted file mode 100644
index 5223e4f..0000000
--- a/docs/api/java/org/apache/sysds/runtime/compress/class-use/ReaderColumnSelectionDenseSample.html
+++ /dev/null
@@ -1,125 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc -->
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.sysds.runtime.compress.ReaderColumnSelectionDenseSample (SystemDS 2.1.0-SNAPSHOT API)</title>
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.sysds.runtime.compress.ReaderColumnSelectionDenseSample (SystemDS 2.1.0-SNAPSHOT API)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelectionDenseSample.html" title="class in org.apache.sysds.runtime.compress">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/class-use/ReaderColumnSelectionDenseSample.html" target="_top">Frames</a></li>
-<li><a href="ReaderColumnSelectionDenseSample.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class org.apache.sysds.runtime.compress.ReaderColumnSelectionDenseSample" class="title">Uses of Class<br>org.apache.sysds.runtime.compress.ReaderColumnSelectionDenseSample</h2>
-</div>
-<div class="classUseContainer">No usage of org.apache.sysds.runtime.compress.ReaderColumnSelectionDenseSample</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelectionDenseSample.html" title="class in org.apache.sysds.runtime.compress">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/class-use/ReaderColumnSelectionDenseSample.html" target="_top">Frames</a></li>
-<li><a href="ReaderColumnSelectionDenseSample.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
-</body>
-</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/class-use/ReaderColumnSelectionSparse.html b/docs/api/java/org/apache/sysds/runtime/compress/class-use/ReaderColumnSelectionSparse.html
deleted file mode 100644
index 7f45d6a..0000000
--- a/docs/api/java/org/apache/sysds/runtime/compress/class-use/ReaderColumnSelectionSparse.html
+++ /dev/null
@@ -1,125 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc -->
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.sysds.runtime.compress.ReaderColumnSelectionSparse (SystemDS 2.1.0-SNAPSHOT API)</title>
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.sysds.runtime.compress.ReaderColumnSelectionSparse (SystemDS 2.1.0-SNAPSHOT API)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelectionSparse.html" title="class in org.apache.sysds.runtime.compress">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/class-use/ReaderColumnSelectionSparse.html" target="_top">Frames</a></li>
-<li><a href="ReaderColumnSelectionSparse.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class org.apache.sysds.runtime.compress.ReaderColumnSelectionSparse" class="title">Uses of Class<br>org.apache.sysds.runtime.compress.ReaderColumnSelectionSparse</h2>
-</div>
-<div class="classUseContainer">No usage of org.apache.sysds.runtime.compress.ReaderColumnSelectionSparse</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelectionSparse.html" title="class in org.apache.sysds.runtime.compress">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/class-use/ReaderColumnSelectionSparse.html" target="_top">Frames</a></li>
-<li><a href="ReaderColumnSelectionSparse.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
-</body>
-</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitioner.html b/docs/api/java/org/apache/sysds/runtime/compress/cocode/AColumnGroupPartitioner.html
similarity index 61%
rename from docs/api/java/org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitioner.html
rename to docs/api/java/org/apache/sysds/runtime/compress/cocode/AColumnGroupPartitioner.html
index 20a4d8e..5b5c124 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitioner.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/cocode/AColumnGroupPartitioner.html
@@ -4,7 +4,7 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ColumnGroupPartitioner (SystemDS 2.1.0-SNAPSHOT API)</title>
+<title>AColumnGroupPartitioner (SystemDS 2.1.0-SNAPSHOT API)</title>
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ColumnGroupPartitioner (SystemDS 2.1.0-SNAPSHOT API)";
+            parent.document.title="AColumnGroupPartitioner (SystemDS 2.1.0-SNAPSHOT API)";
         }
     }
     catch(err) {
@@ -40,7 +40,7 @@
 <li><a href="../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="package-summary.html">Package</a></li>
 <li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/ColumnGroupPartitioner.html">Use</a></li>
+<li><a href="class-use/AColumnGroupPartitioner.html">Use</a></li>
 <li><a href="package-tree.html">Tree</a></li>
 <li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
 <li><a href="../../../../../../index-all.html">Index</a></li>
@@ -53,8 +53,8 @@
 <li><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitionerBinPacking.html" title="class in org.apache.sysds.runtime.compress.cocode"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitioner.html" target="_top">Frames</a></li>
-<li><a href="ColumnGroupPartitioner.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/cocode/AColumnGroupPartitioner.html" target="_top">Frames</a></li>
+<li><a href="AColumnGroupPartitioner.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
 <li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -76,13 +76,13 @@
 <li>Summary:&nbsp;</li>
 <li>Nested&nbsp;|&nbsp;</li>
 <li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
 <li><a href="#method.summary">Method</a></li>
 </ul>
 <ul class="subNavList">
 <li>Detail:&nbsp;</li>
 <li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
 <li><a href="#method.detail">Method</a></li>
 </ul>
 </div>
@@ -93,14 +93,14 @@
 <!-- ======== START OF CLASS DATA ======== -->
 <div class="header">
 <div class="subTitle">org.apache.sysds.runtime.compress.cocode</div>
-<h2 title="Class ColumnGroupPartitioner" class="title">Class ColumnGroupPartitioner</h2>
+<h2 title="Class AColumnGroupPartitioner" class="title">Class AColumnGroupPartitioner</h2>
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
 <li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
-<li>org.apache.sysds.runtime.compress.cocode.ColumnGroupPartitioner</li>
+<li>org.apache.sysds.runtime.compress.cocode.AColumnGroupPartitioner</li>
 </ul>
 </li>
 </ul>
@@ -113,7 +113,7 @@
 </dl>
 <hr>
 <br>
-<pre>public abstract class <span class="typeNameLabel">ColumnGroupPartitioner</span>
+<pre>public abstract class <span class="typeNameLabel">AColumnGroupPartitioner</span>
 extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 </li>
 </ul>
@@ -121,23 +121,6 @@
 <div class="summary">
 <ul class="blockList">
 <li class="blockList">
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.summary">
-<!--   -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitioner.html#ColumnGroupPartitioner--">ColumnGroupPartitioner</a></span>()</code>&nbsp;</td>
-</tr>
-</table>
-</li>
-</ul>
 <!-- ========== METHOD SUMMARY =========== -->
 <ul class="blockList">
 <li class="blockList"><a name="method.summary">
@@ -151,12 +134,8 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
-<td class="colFirst"><code>abstract <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;int[]&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitioner.html#partitionColumns-java.util.List-java.util.HashMap-org.apache.sysds.runtime.compress.CompressionSettings-">partitionColumns</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;groupCols,
-                <a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCoder.GroupableColInfo</a>&gt;&nbsp;groupColsInfo,
-                <a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;cs)</code>
-<div class="block">Partitions a list of columns into a list of partitions that contains subsets of columns.</div>
-</td>
+<td class="colFirst"><code>abstract <a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfo</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/AColumnGroupPartitioner.html#partitionColumns-org.apache.sysds.runtime.compress.estim.CompressedSizeInfo-">partitionColumns</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfo</a>&nbsp;colInfos)</code>&nbsp;</td>
 </tr>
 </table>
 <ul class="blockList">
@@ -174,48 +153,19 @@
 <div class="details">
 <ul class="blockList">
 <li class="blockList">
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.detail">
-<!--   -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="ColumnGroupPartitioner--">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>ColumnGroupPartitioner</h4>
-<pre>public&nbsp;ColumnGroupPartitioner()</pre>
-</li>
-</ul>
-</li>
-</ul>
 <!-- ============ METHOD DETAIL ========== -->
 <ul class="blockList">
 <li class="blockList"><a name="method.detail">
 <!--   -->
 </a>
 <h3>Method Detail</h3>
-<a name="partitionColumns-java.util.List-java.util.HashMap-org.apache.sysds.runtime.compress.CompressionSettings-">
+<a name="partitionColumns-org.apache.sysds.runtime.compress.estim.CompressedSizeInfo-">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>partitionColumns</h4>
-<pre>public abstract&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;int[]&gt;&nbsp;partitionColumns(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;groupCols,
-                                             <a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCoder.GroupableColInfo</a>&gt;&nbsp;groupColsInfo,
-                                             <a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;cs)</pre>
-<div class="block">Partitions a list of columns into a list of partitions that contains subsets of columns. Note that this call must
- compute a complete and disjoint partitioning.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>groupCols</code> - list of columns</dd>
-<dd><code>groupColsInfo</code> - list of column infos</dd>
-<dd><code>cs</code> - The Compression settings used for the compression</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>list of partitions (where each partition is a list of columns)</dd>
-</dl>
+<pre>public abstract&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfo</a>&nbsp;partitionColumns(<a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfo</a>&nbsp;colInfos)</pre>
 </li>
 </ul>
 </li>
@@ -237,7 +187,7 @@
 <li><a href="../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="package-summary.html">Package</a></li>
 <li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/ColumnGroupPartitioner.html">Use</a></li>
+<li><a href="class-use/AColumnGroupPartitioner.html">Use</a></li>
 <li><a href="package-tree.html">Tree</a></li>
 <li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
 <li><a href="../../../../../../index-all.html">Index</a></li>
@@ -250,8 +200,8 @@
 <li><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitionerBinPacking.html" title="class in org.apache.sysds.runtime.compress.cocode"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitioner.html" target="_top">Frames</a></li>
-<li><a href="ColumnGroupPartitioner.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/cocode/AColumnGroupPartitioner.html" target="_top">Frames</a></li>
+<li><a href="AColumnGroupPartitioner.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
 <li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -273,13 +223,13 @@
 <li>Summary:&nbsp;</li>
 <li>Nested&nbsp;|&nbsp;</li>
 <li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
 <li><a href="#method.summary">Method</a></li>
 </ul>
 <ul class="subNavList">
 <li>Detail:&nbsp;</li>
 <li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
 <li><a href="#method.detail">Method</a></li>
 </ul>
 </div>
@@ -287,6 +237,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitionerBinPacking.html b/docs/api/java/org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitionerBinPacking.html
index ed585cb..d554f78 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitionerBinPacking.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitionerBinPacking.html
@@ -49,7 +49,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitioner.html" title="class in org.apache.sysds.runtime.compress.cocode"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/AColumnGroupPartitioner.html" title="class in org.apache.sysds.runtime.compress.cocode"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitionerCost.html" title="class in org.apache.sysds.runtime.compress.cocode"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -76,13 +76,13 @@
 <li>Summary:&nbsp;</li>
 <li>Nested&nbsp;|&nbsp;</li>
 <li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
 <li><a href="#method.summary">Method</a></li>
 </ul>
 <ul class="subNavList">
 <li>Detail:&nbsp;</li>
 <li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
 <li><a href="#method.detail">Method</a></li>
 </ul>
 </div>
@@ -100,7 +100,7 @@
 <li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitioner.html" title="class in org.apache.sysds.runtime.compress.cocode">org.apache.sysds.runtime.compress.cocode.ColumnGroupPartitioner</a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/AColumnGroupPartitioner.html" title="class in org.apache.sysds.runtime.compress.cocode">org.apache.sysds.runtime.compress.cocode.AColumnGroupPartitioner</a></li>
 <li>
 <ul class="inheritance">
 <li>org.apache.sysds.runtime.compress.cocode.ColumnGroupPartitionerBinPacking</li>
@@ -115,8 +115,10 @@
 <hr>
 <br>
 <pre>public class <span class="typeNameLabel">ColumnGroupPartitionerBinPacking</span>
-extends <a href="../../../../../../org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitioner.html" title="class in org.apache.sysds.runtime.compress.cocode">ColumnGroupPartitioner</a></pre>
-<div class="block">Column group partitioning with bin packing heuristic.</div>
+extends <a href="../../../../../../org/apache/sysds/runtime/compress/cocode/AColumnGroupPartitioner.html" title="class in org.apache.sysds.runtime.compress.cocode">AColumnGroupPartitioner</a></pre>
+<div class="block">Column group partitioning with bin packing heuristic.
+ 
+ TODO add this back with the new API!</div>
 </li>
 </ul>
 </div>
@@ -142,23 +144,6 @@
 </table>
 </li>
 </ul>
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.summary">
-<!--   -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitionerBinPacking.html#ColumnGroupPartitionerBinPacking--">ColumnGroupPartitionerBinPacking</a></span>()</code>&nbsp;</td>
-</tr>
-</table>
-</li>
-</ul>
 <!-- ========== METHOD SUMMARY =========== -->
 <ul class="blockList">
 <li class="blockList"><a name="method.summary">
@@ -172,12 +157,8 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
-<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;int[]&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitionerBinPacking.html#partitionColumns-java.util.List-java.util.HashMap-org.apache.sysds.runtime.compress.CompressionSettings-">partitionColumns</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;groupCols,
-                <a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCoder.GroupableColInfo</a>&gt;&nbsp;groupColsInfo,
-                <a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;cs)</code>
-<div class="block">Partitions a list of columns into a list of partitions that contains subsets of columns.</div>
-</td>
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfo</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitionerBinPacking.html#partitionColumns-org.apache.sysds.runtime.compress.estim.CompressedSizeInfo-">partitionColumns</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfo</a>&nbsp;colInfos)</code>&nbsp;</td>
 </tr>
 </table>
 <ul class="blockList">
@@ -212,50 +193,22 @@
 </ul>
 </li>
 </ul>
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.detail">
-<!--   -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="ColumnGroupPartitionerBinPacking--">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>ColumnGroupPartitionerBinPacking</h4>
-<pre>public&nbsp;ColumnGroupPartitionerBinPacking()</pre>
-</li>
-</ul>
-</li>
-</ul>
 <!-- ============ METHOD DETAIL ========== -->
 <ul class="blockList">
 <li class="blockList"><a name="method.detail">
 <!--   -->
 </a>
 <h3>Method Detail</h3>
-<a name="partitionColumns-java.util.List-java.util.HashMap-org.apache.sysds.runtime.compress.CompressionSettings-">
+<a name="partitionColumns-org.apache.sysds.runtime.compress.estim.CompressedSizeInfo-">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>partitionColumns</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;int[]&gt;&nbsp;partitionColumns(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;groupCols,
-                                    <a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCoder.GroupableColInfo</a>&gt;&nbsp;groupColsInfo,
-                                    <a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;cs)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitioner.html#partitionColumns-java.util.List-java.util.HashMap-org.apache.sysds.runtime.compress.CompressionSettings-">ColumnGroupPartitioner</a></code></span></div>
-<div class="block">Partitions a list of columns into a list of partitions that contains subsets of columns. Note that this call must
- compute a complete and disjoint partitioning.</div>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfo</a>&nbsp;partitionColumns(<a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfo</a>&nbsp;colInfos)</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitioner.html#partitionColumns-java.util.List-java.util.HashMap-org.apache.sysds.runtime.compress.CompressionSettings-">partitionColumns</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitioner.html" title="class in org.apache.sysds.runtime.compress.cocode">ColumnGroupPartitioner</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>groupCols</code> - list of columns</dd>
-<dd><code>groupColsInfo</code> - list of column infos</dd>
-<dd><code>cs</code> - The Compression settings used for the compression</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>list of partitions (where each partition is a list of columns)</dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/AColumnGroupPartitioner.html#partitionColumns-org.apache.sysds.runtime.compress.estim.CompressedSizeInfo-">partitionColumns</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/AColumnGroupPartitioner.html" title="class in org.apache.sysds.runtime.compress.cocode">AColumnGroupPartitioner</a></code></dd>
 </dl>
 </li>
 </ul>
@@ -287,7 +240,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitioner.html" title="class in org.apache.sysds.runtime.compress.cocode"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/AColumnGroupPartitioner.html" title="class in org.apache.sysds.runtime.compress.cocode"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitionerCost.html" title="class in org.apache.sysds.runtime.compress.cocode"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -314,13 +267,13 @@
 <li>Summary:&nbsp;</li>
 <li>Nested&nbsp;|&nbsp;</li>
 <li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
 <li><a href="#method.summary">Method</a></li>
 </ul>
 <ul class="subNavList">
 <li>Detail:&nbsp;</li>
 <li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
 <li><a href="#method.detail">Method</a></li>
 </ul>
 </div>
@@ -328,6 +281,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitionerCost.html b/docs/api/java/org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitionerCost.html
index ba31c0e..434001c 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitionerCost.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitionerCost.html
@@ -76,13 +76,13 @@
 <li>Summary:&nbsp;</li>
 <li>Nested&nbsp;|&nbsp;</li>
 <li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
 <li><a href="#method.summary">Method</a></li>
 </ul>
 <ul class="subNavList">
 <li>Detail:&nbsp;</li>
 <li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
 <li><a href="#method.detail">Method</a></li>
 </ul>
 </div>
@@ -100,7 +100,7 @@
 <li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitioner.html" title="class in org.apache.sysds.runtime.compress.cocode">org.apache.sysds.runtime.compress.cocode.ColumnGroupPartitioner</a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/AColumnGroupPartitioner.html" title="class in org.apache.sysds.runtime.compress.cocode">org.apache.sysds.runtime.compress.cocode.AColumnGroupPartitioner</a></li>
 <li>
 <ul class="inheritance">
 <li>org.apache.sysds.runtime.compress.cocode.ColumnGroupPartitionerCost</li>
@@ -115,31 +115,16 @@
 <hr>
 <br>
 <pre>public class <span class="typeNameLabel">ColumnGroupPartitionerCost</span>
-extends <a href="../../../../../../org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitioner.html" title="class in org.apache.sysds.runtime.compress.cocode">ColumnGroupPartitioner</a></pre>
-<div class="block">Column group partitioning with static number distinct elements heuristic</div>
+extends <a href="../../../../../../org/apache/sysds/runtime/compress/cocode/AColumnGroupPartitioner.html" title="class in org.apache.sysds.runtime.compress.cocode">AColumnGroupPartitioner</a></pre>
+<div class="block">Column group partitioning by number of distinct items estimated. This allows us to join columns based on the worst
+ case estimate of the joined sizes. Then once we decide to join, if the worst case is okay, we then analyze the actual
+ cardinality of the join.</div>
 </li>
 </ul>
 </div>
 <div class="summary">
 <ul class="blockList">
 <li class="blockList">
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.summary">
-<!--   -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitionerCost.html#ColumnGroupPartitionerCost--">ColumnGroupPartitionerCost</a></span>()</code>&nbsp;</td>
-</tr>
-</table>
-</li>
-</ul>
 <!-- ========== METHOD SUMMARY =========== -->
 <ul class="blockList">
 <li class="blockList"><a name="method.summary">
@@ -153,12 +138,8 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
-<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;int[]&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitionerCost.html#partitionColumns-java.util.List-java.util.HashMap-org.apache.sysds.runtime.compress.CompressionSettings-">partitionColumns</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;groupCols,
-                <a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCoder.GroupableColInfo</a>&gt;&nbsp;groupColsInfo,
-                <a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;cs)</code>
-<div class="block">Partitions a list of columns into a list of partitions that contains subsets of columns.</div>
-</td>
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfo</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitionerCost.html#partitionColumns-org.apache.sysds.runtime.compress.estim.CompressedSizeInfo-">partitionColumns</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfo</a>&nbsp;colInfos)</code>&nbsp;</td>
 </tr>
 </table>
 <ul class="blockList">
@@ -176,50 +157,22 @@
 <div class="details">
 <ul class="blockList">
 <li class="blockList">
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.detail">
-<!--   -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="ColumnGroupPartitionerCost--">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>ColumnGroupPartitionerCost</h4>
-<pre>public&nbsp;ColumnGroupPartitionerCost()</pre>
-</li>
-</ul>
-</li>
-</ul>
 <!-- ============ METHOD DETAIL ========== -->
 <ul class="blockList">
 <li class="blockList"><a name="method.detail">
 <!--   -->
 </a>
 <h3>Method Detail</h3>
-<a name="partitionColumns-java.util.List-java.util.HashMap-org.apache.sysds.runtime.compress.CompressionSettings-">
+<a name="partitionColumns-org.apache.sysds.runtime.compress.estim.CompressedSizeInfo-">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>partitionColumns</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;int[]&gt;&nbsp;partitionColumns(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;groupCols,
-                                    <a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCoder.GroupableColInfo</a>&gt;&nbsp;groupColsInfo,
-                                    <a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;cs)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitioner.html#partitionColumns-java.util.List-java.util.HashMap-org.apache.sysds.runtime.compress.CompressionSettings-">ColumnGroupPartitioner</a></code></span></div>
-<div class="block">Partitions a list of columns into a list of partitions that contains subsets of columns. Note that this call must
- compute a complete and disjoint partitioning.</div>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfo</a>&nbsp;partitionColumns(<a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfo</a>&nbsp;colInfos)</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitioner.html#partitionColumns-java.util.List-java.util.HashMap-org.apache.sysds.runtime.compress.CompressionSettings-">partitionColumns</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitioner.html" title="class in org.apache.sysds.runtime.compress.cocode">ColumnGroupPartitioner</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>groupCols</code> - list of columns</dd>
-<dd><code>groupColsInfo</code> - list of column infos</dd>
-<dd><code>cs</code> - The Compression settings used for the compression</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>list of partitions (where each partition is a list of columns)</dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/AColumnGroupPartitioner.html#partitionColumns-org.apache.sysds.runtime.compress.estim.CompressedSizeInfo-">partitionColumns</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/AColumnGroupPartitioner.html" title="class in org.apache.sysds.runtime.compress.cocode">AColumnGroupPartitioner</a></code></dd>
 </dl>
 </li>
 </ul>
@@ -278,13 +231,13 @@
 <li>Summary:&nbsp;</li>
 <li>Nested&nbsp;|&nbsp;</li>
 <li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
 <li><a href="#method.summary">Method</a></li>
 </ul>
 <ul class="subNavList">
 <li>Detail:&nbsp;</li>
 <li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
 <li><a href="#method.detail">Method</a></li>
 </ul>
 </div>
@@ -292,6 +245,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitionerStatic.html b/docs/api/java/org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitionerStatic.html
index a6d01c6..976a4cf 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitionerStatic.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitionerStatic.html
@@ -76,13 +76,13 @@
 <li>Summary:&nbsp;</li>
 <li>Nested&nbsp;|&nbsp;</li>
 <li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
 <li><a href="#method.summary">Method</a></li>
 </ul>
 <ul class="subNavList">
 <li>Detail:&nbsp;</li>
 <li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
 <li><a href="#method.detail">Method</a></li>
 </ul>
 </div>
@@ -100,7 +100,7 @@
 <li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitioner.html" title="class in org.apache.sysds.runtime.compress.cocode">org.apache.sysds.runtime.compress.cocode.ColumnGroupPartitioner</a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/AColumnGroupPartitioner.html" title="class in org.apache.sysds.runtime.compress.cocode">org.apache.sysds.runtime.compress.cocode.AColumnGroupPartitioner</a></li>
 <li>
 <ul class="inheritance">
 <li>org.apache.sysds.runtime.compress.cocode.ColumnGroupPartitionerStatic</li>
@@ -115,31 +115,16 @@
 <hr>
 <br>
 <pre>public class <span class="typeNameLabel">ColumnGroupPartitionerStatic</span>
-extends <a href="../../../../../../org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitioner.html" title="class in org.apache.sysds.runtime.compress.cocode">ColumnGroupPartitioner</a></pre>
-<div class="block">Column group partitioning with static distribution heuristic.</div>
+extends <a href="../../../../../../org/apache/sysds/runtime/compress/cocode/AColumnGroupPartitioner.html" title="class in org.apache.sysds.runtime.compress.cocode">AColumnGroupPartitioner</a></pre>
+<div class="block">Column group partitioning with static distribution heuristic.
+ 
+ TODO: Fix the joining!</div>
 </li>
 </ul>
 </div>
 <div class="summary">
 <ul class="blockList">
 <li class="blockList">
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.summary">
-<!--   -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitionerStatic.html#ColumnGroupPartitionerStatic--">ColumnGroupPartitionerStatic</a></span>()</code>&nbsp;</td>
-</tr>
-</table>
-</li>
-</ul>
 <!-- ========== METHOD SUMMARY =========== -->
 <ul class="blockList">
 <li class="blockList"><a name="method.summary">
@@ -153,12 +138,8 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
-<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;int[]&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitionerStatic.html#partitionColumns-java.util.List-java.util.HashMap-org.apache.sysds.runtime.compress.CompressionSettings-">partitionColumns</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;groupCols,
-                <a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCoder.GroupableColInfo</a>&gt;&nbsp;groupColsInfo,
-                <a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;cs)</code>
-<div class="block">Partitions a list of columns into a list of partitions that contains subsets of columns.</div>
-</td>
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfo</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitionerStatic.html#partitionColumns-org.apache.sysds.runtime.compress.estim.CompressedSizeInfo-">partitionColumns</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfo</a>&nbsp;colInfos)</code>&nbsp;</td>
 </tr>
 </table>
 <ul class="blockList">
@@ -176,50 +157,22 @@
 <div class="details">
 <ul class="blockList">
 <li class="blockList">
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.detail">
-<!--   -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="ColumnGroupPartitionerStatic--">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>ColumnGroupPartitionerStatic</h4>
-<pre>public&nbsp;ColumnGroupPartitionerStatic()</pre>
-</li>
-</ul>
-</li>
-</ul>
 <!-- ============ METHOD DETAIL ========== -->
 <ul class="blockList">
 <li class="blockList"><a name="method.detail">
 <!--   -->
 </a>
 <h3>Method Detail</h3>
-<a name="partitionColumns-java.util.List-java.util.HashMap-org.apache.sysds.runtime.compress.CompressionSettings-">
+<a name="partitionColumns-org.apache.sysds.runtime.compress.estim.CompressedSizeInfo-">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>partitionColumns</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;int[]&gt;&nbsp;partitionColumns(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;groupCols,
-                                    <a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCoder.GroupableColInfo</a>&gt;&nbsp;groupColsInfo,
-                                    <a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;cs)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitioner.html#partitionColumns-java.util.List-java.util.HashMap-org.apache.sysds.runtime.compress.CompressionSettings-">ColumnGroupPartitioner</a></code></span></div>
-<div class="block">Partitions a list of columns into a list of partitions that contains subsets of columns. Note that this call must
- compute a complete and disjoint partitioning.</div>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfo</a>&nbsp;partitionColumns(<a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfo</a>&nbsp;colInfos)</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitioner.html#partitionColumns-java.util.List-java.util.HashMap-org.apache.sysds.runtime.compress.CompressionSettings-">partitionColumns</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitioner.html" title="class in org.apache.sysds.runtime.compress.cocode">ColumnGroupPartitioner</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>groupCols</code> - list of columns</dd>
-<dd><code>groupColsInfo</code> - list of column infos</dd>
-<dd><code>cs</code> - The Compression settings used for the compression</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>list of partitions (where each partition is a list of columns)</dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/AColumnGroupPartitioner.html#partitionColumns-org.apache.sysds.runtime.compress.estim.CompressedSizeInfo-">partitionColumns</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/AColumnGroupPartitioner.html" title="class in org.apache.sysds.runtime.compress.cocode">AColumnGroupPartitioner</a></code></dd>
 </dl>
 </li>
 </ul>
@@ -278,13 +231,13 @@
 <li>Summary:&nbsp;</li>
 <li>Nested&nbsp;|&nbsp;</li>
 <li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
 <li><a href="#method.summary">Method</a></li>
 </ul>
 <ul class="subNavList">
 <li>Detail:&nbsp;</li>
 <li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
 <li><a href="#method.detail">Method</a></li>
 </ul>
 </div>
@@ -292,6 +245,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.PartitionerType.html b/docs/api/java/org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.PartitionerType.html
index 245fe88..59c00ee 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.PartitionerType.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.PartitionerType.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":9};
+var methods = {"i0":9,"i1":9,"i2":9};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -49,8 +49,8 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html" title="class in org.apache.sysds.runtime.compress.cocode"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.html" title="class in org.apache.sysds.runtime.compress.cocode"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.html" title="class in org.apache.sysds.runtime.compress.cocode"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.PartitionerType.html" target="_top">Frames</a></li>
@@ -148,6 +148,9 @@
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.PartitionerType.html#COST">COST</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.PartitionerType.html#COST_REEVALUATE">COST_REEVALUATE</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.PartitionerType.html#STATIC">STATIC</a></span></code>&nbsp;</td>
 </tr>
 </table>
@@ -166,12 +169,16 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
+<td class="colFirst"><code>static boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.PartitionerType.html#isCost-org.apache.sysds.runtime.compress.cocode.PlanningCoCoder.PartitionerType-">isCost</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.PartitionerType.html" title="enum in org.apache.sysds.runtime.compress.cocode">PlanningCoCoder.PartitionerType</a>&nbsp;x)</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.PartitionerType.html" title="enum in org.apache.sysds.runtime.compress.cocode">PlanningCoCoder.PartitionerType</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.PartitionerType.html#valueOf-java.lang.String-">valueOf</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
 <div class="block">Returns the enum constant of this type with the specified name.</div>
 </td>
 </tr>
-<tr id="i1" class="rowColor">
+<tr id="i2" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.PartitionerType.html" title="enum in org.apache.sysds.runtime.compress.cocode">PlanningCoCoder.PartitionerType</a>[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.PartitionerType.html#values--">values</a></span>()</code>
 <div class="block">Returns an array containing the constants of this enum type, in
@@ -228,12 +235,21 @@
 <a name="COST">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>COST</h4>
 <pre>public static final&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.PartitionerType.html" title="enum in org.apache.sysds.runtime.compress.cocode">PlanningCoCoder.PartitionerType</a> COST</pre>
 </li>
 </ul>
+<a name="COST_REEVALUATE">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>COST_REEVALUATE</h4>
+<pre>public static final&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.PartitionerType.html" title="enum in org.apache.sysds.runtime.compress.cocode">PlanningCoCoder.PartitionerType</a> COST_REEVALUATE</pre>
+</li>
+</ul>
 </li>
 </ul>
 <!-- ============ METHOD DETAIL ========== -->
@@ -265,7 +281,7 @@
 <a name="valueOf-java.lang.String-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>valueOf</h4>
 <pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.PartitionerType.html" title="enum in org.apache.sysds.runtime.compress.cocode">PlanningCoCoder.PartitionerType</a>&nbsp;valueOf(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
@@ -284,6 +300,15 @@
 </dl>
 </li>
 </ul>
+<a name="isCost-org.apache.sysds.runtime.compress.cocode.PlanningCoCoder.PartitionerType-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>isCost</h4>
+<pre>public static&nbsp;boolean&nbsp;isCost(<a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.PartitionerType.html" title="enum in org.apache.sysds.runtime.compress.cocode">PlanningCoCoder.PartitionerType</a>&nbsp;x)</pre>
+</li>
+</ul>
 </li>
 </ul>
 </li>
@@ -312,8 +337,8 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html" title="class in org.apache.sysds.runtime.compress.cocode"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.html" title="class in org.apache.sysds.runtime.compress.cocode"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.html" title="class in org.apache.sysds.runtime.compress.cocode"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.PartitionerType.html" target="_top">Frames</a></li>
@@ -353,6 +378,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.html b/docs/api/java/org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.html
index 23fa975..abbd311 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.html
@@ -50,7 +50,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitionerStatic.html" title="class in org.apache.sysds.runtime.compress.cocode"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html" title="class in org.apache.sysds.runtime.compress.cocode"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.PartitionerType.html" title="enum in org.apache.sysds.runtime.compress.cocode"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.html" target="_top">Frames</a></li>
@@ -131,10 +131,6 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCoder.GroupableColInfo</a></span></code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>static class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.PartitionerType.html" title="enum in org.apache.sysds.runtime.compress.cocode">PlanningCoCoder.PartitionerType</a></span></code>&nbsp;</td>
 </tr>
 </table>
@@ -170,7 +166,7 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
-<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;int[]&gt;</code></td>
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfo</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.html#findCoCodesByPartitioning-org.apache.sysds.runtime.compress.estim.CompressedSizeEstimator-org.apache.sysds.runtime.compress.estim.CompressedSizeInfo-int-int-org.apache.sysds.runtime.compress.CompressionSettings-">findCoCodesByPartitioning</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimator.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeEstimator</a>&nbsp;sizeEstimator,
                          <a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfo</a>&nbsp;colInfos,
                          int&nbsp;numRows,
@@ -224,11 +220,11 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>findCoCodesByPartitioning</h4>
-<pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;int[]&gt;&nbsp;findCoCodesByPartitioning(<a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimator.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeEstimator</a>&nbsp;sizeEstimator,
-                                                    <a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfo</a>&nbsp;colInfos,
-                                                    int&nbsp;numRows,
-                                                    int&nbsp;k,
-                                                    <a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;cs)</pre>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfo</a>&nbsp;findCoCodesByPartitioning(<a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimator.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeEstimator</a>&nbsp;sizeEstimator,
+                                                           <a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfo</a>&nbsp;colInfos,
+                                                           int&nbsp;numRows,
+                                                           int&nbsp;k,
+                                                           <a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;cs)</pre>
 <div class="block">Main entry point of CoCode.
  
  This package groups together ColGroups across columns, to improve compression further,</div>
@@ -273,7 +269,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitionerStatic.html" title="class in org.apache.sysds.runtime.compress.cocode"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html" title="class in org.apache.sysds.runtime.compress.cocode"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.PartitionerType.html" title="enum in org.apache.sysds.runtime.compress.cocode"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.html" target="_top">Frames</a></li>
@@ -313,6 +309,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.ColIndexes.html b/docs/api/java/org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.ColIndexes.html
deleted file mode 100644
index e97ddf3..0000000
--- a/docs/api/java/org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.ColIndexes.html
+++ /dev/null
@@ -1,297 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc -->
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>PlanningCoCodingGroup.ColIndexes (SystemDS 2.1.0-SNAPSHOT API)</title>
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="PlanningCoCodingGroup.ColIndexes (SystemDS 2.1.0-SNAPSHOT API)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":10,"i1":10};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/PlanningCoCodingGroup.ColIndexes.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.html" title="class in org.apache.sysds.runtime.compress.cocode"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningMemoTable.html" title="class in org.apache.sysds.runtime.compress.cocode"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.ColIndexes.html" target="_top">Frames</a></li>
-<li><a href="PlanningCoCodingGroup.ColIndexes.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.sysds.runtime.compress.cocode</div>
-<h2 title="Class PlanningCoCodingGroup.ColIndexes" class="title">Class PlanningCoCodingGroup.ColIndexes</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
-<li>
-<ul class="inheritance">
-<li>org.apache.sysds.runtime.compress.cocode.PlanningCoCodingGroup.ColIndexes</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<dl>
-<dt>Enclosing class:</dt>
-<dd><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCodingGroup</a></dd>
-</dl>
-<hr>
-<br>
-<pre>public static class <span class="typeNameLabel">PlanningCoCodingGroup.ColIndexes</span>
-extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.summary">
-<!--   -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.ColIndexes.html#ColIndexes-int:A-">ColIndexes</a></span>(int[]&nbsp;colIndexes)</code>&nbsp;</td>
-</tr>
-</table>
-</li>
-</ul>
-<!-- ========== METHOD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.summary">
-<!--   -->
-</a>
-<h3>Method Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.ColIndexes.html#equals-java.lang.Object-">equals</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;that)</code>&nbsp;</td>
-</tr>
-<tr id="i1" class="rowColor">
-<td class="colFirst"><code>int</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.ColIndexes.html#hashCode--">hashCode</a></span>()</code>&nbsp;</td>
-</tr>
-</table>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
-<!--   -->
-</a>
-<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
-<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.detail">
-<!--   -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="ColIndexes-int:A-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>ColIndexes</h4>
-<pre>public&nbsp;ColIndexes(int[]&nbsp;colIndexes)</pre>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="hashCode--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>hashCode</h4>
-<pre>public&nbsp;int&nbsp;hashCode()</pre>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
-</dl>
-</li>
-</ul>
-<a name="equals-java.lang.Object-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>equals</h4>
-<pre>public&nbsp;boolean&nbsp;equals(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;that)</pre>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/PlanningCoCodingGroup.ColIndexes.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.html" title="class in org.apache.sysds.runtime.compress.cocode"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningMemoTable.html" title="class in org.apache.sysds.runtime.compress.cocode"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.ColIndexes.html" target="_top">Frames</a></li>
-<li><a href="PlanningCoCodingGroup.ColIndexes.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
-</body>
-</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.html b/docs/api/java/org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.html
deleted file mode 100644
index 83446b1..0000000
--- a/docs/api/java/org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.html
+++ /dev/null
@@ -1,468 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc -->
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>PlanningCoCodingGroup (SystemDS 2.1.0-SNAPSHOT API)</title>
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="PlanningCoCodingGroup (SystemDS 2.1.0-SNAPSHOT API)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":9,"i7":10,"i8":10,"i9":10};
-var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/PlanningCoCodingGroup.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.PartitionerType.html" title="enum in org.apache.sysds.runtime.compress.cocode"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.ColIndexes.html" title="class in org.apache.sysds.runtime.compress.cocode"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.html" target="_top">Frames</a></li>
-<li><a href="PlanningCoCodingGroup.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.sysds.runtime.compress.cocode</div>
-<h2 title="Class PlanningCoCodingGroup" class="title">Class PlanningCoCodingGroup</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
-<li>
-<ul class="inheritance">
-<li>org.apache.sysds.runtime.compress.cocode.PlanningCoCodingGroup</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<hr>
-<br>
-<pre>public class <span class="typeNameLabel">PlanningCoCodingGroup</span>
-extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
-<div class="block">Class to represent information about co-coding a group of columns.</div>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ======== NESTED CLASS SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="nested.class.summary">
-<!--   -->
-</a>
-<h3>Nested Class Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
-<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Class and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>static class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.ColIndexes.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCodingGroup.ColIndexes</a></span></code>&nbsp;</td>
-</tr>
-</table>
-</li>
-</ul>
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.summary">
-<!--   -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.html#PlanningCoCodingGroup-int-org.apache.sysds.runtime.compress.cocode.PlanningCoCoder.GroupableColInfo-">PlanningCoCodingGroup</a></span>(int&nbsp;col,
-                     <a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCoder.GroupableColInfo</a>&nbsp;info)</code>
-<div class="block">Constructor for a one-column group; i.e.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.html#PlanningCoCodingGroup-org.apache.sysds.runtime.compress.cocode.PlanningCoCodingGroup-org.apache.sysds.runtime.compress.cocode.PlanningCoCodingGroup-org.apache.sysds.runtime.compress.estim.CompressedSizeEstimator-int-">PlanningCoCodingGroup</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCodingGroup</a>&nbsp;grp1,
-                     <a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCodingGroup</a>&nbsp;grp2,
-                     <a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimator.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeEstimator</a>&nbsp;estim,
-                     int&nbsp;numRows)</code>
-<div class="block">Constructor for merging two disjoint groups of columns</div>
-</td>
-</tr>
-</table>
-</li>
-</ul>
-<!-- ========== METHOD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.summary">
-<!--   -->
-</a>
-<h3>Method Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.html#equals-java.lang.Object-">equals</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;that)</code>&nbsp;</td>
-</tr>
-<tr id="i1" class="rowColor">
-<td class="colFirst"><code>double</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.html#getCardinalityRatio--">getCardinalityRatio</a></span>()</code>&nbsp;</td>
-</tr>
-<tr id="i2" class="altColor">
-<td class="colFirst"><code>double</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.html#getChangeInSize--">getChangeInSize</a></span>()</code>&nbsp;</td>
-</tr>
-<tr id="i3" class="rowColor">
-<td class="colFirst"><code>int[]</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.html#getColIndices--">getColIndices</a></span>()</code>&nbsp;</td>
-</tr>
-<tr id="i4" class="altColor">
-<td class="colFirst"><code>long</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.html#getEstSize--">getEstSize</a></span>()</code>
-<div class="block">Obtain estimated compressed size of the grouped columns.</div>
-</td>
-</tr>
-<tr id="i5" class="rowColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCodingGroup</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.html#getLeftGroup--">getLeftGroup</a></span>()</code>&nbsp;</td>
-</tr>
-<tr id="i6" class="altColor">
-<td class="colFirst"><code>static int[]</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.html#getMergedIndexes-int:A-int:A-">getMergedIndexes</a></span>(int[]&nbsp;indexes1,
-                int[]&nbsp;indexes2)</code>&nbsp;</td>
-</tr>
-<tr id="i7" class="rowColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCodingGroup</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.html#getRightGroup--">getRightGroup</a></span>()</code>&nbsp;</td>
-</tr>
-<tr id="i8" class="altColor">
-<td class="colFirst"><code>int</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.html#hashCode--">hashCode</a></span>()</code>&nbsp;</td>
-</tr>
-<tr id="i9" class="rowColor">
-<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.html#toString--">toString</a></span>()</code>&nbsp;</td>
-</tr>
-</table>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
-<!--   -->
-</a>
-<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
-<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.detail">
-<!--   -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="PlanningCoCodingGroup-int-org.apache.sysds.runtime.compress.cocode.PlanningCoCoder.GroupableColInfo-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>PlanningCoCodingGroup</h4>
-<pre>public&nbsp;PlanningCoCodingGroup(int&nbsp;col,
-                             <a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCoder.GroupableColInfo</a>&nbsp;info)</pre>
-<div class="block">Constructor for a one-column group; i.e. do not co-code a given column.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>col</code> - column</dd>
-<dd><code>info</code> - groupable column info</dd>
-</dl>
-</li>
-</ul>
-<a name="PlanningCoCodingGroup-org.apache.sysds.runtime.compress.cocode.PlanningCoCodingGroup-org.apache.sysds.runtime.compress.cocode.PlanningCoCodingGroup-org.apache.sysds.runtime.compress.estim.CompressedSizeEstimator-int-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>PlanningCoCodingGroup</h4>
-<pre>public&nbsp;PlanningCoCodingGroup(<a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCodingGroup</a>&nbsp;grp1,
-                             <a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCodingGroup</a>&nbsp;grp2,
-                             <a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimator.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeEstimator</a>&nbsp;estim,
-                             int&nbsp;numRows)</pre>
-<div class="block">Constructor for merging two disjoint groups of columns</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>grp1</code> - first column group to merge</dd>
-<dd><code>grp2</code> - second column group to merge</dd>
-<dd><code>estim</code> - bitmap size estimator</dd>
-<dd><code>numRows</code> - number of rows</dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="getColIndices--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getColIndices</h4>
-<pre>public&nbsp;int[]&nbsp;getColIndices()</pre>
-</li>
-</ul>
-<a name="getEstSize--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getEstSize</h4>
-<pre>public&nbsp;long&nbsp;getEstSize()</pre>
-<div class="block">Obtain estimated compressed size of the grouped columns.</div>
-<dl>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>estimated compressed size of the grouped columns</dd>
-</dl>
-</li>
-</ul>
-<a name="getChangeInSize--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getChangeInSize</h4>
-<pre>public&nbsp;double&nbsp;getChangeInSize()</pre>
-</li>
-</ul>
-<a name="getCardinalityRatio--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getCardinalityRatio</h4>
-<pre>public&nbsp;double&nbsp;getCardinalityRatio()</pre>
-</li>
-</ul>
-<a name="getLeftGroup--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getLeftGroup</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCodingGroup</a>&nbsp;getLeftGroup()</pre>
-</li>
-</ul>
-<a name="getRightGroup--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getRightGroup</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCodingGroup</a>&nbsp;getRightGroup()</pre>
-</li>
-</ul>
-<a name="hashCode--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>hashCode</h4>
-<pre>public&nbsp;int&nbsp;hashCode()</pre>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
-</dl>
-</li>
-</ul>
-<a name="equals-java.lang.Object-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>equals</h4>
-<pre>public&nbsp;boolean&nbsp;equals(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;that)</pre>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
-</dl>
-</li>
-</ul>
-<a name="toString--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>toString</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
-</dl>
-</li>
-</ul>
-<a name="getMergedIndexes-int:A-int:A-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>getMergedIndexes</h4>
-<pre>public static&nbsp;int[]&nbsp;getMergedIndexes(int[]&nbsp;indexes1,
-                                     int[]&nbsp;indexes2)</pre>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/PlanningCoCodingGroup.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.PartitionerType.html" title="enum in org.apache.sysds.runtime.compress.cocode"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.ColIndexes.html" title="class in org.apache.sysds.runtime.compress.cocode"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.html" target="_top">Frames</a></li>
-<li><a href="PlanningCoCodingGroup.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
-</body>
-</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/cocode/PlanningMemoTable.html b/docs/api/java/org/apache/sysds/runtime/compress/cocode/PlanningMemoTable.html
deleted file mode 100644
index 3d440f9..0000000
--- a/docs/api/java/org/apache/sysds/runtime/compress/cocode/PlanningMemoTable.html
+++ /dev/null
@@ -1,334 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc -->
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>PlanningMemoTable (SystemDS 2.1.0-SNAPSHOT API)</title>
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="PlanningMemoTable (SystemDS 2.1.0-SNAPSHOT API)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/PlanningMemoTable.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.ColIndexes.html" title="class in org.apache.sysds.runtime.compress.cocode"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li>Next&nbsp;Class</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/cocode/PlanningMemoTable.html" target="_top">Frames</a></li>
-<li><a href="PlanningMemoTable.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.sysds.runtime.compress.cocode</div>
-<h2 title="Class PlanningMemoTable" class="title">Class PlanningMemoTable</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
-<li>
-<ul class="inheritance">
-<li>org.apache.sysds.runtime.compress.cocode.PlanningMemoTable</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<hr>
-<br>
-<pre>public class <span class="typeNameLabel">PlanningMemoTable</span>
-extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.summary">
-<!--   -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningMemoTable.html#PlanningMemoTable--">PlanningMemoTable</a></span>()</code>&nbsp;</td>
-</tr>
-</table>
-</li>
-</ul>
-<!-- ========== METHOD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.summary">
-<!--   -->
-</a>
-<h3>Method Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>double</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningMemoTable.html#getOptChangeInSize--">getOptChangeInSize</a></span>()</code>&nbsp;</td>
-</tr>
-<tr id="i1" class="rowColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCodingGroup</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningMemoTable.html#getOrCreate-org.apache.sysds.runtime.compress.cocode.PlanningCoCodingGroup-org.apache.sysds.runtime.compress.cocode.PlanningCoCodingGroup-org.apache.sysds.runtime.compress.estim.CompressedSizeEstimator-int-">getOrCreate</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCodingGroup</a>&nbsp;c1,
-           <a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCodingGroup</a>&nbsp;c2,
-           <a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimator.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeEstimator</a>&nbsp;estim,
-           int&nbsp;numRows)</code>&nbsp;</td>
-</tr>
-<tr id="i2" class="altColor">
-<td class="colFirst"><code>int[]</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningMemoTable.html#getStats--">getStats</a></span>()</code>&nbsp;</td>
-</tr>
-<tr id="i3" class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningMemoTable.html#incrStats-int-int-int-">incrStats</a></span>(int&nbsp;v1,
-         int&nbsp;v2,
-         int&nbsp;v3)</code>&nbsp;</td>
-</tr>
-<tr id="i4" class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningMemoTable.html#remove-org.apache.sysds.runtime.compress.cocode.PlanningCoCodingGroup-">remove</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCodingGroup</a>&nbsp;grp)</code>&nbsp;</td>
-</tr>
-</table>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
-<!--   -->
-</a>
-<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
-<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.detail">
-<!--   -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="PlanningMemoTable--">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>PlanningMemoTable</h4>
-<pre>public&nbsp;PlanningMemoTable()</pre>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="getOrCreate-org.apache.sysds.runtime.compress.cocode.PlanningCoCodingGroup-org.apache.sysds.runtime.compress.cocode.PlanningCoCodingGroup-org.apache.sysds.runtime.compress.estim.CompressedSizeEstimator-int-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getOrCreate</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCodingGroup</a>&nbsp;getOrCreate(<a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCodingGroup</a>&nbsp;c1,
-                                         <a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCodingGroup</a>&nbsp;c2,
-                                         <a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimator.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeEstimator</a>&nbsp;estim,
-                                         int&nbsp;numRows)</pre>
-</li>
-</ul>
-<a name="remove-org.apache.sysds.runtime.compress.cocode.PlanningCoCodingGroup-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>remove</h4>
-<pre>public&nbsp;void&nbsp;remove(<a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCodingGroup</a>&nbsp;grp)</pre>
-</li>
-</ul>
-<a name="incrStats-int-int-int-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>incrStats</h4>
-<pre>public&nbsp;void&nbsp;incrStats(int&nbsp;v1,
-                      int&nbsp;v2,
-                      int&nbsp;v3)</pre>
-</li>
-</ul>
-<a name="getOptChangeInSize--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getOptChangeInSize</h4>
-<pre>public&nbsp;double&nbsp;getOptChangeInSize()</pre>
-</li>
-</ul>
-<a name="getStats--">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>getStats</h4>
-<pre>public&nbsp;int[]&nbsp;getStats()</pre>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/PlanningMemoTable.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.ColIndexes.html" title="class in org.apache.sysds.runtime.compress.cocode"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li>Next&nbsp;Class</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/cocode/PlanningMemoTable.html" target="_top">Frames</a></li>
-<li><a href="PlanningMemoTable.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
-</body>
-</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/cocode/class-use/ColumnGroupPartitioner.html b/docs/api/java/org/apache/sysds/runtime/compress/cocode/class-use/AColumnGroupPartitioner.html
similarity index 76%
rename from docs/api/java/org/apache/sysds/runtime/compress/cocode/class-use/ColumnGroupPartitioner.html
rename to docs/api/java/org/apache/sysds/runtime/compress/cocode/class-use/AColumnGroupPartitioner.html
index afbad44..2f4ff4d 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/cocode/class-use/ColumnGroupPartitioner.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/cocode/class-use/AColumnGroupPartitioner.html
@@ -4,7 +4,7 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.sysds.runtime.compress.cocode.ColumnGroupPartitioner (SystemDS 2.1.0-SNAPSHOT API)</title>
+<title>Uses of Class org.apache.sysds.runtime.compress.cocode.AColumnGroupPartitioner (SystemDS 2.1.0-SNAPSHOT API)</title>
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.sysds.runtime.compress.cocode.ColumnGroupPartitioner (SystemDS 2.1.0-SNAPSHOT API)";
+            parent.document.title="Uses of Class org.apache.sysds.runtime.compress.cocode.AColumnGroupPartitioner (SystemDS 2.1.0-SNAPSHOT API)";
         }
     }
     catch(err) {
@@ -33,7 +33,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitioner.html" title="class in org.apache.sysds.runtime.compress.cocode">Class</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/AColumnGroupPartitioner.html" title="class in org.apache.sysds.runtime.compress.cocode">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -47,8 +47,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/cocode/class-use/ColumnGroupPartitioner.html" target="_top">Frames</a></li>
-<li><a href="ColumnGroupPartitioner.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/cocode/class-use/AColumnGroupPartitioner.html" target="_top">Frames</a></li>
+<li><a href="AColumnGroupPartitioner.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -70,13 +70,13 @@
 </a></div>
 <!-- ========= END OF TOP NAVBAR ========= -->
 <div class="header">
-<h2 title="Uses of Class org.apache.sysds.runtime.compress.cocode.ColumnGroupPartitioner" class="title">Uses of Class<br>org.apache.sysds.runtime.compress.cocode.ColumnGroupPartitioner</h2>
+<h2 title="Uses of Class org.apache.sysds.runtime.compress.cocode.AColumnGroupPartitioner" class="title">Uses of Class<br>org.apache.sysds.runtime.compress.cocode.AColumnGroupPartitioner</h2>
 </div>
 <div class="classUseContainer">
 <ul class="blockList">
 <li class="blockList">
 <table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
-<caption><span>Packages that use <a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitioner.html" title="class in org.apache.sysds.runtime.compress.cocode">ColumnGroupPartitioner</a></span><span class="tabEnd">&nbsp;</span></caption>
+<caption><span>Packages that use <a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/AColumnGroupPartitioner.html" title="class in org.apache.sysds.runtime.compress.cocode">AColumnGroupPartitioner</a></span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
 <th class="colFirst" scope="col">Package</th>
 <th class="colLast" scope="col">Description</th>
@@ -94,9 +94,9 @@
 <li class="blockList"><a name="org.apache.sysds.runtime.compress.cocode">
 <!--   -->
 </a>
-<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitioner.html" title="class in org.apache.sysds.runtime.compress.cocode">ColumnGroupPartitioner</a> in <a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/package-summary.html">org.apache.sysds.runtime.compress.cocode</a></h3>
+<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/AColumnGroupPartitioner.html" title="class in org.apache.sysds.runtime.compress.cocode">AColumnGroupPartitioner</a> in <a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/package-summary.html">org.apache.sysds.runtime.compress.cocode</a></h3>
 <table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subclasses, and an explanation">
-<caption><span>Subclasses of <a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitioner.html" title="class in org.apache.sysds.runtime.compress.cocode">ColumnGroupPartitioner</a> in <a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/package-summary.html">org.apache.sysds.runtime.compress.cocode</a></span><span class="tabEnd">&nbsp;</span></caption>
+<caption><span>Subclasses of <a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/AColumnGroupPartitioner.html" title="class in org.apache.sysds.runtime.compress.cocode">AColumnGroupPartitioner</a> in <a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/package-summary.html">org.apache.sysds.runtime.compress.cocode</a></span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
 <th class="colLast" scope="col">Class and Description</th>
@@ -111,7 +111,7 @@
 <tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitionerCost.html" title="class in org.apache.sysds.runtime.compress.cocode">ColumnGroupPartitionerCost</a></span></code>
-<div class="block">Column group partitioning with static number distinct elements heuristic</div>
+<div class="block">Column group partitioning by number of distinct items estimated.</div>
 </td>
 </tr>
 <tr class="altColor">
@@ -138,7 +138,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitioner.html" title="class in org.apache.sysds.runtime.compress.cocode">Class</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/AColumnGroupPartitioner.html" title="class in org.apache.sysds.runtime.compress.cocode">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -152,8 +152,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/cocode/class-use/ColumnGroupPartitioner.html" target="_top">Frames</a></li>
-<li><a href="ColumnGroupPartitioner.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/cocode/class-use/AColumnGroupPartitioner.html" target="_top">Frames</a></li>
+<li><a href="AColumnGroupPartitioner.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -174,6 +174,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/cocode/class-use/ColumnGroupPartitionerBinPacking.html b/docs/api/java/org/apache/sysds/runtime/compress/cocode/class-use/ColumnGroupPartitionerBinPacking.html
index f3c8162..ab7ba56 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/cocode/class-use/ColumnGroupPartitionerBinPacking.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/cocode/class-use/ColumnGroupPartitionerBinPacking.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/cocode/class-use/ColumnGroupPartitionerCost.html b/docs/api/java/org/apache/sysds/runtime/compress/cocode/class-use/ColumnGroupPartitionerCost.html
index f8b388c..ca5b77c 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/cocode/class-use/ColumnGroupPartitionerCost.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/cocode/class-use/ColumnGroupPartitionerCost.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/cocode/class-use/ColumnGroupPartitionerStatic.html b/docs/api/java/org/apache/sysds/runtime/compress/cocode/class-use/ColumnGroupPartitionerStatic.html
index 892c5ee..b95446f 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/cocode/class-use/ColumnGroupPartitionerStatic.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/cocode/class-use/ColumnGroupPartitionerStatic.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/cocode/class-use/PlanningCoCoder.GroupableColInfo.html b/docs/api/java/org/apache/sysds/runtime/compress/cocode/class-use/PlanningCoCoder.GroupableColInfo.html
deleted file mode 100644
index ad7bd9c..0000000
--- a/docs/api/java/org/apache/sysds/runtime/compress/cocode/class-use/PlanningCoCoder.GroupableColInfo.html
+++ /dev/null
@@ -1,201 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc -->
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.sysds.runtime.compress.cocode.PlanningCoCoder.GroupableColInfo (SystemDS 2.1.0-SNAPSHOT API)</title>
-<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.sysds.runtime.compress.cocode.PlanningCoCoder.GroupableColInfo (SystemDS 2.1.0-SNAPSHOT API)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html" title="class in org.apache.sysds.runtime.compress.cocode">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../package-tree.html">Tree</a></li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/cocode/class-use/PlanningCoCoder.GroupableColInfo.html" target="_top">Frames</a></li>
-<li><a href="PlanningCoCoder.GroupableColInfo.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class org.apache.sysds.runtime.compress.cocode.PlanningCoCoder.GroupableColInfo" class="title">Uses of Class<br>org.apache.sysds.runtime.compress.cocode.PlanningCoCoder.GroupableColInfo</h2>
-</div>
-<div class="classUseContainer">
-<ul class="blockList">
-<li class="blockList">
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
-<caption><span>Packages that use <a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCoder.GroupableColInfo</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Package</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a href="#org.apache.sysds.runtime.compress.cocode">org.apache.sysds.runtime.compress.cocode</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList">
-<ul class="blockList">
-<li class="blockList"><a name="org.apache.sysds.runtime.compress.cocode">
-<!--   -->
-</a>
-<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCoder.GroupableColInfo</a> in <a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/package-summary.html">org.apache.sysds.runtime.compress.cocode</a></h3>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Method parameters in <a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/package-summary.html">org.apache.sysds.runtime.compress.cocode</a> with type arguments of type <a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCoder.GroupableColInfo</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;int[]&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">ColumnGroupPartitionerStatic.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitionerStatic.html#partitionColumns-java.util.List-java.util.HashMap-org.apache.sysds.runtime.compress.CompressionSettings-">partitionColumns</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;groupCols,
-                <a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCoder.GroupableColInfo</a>&gt;&nbsp;groupColsInfo,
-                <a href="../../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;cs)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;int[]&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">ColumnGroupPartitionerBinPacking.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitionerBinPacking.html#partitionColumns-java.util.List-java.util.HashMap-org.apache.sysds.runtime.compress.CompressionSettings-">partitionColumns</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;groupCols,
-                <a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCoder.GroupableColInfo</a>&gt;&nbsp;groupColsInfo,
-                <a href="../../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;cs)</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;int[]&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">ColumnGroupPartitionerCost.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitionerCost.html#partitionColumns-java.util.List-java.util.HashMap-org.apache.sysds.runtime.compress.CompressionSettings-">partitionColumns</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;groupCols,
-                <a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCoder.GroupableColInfo</a>&gt;&nbsp;groupColsInfo,
-                <a href="../../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;cs)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>abstract <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;int[]&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">ColumnGroupPartitioner.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitioner.html#partitionColumns-java.util.List-java.util.HashMap-org.apache.sysds.runtime.compress.CompressionSettings-">partitionColumns</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;groupCols,
-                <a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCoder.GroupableColInfo</a>&gt;&nbsp;groupColsInfo,
-                <a href="../../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;cs)</code>
-<div class="block">Partitions a list of columns into a list of partitions that contains subsets of columns.</div>
-</td>
-</tr>
-</tbody>
-</table>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
-<caption><span>Constructors in <a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/package-summary.html">org.apache.sysds.runtime.compress.cocode</a> with parameters of type <a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCoder.GroupableColInfo</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.html#PlanningCoCodingGroup-int-org.apache.sysds.runtime.compress.cocode.PlanningCoCoder.GroupableColInfo-">PlanningCoCodingGroup</a></span>(int&nbsp;col,
-                     <a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCoder.GroupableColInfo</a>&nbsp;info)</code>
-<div class="block">Constructor for a one-column group; i.e.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html" title="class in org.apache.sysds.runtime.compress.cocode">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../package-tree.html">Tree</a></li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/cocode/class-use/PlanningCoCoder.GroupableColInfo.html" target="_top">Frames</a></li>
-<li><a href="PlanningCoCoder.GroupableColInfo.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
-</body>
-</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/cocode/class-use/PlanningCoCoder.PartitionerType.html b/docs/api/java/org/apache/sysds/runtime/compress/cocode/class-use/PlanningCoCoder.PartitionerType.html
index a6d0fd7..7392d14 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/cocode/class-use/PlanningCoCoder.PartitionerType.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/cocode/class-use/PlanningCoCoder.PartitionerType.html
@@ -156,6 +156,19 @@
 </tr>
 </tbody>
 </table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/package-summary.html">org.apache.sysds.runtime.compress.cocode</a> with parameters of type <a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.PartitionerType.html" title="enum in org.apache.sysds.runtime.compress.cocode">PlanningCoCoder.PartitionerType</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>static boolean</code></td>
+<td class="colLast"><span class="typeNameLabel">PlanningCoCoder.PartitionerType.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.PartitionerType.html#isCost-org.apache.sysds.runtime.compress.cocode.PlanningCoCoder.PartitionerType-">isCost</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.PartitionerType.html" title="enum in org.apache.sysds.runtime.compress.cocode">PlanningCoCoder.PartitionerType</a>&nbsp;x)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
 </li>
 </ul>
 </li>
@@ -208,6 +221,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/cocode/class-use/PlanningCoCoder.html b/docs/api/java/org/apache/sysds/runtime/compress/cocode/class-use/PlanningCoCoder.html
index 6283bf1..570a808 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/cocode/class-use/PlanningCoCoder.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/cocode/class-use/PlanningCoCoder.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/cocode/class-use/PlanningCoCodingGroup.html b/docs/api/java/org/apache/sysds/runtime/compress/cocode/class-use/PlanningCoCodingGroup.html
deleted file mode 100644
index 855f526..0000000
--- a/docs/api/java/org/apache/sysds/runtime/compress/cocode/class-use/PlanningCoCodingGroup.html
+++ /dev/null
@@ -1,212 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc -->
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.sysds.runtime.compress.cocode.PlanningCoCodingGroup (SystemDS 2.1.0-SNAPSHOT API)</title>
-<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.sysds.runtime.compress.cocode.PlanningCoCodingGroup (SystemDS 2.1.0-SNAPSHOT API)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.html" title="class in org.apache.sysds.runtime.compress.cocode">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../package-tree.html">Tree</a></li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/cocode/class-use/PlanningCoCodingGroup.html" target="_top">Frames</a></li>
-<li><a href="PlanningCoCodingGroup.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class org.apache.sysds.runtime.compress.cocode.PlanningCoCodingGroup" class="title">Uses of Class<br>org.apache.sysds.runtime.compress.cocode.PlanningCoCodingGroup</h2>
-</div>
-<div class="classUseContainer">
-<ul class="blockList">
-<li class="blockList">
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
-<caption><span>Packages that use <a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCodingGroup</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Package</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a href="#org.apache.sysds.runtime.compress.cocode">org.apache.sysds.runtime.compress.cocode</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList">
-<ul class="blockList">
-<li class="blockList"><a name="org.apache.sysds.runtime.compress.cocode">
-<!--   -->
-</a>
-<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCodingGroup</a> in <a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/package-summary.html">org.apache.sysds.runtime.compress.cocode</a></h3>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/package-summary.html">org.apache.sysds.runtime.compress.cocode</a> that return <a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCodingGroup</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCodingGroup</a></code></td>
-<td class="colLast"><span class="typeNameLabel">PlanningCoCodingGroup.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.html#getLeftGroup--">getLeftGroup</a></span>()</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCodingGroup</a></code></td>
-<td class="colLast"><span class="typeNameLabel">PlanningMemoTable.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningMemoTable.html#getOrCreate-org.apache.sysds.runtime.compress.cocode.PlanningCoCodingGroup-org.apache.sysds.runtime.compress.cocode.PlanningCoCodingGroup-org.apache.sysds.runtime.compress.estim.CompressedSizeEstimator-int-">getOrCreate</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCodingGroup</a>&nbsp;c1,
-           <a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCodingGroup</a>&nbsp;c2,
-           <a href="../../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimator.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeEstimator</a>&nbsp;estim,
-           int&nbsp;numRows)</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCodingGroup</a></code></td>
-<td class="colLast"><span class="typeNameLabel">PlanningCoCodingGroup.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.html#getRightGroup--">getRightGroup</a></span>()</code>&nbsp;</td>
-</tr>
-</tbody>
-</table>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/package-summary.html">org.apache.sysds.runtime.compress.cocode</a> with parameters of type <a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCodingGroup</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCodingGroup</a></code></td>
-<td class="colLast"><span class="typeNameLabel">PlanningMemoTable.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningMemoTable.html#getOrCreate-org.apache.sysds.runtime.compress.cocode.PlanningCoCodingGroup-org.apache.sysds.runtime.compress.cocode.PlanningCoCodingGroup-org.apache.sysds.runtime.compress.estim.CompressedSizeEstimator-int-">getOrCreate</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCodingGroup</a>&nbsp;c1,
-           <a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCodingGroup</a>&nbsp;c2,
-           <a href="../../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimator.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeEstimator</a>&nbsp;estim,
-           int&nbsp;numRows)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">PlanningMemoTable.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningMemoTable.html#remove-org.apache.sysds.runtime.compress.cocode.PlanningCoCodingGroup-">remove</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCodingGroup</a>&nbsp;grp)</code>&nbsp;</td>
-</tr>
-</tbody>
-</table>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
-<caption><span>Constructors in <a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/package-summary.html">org.apache.sysds.runtime.compress.cocode</a> with parameters of type <a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCodingGroup</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.html#PlanningCoCodingGroup-org.apache.sysds.runtime.compress.cocode.PlanningCoCodingGroup-org.apache.sysds.runtime.compress.cocode.PlanningCoCodingGroup-org.apache.sysds.runtime.compress.estim.CompressedSizeEstimator-int-">PlanningCoCodingGroup</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCodingGroup</a>&nbsp;grp1,
-                     <a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCodingGroup</a>&nbsp;grp2,
-                     <a href="../../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimator.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeEstimator</a>&nbsp;estim,
-                     int&nbsp;numRows)</code>
-<div class="block">Constructor for merging two disjoint groups of columns</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.html" title="class in org.apache.sysds.runtime.compress.cocode">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../package-tree.html">Tree</a></li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/cocode/class-use/PlanningCoCodingGroup.html" target="_top">Frames</a></li>
-<li><a href="PlanningCoCodingGroup.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
-</body>
-</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/cocode/class-use/PlanningMemoTable.html b/docs/api/java/org/apache/sysds/runtime/compress/cocode/class-use/PlanningMemoTable.html
deleted file mode 100644
index 09a2184..0000000
--- a/docs/api/java/org/apache/sysds/runtime/compress/cocode/class-use/PlanningMemoTable.html
+++ /dev/null
@@ -1,125 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc -->
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.sysds.runtime.compress.cocode.PlanningMemoTable (SystemDS 2.1.0-SNAPSHOT API)</title>
-<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.sysds.runtime.compress.cocode.PlanningMemoTable (SystemDS 2.1.0-SNAPSHOT API)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningMemoTable.html" title="class in org.apache.sysds.runtime.compress.cocode">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../package-tree.html">Tree</a></li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/cocode/class-use/PlanningMemoTable.html" target="_top">Frames</a></li>
-<li><a href="PlanningMemoTable.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class org.apache.sysds.runtime.compress.cocode.PlanningMemoTable" class="title">Uses of Class<br>org.apache.sysds.runtime.compress.cocode.PlanningMemoTable</h2>
-</div>
-<div class="classUseContainer">No usage of org.apache.sysds.runtime.compress.cocode.PlanningMemoTable</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningMemoTable.html" title="class in org.apache.sysds.runtime.compress.cocode">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../package-tree.html">Tree</a></li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/cocode/class-use/PlanningMemoTable.html" target="_top">Frames</a></li>
-<li><a href="PlanningMemoTable.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
-</body>
-</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/cocode/package-frame.html b/docs/api/java/org/apache/sysds/runtime/compress/cocode/package-frame.html
index 655227d..1b1c5f3 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/cocode/package-frame.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/cocode/package-frame.html
@@ -13,15 +13,11 @@
 <div class="indexContainer">
 <h2 title="Classes">Classes</h2>
 <ul title="Classes">
-<li><a href="ColumnGroupPartitioner.html" title="class in org.apache.sysds.runtime.compress.cocode" target="classFrame">ColumnGroupPartitioner</a></li>
+<li><a href="AColumnGroupPartitioner.html" title="class in org.apache.sysds.runtime.compress.cocode" target="classFrame">AColumnGroupPartitioner</a></li>
 <li><a href="ColumnGroupPartitionerBinPacking.html" title="class in org.apache.sysds.runtime.compress.cocode" target="classFrame">ColumnGroupPartitionerBinPacking</a></li>
 <li><a href="ColumnGroupPartitionerCost.html" title="class in org.apache.sysds.runtime.compress.cocode" target="classFrame">ColumnGroupPartitionerCost</a></li>
 <li><a href="ColumnGroupPartitionerStatic.html" title="class in org.apache.sysds.runtime.compress.cocode" target="classFrame">ColumnGroupPartitionerStatic</a></li>
 <li><a href="PlanningCoCoder.html" title="class in org.apache.sysds.runtime.compress.cocode" target="classFrame">PlanningCoCoder</a></li>
-<li><a href="PlanningCoCoder.GroupableColInfo.html" title="class in org.apache.sysds.runtime.compress.cocode" target="classFrame">PlanningCoCoder.GroupableColInfo</a></li>
-<li><a href="PlanningCoCodingGroup.html" title="class in org.apache.sysds.runtime.compress.cocode" target="classFrame">PlanningCoCodingGroup</a></li>
-<li><a href="PlanningCoCodingGroup.ColIndexes.html" title="class in org.apache.sysds.runtime.compress.cocode" target="classFrame">PlanningCoCodingGroup.ColIndexes</a></li>
-<li><a href="PlanningMemoTable.html" title="class in org.apache.sysds.runtime.compress.cocode" target="classFrame">PlanningMemoTable</a></li>
 </ul>
 <h2 title="Enums">Enums</h2>
 <ul title="Enums">
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/cocode/package-summary.html b/docs/api/java/org/apache/sysds/runtime/compress/cocode/package-summary.html
index 09bfdba..cd54c38 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/cocode/package-summary.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/cocode/package-summary.html
@@ -83,7 +83,7 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitioner.html" title="class in org.apache.sysds.runtime.compress.cocode">ColumnGroupPartitioner</a></td>
+<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/AColumnGroupPartitioner.html" title="class in org.apache.sysds.runtime.compress.cocode">AColumnGroupPartitioner</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
@@ -95,7 +95,7 @@
 <tr class="altColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitionerCost.html" title="class in org.apache.sysds.runtime.compress.cocode">ColumnGroupPartitionerCost</a></td>
 <td class="colLast">
-<div class="block">Column group partitioning with static number distinct elements heuristic</div>
+<div class="block">Column group partitioning by number of distinct items estimated.</div>
 </td>
 </tr>
 <tr class="rowColor">
@@ -108,24 +108,6 @@
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCoder</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCoder.GroupableColInfo</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCodingGroup</a></td>
-<td class="colLast">
-<div class="block">Class to represent information about co-coding a group of columns.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.ColIndexes.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCodingGroup.ColIndexes</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningMemoTable.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningMemoTable</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
 </tbody>
 </table>
 </li>
@@ -193,6 +175,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/cocode/package-tree.html b/docs/api/java/org/apache/sysds/runtime/compress/cocode/package-tree.html
index bc23bbc..9f4acd4 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/cocode/package-tree.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/cocode/package-tree.html
@@ -81,7 +81,7 @@
 <ul>
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
 <ul>
-<li type="circle">org.apache.sysds.runtime.compress.cocode.<a href="../../../../../../org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitioner.html" title="class in org.apache.sysds.runtime.compress.cocode"><span class="typeNameLink">ColumnGroupPartitioner</span></a>
+<li type="circle">org.apache.sysds.runtime.compress.cocode.<a href="../../../../../../org/apache/sysds/runtime/compress/cocode/AColumnGroupPartitioner.html" title="class in org.apache.sysds.runtime.compress.cocode"><span class="typeNameLink">AColumnGroupPartitioner</span></a>
 <ul>
 <li type="circle">org.apache.sysds.runtime.compress.cocode.<a href="../../../../../../org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitionerBinPacking.html" title="class in org.apache.sysds.runtime.compress.cocode"><span class="typeNameLink">ColumnGroupPartitionerBinPacking</span></a></li>
 <li type="circle">org.apache.sysds.runtime.compress.cocode.<a href="../../../../../../org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitionerCost.html" title="class in org.apache.sysds.runtime.compress.cocode"><span class="typeNameLink">ColumnGroupPartitionerCost</span></a></li>
@@ -89,10 +89,6 @@
 </ul>
 </li>
 <li type="circle">org.apache.sysds.runtime.compress.cocode.<a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.html" title="class in org.apache.sysds.runtime.compress.cocode"><span class="typeNameLink">PlanningCoCoder</span></a></li>
-<li type="circle">org.apache.sysds.runtime.compress.cocode.<a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html" title="class in org.apache.sysds.runtime.compress.cocode"><span class="typeNameLink">PlanningCoCoder.GroupableColInfo</span></a></li>
-<li type="circle">org.apache.sysds.runtime.compress.cocode.<a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.html" title="class in org.apache.sysds.runtime.compress.cocode"><span class="typeNameLink">PlanningCoCodingGroup</span></a></li>
-<li type="circle">org.apache.sysds.runtime.compress.cocode.<a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.ColIndexes.html" title="class in org.apache.sysds.runtime.compress.cocode"><span class="typeNameLink">PlanningCoCodingGroup.ColIndexes</span></a></li>
-<li type="circle">org.apache.sysds.runtime.compress.cocode.<a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningMemoTable.html" title="class in org.apache.sysds.runtime.compress.cocode"><span class="typeNameLink">PlanningMemoTable</span></a></li>
 </ul>
 </li>
 </ul>
@@ -156,6 +152,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/cocode/package-use.html b/docs/api/java/org/apache/sysds/runtime/compress/cocode/package-use.html
index 40522b3..70f71e3 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/cocode/package-use.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/cocode/package-use.html
@@ -118,19 +118,11 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/class-use/ColumnGroupPartitioner.html#org.apache.sysds.runtime.compress.cocode">ColumnGroupPartitioner</a>&nbsp;</td>
+<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/class-use/AColumnGroupPartitioner.html#org.apache.sysds.runtime.compress.cocode">AColumnGroupPartitioner</a>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/class-use/PlanningCoCoder.GroupableColInfo.html#org.apache.sysds.runtime.compress.cocode">PlanningCoCoder.GroupableColInfo</a>&nbsp;</td>
-</tr>
-<tr class="altColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/class-use/PlanningCoCoder.PartitionerType.html#org.apache.sysds.runtime.compress.cocode">PlanningCoCoder.PartitionerType</a>&nbsp;</td>
 </tr>
-<tr class="rowColor">
-<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/class-use/PlanningCoCodingGroup.html#org.apache.sysds.runtime.compress.cocode">PlanningCoCodingGroup</a>
-<div class="block">Class to represent information about co-coding a group of columns.</div>
-</td>
-</tr>
 </tbody>
 </table>
 </li>
@@ -183,6 +175,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html
similarity index 61%
copy from docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html
copy to docs/api/java/org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html
index cd7d096..0007c23 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html
@@ -4,7 +4,7 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ColGroup.CompressionType (SystemDS 2.1.0-SNAPSHOT API)</title>
+<title>AColGroup.ColGroupType (SystemDS 2.1.0-SNAPSHOT API)</title>
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,13 +12,13 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ColGroup.CompressionType (SystemDS 2.1.0-SNAPSHOT API)";
+            parent.document.title="AColGroup.ColGroupType (SystemDS 2.1.0-SNAPSHOT API)";
         }
     }
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":9};
+var methods = {"i0":9,"i1":9,"i2":9};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -40,7 +40,7 @@
 <li><a href="../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="package-summary.html">Package</a></li>
 <li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/ColGroup.CompressionType.html">Use</a></li>
+<li><a href="class-use/AColGroup.ColGroupType.html">Use</a></li>
 <li><a href="package-tree.html">Tree</a></li>
 <li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
 <li><a href="../../../../../../index-all.html">Index</a></li>
@@ -49,12 +49,12 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" target="_top">Frames</a></li>
-<li><a href="ColGroup.CompressionType.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html" target="_top">Frames</a></li>
+<li><a href="AColGroup.ColGroupType.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
 <li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -93,17 +93,17 @@
 <!-- ======== START OF CLASS DATA ======== -->
 <div class="header">
 <div class="subTitle">org.apache.sysds.runtime.compress.colgroup</div>
-<h2 title="Enum ColGroup.CompressionType" class="title">Enum ColGroup.CompressionType</h2>
+<h2 title="Enum AColGroup.ColGroupType" class="title">Enum AColGroup.ColGroupType</h2>
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
 <li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
-<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">java.lang.Enum</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>&gt;</li>
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">java.lang.Enum</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.ColGroupType</a>&gt;</li>
 <li>
 <ul class="inheritance">
-<li>org.apache.sysds.runtime.compress.colgroup.ColGroup.CompressionType</li>
+<li>org.apache.sysds.runtime.compress.colgroup.AColGroup.ColGroupType</li>
 </ul>
 </li>
 </ul>
@@ -114,23 +114,19 @@
 <li class="blockList">
 <dl>
 <dt>All Implemented Interfaces:</dt>
-<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>&gt;</dd>
+<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.ColGroupType</a>&gt;</dd>
 </dl>
 <dl>
 <dt>Enclosing class:</dt>
-<dd><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></dd>
+<dd><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></dd>
 </dl>
 <hr>
 <br>
-<pre>public static enum <span class="typeNameLabel">ColGroup.CompressionType</span>
-extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>&gt;</pre>
-<div class="block">Public Group types supported
+<pre>public static enum <span class="typeNameLabel">AColGroup.ColGroupType</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.ColGroupType</a>&gt;</pre>
+<div class="block">Concrete ColGroupType
  
- Note For instance DDC is called DDC not DDC1, or DDC2 which is a specific subtype of the DDC. That
- differentiation is hidden to a user.
- 
- Includes Uncompressed for sparse/dense representation RLE for Run length encoding OLE for Offset Length encoding
- DDC for Dense dictionary encoding</div>
+ Protected such that outside the ColGroup package it should be unknown which specific subtype is used.</div>
 </li>
 </ul>
 </div>
@@ -149,19 +145,34 @@
 <th class="colOne" scope="col">Enum Constant and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html#CONST">CONST</a></span></code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html#CONST">CONST</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html#DDC">DDC</a></span></code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html#DDC">DDC</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html#OLE">OLE</a></span></code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html#EMPTY">EMPTY</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html#RLE">RLE</a></span></code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html#OLE">OLE</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html#UNCOMPRESSED">UNCOMPRESSED</a></span></code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html#RLE">RLE</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html#SDC">SDC</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html#SDCSingle">SDCSingle</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html#SDCSingleZeros">SDCSingleZeros</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html#SDCZeros">SDCZeros</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html#UNCOMPRESSED">UNCOMPRESSED</a></span></code>&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -179,14 +190,18 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html#valueOf-java.lang.String-">valueOf</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html#getSuperType-org.apache.sysds.runtime.compress.colgroup.AColGroup.ColGroupType-">getSuperType</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.ColGroupType</a>&nbsp;c)</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.ColGroupType</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html#valueOf-java.lang.String-">valueOf</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
 <div class="block">Returns the enum constant of this type with the specified name.</div>
 </td>
 </tr>
-<tr id="i1" class="rowColor">
-<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>[]</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html#values--">values</a></span>()</code>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.ColGroupType</a>[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html#values--">values</a></span>()</code>
 <div class="block">Returns an array containing the constants of this enum type, in
 the order they are declared.</div>
 </td>
@@ -226,7 +241,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>UNCOMPRESSED</h4>
-<pre>public static final&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a> UNCOMPRESSED</pre>
+<pre>public static final&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.ColGroupType</a> UNCOMPRESSED</pre>
 </li>
 </ul>
 <a name="RLE">
@@ -235,7 +250,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>RLE</h4>
-<pre>public static final&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a> RLE</pre>
+<pre>public static final&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.ColGroupType</a> RLE</pre>
 </li>
 </ul>
 <a name="OLE">
@@ -244,7 +259,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>OLE</h4>
-<pre>public static final&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a> OLE</pre>
+<pre>public static final&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.ColGroupType</a> OLE</pre>
 </li>
 </ul>
 <a name="DDC">
@@ -253,16 +268,61 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>DDC</h4>
-<pre>public static final&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a> DDC</pre>
+<pre>public static final&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.ColGroupType</a> DDC</pre>
 </li>
 </ul>
 <a name="CONST">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>CONST</h4>
-<pre>public static final&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a> CONST</pre>
+<pre>public static final&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.ColGroupType</a> CONST</pre>
+</li>
+</ul>
+<a name="EMPTY">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>EMPTY</h4>
+<pre>public static final&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.ColGroupType</a> EMPTY</pre>
+</li>
+</ul>
+<a name="SDC">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>SDC</h4>
+<pre>public static final&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.ColGroupType</a> SDC</pre>
+</li>
+</ul>
+<a name="SDCSingle">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>SDCSingle</h4>
+<pre>public static final&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.ColGroupType</a> SDCSingle</pre>
+</li>
+</ul>
+<a name="SDCSingleZeros">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>SDCSingleZeros</h4>
+<pre>public static final&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.ColGroupType</a> SDCSingleZeros</pre>
+</li>
+</ul>
+<a name="SDCZeros">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>SDCZeros</h4>
+<pre>public static final&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.ColGroupType</a> SDCZeros</pre>
 </li>
 </ul>
 </li>
@@ -279,12 +339,12 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>values</h4>
-<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>[]&nbsp;values()</pre>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.ColGroupType</a>[]&nbsp;values()</pre>
 <div class="block">Returns an array containing the constants of this enum type, in
 the order they are declared.  This method may be used to iterate
 over the constants as follows:
 <pre>
-for (ColGroup.CompressionType c : ColGroup.CompressionType.values())
+for (AColGroup.ColGroupType c : AColGroup.ColGroupType.values())
 &nbsp;   System.out.println(c);
 </pre></div>
 <dl>
@@ -296,10 +356,10 @@
 <a name="valueOf-java.lang.String-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>valueOf</h4>
-<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>&nbsp;valueOf(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.ColGroupType</a>&nbsp;valueOf(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
 enum constant in this type.  (Extraneous whitespace characters are 
@@ -315,6 +375,15 @@
 </dl>
 </li>
 </ul>
+<a name="getSuperType-org.apache.sysds.runtime.compress.colgroup.AColGroup.ColGroupType-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getSuperType</h4>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a>&nbsp;getSuperType(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.ColGroupType</a>&nbsp;c)</pre>
+</li>
+</ul>
 </li>
 </ul>
 </li>
@@ -334,7 +403,7 @@
 <li><a href="../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="package-summary.html">Package</a></li>
 <li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/ColGroup.CompressionType.html">Use</a></li>
+<li><a href="class-use/AColGroup.ColGroupType.html">Use</a></li>
 <li><a href="package-tree.html">Tree</a></li>
 <li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
 <li><a href="../../../../../../index-all.html">Index</a></li>
@@ -343,12 +412,12 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" target="_top">Frames</a></li>
-<li><a href="ColGroup.CompressionType.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html" target="_top">Frames</a></li>
+<li><a href="AColGroup.ColGroupType.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
 <li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -384,6 +453,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html
similarity index 73%
rename from docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html
rename to docs/api/java/org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html
index cd7d096..0966d5c 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html
@@ -4,7 +4,7 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ColGroup.CompressionType (SystemDS 2.1.0-SNAPSHOT API)</title>
+<title>AColGroup.CompressionType (SystemDS 2.1.0-SNAPSHOT API)</title>
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ColGroup.CompressionType (SystemDS 2.1.0-SNAPSHOT API)";
+            parent.document.title="AColGroup.CompressionType (SystemDS 2.1.0-SNAPSHOT API)";
         }
     }
     catch(err) {
@@ -40,7 +40,7 @@
 <li><a href="../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="package-summary.html">Package</a></li>
 <li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/ColGroup.CompressionType.html">Use</a></li>
+<li><a href="class-use/AColGroup.CompressionType.html">Use</a></li>
 <li><a href="package-tree.html">Tree</a></li>
 <li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
 <li><a href="../../../../../../index-all.html">Index</a></li>
@@ -49,12 +49,12 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html" title="enum in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" target="_top">Frames</a></li>
-<li><a href="ColGroup.CompressionType.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" target="_top">Frames</a></li>
+<li><a href="AColGroup.CompressionType.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
 <li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -93,17 +93,17 @@
 <!-- ======== START OF CLASS DATA ======== -->
 <div class="header">
 <div class="subTitle">org.apache.sysds.runtime.compress.colgroup</div>
-<h2 title="Enum ColGroup.CompressionType" class="title">Enum ColGroup.CompressionType</h2>
+<h2 title="Enum AColGroup.CompressionType" class="title">Enum AColGroup.CompressionType</h2>
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
 <li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
-<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">java.lang.Enum</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>&gt;</li>
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">java.lang.Enum</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a>&gt;</li>
 <li>
 <ul class="inheritance">
-<li>org.apache.sysds.runtime.compress.colgroup.ColGroup.CompressionType</li>
+<li>org.apache.sysds.runtime.compress.colgroup.AColGroup.CompressionType</li>
 </ul>
 </li>
 </ul>
@@ -114,16 +114,16 @@
 <li class="blockList">
 <dl>
 <dt>All Implemented Interfaces:</dt>
-<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>&gt;</dd>
+<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a>&gt;</dd>
 </dl>
 <dl>
 <dt>Enclosing class:</dt>
-<dd><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></dd>
+<dd><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></dd>
 </dl>
 <hr>
 <br>
-<pre>public static enum <span class="typeNameLabel">ColGroup.CompressionType</span>
-extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>&gt;</pre>
+<pre>public static enum <span class="typeNameLabel">AColGroup.CompressionType</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a>&gt;</pre>
 <div class="block">Public Group types supported
  
  Note For instance DDC is called DDC not DDC1, or DDC2 which is a specific subtype of the DDC. That
@@ -149,19 +149,22 @@
 <th class="colOne" scope="col">Enum Constant and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html#CONST">CONST</a></span></code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html#CONST">CONST</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html#DDC">DDC</a></span></code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html#DDC">DDC</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html#OLE">OLE</a></span></code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html#OLE">OLE</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html#RLE">RLE</a></span></code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html#RLE">RLE</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html#UNCOMPRESSED">UNCOMPRESSED</a></span></code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html#SDC">SDC</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html#UNCOMPRESSED">UNCOMPRESSED</a></span></code>&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -179,14 +182,14 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html#valueOf-java.lang.String-">valueOf</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html#valueOf-java.lang.String-">valueOf</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
 <div class="block">Returns the enum constant of this type with the specified name.</div>
 </td>
 </tr>
 <tr id="i1" class="rowColor">
-<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>[]</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html#values--">values</a></span>()</code>
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a>[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html#values--">values</a></span>()</code>
 <div class="block">Returns an array containing the constants of this enum type, in
 the order they are declared.</div>
 </td>
@@ -226,7 +229,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>UNCOMPRESSED</h4>
-<pre>public static final&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a> UNCOMPRESSED</pre>
+<pre>public static final&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a> UNCOMPRESSED</pre>
 </li>
 </ul>
 <a name="RLE">
@@ -235,7 +238,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>RLE</h4>
-<pre>public static final&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a> RLE</pre>
+<pre>public static final&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a> RLE</pre>
 </li>
 </ul>
 <a name="OLE">
@@ -244,7 +247,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>OLE</h4>
-<pre>public static final&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a> OLE</pre>
+<pre>public static final&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a> OLE</pre>
 </li>
 </ul>
 <a name="DDC">
@@ -253,16 +256,25 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>DDC</h4>
-<pre>public static final&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a> DDC</pre>
+<pre>public static final&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a> DDC</pre>
 </li>
 </ul>
 <a name="CONST">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>CONST</h4>
-<pre>public static final&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a> CONST</pre>
+<pre>public static final&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a> CONST</pre>
+</li>
+</ul>
+<a name="SDC">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>SDC</h4>
+<pre>public static final&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a> SDC</pre>
 </li>
 </ul>
 </li>
@@ -279,12 +291,12 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>values</h4>
-<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>[]&nbsp;values()</pre>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a>[]&nbsp;values()</pre>
 <div class="block">Returns an array containing the constants of this enum type, in
 the order they are declared.  This method may be used to iterate
 over the constants as follows:
 <pre>
-for (ColGroup.CompressionType c : ColGroup.CompressionType.values())
+for (AColGroup.CompressionType c : AColGroup.CompressionType.values())
 &nbsp;   System.out.println(c);
 </pre></div>
 <dl>
@@ -299,7 +311,7 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>valueOf</h4>
-<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>&nbsp;valueOf(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a>&nbsp;valueOf(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
 enum constant in this type.  (Extraneous whitespace characters are 
@@ -334,7 +346,7 @@
 <li><a href="../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="package-summary.html">Package</a></li>
 <li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/ColGroup.CompressionType.html">Use</a></li>
+<li><a href="class-use/AColGroup.CompressionType.html">Use</a></li>
 <li><a href="package-tree.html">Tree</a></li>
 <li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
 <li><a href="../../../../../../index-all.html">Index</a></li>
@@ -343,12 +355,12 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html" title="enum in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" target="_top">Frames</a></li>
-<li><a href="ColGroup.CompressionType.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" target="_top">Frames</a></li>
+<li><a href="AColGroup.CompressionType.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
 <li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -384,6 +396,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/AColGroup.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/AColGroup.html
new file mode 100644
index 0000000..3b4764a
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/AColGroup.html
@@ -0,0 +1,1640 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>AColGroup (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="AColGroup (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":9,"i5":6,"i6":9,"i7":6,"i8":6,"i9":9,"i10":9,"i11":9,"i12":6,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":6,"i21":6,"i22":6,"i23":6,"i24":6,"i25":10,"i26":10,"i27":6,"i28":6,"i29":6,"i30":6,"i31":6,"i32":6,"i33":10,"i34":10,"i35":6,"i36":6,"i37":10,"i38":6,"i39":6,"i40":6,"i41":6,"i42":6,"i43":6,"i44":6,"i45":6,"i46":6,"i47":6,"i48":6,"i49":6,"i50":10,"i51":6,"i52":10,"i53":6,"i54":6,"i55":6};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/AColGroup.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev&nbsp;Class</li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html" title="enum in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/AColGroup.html" target="_top">Frames</a></li>
+<li><a href="AColGroup.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.sysds.runtime.compress.colgroup</div>
+<h2 title="Class AColGroup" class="title">Class AColGroup</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.sysds.runtime.compress.colgroup.AColGroup</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></dd>
+</dl>
+<dl>
+<dt>Direct Known Subclasses:</dt>
+<dd><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupUncompressed</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public abstract class <span class="typeNameLabel">AColGroup</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
+implements <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></pre>
+<div class="block">Class that stores information about a column group within a compressed matrix block. There are subclasses specific to
+ each compression type.</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../../serialized-form.html#org.apache.sysds.runtime.compress.colgroup.AColGroup">Serialized Form</a></dd>
+</dl>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!--   -->
+</a>
+<h3>Nested Class Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
+<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.ColGroupType</a></span></code>
+<div class="block">Concrete ColGroupType
+ 
+ Protected such that outside the ColGroup package it should be unknown which specific subtype is used.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a></span></code>
+<div class="block">Public Group types supported
+ 
+ Note For instance DDC is called DDC not DDC1, or DDC2 which is a specific subtype of the DDC.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>abstract <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-boolean-">binaryRowOp</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
+           double[]&nbsp;v,
+           boolean&nbsp;sparseSafe,
+           boolean&nbsp;left)</code>
+<div class="block">Perform a binary row operation.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>abstract boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#containsValue-double-">containsValue</a></span>(double&nbsp;pattern)</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>abstract <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#copy--">copy</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>abstract void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#countNonZerosPerRow-int:A-int-int-">countNonZerosPerRow</a></span>(int[]&nbsp;rnnz,
+                   int&nbsp;rl,
+                   int&nbsp;ru)</code>
+<div class="block">Count the number of non-zeros per row</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToArray-double:A-int-java.util.List-">decompressColumnToArray</a></span>(double[]&nbsp;target,
+                       int&nbsp;colIndex,
+                       <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a>&gt;&nbsp;colGroups)</code>&nbsp;</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>abstract void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-double:A-int-int-int-">decompressColumnToBlock</a></span>(double[]&nbsp;target,
+                       int&nbsp;colpos,
+                       int&nbsp;rl,
+                       int&nbsp;ru)</code>
+<div class="block">Decompress to dense array.</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-double:A-int-int-int-java.util.List-">decompressColumnToBlock</a></span>(double[]&nbsp;target,
+                       int&nbsp;colIndex,
+                       int&nbsp;rl,
+                       int&nbsp;ru,
+                       <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a>&gt;&nbsp;colGroups)</code>
+<div class="block">Decompress part of the col groups into the target dense double array.</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>abstract void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">decompressColumnToBlock</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                       int&nbsp;colpos)</code>
+<div class="block">Decompress to block.</div>
+</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>abstract void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-">decompressColumnToBlock</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                       int&nbsp;colpos,
+                       int&nbsp;rl,
+                       int&nbsp;ru)</code>
+<div class="block">Decompress to block.</div>
+</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-java.util.List-">decompressColumnToBlock</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                       int&nbsp;colIndex,
+                       int&nbsp;rl,
+                       int&nbsp;ru,
+                       <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a>&gt;&nbsp;colGroups)</code>
+<div class="block">Decompress part of the col groups into the target matrix block, this decompression maintain the number of non
+ zeros.</div>
+</td>
+</tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-java.util.List-">decompressColumnToBlock</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                       int&nbsp;colIndex,
+                       <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a>&gt;&nbsp;colGroups)</code>
+<div class="block">Decompress an entire column into the target matrix block.</div>
+</td>
+</tr>
+<tr id="i11" class="rowColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlockUnSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-java.util.List-">decompressColumnToBlockUnSafe</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                             int&nbsp;rl,
+                             int&nbsp;ru,
+                             <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a>&gt;&nbsp;colGroups)</code>
+<div class="block">Decompress part of the col groups into the target matrix block, this decompression maintain the number of non
+ zeros.</div>
+</td>
+</tr>
+<tr id="i12" class="altColor">
+<td class="colFirst"><code>abstract void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">decompressToBlock</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                 int[]&nbsp;colIndexTargets)</code>
+<div class="block">Decompress the contents of this column group into uncompressed packed columns</div>
+</td>
+</tr>
+<tr id="i13" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">decompressToBlock</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                 int&nbsp;rl,
+                 int&nbsp;ru)</code>
+<div class="block">Decompress the contents of this column group into the specified full matrix block.</div>
+</td>
+</tr>
+<tr id="i14" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-boolean-">decompressToBlock</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                 int&nbsp;rl,
+                 int&nbsp;ru,
+                 boolean&nbsp;safe)</code>&nbsp;</td>
+</tr>
+<tr id="i15" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-double:A-boolean-">decompressToBlock</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                 int&nbsp;rl,
+                 int&nbsp;ru,
+                 double[]&nbsp;values,
+                 boolean&nbsp;safe)</code>
+<div class="block">Decompress the contents of this column group into the target matrixBlock, it is assumed that the target matrix
+ Block have the same number of columns and at least the number of rows ru.</div>
+</td>
+</tr>
+<tr id="i16" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-">decompressToBlock</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                 int&nbsp;rl,
+                 int&nbsp;ru,
+                 int&nbsp;offT)</code>
+<div class="block">Decompress the contents of this column group into the specified full matrix block.</div>
+</td>
+</tr>
+<tr id="i17" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-boolean-">decompressToBlock</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                 int&nbsp;rl,
+                 int&nbsp;ru,
+                 int&nbsp;offT,
+                 boolean&nbsp;safe)</code>&nbsp;</td>
+</tr>
+<tr id="i18" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">decompressToBlock</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                 int&nbsp;rl,
+                 int&nbsp;ru,
+                 int&nbsp;offT,
+                 double[]&nbsp;values)</code>
+<div class="block">Decompress the contents of this column group into the specified full matrix block.</div>
+</td>
+</tr>
+<tr id="i19" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-boolean-">decompressToBlock</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                 int&nbsp;rl,
+                 int&nbsp;ru,
+                 int&nbsp;offT,
+                 double[]&nbsp;values,
+                 boolean&nbsp;safe)</code>&nbsp;</td>
+</tr>
+<tr id="i20" class="altColor">
+<td class="colFirst"><code>abstract void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlockSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">decompressToBlockSafe</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                     int&nbsp;rl,
+                     int&nbsp;ru,
+                     int&nbsp;offT,
+                     double[]&nbsp;values)</code>
+<div class="block">Decompress the contents of this column group into the specified full matrix block without managing the number of
+ non zeros.</div>
+</td>
+</tr>
+<tr id="i21" class="rowColor">
+<td class="colFirst"><code>abstract void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlockUnSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">decompressToBlockUnSafe</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                       int&nbsp;rl,
+                       int&nbsp;ru,
+                       int&nbsp;offT,
+                       double[]&nbsp;values)</code>&nbsp;</td>
+</tr>
+<tr id="i22" class="altColor">
+<td class="colFirst"><code>abstract long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#estimateInMemorySize--">estimateInMemorySize</a></span>()</code>
+<div class="block">Note: Must be overridden by child classes to account for additional data and metadata</div>
+</td>
+</tr>
+<tr id="i23" class="rowColor">
+<td class="colFirst"><code>abstract double</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#get-int-int-">get</a></span>(int&nbsp;r,
+   int&nbsp;c)</code>
+<div class="block">Get the value at a global row/column position.</div>
+</td>
+</tr>
+<tr id="i24" class="altColor">
+<td class="colFirst"><code>abstract <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.ColGroupType</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getColGroupType--">getColGroupType</a></span>()</code>
+<div class="block">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.</div>
+</td>
+</tr>
+<tr id="i25" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getColIndex-int-">getColIndex</a></span>(int&nbsp;colNum)</code>
+<div class="block">Obtain a column index value.</div>
+</td>
+</tr>
+<tr id="i26" class="altColor">
+<td class="colFirst"><code>int[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getColIndices--">getColIndices</a></span>()</code>
+<div class="block">Obtain the offsets of the columns in the matrix block that make up the group</div>
+</td>
+</tr>
+<tr id="i27" class="rowColor">
+<td class="colFirst"><code>abstract <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getCompType--">getCompType</a></span>()</code>
+<div class="block">Obtain the compression type.</div>
+</td>
+</tr>
+<tr id="i28" class="altColor">
+<td class="colFirst"><code>abstract long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getExactSizeOnDisk--">getExactSizeOnDisk</a></span>()</code>
+<div class="block">Returns the exact serialized size of column group.</div>
+</td>
+</tr>
+<tr id="i29" class="rowColor">
+<td class="colFirst"><code>abstract boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getIfCountsType--">getIfCountsType</a></span>()</code>
+<div class="block">Returns true if in the getValuesAsBlock method returns values in groups (that needs to be counted) or
+ individually potentially repeated values</div>
+</td>
+</tr>
+<tr id="i30" class="altColor">
+<td class="colFirst"><code>abstract double</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getMax--">getMax</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i31" class="rowColor">
+<td class="colFirst"><code>abstract double</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getMin--">getMin</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i32" class="altColor">
+<td class="colFirst"><code>abstract long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getNumberNonZeros--">getNumberNonZeros</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i33" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getNumCols--">getNumCols</a></span>()</code>
+<div class="block">Obtain the number of columns in this column group.</div>
+</td>
+</tr>
+<tr id="i34" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getNumRows--">getNumRows</a></span>()</code>
+<div class="block">Get number of rows contained in the ColGroup.</div>
+</td>
+</tr>
+<tr id="i35" class="rowColor">
+<td class="colFirst"><code>abstract double[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getValues--">getValues</a></span>()</code>
+<div class="block">Get all the values in the colGroup.</div>
+</td>
+</tr>
+<tr id="i36" class="altColor">
+<td class="colFirst"><code>abstract <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getValuesAsBlock--">getValuesAsBlock</a></span>()</code>
+<div class="block">Returns the ColGroup as a MatrixBlock.</div>
+</td>
+</tr>
+<tr id="i37" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#isDense--">isDense</a></span>()</code>
+<div class="block">Is dense, signals that the entire column group is allocated an processed.</div>
+</td>
+</tr>
+<tr id="i38" class="altColor">
+<td class="colFirst"><code>abstract boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#isLossy--">isLossy</a></span>()</code>
+<div class="block">Is Lossy</div>
+</td>
+</tr>
+<tr id="i39" class="rowColor">
+<td class="colFirst"><code>abstract void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#leftMultByMatrix-double:A-double:A-double:A-int-int-int-int-int-">leftMultByMatrix</a></span>(double[]&nbsp;matrix,
+                double[]&nbsp;result,
+                double[]&nbsp;values,
+                int&nbsp;numRows,
+                int&nbsp;numCols,
+                int&nbsp;rl,
+                int&nbsp;ru,
+                int&nbsp;vOff)</code>
+<div class="block">Multiply with a matrix on the left.</div>
+</td>
+</tr>
+<tr id="i40" class="altColor">
+<td class="colFirst"><code>abstract void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#leftMultByRowVector-double:A-double:A-">leftMultByRowVector</a></span>(double[]&nbsp;vector,
+                   double[]&nbsp;result)</code>
+<div class="block">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.</div>
+</td>
+</tr>
+<tr id="i41" class="rowColor">
+<td class="colFirst"><code>abstract void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#leftMultByRowVector-double:A-double:A-int-">leftMultByRowVector</a></span>(double[]&nbsp;vector,
+                   double[]&nbsp;result,
+                   int&nbsp;offT)</code>
+<div class="block">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.</div>
+</td>
+</tr>
+<tr id="i42" class="altColor">
+<td class="colFirst"><code>abstract void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#leftMultByRowVector-double:A-double:A-int-double:A-">leftMultByRowVector</a></span>(double[]&nbsp;vector,
+                   double[]&nbsp;result,
+                   int&nbsp;numVals,
+                   double[]&nbsp;values)</code>
+<div class="block">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.</div>
+</td>
+</tr>
+<tr id="i43" class="rowColor">
+<td class="colFirst"><code>abstract void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#leftMultByRowVector-double:A-double:A-int-double:A-int-">leftMultByRowVector</a></span>(double[]&nbsp;vector,
+                   double[]&nbsp;result,
+                   int&nbsp;numVals,
+                   double[]&nbsp;values,
+                   int&nbsp;offT)</code>
+<div class="block">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.</div>
+</td>
+</tr>
+<tr id="i44" class="altColor">
+<td class="colFirst"><code>abstract void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#leftMultBySelfDiagonalColGroup-double:A-int-">leftMultBySelfDiagonalColGroup</a></span>(double[]&nbsp;result,
+                              int&nbsp;numColumns)</code>&nbsp;</td>
+</tr>
+<tr id="i45" class="rowColor">
+<td class="colFirst"><code>abstract void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#leftMultBySparseMatrix-org.apache.sysds.runtime.data.SparseBlock-double:A-double:A-int-int-int-double:A-">leftMultBySparseMatrix</a></span>(<a href="../../../../../../org/apache/sysds/runtime/data/SparseBlock.html" title="class in org.apache.sysds.runtime.data">SparseBlock</a>&nbsp;sb,
+                      double[]&nbsp;result,
+                      double[]&nbsp;values,
+                      int&nbsp;numRows,
+                      int&nbsp;numCols,
+                      int&nbsp;row,
+                      double[]&nbsp;MaterializedRow)</code>
+<div class="block">Multiply with a sparse matrix on the left hand side, and add the values to the output result</div>
+</td>
+</tr>
+<tr id="i46" class="altColor">
+<td class="colFirst"><code>abstract void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#readFields-java.io.DataInput-">readFields</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a>&nbsp;in)</code>
+<div class="block">Deserialize column group from data input.</div>
+</td>
+</tr>
+<tr id="i47" class="rowColor">
+<td class="colFirst"><code>abstract void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#rightMultByMatrix-int:A-double:A-double:A-int-int-int-">rightMultByMatrix</a></span>(int[]&nbsp;outputColumns,
+                 double[]&nbsp;preAggregatedB,
+                 double[]&nbsp;c,
+                 int&nbsp;thatNrColumns,
+                 int&nbsp;rl,
+                 int&nbsp;ru)</code>
+<div class="block">Right multiply by matrix.</div>
+</td>
+</tr>
+<tr id="i48" class="altColor">
+<td class="colFirst"><code>abstract void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#rightMultByVector-double:A-double:A-int-int-double:A-">rightMultByVector</a></span>(double[]&nbsp;vector,
+                 double[]&nbsp;c,
+                 int&nbsp;rl,
+                 int&nbsp;ru,
+                 double[]&nbsp;dictVals)</code>
+<div class="block">Multiply the slice of the matrix that this column group represents by a vector on the right.</div>
+</td>
+</tr>
+<tr id="i49" class="rowColor">
+<td class="colFirst"><code>abstract <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">scalarOperation</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op)</code>
+<div class="block">Perform the specified scalar operation directly on the compressed column group, without decompressing individual
+ cells if possible.</div>
+</td>
+</tr>
+<tr id="i50" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#shiftColIndices-int-">shiftColIndices</a></span>(int&nbsp;offset)</code>&nbsp;</td>
+</tr>
+<tr id="i51" class="rowColor">
+<td class="colFirst"><code>abstract <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#sliceColumns-int-int-">sliceColumns</a></span>(int&nbsp;cl,
+            int&nbsp;cu)</code>
+<div class="block">Slice out the columns within the range of cl and cu to remove the dictionary values related to these columns.</div>
+</td>
+</tr>
+<tr id="i52" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#toString--">toString</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i53" class="rowColor">
+<td class="colFirst"><code>abstract void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-">unaryAggregateOperations</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;op,
+                        double[]&nbsp;c)</code>
+<div class="block">Unary Aggregate operator, since aggregate operators require new object output, the output becomes an uncompressed
+ matrix.</div>
+</td>
+</tr>
+<tr id="i54" class="altColor">
+<td class="colFirst"><code>abstract void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-int-int-">unaryAggregateOperations</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;op,
+                        double[]&nbsp;c,
+                        int&nbsp;rl,
+                        int&nbsp;ru)</code>
+<div class="block">Unary Aggregate operator, since aggregate operators require new object output, the output becomes an uncompressed
+ matrix.</div>
+</td>
+</tr>
+<tr id="i55" class="rowColor">
+<td class="colFirst"><code>abstract void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#write-java.io.DataOutput-">write</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataOutput.html?is-external=true" title="class or interface in java.io">DataOutput</a>&nbsp;out)</code>
+<div class="block">Serializes column group to data output.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getColIndices--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getColIndices</h4>
+<pre>public&nbsp;int[]&nbsp;getColIndices()</pre>
+<div class="block">Obtain the offsets of the columns in the matrix block that make up the group</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>offsets of the columns in the matrix block that make up the group</dd>
+</dl>
+</li>
+</ul>
+<a name="getColIndex-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getColIndex</h4>
+<pre>public&nbsp;int&nbsp;getColIndex(int&nbsp;colNum)</pre>
+<div class="block">Obtain a column index value.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>colNum</code> - column number</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>column index value</dd>
+</dl>
+</li>
+</ul>
+<a name="getNumRows--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getNumRows</h4>
+<pre>public&nbsp;int&nbsp;getNumRows()</pre>
+<div class="block">Get number of rows contained in the ColGroup.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>An integer that is the number of rows.</dd>
+</dl>
+</li>
+</ul>
+<a name="getNumCols--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getNumCols</h4>
+<pre>public&nbsp;int&nbsp;getNumCols()</pre>
+<div class="block">Obtain the number of columns in this column group.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>number of columns in this column group</dd>
+</dl>
+</li>
+</ul>
+<a name="getCompType--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getCompType</h4>
+<pre>public abstract&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a>&nbsp;getCompType()</pre>
+<div class="block">Obtain the compression type.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>How the elements of the column group are compressed.</dd>
+</dl>
+</li>
+</ul>
+<a name="getColGroupType--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getColGroupType</h4>
+<pre>public abstract&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.ColGroupType</a>&nbsp;getColGroupType()</pre>
+<div class="block">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.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>ColGroupType of the object.</dd>
+</dl>
+</li>
+</ul>
+<a name="shiftColIndices-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>shiftColIndices</h4>
+<pre>public&nbsp;void&nbsp;shiftColIndices(int&nbsp;offset)</pre>
+</li>
+</ul>
+<a name="estimateInMemorySize--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>estimateInMemorySize</h4>
+<pre>public abstract&nbsp;long&nbsp;estimateInMemorySize()</pre>
+<div class="block">Note: Must be overridden by child classes to account for additional data and metadata</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>an upper bound on the number of bytes used to store this ColGroup in memory.</dd>
+</dl>
+</li>
+</ul>
+<a name="decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>decompressToBlock</h4>
+<pre>public&nbsp;void&nbsp;decompressToBlock(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                              int&nbsp;rl,
+                              int&nbsp;ru)</pre>
+<div class="block">Decompress the contents of this column group into the specified full matrix block.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>target</code> - a matrix block where the columns covered by this column group have not yet been filled in.</dd>
+<dd><code>rl</code> - row lower</dd>
+<dd><code>ru</code> - row upper</dd>
+</dl>
+</li>
+</ul>
+<a name="decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>decompressToBlock</h4>
+<pre>public&nbsp;void&nbsp;decompressToBlock(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                              int&nbsp;rl,
+                              int&nbsp;ru,
+                              int&nbsp;offT)</pre>
+<div class="block">Decompress the contents of this column group into the specified full matrix block.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>target</code> - a matrix block where the columns covered by this column group have not yet been filled in.</dd>
+<dd><code>rl</code> - The row to start at</dd>
+<dd><code>ru</code> - The row to end at</dd>
+<dd><code>offT</code> - The rowOffset into target to decompress to.</dd>
+</dl>
+</li>
+</ul>
+<a name="decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-double:A-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>decompressToBlock</h4>
+<pre>public&nbsp;void&nbsp;decompressToBlock(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                              int&nbsp;rl,
+                              int&nbsp;ru,
+                              double[]&nbsp;values,
+                              boolean&nbsp;safe)</pre>
+<div class="block">Decompress the contents of this column group into the target matrixBlock, it is assumed that the target matrix
+ Block have the same number of columns and at least the number of rows ru.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>target</code> - The target matrixBlock to decompress into</dd>
+<dd><code>rl</code> - The row to start at</dd>
+<dd><code>ru</code> - The row to end at</dd>
+<dd><code>values</code> - The dictionary values materialized.</dd>
+<dd><code>safe</code> - Boolean specifying if the operation should be safe, aka counting nnz.</dd>
+</dl>
+</li>
+</ul>
+<a name="decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>decompressToBlock</h4>
+<pre>public&nbsp;void&nbsp;decompressToBlock(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                              int&nbsp;rl,
+                              int&nbsp;ru,
+                              boolean&nbsp;safe)</pre>
+</li>
+</ul>
+<a name="decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>decompressToBlock</h4>
+<pre>public&nbsp;void&nbsp;decompressToBlock(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                              int&nbsp;rl,
+                              int&nbsp;ru,
+                              int&nbsp;offT,
+                              boolean&nbsp;safe)</pre>
+</li>
+</ul>
+<a name="decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>decompressToBlock</h4>
+<pre>public&nbsp;void&nbsp;decompressToBlock(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                              int&nbsp;rl,
+                              int&nbsp;ru,
+                              int&nbsp;offT,
+                              double[]&nbsp;values,
+                              boolean&nbsp;safe)</pre>
+</li>
+</ul>
+<a name="decompressToBlockSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>decompressToBlockSafe</h4>
+<pre>public abstract&nbsp;void&nbsp;decompressToBlockSafe(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                                           int&nbsp;rl,
+                                           int&nbsp;ru,
+                                           int&nbsp;offT,
+                                           double[]&nbsp;values)</pre>
+<div class="block">Decompress the contents of this column group into the specified full matrix block without managing the number of
+ non zeros.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>target</code> - a matrix block where the columns covered by this column group have not yet been filled in.</dd>
+<dd><code>rl</code> - row lower</dd>
+<dd><code>ru</code> - row upper</dd>
+<dd><code>offT</code> - Offset into target to assign from</dd>
+<dd><code>values</code> - The Values materialized in the dictionary</dd>
+</dl>
+</li>
+</ul>
+<a name="decompressToBlockUnSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>decompressToBlockUnSafe</h4>
+<pre>public abstract&nbsp;void&nbsp;decompressToBlockUnSafe(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                                             int&nbsp;rl,
+                                             int&nbsp;ru,
+                                             int&nbsp;offT,
+                                             double[]&nbsp;values)</pre>
+</li>
+</ul>
+<a name="decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>decompressToBlock</h4>
+<pre>public&nbsp;void&nbsp;decompressToBlock(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                              int&nbsp;rl,
+                              int&nbsp;ru,
+                              int&nbsp;offT,
+                              double[]&nbsp;values)</pre>
+<div class="block">Decompress the contents of this column group into the specified full matrix block.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>target</code> - a matrix block where the columns covered by this column group have not yet been filled in.</dd>
+<dd><code>rl</code> - row lower</dd>
+<dd><code>ru</code> - row upper</dd>
+<dd><code>offT</code> - The offset into the target matrix block to decompress to.</dd>
+<dd><code>values</code> - The Values materialized in the dictionary</dd>
+</dl>
+</li>
+</ul>
+<a name="decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>decompressToBlock</h4>
+<pre>public abstract&nbsp;void&nbsp;decompressToBlock(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                                       int[]&nbsp;colIndexTargets)</pre>
+<div class="block">Decompress the contents of this column group into uncompressed packed columns</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>target</code> - a dense matrix block. The block must have enough space to hold the contents of this column
+                        group.</dd>
+<dd><code>colIndexTargets</code> - array that maps column indices in the original matrix block to columns of target.</dd>
+</dl>
+</li>
+</ul>
+<a name="decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-java.util.List-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>decompressColumnToBlock</h4>
+<pre>public static&nbsp;void&nbsp;decompressColumnToBlock(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                                           int&nbsp;colIndex,
+                                           <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a>&gt;&nbsp;colGroups)</pre>
+<div class="block">Decompress an entire column into the target matrix block. This decompression maintain the number of non zeros.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>target</code> - Target matrix block to decompress into.</dd>
+<dd><code>colIndex</code> - The column index to decompress.</dd>
+<dd><code>colGroups</code> - The list of column groups to decompress.</dd>
+</dl>
+</li>
+</ul>
+<a name="decompressColumnToArray-double:A-int-java.util.List-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>decompressColumnToArray</h4>
+<pre>public static&nbsp;void&nbsp;decompressColumnToArray(double[]&nbsp;target,
+                                           int&nbsp;colIndex,
+                                           <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a>&gt;&nbsp;colGroups)</pre>
+</li>
+</ul>
+<a name="decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-java.util.List-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>decompressColumnToBlock</h4>
+<pre>public static&nbsp;void&nbsp;decompressColumnToBlock(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                                           int&nbsp;colIndex,
+                                           int&nbsp;rl,
+                                           int&nbsp;ru,
+                                           <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a>&gt;&nbsp;colGroups)</pre>
+<div class="block">Decompress part of the col groups into the target matrix block, this decompression maintain the number of non
+ zeros.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>target</code> - The Target matrix block to decompress into</dd>
+<dd><code>colIndex</code> - The column index to decompress.</dd>
+<dd><code>rl</code> - The row to start the decompression from</dd>
+<dd><code>ru</code> - The row to end the decompression at</dd>
+<dd><code>colGroups</code> - The list of column groups to decompress.</dd>
+</dl>
+</li>
+</ul>
+<a name="decompressColumnToBlockUnSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-java.util.List-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>decompressColumnToBlockUnSafe</h4>
+<pre>public static&nbsp;void&nbsp;decompressColumnToBlockUnSafe(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                                                 int&nbsp;rl,
+                                                 int&nbsp;ru,
+                                                 <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a>&gt;&nbsp;colGroups)</pre>
+<div class="block">Decompress part of the col groups into the target matrix block, this decompression maintain the number of non
+ zeros.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>target</code> - The Target matrix block to decompress into</dd>
+<dd><code>rl</code> - The row to start the decompression from</dd>
+<dd><code>ru</code> - The row to end the decompression at</dd>
+<dd><code>colGroups</code> - The list of column groups to decompress.</dd>
+</dl>
+</li>
+</ul>
+<a name="decompressColumnToBlock-double:A-int-int-int-java.util.List-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>decompressColumnToBlock</h4>
+<pre>public static&nbsp;void&nbsp;decompressColumnToBlock(double[]&nbsp;target,
+                                           int&nbsp;colIndex,
+                                           int&nbsp;rl,
+                                           int&nbsp;ru,
+                                           <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a>&gt;&nbsp;colGroups)</pre>
+<div class="block">Decompress part of the col groups into the target dense double array. This assumes that the double array is a row
+ linearized matrix double array.
+ 
+ This is much faster than decompressing into a target matrix block since nnz is not managed.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>target</code> - Target double array to decompress into</dd>
+<dd><code>colIndex</code> - The column index to decompress.</dd>
+<dd><code>rl</code> - The row to start decompression from</dd>
+<dd><code>ru</code> - The row to end the decompression at</dd>
+<dd><code>colGroups</code> - The list of column groups to decompress.</dd>
+</dl>
+</li>
+</ul>
+<a name="decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>decompressColumnToBlock</h4>
+<pre>public abstract&nbsp;void&nbsp;decompressColumnToBlock(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                                             int&nbsp;colpos)</pre>
+<div class="block">Decompress to block.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>target</code> - dense output vector</dd>
+<dd><code>colpos</code> - column to decompress, error if larger or equal numCols</dd>
+</dl>
+</li>
+</ul>
+<a name="decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>decompressColumnToBlock</h4>
+<pre>public abstract&nbsp;void&nbsp;decompressColumnToBlock(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                                             int&nbsp;colpos,
+                                             int&nbsp;rl,
+                                             int&nbsp;ru)</pre>
+<div class="block">Decompress to block.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>target</code> - dense output vector</dd>
+<dd><code>colpos</code> - column to decompress, error if larger or equal numCols</dd>
+<dd><code>rl</code> - the Row to start decompression from</dd>
+<dd><code>ru</code> - the Row to end decompression at</dd>
+</dl>
+</li>
+</ul>
+<a name="decompressColumnToBlock-double:A-int-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>decompressColumnToBlock</h4>
+<pre>public abstract&nbsp;void&nbsp;decompressColumnToBlock(double[]&nbsp;target,
+                                             int&nbsp;colpos,
+                                             int&nbsp;rl,
+                                             int&nbsp;ru)</pre>
+<div class="block">Decompress to dense array.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>target</code> - dense output vector double array.</dd>
+<dd><code>colpos</code> - column to decompress, error if larger or equal numCols</dd>
+<dd><code>rl</code> - the Row to start decompression from</dd>
+<dd><code>ru</code> - the Row to end decompression at</dd>
+</dl>
+</li>
+</ul>
+<a name="write-java.io.DataOutput-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>write</h4>
+<pre>public abstract&nbsp;void&nbsp;write(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataOutput.html?is-external=true" title="class or interface in java.io">DataOutput</a>&nbsp;out)
+                    throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block">Serializes column group to data output.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>out</code> - data output</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if IOException occurs</dd>
+</dl>
+</li>
+</ul>
+<a name="readFields-java.io.DataInput-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>readFields</h4>
+<pre>public abstract&nbsp;void&nbsp;readFields(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a>&nbsp;in)
+                         throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block">Deserialize column group from data input.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>in</code> - data input</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if IOException occurs</dd>
+</dl>
+</li>
+</ul>
+<a name="getExactSizeOnDisk--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getExactSizeOnDisk</h4>
+<pre>public abstract&nbsp;long&nbsp;getExactSizeOnDisk()</pre>
+<div class="block">Returns the exact serialized size of column group. This can be used for example for buffer preallocation.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>exact serialized size for column group</dd>
+</dl>
+</li>
+</ul>
+<a name="get-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>get</h4>
+<pre>public abstract&nbsp;double&nbsp;get(int&nbsp;r,
+                           int&nbsp;c)</pre>
+<div class="block">Get the value at a global row/column position.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>r</code> - row</dd>
+<dd><code>c</code> - column</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>value at the row/column position</dd>
+</dl>
+</li>
+</ul>
+<a name="getValues--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getValues</h4>
+<pre>public abstract&nbsp;double[]&nbsp;getValues()</pre>
+<div class="block">Get all the values in the colGroup. Note that this is only the stored values not the way they are stored. Making
+ the output a list of values used in that colGroup not the actual full column.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a double list of values.</dd>
+</dl>
+</li>
+</ul>
+<a name="getValuesAsBlock--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getValuesAsBlock</h4>
+<pre>public abstract&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;getValuesAsBlock()</pre>
+<div class="block">Returns the ColGroup as a MatrixBlock. Used as a fall back solution in case a operation is not supported. Use in
+ connection to getIfCountsType to get if the values are repeated.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Matrix Block of the contained Values. Possibly contained in groups.</dd>
+</dl>
+</li>
+</ul>
+<a name="getIfCountsType--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getIfCountsType</h4>
+<pre>public abstract&nbsp;boolean&nbsp;getIfCountsType()</pre>
+<div class="block">Returns true if in the getValuesAsBlock method returns values in groups (that needs to be counted) or
+ individually potentially repeated values</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>boolean</dd>
+</dl>
+</li>
+</ul>
+<a name="rightMultByVector-double:A-double:A-int-int-double:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>rightMultByVector</h4>
+<pre>public abstract&nbsp;void&nbsp;rightMultByVector(double[]&nbsp;vector,
+                                       double[]&nbsp;c,
+                                       int&nbsp;rl,
+                                       int&nbsp;ru,
+                                       double[]&nbsp;dictVals)</pre>
+<div class="block">Multiply the slice of the matrix that this column group represents by a vector on the right.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>vector</code> - Vector to multiply by (tall vector)</dd>
+<dd><code>c</code> - Accumulator for holding the result</dd>
+<dd><code>rl</code> - Row to start at</dd>
+<dd><code>ru</code> - Row to stop at</dd>
+<dd><code>dictVals</code> - The dictionary values materialized</dd>
+</dl>
+</li>
+</ul>
+<a name="rightMultByMatrix-int:A-double:A-double:A-int-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>rightMultByMatrix</h4>
+<pre>public abstract&nbsp;void&nbsp;rightMultByMatrix(int[]&nbsp;outputColumns,
+                                       double[]&nbsp;preAggregatedB,
+                                       double[]&nbsp;c,
+                                       int&nbsp;thatNrColumns,
+                                       int&nbsp;rl,
+                                       int&nbsp;ru)</pre>
+<div class="block">Right multiply by matrix. for which the compressed matrix is on the left and the uncompressed is on the right.
+ Note that there is no b argument, but the b is aggregated into the values needed for assignment and addition into
+ output.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>outputColumns</code> - The Columns that are affected by the right multiplication.</dd>
+<dd><code>preAggregatedB</code> - The preAggregated values that is to be put into c</dd>
+<dd><code>c</code> - The output matrix</dd>
+<dd><code>thatNrColumns</code> - The number of columns in B (before aggregation)</dd>
+<dd><code>rl</code> - The row index to start the multiplication from</dd>
+<dd><code>ru</code> - The row index to stop the multiplication at</dd>
+</dl>
+</li>
+</ul>
+<a name="leftMultByRowVector-double:A-double:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>leftMultByRowVector</h4>
+<pre>public abstract&nbsp;void&nbsp;leftMultByRowVector(double[]&nbsp;vector,
+                                         double[]&nbsp;result)</pre>
+<div class="block">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. its size now is 1xn).</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>vector</code> - row vector</dd>
+<dd><code>result</code> - matrix block result</dd>
+</dl>
+</li>
+</ul>
+<a name="leftMultByRowVector-double:A-double:A-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>leftMultByRowVector</h4>
+<pre>public abstract&nbsp;void&nbsp;leftMultByRowVector(double[]&nbsp;vector,
+                                         double[]&nbsp;result,
+                                         int&nbsp;offT)</pre>
+<div class="block">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. its size now is 1xn).</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>vector</code> - row vector</dd>
+<dd><code>result</code> - matrix block result</dd>
+<dd><code>offT</code> - The offset into target result array to put the result values.</dd>
+</dl>
+</li>
+</ul>
+<a name="leftMultByRowVector-double:A-double:A-int-double:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>leftMultByRowVector</h4>
+<pre>public abstract&nbsp;void&nbsp;leftMultByRowVector(double[]&nbsp;vector,
+                                         double[]&nbsp;result,
+                                         int&nbsp;numVals,
+                                         double[]&nbsp;values)</pre>
+<div class="block">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. its size now is 1xn).</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>vector</code> - Row vector</dd>
+<dd><code>result</code> - Matrix block result</dd>
+<dd><code>numVals</code> - The Number of values contained in the Column.</dd>
+<dd><code>values</code> - The materialized list of values contained in the dictionary.</dd>
+</dl>
+</li>
+</ul>
+<a name="leftMultByRowVector-double:A-double:A-int-double:A-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>leftMultByRowVector</h4>
+<pre>public abstract&nbsp;void&nbsp;leftMultByRowVector(double[]&nbsp;vector,
+                                         double[]&nbsp;result,
+                                         int&nbsp;numVals,
+                                         double[]&nbsp;values,
+                                         int&nbsp;offT)</pre>
+<div class="block">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. its size now is 1xn).</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>vector</code> - Row vector</dd>
+<dd><code>result</code> - Matrix block result</dd>
+<dd><code>numVals</code> - The Number of values contained in the Column.</dd>
+<dd><code>values</code> - The materialized list of values contained in the dictionary.</dd>
+<dd><code>offT</code> - The offset into target result array to put the result values.</dd>
+</dl>
+</li>
+</ul>
+<a name="leftMultBySelfDiagonalColGroup-double:A-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>leftMultBySelfDiagonalColGroup</h4>
+<pre>public abstract&nbsp;void&nbsp;leftMultBySelfDiagonalColGroup(double[]&nbsp;result,
+                                                    int&nbsp;numColumns)</pre>
+</li>
+</ul>
+<a name="leftMultByMatrix-double:A-double:A-double:A-int-int-int-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>leftMultByMatrix</h4>
+<pre>public abstract&nbsp;void&nbsp;leftMultByMatrix(double[]&nbsp;matrix,
+                                      double[]&nbsp;result,
+                                      double[]&nbsp;values,
+                                      int&nbsp;numRows,
+                                      int&nbsp;numCols,
+                                      int&nbsp;rl,
+                                      int&nbsp;ru,
+                                      int&nbsp;vOff)</pre>
+<div class="block">Multiply with a matrix on the left.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>matrix</code> - matrix to left multiply</dd>
+<dd><code>result</code> - matrix block result</dd>
+<dd><code>values</code> - The materialized list of values contained in the dictionary.</dd>
+<dd><code>numRows</code> - The number of rows in the matrix input</dd>
+<dd><code>numCols</code> - The number of columns in the colGroups parent matrix.</dd>
+<dd><code>rl</code> - The row to start the matrix multiplication from</dd>
+<dd><code>ru</code> - The row to stop the matrix multiplication at.</dd>
+<dd><code>vOff</code> - The offset into the first argument matrix to start at.</dd>
+</dl>
+</li>
+</ul>
+<a name="leftMultBySparseMatrix-org.apache.sysds.runtime.data.SparseBlock-double:A-double:A-int-int-int-double:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>leftMultBySparseMatrix</h4>
+<pre>public abstract&nbsp;void&nbsp;leftMultBySparseMatrix(<a href="../../../../../../org/apache/sysds/runtime/data/SparseBlock.html" title="class in org.apache.sysds.runtime.data">SparseBlock</a>&nbsp;sb,
+                                            double[]&nbsp;result,
+                                            double[]&nbsp;values,
+                                            int&nbsp;numRows,
+                                            int&nbsp;numCols,
+                                            int&nbsp;row,
+                                            double[]&nbsp;MaterializedRow)</pre>
+<div class="block">Multiply with a sparse matrix on the left hand side, and add the values to the output result</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>sb</code> - The sparse block to multiply with</dd>
+<dd><code>result</code> - The linearized output matrix</dd>
+<dd><code>values</code> - The dictionary values materialized</dd>
+<dd><code>numRows</code> - The number of rows in the left hand side input matrix (the sparse one)</dd>
+<dd><code>numCols</code> - The number of columns in the compression.</dd>
+<dd><code>row</code> - The row index of the sparse row to multiply with.</dd>
+<dd><code>MaterializedRow</code> - A Temporary dense row vector to materialize the sparse values into used for OLE</dd>
+</dl>
+</li>
+</ul>
+<a name="scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>scalarOperation</h4>
+<pre>public abstract&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a>&nbsp;scalarOperation(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op)</pre>
+<div class="block">Perform the specified scalar operation directly on the compressed column group, without decompressing individual
+ cells if possible.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>op</code> - operation to perform</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>version of this column group with the operation applied</dd>
+</dl>
+</li>
+</ul>
+<a name="binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>binaryRowOp</h4>
+<pre>public abstract&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a>&nbsp;binaryRowOp(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
+                                      double[]&nbsp;v,
+                                      boolean&nbsp;sparseSafe,
+                                      boolean&nbsp;left)</pre>
+<div class="block">Perform a binary row operation.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>op</code> - The operation to execute</dd>
+<dd><code>v</code> - The vector of values to apply, should be same length as dictionary length.</dd>
+<dd><code>sparseSafe</code> - True if the operation return 0 on all instances of values in v -- op(v[?], 0)</dd>
+<dd><code>left</code> - Specifies if the operation is executed on the left or right side of the values contained.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>A updated column group with the new values.</dd>
+</dl>
+</li>
+</ul>
+<a name="unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>unaryAggregateOperations</h4>
+<pre>public abstract&nbsp;void&nbsp;unaryAggregateOperations(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;op,
+                                              double[]&nbsp;c)</pre>
+<div class="block">Unary Aggregate operator, since aggregate operators require new object output, the output becomes an uncompressed
+ matrix.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>op</code> - The operator used</dd>
+<dd><code>c</code> - Rhe output matrix block.</dd>
+</dl>
+</li>
+</ul>
+<a name="unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>unaryAggregateOperations</h4>
+<pre>public abstract&nbsp;void&nbsp;unaryAggregateOperations(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;op,
+                                              double[]&nbsp;c,
+                                              int&nbsp;rl,
+                                              int&nbsp;ru)</pre>
+<div class="block">Unary Aggregate operator, since aggregate operators require new object output, the output becomes an uncompressed
+ matrix.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>op</code> - The operator used</dd>
+<dd><code>c</code> - The output matrix block.</dd>
+<dd><code>rl</code> - The Starting Row to do aggregation from</dd>
+<dd><code>ru</code> - The last Row to do aggregation to (not included)</dd>
+</dl>
+</li>
+</ul>
+<a name="countNonZerosPerRow-int:A-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>countNonZerosPerRow</h4>
+<pre>public abstract&nbsp;void&nbsp;countNonZerosPerRow(int[]&nbsp;rnnz,
+                                         int&nbsp;rl,
+                                         int&nbsp;ru)</pre>
+<div class="block">Count the number of non-zeros per row</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>rnnz</code> - non-zeros per row</dd>
+<dd><code>rl</code> - row lower bound, inclusive</dd>
+<dd><code>ru</code> - row upper bound, exclusive</dd>
+</dl>
+</li>
+</ul>
+<a name="isLossy--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isLossy</h4>
+<pre>public abstract&nbsp;boolean&nbsp;isLossy()</pre>
+<div class="block">Is Lossy</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>returns if the ColGroup is compressed in a lossy manner.</dd>
+</dl>
+</li>
+</ul>
+<a name="isDense--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isDense</h4>
+<pre>public&nbsp;boolean&nbsp;isDense()</pre>
+<div class="block">Is dense, signals that the entire column group is allocated an processed. This is useful in Row wise min and max
+ for instance, to avoid having to scan through each row to look for empty rows.
+ 
+ an example where it is true is DDC, Const and Uncompressed. examples where false is OLE and RLE.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>returns if the colgroup is allocated in a dense fashion.</dd>
+</dl>
+</li>
+</ul>
+<a name="sliceColumns-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>sliceColumns</h4>
+<pre>public abstract&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a>&nbsp;sliceColumns(int&nbsp;cl,
+                                       int&nbsp;cu)</pre>
+<div class="block">Slice out the columns within the range of cl and cu to remove the dictionary values related to these columns. If
+ the ColGroup slicing from does not contain any columns within the range null is returned.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>cl</code> - The lower bound of the columns to select</dd>
+<dd><code>cu</code> - The upper bound of the columns to select (not inclusive).</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>A cloned Column Group, with a copied pointer to the old column groups index structure, but reduced
+         dictionary and _columnIndexes correctly aligned with the expected sliced compressed matrix.</dd>
+</dl>
+</li>
+</ul>
+<a name="getMin--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getMin</h4>
+<pre>public abstract&nbsp;double&nbsp;getMin()</pre>
+</li>
+</ul>
+<a name="getMax--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getMax</h4>
+<pre>public abstract&nbsp;double&nbsp;getMax()</pre>
+</li>
+</ul>
+<a name="copy--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>copy</h4>
+<pre>public abstract&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a>&nbsp;copy()</pre>
+</li>
+</ul>
+<a name="containsValue-double-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>containsValue</h4>
+<pre>public abstract&nbsp;boolean&nbsp;containsValue(double&nbsp;pattern)</pre>
+</li>
+</ul>
+<a name="getNumberNonZeros--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getNumberNonZeros</h4>
+<pre>public abstract&nbsp;long&nbsp;getNumberNonZeros()</pre>
+</li>
+</ul>
+<a name="toString--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>toString</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/AColGroup.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev&nbsp;Class</li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html" title="enum in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/AColGroup.html" target="_top">Frames</a></li>
+<li><a href="AColGroup.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ADictionary.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ADictionary.html
index 0b143b6..559fca8 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ADictionary.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ADictionary.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":6,"i1":10,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6,"i8":6,"i9":6,"i10":6,"i11":6,"i12":6,"i13":6,"i14":9,"i15":6};
+var methods = {"i0":6,"i1":10,"i2":6,"i3":6,"i4":10,"i5":6,"i6":6,"i7":6,"i8":6,"i9":6,"i10":6,"i11":6,"i12":6,"i13":6,"i14":6,"i15":6,"i16":6,"i17":6,"i18":6,"i19":9,"i20":6,"i21":6,"i22":6,"i23":6};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -49,8 +49,8 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li>Prev&nbsp;Class</li>
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/ADictionary.html" target="_top">Frames</a></li>
@@ -169,19 +169,41 @@
 </td>
 </tr>
 <tr id="i2" class="altColor">
+<td class="colFirst"><code>abstract double[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#aggregateTuples-org.apache.sysds.runtime.functionobjects.Builtin-int-">aggregateTuples</a></span>(<a href="../../../../../../org/apache/sysds/runtime/functionobjects/Builtin.html" title="class in org.apache.sysds.runtime.functionobjects">Builtin</a>&nbsp;fn,
+               int&nbsp;nCol)</code>
+<div class="block">Aggregate all entries in the rows.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code>abstract <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#apply-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">apply</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op)</code>
 <div class="block">Applies the scalar operation on the dictionary.</div>
 </td>
 </tr>
-<tr id="i3" class="rowColor">
-<td class="colFirst"><code>abstract <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#applyBinaryRowOp-org.apache.sysds.runtime.functionobjects.ValueFunction-double:A-boolean-int:A-">applyBinaryRowOp</a></span>(<a href="../../../../../../org/apache/sysds/runtime/functionobjects/ValueFunction.html" title="class in org.apache.sysds.runtime.functionobjects">ValueFunction</a>&nbsp;fn,
+<tr id="i4" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#applyBinaryRowOp-org.apache.sysds.runtime.functionobjects.ValueFunction-double:A-boolean-int:A-boolean-">applyBinaryRowOp</a></span>(<a href="../../../../../../org/apache/sysds/runtime/functionobjects/ValueFunction.html" title="class in org.apache.sysds.runtime.functionobjects">ValueFunction</a>&nbsp;fn,
                 double[]&nbsp;v,
                 boolean&nbsp;sparseSafe,
-                int[]&nbsp;colIndexes)</code>&nbsp;</td>
+                int[]&nbsp;colIndexes,
+                boolean&nbsp;left)</code>&nbsp;</td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>abstract <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#applyBinaryRowOpLeft-org.apache.sysds.runtime.functionobjects.ValueFunction-double:A-boolean-int:A-">applyBinaryRowOpLeft</a></span>(<a href="../../../../../../org/apache/sysds/runtime/functionobjects/ValueFunction.html" title="class in org.apache.sysds.runtime.functionobjects">ValueFunction</a>&nbsp;fn,
+                    double[]&nbsp;v,
+                    boolean&nbsp;sparseSafe,
+                    int[]&nbsp;colIndexes)</code>&nbsp;</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>abstract <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#applyBinaryRowOpRight-org.apache.sysds.runtime.functionobjects.ValueFunction-double:A-boolean-int:A-">applyBinaryRowOpRight</a></span>(<a href="../../../../../../org/apache/sysds/runtime/functionobjects/ValueFunction.html" title="class in org.apache.sysds.runtime.functionobjects">ValueFunction</a>&nbsp;fn,
+                     double[]&nbsp;v,
+                     boolean&nbsp;sparseSafe,
+                     int[]&nbsp;colIndexes)</code>&nbsp;</td>
+</tr>
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code>abstract <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#applyScalarOp-org.apache.sysds.runtime.matrix.operators.ScalarOperator-double-int-">applyScalarOp</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op,
              double&nbsp;newVal,
@@ -189,67 +211,94 @@
 <div class="block">Applies the scalar operation on the dictionary.</div>
 </td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code>abstract <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#clone--">clone</a></span>()</code>
 <div class="block">Returns a deep clone of the dictionary.</div>
 </td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>abstract <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#cloneAndExtend-int-">cloneAndExtend</a></span>(int&nbsp;len)</code>&nbsp;</td>
+</tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code>abstract boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#containsValue-double-">containsValue</a></span>(double&nbsp;pattern)</code>&nbsp;</td>
+</tr>
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code>abstract long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#getExactSizeOnDisk--">getExactSizeOnDisk</a></span>()</code>
 <div class="block">Calculate the space consumption if the dictionary is stored on disk.</div>
 </td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i12" class="altColor">
 <td class="colFirst"><code>abstract long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#getInMemorySize--">getInMemorySize</a></span>()</code>
 <div class="block">Returns the memory usage of the dictionary.</div>
 </td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i13" class="rowColor">
+<td class="colFirst"><code>abstract long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#getNumberNonZeros-int:A-int-">getNumberNonZeros</a></span>(int[]&nbsp;counts,
+                 int&nbsp;nCol)</code>&nbsp;</td>
+</tr>
+<tr id="i14" class="altColor">
 <td class="colFirst"><code>abstract int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#getNumberOfValues-int-">getNumberOfValues</a></span>(int&nbsp;ncol)</code>
 <div class="block">Get the number of values given that the column group has n columns</div>
 </td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i15" class="rowColor">
 <td class="colFirst"><code>abstract <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/StringBuilder.html?is-external=true" title="class or interface in java.lang">StringBuilder</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#getString-java.lang.StringBuilder-int-">getString</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/StringBuilder.html?is-external=true" title="class or interface in java.lang">StringBuilder</a>&nbsp;sb,
          int&nbsp;colIndexes)</code>&nbsp;</td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i16" class="altColor">
 <td class="colFirst"><code>abstract double</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#getValue-int-">getValue</a></span>(int&nbsp;i)</code>
 <div class="block">Get Specific value contained in the dictionary at index.</div>
 </td>
 </tr>
-<tr id="i11" class="rowColor">
+<tr id="i17" class="rowColor">
 <td class="colFirst"><code>abstract double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#getValues--">getValues</a></span>()</code>
 <div class="block">Get all the values contained in the dictionary as a linearized double array.</div>
 </td>
 </tr>
-<tr id="i12" class="altColor">
+<tr id="i18" class="altColor">
 <td class="colFirst"><code>abstract int</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#getValuesLength--">getValuesLength</a></span>()</code>
-<div class="block">returns the count of values contained in the dictionary.</div>
-</td>
-</tr>
-<tr id="i13" class="rowColor">
-<td class="colFirst"><code>abstract int</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#hasZeroTuple-int-">hasZeroTuple</a></span>(int&nbsp;ncol)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#hasZeroTuple-int-">hasZeroTuple</a></span>(int&nbsp;nCol)</code>
 <div class="block">Determines if the content has a zero tuple.</div>
 </td>
 </tr>
-<tr id="i14" class="altColor">
+<tr id="i19" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#read-java.io.DataInput-boolean-">read</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a>&nbsp;in,
     boolean&nbsp;lossy)</code>
 <div class="block">The read function to instantiate the dictionary.</div>
 </td>
 </tr>
-<tr id="i15" class="rowColor">
+<tr id="i20" class="altColor">
+<td class="colFirst"><code>abstract <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#reExpandColumns-int-">reExpandColumns</a></span>(int&nbsp;max)</code>
+<div class="block">return a new Dictionary that have re expanded all values, based on the entries already contained.</div>
+</td>
+</tr>
+<tr id="i21" class="rowColor">
+<td class="colFirst"><code>abstract int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#size--">size</a></span>()</code>
+<div class="block">returns the count of values contained in the dictionary.</div>
+</td>
+</tr>
+<tr id="i22" class="altColor">
+<td class="colFirst"><code>abstract <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#sliceOutColumnRange-int-int-int-">sliceOutColumnRange</a></span>(int&nbsp;idxStart,
+                   int&nbsp;idxEnd,
+                   int&nbsp;previousNumberOfColumns)</code>
+<div class="block">Modify the dictionary by removing columns not within the index range.</div>
+</td>
+</tr>
+<tr id="i23" class="rowColor">
 <td class="colFirst"><code>abstract void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#write-java.io.DataOutput-">write</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataOutput.html?is-external=true" title="class or interface in java.io">DataOutput</a>&nbsp;out)</code>
 <div class="block">Write the dictionary to a DataOutput.</div>
@@ -330,12 +379,12 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>hasZeroTuple</h4>
-<pre>public abstract&nbsp;int&nbsp;hasZeroTuple(int&nbsp;ncol)</pre>
+<pre>public abstract&nbsp;int&nbsp;hasZeroTuple(int&nbsp;nCol)</pre>
 <div class="block">Determines if the content has a zero tuple. meaning all values at a specific row are zero value. This is useful
  information to find out if the dictionary is used in a dense context. To improve some specific operations.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>ncol</code> - The number of columns in the dictionary.</dd>
+<dd><code>nCol</code> - The number of columns in the dictionary.</dd>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>The index at which the zero tuple is located.</dd>
 </dl>
@@ -374,13 +423,31 @@
 </dl>
 </li>
 </ul>
-<a name="getValuesLength--">
+<a name="aggregateTuples-org.apache.sysds.runtime.functionobjects.Builtin-int-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getValuesLength</h4>
-<pre>public abstract&nbsp;int&nbsp;getValuesLength()</pre>
+<h4>aggregateTuples</h4>
+<pre>public abstract&nbsp;double[]&nbsp;aggregateTuples(<a href="../../../../../../org/apache/sysds/runtime/functionobjects/Builtin.html" title="class in org.apache.sysds.runtime.functionobjects">Builtin</a>&nbsp;fn,
+                                         int&nbsp;nCol)</pre>
+<div class="block">Aggregate all entries in the rows.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>fn</code> - The aggregate function</dd>
+<dd><code>nCol</code> - The number of columns contained in the dictionary.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Aggregates for this dictionary tuples.</dd>
+</dl>
+</li>
+</ul>
+<a name="size--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>size</h4>
+<pre>public abstract&nbsp;int&nbsp;size()</pre>
 <div class="block">returns the count of values contained in the dictionary.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -426,16 +493,41 @@
 </dl>
 </li>
 </ul>
-<a name="applyBinaryRowOp-org.apache.sysds.runtime.functionobjects.ValueFunction-double:A-boolean-int:A-">
+<a name="applyBinaryRowOp-org.apache.sysds.runtime.functionobjects.ValueFunction-double:A-boolean-int:A-boolean-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>applyBinaryRowOp</h4>
-<pre>public abstract&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a>&nbsp;applyBinaryRowOp(<a href="../../../../../../org/apache/sysds/runtime/functionobjects/ValueFunction.html" title="class in org.apache.sysds.runtime.functionobjects">ValueFunction</a>&nbsp;fn,
-                                             double[]&nbsp;v,
-                                             boolean&nbsp;sparseSafe,
-                                             int[]&nbsp;colIndexes)</pre>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a>&nbsp;applyBinaryRowOp(<a href="../../../../../../org/apache/sysds/runtime/functionobjects/ValueFunction.html" title="class in org.apache.sysds.runtime.functionobjects">ValueFunction</a>&nbsp;fn,
+                                    double[]&nbsp;v,
+                                    boolean&nbsp;sparseSafe,
+                                    int[]&nbsp;colIndexes,
+                                    boolean&nbsp;left)</pre>
+</li>
+</ul>
+<a name="applyBinaryRowOpLeft-org.apache.sysds.runtime.functionobjects.ValueFunction-double:A-boolean-int:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>applyBinaryRowOpLeft</h4>
+<pre>public abstract&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a>&nbsp;applyBinaryRowOpLeft(<a href="../../../../../../org/apache/sysds/runtime/functionobjects/ValueFunction.html" title="class in org.apache.sysds.runtime.functionobjects">ValueFunction</a>&nbsp;fn,
+                                                 double[]&nbsp;v,
+                                                 boolean&nbsp;sparseSafe,
+                                                 int[]&nbsp;colIndexes)</pre>
+</li>
+</ul>
+<a name="applyBinaryRowOpRight-org.apache.sysds.runtime.functionobjects.ValueFunction-double:A-boolean-int:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>applyBinaryRowOpRight</h4>
+<pre>public abstract&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a>&nbsp;applyBinaryRowOpRight(<a href="../../../../../../org/apache/sysds/runtime/functionobjects/ValueFunction.html" title="class in org.apache.sysds.runtime.functionobjects">ValueFunction</a>&nbsp;fn,
+                                                  double[]&nbsp;v,
+                                                  boolean&nbsp;sparseSafe,
+                                                  int[]&nbsp;colIndexes)</pre>
 </li>
 </ul>
 <a name="clone--">
@@ -452,6 +544,15 @@
 </dl>
 </li>
 </ul>
+<a name="cloneAndExtend-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>cloneAndExtend</h4>
+<pre>public abstract&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a>&nbsp;cloneAndExtend(int&nbsp;len)</pre>
+</li>
+</ul>
 <a name="aggregateCols-double:A-org.apache.sysds.runtime.functionobjects.Builtin-int:A-">
 <!--   -->
 </a>
@@ -542,13 +643,68 @@
 <a name="getString-java.lang.StringBuilder-int-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>getString</h4>
 <pre>public abstract&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/StringBuilder.html?is-external=true" title="class or interface in java.lang">StringBuilder</a>&nbsp;getString(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/StringBuilder.html?is-external=true" title="class or interface in java.lang">StringBuilder</a>&nbsp;sb,
                                         int&nbsp;colIndexes)</pre>
 </li>
 </ul>
+<a name="sliceOutColumnRange-int-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>sliceOutColumnRange</h4>
+<pre>public abstract&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a>&nbsp;sliceOutColumnRange(int&nbsp;idxStart,
+                                                int&nbsp;idxEnd,
+                                                int&nbsp;previousNumberOfColumns)</pre>
+<div class="block">Modify the dictionary by removing columns not within the index range.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>idxStart</code> - The column index to start at.</dd>
+<dd><code>idxEnd</code> - The column index to end at (not inclusive)</dd>
+<dd><code>previousNumberOfColumns</code> - The number of columns contained in the dictionary.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>A dictionary containing the sliced out columns values only.</dd>
+</dl>
+</li>
+</ul>
+<a name="reExpandColumns-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>reExpandColumns</h4>
+<pre>public abstract&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a>&nbsp;reExpandColumns(int&nbsp;max)</pre>
+<div class="block">return a new Dictionary that have re expanded all values, based on the entries already contained.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>max</code> - The number of output columns possible.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The re expanded Dictionary.</dd>
+</dl>
+</li>
+</ul>
+<a name="containsValue-double-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>containsValue</h4>
+<pre>public abstract&nbsp;boolean&nbsp;containsValue(double&nbsp;pattern)</pre>
+</li>
+</ul>
+<a name="getNumberNonZeros-int:A-int-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getNumberNonZeros</h4>
+<pre>public abstract&nbsp;long&nbsp;getNumberNonZeros(int[]&nbsp;counts,
+                                       int&nbsp;nCol)</pre>
+</li>
+</ul>
 </li>
 </ul>
 </li>
@@ -577,8 +733,8 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li>Prev&nbsp;Class</li>
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/ADictionary.html" target="_top">Frames</a></li>
@@ -618,6 +774,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroup.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroup.html
deleted file mode 100644
index ddb9296..0000000
--- a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroup.html
+++ /dev/null
@@ -1,1117 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc -->
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ColGroup (SystemDS 2.1.0-SNAPSHOT API)</title>
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ColGroup (SystemDS 2.1.0-SNAPSHOT API)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":9,"i6":6,"i7":6,"i8":10,"i9":10,"i10":6,"i11":6,"i12":6,"i13":6,"i14":10,"i15":10,"i16":6,"i17":6,"i18":6,"i19":6,"i20":6,"i21":6,"i22":6,"i23":6,"i24":6,"i25":6,"i26":6,"i27":6,"i28":6,"i29":10,"i30":6,"i31":6,"i32":6};
-var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/ColGroup.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/ColGroup.html" target="_top">Frames</a></li>
-<li><a href="ColGroup.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.sysds.runtime.compress.colgroup</div>
-<h2 title="Class ColGroup" class="title">Class ColGroup</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
-<li>
-<ul class="inheritance">
-<li>org.apache.sysds.runtime.compress.colgroup.ColGroup</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<dl>
-<dt>All Implemented Interfaces:</dt>
-<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></dd>
-</dl>
-<dl>
-<dt>Direct Known Subclasses:</dt>
-<dd><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupUncompressed</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></dd>
-</dl>
-<hr>
-<br>
-<pre>public abstract class <span class="typeNameLabel">ColGroup</span>
-extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
-implements <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></pre>
-<div class="block">Class that stores information about a column group within a compressed matrix block. There are subclasses specific to
- each compression type.</div>
-<dl>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../../../serialized-form.html#org.apache.sysds.runtime.compress.colgroup.ColGroup">Serialized Form</a></dd>
-</dl>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ======== NESTED CLASS SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="nested.class.summary">
-<!--   -->
-</a>
-<h3>Nested Class Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
-<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Class and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>static class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a></span></code>
-<div class="block">Public Group types supported
- 
- Note For instance DDC is called DDC not DDC1, or DDC2 which is a specific subtype of the DDC.</div>
-</td>
-</tr>
-</table>
-</li>
-</ul>
-<!-- ========== METHOD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.summary">
-<!--   -->
-</a>
-<h3>Method Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>abstract <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-">binaryRowOp</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
-           double[]&nbsp;v,
-           boolean&nbsp;sparseSafe)</code>
-<div class="block">Perform a binary row operation.</div>
-</td>
-</tr>
-<tr id="i1" class="rowColor">
-<td class="colFirst"><code>abstract void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#countNonZerosPerRow-int:A-int-int-">countNonZerosPerRow</a></span>(int[]&nbsp;rnnz,
-                   int&nbsp;rl,
-                   int&nbsp;ru)</code>
-<div class="block">Count the number of non-zeros per row</div>
-</td>
-</tr>
-<tr id="i2" class="altColor">
-<td class="colFirst"><code>abstract void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">decompressToBlock</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
-                 int&nbsp;colpos)</code>
-<div class="block">Decompress to block.</div>
-</td>
-</tr>
-<tr id="i3" class="rowColor">
-<td class="colFirst"><code>abstract void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">decompressToBlock</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
-                 int[]&nbsp;colIndexTargets)</code>
-<div class="block">Decompress the contents of this column group into uncompressed packed columns</div>
-</td>
-</tr>
-<tr id="i4" class="altColor">
-<td class="colFirst"><code>abstract void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">decompressToBlock</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
-                 int&nbsp;rl,
-                 int&nbsp;ru)</code>
-<div class="block">Decompress the contents of this column group into the specified full matrix block.</div>
-</td>
-</tr>
-<tr id="i5" class="rowColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-java.util.List-">decompressToBlock</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
-                 int&nbsp;colIndex,
-                 <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>&gt;&nbsp;colGroups)</code>&nbsp;</td>
-</tr>
-<tr id="i6" class="altColor">
-<td class="colFirst"><code>abstract long</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#estimateInMemorySize--">estimateInMemorySize</a></span>()</code>
-<div class="block">Note: Must be overridden by child classes to account for additional data and metadata</div>
-</td>
-</tr>
-<tr id="i7" class="rowColor">
-<td class="colFirst"><code>abstract double</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#get-int-int-">get</a></span>(int&nbsp;r,
-   int&nbsp;c)</code>
-<div class="block">Get the value at a global row/column position.</div>
-</td>
-</tr>
-<tr id="i8" class="altColor">
-<td class="colFirst"><code>int</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getColIndex-int-">getColIndex</a></span>(int&nbsp;colNum)</code>
-<div class="block">Obtain a column index value.</div>
-</td>
-</tr>
-<tr id="i9" class="rowColor">
-<td class="colFirst"><code>int[]</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getColIndices--">getColIndices</a></span>()</code>
-<div class="block">Obtain the offsets of the columns in the matrix block that make up the group</div>
-</td>
-</tr>
-<tr id="i10" class="altColor">
-<td class="colFirst"><code>abstract <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getCompType--">getCompType</a></span>()</code>
-<div class="block">Obtain the compression type.</div>
-</td>
-</tr>
-<tr id="i11" class="rowColor">
-<td class="colFirst"><code>abstract long</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getExactSizeOnDisk--">getExactSizeOnDisk</a></span>()</code>
-<div class="block">Returns the exact serialized size of column group.</div>
-</td>
-</tr>
-<tr id="i12" class="altColor">
-<td class="colFirst"><code>abstract boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getIfCountsType--">getIfCountsType</a></span>()</code>
-<div class="block">Returns true if in the getValuesAsBlock method returns values in groups (that needs to be counted) or
- individually potentially repeated values</div>
-</td>
-</tr>
-<tr id="i13" class="rowColor">
-<td class="colFirst"><code>abstract <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/IJV.html" title="class in org.apache.sysds.runtime.matrix.data">IJV</a>&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getIterator-int-int-boolean-boolean-">getIterator</a></span>(int&nbsp;rl,
-           int&nbsp;ru,
-           boolean&nbsp;inclZeros,
-           boolean&nbsp;rowMajor)</code>
-<div class="block">Create a column group iterator for a row index range.</div>
-</td>
-</tr>
-<tr id="i14" class="altColor">
-<td class="colFirst"><code>int</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getNumCols--">getNumCols</a></span>()</code>
-<div class="block">Obtain the number of columns in this column group.</div>
-</td>
-</tr>
-<tr id="i15" class="rowColor">
-<td class="colFirst"><code>int</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getNumRows--">getNumRows</a></span>()</code>
-<div class="block">Get number of rows contained in the ColGroup.</div>
-</td>
-</tr>
-<tr id="i16" class="altColor">
-<td class="colFirst"><code>abstract org.apache.sysds.runtime.compress.colgroup.ColGroup.ColGroupRowIterator</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getRowIterator-int-int-">getRowIterator</a></span>(int&nbsp;rl,
-              int&nbsp;ru)</code>
-<div class="block">Create a dense row iterator for a row index range.</div>
-</td>
-</tr>
-<tr id="i17" class="rowColor">
-<td class="colFirst"><code>abstract double[]</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getValues--">getValues</a></span>()</code>
-<div class="block">Get all the values in the colGroup.</div>
-</td>
-</tr>
-<tr id="i18" class="altColor">
-<td class="colFirst"><code>abstract <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getValuesAsBlock--">getValuesAsBlock</a></span>()</code>
-<div class="block">Returns the ColGroup as a MatrixBlock.</div>
-</td>
-</tr>
-<tr id="i19" class="rowColor">
-<td class="colFirst"><code>abstract boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#isLossy--">isLossy</a></span>()</code>
-<div class="block">Is Lossy</div>
-</td>
-</tr>
-<tr id="i20" class="altColor">
-<td class="colFirst"><code>abstract void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#leftMultByMatrix-double:A-double:A-double:A-int-int-int-int-int-">leftMultByMatrix</a></span>(double[]&nbsp;matrix,
-                double[]&nbsp;result,
-                double[]&nbsp;values,
-                int&nbsp;numRows,
-                int&nbsp;numCols,
-                int&nbsp;rl,
-                int&nbsp;ru,
-                int&nbsp;vOff)</code>
-<div class="block">Multiply with a matrix on the left.</div>
-</td>
-</tr>
-<tr id="i21" class="rowColor">
-<td class="colFirst"><code>abstract void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#leftMultByRowVector-double:A-double:A-int-">leftMultByRowVector</a></span>(double[]&nbsp;vector,
-                   double[]&nbsp;result,
-                   int&nbsp;numVals)</code>
-<div class="block">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.</div>
-</td>
-</tr>
-<tr id="i22" class="altColor">
-<td class="colFirst"><code>abstract void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#leftMultByRowVector-double:A-double:A-int-double:A-">leftMultByRowVector</a></span>(double[]&nbsp;vector,
-                   double[]&nbsp;result,
-                   int&nbsp;numVals,
-                   double[]&nbsp;values)</code>
-<div class="block">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.</div>
-</td>
-</tr>
-<tr id="i23" class="rowColor">
-<td class="colFirst"><code>abstract void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#leftMultBySparseMatrix-int-int:A-double:A-double:A-int-double:A-int-int-int-double:A-">leftMultBySparseMatrix</a></span>(int&nbsp;spNrVals,
-                      int[]&nbsp;indexes,
-                      double[]&nbsp;sparseV,
-                      double[]&nbsp;result,
-                      int&nbsp;numVals,
-                      double[]&nbsp;values,
-                      int&nbsp;numRows,
-                      int&nbsp;numCols,
-                      int&nbsp;row,
-                      double[]&nbsp;MaterializedRow)</code>
-<div class="block">Multiply with a sparse matrix on the left hand side, and add the values to the output result</div>
-</td>
-</tr>
-<tr id="i24" class="altColor">
-<td class="colFirst"><code>abstract void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#readFields-java.io.DataInput-">readFields</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a>&nbsp;in)</code>
-<div class="block">Deserialize column group from data input.</div>
-</td>
-</tr>
-<tr id="i25" class="rowColor">
-<td class="colFirst"><code>abstract void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#rightMultByMatrix-double:A-double:A-int-int-int-int-int-">rightMultByMatrix</a></span>(double[]&nbsp;preAggregatedB,
-                 double[]&nbsp;c,
-                 int&nbsp;thatNrColumns,
-                 int&nbsp;rl,
-                 int&nbsp;ru,
-                 int&nbsp;cl,
-                 int&nbsp;cu)</code>
-<div class="block">Right multiply by matrix.</div>
-</td>
-</tr>
-<tr id="i26" class="altColor">
-<td class="colFirst"><code>abstract void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#rightMultBySparseMatrix-org.apache.sysds.runtime.data.SparseRow:A-double:A-int-double:A-int-int-int-">rightMultBySparseMatrix</a></span>(<a href="../../../../../../org/apache/sysds/runtime/data/SparseRow.html" title="class in org.apache.sysds.runtime.data">SparseRow</a>[]&nbsp;rows,
-                       double[]&nbsp;c,
-                       int&nbsp;numVals,
-                       double[]&nbsp;dictVals,
-                       int&nbsp;nrColumns,
-                       int&nbsp;rl,
-                       int&nbsp;ru)</code>
-<div class="block">Sparse right multiply by matrix, for which the compressed matrix is on the left and the uncompressed sparse is on
- the right.</div>
-</td>
-</tr>
-<tr id="i27" class="rowColor">
-<td class="colFirst"><code>abstract void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#rightMultByVector-double:A-double:A-int-int-double:A-">rightMultByVector</a></span>(double[]&nbsp;vector,
-                 double[]&nbsp;c,
-                 int&nbsp;rl,
-                 int&nbsp;ru,
-                 double[]&nbsp;dictVals)</code>
-<div class="block">Multiply the slice of the matrix that this column group represents by a vector on the right.</div>
-</td>
-</tr>
-<tr id="i28" class="altColor">
-<td class="colFirst"><code>abstract <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">scalarOperation</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op)</code>
-<div class="block">Perform the specified scalar operation directly on the compressed column group, without decompressing individual
- cells if possible.</div>
-</td>
-</tr>
-<tr id="i29" class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#shiftColIndices-int-">shiftColIndices</a></span>(int&nbsp;offset)</code>&nbsp;</td>
-</tr>
-<tr id="i30" class="altColor">
-<td class="colFirst"><code>abstract void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-">unaryAggregateOperations</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;op,
-                        double[]&nbsp;c)</code>
-<div class="block">Unary Aggregate operator, since aggregate operators require new object output, the output becomes an uncompressed
- matrix.</div>
-</td>
-</tr>
-<tr id="i31" class="rowColor">
-<td class="colFirst"><code>abstract void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-int-int-">unaryAggregateOperations</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;op,
-                        double[]&nbsp;c,
-                        int&nbsp;rl,
-                        int&nbsp;ru)</code>
-<div class="block">Unary Aggregate operator, since aggregate operators require new object output, the output becomes an uncompressed
- matrix.</div>
-</td>
-</tr>
-<tr id="i32" class="altColor">
-<td class="colFirst"><code>abstract void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#write-java.io.DataOutput-">write</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataOutput.html?is-external=true" title="class or interface in java.io">DataOutput</a>&nbsp;out)</code>
-<div class="block">Serializes column group to data output.</div>
-</td>
-</tr>
-</table>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
-<!--   -->
-</a>
-<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
-<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="getColIndices--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getColIndices</h4>
-<pre>public&nbsp;int[]&nbsp;getColIndices()</pre>
-<div class="block">Obtain the offsets of the columns in the matrix block that make up the group</div>
-<dl>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>offsets of the columns in the matrix block that make up the group</dd>
-</dl>
-</li>
-</ul>
-<a name="getColIndex-int-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getColIndex</h4>
-<pre>public&nbsp;int&nbsp;getColIndex(int&nbsp;colNum)</pre>
-<div class="block">Obtain a column index value.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>colNum</code> - column number</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>column index value</dd>
-</dl>
-</li>
-</ul>
-<a name="getNumRows--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getNumRows</h4>
-<pre>public&nbsp;int&nbsp;getNumRows()</pre>
-<div class="block">Get number of rows contained in the ColGroup.</div>
-<dl>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>An integer that is the number of rows.</dd>
-</dl>
-</li>
-</ul>
-<a name="getNumCols--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getNumCols</h4>
-<pre>public&nbsp;int&nbsp;getNumCols()</pre>
-<div class="block">Obtain the number of columns in this column group.</div>
-<dl>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>number of columns in this column group</dd>
-</dl>
-</li>
-</ul>
-<a name="getCompType--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getCompType</h4>
-<pre>public abstract&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>&nbsp;getCompType()</pre>
-<div class="block">Obtain the compression type.</div>
-<dl>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>How the elements of the column group are compressed.</dd>
-</dl>
-</li>
-</ul>
-<a name="shiftColIndices-int-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>shiftColIndices</h4>
-<pre>public&nbsp;void&nbsp;shiftColIndices(int&nbsp;offset)</pre>
-</li>
-</ul>
-<a name="estimateInMemorySize--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>estimateInMemorySize</h4>
-<pre>public abstract&nbsp;long&nbsp;estimateInMemorySize()</pre>
-<div class="block">Note: Must be overridden by child classes to account for additional data and metadata</div>
-<dl>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>an upper bound on the number of bytes used to store this ColGroup in memory.</dd>
-</dl>
-</li>
-</ul>
-<a name="decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>decompressToBlock</h4>
-<pre>public abstract&nbsp;void&nbsp;decompressToBlock(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
-                                       int&nbsp;rl,
-                                       int&nbsp;ru)</pre>
-<div class="block">Decompress the contents of this column group into the specified full matrix block.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>target</code> - a matrix block where the columns covered by this column group have not yet been filled in.</dd>
-<dd><code>rl</code> - row lower</dd>
-<dd><code>ru</code> - row upper</dd>
-</dl>
-</li>
-</ul>
-<a name="decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>decompressToBlock</h4>
-<pre>public abstract&nbsp;void&nbsp;decompressToBlock(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
-                                       int[]&nbsp;colIndexTargets)</pre>
-<div class="block">Decompress the contents of this column group into uncompressed packed columns</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>target</code> - a dense matrix block. The block must have enough space to hold the contents of this column
-                        group.</dd>
-<dd><code>colIndexTargets</code> - array that maps column indices in the original matrix block to columns of target.</dd>
-</dl>
-</li>
-</ul>
-<a name="decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-java.util.List-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>decompressToBlock</h4>
-<pre>public static&nbsp;void&nbsp;decompressToBlock(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
-                                     int&nbsp;colIndex,
-                                     <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>&gt;&nbsp;colGroups)</pre>
-</li>
-</ul>
-<a name="decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>decompressToBlock</h4>
-<pre>public abstract&nbsp;void&nbsp;decompressToBlock(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
-                                       int&nbsp;colpos)</pre>
-<div class="block">Decompress to block.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>target</code> - dense output vector</dd>
-<dd><code>colpos</code> - column to decompress, error if larger or equal numCols</dd>
-</dl>
-</li>
-</ul>
-<a name="write-java.io.DataOutput-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>write</h4>
-<pre>public abstract&nbsp;void&nbsp;write(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataOutput.html?is-external=true" title="class or interface in java.io">DataOutput</a>&nbsp;out)
-                    throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
-<div class="block">Serializes column group to data output.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>out</code> - data output</dd>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if IOException occurs</dd>
-</dl>
-</li>
-</ul>
-<a name="readFields-java.io.DataInput-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>readFields</h4>
-<pre>public abstract&nbsp;void&nbsp;readFields(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a>&nbsp;in)
-                         throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
-<div class="block">Deserialize column group from data input.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>in</code> - data input</dd>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if IOException occurs</dd>
-</dl>
-</li>
-</ul>
-<a name="getExactSizeOnDisk--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getExactSizeOnDisk</h4>
-<pre>public abstract&nbsp;long&nbsp;getExactSizeOnDisk()</pre>
-<div class="block">Returns the exact serialized size of column group. This can be used for example for buffer preallocation.</div>
-<dl>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>exact serialized size for column group</dd>
-</dl>
-</li>
-</ul>
-<a name="get-int-int-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>get</h4>
-<pre>public abstract&nbsp;double&nbsp;get(int&nbsp;r,
-                           int&nbsp;c)</pre>
-<div class="block">Get the value at a global row/column position.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>r</code> - row</dd>
-<dd><code>c</code> - column</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>value at the row/column position</dd>
-</dl>
-</li>
-</ul>
-<a name="getValues--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getValues</h4>
-<pre>public abstract&nbsp;double[]&nbsp;getValues()</pre>
-<div class="block">Get all the values in the colGroup. Note that this is only the stored values not the way they are stored. Making
- the output a list of values used in that colGroup not the actual full column.</div>
-<dl>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>a double list of values.</dd>
-</dl>
-</li>
-</ul>
-<a name="getValuesAsBlock--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getValuesAsBlock</h4>
-<pre>public abstract&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;getValuesAsBlock()</pre>
-<div class="block">Returns the ColGroup as a MatrixBlock. Used as a fall back solution in case a operation is not supported. Use in
- connection to getIfCountsType to get if the values are repeated.</div>
-<dl>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>Matrix Block of the contained Values. Possibly contained in groups.</dd>
-</dl>
-</li>
-</ul>
-<a name="getIfCountsType--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getIfCountsType</h4>
-<pre>public abstract&nbsp;boolean&nbsp;getIfCountsType()</pre>
-<div class="block">Returns true if in the getValuesAsBlock method returns values in groups (that needs to be counted) or
- individually potentially repeated values</div>
-<dl>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>boolean</dd>
-</dl>
-</li>
-</ul>
-<a name="rightMultByVector-double:A-double:A-int-int-double:A-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>rightMultByVector</h4>
-<pre>public abstract&nbsp;void&nbsp;rightMultByVector(double[]&nbsp;vector,
-                                       double[]&nbsp;c,
-                                       int&nbsp;rl,
-                                       int&nbsp;ru,
-                                       double[]&nbsp;dictVals)</pre>
-<div class="block">Multiply the slice of the matrix that this column group represents by a vector on the right.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>vector</code> - Vector to multiply by (tall vector)</dd>
-<dd><code>c</code> - Accumulator for holding the result</dd>
-<dd><code>rl</code> - Row to start at</dd>
-<dd><code>ru</code> - Row to stop at</dd>
-<dd><code>dictVals</code> - The dictionary values materialized</dd>
-</dl>
-</li>
-</ul>
-<a name="rightMultByMatrix-double:A-double:A-int-int-int-int-int-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>rightMultByMatrix</h4>
-<pre>public abstract&nbsp;void&nbsp;rightMultByMatrix(double[]&nbsp;preAggregatedB,
-                                       double[]&nbsp;c,
-                                       int&nbsp;thatNrColumns,
-                                       int&nbsp;rl,
-                                       int&nbsp;ru,
-                                       int&nbsp;cl,
-                                       int&nbsp;cu)</pre>
-<div class="block">Right multiply by matrix. for which the compressed matrix is on the left and the uncompressed is on the right.
- Note that there is no b argument, but the b is aggregated into the values needed for assignment and addition into
- output.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>preAggregatedB</code> - The preAggregated values that is to be put into c</dd>
-<dd><code>c</code> - The output matrix</dd>
-<dd><code>thatNrColumns</code> - The number of columns in B (before aggregation)</dd>
-<dd><code>rl</code> - The row index to start the multiplication from</dd>
-<dd><code>ru</code> - The row index to stop the multiplication at</dd>
-<dd><code>cl</code> - The column index to start from</dd>
-<dd><code>cu</code> - The row index to stop at.</dd>
-</dl>
-</li>
-</ul>
-<a name="rightMultBySparseMatrix-org.apache.sysds.runtime.data.SparseRow:A-double:A-int-double:A-int-int-int-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>rightMultBySparseMatrix</h4>
-<pre>public abstract&nbsp;void&nbsp;rightMultBySparseMatrix(<a href="../../../../../../org/apache/sysds/runtime/data/SparseRow.html" title="class in org.apache.sysds.runtime.data">SparseRow</a>[]&nbsp;rows,
-                                             double[]&nbsp;c,
-                                             int&nbsp;numVals,
-                                             double[]&nbsp;dictVals,
-                                             int&nbsp;nrColumns,
-                                             int&nbsp;rl,
-                                             int&nbsp;ru)</pre>
-<div class="block">Sparse right multiply by matrix, for which the compressed matrix is on the left and the uncompressed sparse is on
- the right. This call differ from the other right multiply by not having a preAggregation phase.
- 
- This should only be called in very sparse situations.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>rows</code> - The sparse rows</dd>
-<dd><code>c</code> - The output matrix linearized</dd>
-<dd><code>numVals</code> - The number of values in the dictionary</dd>
-<dd><code>dictVals</code> - The materialized dictionary</dd>
-<dd><code>nrColumns</code> - The number of columns in the matrix to multiply with and also in the output</dd>
-<dd><code>rl</code> - The row index to start at</dd>
-<dd><code>ru</code> - The row index to stop at.</dd>
-</dl>
-</li>
-</ul>
-<a name="leftMultByRowVector-double:A-double:A-int-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>leftMultByRowVector</h4>
-<pre>public abstract&nbsp;void&nbsp;leftMultByRowVector(double[]&nbsp;vector,
-                                         double[]&nbsp;result,
-                                         int&nbsp;numVals)</pre>
-<div class="block">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. its size now is 1xn).</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>vector</code> - row vector</dd>
-<dd><code>result</code> - matrix block result</dd>
-<dd><code>numVals</code> - The Number of values contained in the Column.</dd>
-</dl>
-</li>
-</ul>
-<a name="leftMultByRowVector-double:A-double:A-int-double:A-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>leftMultByRowVector</h4>
-<pre>public abstract&nbsp;void&nbsp;leftMultByRowVector(double[]&nbsp;vector,
-                                         double[]&nbsp;result,
-                                         int&nbsp;numVals,
-                                         double[]&nbsp;values)</pre>
-<div class="block">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. its size now is 1xn).</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>vector</code> - row vector</dd>
-<dd><code>result</code> - matrix block result</dd>
-<dd><code>numVals</code> - The Number of values contained in the Column.</dd>
-<dd><code>values</code> - The materialized list of values contained in the dictionary.</dd>
-</dl>
-</li>
-</ul>
-<a name="leftMultByMatrix-double:A-double:A-double:A-int-int-int-int-int-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>leftMultByMatrix</h4>
-<pre>public abstract&nbsp;void&nbsp;leftMultByMatrix(double[]&nbsp;matrix,
-                                      double[]&nbsp;result,
-                                      double[]&nbsp;values,
-                                      int&nbsp;numRows,
-                                      int&nbsp;numCols,
-                                      int&nbsp;rl,
-                                      int&nbsp;ru,
-                                      int&nbsp;vOff)</pre>
-<div class="block">Multiply with a matrix on the left.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>matrix</code> - matrix to left multiply</dd>
-<dd><code>result</code> - matrix block result</dd>
-<dd><code>values</code> - The materialized list of values contained in the dictionary.</dd>
-<dd><code>numRows</code> - The number of rows in the matrix input</dd>
-<dd><code>numCols</code> - The number of columns in the colGroups parent matrix.</dd>
-<dd><code>rl</code> - The row to start the matrix multiplication from</dd>
-<dd><code>ru</code> - The row to stop the matrix multiplication at.</dd>
-<dd><code>vOff</code> - The offset into the first argument matrix to start at.</dd>
-</dl>
-</li>
-</ul>
-<a name="leftMultBySparseMatrix-int-int:A-double:A-double:A-int-double:A-int-int-int-double:A-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>leftMultBySparseMatrix</h4>
-<pre>public abstract&nbsp;void&nbsp;leftMultBySparseMatrix(int&nbsp;spNrVals,
-                                            int[]&nbsp;indexes,
-                                            double[]&nbsp;sparseV,
-                                            double[]&nbsp;result,
-                                            int&nbsp;numVals,
-                                            double[]&nbsp;values,
-                                            int&nbsp;numRows,
-                                            int&nbsp;numCols,
-                                            int&nbsp;row,
-                                            double[]&nbsp;MaterializedRow)</pre>
-<div class="block">Multiply with a sparse matrix on the left hand side, and add the values to the output result</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>spNrVals</code> - the Number of sparse values (since the number of indexes does not align with number of
-                        values)</dd>
-<dd><code>indexes</code> - the indexes for the sparse values in the given row.</dd>
-<dd><code>sparseV</code> - the sparse values.</dd>
-<dd><code>result</code> - the linearized output matrix</dd>
-<dd><code>numVals</code> - the number of values in the dictionary</dd>
-<dd><code>values</code> - the dictionary values materialized</dd>
-<dd><code>numRows</code> - the number of rows in the left hand side input matrix (the sparse one)</dd>
-<dd><code>numCols</code> - the number of columns in the compression.</dd>
-<dd><code>row</code> - the row index of the sparse row to multiply with.</dd>
-<dd><code>MaterializedRow</code> - The sparse row materialized (should only be done if needed for the specific type of
-                        ColumnGroup)</dd>
-</dl>
-</li>
-</ul>
-<a name="scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>scalarOperation</h4>
-<pre>public abstract&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>&nbsp;scalarOperation(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op)</pre>
-<div class="block">Perform the specified scalar operation directly on the compressed column group, without decompressing individual
- cells if possible.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>op</code> - operation to perform</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>version of this column group with the operation applied</dd>
-</dl>
-</li>
-</ul>
-<a name="binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>binaryRowOp</h4>
-<pre>public abstract&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>&nbsp;binaryRowOp(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
-                                     double[]&nbsp;v,
-                                     boolean&nbsp;sparseSafe)</pre>
-<div class="block">Perform a binary row operation.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>op</code> - The operation to execute</dd>
-<dd><code>v</code> - The vector of values to apply, should be same length as dictionary length.</dd>
-<dd><code>sparseSafe</code> - True if the operation return 0 on all instances of values in v -- op(v[?], 0)</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>A updated column group with the new values.</dd>
-</dl>
-</li>
-</ul>
-<a name="unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>unaryAggregateOperations</h4>
-<pre>public abstract&nbsp;void&nbsp;unaryAggregateOperations(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;op,
-                                              double[]&nbsp;c)</pre>
-<div class="block">Unary Aggregate operator, since aggregate operators require new object output, the output becomes an uncompressed
- matrix.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>op</code> - The operator used</dd>
-<dd><code>c</code> - Rhe output matrix block.</dd>
-</dl>
-</li>
-</ul>
-<a name="unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-int-int-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>unaryAggregateOperations</h4>
-<pre>public abstract&nbsp;void&nbsp;unaryAggregateOperations(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;op,
-                                              double[]&nbsp;c,
-                                              int&nbsp;rl,
-                                              int&nbsp;ru)</pre>
-<div class="block">Unary Aggregate operator, since aggregate operators require new object output, the output becomes an uncompressed
- matrix.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>op</code> - The operator used</dd>
-<dd><code>c</code> - The output matrix block.</dd>
-<dd><code>rl</code> - The Starting Row to do aggregation from</dd>
-<dd><code>ru</code> - The last Row to do aggregation to (not included)</dd>
-</dl>
-</li>
-</ul>
-<a name="getIterator-int-int-boolean-boolean-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getIterator</h4>
-<pre>public abstract&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/IJV.html" title="class in org.apache.sysds.runtime.matrix.data">IJV</a>&gt;&nbsp;getIterator(int&nbsp;rl,
-                                          int&nbsp;ru,
-                                          boolean&nbsp;inclZeros,
-                                          boolean&nbsp;rowMajor)</pre>
-<div class="block">Create a column group iterator for a row index range.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>rl</code> - row lower index, inclusive</dd>
-<dd><code>ru</code> - row upper index, exclusive</dd>
-<dd><code>inclZeros</code> - include zero values into scope of iterator</dd>
-<dd><code>rowMajor</code> - use a row major iteration order</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>an iterator instance</dd>
-</dl>
-</li>
-</ul>
-<a name="getRowIterator-int-int-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getRowIterator</h4>
-<pre>public abstract&nbsp;org.apache.sysds.runtime.compress.colgroup.ColGroup.ColGroupRowIterator&nbsp;getRowIterator(int&nbsp;rl,
-                                                                                                       int&nbsp;ru)</pre>
-<div class="block">Create a dense row iterator for a row index range. This iterator implies the inclusion of zeros and row-major
- iteration order.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>rl</code> - row lower index, inclusive</dd>
-<dd><code>ru</code> - row upper index, exclusive</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>an iterator instance</dd>
-</dl>
-</li>
-</ul>
-<a name="countNonZerosPerRow-int:A-int-int-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>countNonZerosPerRow</h4>
-<pre>public abstract&nbsp;void&nbsp;countNonZerosPerRow(int[]&nbsp;rnnz,
-                                         int&nbsp;rl,
-                                         int&nbsp;ru)</pre>
-<div class="block">Count the number of non-zeros per row</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>rnnz</code> - non-zeros per row</dd>
-<dd><code>rl</code> - row lower bound, inclusive</dd>
-<dd><code>ru</code> - row upper bound, exclusive</dd>
-</dl>
-</li>
-</ul>
-<a name="isLossy--">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>isLossy</h4>
-<pre>public abstract&nbsp;boolean&nbsp;isLossy()</pre>
-<div class="block">Is Lossy</div>
-<dl>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>returns if the ColGroup is compressed in a lossy manner.</dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/ColGroup.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/ColGroup.html" target="_top">Frames</a></li>
-<li><a href="ColGroup.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
-</body>
-</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html
index 9ae90b9..e819f64 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html
@@ -18,8 +18,8 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":9,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
 var tableTab = "tableTab";
@@ -49,7 +49,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConverter.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -74,7 +74,7 @@
 <div>
 <ul class="subNavList">
 <li>Summary:&nbsp;</li>
-<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.ColGroup">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.AColGroup">Nested</a>&nbsp;|&nbsp;</li>
 <li>Field&nbsp;|&nbsp;</li>
 <li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
 <li><a href="#method.summary">Method</a></li>
@@ -100,7 +100,7 @@
 <li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">org.apache.sysds.runtime.compress.colgroup.ColGroup</a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">org.apache.sysds.runtime.compress.colgroup.AColGroup</a></li>
 <li>
 <ul class="inheritance">
 <li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">org.apache.sysds.runtime.compress.colgroup.ColGroupValue</a></li>
@@ -142,11 +142,11 @@
 </a>
 <h3>Nested Class Summary</h3>
 <ul class="blockList">
-<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.ColGroup">
+<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.AColGroup">
 <!--   -->
 </a>
-<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a></code></li>
+<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.ColGroupType</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a></code></li>
 </ul>
 </li>
 </ul>
@@ -165,7 +165,8 @@
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#ColGroupConst-int:A-int-org.apache.sysds.runtime.compress.colgroup.ADictionary-">ColGroupConst</a></span>(int[]&nbsp;colIndices,
              int&nbsp;numRows,
              <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a>&nbsp;dict)</code>
-<div class="block">Constructs an Constant Colum Group, that contains only one tuple, with the given value.</div>
+<div class="block">Constructs an Constant Colum Group, that contains only one tuple, with the
+ given value.</div>
 </td>
 </tr>
 </table>
@@ -178,16 +179,17 @@
 </a>
 <h3>Method Summary</h3>
 <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-">binaryRowOp</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-boolean-">binaryRowOp</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
            double[]&nbsp;v,
-           boolean&nbsp;sparseSafe)</code>
+           boolean&nbsp;sparseSafe,
+           boolean&nbsp;left)</code>
 <div class="block">Perform a binary row operation.</div>
 </td>
 </tr>
@@ -201,72 +203,102 @@
 </tr>
 <tr id="i2" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">decompressToBlock</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
-                 int&nbsp;colpos)</code>
-<div class="block">Decompress to block.</div>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#decompressColumnToBlock-double:A-int-int-int-">decompressColumnToBlock</a></span>(double[]&nbsp;c,
+                       int&nbsp;colPos,
+                       int&nbsp;rl,
+                       int&nbsp;ru)</code>
+<div class="block">Decompress to dense array.</div>
 </td>
 </tr>
 <tr id="i3" class="rowColor">
 <td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">decompressColumnToBlock</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                       int&nbsp;colPos)</code>
+<div class="block">Decompress to block.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-">decompressColumnToBlock</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                       int&nbsp;colPos,
+                       int&nbsp;rl,
+                       int&nbsp;ru)</code>
+<div class="block">Decompress to block.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">decompressToBlock</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
                  int[]&nbsp;colIndexTargets)</code>
 <div class="block">Decompress the contents of this column group into uncompressed packed columns</div>
 </td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">decompressToBlock</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
-                 int&nbsp;rl,
-                 int&nbsp;ru)</code>
-<div class="block">Decompress the contents of this column group into the specified full matrix block.</div>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#decompressToBlockSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">decompressToBlockSafe</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                     int&nbsp;rl,
+                     int&nbsp;ru,
+                     int&nbsp;offT,
+                     double[]&nbsp;values)</code>
+<div class="block">Decompress the contents of this column group into the specified full matrix block without managing the number of
+ non zeros.</div>
 </td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#decompressToBlockUnSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">decompressToBlockUnSafe</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                       int&nbsp;rl,
+                       int&nbsp;ru,
+                       int&nbsp;offT,
+                       double[]&nbsp;values)</code>&nbsp;</td>
+</tr>
+<tr id="i8" class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#estimateInMemorySize--">estimateInMemorySize</a></span>()</code>
 <div class="block">Note: Must be overridden by child classes to account for additional data and metadata</div>
 </td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupConst</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#genColGroupConst-int-int-double-">genColGroupConst</a></span>(int&nbsp;numRows,
+                int&nbsp;numCols,
+                double&nbsp;value)</code>&nbsp;</td>
+</tr>
+<tr id="i10" class="altColor">
 <td class="colFirst"><code>double</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#get-int-int-">get</a></span>(int&nbsp;r,
    int&nbsp;c)</code>
 <div class="block">Get the value at a global row/column position.</div>
 </td>
 </tr>
-<tr id="i7" class="rowColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a></code></td>
+<tr id="i11" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.ColGroupType</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#getColGroupType--">getColGroupType</a></span>()</code>
+<div class="block">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.</div>
+</td>
+</tr>
+<tr id="i12" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#getCompType--">getCompType</a></span>()</code>
 <div class="block">Obtain the compression type.</div>
 </td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i13" class="rowColor">
 <td class="colFirst"><code>int[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#getCounts-int:A-">getCounts</a></span>(int[]&nbsp;out)</code>&nbsp;</td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i14" class="altColor">
 <td class="colFirst"><code>int[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#getCounts-int-int-int:A-">getCounts</a></span>(int&nbsp;rl,
          int&nbsp;ru,
          int[]&nbsp;out)</code>&nbsp;</td>
 </tr>
-<tr id="i10" class="altColor">
-<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/IJV.html" title="class in org.apache.sysds.runtime.matrix.data">IJV</a>&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#getIterator-int-int-boolean-boolean-">getIterator</a></span>(int&nbsp;rl,
-           int&nbsp;ru,
-           boolean&nbsp;inclZeros,
-           boolean&nbsp;rowMajor)</code>
-<div class="block">Create a column group iterator for a row index range.</div>
-</td>
+<tr id="i15" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#getIndexStructureHash--">getIndexStructureHash</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i11" class="rowColor">
-<td class="colFirst"><code>org.apache.sysds.runtime.compress.colgroup.ColGroup.ColGroupRowIterator</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#getRowIterator-int-int-">getRowIterator</a></span>(int&nbsp;rl,
-              int&nbsp;ru)</code>
-<div class="block">Create a dense row iterator for a row index range.</div>
-</td>
-</tr>
-<tr id="i12" class="altColor">
+<tr id="i16" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#leftMultByMatrix-double:A-double:A-double:A-int-int-int-int-int-">leftMultByMatrix</a></span>(double[]&nbsp;a,
                 double[]&nbsp;c,
@@ -279,16 +311,7 @@
 <div class="block">Multiply with a matrix on the left.</div>
 </td>
 </tr>
-<tr id="i13" class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#leftMultByRowVector-double:A-double:A-int-">leftMultByRowVector</a></span>(double[]&nbsp;a,
-                   double[]&nbsp;c,
-                   int&nbsp;numVals)</code>
-<div class="block">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.</div>
-</td>
-</tr>
-<tr id="i14" class="altColor">
+<tr id="i17" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#leftMultByRowVector-double:A-double:A-int-double:A-">leftMultByRowVector</a></span>(double[]&nbsp;a,
                    double[]&nbsp;c,
@@ -298,13 +321,10 @@
  column vector is assumed to be transposed already i.e.</div>
 </td>
 </tr>
-<tr id="i15" class="rowColor">
+<tr id="i18" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#leftMultBySparseMatrix-int-int:A-double:A-double:A-int-double:A-int-int-int-double:A-">leftMultBySparseMatrix</a></span>(int&nbsp;spNrVals,
-                      int[]&nbsp;indexes,
-                      double[]&nbsp;sparseV,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#leftMultBySparseMatrix-org.apache.sysds.runtime.data.SparseBlock-double:A-double:A-int-int-int-double:A-">leftMultBySparseMatrix</a></span>(<a href="../../../../../../org/apache/sysds/runtime/data/SparseBlock.html" title="class in org.apache.sysds.runtime.data">SparseBlock</a>&nbsp;sb,
                       double[]&nbsp;c,
-                      int&nbsp;numVals,
                       double[]&nbsp;values,
                       int&nbsp;numRows,
                       int&nbsp;numCols,
@@ -313,32 +333,65 @@
 <div class="block">Multiply with a sparse matrix on the left hand side, and add the values to the output result</div>
 </td>
 </tr>
-<tr id="i16" class="altColor">
+<tr id="i19" class="rowColor">
+<td class="colFirst"><code>double[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#preAggregate-double:A-int-">preAggregate</a></span>(double[]&nbsp;a,
+            int&nbsp;row)</code>
+<div class="block">Pre aggregates for left multiplication</div>
+</td>
+</tr>
+<tr id="i20" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#preAggregateDDC-org.apache.sysds.runtime.compress.colgroup.ColGroupDDC-">preAggregateDDC</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr id="i21" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#preAggregateOLE-org.apache.sysds.runtime.compress.colgroup.ColGroupOLE-">preAggregateOLE</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOLE</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr id="i22" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#preAggregateRLE-org.apache.sysds.runtime.compress.colgroup.ColGroupRLE-">preAggregateRLE</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupRLE</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr id="i23" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#preAggregateSDC-org.apache.sysds.runtime.compress.colgroup.ColGroupSDC-">preAggregateSDC</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDC</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr id="i24" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#preAggregateSDCSingle-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingle-">preAggregateSDCSingle</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingle</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr id="i25" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#preAggregateSDCSingleZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingleZeros-">preAggregateSDCSingleZeros</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingleZeros</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr id="i26" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#preAggregateSDCZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCZeros-">preAggregateSDCZeros</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCZeros</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr id="i27" class="rowColor">
+<td class="colFirst"><code>double[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#preAggregateSparse-org.apache.sysds.runtime.data.SparseBlock-int-">preAggregateSparse</a></span>(<a href="../../../../../../org/apache/sysds/runtime/data/SparseBlock.html" title="class in org.apache.sysds.runtime.data">SparseBlock</a>&nbsp;sb,
+                  int&nbsp;row)</code>
+<div class="block">Pre aggregate for left multiplication of sparse vector or matrix.</div>
+</td>
+</tr>
+<tr id="i28" class="altColor">
+<td class="colFirst"><code>double</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#preAggregateSparseSingle-org.apache.sysds.runtime.data.SparseBlock-int-">preAggregateSparseSingle</a></span>(<a href="../../../../../../org/apache/sysds/runtime/data/SparseBlock.html" title="class in org.apache.sysds.runtime.data">SparseBlock</a>&nbsp;sb,
+                        int&nbsp;row)</code>&nbsp;</td>
+</tr>
+<tr id="i29" class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#rightMultByMatrix-double:A-double:A-int-int-int-int-int-">rightMultByMatrix</a></span>(double[]&nbsp;preAggregatedB,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#rightMultByMatrix-int:A-double:A-double:A-int-int-int-">rightMultByMatrix</a></span>(int[]&nbsp;outputColumns,
+                 double[]&nbsp;preAggregatedB,
                  double[]&nbsp;c,
                  int&nbsp;thatNrColumns,
                  int&nbsp;rl,
-                 int&nbsp;ru,
-                 int&nbsp;cl,
-                 int&nbsp;cu)</code>
+                 int&nbsp;ru)</code>
 <div class="block">Right multiply by matrix.</div>
 </td>
 </tr>
-<tr id="i17" class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#rightMultBySparseMatrix-org.apache.sysds.runtime.data.SparseRow:A-double:A-int-double:A-int-int-int-">rightMultBySparseMatrix</a></span>(<a href="../../../../../../org/apache/sysds/runtime/data/SparseRow.html" title="class in org.apache.sysds.runtime.data">SparseRow</a>[]&nbsp;rows,
-                       double[]&nbsp;c,
-                       int&nbsp;numVals,
-                       double[]&nbsp;dictVals,
-                       int&nbsp;nrColumns,
-                       int&nbsp;rl,
-                       int&nbsp;ru)</code>
-<div class="block">Sparse right multiply by matrix, for which the compressed matrix is on the left and the uncompressed sparse is on
- the right.</div>
-</td>
-</tr>
-<tr id="i18" class="altColor">
+<tr id="i30" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#rightMultByVector-double:A-double:A-int-int-double:A-">rightMultByVector</a></span>(double[]&nbsp;b,
                  double[]&nbsp;c,
@@ -348,8 +401,12 @@
 <div class="block">Multiply the slice of the matrix that this column group represents by a vector on the right.</div>
 </td>
 </tr>
-<tr id="i19" class="rowColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></td>
+<tr id="i31" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#sameIndexStructure-org.apache.sysds.runtime.compress.colgroup.ColGroupValue-">sameIndexStructure</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a>&nbsp;that)</code>&nbsp;</td>
+</tr>
+<tr id="i32" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">scalarOperation</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op)</code>
 <div class="block">Perform the specified scalar operation directly on the compressed column group, without decompressing individual
  cells if possible.</div>
@@ -361,14 +418,14 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#cleanupThreadLocalMemory--">cleanupThreadLocalMemory</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#copy--">copy</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#copyAndSet-int:A-double:A-">copyAndSet</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCounts--">getCounts</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCounts-int-int-">getCounts</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getDictionary--">getDictionary</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getExactSizeOnDisk--">getExactSizeOnDisk</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getIfCountsType--">getIfCountsType</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getNumValues--">getNumValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getValues--">getValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getValuesAsBlock--">getValuesAsBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#isLossy--">isLossy</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preaggValues-int-double:A-double:A-int-int-int-">preaggValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preaggValues-int-double:A-double:A-int-int-int-double:A-">preaggValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preaggValues-int-org.apache.sysds.runtime.data.SparseBlock-double:A-int-int-int-">preaggValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preaggValues-int-org.apache.sysds.runtime.data.SparseBlock-double:A-int-int-int-double:A-">preaggValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#readFields-java.io.DataInput-">readFields</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#setupThreadLocalMemory-int-">setupThreadLocalMemory</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-">unaryAggregateOperations</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-int-int-">unaryAggregateOperations</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#write-java.io.DataOutput-">write</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#addMinMax-double:A-">addMinMax</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#applyBinaryRowOp-org.apache.sysds.runtime.functionobjects.ValueFunction-double:A-boolean-boolean-">applyBinaryRowOp</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#cleanupThreadLocalMemory--">cleanupThreadLocalMemory</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#containsValue-double-">containsValue</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#copy--">copy</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#copyAndSet-int:A-org.apache.sysds.runtime.compress.colgroup.ADictionary-">copyAndSet</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#copyAndSet-int:A-double:A-">copyAndSet</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCachedCounts--">getCachedCounts</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCounts--">getCounts</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCounts-int-int-">getCounts</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getDictionary--">getDictionary</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getExactSizeOnDisk--">getExactSizeOnDisk</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getIfCountsType--">getIfCountsType</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getMax--">getMax</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getMin--">getMin</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getNumberNonZeros--">getNumberNonZeros</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getNumValues--">getNumValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getValues--">getValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getValuesAsBlock--">getValuesAsBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#isLossy--">isLossy</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#leftMultByAggregatedColGroup-org.apache.sysds.runtime.compress.colgroup.ColGroupValue-double:A-int-int-">leftMultByAggregatedColGroup</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#leftMultByRowVector-double:A-double:A-">leftMultByRowVector</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#leftMultByRowVector-double:A-double:A-int-">leftMultByRowVector</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#leftMultByRowVector-double:A-double:A-int-double:A-int-">leftMultByRowVector</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#leftMultBySelfDiagonalColGroup-double:A-int-">leftMultBySelfDiagonalColGroup</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregate-org.apache.sysds.runtime.compress.colgroup.ColGroupValue-">preAggregate</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregate-double:A-">preAggregate</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregate-org.apache.sysds.runtime.data.SparseBlock-">preAggregate</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateCONST-org.apache.sysds.runtime.compress.colgroup.ColGroupConst-">preAggregateCONST</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preaggValues-int-org.apache.sysds.runtime.matrix.data.MatrixBlock-double:A-int-int-int-">preaggValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preCallAggregate-org.apache.sysds.runtime.compress.colgroup.ColGroupValue-">preCallAggregate</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#readFields-java.io.DataInput-">readFields</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#setupThreadLocalMemory-int-">setupThreadLocalMemory</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#sliceColumns-int-int-">sliceColumns</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-">unaryAggregateOperations</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-int-int-">unaryAggregateOperations</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#write-java.io.DataOutput-">write</a></code></li>
 </ul>
 <ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.ColGroup">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.AColGroup">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-java.util.List-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getColIndex-int-">getColIndex</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getColIndices--">getColIndices</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getNumCols--">getNumCols</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getNumRows--">getNumRows</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#shiftColIndices-int-">shiftColIndices</a></code></li>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToArray-double:A-int-java.util.List-">decompressColumnToArray</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-double:A-int-int-int-java.util.List-">decompressColumnToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-java.util.List-">decompressColumnToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-java.util.List-">decompressColumnToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlockUnSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-java.util.List-">decompressColumnToBlockUnSafe</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-boolean-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-double:A-boolean-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-boolean-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-boolean-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getColIndex-int-">getColIndex</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getColIndices--">getColIndices</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getNumCols--">getNumCols</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getNumRows--">getNumRows</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#isDense--">isDense</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#shiftColIndices-int-">shiftColIndices</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -400,12 +457,14 @@
 <pre>public&nbsp;ColGroupConst(int[]&nbsp;colIndices,
                      int&nbsp;numRows,
                      <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a>&nbsp;dict)</pre>
-<div class="block">Constructs an Constant Colum Group, that contains only one tuple, with the given value.</div>
+<div class="block">Constructs an Constant Colum Group, that contains only one tuple, with the
+ given value.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>colIndices</code> - The Colum indexes for the column group.</dd>
 <dd><code>numRows</code> - The number of rows contained in the group.</dd>
-<dd><code>dict</code> - The dictionary containing one tuple for the entire compression.</dd>
+<dd><code>dict</code> - The dictionary containing one tuple for the entire
+                   compression.</dd>
 </dl>
 </li>
 </ul>
@@ -417,6 +476,17 @@
 <!--   -->
 </a>
 <h3>Method Detail</h3>
+<a name="genColGroupConst-int-int-double-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>genColGroupConst</h4>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupConst</a>&nbsp;genColGroupConst(int&nbsp;numRows,
+                                             int&nbsp;numCols,
+                                             double&nbsp;value)</pre>
+</li>
+</ul>
 <a name="getCounts-int:A-">
 <!--   -->
 </a>
@@ -451,17 +521,35 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getCompType</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>&nbsp;getCompType()</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getCompType--">ColGroup</a></code></span></div>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a>&nbsp;getCompType()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getCompType--">AColGroup</a></code></span></div>
 <div class="block">Obtain the compression type.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getCompType--">getCompType</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getCompType--">getCompType</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>How the elements of the column group are compressed.</dd>
 </dl>
 </li>
 </ul>
+<a name="getColGroupType--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getColGroupType</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.ColGroupType</a>&nbsp;getColGroupType()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getColGroupType--">AColGroup</a></code></span></div>
+<div class="block">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.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getColGroupType--">getColGroupType</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>ColGroupType of the object.</dd>
+</dl>
+</li>
+</ul>
 <a name="estimateInMemorySize--">
 <!--   -->
 </a>
@@ -469,34 +557,56 @@
 <li class="blockList">
 <h4>estimateInMemorySize</h4>
 <pre>public&nbsp;long&nbsp;estimateInMemorySize()</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#estimateInMemorySize--">ColGroup</a></code></span></div>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#estimateInMemorySize--">AColGroup</a></code></span></div>
 <div class="block">Note: Must be overridden by child classes to account for additional data and metadata</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#estimateInMemorySize--">estimateInMemorySize</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#estimateInMemorySize--">estimateInMemorySize</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>an upper bound on the number of bytes used to store this ColGroup in memory.</dd>
 </dl>
 </li>
 </ul>
-<a name="decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">
+<a name="decompressToBlockSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>decompressToBlock</h4>
-<pre>public&nbsp;void&nbsp;decompressToBlock(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
-                              int&nbsp;rl,
-                              int&nbsp;ru)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">ColGroup</a></code></span></div>
-<div class="block">Decompress the contents of this column group into the specified full matrix block.</div>
+<h4>decompressToBlockSafe</h4>
+<pre>public&nbsp;void&nbsp;decompressToBlockSafe(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                                  int&nbsp;rl,
+                                  int&nbsp;ru,
+                                  int&nbsp;offT,
+                                  double[]&nbsp;values)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlockSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">AColGroup</a></code></span></div>
+<div class="block">Decompress the contents of this column group into the specified full matrix block without managing the number of
+ non zeros.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">decompressToBlock</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlockSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">decompressToBlockSafe</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>target</code> - a matrix block where the columns covered by this column group have not yet been filled in.</dd>
 <dd><code>rl</code> - row lower</dd>
 <dd><code>ru</code> - row upper</dd>
+<dd><code>offT</code> - Offset into target to assign from</dd>
+<dd><code>values</code> - The Values materialized in the dictionary</dd>
+</dl>
+</li>
+</ul>
+<a name="decompressToBlockUnSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>decompressToBlockUnSafe</h4>
+<pre>public&nbsp;void&nbsp;decompressToBlockUnSafe(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                                    int&nbsp;rl,
+                                    int&nbsp;ru,
+                                    int&nbsp;offT,
+                                    double[]&nbsp;values)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlockUnSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">decompressToBlockUnSafe</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
 </dl>
 </li>
 </ul>
@@ -508,11 +618,11 @@
 <h4>decompressToBlock</h4>
 <pre>public&nbsp;void&nbsp;decompressToBlock(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
                               int[]&nbsp;colIndexTargets)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">ColGroup</a></code></span></div>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">AColGroup</a></code></span></div>
 <div class="block">Decompress the contents of this column group into uncompressed packed columns</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">decompressToBlock</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">decompressToBlock</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>target</code> - a dense matrix block. The block must have enough space to hold the contents of this column
                         group.</dd>
@@ -520,22 +630,68 @@
 </dl>
 </li>
 </ul>
-<a name="decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">
+<a name="decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>decompressToBlock</h4>
-<pre>public&nbsp;void&nbsp;decompressToBlock(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
-                              int&nbsp;colpos)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">ColGroup</a></code></span></div>
+<h4>decompressColumnToBlock</h4>
+<pre>public&nbsp;void&nbsp;decompressColumnToBlock(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                                    int&nbsp;colPos)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">AColGroup</a></code></span></div>
 <div class="block">Decompress to block.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">decompressToBlock</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">decompressColumnToBlock</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>target</code> - dense output vector</dd>
-<dd><code>colpos</code> - column to decompress, error if larger or equal numCols</dd>
+<dd><code>colPos</code> - column to decompress, error if larger or equal numCols</dd>
+</dl>
+</li>
+</ul>
+<a name="decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>decompressColumnToBlock</h4>
+<pre>public&nbsp;void&nbsp;decompressColumnToBlock(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                                    int&nbsp;colPos,
+                                    int&nbsp;rl,
+                                    int&nbsp;ru)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-">AColGroup</a></code></span></div>
+<div class="block">Decompress to block.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-">decompressColumnToBlock</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>target</code> - dense output vector</dd>
+<dd><code>colPos</code> - column to decompress, error if larger or equal numCols</dd>
+<dd><code>rl</code> - the Row to start decompression from</dd>
+<dd><code>ru</code> - the Row to end decompression at</dd>
+</dl>
+</li>
+</ul>
+<a name="decompressColumnToBlock-double:A-int-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>decompressColumnToBlock</h4>
+<pre>public&nbsp;void&nbsp;decompressColumnToBlock(double[]&nbsp;c,
+                                    int&nbsp;colPos,
+                                    int&nbsp;rl,
+                                    int&nbsp;ru)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-double:A-int-int-int-">AColGroup</a></code></span></div>
+<div class="block">Decompress to dense array.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-double:A-int-int-int-">decompressColumnToBlock</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>c</code> - dense output vector double array.</dd>
+<dd><code>colPos</code> - column to decompress, error if larger or equal numCols</dd>
+<dd><code>rl</code> - the Row to start decompression from</dd>
+<dd><code>ru</code> - the Row to end decompression at</dd>
 </dl>
 </li>
 </ul>
@@ -547,11 +703,11 @@
 <h4>get</h4>
 <pre>public&nbsp;double&nbsp;get(int&nbsp;r,
                   int&nbsp;c)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#get-int-int-">ColGroup</a></code></span></div>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#get-int-int-">AColGroup</a></code></span></div>
 <div class="block">Get the value at a global row/column position.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#get-int-int-">get</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#get-int-int-">get</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>r</code> - row</dd>
 <dd><code>c</code> - column</dd>
@@ -571,11 +727,11 @@
                               int&nbsp;rl,
                               int&nbsp;ru,
                               double[]&nbsp;dictVals)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#rightMultByVector-double:A-double:A-int-int-double:A-">ColGroup</a></code></span></div>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#rightMultByVector-double:A-double:A-int-int-double:A-">AColGroup</a></code></span></div>
 <div class="block">Multiply the slice of the matrix that this column group represents by a vector on the right.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#rightMultByVector-double:A-double:A-int-int-double:A-">rightMultByVector</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#rightMultByVector-double:A-double:A-int-int-double:A-">rightMultByVector</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>b</code> - Vector to multiply by (tall vector)</dd>
 <dd><code>c</code> - Accumulator for holding the result</dd>
@@ -585,91 +741,87 @@
 </dl>
 </li>
 </ul>
-<a name="rightMultByMatrix-double:A-double:A-int-int-int-int-int-">
+<a name="rightMultByMatrix-int:A-double:A-double:A-int-int-int-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>rightMultByMatrix</h4>
-<pre>public&nbsp;void&nbsp;rightMultByMatrix(double[]&nbsp;preAggregatedB,
+<pre>public&nbsp;void&nbsp;rightMultByMatrix(int[]&nbsp;outputColumns,
+                              double[]&nbsp;preAggregatedB,
                               double[]&nbsp;c,
                               int&nbsp;thatNrColumns,
                               int&nbsp;rl,
-                              int&nbsp;ru,
-                              int&nbsp;cl,
-                              int&nbsp;cu)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#rightMultByMatrix-double:A-double:A-int-int-int-int-int-">ColGroup</a></code></span></div>
+                              int&nbsp;ru)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#rightMultByMatrix-int:A-double:A-double:A-int-int-int-">AColGroup</a></code></span></div>
 <div class="block">Right multiply by matrix. for which the compressed matrix is on the left and the uncompressed is on the right.
  Note that there is no b argument, but the b is aggregated into the values needed for assignment and addition into
  output.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#rightMultByMatrix-double:A-double:A-int-int-int-int-int-">rightMultByMatrix</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#rightMultByMatrix-int:A-double:A-double:A-int-int-int-">rightMultByMatrix</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>outputColumns</code> - The Columns that are affected by the right multiplication.</dd>
 <dd><code>preAggregatedB</code> - The preAggregated values that is to be put into c</dd>
 <dd><code>c</code> - The output matrix</dd>
 <dd><code>thatNrColumns</code> - The number of columns in B (before aggregation)</dd>
 <dd><code>rl</code> - The row index to start the multiplication from</dd>
 <dd><code>ru</code> - The row index to stop the multiplication at</dd>
-<dd><code>cl</code> - The column index to start from</dd>
-<dd><code>cu</code> - The row index to stop at.</dd>
 </dl>
 </li>
 </ul>
-<a name="rightMultBySparseMatrix-org.apache.sysds.runtime.data.SparseRow:A-double:A-int-double:A-int-int-int-">
+<a name="preAggregate-double:A-int-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>rightMultBySparseMatrix</h4>
-<pre>public&nbsp;void&nbsp;rightMultBySparseMatrix(<a href="../../../../../../org/apache/sysds/runtime/data/SparseRow.html" title="class in org.apache.sysds.runtime.data">SparseRow</a>[]&nbsp;rows,
-                                    double[]&nbsp;c,
-                                    int&nbsp;numVals,
-                                    double[]&nbsp;dictVals,
-                                    int&nbsp;nrColumns,
-                                    int&nbsp;rl,
-                                    int&nbsp;ru)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#rightMultBySparseMatrix-org.apache.sysds.runtime.data.SparseRow:A-double:A-int-double:A-int-int-int-">ColGroup</a></code></span></div>
-<div class="block">Sparse right multiply by matrix, for which the compressed matrix is on the left and the uncompressed sparse is on
- the right. This call differ from the other right multiply by not having a preAggregation phase.
- 
- This should only be called in very sparse situations.</div>
+<h4>preAggregate</h4>
+<pre>public&nbsp;double[]&nbsp;preAggregate(double[]&nbsp;a,
+                             int&nbsp;row)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregate-double:A-int-">ColGroupValue</a></code></span></div>
+<div class="block">Pre aggregates for left multiplication</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#rightMultBySparseMatrix-org.apache.sysds.runtime.data.SparseRow:A-double:A-int-double:A-int-int-int-">rightMultBySparseMatrix</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregate-double:A-int-">preAggregate</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>rows</code> - The sparse rows</dd>
-<dd><code>c</code> - The output matrix linearized</dd>
-<dd><code>numVals</code> - The number of values in the dictionary</dd>
-<dd><code>dictVals</code> - The materialized dictionary</dd>
-<dd><code>nrColumns</code> - The number of columns in the matrix to multiply with and also in the output</dd>
-<dd><code>rl</code> - The row index to start at</dd>
-<dd><code>ru</code> - The row index to stop at.</dd>
+<dd><code>a</code> - The input dense vector or matrix to aggregate</dd>
+<dd><code>row</code> - The row index to aggregate</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The pre-aggregated values.</dd>
 </dl>
 </li>
 </ul>
-<a name="leftMultByRowVector-double:A-double:A-int-">
+<a name="preAggregateSparse-org.apache.sysds.runtime.data.SparseBlock-int-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>leftMultByRowVector</h4>
-<pre>public&nbsp;void&nbsp;leftMultByRowVector(double[]&nbsp;a,
-                                double[]&nbsp;c,
-                                int&nbsp;numVals)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#leftMultByRowVector-double:A-double:A-int-">ColGroup</a></code></span></div>
-<div class="block">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. its size now is 1xn).</div>
+<h4>preAggregateSparse</h4>
+<pre>public&nbsp;double[]&nbsp;preAggregateSparse(<a href="../../../../../../org/apache/sysds/runtime/data/SparseBlock.html" title="class in org.apache.sysds.runtime.data">SparseBlock</a>&nbsp;sb,
+                                   int&nbsp;row)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateSparse-org.apache.sysds.runtime.data.SparseBlock-int-">ColGroupValue</a></code></span></div>
+<div class="block">Pre aggregate for left multiplication of sparse vector or matrix.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#leftMultByRowVector-double:A-double:A-int-">leftMultByRowVector</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateSparse-org.apache.sysds.runtime.data.SparseBlock-int-">preAggregateSparse</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>a</code> - row vector</dd>
-<dd><code>c</code> - matrix block result</dd>
-<dd><code>numVals</code> - The Number of values contained in the Column.</dd>
+<dd><code>sb</code> - The input sparse vector or matrix to aggregate</dd>
+<dd><code>row</code> - The row index to aggregate</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The pre-aggregated values.</dd>
 </dl>
 </li>
 </ul>
+<a name="preAggregateSparseSingle-org.apache.sysds.runtime.data.SparseBlock-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>preAggregateSparseSingle</h4>
+<pre>public&nbsp;double&nbsp;preAggregateSparseSingle(<a href="../../../../../../org/apache/sysds/runtime/data/SparseBlock.html" title="class in org.apache.sysds.runtime.data">SparseBlock</a>&nbsp;sb,
+                                       int&nbsp;row)</pre>
+</li>
+</ul>
 <a name="leftMultByRowVector-double:A-double:A-int-double:A-">
 <!--   -->
 </a>
@@ -680,15 +832,15 @@
                                 double[]&nbsp;c,
                                 int&nbsp;numVals,
                                 double[]&nbsp;values)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#leftMultByRowVector-double:A-double:A-int-double:A-">ColGroup</a></code></span></div>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#leftMultByRowVector-double:A-double:A-int-double:A-">AColGroup</a></code></span></div>
 <div class="block">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. its size now is 1xn).</div>
 <dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#leftMultByRowVector-double:A-double:A-int-double:A-">leftMultByRowVector</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#leftMultByRowVector-double:A-double:A-int-double:A-">leftMultByRowVector</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>a</code> - row vector</dd>
-<dd><code>c</code> - matrix block result</dd>
+<dd><code>a</code> - Row vector</dd>
+<dd><code>c</code> - Matrix block result</dd>
 <dd><code>numVals</code> - The Number of values contained in the Column.</dd>
 <dd><code>values</code> - The materialized list of values contained in the dictionary.</dd>
 </dl>
@@ -708,11 +860,11 @@
                              int&nbsp;rl,
                              int&nbsp;ru,
                              int&nbsp;vOff)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#leftMultByMatrix-double:A-double:A-double:A-int-int-int-int-int-">ColGroup</a></code></span></div>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#leftMultByMatrix-double:A-double:A-double:A-int-int-int-int-int-">AColGroup</a></code></span></div>
 <div class="block">Multiply with a matrix on the left.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#leftMultByMatrix-double:A-double:A-double:A-int-int-int-int-int-">leftMultByMatrix</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#leftMultByMatrix-double:A-double:A-double:A-int-int-int-int-int-">leftMultByMatrix</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>a</code> - matrix to left multiply</dd>
 <dd><code>c</code> - matrix block result</dd>
@@ -725,40 +877,32 @@
 </dl>
 </li>
 </ul>
-<a name="leftMultBySparseMatrix-int-int:A-double:A-double:A-int-double:A-int-int-int-double:A-">
+<a name="leftMultBySparseMatrix-org.apache.sysds.runtime.data.SparseBlock-double:A-double:A-int-int-int-double:A-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>leftMultBySparseMatrix</h4>
-<pre>public&nbsp;void&nbsp;leftMultBySparseMatrix(int&nbsp;spNrVals,
-                                   int[]&nbsp;indexes,
-                                   double[]&nbsp;sparseV,
+<pre>public&nbsp;void&nbsp;leftMultBySparseMatrix(<a href="../../../../../../org/apache/sysds/runtime/data/SparseBlock.html" title="class in org.apache.sysds.runtime.data">SparseBlock</a>&nbsp;sb,
                                    double[]&nbsp;c,
-                                   int&nbsp;numVals,
                                    double[]&nbsp;values,
                                    int&nbsp;numRows,
                                    int&nbsp;numCols,
                                    int&nbsp;row,
                                    double[]&nbsp;MaterializedRow)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#leftMultBySparseMatrix-int-int:A-double:A-double:A-int-double:A-int-int-int-double:A-">ColGroup</a></code></span></div>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#leftMultBySparseMatrix-org.apache.sysds.runtime.data.SparseBlock-double:A-double:A-int-int-int-double:A-">AColGroup</a></code></span></div>
 <div class="block">Multiply with a sparse matrix on the left hand side, and add the values to the output result</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#leftMultBySparseMatrix-int-int:A-double:A-double:A-int-double:A-int-int-int-double:A-">leftMultBySparseMatrix</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#leftMultBySparseMatrix-org.apache.sysds.runtime.data.SparseBlock-double:A-double:A-int-int-int-double:A-">leftMultBySparseMatrix</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>spNrVals</code> - the Number of sparse values (since the number of indexes does not align with number of
-                        values)</dd>
-<dd><code>indexes</code> - the indexes for the sparse values in the given row.</dd>
-<dd><code>sparseV</code> - the sparse values.</dd>
-<dd><code>c</code> - the linearized output matrix</dd>
-<dd><code>numVals</code> - the number of values in the dictionary</dd>
-<dd><code>values</code> - the dictionary values materialized</dd>
-<dd><code>numRows</code> - the number of rows in the left hand side input matrix (the sparse one)</dd>
-<dd><code>numCols</code> - the number of columns in the compression.</dd>
-<dd><code>row</code> - the row index of the sparse row to multiply with.</dd>
-<dd><code>MaterializedRow</code> - The sparse row materialized (should only be done if needed for the specific type of
-                        ColumnGroup)</dd>
+<dd><code>sb</code> - The sparse block to multiply with</dd>
+<dd><code>c</code> - The linearized output matrix</dd>
+<dd><code>values</code> - The dictionary values materialized</dd>
+<dd><code>numRows</code> - The number of rows in the left hand side input matrix (the sparse one)</dd>
+<dd><code>numCols</code> - The number of columns in the compression.</dd>
+<dd><code>row</code> - The row index of the sparse row to multiply with.</dd>
+<dd><code>MaterializedRow</code> - A Temporary dense row vector to materialize the sparse values into used for OLE</dd>
 </dl>
 </li>
 </ul>
@@ -768,13 +912,13 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>scalarOperation</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>&nbsp;scalarOperation(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">ColGroup</a></code></span></div>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a>&nbsp;scalarOperation(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">AColGroup</a></code></span></div>
 <div class="block">Perform the specified scalar operation directly on the compressed column group, without decompressing individual
  cells if possible.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">scalarOperation</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">scalarOperation</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>op</code> - operation to perform</dd>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -782,90 +926,45 @@
 </dl>
 </li>
 </ul>
-<a name="binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-">
+<a name="binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-boolean-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>binaryRowOp</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>&nbsp;binaryRowOp(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
-                            double[]&nbsp;v,
-                            boolean&nbsp;sparseSafe)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-">ColGroup</a></code></span></div>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a>&nbsp;binaryRowOp(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
+                             double[]&nbsp;v,
+                             boolean&nbsp;sparseSafe,
+                             boolean&nbsp;left)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-boolean-">AColGroup</a></code></span></div>
 <div class="block">Perform a binary row operation.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-">binaryRowOp</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-boolean-">binaryRowOp</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>op</code> - The operation to execute</dd>
 <dd><code>v</code> - The vector of values to apply, should be same length as dictionary length.</dd>
 <dd><code>sparseSafe</code> - True if the operation return 0 on all instances of values in v -- op(v[?], 0)</dd>
+<dd><code>left</code> - Specifies if the operation is executed on the left or right side of the values contained.</dd>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>A updated column group with the new values.</dd>
 </dl>
 </li>
 </ul>
-<a name="getIterator-int-int-boolean-boolean-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getIterator</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/IJV.html" title="class in org.apache.sysds.runtime.matrix.data">IJV</a>&gt;&nbsp;getIterator(int&nbsp;rl,
-                                 int&nbsp;ru,
-                                 boolean&nbsp;inclZeros,
-                                 boolean&nbsp;rowMajor)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getIterator-int-int-boolean-boolean-">ColGroup</a></code></span></div>
-<div class="block">Create a column group iterator for a row index range.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getIterator-int-int-boolean-boolean-">getIterator</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>rl</code> - row lower index, inclusive</dd>
-<dd><code>ru</code> - row upper index, exclusive</dd>
-<dd><code>inclZeros</code> - include zero values into scope of iterator</dd>
-<dd><code>rowMajor</code> - use a row major iteration order</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>an iterator instance</dd>
-</dl>
-</li>
-</ul>
-<a name="getRowIterator-int-int-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getRowIterator</h4>
-<pre>public&nbsp;org.apache.sysds.runtime.compress.colgroup.ColGroup.ColGroupRowIterator&nbsp;getRowIterator(int&nbsp;rl,
-                                                                                              int&nbsp;ru)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getRowIterator-int-int-">ColGroup</a></code></span></div>
-<div class="block">Create a dense row iterator for a row index range. This iterator implies the inclusion of zeros and row-major
- iteration order.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getRowIterator-int-int-">getRowIterator</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>rl</code> - row lower index, inclusive</dd>
-<dd><code>ru</code> - row upper index, exclusive</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>an iterator instance</dd>
-</dl>
-</li>
-</ul>
 <a name="countNonZerosPerRow-int:A-int-int-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>countNonZerosPerRow</h4>
 <pre>public&nbsp;void&nbsp;countNonZerosPerRow(int[]&nbsp;rnnz,
                                 int&nbsp;rl,
                                 int&nbsp;ru)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#countNonZerosPerRow-int:A-int-int-">ColGroup</a></code></span></div>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#countNonZerosPerRow-int:A-int-int-">AColGroup</a></code></span></div>
 <div class="block">Count the number of non-zeros per row</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#countNonZerosPerRow-int:A-int-int-">countNonZerosPerRow</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#countNonZerosPerRow-int:A-int-int-">countNonZerosPerRow</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>rnnz</code> - non-zeros per row</dd>
 <dd><code>rl</code> - row lower bound, inclusive</dd>
@@ -873,6 +972,123 @@
 </dl>
 </li>
 </ul>
+<a name="sameIndexStructure-org.apache.sysds.runtime.compress.colgroup.ColGroupValue-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>sameIndexStructure</h4>
+<pre>public&nbsp;boolean&nbsp;sameIndexStructure(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a>&nbsp;that)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#sameIndexStructure-org.apache.sysds.runtime.compress.colgroup.ColGroupValue-">sameIndexStructure</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getIndexStructureHash--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getIndexStructureHash</h4>
+<pre>public&nbsp;int&nbsp;getIndexStructureHash()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getIndexStructureHash--">getIndexStructureHash</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="preAggregateDDC-org.apache.sysds.runtime.compress.colgroup.ColGroupDDC-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>preAggregateDDC</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a>&nbsp;preAggregateDDC(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a>&nbsp;lhs)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateDDC-org.apache.sysds.runtime.compress.colgroup.ColGroupDDC-">preAggregateDDC</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="preAggregateSDC-org.apache.sysds.runtime.compress.colgroup.ColGroupSDC-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>preAggregateSDC</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a>&nbsp;preAggregateSDC(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDC</a>&nbsp;lhs)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateSDC-org.apache.sysds.runtime.compress.colgroup.ColGroupSDC-">preAggregateSDC</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="preAggregateSDCSingle-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingle-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>preAggregateSDCSingle</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a>&nbsp;preAggregateSDCSingle(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingle</a>&nbsp;lhs)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateSDCSingle-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingle-">preAggregateSDCSingle</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="preAggregateSDCZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCZeros-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>preAggregateSDCZeros</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a>&nbsp;preAggregateSDCZeros(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCZeros</a>&nbsp;lhs)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateSDCZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCZeros-">preAggregateSDCZeros</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="preAggregateSDCSingleZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingleZeros-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>preAggregateSDCSingleZeros</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a>&nbsp;preAggregateSDCSingleZeros(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingleZeros</a>&nbsp;lhs)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateSDCSingleZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingleZeros-">preAggregateSDCSingleZeros</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="preAggregateOLE-org.apache.sysds.runtime.compress.colgroup.ColGroupOLE-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>preAggregateOLE</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a>&nbsp;preAggregateOLE(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOLE</a>&nbsp;lhs)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateOLE-org.apache.sysds.runtime.compress.colgroup.ColGroupOLE-">preAggregateOLE</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="preAggregateRLE-org.apache.sysds.runtime.compress.colgroup.ColGroupRLE-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>preAggregateRLE</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a>&nbsp;preAggregateRLE(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupRLE</a>&nbsp;lhs)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateRLE-org.apache.sysds.runtime.compress.colgroup.ColGroupRLE-">preAggregateRLE</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>
@@ -901,7 +1117,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConverter.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -926,7 +1142,7 @@
 <div>
 <ul class="subNavList">
 <li>Summary:&nbsp;</li>
-<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.ColGroup">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.AColGroup">Nested</a>&nbsp;|&nbsp;</li>
 <li>Field&nbsp;|&nbsp;</li>
 <li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
 <li><a href="#method.summary">Method</a></li>
@@ -942,6 +1158,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroupConverter.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroupConverter.html
index 966bfc4..ec9d780 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroupConverter.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroupConverter.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":9,"i2":9};
+var methods = {"i0":9,"i1":9};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -148,20 +148,14 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConverter.html#copyColGroup-org.apache.sysds.runtime.compress.colgroup.ColGroup-">copyColGroup</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>&nbsp;group)</code>
-<div class="block">Copy col group instance with deep copy of column indices but shallow copy of actual contents;</div>
-</td>
-</tr>
-<tr id="i1" class="rowColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConverter.html#getDenseVector-org.apache.sysds.runtime.matrix.data.MatrixBlock-">getDenseVector</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;vector)</code>
 <div class="block">Extract the double array primitive from a Matrix Block that is an vector.</div>
 </td>
 </tr>
-<tr id="i2" class="altColor">
+<tr id="i1" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConverter.html#getUncompressedColBlock-org.apache.sysds.runtime.compress.colgroup.ColGroup-">getUncompressedColBlock</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>&nbsp;group)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConverter.html#getUncompressedColBlock-org.apache.sysds.runtime.compress.colgroup.AColGroup-">getUncompressedColBlock</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a>&nbsp;group)</code>
 <div class="block">Extracts the Uncompressed MatrixBlock representation of a Col Group</div>
 </td>
 </tr>
@@ -204,22 +198,6 @@
 <!--   -->
 </a>
 <h3>Method Detail</h3>
-<a name="copyColGroup-org.apache.sysds.runtime.compress.colgroup.ColGroup-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>copyColGroup</h4>
-<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>&nbsp;copyColGroup(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>&nbsp;group)</pre>
-<div class="block">Copy col group instance with deep copy of column indices but shallow copy of actual contents;</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>group</code> - column group</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>column group (deep copy of indices but shallow copy of contents)</dd>
-</dl>
-</li>
-</ul>
 <a name="getDenseVector-org.apache.sysds.runtime.matrix.data.MatrixBlock-">
 <!--   -->
 </a>
@@ -236,13 +214,13 @@
 </dl>
 </li>
 </ul>
-<a name="getUncompressedColBlock-org.apache.sysds.runtime.compress.colgroup.ColGroup-">
+<a name="getUncompressedColBlock-org.apache.sysds.runtime.compress.colgroup.AColGroup-">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getUncompressedColBlock</h4>
-<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;getUncompressedColBlock(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>&nbsp;group)</pre>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;getUncompressedColBlock(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a>&nbsp;group)</pre>
 <div class="block">Extracts the Uncompressed MatrixBlock representation of a Col Group</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -321,6 +299,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html
index 1e13933..bf80987 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -50,7 +50,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConverter.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" target="_top">Frames</a></li>
@@ -74,7 +74,7 @@
 <div>
 <ul class="subNavList">
 <li>Summary:&nbsp;</li>
-<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.ColGroup">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.AColGroup">Nested</a>&nbsp;|&nbsp;</li>
 <li>Field&nbsp;|&nbsp;</li>
 <li>Constr&nbsp;|&nbsp;</li>
 <li><a href="#method.summary">Method</a></li>
@@ -100,7 +100,7 @@
 <li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">org.apache.sysds.runtime.compress.colgroup.ColGroup</a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">org.apache.sysds.runtime.compress.colgroup.AColGroup</a></li>
 <li>
 <ul class="inheritance">
 <li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">org.apache.sysds.runtime.compress.colgroup.ColGroupValue</a></li>
@@ -121,13 +121,9 @@
 <dt>All Implemented Interfaces:</dt>
 <dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Cloneable.html?is-external=true" title="class or interface in java.lang">Cloneable</a></dd>
 </dl>
-<dl>
-<dt>Direct Known Subclasses:</dt>
-<dd><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC1</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC2</a></dd>
-</dl>
 <hr>
 <br>
-<pre>public abstract class <span class="typeNameLabel">ColGroupDDC</span>
+<pre>public class <span class="typeNameLabel">ColGroupDDC</span>
 extends <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></pre>
 <div class="block">Class to encapsulate information about a column group that is encoded with dense dictionary encoding (DDC).</div>
 <dl>
@@ -147,11 +143,11 @@
 </a>
 <h3>Nested Class Summary</h3>
 <ul class="blockList">
-<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.ColGroup">
+<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.AColGroup">
 <!--   -->
 </a>
-<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a></code></li>
+<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.ColGroupType</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a></code></li>
 </ul>
 </li>
 </ul>
@@ -168,6 +164,15 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-boolean-">binaryRowOp</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
+           double[]&nbsp;v,
+           boolean&nbsp;sparseSafe,
+           boolean&nbsp;left)</code>
+<div class="block">Perform a binary row operation.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#countNonZerosPerRow-int:A-int-int-">countNonZerosPerRow</a></span>(int[]&nbsp;rnnz,
                    int&nbsp;rl,
@@ -175,68 +180,104 @@
 <div class="block">Count the number of non-zeros per row</div>
 </td>
 </tr>
-<tr id="i1" class="rowColor">
+<tr id="i2" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">decompressToBlock</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
-                 int&nbsp;colpos)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#decompressColumnToBlock-double:A-int-int-int-">decompressColumnToBlock</a></span>(double[]&nbsp;c,
+                       int&nbsp;colpos,
+                       int&nbsp;rl,
+                       int&nbsp;ru)</code>
+<div class="block">Decompress to dense array.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">decompressColumnToBlock</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                       int&nbsp;colpos)</code>
 <div class="block">Decompress to block.</div>
 </td>
 </tr>
-<tr id="i2" class="altColor">
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-">decompressColumnToBlock</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                       int&nbsp;colpos,
+                       int&nbsp;rl,
+                       int&nbsp;ru)</code>
+<div class="block">Decompress to block.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">decompressToBlock</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
                  int[]&nbsp;colIndexTargets)</code>
 <div class="block">Decompress the contents of this column group into uncompressed packed columns</div>
 </td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">decompressToBlock</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
-                 int&nbsp;rl,
-                 int&nbsp;ru)</code>
-<div class="block">Decompress the contents of this column group into the specified full matrix block.</div>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#decompressToBlockSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">decompressToBlockSafe</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                     int&nbsp;rl,
+                     int&nbsp;ru,
+                     int&nbsp;offT,
+                     double[]&nbsp;values)</code>
+<div class="block">Decompress the contents of this column group into the specified full matrix block without managing the number of
+ non zeros.</div>
 </td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#decompressToBlockUnSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">decompressToBlockUnSafe</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                       int&nbsp;rl,
+                       int&nbsp;ru,
+                       int&nbsp;offT,
+                       double[]&nbsp;values)</code>&nbsp;</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#estimateInMemorySize--">estimateInMemorySize</a></span>()</code>
+<div class="block">Note: Must be overridden by child classes to account for additional data and metadata</div>
+</td>
+</tr>
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code>double</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#get-int-int-">get</a></span>(int&nbsp;r,
    int&nbsp;c)</code>
 <div class="block">Get the value at a global row/column position.</div>
 </td>
 </tr>
-<tr id="i5" class="rowColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a></code></td>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.ColGroupType</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#getColGroupType--">getColGroupType</a></span>()</code>
+<div class="block">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.</div>
+</td>
+</tr>
+<tr id="i11" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#getCompType--">getCompType</a></span>()</code>
 <div class="block">Obtain the compression type.</div>
 </td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i12" class="altColor">
 <td class="colFirst"><code>int[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#getCounts-int:A-">getCounts</a></span>(int[]&nbsp;counts)</code>&nbsp;</td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i13" class="rowColor">
 <td class="colFirst"><code>int[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#getCounts-int-int-int:A-">getCounts</a></span>(int&nbsp;rl,
          int&nbsp;ru,
          int[]&nbsp;counts)</code>&nbsp;</td>
 </tr>
-<tr id="i8" class="altColor">
-<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/IJV.html" title="class in org.apache.sysds.runtime.matrix.data">IJV</a>&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#getIterator-int-int-boolean-boolean-">getIterator</a></span>(int&nbsp;rl,
-           int&nbsp;ru,
-           boolean&nbsp;inclZeros,
-           boolean&nbsp;rowMajor)</code>
-<div class="block">Create a column group iterator for a row index range.</div>
+<tr id="i14" class="altColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#getExactSizeOnDisk--">getExactSizeOnDisk</a></span>()</code>
+<div class="block">Returns the exact serialized size of column group.</div>
 </td>
 </tr>
-<tr id="i9" class="rowColor">
-<td class="colFirst"><code>org.apache.sysds.runtime.compress.colgroup.ColGroup.ColGroupRowIterator</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#getRowIterator-int-int-">getRowIterator</a></span>(int&nbsp;rl,
-              int&nbsp;ru)</code>
-<div class="block">Create a dense row iterator for a row index range.</div>
-</td>
+<tr id="i15" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#getIndexStructureHash--">getIndexStructureHash</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i16" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#leftMultByMatrix-double:A-double:A-double:A-int-int-int-int-int-">leftMultByMatrix</a></span>(double[]&nbsp;a,
                 double[]&nbsp;c,
@@ -249,32 +290,10 @@
 <div class="block">Multiply with a matrix on the left.</div>
 </td>
 </tr>
-<tr id="i11" class="rowColor">
+<tr id="i17" class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#leftMultByRowVector-double:A-double:A-int-">leftMultByRowVector</a></span>(double[]&nbsp;a,
-                   double[]&nbsp;result,
-                   int&nbsp;numVals)</code>
-<div class="block">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.</div>
-</td>
-</tr>
-<tr id="i12" class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#leftMultByRowVector-double:A-double:A-int-double:A-">leftMultByRowVector</a></span>(double[]&nbsp;a,
-                   double[]&nbsp;c,
-                   int&nbsp;numVals,
-                   double[]&nbsp;values)</code>
-<div class="block">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.</div>
-</td>
-</tr>
-<tr id="i13" class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#leftMultBySparseMatrix-int-int:A-double:A-double:A-int-double:A-int-int-int-double:A-">leftMultBySparseMatrix</a></span>(int&nbsp;spNrVals,
-                      int[]&nbsp;indexes,
-                      double[]&nbsp;sparseV,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#leftMultBySparseMatrix-org.apache.sysds.runtime.data.SparseBlock-double:A-double:A-int-int-int-double:A-">leftMultBySparseMatrix</a></span>(<a href="../../../../../../org/apache/sysds/runtime/data/SparseBlock.html" title="class in org.apache.sysds.runtime.data">SparseBlock</a>&nbsp;sb,
                       double[]&nbsp;c,
-                      int&nbsp;numVals,
                       double[]&nbsp;values,
                       int&nbsp;numRows,
                       int&nbsp;numCols,
@@ -283,53 +302,110 @@
 <div class="block">Multiply with a sparse matrix on the left hand side, and add the values to the output result</div>
 </td>
 </tr>
-<tr id="i14" class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#postScaling-double:A-double:A-double:A-int-">postScaling</a></span>(double[]&nbsp;values,
-           double[]&nbsp;vals,
-           double[]&nbsp;c,
-           int&nbsp;numVals)</code>&nbsp;</td>
-</tr>
-<tr id="i15" class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#postScaling-double:A-double:A-double:A-int-int-int-">postScaling</a></span>(double[]&nbsp;values,
-           double[]&nbsp;vals,
-           double[]&nbsp;c,
-           int&nbsp;numVals,
-           int&nbsp;i,
-           int&nbsp;totalCols)</code>&nbsp;</td>
-</tr>
-<tr id="i16" class="altColor">
+<tr id="i18" class="altColor">
 <td class="colFirst"><code>double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#preAggregate-double:A-int-">preAggregate</a></span>(double[]&nbsp;a,
-            int&nbsp;numVals)</code>&nbsp;</td>
-</tr>
-<tr id="i17" class="rowColor">
-<td class="colFirst"><code>double[]</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#preAggregate-double:A-int-int-">preAggregate</a></span>(double[]&nbsp;a,
-            int&nbsp;numVals,
-            int&nbsp;aRows)</code>
-<div class="block">Pre aggregates a specific row from the input a which can be a row or a matrix.</div>
+            int&nbsp;row)</code>
+<div class="block">Pre aggregates for left multiplication</div>
 </td>
 </tr>
-<tr id="i18" class="altColor">
+<tr id="i19" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#preAggregateDDC-org.apache.sysds.runtime.compress.colgroup.ColGroupDDC-">preAggregateDDC</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr id="i20" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#preAggregateOLE-org.apache.sysds.runtime.compress.colgroup.ColGroupOLE-">preAggregateOLE</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOLE</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr id="i21" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#preAggregateRLE-org.apache.sysds.runtime.compress.colgroup.ColGroupRLE-">preAggregateRLE</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupRLE</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr id="i22" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#preAggregateSDC-org.apache.sysds.runtime.compress.colgroup.ColGroupSDC-">preAggregateSDC</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDC</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr id="i23" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#preAggregateSDCSingle-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingle-">preAggregateSDCSingle</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingle</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr id="i24" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#preAggregateSDCSingleZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingleZeros-">preAggregateSDCSingleZeros</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingleZeros</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr id="i25" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#preAggregateSDCZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCZeros-">preAggregateSDCZeros</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCZeros</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr id="i26" class="altColor">
+<td class="colFirst"><code>double[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#preAggregateSparse-org.apache.sysds.runtime.data.SparseBlock-int-">preAggregateSparse</a></span>(<a href="../../../../../../org/apache/sysds/runtime/data/SparseBlock.html" title="class in org.apache.sysds.runtime.data">SparseBlock</a>&nbsp;sb,
+                  int&nbsp;row)</code>
+<div class="block">Pre aggregate for left multiplication of sparse vector or matrix.</div>
+</td>
+</tr>
+<tr id="i27" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#readFields-java.io.DataInput-">readFields</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a>&nbsp;in)</code>
+<div class="block">Deserialize column group from data input.</div>
+</td>
+</tr>
+<tr id="i28" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#rightMultByMatrix-int:A-double:A-double:A-int-int-int-">rightMultByMatrix</a></span>(int[]&nbsp;outputColumns,
+                 double[]&nbsp;preAggregatedB,
+                 double[]&nbsp;c,
+                 int&nbsp;thatNrColumns,
+                 int&nbsp;rl,
+                 int&nbsp;ru)</code>
+<div class="block">Right multiply by matrix.</div>
+</td>
+</tr>
+<tr id="i29" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#rightMultByVector-double:A-double:A-int-int-double:A-">rightMultByVector</a></span>(double[]&nbsp;b,
+                 double[]&nbsp;c,
+                 int&nbsp;rl,
+                 int&nbsp;ru,
+                 double[]&nbsp;dictVals)</code>
+<div class="block">Multiply the slice of the matrix that this column group represents by a vector on the right.</div>
+</td>
+</tr>
+<tr id="i30" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#sameIndexStructure-org.apache.sysds.runtime.compress.colgroup.ColGroupValue-">sameIndexStructure</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a>&nbsp;that)</code>&nbsp;</td>
+</tr>
+<tr id="i31" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">scalarOperation</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op)</code>
+<div class="block">Perform the specified scalar operation directly on the compressed column group, without decompressing individual
+ cells if possible.</div>
+</td>
+</tr>
+<tr id="i32" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#toString--">toString</a></span>()</code>&nbsp;</td>
 </tr>
+<tr id="i33" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#write-java.io.DataOutput-">write</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataOutput.html?is-external=true" title="class or interface in java.io">DataOutput</a>&nbsp;out)</code>
+<div class="block">Serializes column group to data output.</div>
+</td>
+</tr>
 </table>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.ColGroupValue">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#cleanupThreadLocalMemory--">cleanupThreadLocalMemory</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#copy--">copy</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#copyAndSet-int:A-double:A-">copyAndSet</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCounts--">getCounts</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCounts-int-int-">getCounts</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getDictionary--">getDictionary</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getExactSizeOnDisk--">getExactSizeOnDisk</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getIfCountsType--">getIfCountsType</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getNumValues--">getNumValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getValues--">getValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getValuesAsBlock--">getValuesAsBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#isLossy--">isLossy</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preaggValues-int-double:A-double:A-int-int-int-">preaggValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preaggValues-int-double:A-double:A-int-int-int-double:A-">preaggValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preaggValues-int-org.apache.sysds.runtime.data.SparseBlock-double:A-int-int-int-">preaggValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preaggValues-int-org.apache.sysds.runtime.data.SparseBlock-double:A-int-int-int-double:A-">preaggValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#readFields-java.io.DataInput-">readFields</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#setupThreadLocalMemory-int-">setupThreadLocalMemory</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-">unaryAggregateOperations</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-int-int-">unaryAggregateOperations</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#write-java.io.DataOutput-">write</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#addMinMax-double:A-">addMinMax</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#applyBinaryRowOp-org.apache.sysds.runtime.functionobjects.ValueFunction-double:A-boolean-boolean-">applyBinaryRowOp</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#cleanupThreadLocalMemory--">cleanupThreadLocalMemory</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#containsValue-double-">containsValue</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#copy--">copy</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#copyAndSet-int:A-org.apache.sysds.runtime.compress.colgroup.ADictionary-">copyAndSet</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#copyAndSet-int:A-double:A-">copyAndSet</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCachedCounts--">getCachedCounts</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCounts--">getCounts</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCounts-int-int-">getCounts</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getDictionary--">getDictionary</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getIfCountsType--">getIfCountsType</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getMax--">getMax</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getMin--">getMin</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getNumberNonZeros--">getNumberNonZeros</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getNumValues--">getNumValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getValues--">getValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getValuesAsBlock--">getValuesAsBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#isLossy--">isLossy</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#leftMultByAggregatedColGroup-org.apache.sysds.runtime.compress.colgroup.ColGroupValue-double:A-int-int-">leftMultByAggregatedColGroup</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#leftMultByRowVector-double:A-double:A-">leftMultByRowVector</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#leftMultByRowVector-double:A-double:A-int-">leftMultByRowVector</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#leftMultByRowVector-double:A-double:A-int-double:A-">leftMultByRowVector</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#leftMultByRowVector-double:A-double:A-int-double:A-int-">leftMultByRowVector</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#leftMultBySelfDiagonalColGroup-double:A-int-">leftMultBySelfDiagonalColGroup</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregate-org.apache.sysds.runtime.compress.colgroup.ColGroupValue-">preAggregate</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregate-double:A-">preAggregate</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregate-org.apache.sysds.runtime.data.SparseBlock-">preAggregate</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateCONST-org.apache.sysds.runtime.compress.colgroup.ColGroupConst-">preAggregateCONST</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preaggValues-int-org.apache.sysds.runtime.matrix.data.MatrixBlock-double:A-int-int-int-">preaggValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preCallAggregate-org.apache.sysds.runtime.compress.colgroup.ColGroupValue-">preCallAggregate</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#setupThreadLocalMemory-int-">setupThreadLocalMemory</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#sliceColumns-int-int-">sliceColumns</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-">unaryAggregateOperations</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-int-int-">unaryAggregateOperations</a></code></li>
 </ul>
 <ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.ColGroup">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.AColGroup">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-">binaryRowOp</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-java.util.List-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#estimateInMemorySize--">estimateInMemorySize</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getColIndex-int-">getColIndex</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getColIndices--">getColIndices</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getNumCols--">getNumCols</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getNumRows--">getNumRows</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#rightMultByMatrix-double:A-double:A-int-int-int-int-int-">rightMultByMatrix</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#rightMultBySparseMatrix-org.apache.sysds.runtime.data.SparseRow:A-double:A-int-double:A-int-int-int-">rightMultBySparseMatrix</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#rightMultByVector-double:A-double:A-int-int-double:A-">rightMultByVector</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">scalarOperation</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#shiftColIndices-int-">shiftColIndices</a></code></li>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToArray-double:A-int-java.util.List-">decompressColumnToArray</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-double:A-int-int-int-java.util.List-">decompressColumnToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-java.util.List-">decompressColumnToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-java.util.List-">decompressColumnToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlockUnSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-java.util.List-">decompressColumnToBlockUnSafe</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-boolean-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-double:A-boolean-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-boolean-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-boolean-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getColIndex-int-">getColIndex</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getColIndices--">getColIndices</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getNumCols--">getNumCols</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getNumRows--">getNumRows</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#isDense--">isDense</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#shiftColIndices-int-">shiftColIndices</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -358,35 +434,57 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getCompType</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>&nbsp;getCompType()</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getCompType--">ColGroup</a></code></span></div>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a>&nbsp;getCompType()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getCompType--">AColGroup</a></code></span></div>
 <div class="block">Obtain the compression type.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getCompType--">getCompType</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getCompType--">getCompType</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>How the elements of the column group are compressed.</dd>
 </dl>
 </li>
 </ul>
-<a name="decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">
+<a name="decompressToBlockSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>decompressToBlock</h4>
-<pre>public&nbsp;void&nbsp;decompressToBlock(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
-                              int&nbsp;rl,
-                              int&nbsp;ru)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">ColGroup</a></code></span></div>
-<div class="block">Decompress the contents of this column group into the specified full matrix block.</div>
+<h4>decompressToBlockSafe</h4>
+<pre>public&nbsp;void&nbsp;decompressToBlockSafe(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                                  int&nbsp;rl,
+                                  int&nbsp;ru,
+                                  int&nbsp;offT,
+                                  double[]&nbsp;values)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlockSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">AColGroup</a></code></span></div>
+<div class="block">Decompress the contents of this column group into the specified full matrix block without managing the number of
+ non zeros.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">decompressToBlock</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlockSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">decompressToBlockSafe</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>target</code> - a matrix block where the columns covered by this column group have not yet been filled in.</dd>
 <dd><code>rl</code> - row lower</dd>
 <dd><code>ru</code> - row upper</dd>
+<dd><code>offT</code> - Offset into target to assign from</dd>
+<dd><code>values</code> - The Values materialized in the dictionary</dd>
+</dl>
+</li>
+</ul>
+<a name="decompressToBlockUnSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>decompressToBlockUnSafe</h4>
+<pre>public&nbsp;void&nbsp;decompressToBlockUnSafe(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                                    int&nbsp;rl,
+                                    int&nbsp;ru,
+                                    int&nbsp;offT,
+                                    double[]&nbsp;values)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlockUnSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">decompressToBlockUnSafe</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
 </dl>
 </li>
 </ul>
@@ -398,11 +496,11 @@
 <h4>decompressToBlock</h4>
 <pre>public&nbsp;void&nbsp;decompressToBlock(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
                               int[]&nbsp;colIndexTargets)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">ColGroup</a></code></span></div>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">AColGroup</a></code></span></div>
 <div class="block">Decompress the contents of this column group into uncompressed packed columns</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">decompressToBlock</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">decompressToBlock</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>target</code> - a dense matrix block. The block must have enough space to hold the contents of this column
                         group.</dd>
@@ -410,25 +508,71 @@
 </dl>
 </li>
 </ul>
-<a name="decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">
+<a name="decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>decompressToBlock</h4>
-<pre>public&nbsp;void&nbsp;decompressToBlock(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
-                              int&nbsp;colpos)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">ColGroup</a></code></span></div>
+<h4>decompressColumnToBlock</h4>
+<pre>public&nbsp;void&nbsp;decompressColumnToBlock(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                                    int&nbsp;colpos)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">AColGroup</a></code></span></div>
 <div class="block">Decompress to block.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">decompressToBlock</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">decompressColumnToBlock</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>target</code> - dense output vector</dd>
 <dd><code>colpos</code> - column to decompress, error if larger or equal numCols</dd>
 </dl>
 </li>
 </ul>
+<a name="decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>decompressColumnToBlock</h4>
+<pre>public&nbsp;void&nbsp;decompressColumnToBlock(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                                    int&nbsp;colpos,
+                                    int&nbsp;rl,
+                                    int&nbsp;ru)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-">AColGroup</a></code></span></div>
+<div class="block">Decompress to block.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-">decompressColumnToBlock</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>target</code> - dense output vector</dd>
+<dd><code>colpos</code> - column to decompress, error if larger or equal numCols</dd>
+<dd><code>rl</code> - the Row to start decompression from</dd>
+<dd><code>ru</code> - the Row to end decompression at</dd>
+</dl>
+</li>
+</ul>
+<a name="decompressColumnToBlock-double:A-int-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>decompressColumnToBlock</h4>
+<pre>public&nbsp;void&nbsp;decompressColumnToBlock(double[]&nbsp;c,
+                                    int&nbsp;colpos,
+                                    int&nbsp;rl,
+                                    int&nbsp;ru)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-double:A-int-int-int-">AColGroup</a></code></span></div>
+<div class="block">Decompress to dense array.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-double:A-int-int-int-">decompressColumnToBlock</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>c</code> - dense output vector double array.</dd>
+<dd><code>colpos</code> - column to decompress, error if larger or equal numCols</dd>
+<dd><code>rl</code> - the Row to start decompression from</dd>
+<dd><code>ru</code> - the Row to end decompression at</dd>
+</dl>
+</li>
+</ul>
 <a name="get-int-int-">
 <!--   -->
 </a>
@@ -437,11 +581,11 @@
 <h4>get</h4>
 <pre>public&nbsp;double&nbsp;get(int&nbsp;r,
                   int&nbsp;c)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#get-int-int-">ColGroup</a></code></span></div>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#get-int-int-">AColGroup</a></code></span></div>
 <div class="block">Get the value at a global row/column position.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#get-int-int-">get</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#get-int-int-">get</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>r</code> - row</dd>
 <dd><code>c</code> - column</dd>
@@ -459,11 +603,11 @@
 <pre>public&nbsp;void&nbsp;countNonZerosPerRow(int[]&nbsp;rnnz,
                                 int&nbsp;rl,
                                 int&nbsp;ru)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#countNonZerosPerRow-int:A-int-int-">ColGroup</a></code></span></div>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#countNonZerosPerRow-int:A-int-int-">AColGroup</a></code></span></div>
 <div class="block">Count the number of non-zeros per row</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#countNonZerosPerRow-int:A-int-int-">countNonZerosPerRow</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#countNonZerosPerRow-int:A-int-int-">countNonZerosPerRow</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>rnnz</code> - non-zeros per row</dd>
 <dd><code>rl</code> - row lower bound, inclusive</dd>
@@ -471,32 +615,6 @@
 </dl>
 </li>
 </ul>
-<a name="postScaling-double:A-double:A-double:A-int-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>postScaling</h4>
-<pre>public&nbsp;void&nbsp;postScaling(double[]&nbsp;values,
-                        double[]&nbsp;vals,
-                        double[]&nbsp;c,
-                        int&nbsp;numVals)</pre>
-</li>
-</ul>
-<a name="postScaling-double:A-double:A-double:A-int-int-int-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>postScaling</h4>
-<pre>public&nbsp;void&nbsp;postScaling(double[]&nbsp;values,
-                        double[]&nbsp;vals,
-                        double[]&nbsp;c,
-                        int&nbsp;numVals,
-                        int&nbsp;i,
-                        int&nbsp;totalCols)</pre>
-</li>
-</ul>
 <a name="getCounts-int:A-">
 <!--   -->
 </a>
@@ -539,11 +657,11 @@
                              int&nbsp;rl,
                              int&nbsp;ru,
                              int&nbsp;voff)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#leftMultByMatrix-double:A-double:A-double:A-int-int-int-int-int-">ColGroup</a></code></span></div>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#leftMultByMatrix-double:A-double:A-double:A-int-int-int-int-int-">AColGroup</a></code></span></div>
 <div class="block">Multiply with a matrix on the left.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#leftMultByMatrix-double:A-double:A-double:A-int-int-int-int-int-">leftMultByMatrix</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#leftMultByMatrix-double:A-double:A-double:A-int-int-int-int-int-">leftMultByMatrix</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>a</code> - matrix to left multiply</dd>
 <dd><code>c</code> - matrix block result</dd>
@@ -556,62 +674,32 @@
 </dl>
 </li>
 </ul>
-<a name="leftMultBySparseMatrix-int-int:A-double:A-double:A-int-double:A-int-int-int-double:A-">
+<a name="leftMultBySparseMatrix-org.apache.sysds.runtime.data.SparseBlock-double:A-double:A-int-int-int-double:A-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>leftMultBySparseMatrix</h4>
-<pre>public&nbsp;void&nbsp;leftMultBySparseMatrix(int&nbsp;spNrVals,
-                                   int[]&nbsp;indexes,
-                                   double[]&nbsp;sparseV,
+<pre>public&nbsp;void&nbsp;leftMultBySparseMatrix(<a href="../../../../../../org/apache/sysds/runtime/data/SparseBlock.html" title="class in org.apache.sysds.runtime.data">SparseBlock</a>&nbsp;sb,
                                    double[]&nbsp;c,
-                                   int&nbsp;numVals,
                                    double[]&nbsp;values,
                                    int&nbsp;numRows,
                                    int&nbsp;numCols,
                                    int&nbsp;row,
                                    double[]&nbsp;MaterializedRow)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#leftMultBySparseMatrix-int-int:A-double:A-double:A-int-double:A-int-int-int-double:A-">ColGroup</a></code></span></div>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#leftMultBySparseMatrix-org.apache.sysds.runtime.data.SparseBlock-double:A-double:A-int-int-int-double:A-">AColGroup</a></code></span></div>
 <div class="block">Multiply with a sparse matrix on the left hand side, and add the values to the output result</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#leftMultBySparseMatrix-int-int:A-double:A-double:A-int-double:A-int-int-int-double:A-">leftMultBySparseMatrix</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#leftMultBySparseMatrix-org.apache.sysds.runtime.data.SparseBlock-double:A-double:A-int-int-int-double:A-">leftMultBySparseMatrix</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>spNrVals</code> - the Number of sparse values (since the number of indexes does not align with number of
-                        values)</dd>
-<dd><code>indexes</code> - the indexes for the sparse values in the given row.</dd>
-<dd><code>sparseV</code> - the sparse values.</dd>
-<dd><code>c</code> - the linearized output matrix</dd>
-<dd><code>numVals</code> - the number of values in the dictionary</dd>
-<dd><code>values</code> - the dictionary values materialized</dd>
-<dd><code>numRows</code> - the number of rows in the left hand side input matrix (the sparse one)</dd>
-<dd><code>numCols</code> - the number of columns in the compression.</dd>
-<dd><code>row</code> - the row index of the sparse row to multiply with.</dd>
-<dd><code>MaterializedRow</code> - The sparse row materialized (should only be done if needed for the specific type of
-                        ColumnGroup)</dd>
-</dl>
-</li>
-</ul>
-<a name="leftMultByRowVector-double:A-double:A-int-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>leftMultByRowVector</h4>
-<pre>public&nbsp;void&nbsp;leftMultByRowVector(double[]&nbsp;a,
-                                double[]&nbsp;result,
-                                int&nbsp;numVals)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#leftMultByRowVector-double:A-double:A-int-">ColGroup</a></code></span></div>
-<div class="block">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. its size now is 1xn).</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#leftMultByRowVector-double:A-double:A-int-">leftMultByRowVector</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>a</code> - row vector</dd>
-<dd><code>result</code> - matrix block result</dd>
-<dd><code>numVals</code> - The Number of values contained in the Column.</dd>
+<dd><code>sb</code> - The sparse block to multiply with</dd>
+<dd><code>c</code> - The linearized output matrix</dd>
+<dd><code>values</code> - The dictionary values materialized</dd>
+<dd><code>numRows</code> - The number of rows in the left hand side input matrix (the sparse one)</dd>
+<dd><code>numCols</code> - The number of columns in the compression.</dd>
+<dd><code>row</code> - The row index of the sparse row to multiply with.</dd>
+<dd><code>MaterializedRow</code> - A Temporary dense row vector to materialize the sparse values into used for OLE</dd>
 </dl>
 </li>
 </ul>
@@ -622,97 +710,346 @@
 <li class="blockList">
 <h4>preAggregate</h4>
 <pre>public&nbsp;double[]&nbsp;preAggregate(double[]&nbsp;a,
-                             int&nbsp;numVals)</pre>
-</li>
-</ul>
-<a name="preAggregate-double:A-int-int-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>preAggregate</h4>
-<pre>public&nbsp;double[]&nbsp;preAggregate(double[]&nbsp;a,
-                             int&nbsp;numVals,
-                             int&nbsp;aRows)</pre>
-<div class="block">Pre aggregates a specific row from the input a which can be a row or a matrix.</div>
+                             int&nbsp;row)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregate-double:A-int-">ColGroupValue</a></code></span></div>
+<div class="block">Pre aggregates for left multiplication</div>
 <dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregate-double:A-int-">preAggregate</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>a</code> - the input vector or matrix to multiply with</dd>
-<dd><code>numVals</code> - the number of values contained in the dictionary</dd>
-<dd><code>aRows</code> - the row index from a</dd>
+<dd><code>a</code> - The input dense vector or matrix to aggregate</dd>
+<dd><code>row</code> - The row index to aggregate</dd>
 <dt><span class="returnLabel">Returns:</span></dt>
-<dd>the pre-aggregated values.</dd>
+<dd>The pre-aggregated values.</dd>
 </dl>
 </li>
 </ul>
-<a name="leftMultByRowVector-double:A-double:A-int-double:A-">
+<a name="preAggregateSparse-org.apache.sysds.runtime.data.SparseBlock-int-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>leftMultByRowVector</h4>
-<pre>public&nbsp;void&nbsp;leftMultByRowVector(double[]&nbsp;a,
-                                double[]&nbsp;c,
-                                int&nbsp;numVals,
-                                double[]&nbsp;values)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#leftMultByRowVector-double:A-double:A-int-double:A-">ColGroup</a></code></span></div>
-<div class="block">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. its size now is 1xn).</div>
+<h4>preAggregateSparse</h4>
+<pre>public&nbsp;double[]&nbsp;preAggregateSparse(<a href="../../../../../../org/apache/sysds/runtime/data/SparseBlock.html" title="class in org.apache.sysds.runtime.data">SparseBlock</a>&nbsp;sb,
+                                   int&nbsp;row)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateSparse-org.apache.sysds.runtime.data.SparseBlock-int-">ColGroupValue</a></code></span></div>
+<div class="block">Pre aggregate for left multiplication of sparse vector or matrix.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#leftMultByRowVector-double:A-double:A-int-double:A-">leftMultByRowVector</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateSparse-org.apache.sysds.runtime.data.SparseBlock-int-">preAggregateSparse</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>a</code> - row vector</dd>
-<dd><code>c</code> - matrix block result</dd>
-<dd><code>numVals</code> - The Number of values contained in the Column.</dd>
-<dd><code>values</code> - The materialized list of values contained in the dictionary.</dd>
+<dd><code>sb</code> - The input sparse vector or matrix to aggregate</dd>
+<dd><code>row</code> - The row index to aggregate</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The pre-aggregated values.</dd>
 </dl>
 </li>
 </ul>
-<a name="getIterator-int-int-boolean-boolean-">
+<a name="preAggregateDDC-org.apache.sysds.runtime.compress.colgroup.ColGroupDDC-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getIterator</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/IJV.html" title="class in org.apache.sysds.runtime.matrix.data">IJV</a>&gt;&nbsp;getIterator(int&nbsp;rl,
-                                 int&nbsp;ru,
-                                 boolean&nbsp;inclZeros,
-                                 boolean&nbsp;rowMajor)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getIterator-int-int-boolean-boolean-">ColGroup</a></code></span></div>
-<div class="block">Create a column group iterator for a row index range.</div>
+<h4>preAggregateDDC</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a>&nbsp;preAggregateDDC(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a>&nbsp;lhs)</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getIterator-int-int-boolean-boolean-">getIterator</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>rl</code> - row lower index, inclusive</dd>
-<dd><code>ru</code> - row upper index, exclusive</dd>
-<dd><code>inclZeros</code> - include zero values into scope of iterator</dd>
-<dd><code>rowMajor</code> - use a row major iteration order</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>an iterator instance</dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateDDC-org.apache.sysds.runtime.compress.colgroup.ColGroupDDC-">preAggregateDDC</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
 </dl>
 </li>
 </ul>
-<a name="getRowIterator-int-int-">
+<a name="preAggregateSDC-org.apache.sysds.runtime.compress.colgroup.ColGroupSDC-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getRowIterator</h4>
-<pre>public&nbsp;org.apache.sysds.runtime.compress.colgroup.ColGroup.ColGroupRowIterator&nbsp;getRowIterator(int&nbsp;rl,
-                                                                                              int&nbsp;ru)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getRowIterator-int-int-">ColGroup</a></code></span></div>
-<div class="block">Create a dense row iterator for a row index range. This iterator implies the inclusion of zeros and row-major
- iteration order.</div>
+<h4>preAggregateSDC</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a>&nbsp;preAggregateSDC(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDC</a>&nbsp;lhs)</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getRowIterator-int-int-">getRowIterator</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>rl</code> - row lower index, inclusive</dd>
-<dd><code>ru</code> - row upper index, exclusive</dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateSDC-org.apache.sysds.runtime.compress.colgroup.ColGroupSDC-">preAggregateSDC</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="preAggregateSDCSingle-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingle-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>preAggregateSDCSingle</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a>&nbsp;preAggregateSDCSingle(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingle</a>&nbsp;lhs)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateSDCSingle-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingle-">preAggregateSDCSingle</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="preAggregateSDCZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCZeros-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>preAggregateSDCZeros</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a>&nbsp;preAggregateSDCZeros(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCZeros</a>&nbsp;lhs)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateSDCZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCZeros-">preAggregateSDCZeros</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="preAggregateSDCSingleZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingleZeros-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>preAggregateSDCSingleZeros</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a>&nbsp;preAggregateSDCSingleZeros(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingleZeros</a>&nbsp;lhs)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateSDCSingleZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingleZeros-">preAggregateSDCSingleZeros</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="preAggregateOLE-org.apache.sysds.runtime.compress.colgroup.ColGroupOLE-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>preAggregateOLE</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a>&nbsp;preAggregateOLE(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOLE</a>&nbsp;lhs)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateOLE-org.apache.sysds.runtime.compress.colgroup.ColGroupOLE-">preAggregateOLE</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="preAggregateRLE-org.apache.sysds.runtime.compress.colgroup.ColGroupRLE-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>preAggregateRLE</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a>&nbsp;preAggregateRLE(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupRLE</a>&nbsp;lhs)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateRLE-org.apache.sysds.runtime.compress.colgroup.ColGroupRLE-">preAggregateRLE</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="sameIndexStructure-org.apache.sysds.runtime.compress.colgroup.ColGroupValue-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>sameIndexStructure</h4>
+<pre>public&nbsp;boolean&nbsp;sameIndexStructure(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a>&nbsp;that)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#sameIndexStructure-org.apache.sysds.runtime.compress.colgroup.ColGroupValue-">sameIndexStructure</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getIndexStructureHash--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getIndexStructureHash</h4>
+<pre>public&nbsp;int&nbsp;getIndexStructureHash()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getIndexStructureHash--">getIndexStructureHash</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getColGroupType--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getColGroupType</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.ColGroupType</a>&nbsp;getColGroupType()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getColGroupType--">AColGroup</a></code></span></div>
+<div class="block">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.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getColGroupType--">getColGroupType</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
 <dt><span class="returnLabel">Returns:</span></dt>
-<dd>an iterator instance</dd>
+<dd>ColGroupType of the object.</dd>
+</dl>
+</li>
+</ul>
+<a name="estimateInMemorySize--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>estimateInMemorySize</h4>
+<pre>public&nbsp;long&nbsp;estimateInMemorySize()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#estimateInMemorySize--">AColGroup</a></code></span></div>
+<div class="block">Note: Must be overridden by child classes to account for additional data and metadata</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#estimateInMemorySize--">estimateInMemorySize</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>an upper bound on the number of bytes used to store this ColGroup in memory.</dd>
+</dl>
+</li>
+</ul>
+<a name="rightMultByVector-double:A-double:A-int-int-double:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>rightMultByVector</h4>
+<pre>public&nbsp;void&nbsp;rightMultByVector(double[]&nbsp;b,
+                              double[]&nbsp;c,
+                              int&nbsp;rl,
+                              int&nbsp;ru,
+                              double[]&nbsp;dictVals)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#rightMultByVector-double:A-double:A-int-int-double:A-">AColGroup</a></code></span></div>
+<div class="block">Multiply the slice of the matrix that this column group represents by a vector on the right.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#rightMultByVector-double:A-double:A-int-int-double:A-">rightMultByVector</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>b</code> - Vector to multiply by (tall vector)</dd>
+<dd><code>c</code> - Accumulator for holding the result</dd>
+<dd><code>rl</code> - Row to start at</dd>
+<dd><code>ru</code> - Row to stop at</dd>
+<dd><code>dictVals</code> - The dictionary values materialized</dd>
+</dl>
+</li>
+</ul>
+<a name="rightMultByMatrix-int:A-double:A-double:A-int-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>rightMultByMatrix</h4>
+<pre>public&nbsp;void&nbsp;rightMultByMatrix(int[]&nbsp;outputColumns,
+                              double[]&nbsp;preAggregatedB,
+                              double[]&nbsp;c,
+                              int&nbsp;thatNrColumns,
+                              int&nbsp;rl,
+                              int&nbsp;ru)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#rightMultByMatrix-int:A-double:A-double:A-int-int-int-">AColGroup</a></code></span></div>
+<div class="block">Right multiply by matrix. for which the compressed matrix is on the left and the uncompressed is on the right.
+ Note that there is no b argument, but the b is aggregated into the values needed for assignment and addition into
+ output.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#rightMultByMatrix-int:A-double:A-double:A-int-int-int-">rightMultByMatrix</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>outputColumns</code> - The Columns that are affected by the right multiplication.</dd>
+<dd><code>preAggregatedB</code> - The preAggregated values that is to be put into c</dd>
+<dd><code>c</code> - The output matrix</dd>
+<dd><code>thatNrColumns</code> - The number of columns in B (before aggregation)</dd>
+<dd><code>rl</code> - The row index to start the multiplication from</dd>
+<dd><code>ru</code> - The row index to stop the multiplication at</dd>
+</dl>
+</li>
+</ul>
+<a name="scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>scalarOperation</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a>&nbsp;scalarOperation(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">AColGroup</a></code></span></div>
+<div class="block">Perform the specified scalar operation directly on the compressed column group, without decompressing individual
+ cells if possible.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">scalarOperation</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>op</code> - operation to perform</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>version of this column group with the operation applied</dd>
+</dl>
+</li>
+</ul>
+<a name="binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>binaryRowOp</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a>&nbsp;binaryRowOp(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
+                             double[]&nbsp;v,
+                             boolean&nbsp;sparseSafe,
+                             boolean&nbsp;left)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-boolean-">AColGroup</a></code></span></div>
+<div class="block">Perform a binary row operation.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-boolean-">binaryRowOp</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>op</code> - The operation to execute</dd>
+<dd><code>v</code> - The vector of values to apply, should be same length as dictionary length.</dd>
+<dd><code>sparseSafe</code> - True if the operation return 0 on all instances of values in v -- op(v[?], 0)</dd>
+<dd><code>left</code> - Specifies if the operation is executed on the left or right side of the values contained.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>A updated column group with the new values.</dd>
+</dl>
+</li>
+</ul>
+<a name="write-java.io.DataOutput-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>write</h4>
+<pre>public&nbsp;void&nbsp;write(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataOutput.html?is-external=true" title="class or interface in java.io">DataOutput</a>&nbsp;out)
+           throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#write-java.io.DataOutput-">AColGroup</a></code></span></div>
+<div class="block">Serializes column group to data output.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#write-java.io.DataOutput-">write</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>out</code> - data output</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if IOException occurs</dd>
+</dl>
+</li>
+</ul>
+<a name="readFields-java.io.DataInput-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>readFields</h4>
+<pre>public&nbsp;void&nbsp;readFields(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a>&nbsp;in)
+                throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#readFields-java.io.DataInput-">AColGroup</a></code></span></div>
+<div class="block">Deserialize column group from data input.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#readFields-java.io.DataInput-">readFields</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>in</code> - data input</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if IOException occurs</dd>
+</dl>
+</li>
+</ul>
+<a name="getExactSizeOnDisk--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getExactSizeOnDisk</h4>
+<pre>public&nbsp;long&nbsp;getExactSizeOnDisk()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getExactSizeOnDisk--">AColGroup</a></code></span></div>
+<div class="block">Returns the exact serialized size of column group. This can be used for example for buffer preallocation.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getExactSizeOnDisk--">getExactSizeOnDisk</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>exact serialized size for column group</dd>
 </dl>
 </li>
 </ul>
@@ -758,7 +1095,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConverter.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" target="_top">Frames</a></li>
@@ -782,7 +1119,7 @@
 <div>
 <ul class="subNavList">
 <li>Summary:&nbsp;</li>
-<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.ColGroup">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.AColGroup">Nested</a>&nbsp;|&nbsp;</li>
 <li>Field&nbsp;|&nbsp;</li>
 <li>Constr&nbsp;|&nbsp;</li>
 <li><a href="#method.summary">Method</a></li>
@@ -798,6 +1135,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html
deleted file mode 100644
index 94a421d..0000000
--- a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html
+++ /dev/null
@@ -1,615 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc -->
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ColGroupDDC1 (SystemDS 2.1.0-SNAPSHOT API)</title>
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ColGroupDDC1 (SystemDS 2.1.0-SNAPSHOT API)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/ColGroupDDC1.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html" target="_top">Frames</a></li>
-<li><a href="ColGroupDDC1.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.ColGroup">Nested</a>&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.sysds.runtime.compress.colgroup</div>
-<h2 title="Class ColGroupDDC1" class="title">Class ColGroupDDC1</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
-<li>
-<ul class="inheritance">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">org.apache.sysds.runtime.compress.colgroup.ColGroup</a></li>
-<li>
-<ul class="inheritance">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">org.apache.sysds.runtime.compress.colgroup.ColGroupValue</a></li>
-<li>
-<ul class="inheritance">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">org.apache.sysds.runtime.compress.colgroup.ColGroupDDC</a></li>
-<li>
-<ul class="inheritance">
-<li>org.apache.sysds.runtime.compress.colgroup.ColGroupDDC1</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<dl>
-<dt>All Implemented Interfaces:</dt>
-<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Cloneable.html?is-external=true" title="class or interface in java.lang">Cloneable</a></dd>
-</dl>
-<hr>
-<br>
-<pre>public class <span class="typeNameLabel">ColGroupDDC1</span>
-extends <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a></pre>
-<div class="block">Class to encapsulate information about a column group that is encoded with dense dictionary encoding (DDC) using 1
- byte codes.</div>
-<dl>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../../../serialized-form.html#org.apache.sysds.runtime.compress.colgroup.ColGroupDDC1">Serialized Form</a></dd>
-</dl>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ======== NESTED CLASS SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="nested.class.summary">
-<!--   -->
-</a>
-<h3>Nested Class Summary</h3>
-<ul class="blockList">
-<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.ColGroup">
-<!--   -->
-</a>
-<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a></code></li>
-</ul>
-</li>
-</ul>
-<!-- ========== METHOD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.summary">
-<!--   -->
-</a>
-<h3>Method Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-">binaryRowOp</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
-           double[]&nbsp;v,
-           boolean&nbsp;sparseSafe)</code>
-<div class="block">Perform a binary row operation.</div>
-</td>
-</tr>
-<tr id="i1" class="rowColor">
-<td class="colFirst"><code>long</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html#estimateInMemorySize--">estimateInMemorySize</a></span>()</code>
-<div class="block">Note: Must be overridden by child classes to account for additional data and metadata</div>
-</td>
-</tr>
-<tr id="i2" class="altColor">
-<td class="colFirst"><code>byte[]</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html#getData--">getData</a></span>()</code>
-<div class="block">Getter method to get the data, contained in The DDC ColGroup.</div>
-</td>
-</tr>
-<tr id="i3" class="rowColor">
-<td class="colFirst"><code>long</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html#getExactSizeOnDisk--">getExactSizeOnDisk</a></span>()</code>
-<div class="block">Returns the exact serialized size of column group.</div>
-</td>
-</tr>
-<tr id="i4" class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html#readFields-java.io.DataInput-">readFields</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a>&nbsp;in)</code>
-<div class="block">Deserialize column group from data input.</div>
-</td>
-</tr>
-<tr id="i5" class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html#recodeData-java.util.HashMap-">recodeData</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;map)</code>&nbsp;</td>
-</tr>
-<tr id="i6" class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html#rightMultByMatrix-double:A-double:A-int-int-int-int-int-">rightMultByMatrix</a></span>(double[]&nbsp;preAggregatedB,
-                 double[]&nbsp;c,
-                 int&nbsp;thatNrColumns,
-                 int&nbsp;rl,
-                 int&nbsp;ru,
-                 int&nbsp;cl,
-                 int&nbsp;cu)</code>
-<div class="block">Right multiply by matrix.</div>
-</td>
-</tr>
-<tr id="i7" class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html#rightMultBySparseMatrix-org.apache.sysds.runtime.data.SparseRow:A-double:A-int-double:A-int-int-int-">rightMultBySparseMatrix</a></span>(<a href="../../../../../../org/apache/sysds/runtime/data/SparseRow.html" title="class in org.apache.sysds.runtime.data">SparseRow</a>[]&nbsp;rows,
-                       double[]&nbsp;c,
-                       int&nbsp;numVals,
-                       double[]&nbsp;dictVals,
-                       int&nbsp;nrColumns,
-                       int&nbsp;rl,
-                       int&nbsp;ru)</code>
-<div class="block">Sparse right multiply by matrix, for which the compressed matrix is on the left and the uncompressed sparse is on
- the right.</div>
-</td>
-</tr>
-<tr id="i8" class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html#rightMultByVector-double:A-double:A-int-int-double:A-">rightMultByVector</a></span>(double[]&nbsp;b,
-                 double[]&nbsp;c,
-                 int&nbsp;rl,
-                 int&nbsp;ru,
-                 double[]&nbsp;dictVals)</code>
-<div class="block">Multiply the slice of the matrix that this column group represents by a vector on the right.</div>
-</td>
-</tr>
-<tr id="i9" class="rowColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">scalarOperation</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op)</code>
-<div class="block">Perform the specified scalar operation directly on the compressed column group, without decompressing individual
- cells if possible.</div>
-</td>
-</tr>
-<tr id="i10" class="altColor">
-<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html#toString--">toString</a></span>()</code>&nbsp;</td>
-</tr>
-<tr id="i11" class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html#write-java.io.DataOutput-">write</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataOutput.html?is-external=true" title="class or interface in java.io">DataOutput</a>&nbsp;out)</code>
-<div class="block">Serializes column group to data output.</div>
-</td>
-</tr>
-</table>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.ColGroupDDC">
-<!--   -->
-</a>
-<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#countNonZerosPerRow-int:A-int-int-">countNonZerosPerRow</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#get-int-int-">get</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#getCompType--">getCompType</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#getCounts-int:A-">getCounts</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#getCounts-int-int-int:A-">getCounts</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#getIterator-int-int-boolean-boolean-">getIterator</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#getRowIterator-int-int-">getRowIterator</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#leftMultByMatrix-double:A-double:A-double:A-int-int-int-int-int-">leftMultByMatrix</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#leftMultByRowVector-double:A-double:A-int-">leftMultByRowVector</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#leftMultByRowVector-double:A-double:A-int-double:A-">leftMultByRowVector</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#leftMultBySparseMatrix-int-int:A-double:A-double:A-int-double:A-int-int-int-double:A-">leftMultBySparseMatrix</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#postScaling-double:A-double:A-double:A-int-">postScaling</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#postScaling-double:A-double:A-double:A-int-int-int-">postScaling</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#preAggregate-double:A-int-">preAggregate</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#preAggregate-double:A-int-int-">preAggregate</a></code></li>
-</ul>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.ColGroupValue">
-<!--   -->
-</a>
-<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#cleanupThreadLocalMemory--">cleanupThreadLocalMemory</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#copy--">copy</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#copyAndSet-int:A-double:A-">copyAndSet</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCounts--">getCounts</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCounts-int-int-">getCounts</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getDictionary--">getDictionary</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getIfCountsType--">getIfCountsType</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getNumValues--">getNumValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getValues--">getValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getValuesAsBlock--">getValuesAsBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#isLossy--">isLossy</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preaggValues-int-double:A-double:A-int-int-int-">preaggValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preaggValues-int-double:A-double:A-int-int-int-double:A-">preaggValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preaggValues-int-org.apache.sysds.runtime.data.SparseBlock-double:A-int-int-int-">preaggValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preaggValues-int-org.apache.sysds.runtime.data.SparseBlock-double:A-int-int-int-double:A-">preaggValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#setupThreadLocalMemory-int-">setupThreadLocalMemory</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-">unaryAggregateOperations</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-int-int-">unaryAggregateOperations</a></code></li>
-</ul>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.ColGroup">
-<!--   -->
-</a>
-<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-java.util.List-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getColIndex-int-">getColIndex</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getColIndices--">getColIndices</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getNumCols--">getNumCols</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getNumRows--">getNumRows</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#shiftColIndices-int-">shiftColIndices</a></code></li>
-</ul>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
-<!--   -->
-</a>
-<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
-<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="getData--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getData</h4>
-<pre>public&nbsp;byte[]&nbsp;getData()</pre>
-<div class="block">Getter method to get the data, contained in The DDC ColGroup.</div>
-<dl>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>The contained data</dd>
-</dl>
-</li>
-</ul>
-<a name="rightMultByVector-double:A-double:A-int-int-double:A-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>rightMultByVector</h4>
-<pre>public&nbsp;void&nbsp;rightMultByVector(double[]&nbsp;b,
-                              double[]&nbsp;c,
-                              int&nbsp;rl,
-                              int&nbsp;ru,
-                              double[]&nbsp;dictVals)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#rightMultByVector-double:A-double:A-int-int-double:A-">ColGroup</a></code></span></div>
-<div class="block">Multiply the slice of the matrix that this column group represents by a vector on the right.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#rightMultByVector-double:A-double:A-int-int-double:A-">rightMultByVector</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>b</code> - Vector to multiply by (tall vector)</dd>
-<dd><code>c</code> - Accumulator for holding the result</dd>
-<dd><code>rl</code> - Row to start at</dd>
-<dd><code>ru</code> - Row to stop at</dd>
-<dd><code>dictVals</code> - The dictionary values materialized</dd>
-</dl>
-</li>
-</ul>
-<a name="rightMultByMatrix-double:A-double:A-int-int-int-int-int-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>rightMultByMatrix</h4>
-<pre>public&nbsp;void&nbsp;rightMultByMatrix(double[]&nbsp;preAggregatedB,
-                              double[]&nbsp;c,
-                              int&nbsp;thatNrColumns,
-                              int&nbsp;rl,
-                              int&nbsp;ru,
-                              int&nbsp;cl,
-                              int&nbsp;cu)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#rightMultByMatrix-double:A-double:A-int-int-int-int-int-">ColGroup</a></code></span></div>
-<div class="block">Right multiply by matrix. for which the compressed matrix is on the left and the uncompressed is on the right.
- Note that there is no b argument, but the b is aggregated into the values needed for assignment and addition into
- output.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#rightMultByMatrix-double:A-double:A-int-int-int-int-int-">rightMultByMatrix</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>preAggregatedB</code> - The preAggregated values that is to be put into c</dd>
-<dd><code>c</code> - The output matrix</dd>
-<dd><code>thatNrColumns</code> - The number of columns in B (before aggregation)</dd>
-<dd><code>rl</code> - The row index to start the multiplication from</dd>
-<dd><code>ru</code> - The row index to stop the multiplication at</dd>
-<dd><code>cl</code> - The column index to start from</dd>
-<dd><code>cu</code> - The row index to stop at.</dd>
-</dl>
-</li>
-</ul>
-<a name="rightMultBySparseMatrix-org.apache.sysds.runtime.data.SparseRow:A-double:A-int-double:A-int-int-int-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>rightMultBySparseMatrix</h4>
-<pre>public&nbsp;void&nbsp;rightMultBySparseMatrix(<a href="../../../../../../org/apache/sysds/runtime/data/SparseRow.html" title="class in org.apache.sysds.runtime.data">SparseRow</a>[]&nbsp;rows,
-                                    double[]&nbsp;c,
-                                    int&nbsp;numVals,
-                                    double[]&nbsp;dictVals,
-                                    int&nbsp;nrColumns,
-                                    int&nbsp;rl,
-                                    int&nbsp;ru)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#rightMultBySparseMatrix-org.apache.sysds.runtime.data.SparseRow:A-double:A-int-double:A-int-int-int-">ColGroup</a></code></span></div>
-<div class="block">Sparse right multiply by matrix, for which the compressed matrix is on the left and the uncompressed sparse is on
- the right. This call differ from the other right multiply by not having a preAggregation phase.
- 
- This should only be called in very sparse situations.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#rightMultBySparseMatrix-org.apache.sysds.runtime.data.SparseRow:A-double:A-int-double:A-int-int-int-">rightMultBySparseMatrix</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>rows</code> - The sparse rows</dd>
-<dd><code>c</code> - The output matrix linearized</dd>
-<dd><code>numVals</code> - The number of values in the dictionary</dd>
-<dd><code>dictVals</code> - The materialized dictionary</dd>
-<dd><code>nrColumns</code> - The number of columns in the matrix to multiply with and also in the output</dd>
-<dd><code>rl</code> - The row index to start at</dd>
-<dd><code>ru</code> - The row index to stop at.</dd>
-</dl>
-</li>
-</ul>
-<a name="recodeData-java.util.HashMap-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>recodeData</h4>
-<pre>public&nbsp;void&nbsp;recodeData(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;map)</pre>
-</li>
-</ul>
-<a name="write-java.io.DataOutput-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>write</h4>
-<pre>public&nbsp;void&nbsp;write(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataOutput.html?is-external=true" title="class or interface in java.io">DataOutput</a>&nbsp;out)
-           throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#write-java.io.DataOutput-">ColGroup</a></code></span></div>
-<div class="block">Serializes column group to data output.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#write-java.io.DataOutput-">write</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>out</code> - data output</dd>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if IOException occurs</dd>
-</dl>
-</li>
-</ul>
-<a name="readFields-java.io.DataInput-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>readFields</h4>
-<pre>public&nbsp;void&nbsp;readFields(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a>&nbsp;in)
-                throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#readFields-java.io.DataInput-">ColGroup</a></code></span></div>
-<div class="block">Deserialize column group from data input.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#readFields-java.io.DataInput-">readFields</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>in</code> - data input</dd>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if IOException occurs</dd>
-</dl>
-</li>
-</ul>
-<a name="getExactSizeOnDisk--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getExactSizeOnDisk</h4>
-<pre>public&nbsp;long&nbsp;getExactSizeOnDisk()</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getExactSizeOnDisk--">ColGroup</a></code></span></div>
-<div class="block">Returns the exact serialized size of column group. This can be used for example for buffer preallocation.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getExactSizeOnDisk--">getExactSizeOnDisk</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>exact serialized size for column group</dd>
-</dl>
-</li>
-</ul>
-<a name="estimateInMemorySize--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>estimateInMemorySize</h4>
-<pre>public&nbsp;long&nbsp;estimateInMemorySize()</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#estimateInMemorySize--">ColGroup</a></code></span></div>
-<div class="block">Note: Must be overridden by child classes to account for additional data and metadata</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#estimateInMemorySize--">estimateInMemorySize</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>an upper bound on the number of bytes used to store this ColGroup in memory.</dd>
-</dl>
-</li>
-</ul>
-<a name="scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>scalarOperation</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>&nbsp;scalarOperation(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">ColGroup</a></code></span></div>
-<div class="block">Perform the specified scalar operation directly on the compressed column group, without decompressing individual
- cells if possible.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">scalarOperation</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>op</code> - operation to perform</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>version of this column group with the operation applied</dd>
-</dl>
-</li>
-</ul>
-<a name="binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>binaryRowOp</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>&nbsp;binaryRowOp(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
-                            double[]&nbsp;v,
-                            boolean&nbsp;sparseSafe)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-">ColGroup</a></code></span></div>
-<div class="block">Perform a binary row operation.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-">binaryRowOp</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>op</code> - The operation to execute</dd>
-<dd><code>v</code> - The vector of values to apply, should be same length as dictionary length.</dd>
-<dd><code>sparseSafe</code> - True if the operation return 0 on all instances of values in v -- op(v[?], 0)</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>A updated column group with the new values.</dd>
-</dl>
-</li>
-</ul>
-<a name="toString--">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>toString</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#toString--">toString</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a></code></dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/ColGroupDDC1.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html" target="_top">Frames</a></li>
-<li><a href="ColGroupDDC1.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.ColGroup">Nested</a>&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
-</body>
-</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html
deleted file mode 100644
index f3c52d7..0000000
--- a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html
+++ /dev/null
@@ -1,602 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc -->
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ColGroupDDC2 (SystemDS 2.1.0-SNAPSHOT API)</title>
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ColGroupDDC2 (SystemDS 2.1.0-SNAPSHOT API)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/ColGroupDDC2.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupFactory.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html" target="_top">Frames</a></li>
-<li><a href="ColGroupDDC2.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.ColGroup">Nested</a>&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.sysds.runtime.compress.colgroup</div>
-<h2 title="Class ColGroupDDC2" class="title">Class ColGroupDDC2</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
-<li>
-<ul class="inheritance">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">org.apache.sysds.runtime.compress.colgroup.ColGroup</a></li>
-<li>
-<ul class="inheritance">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">org.apache.sysds.runtime.compress.colgroup.ColGroupValue</a></li>
-<li>
-<ul class="inheritance">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">org.apache.sysds.runtime.compress.colgroup.ColGroupDDC</a></li>
-<li>
-<ul class="inheritance">
-<li>org.apache.sysds.runtime.compress.colgroup.ColGroupDDC2</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<dl>
-<dt>All Implemented Interfaces:</dt>
-<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Cloneable.html?is-external=true" title="class or interface in java.lang">Cloneable</a></dd>
-</dl>
-<hr>
-<br>
-<pre>public class <span class="typeNameLabel">ColGroupDDC2</span>
-extends <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a></pre>
-<div class="block">Class to encapsulate information about a column group that is encoded with dense dictionary encoding (DDC) using 2
- byte codes.</div>
-<dl>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../../../serialized-form.html#org.apache.sysds.runtime.compress.colgroup.ColGroupDDC2">Serialized Form</a></dd>
-</dl>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ======== NESTED CLASS SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="nested.class.summary">
-<!--   -->
-</a>
-<h3>Nested Class Summary</h3>
-<ul class="blockList">
-<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.ColGroup">
-<!--   -->
-</a>
-<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a></code></li>
-</ul>
-</li>
-</ul>
-<!-- ========== METHOD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.summary">
-<!--   -->
-</a>
-<h3>Method Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-">binaryRowOp</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
-           double[]&nbsp;v,
-           boolean&nbsp;sparseSafe)</code>
-<div class="block">Perform a binary row operation.</div>
-</td>
-</tr>
-<tr id="i1" class="rowColor">
-<td class="colFirst"><code>long</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html#estimateInMemorySize--">estimateInMemorySize</a></span>()</code>
-<div class="block">Note: Must be overridden by child classes to account for additional data and metadata</div>
-</td>
-</tr>
-<tr id="i2" class="altColor">
-<td class="colFirst"><code>char[]</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html#getData--">getData</a></span>()</code>
-<div class="block">Getter method to get the data, contained in The DDC ColGroup.</div>
-</td>
-</tr>
-<tr id="i3" class="rowColor">
-<td class="colFirst"><code>long</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html#getExactSizeOnDisk--">getExactSizeOnDisk</a></span>()</code>
-<div class="block">Returns the exact serialized size of column group.</div>
-</td>
-</tr>
-<tr id="i4" class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html#readFields-java.io.DataInput-">readFields</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a>&nbsp;in)</code>
-<div class="block">Deserialize column group from data input.</div>
-</td>
-</tr>
-<tr id="i5" class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html#rightMultByMatrix-double:A-double:A-int-int-int-int-int-">rightMultByMatrix</a></span>(double[]&nbsp;preAggregatedB,
-                 double[]&nbsp;c,
-                 int&nbsp;thatNrColumns,
-                 int&nbsp;rl,
-                 int&nbsp;ru,
-                 int&nbsp;cl,
-                 int&nbsp;cu)</code>
-<div class="block">Right multiply by matrix.</div>
-</td>
-</tr>
-<tr id="i6" class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html#rightMultBySparseMatrix-org.apache.sysds.runtime.data.SparseRow:A-double:A-int-double:A-int-int-int-">rightMultBySparseMatrix</a></span>(<a href="../../../../../../org/apache/sysds/runtime/data/SparseRow.html" title="class in org.apache.sysds.runtime.data">SparseRow</a>[]&nbsp;rows,
-                       double[]&nbsp;c,
-                       int&nbsp;numVals,
-                       double[]&nbsp;dictVals,
-                       int&nbsp;nrColumns,
-                       int&nbsp;rl,
-                       int&nbsp;ru)</code>
-<div class="block">Sparse right multiply by matrix, for which the compressed matrix is on the left and the uncompressed sparse is on
- the right.</div>
-</td>
-</tr>
-<tr id="i7" class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html#rightMultByVector-double:A-double:A-int-int-double:A-">rightMultByVector</a></span>(double[]&nbsp;b,
-                 double[]&nbsp;c,
-                 int&nbsp;rl,
-                 int&nbsp;ru,
-                 double[]&nbsp;dictVals)</code>
-<div class="block">Multiply the slice of the matrix that this column group represents by a vector on the right.</div>
-</td>
-</tr>
-<tr id="i8" class="altColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">scalarOperation</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op)</code>
-<div class="block">Perform the specified scalar operation directly on the compressed column group, without decompressing individual
- cells if possible.</div>
-</td>
-</tr>
-<tr id="i9" class="rowColor">
-<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html#toString--">toString</a></span>()</code>&nbsp;</td>
-</tr>
-<tr id="i10" class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html#write-java.io.DataOutput-">write</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataOutput.html?is-external=true" title="class or interface in java.io">DataOutput</a>&nbsp;out)</code>
-<div class="block">Serializes column group to data output.</div>
-</td>
-</tr>
-</table>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.ColGroupDDC">
-<!--   -->
-</a>
-<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#countNonZerosPerRow-int:A-int-int-">countNonZerosPerRow</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#get-int-int-">get</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#getCompType--">getCompType</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#getCounts-int:A-">getCounts</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#getCounts-int-int-int:A-">getCounts</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#getIterator-int-int-boolean-boolean-">getIterator</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#getRowIterator-int-int-">getRowIterator</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#leftMultByMatrix-double:A-double:A-double:A-int-int-int-int-int-">leftMultByMatrix</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#leftMultByRowVector-double:A-double:A-int-">leftMultByRowVector</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#leftMultByRowVector-double:A-double:A-int-double:A-">leftMultByRowVector</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#leftMultBySparseMatrix-int-int:A-double:A-double:A-int-double:A-int-int-int-double:A-">leftMultBySparseMatrix</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#postScaling-double:A-double:A-double:A-int-">postScaling</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#postScaling-double:A-double:A-double:A-int-int-int-">postScaling</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#preAggregate-double:A-int-">preAggregate</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#preAggregate-double:A-int-int-">preAggregate</a></code></li>
-</ul>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.ColGroupValue">
-<!--   -->
-</a>
-<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#cleanupThreadLocalMemory--">cleanupThreadLocalMemory</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#copy--">copy</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#copyAndSet-int:A-double:A-">copyAndSet</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCounts--">getCounts</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCounts-int-int-">getCounts</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getDictionary--">getDictionary</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getIfCountsType--">getIfCountsType</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getNumValues--">getNumValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getValues--">getValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getValuesAsBlock--">getValuesAsBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#isLossy--">isLossy</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preaggValues-int-double:A-double:A-int-int-int-">preaggValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preaggValues-int-double:A-double:A-int-int-int-double:A-">preaggValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preaggValues-int-org.apache.sysds.runtime.data.SparseBlock-double:A-int-int-int-">preaggValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preaggValues-int-org.apache.sysds.runtime.data.SparseBlock-double:A-int-int-int-double:A-">preaggValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#setupThreadLocalMemory-int-">setupThreadLocalMemory</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-">unaryAggregateOperations</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-int-int-">unaryAggregateOperations</a></code></li>
-</ul>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.ColGroup">
-<!--   -->
-</a>
-<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-java.util.List-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getColIndex-int-">getColIndex</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getColIndices--">getColIndices</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getNumCols--">getNumCols</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getNumRows--">getNumRows</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#shiftColIndices-int-">shiftColIndices</a></code></li>
-</ul>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
-<!--   -->
-</a>
-<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
-<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="getData--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getData</h4>
-<pre>public&nbsp;char[]&nbsp;getData()</pre>
-<div class="block">Getter method to get the data, contained in The DDC ColGroup.</div>
-<dl>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>The contained data</dd>
-</dl>
-</li>
-</ul>
-<a name="rightMultByVector-double:A-double:A-int-int-double:A-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>rightMultByVector</h4>
-<pre>public&nbsp;void&nbsp;rightMultByVector(double[]&nbsp;b,
-                              double[]&nbsp;c,
-                              int&nbsp;rl,
-                              int&nbsp;ru,
-                              double[]&nbsp;dictVals)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#rightMultByVector-double:A-double:A-int-int-double:A-">ColGroup</a></code></span></div>
-<div class="block">Multiply the slice of the matrix that this column group represents by a vector on the right.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#rightMultByVector-double:A-double:A-int-int-double:A-">rightMultByVector</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>b</code> - Vector to multiply by (tall vector)</dd>
-<dd><code>c</code> - Accumulator for holding the result</dd>
-<dd><code>rl</code> - Row to start at</dd>
-<dd><code>ru</code> - Row to stop at</dd>
-<dd><code>dictVals</code> - The dictionary values materialized</dd>
-</dl>
-</li>
-</ul>
-<a name="rightMultByMatrix-double:A-double:A-int-int-int-int-int-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>rightMultByMatrix</h4>
-<pre>public&nbsp;void&nbsp;rightMultByMatrix(double[]&nbsp;preAggregatedB,
-                              double[]&nbsp;c,
-                              int&nbsp;thatNrColumns,
-                              int&nbsp;rl,
-                              int&nbsp;ru,
-                              int&nbsp;cl,
-                              int&nbsp;cu)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#rightMultByMatrix-double:A-double:A-int-int-int-int-int-">ColGroup</a></code></span></div>
-<div class="block">Right multiply by matrix. for which the compressed matrix is on the left and the uncompressed is on the right.
- Note that there is no b argument, but the b is aggregated into the values needed for assignment and addition into
- output.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#rightMultByMatrix-double:A-double:A-int-int-int-int-int-">rightMultByMatrix</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>preAggregatedB</code> - The preAggregated values that is to be put into c</dd>
-<dd><code>c</code> - The output matrix</dd>
-<dd><code>thatNrColumns</code> - The number of columns in B (before aggregation)</dd>
-<dd><code>rl</code> - The row index to start the multiplication from</dd>
-<dd><code>ru</code> - The row index to stop the multiplication at</dd>
-<dd><code>cl</code> - The column index to start from</dd>
-<dd><code>cu</code> - The row index to stop at.</dd>
-</dl>
-</li>
-</ul>
-<a name="rightMultBySparseMatrix-org.apache.sysds.runtime.data.SparseRow:A-double:A-int-double:A-int-int-int-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>rightMultBySparseMatrix</h4>
-<pre>public&nbsp;void&nbsp;rightMultBySparseMatrix(<a href="../../../../../../org/apache/sysds/runtime/data/SparseRow.html" title="class in org.apache.sysds.runtime.data">SparseRow</a>[]&nbsp;rows,
-                                    double[]&nbsp;c,
-                                    int&nbsp;numVals,
-                                    double[]&nbsp;dictVals,
-                                    int&nbsp;nrColumns,
-                                    int&nbsp;rl,
-                                    int&nbsp;ru)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#rightMultBySparseMatrix-org.apache.sysds.runtime.data.SparseRow:A-double:A-int-double:A-int-int-int-">ColGroup</a></code></span></div>
-<div class="block">Sparse right multiply by matrix, for which the compressed matrix is on the left and the uncompressed sparse is on
- the right. This call differ from the other right multiply by not having a preAggregation phase.
- 
- This should only be called in very sparse situations.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#rightMultBySparseMatrix-org.apache.sysds.runtime.data.SparseRow:A-double:A-int-double:A-int-int-int-">rightMultBySparseMatrix</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>rows</code> - The sparse rows</dd>
-<dd><code>c</code> - The output matrix linearized</dd>
-<dd><code>numVals</code> - The number of values in the dictionary</dd>
-<dd><code>dictVals</code> - The materialized dictionary</dd>
-<dd><code>nrColumns</code> - The number of columns in the matrix to multiply with and also in the output</dd>
-<dd><code>rl</code> - The row index to start at</dd>
-<dd><code>ru</code> - The row index to stop at.</dd>
-</dl>
-</li>
-</ul>
-<a name="write-java.io.DataOutput-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>write</h4>
-<pre>public&nbsp;void&nbsp;write(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataOutput.html?is-external=true" title="class or interface in java.io">DataOutput</a>&nbsp;out)
-           throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#write-java.io.DataOutput-">ColGroup</a></code></span></div>
-<div class="block">Serializes column group to data output.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#write-java.io.DataOutput-">write</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>out</code> - data output</dd>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if IOException occurs</dd>
-</dl>
-</li>
-</ul>
-<a name="readFields-java.io.DataInput-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>readFields</h4>
-<pre>public&nbsp;void&nbsp;readFields(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a>&nbsp;in)
-                throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#readFields-java.io.DataInput-">ColGroup</a></code></span></div>
-<div class="block">Deserialize column group from data input.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#readFields-java.io.DataInput-">readFields</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>in</code> - data input</dd>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if IOException occurs</dd>
-</dl>
-</li>
-</ul>
-<a name="getExactSizeOnDisk--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getExactSizeOnDisk</h4>
-<pre>public&nbsp;long&nbsp;getExactSizeOnDisk()</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getExactSizeOnDisk--">ColGroup</a></code></span></div>
-<div class="block">Returns the exact serialized size of column group. This can be used for example for buffer preallocation.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getExactSizeOnDisk--">getExactSizeOnDisk</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>exact serialized size for column group</dd>
-</dl>
-</li>
-</ul>
-<a name="estimateInMemorySize--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>estimateInMemorySize</h4>
-<pre>public&nbsp;long&nbsp;estimateInMemorySize()</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#estimateInMemorySize--">ColGroup</a></code></span></div>
-<div class="block">Note: Must be overridden by child classes to account for additional data and metadata</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#estimateInMemorySize--">estimateInMemorySize</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>an upper bound on the number of bytes used to store this ColGroup in memory.</dd>
-</dl>
-</li>
-</ul>
-<a name="scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>scalarOperation</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>&nbsp;scalarOperation(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">ColGroup</a></code></span></div>
-<div class="block">Perform the specified scalar operation directly on the compressed column group, without decompressing individual
- cells if possible.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">scalarOperation</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>op</code> - operation to perform</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>version of this column group with the operation applied</dd>
-</dl>
-</li>
-</ul>
-<a name="binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>binaryRowOp</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>&nbsp;binaryRowOp(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
-                            double[]&nbsp;v,
-                            boolean&nbsp;sparseSafe)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-">ColGroup</a></code></span></div>
-<div class="block">Perform a binary row operation.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-">binaryRowOp</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>op</code> - The operation to execute</dd>
-<dd><code>v</code> - The vector of values to apply, should be same length as dictionary length.</dd>
-<dd><code>sparseSafe</code> - True if the operation return 0 on all instances of values in v -- op(v[?], 0)</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>A updated column group with the new values.</dd>
-</dl>
-</li>
-</ul>
-<a name="toString--">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>toString</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#toString--">toString</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a></code></dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/ColGroupDDC2.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupFactory.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html" target="_top">Frames</a></li>
-<li><a href="ColGroupDDC2.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.ColGroup">Nested</a>&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
-</body>
-</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html
new file mode 100644
index 0000000..e339b76
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html
@@ -0,0 +1,1194 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>ColGroupEmpty (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="ColGroupEmpty (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":9,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ColGroupEmpty.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupFactory.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html" target="_top">Frames</a></li>
+<li><a href="ColGroupEmpty.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.AColGroup">Nested</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.sysds.runtime.compress.colgroup</div>
+<h2 title="Class ColGroupEmpty" class="title">Class ColGroupEmpty</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">org.apache.sysds.runtime.compress.colgroup.AColGroup</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">org.apache.sysds.runtime.compress.colgroup.ColGroupValue</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.sysds.runtime.compress.colgroup.ColGroupEmpty</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Cloneable.html?is-external=true" title="class or interface in java.lang">Cloneable</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">ColGroupEmpty</span>
+extends <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../../serialized-form.html#org.apache.sysds.runtime.compress.colgroup.ColGroupEmpty">Serialized Form</a></dd>
+</dl>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!--   -->
+</a>
+<h3>Nested Class Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.AColGroup">
+<!--   -->
+</a>
+<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.ColGroupType</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html#ColGroupEmpty-int:A-int-">ColGroupEmpty</a></span>(int[]&nbsp;colIndices,
+             int&nbsp;numRows)</code>
+<div class="block">Constructs an Constant Colum Group, that contains only one tuple, with the given value.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-boolean-">binaryRowOp</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
+           double[]&nbsp;v,
+           boolean&nbsp;sparseSafe,
+           boolean&nbsp;left)</code>
+<div class="block">Perform a binary row operation.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html#countNonZerosPerRow-int:A-int-int-">countNonZerosPerRow</a></span>(int[]&nbsp;rnnz,
+                   int&nbsp;rl,
+                   int&nbsp;ru)</code>
+<div class="block">Count the number of non-zeros per row</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html#decompressColumnToBlock-double:A-int-int-int-">decompressColumnToBlock</a></span>(double[]&nbsp;c,
+                       int&nbsp;colpos,
+                       int&nbsp;rl,
+                       int&nbsp;ru)</code>
+<div class="block">Decompress to dense array.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">decompressColumnToBlock</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                       int&nbsp;colpos)</code>
+<div class="block">Decompress to block.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-">decompressColumnToBlock</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                       int&nbsp;colpos,
+                       int&nbsp;rl,
+                       int&nbsp;ru)</code>
+<div class="block">Decompress to block.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">decompressToBlock</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                 int[]&nbsp;colIndexTargets)</code>
+<div class="block">Decompress the contents of this column group into uncompressed packed columns</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html#decompressToBlockSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">decompressToBlockSafe</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                     int&nbsp;rl,
+                     int&nbsp;ru,
+                     int&nbsp;offT,
+                     double[]&nbsp;values)</code>
+<div class="block">Decompress the contents of this column group into the specified full matrix block without managing the number of
+ non zeros.</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html#decompressToBlockUnSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">decompressToBlockUnSafe</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                       int&nbsp;rl,
+                       int&nbsp;ru,
+                       int&nbsp;offT,
+                       double[]&nbsp;values)</code>&nbsp;</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html#estimateInMemorySize--">estimateInMemorySize</a></span>()</code>
+<div class="block">Note: Must be overridden by child classes to account for additional data and metadata</div>
+</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupEmpty</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html#generate-int-int-">generate</a></span>(int&nbsp;nCol,
+        int&nbsp;nRow)</code>&nbsp;</td>
+</tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code>double</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html#get-int-int-">get</a></span>(int&nbsp;r,
+   int&nbsp;c)</code>
+<div class="block">Get the value at a global row/column position.</div>
+</td>
+</tr>
+<tr id="i11" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.ColGroupType</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html#getColGroupType--">getColGroupType</a></span>()</code>
+<div class="block">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.</div>
+</td>
+</tr>
+<tr id="i12" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html#getCompType--">getCompType</a></span>()</code>
+<div class="block">Obtain the compression type.</div>
+</td>
+</tr>
+<tr id="i13" class="rowColor">
+<td class="colFirst"><code>int[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html#getCounts-int:A-">getCounts</a></span>(int[]&nbsp;out)</code>&nbsp;</td>
+</tr>
+<tr id="i14" class="altColor">
+<td class="colFirst"><code>int[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html#getCounts-int-int-int:A-">getCounts</a></span>(int&nbsp;rl,
+         int&nbsp;ru,
+         int[]&nbsp;out)</code>&nbsp;</td>
+</tr>
+<tr id="i15" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html#getIndexStructureHash--">getIndexStructureHash</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i16" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html#getNumValues--">getNumValues</a></span>()</code>
+<div class="block">Obtain number of distinct sets of values associated with the bitmaps in this column group.</div>
+</td>
+</tr>
+<tr id="i17" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html#leftMultByMatrix-double:A-double:A-double:A-int-int-int-int-int-">leftMultByMatrix</a></span>(double[]&nbsp;a,
+                double[]&nbsp;c,
+                double[]&nbsp;values,
+                int&nbsp;numRows,
+                int&nbsp;numCols,
+                int&nbsp;rl,
+                int&nbsp;ru,
+                int&nbsp;vOff)</code>
+<div class="block">Multiply with a matrix on the left.</div>
+</td>
+</tr>
+<tr id="i18" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html#leftMultByRowVector-double:A-double:A-">leftMultByRowVector</a></span>(double[]&nbsp;a,
+                   double[]&nbsp;c)</code>
+<div class="block">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.</div>
+</td>
+</tr>
+<tr id="i19" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html#leftMultByRowVector-double:A-double:A-int-double:A-int-">leftMultByRowVector</a></span>(double[]&nbsp;a,
+                   double[]&nbsp;c,
+                   int&nbsp;numVals,
+                   double[]&nbsp;values,
+                   int&nbsp;offT)</code>
+<div class="block">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.</div>
+</td>
+</tr>
+<tr id="i20" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html#leftMultBySparseMatrix-org.apache.sysds.runtime.data.SparseBlock-double:A-double:A-int-int-int-double:A-">leftMultBySparseMatrix</a></span>(<a href="../../../../../../org/apache/sysds/runtime/data/SparseBlock.html" title="class in org.apache.sysds.runtime.data">SparseBlock</a>&nbsp;sb,
+                      double[]&nbsp;c,
+                      double[]&nbsp;values,
+                      int&nbsp;numRows,
+                      int&nbsp;numCols,
+                      int&nbsp;row,
+                      double[]&nbsp;MaterializedRow)</code>
+<div class="block">Multiply with a sparse matrix on the left hand side, and add the values to the output result</div>
+</td>
+</tr>
+<tr id="i21" class="rowColor">
+<td class="colFirst"><code>double[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html#preAggregate-double:A-int-">preAggregate</a></span>(double[]&nbsp;a,
+            int&nbsp;row)</code>
+<div class="block">Pre aggregates for left multiplication</div>
+</td>
+</tr>
+<tr id="i22" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html#preAggregateDDC-org.apache.sysds.runtime.compress.colgroup.ColGroupDDC-">preAggregateDDC</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr id="i23" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html#preAggregateOLE-org.apache.sysds.runtime.compress.colgroup.ColGroupOLE-">preAggregateOLE</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOLE</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr id="i24" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html#preAggregateRLE-org.apache.sysds.runtime.compress.colgroup.ColGroupRLE-">preAggregateRLE</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupRLE</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr id="i25" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html#preAggregateSDC-org.apache.sysds.runtime.compress.colgroup.ColGroupSDC-">preAggregateSDC</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDC</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr id="i26" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html#preAggregateSDCSingle-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingle-">preAggregateSDCSingle</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingle</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr id="i27" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html#preAggregateSDCSingleZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingleZeros-">preAggregateSDCSingleZeros</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingleZeros</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr id="i28" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html#preAggregateSDCZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCZeros-">preAggregateSDCZeros</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCZeros</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr id="i29" class="rowColor">
+<td class="colFirst"><code>double[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html#preAggregateSparse-org.apache.sysds.runtime.data.SparseBlock-int-">preAggregateSparse</a></span>(<a href="../../../../../../org/apache/sysds/runtime/data/SparseBlock.html" title="class in org.apache.sysds.runtime.data">SparseBlock</a>&nbsp;sb,
+                  int&nbsp;row)</code>
+<div class="block">Pre aggregate for left multiplication of sparse vector or matrix.</div>
+</td>
+</tr>
+<tr id="i30" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html#rightMultByMatrix-int:A-double:A-double:A-int-int-int-">rightMultByMatrix</a></span>(int[]&nbsp;outputColumns,
+                 double[]&nbsp;preAggregatedB,
+                 double[]&nbsp;c,
+                 int&nbsp;thatNrColumns,
+                 int&nbsp;rl,
+                 int&nbsp;ru)</code>
+<div class="block">Right multiply by matrix.</div>
+</td>
+</tr>
+<tr id="i31" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html#rightMultByVector-double:A-double:A-int-int-double:A-">rightMultByVector</a></span>(double[]&nbsp;b,
+                 double[]&nbsp;c,
+                 int&nbsp;rl,
+                 int&nbsp;ru,
+                 double[]&nbsp;dictVals)</code>
+<div class="block">Multiply the slice of the matrix that this column group represents by a vector on the right.</div>
+</td>
+</tr>
+<tr id="i32" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html#sameIndexStructure-org.apache.sysds.runtime.compress.colgroup.ColGroupValue-">sameIndexStructure</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a>&nbsp;that)</code>&nbsp;</td>
+</tr>
+<tr id="i33" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">scalarOperation</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op)</code>
+<div class="block">Perform the specified scalar operation directly on the compressed column group, without decompressing individual
+ cells if possible.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.ColGroupValue">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#addMinMax-double:A-">addMinMax</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#applyBinaryRowOp-org.apache.sysds.runtime.functionobjects.ValueFunction-double:A-boolean-boolean-">applyBinaryRowOp</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#cleanupThreadLocalMemory--">cleanupThreadLocalMemory</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#containsValue-double-">containsValue</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#copy--">copy</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#copyAndSet-int:A-org.apache.sysds.runtime.compress.colgroup.ADictionary-">copyAndSet</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#copyAndSet-int:A-double:A-">copyAndSet</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCachedCounts--">getCachedCounts</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCounts--">getCounts</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCounts-int-int-">getCounts</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getDictionary--">getDictionary</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getExactSizeOnDisk--">getExactSizeOnDisk</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getIfCountsType--">getIfCountsType</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getMax--">getMax</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getMin--">getMin</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getNumberNonZeros--">getNumberNonZeros</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getValues--">getValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getValuesAsBlock--">getValuesAsBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#isLossy--">isLossy</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#leftMultByAggregatedColGroup-org.apache.sysds.runtime.compress.colgroup.ColGroupValue-double:A-int-int-">leftMultByAggregatedColGroup</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#leftMultByRowVector-double:A-double:A-int-">leftMultByRowVector</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#leftMultByRowVector-double:A-double:A-int-double:A-">leftMultByRowVector</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#leftMultBySelfDiagonalColGroup-double:A-int-">leftMultBySelfDiagonalColGroup</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregate-org.apache.sysds.runtime.compress.colgroup.ColGroupValue-">preAggregate</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregate-double:A-">preAggregate</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregate-org.apache.sysds.runtime.data.SparseBlock-">preAggregate</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateCONST-org.apache.sysds.runtime.compress.colgroup.ColGroupConst-">preAggregateCONST</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preaggValues-int-org.apache.sysds.runtime.matrix.data.MatrixBlock-double:A-int-int-int-">preaggValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preCallAggregate-org.apache.sysds.runtime.compress.colgroup.ColGroupValue-">preCallAggregate</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#readFields-java.io.DataInput-">readFields</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#setupThreadLocalMemory-int-">setupThreadLocalMemory</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#sliceColumns-int-int-">sliceColumns</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-">unaryAggregateOperations</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-int-int-">unaryAggregateOperations</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#write-java.io.DataOutput-">write</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.AColGroup">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToArray-double:A-int-java.util.List-">decompressColumnToArray</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-double:A-int-int-int-java.util.List-">decompressColumnToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-java.util.List-">decompressColumnToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-java.util.List-">decompressColumnToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlockUnSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-java.util.List-">decompressColumnToBlockUnSafe</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-boolean-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-double:A-boolean-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-boolean-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-boolean-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getColIndex-int-">getColIndex</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getColIndices--">getColIndices</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getNumCols--">getNumCols</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getNumRows--">getNumRows</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#isDense--">isDense</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#shiftColIndices-int-">shiftColIndices</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="ColGroupEmpty-int:A-int-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>ColGroupEmpty</h4>
+<pre>public&nbsp;ColGroupEmpty(int[]&nbsp;colIndices,
+                     int&nbsp;numRows)</pre>
+<div class="block">Constructs an Constant Colum Group, that contains only one tuple, with the given value.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>colIndices</code> - The Colum indexes for the column group.</dd>
+<dd><code>numRows</code> - The number of rows contained in the group.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="generate-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>generate</h4>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupEmpty</a>&nbsp;generate(int&nbsp;nCol,
+                                     int&nbsp;nRow)</pre>
+</li>
+</ul>
+<a name="getCounts-int:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getCounts</h4>
+<pre>public&nbsp;int[]&nbsp;getCounts(int[]&nbsp;out)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCounts-int:A-">getCounts</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getCounts-int-int-int:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getCounts</h4>
+<pre>public&nbsp;int[]&nbsp;getCounts(int&nbsp;rl,
+                       int&nbsp;ru,
+                       int[]&nbsp;out)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCounts-int-int-int:A-">getCounts</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getCompType--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getCompType</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a>&nbsp;getCompType()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getCompType--">AColGroup</a></code></span></div>
+<div class="block">Obtain the compression type.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getCompType--">getCompType</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>How the elements of the column group are compressed.</dd>
+</dl>
+</li>
+</ul>
+<a name="getColGroupType--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getColGroupType</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.ColGroupType</a>&nbsp;getColGroupType()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getColGroupType--">AColGroup</a></code></span></div>
+<div class="block">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.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getColGroupType--">getColGroupType</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>ColGroupType of the object.</dd>
+</dl>
+</li>
+</ul>
+<a name="estimateInMemorySize--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>estimateInMemorySize</h4>
+<pre>public&nbsp;long&nbsp;estimateInMemorySize()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#estimateInMemorySize--">AColGroup</a></code></span></div>
+<div class="block">Note: Must be overridden by child classes to account for additional data and metadata</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#estimateInMemorySize--">estimateInMemorySize</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>an upper bound on the number of bytes used to store this ColGroup in memory.</dd>
+</dl>
+</li>
+</ul>
+<a name="decompressToBlockSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>decompressToBlockSafe</h4>
+<pre>public&nbsp;void&nbsp;decompressToBlockSafe(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                                  int&nbsp;rl,
+                                  int&nbsp;ru,
+                                  int&nbsp;offT,
+                                  double[]&nbsp;values)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlockSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">AColGroup</a></code></span></div>
+<div class="block">Decompress the contents of this column group into the specified full matrix block without managing the number of
+ non zeros.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlockSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">decompressToBlockSafe</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>target</code> - a matrix block where the columns covered by this column group have not yet been filled in.</dd>
+<dd><code>rl</code> - row lower</dd>
+<dd><code>ru</code> - row upper</dd>
+<dd><code>offT</code> - Offset into target to assign from</dd>
+<dd><code>values</code> - The Values materialized in the dictionary</dd>
+</dl>
+</li>
+</ul>
+<a name="decompressToBlockUnSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>decompressToBlockUnSafe</h4>
+<pre>public&nbsp;void&nbsp;decompressToBlockUnSafe(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                                    int&nbsp;rl,
+                                    int&nbsp;ru,
+                                    int&nbsp;offT,
+                                    double[]&nbsp;values)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlockUnSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">decompressToBlockUnSafe</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>decompressToBlock</h4>
+<pre>public&nbsp;void&nbsp;decompressToBlock(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                              int[]&nbsp;colIndexTargets)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">AColGroup</a></code></span></div>
+<div class="block">Decompress the contents of this column group into uncompressed packed columns</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">decompressToBlock</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>target</code> - a dense matrix block. The block must have enough space to hold the contents of this column
+                        group.</dd>
+<dd><code>colIndexTargets</code> - array that maps column indices in the original matrix block to columns of target.</dd>
+</dl>
+</li>
+</ul>
+<a name="decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>decompressColumnToBlock</h4>
+<pre>public&nbsp;void&nbsp;decompressColumnToBlock(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                                    int&nbsp;colpos)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">AColGroup</a></code></span></div>
+<div class="block">Decompress to block.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">decompressColumnToBlock</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>target</code> - dense output vector</dd>
+<dd><code>colpos</code> - column to decompress, error if larger or equal numCols</dd>
+</dl>
+</li>
+</ul>
+<a name="decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>decompressColumnToBlock</h4>
+<pre>public&nbsp;void&nbsp;decompressColumnToBlock(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                                    int&nbsp;colpos,
+                                    int&nbsp;rl,
+                                    int&nbsp;ru)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-">AColGroup</a></code></span></div>
+<div class="block">Decompress to block.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-">decompressColumnToBlock</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>target</code> - dense output vector</dd>
+<dd><code>colpos</code> - column to decompress, error if larger or equal numCols</dd>
+<dd><code>rl</code> - the Row to start decompression from</dd>
+<dd><code>ru</code> - the Row to end decompression at</dd>
+</dl>
+</li>
+</ul>
+<a name="decompressColumnToBlock-double:A-int-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>decompressColumnToBlock</h4>
+<pre>public&nbsp;void&nbsp;decompressColumnToBlock(double[]&nbsp;c,
+                                    int&nbsp;colpos,
+                                    int&nbsp;rl,
+                                    int&nbsp;ru)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-double:A-int-int-int-">AColGroup</a></code></span></div>
+<div class="block">Decompress to dense array.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-double:A-int-int-int-">decompressColumnToBlock</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>c</code> - dense output vector double array.</dd>
+<dd><code>colpos</code> - column to decompress, error if larger or equal numCols</dd>
+<dd><code>rl</code> - the Row to start decompression from</dd>
+<dd><code>ru</code> - the Row to end decompression at</dd>
+</dl>
+</li>
+</ul>
+<a name="get-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>get</h4>
+<pre>public&nbsp;double&nbsp;get(int&nbsp;r,
+                  int&nbsp;c)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#get-int-int-">AColGroup</a></code></span></div>
+<div class="block">Get the value at a global row/column position.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#get-int-int-">get</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>r</code> - row</dd>
+<dd><code>c</code> - column</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>value at the row/column position</dd>
+</dl>
+</li>
+</ul>
+<a name="rightMultByVector-double:A-double:A-int-int-double:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>rightMultByVector</h4>
+<pre>public&nbsp;void&nbsp;rightMultByVector(double[]&nbsp;b,
+                              double[]&nbsp;c,
+                              int&nbsp;rl,
+                              int&nbsp;ru,
+                              double[]&nbsp;dictVals)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#rightMultByVector-double:A-double:A-int-int-double:A-">AColGroup</a></code></span></div>
+<div class="block">Multiply the slice of the matrix that this column group represents by a vector on the right.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#rightMultByVector-double:A-double:A-int-int-double:A-">rightMultByVector</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>b</code> - Vector to multiply by (tall vector)</dd>
+<dd><code>c</code> - Accumulator for holding the result</dd>
+<dd><code>rl</code> - Row to start at</dd>
+<dd><code>ru</code> - Row to stop at</dd>
+<dd><code>dictVals</code> - The dictionary values materialized</dd>
+</dl>
+</li>
+</ul>
+<a name="rightMultByMatrix-int:A-double:A-double:A-int-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>rightMultByMatrix</h4>
+<pre>public&nbsp;void&nbsp;rightMultByMatrix(int[]&nbsp;outputColumns,
+                              double[]&nbsp;preAggregatedB,
+                              double[]&nbsp;c,
+                              int&nbsp;thatNrColumns,
+                              int&nbsp;rl,
+                              int&nbsp;ru)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#rightMultByMatrix-int:A-double:A-double:A-int-int-int-">AColGroup</a></code></span></div>
+<div class="block">Right multiply by matrix. for which the compressed matrix is on the left and the uncompressed is on the right.
+ Note that there is no b argument, but the b is aggregated into the values needed for assignment and addition into
+ output.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#rightMultByMatrix-int:A-double:A-double:A-int-int-int-">rightMultByMatrix</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>outputColumns</code> - The Columns that are affected by the right multiplication.</dd>
+<dd><code>preAggregatedB</code> - The preAggregated values that is to be put into c</dd>
+<dd><code>c</code> - The output matrix</dd>
+<dd><code>thatNrColumns</code> - The number of columns in B (before aggregation)</dd>
+<dd><code>rl</code> - The row index to start the multiplication from</dd>
+<dd><code>ru</code> - The row index to stop the multiplication at</dd>
+</dl>
+</li>
+</ul>
+<a name="leftMultByRowVector-double:A-double:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>leftMultByRowVector</h4>
+<pre>public&nbsp;void&nbsp;leftMultByRowVector(double[]&nbsp;a,
+                                double[]&nbsp;c)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#leftMultByRowVector-double:A-double:A-">AColGroup</a></code></span></div>
+<div class="block">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. its size now is 1xn).</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#leftMultByRowVector-double:A-double:A-">leftMultByRowVector</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>a</code> - row vector</dd>
+<dd><code>c</code> - matrix block result</dd>
+</dl>
+</li>
+</ul>
+<a name="leftMultByRowVector-double:A-double:A-int-double:A-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>leftMultByRowVector</h4>
+<pre>public&nbsp;void&nbsp;leftMultByRowVector(double[]&nbsp;a,
+                                double[]&nbsp;c,
+                                int&nbsp;numVals,
+                                double[]&nbsp;values,
+                                int&nbsp;offT)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#leftMultByRowVector-double:A-double:A-int-double:A-int-">AColGroup</a></code></span></div>
+<div class="block">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. its size now is 1xn).</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#leftMultByRowVector-double:A-double:A-int-double:A-int-">leftMultByRowVector</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>a</code> - Row vector</dd>
+<dd><code>c</code> - Matrix block result</dd>
+<dd><code>numVals</code> - The Number of values contained in the Column.</dd>
+<dd><code>values</code> - The materialized list of values contained in the dictionary.</dd>
+<dd><code>offT</code> - The offset into target result array to put the result values.</dd>
+</dl>
+</li>
+</ul>
+<a name="leftMultByMatrix-double:A-double:A-double:A-int-int-int-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>leftMultByMatrix</h4>
+<pre>public&nbsp;void&nbsp;leftMultByMatrix(double[]&nbsp;a,
+                             double[]&nbsp;c,
+                             double[]&nbsp;values,
+                             int&nbsp;numRows,
+                             int&nbsp;numCols,
+                             int&nbsp;rl,
+                             int&nbsp;ru,
+                             int&nbsp;vOff)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#leftMultByMatrix-double:A-double:A-double:A-int-int-int-int-int-">AColGroup</a></code></span></div>
+<div class="block">Multiply with a matrix on the left.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#leftMultByMatrix-double:A-double:A-double:A-int-int-int-int-int-">leftMultByMatrix</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>a</code> - matrix to left multiply</dd>
+<dd><code>c</code> - matrix block result</dd>
+<dd><code>values</code> - The materialized list of values contained in the dictionary.</dd>
+<dd><code>numRows</code> - The number of rows in the matrix input</dd>
+<dd><code>numCols</code> - The number of columns in the colGroups parent matrix.</dd>
+<dd><code>rl</code> - The row to start the matrix multiplication from</dd>
+<dd><code>ru</code> - The row to stop the matrix multiplication at.</dd>
+<dd><code>vOff</code> - The offset into the first argument matrix to start at.</dd>
+</dl>
+</li>
+</ul>
+<a name="leftMultBySparseMatrix-org.apache.sysds.runtime.data.SparseBlock-double:A-double:A-int-int-int-double:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>leftMultBySparseMatrix</h4>
+<pre>public&nbsp;void&nbsp;leftMultBySparseMatrix(<a href="../../../../../../org/apache/sysds/runtime/data/SparseBlock.html" title="class in org.apache.sysds.runtime.data">SparseBlock</a>&nbsp;sb,
+                                   double[]&nbsp;c,
+                                   double[]&nbsp;values,
+                                   int&nbsp;numRows,
+                                   int&nbsp;numCols,
+                                   int&nbsp;row,
+                                   double[]&nbsp;MaterializedRow)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#leftMultBySparseMatrix-org.apache.sysds.runtime.data.SparseBlock-double:A-double:A-int-int-int-double:A-">AColGroup</a></code></span></div>
+<div class="block">Multiply with a sparse matrix on the left hand side, and add the values to the output result</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#leftMultBySparseMatrix-org.apache.sysds.runtime.data.SparseBlock-double:A-double:A-int-int-int-double:A-">leftMultBySparseMatrix</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>sb</code> - The sparse block to multiply with</dd>
+<dd><code>c</code> - The linearized output matrix</dd>
+<dd><code>values</code> - The dictionary values materialized</dd>
+<dd><code>numRows</code> - The number of rows in the left hand side input matrix (the sparse one)</dd>
+<dd><code>numCols</code> - The number of columns in the compression.</dd>
+<dd><code>row</code> - The row index of the sparse row to multiply with.</dd>
+<dd><code>MaterializedRow</code> - A Temporary dense row vector to materialize the sparse values into used for OLE</dd>
+</dl>
+</li>
+</ul>
+<a name="scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>scalarOperation</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a>&nbsp;scalarOperation(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">AColGroup</a></code></span></div>
+<div class="block">Perform the specified scalar operation directly on the compressed column group, without decompressing individual
+ cells if possible.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">scalarOperation</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>op</code> - operation to perform</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>version of this column group with the operation applied</dd>
+</dl>
+</li>
+</ul>
+<a name="binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>binaryRowOp</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a>&nbsp;binaryRowOp(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
+                             double[]&nbsp;v,
+                             boolean&nbsp;sparseSafe,
+                             boolean&nbsp;left)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-boolean-">AColGroup</a></code></span></div>
+<div class="block">Perform a binary row operation.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-boolean-">binaryRowOp</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>op</code> - The operation to execute</dd>
+<dd><code>v</code> - The vector of values to apply, should be same length as dictionary length.</dd>
+<dd><code>sparseSafe</code> - True if the operation return 0 on all instances of values in v -- op(v[?], 0)</dd>
+<dd><code>left</code> - Specifies if the operation is executed on the left or right side of the values contained.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>A updated column group with the new values.</dd>
+</dl>
+</li>
+</ul>
+<a name="countNonZerosPerRow-int:A-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>countNonZerosPerRow</h4>
+<pre>public&nbsp;void&nbsp;countNonZerosPerRow(int[]&nbsp;rnnz,
+                                int&nbsp;rl,
+                                int&nbsp;ru)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#countNonZerosPerRow-int:A-int-int-">AColGroup</a></code></span></div>
+<div class="block">Count the number of non-zeros per row</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#countNonZerosPerRow-int:A-int-int-">countNonZerosPerRow</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>rnnz</code> - non-zeros per row</dd>
+<dd><code>rl</code> - row lower bound, inclusive</dd>
+<dd><code>ru</code> - row upper bound, exclusive</dd>
+</dl>
+</li>
+</ul>
+<a name="getNumValues--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getNumValues</h4>
+<pre>public&nbsp;int&nbsp;getNumValues()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getNumValues--">ColGroupValue</a></code></span></div>
+<div class="block">Obtain number of distinct sets of values associated with the bitmaps in this column group.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getNumValues--">getNumValues</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the number of distinct sets of values associated with the bitmaps in this column group</dd>
+</dl>
+</li>
+</ul>
+<a name="preAggregate-double:A-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>preAggregate</h4>
+<pre>public&nbsp;double[]&nbsp;preAggregate(double[]&nbsp;a,
+                             int&nbsp;row)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregate-double:A-int-">ColGroupValue</a></code></span></div>
+<div class="block">Pre aggregates for left multiplication</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregate-double:A-int-">preAggregate</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>a</code> - The input dense vector or matrix to aggregate</dd>
+<dd><code>row</code> - The row index to aggregate</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The pre-aggregated values.</dd>
+</dl>
+</li>
+</ul>
+<a name="preAggregateSparse-org.apache.sysds.runtime.data.SparseBlock-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>preAggregateSparse</h4>
+<pre>public&nbsp;double[]&nbsp;preAggregateSparse(<a href="../../../../../../org/apache/sysds/runtime/data/SparseBlock.html" title="class in org.apache.sysds.runtime.data">SparseBlock</a>&nbsp;sb,
+                                   int&nbsp;row)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateSparse-org.apache.sysds.runtime.data.SparseBlock-int-">ColGroupValue</a></code></span></div>
+<div class="block">Pre aggregate for left multiplication of sparse vector or matrix.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateSparse-org.apache.sysds.runtime.data.SparseBlock-int-">preAggregateSparse</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>sb</code> - The input sparse vector or matrix to aggregate</dd>
+<dd><code>row</code> - The row index to aggregate</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The pre-aggregated values.</dd>
+</dl>
+</li>
+</ul>
+<a name="sameIndexStructure-org.apache.sysds.runtime.compress.colgroup.ColGroupValue-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>sameIndexStructure</h4>
+<pre>public&nbsp;boolean&nbsp;sameIndexStructure(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a>&nbsp;that)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#sameIndexStructure-org.apache.sysds.runtime.compress.colgroup.ColGroupValue-">sameIndexStructure</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getIndexStructureHash--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getIndexStructureHash</h4>
+<pre>public&nbsp;int&nbsp;getIndexStructureHash()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getIndexStructureHash--">getIndexStructureHash</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="preAggregateDDC-org.apache.sysds.runtime.compress.colgroup.ColGroupDDC-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>preAggregateDDC</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a>&nbsp;preAggregateDDC(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a>&nbsp;lhs)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateDDC-org.apache.sysds.runtime.compress.colgroup.ColGroupDDC-">preAggregateDDC</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="preAggregateSDC-org.apache.sysds.runtime.compress.colgroup.ColGroupSDC-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>preAggregateSDC</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a>&nbsp;preAggregateSDC(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDC</a>&nbsp;lhs)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateSDC-org.apache.sysds.runtime.compress.colgroup.ColGroupSDC-">preAggregateSDC</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="preAggregateSDCSingle-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingle-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>preAggregateSDCSingle</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a>&nbsp;preAggregateSDCSingle(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingle</a>&nbsp;lhs)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateSDCSingle-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingle-">preAggregateSDCSingle</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="preAggregateSDCZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCZeros-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>preAggregateSDCZeros</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a>&nbsp;preAggregateSDCZeros(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCZeros</a>&nbsp;lhs)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateSDCZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCZeros-">preAggregateSDCZeros</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="preAggregateSDCSingleZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingleZeros-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>preAggregateSDCSingleZeros</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a>&nbsp;preAggregateSDCSingleZeros(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingleZeros</a>&nbsp;lhs)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateSDCSingleZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingleZeros-">preAggregateSDCSingleZeros</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="preAggregateOLE-org.apache.sysds.runtime.compress.colgroup.ColGroupOLE-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>preAggregateOLE</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a>&nbsp;preAggregateOLE(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOLE</a>&nbsp;lhs)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateOLE-org.apache.sysds.runtime.compress.colgroup.ColGroupOLE-">preAggregateOLE</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="preAggregateRLE-org.apache.sysds.runtime.compress.colgroup.ColGroupRLE-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>preAggregateRLE</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a>&nbsp;preAggregateRLE(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupRLE</a>&nbsp;lhs)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateRLE-org.apache.sysds.runtime.compress.colgroup.ColGroupRLE-">preAggregateRLE</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ColGroupEmpty.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupFactory.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html" target="_top">Frames</a></li>
+<li><a href="ColGroupEmpty.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.AColGroup">Nested</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroupFactory.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroupFactory.html
index 0eb737a..34a0ea7 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroupFactory.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroupFactory.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":9,"i2":9};
+var methods = {"i0":9,"i1":9};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -49,7 +49,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupIO.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -148,30 +148,20 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
-<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupFactory.html#assignColumns-int-org.apache.sysds.runtime.compress.colgroup.ColGroup:A-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.compress.CompressionSettings-">assignColumns</a></span>(int&nbsp;numCols,
-             <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>[]&nbsp;colGroups,
-             <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;rawBlock,
-             <a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;compSettings)</code>
-<div class="block">Method for producing the final ColGroupList stored inside the CompressedMatrixBlock.</div>
-</td>
-</tr>
-<tr id="i1" class="rowColor">
-<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupFactory.html#compress-int:A-int-org.apache.sysds.runtime.compress.utils.ABitmap-org.apache.sysds.runtime.compress.colgroup.ColGroup.CompressionType-org.apache.sysds.runtime.compress.CompressionSettings-org.apache.sysds.runtime.matrix.data.MatrixBlock-">compress</a></span>(int[]&nbsp;colIndexes,
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupFactory.html#compress-int:A-int-org.apache.sysds.runtime.compress.utils.ABitmap-org.apache.sysds.runtime.compress.colgroup.AColGroup.CompressionType-org.apache.sysds.runtime.compress.CompressionSettings-org.apache.sysds.runtime.matrix.data.MatrixBlock-">compress</a></span>(int[]&nbsp;colIndexes,
         int&nbsp;rlen,
         <a href="../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils">ABitmap</a>&nbsp;ubm,
-        <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>&nbsp;compType,
+        <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a>&nbsp;compType,
         <a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;cs,
         <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;rawMatrixBlock)</code>
 <div class="block">Method for compressing an ColGroup.</div>
 </td>
 </tr>
-<tr id="i2" class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>[]</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupFactory.html#compressColGroups-org.apache.sysds.runtime.matrix.data.MatrixBlock-java.util.HashMap-java.util.List-org.apache.sysds.runtime.compress.CompressionSettings-int-">compressColGroups</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;in,
-                 <a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a>&gt;&nbsp;compRatios,
-                 <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;int[]&gt;&nbsp;groups,
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a>[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupFactory.html#compressColGroups-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.compress.estim.CompressedSizeInfo-org.apache.sysds.runtime.compress.CompressionSettings-int-">compressColGroups</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;in,
+                 <a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfo</a>&nbsp;csi,
                  <a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;compSettings,
                  int&nbsp;k)</code>
 <div class="block">The actual compression method, that handles the logic of compressing multiple columns together.</div>
@@ -216,24 +206,23 @@
 <!--   -->
 </a>
 <h3>Method Detail</h3>
-<a name="compressColGroups-org.apache.sysds.runtime.matrix.data.MatrixBlock-java.util.HashMap-java.util.List-org.apache.sysds.runtime.compress.CompressionSettings-int-">
+<a name="compressColGroups-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.compress.estim.CompressedSizeInfo-org.apache.sysds.runtime.compress.CompressionSettings-int-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>compressColGroups</h4>
-<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>[]&nbsp;compressColGroups(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;in,
-                                           <a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a>&gt;&nbsp;compRatios,
-                                           <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;int[]&gt;&nbsp;groups,
-                                           <a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;compSettings,
-                                           int&nbsp;k)</pre>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a>[]&nbsp;compressColGroups(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;in,
+                                            <a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfo</a>&nbsp;csi,
+                                            <a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;compSettings,
+                                            int&nbsp;k)</pre>
 <div class="block">The actual compression method, that handles the logic of compressing multiple columns together. This method also
  have the responsibility of correcting any estimation errors previously made.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>in</code> - The input matrix, that could have been transposed if CompSettings was set to do that</dd>
-<dd><code>compRatios</code> - The previously computed Compression ratings of individual col indexes.</dd>
-<dd><code>groups</code> - The column groups to consider compressing together.</dd>
+<dd><code>csi</code> - The compression Information extracted from the estimation, this contains which groups of
+                     columns to compress together</dd>
 <dd><code>compSettings</code> - The compression settings to construct the compression based on.</dd>
 <dd><code>k</code> - The degree of parallelism used.</dd>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -241,18 +230,18 @@
 </dl>
 </li>
 </ul>
-<a name="compress-int:A-int-org.apache.sysds.runtime.compress.utils.ABitmap-org.apache.sysds.runtime.compress.colgroup.ColGroup.CompressionType-org.apache.sysds.runtime.compress.CompressionSettings-org.apache.sysds.runtime.matrix.data.MatrixBlock-">
+<a name="compress-int:A-int-org.apache.sysds.runtime.compress.utils.ABitmap-org.apache.sysds.runtime.compress.colgroup.AColGroup.CompressionType-org.apache.sysds.runtime.compress.CompressionSettings-org.apache.sysds.runtime.matrix.data.MatrixBlock-">
 <!--   -->
 </a>
-<ul class="blockList">
+<ul class="blockListLast">
 <li class="blockList">
 <h4>compress</h4>
-<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>&nbsp;compress(int[]&nbsp;colIndexes,
-                                int&nbsp;rlen,
-                                <a href="../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils">ABitmap</a>&nbsp;ubm,
-                                <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>&nbsp;compType,
-                                <a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;cs,
-                                <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;rawMatrixBlock)</pre>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a>&nbsp;compress(int[]&nbsp;colIndexes,
+                                 int&nbsp;rlen,
+                                 <a href="../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils">ABitmap</a>&nbsp;ubm,
+                                 <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a>&nbsp;compType,
+                                 <a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;cs,
+                                 <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;rawMatrixBlock)</pre>
 <div class="block">Method for compressing an ColGroup.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -268,31 +257,6 @@
 </dl>
 </li>
 </ul>
-<a name="assignColumns-int-org.apache.sysds.runtime.compress.colgroup.ColGroup:A-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.compress.CompressionSettings-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>assignColumns</h4>
-<pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>&gt;&nbsp;assignColumns(int&nbsp;numCols,
-                                           <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>[]&nbsp;colGroups,
-                                           <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;rawBlock,
-                                           <a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;compSettings)</pre>
-<div class="block">Method for producing the final ColGroupList stored inside the CompressedMatrixBlock.
- 
- TODO Redesign this method such that it does not utilize the null pointers to decide on which ColGroups should be
- incompressable. This is done by changing both this method and compressColGroup inside this class.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>numCols</code> - The number of columns in input matrix</dd>
-<dd><code>colGroups</code> - The colgroups made to assign</dd>
-<dd><code>rawBlock</code> - The (maybe transposed) original MatrixBlock</dd>
-<dd><code>compSettings</code> - The Compressionsettings used.</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>return the final ColGroupList.</dd>
-</dl>
-</li>
-</ul>
 </li>
 </ul>
 </li>
@@ -321,7 +285,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupIO.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -362,6 +326,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroupIO.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroupIO.html
index 58bb24e..c12b493 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroupIO.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroupIO.html
@@ -149,7 +149,7 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
-<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>&gt;</code></td>
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupIO.html#readGroups-java.io.DataInput-">readGroups</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a>&nbsp;in)</code>
 <div class="block">Read groups from a file.</div>
 </td>
@@ -157,7 +157,7 @@
 <tr id="i1" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupIO.html#writeGroups-java.io.DataOutput-java.util.List-">writeGroups</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataOutput.html?is-external=true" title="class or interface in java.io">DataOutput</a>&nbsp;out,
-           <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>&gt;&nbsp;colGroups)</code>
+           <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a>&gt;&nbsp;colGroups)</code>
 <div class="block">Writes the ColGroups out to the DataOutput.</div>
 </td>
 </tr>
@@ -206,8 +206,8 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>readGroups</h4>
-<pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>&gt;&nbsp;readGroups(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a>&nbsp;in)
-                                 throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a>&gt;&nbsp;readGroups(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a>&nbsp;in)
+                                  throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Read groups from a file. Note that the information about how many should be in the file already.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -226,7 +226,7 @@
 <li class="blockList">
 <h4>writeGroups</h4>
 <pre>public static&nbsp;void&nbsp;writeGroups(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataOutput.html?is-external=true" title="class or interface in java.io">DataOutput</a>&nbsp;out,
-                               <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>&gt;&nbsp;colGroups)
+                               <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a>&gt;&nbsp;colGroups)
                         throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Writes the ColGroups out to the DataOutput.</div>
 <dl>
@@ -307,6 +307,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html
index a6fa3c6..f4d31e5 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":9,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":9,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -74,7 +74,7 @@
 <div>
 <ul class="subNavList">
 <li>Summary:&nbsp;</li>
-<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.ColGroup">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.AColGroup">Nested</a>&nbsp;|&nbsp;</li>
 <li>Field&nbsp;|&nbsp;</li>
 <li>Constr&nbsp;|&nbsp;</li>
 <li><a href="#method.summary">Method</a></li>
@@ -100,7 +100,7 @@
 <li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">org.apache.sysds.runtime.compress.colgroup.ColGroup</a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">org.apache.sysds.runtime.compress.colgroup.AColGroup</a></li>
 <li>
 <ul class="inheritance">
 <li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">org.apache.sysds.runtime.compress.colgroup.ColGroupValue</a></li>
@@ -149,11 +149,11 @@
 </a>
 <h3>Nested Class Summary</h3>
 <ul class="blockList">
-<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.ColGroup">
+<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.AColGroup">
 <!--   -->
 </a>
-<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a></code></li>
+<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.ColGroupType</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a></code></li>
 </ul>
 </li>
 </ul>
@@ -170,10 +170,11 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-">binaryRowOp</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-boolean-">binaryRowOp</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
            double[]&nbsp;v,
-           boolean&nbsp;sparseSafe)</code>
+           boolean&nbsp;sparseSafe,
+           boolean&nbsp;left)</code>
 <div class="block">Perform a binary row operation.</div>
 </td>
 </tr>
@@ -187,73 +188,103 @@
 </tr>
 <tr id="i2" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">decompressToBlock</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
-                 int&nbsp;colpos)</code>
-<div class="block">Decompress to block.</div>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#decompressColumnToBlock-double:A-int-int-int-">decompressColumnToBlock</a></span>(double[]&nbsp;c,
+                       int&nbsp;colpos,
+                       int&nbsp;rl,
+                       int&nbsp;ru)</code>
+<div class="block">Decompress to dense array.</div>
 </td>
 </tr>
 <tr id="i3" class="rowColor">
 <td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">decompressColumnToBlock</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                       int&nbsp;colpos)</code>
+<div class="block">Decompress to block.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-">decompressColumnToBlock</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                       int&nbsp;colpos,
+                       int&nbsp;rl,
+                       int&nbsp;ru)</code>
+<div class="block">Decompress to block.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">decompressToBlock</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
                  int[]&nbsp;colixTargets)</code>
 <div class="block">Decompress the contents of this column group into uncompressed packed columns</div>
 </td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">decompressToBlock</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
-                 int&nbsp;rl,
-                 int&nbsp;ru)</code>
-<div class="block">Decompress the contents of this column group into the specified full matrix block.</div>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#decompressToBlockSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">decompressToBlockSafe</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                     int&nbsp;rl,
+                     int&nbsp;ru,
+                     int&nbsp;offT,
+                     double[]&nbsp;values)</code>
+<div class="block">Decompress the contents of this column group into the specified full matrix block without managing the number of
+ non zeros.</div>
 </td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#decompressToBlockUnSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">decompressToBlockUnSafe</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                       int&nbsp;rl,
+                       int&nbsp;ru,
+                       int&nbsp;offT,
+                       double[]&nbsp;values)</code>&nbsp;</td>
+</tr>
+<tr id="i8" class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#estimateInMemorySize--">estimateInMemorySize</a></span>()</code>
 <div class="block">Note: Must be overridden by child classes to account for additional data and metadata</div>
 </td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code>static char[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#genOffsetBitmap-int:A-int-">genOffsetBitmap</a></span>(int[]&nbsp;offsets,
                int&nbsp;len)</code>
 <div class="block">Encodes the bitmap in blocks of offsets.</div>
 </td>
 </tr>
-<tr id="i7" class="rowColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a></code></td>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code>double</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#get-int-int-">get</a></span>(int&nbsp;r,
+   int&nbsp;c)</code>
+<div class="block">Get the value at a global row/column position.</div>
+</td>
+</tr>
+<tr id="i11" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.ColGroupType</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#getColGroupType--">getColGroupType</a></span>()</code>
+<div class="block">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.</div>
+</td>
+</tr>
+<tr id="i12" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#getCompType--">getCompType</a></span>()</code>
 <div class="block">Obtain the compression type.</div>
 </td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i13" class="rowColor">
 <td class="colFirst"><code>int[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#getCounts-int:A-">getCounts</a></span>(int[]&nbsp;counts)</code>&nbsp;</td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i14" class="altColor">
 <td class="colFirst"><code>int[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#getCounts-int-int-int:A-">getCounts</a></span>(int&nbsp;rl,
          int&nbsp;ru,
          int[]&nbsp;counts)</code>&nbsp;</td>
 </tr>
-<tr id="i10" class="altColor">
-<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#getIterator-int-">getIterator</a></span>(int&nbsp;k)</code>&nbsp;</td>
+<tr id="i15" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#getIndexStructureHash--">getIndexStructureHash</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i11" class="rowColor">
-<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#getIterator-int-int-int-">getIterator</a></span>(int&nbsp;k,
-           int&nbsp;rl,
-           int&nbsp;ru)</code>&nbsp;</td>
-</tr>
-<tr id="i12" class="altColor">
-<td class="colFirst"><code>org.apache.sysds.runtime.compress.colgroup.ColGroup.ColGroupRowIterator</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#getRowIterator-int-int-">getRowIterator</a></span>(int&nbsp;rl,
-              int&nbsp;ru)</code>
-<div class="block">Create a dense row iterator for a row index range.</div>
-</td>
-</tr>
-<tr id="i13" class="rowColor">
+<tr id="i16" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#leftMultByMatrix-double:A-double:A-double:A-int-int-int-int-int-">leftMultByMatrix</a></span>(double[]&nbsp;a,
                 double[]&nbsp;c,
@@ -262,20 +293,11 @@
                 int&nbsp;numCols,
                 int&nbsp;rl,
                 int&nbsp;ru,
-                int&nbsp;voff)</code>
+                int&nbsp;vOff)</code>
 <div class="block">Multiply with a matrix on the left.</div>
 </td>
 </tr>
-<tr id="i14" class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#leftMultByRowVector-double:A-double:A-int-">leftMultByRowVector</a></span>(double[]&nbsp;a,
-                   double[]&nbsp;c,
-                   int&nbsp;numVals)</code>
-<div class="block">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.</div>
-</td>
-</tr>
-<tr id="i15" class="rowColor">
+<tr id="i17" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#leftMultByRowVector-double:A-double:A-int-double:A-">leftMultByRowVector</a></span>(double[]&nbsp;a,
                    double[]&nbsp;c,
@@ -285,13 +307,10 @@
  column vector is assumed to be transposed already i.e.</div>
 </td>
 </tr>
-<tr id="i16" class="altColor">
+<tr id="i18" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#leftMultBySparseMatrix-int-int:A-double:A-double:A-int-double:A-int-int-int-double:A-">leftMultBySparseMatrix</a></span>(int&nbsp;spNrVals,
-                      int[]&nbsp;indexes,
-                      double[]&nbsp;sparseV,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#leftMultBySparseMatrix-org.apache.sysds.runtime.data.SparseBlock-double:A-double:A-int-int-int-double:A-">leftMultBySparseMatrix</a></span>(<a href="../../../../../../org/apache/sysds/runtime/data/SparseBlock.html" title="class in org.apache.sysds.runtime.data">SparseBlock</a>&nbsp;sb,
                       double[]&nbsp;c,
-                      int&nbsp;numVals,
                       double[]&nbsp;values,
                       int&nbsp;numRows,
                       int&nbsp;numCols,
@@ -300,32 +319,60 @@
 <div class="block">Multiply with a sparse matrix on the left hand side, and add the values to the output result</div>
 </td>
 </tr>
-<tr id="i17" class="rowColor">
+<tr id="i19" class="rowColor">
+<td class="colFirst"><code>double[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#preAggregate-double:A-int-">preAggregate</a></span>(double[]&nbsp;a,
+            int&nbsp;row)</code>
+<div class="block">Pre aggregates for left multiplication</div>
+</td>
+</tr>
+<tr id="i20" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#preAggregateDDC-org.apache.sysds.runtime.compress.colgroup.ColGroupDDC-">preAggregateDDC</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr id="i21" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#preAggregateOLE-org.apache.sysds.runtime.compress.colgroup.ColGroupOLE-">preAggregateOLE</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOLE</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr id="i22" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#preAggregateRLE-org.apache.sysds.runtime.compress.colgroup.ColGroupRLE-">preAggregateRLE</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupRLE</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr id="i23" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#preAggregateSDC-org.apache.sysds.runtime.compress.colgroup.ColGroupSDC-">preAggregateSDC</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDC</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr id="i24" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#preAggregateSDCSingle-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingle-">preAggregateSDCSingle</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingle</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr id="i25" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#preAggregateSDCSingleZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingleZeros-">preAggregateSDCSingleZeros</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingleZeros</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr id="i26" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#preAggregateSDCZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCZeros-">preAggregateSDCZeros</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCZeros</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr id="i27" class="rowColor">
+<td class="colFirst"><code>double[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#preAggregateSparse-org.apache.sysds.runtime.data.SparseBlock-int-">preAggregateSparse</a></span>(<a href="../../../../../../org/apache/sysds/runtime/data/SparseBlock.html" title="class in org.apache.sysds.runtime.data">SparseBlock</a>&nbsp;sb,
+                  int&nbsp;row)</code>
+<div class="block">Pre aggregate for left multiplication of sparse vector or matrix.</div>
+</td>
+</tr>
+<tr id="i28" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#rightMultByMatrix-double:A-double:A-int-int-int-int-int-">rightMultByMatrix</a></span>(double[]&nbsp;preAggregatedB,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#rightMultByMatrix-int:A-double:A-double:A-int-int-int-">rightMultByMatrix</a></span>(int[]&nbsp;outputColumns,
+                 double[]&nbsp;preAggregatedB,
                  double[]&nbsp;c,
                  int&nbsp;thatNrColumns,
                  int&nbsp;rl,
-                 int&nbsp;ru,
-                 int&nbsp;cl,
-                 int&nbsp;cu)</code>
+                 int&nbsp;ru)</code>
 <div class="block">Right multiply by matrix.</div>
 </td>
 </tr>
-<tr id="i18" class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#rightMultBySparseMatrix-org.apache.sysds.runtime.data.SparseRow:A-double:A-int-double:A-int-int-int-">rightMultBySparseMatrix</a></span>(<a href="../../../../../../org/apache/sysds/runtime/data/SparseRow.html" title="class in org.apache.sysds.runtime.data">SparseRow</a>[]&nbsp;rows,
-                       double[]&nbsp;c,
-                       int&nbsp;numVals,
-                       double[]&nbsp;dictVals,
-                       int&nbsp;nrColumns,
-                       int&nbsp;rl,
-                       int&nbsp;ru)</code>
-<div class="block">Sparse right multiply by matrix, for which the compressed matrix is on the left and the uncompressed sparse is on
- the right.</div>
-</td>
-</tr>
-<tr id="i19" class="rowColor">
+<tr id="i29" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#rightMultByVector-double:A-double:A-int-int-double:A-">rightMultByVector</a></span>(double[]&nbsp;b,
                  double[]&nbsp;c,
@@ -335,14 +382,18 @@
 <div class="block">Multiply the slice of the matrix that this column group represents by a vector on the right.</div>
 </td>
 </tr>
-<tr id="i20" class="altColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></td>
+<tr id="i30" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#sameIndexStructure-org.apache.sysds.runtime.compress.colgroup.ColGroupValue-">sameIndexStructure</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a>&nbsp;that)</code>&nbsp;</td>
+</tr>
+<tr id="i31" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">scalarOperation</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op)</code>
 <div class="block">Perform the specified scalar operation directly on the compressed column group, without decompressing individual
  cells if possible.</div>
 </td>
 </tr>
-<tr id="i21" class="rowColor">
+<tr id="i32" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#toString--">toString</a></span>()</code>&nbsp;</td>
 </tr>
@@ -352,21 +403,21 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOffset</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#get-int-int-">get</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#getBitmapOffsets--">getBitmapOffsets</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#getBitmaps--">getBitmaps</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#getExactSizeOnDisk--">getExactSizeOnDisk</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#getIterator-int-int-boolean-boolean-">getIterator</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#hasZeros--">hasZeros</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#readFields-java.io.DataInput-">readFields</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#write-java.io.DataOutput-">write</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#getBitmapOffsets--">getBitmapOffsets</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#getBitmaps--">getBitmaps</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#getExactSizeOnDisk--">getExactSizeOnDisk</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#hasZeros--">hasZeros</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#readFields-java.io.DataInput-">readFields</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#write-java.io.DataOutput-">write</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.ColGroupValue">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#cleanupThreadLocalMemory--">cleanupThreadLocalMemory</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#copy--">copy</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#copyAndSet-int:A-double:A-">copyAndSet</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCounts--">getCounts</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCounts-int-int-">getCounts</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getDictionary--">getDictionary</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getIfCountsType--">getIfCountsType</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getNumValues--">getNumValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getValues--">getValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getValuesAsBlock--">getValuesAsBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#isLossy--">isLossy</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preaggValues-int-double:A-double:A-int-int-int-">preaggValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preaggValues-int-double:A-double:A-int-int-int-double:A-">preaggValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preaggValues-int-org.apache.sysds.runtime.data.SparseBlock-double:A-int-int-int-">preaggValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preaggValues-int-org.apache.sysds.runtime.data.SparseBlock-double:A-int-int-int-double:A-">preaggValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#setupThreadLocalMemory-int-">setupThreadLocalMemory</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-">unaryAggregateOperations</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-int-int-">unaryAggregateOperations</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#addMinMax-double:A-">addMinMax</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#applyBinaryRowOp-org.apache.sysds.runtime.functionobjects.ValueFunction-double:A-boolean-boolean-">applyBinaryRowOp</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#cleanupThreadLocalMemory--">cleanupThreadLocalMemory</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#containsValue-double-">containsValue</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#copy--">copy</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#copyAndSet-int:A-org.apache.sysds.runtime.compress.colgroup.ADictionary-">copyAndSet</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#copyAndSet-int:A-double:A-">copyAndSet</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCachedCounts--">getCachedCounts</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCounts--">getCounts</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCounts-int-int-">getCounts</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getDictionary--">getDictionary</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getIfCountsType--">getIfCountsType</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getMax--">getMax</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getMin--">getMin</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getNumberNonZeros--">getNumberNonZeros</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getNumValues--">getNumValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getValues--">getValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getValuesAsBlock--">getValuesAsBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#isLossy--">isLossy</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#leftMultByAggregatedColGroup-org.apache.sysds.runtime.compress.colgroup.ColGroupValue-double:A-int-int-">leftMultByAggregatedColGroup</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#leftMultByRowVector-double:A-double:A-">leftMultByRowVector</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#leftMultByRowVector-double:A-double:A-int-">leftMultByRowVector</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#leftMultByRowVector-double:A-double:A-int-double:A-int-">leftMultByRowVector</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#leftMultBySelfDiagonalColGroup-double:A-int-">leftMultBySelfDiagonalColGroup</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregate-org.apache.sysds.runtime.compress.colgroup.ColGroupValue-">preAggregate</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregate-double:A-">preAggregate</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregate-org.apache.sysds.runtime.data.SparseBlock-">preAggregate</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateCONST-org.apache.sysds.runtime.compress.colgroup.ColGroupConst-">preAggregateCONST</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preaggValues-int-org.apache.sysds.runtime.matrix.data.MatrixBlock-double:A-int-int-int-">preaggValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preCallAggregate-org.apache.sysds.runtime.compress.colgroup.ColGroupValue-">preCallAggregate</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#setupThreadLocalMemory-int-">setupThreadLocalMemory</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#sliceColumns-int-int-">sliceColumns</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-">unaryAggregateOperations</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-int-int-">unaryAggregateOperations</a></code></li>
 </ul>
 <ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.ColGroup">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.AColGroup">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-java.util.List-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getColIndex-int-">getColIndex</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getColIndices--">getColIndices</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getNumCols--">getNumCols</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getNumRows--">getNumRows</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#shiftColIndices-int-">shiftColIndices</a></code></li>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToArray-double:A-int-java.util.List-">decompressColumnToArray</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-double:A-int-int-int-java.util.List-">decompressColumnToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-java.util.List-">decompressColumnToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-java.util.List-">decompressColumnToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlockUnSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-java.util.List-">decompressColumnToBlockUnSafe</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-boolean-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-double:A-boolean-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-boolean-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-boolean-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getColIndex-int-">getColIndex</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getColIndices--">getColIndices</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getNumCols--">getNumCols</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getNumRows--">getNumRows</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#isDense--">isDense</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#shiftColIndices-int-">shiftColIndices</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -395,35 +446,75 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getCompType</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>&nbsp;getCompType()</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getCompType--">ColGroup</a></code></span></div>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a>&nbsp;getCompType()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getCompType--">AColGroup</a></code></span></div>
 <div class="block">Obtain the compression type.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getCompType--">getCompType</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getCompType--">getCompType</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>How the elements of the column group are compressed.</dd>
 </dl>
 </li>
 </ul>
-<a name="decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">
+<a name="getColGroupType--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>decompressToBlock</h4>
-<pre>public&nbsp;void&nbsp;decompressToBlock(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
-                              int&nbsp;rl,
-                              int&nbsp;ru)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">ColGroup</a></code></span></div>
-<div class="block">Decompress the contents of this column group into the specified full matrix block.</div>
+<h4>getColGroupType</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.ColGroupType</a>&nbsp;getColGroupType()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getColGroupType--">AColGroup</a></code></span></div>
+<div class="block">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.</div>
 <dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">decompressToBlock</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOffset</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getColGroupType--">getColGroupType</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>ColGroupType of the object.</dd>
+</dl>
+</li>
+</ul>
+<a name="decompressToBlockSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>decompressToBlockSafe</h4>
+<pre>public&nbsp;void&nbsp;decompressToBlockSafe(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                                  int&nbsp;rl,
+                                  int&nbsp;ru,
+                                  int&nbsp;offT,
+                                  double[]&nbsp;values)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlockSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">AColGroup</a></code></span></div>
+<div class="block">Decompress the contents of this column group into the specified full matrix block without managing the number of
+ non zeros.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlockSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">decompressToBlockSafe</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>target</code> - a matrix block where the columns covered by this column group have not yet been filled in.</dd>
 <dd><code>rl</code> - row lower</dd>
 <dd><code>ru</code> - row upper</dd>
+<dd><code>offT</code> - Offset into target to assign from</dd>
+<dd><code>values</code> - The Values materialized in the dictionary</dd>
+</dl>
+</li>
+</ul>
+<a name="decompressToBlockUnSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>decompressToBlockUnSafe</h4>
+<pre>public&nbsp;void&nbsp;decompressToBlockUnSafe(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                                    int&nbsp;rl,
+                                    int&nbsp;ru,
+                                    int&nbsp;offT,
+                                    double[]&nbsp;values)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlockUnSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">decompressToBlockUnSafe</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
 </dl>
 </li>
 </ul>
@@ -435,11 +526,11 @@
 <h4>decompressToBlock</h4>
 <pre>public&nbsp;void&nbsp;decompressToBlock(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
                               int[]&nbsp;colixTargets)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">ColGroup</a></code></span></div>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">AColGroup</a></code></span></div>
 <div class="block">Decompress the contents of this column group into uncompressed packed columns</div>
 <dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">decompressToBlock</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOffset</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">decompressToBlock</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>target</code> - a dense matrix block. The block must have enough space to hold the contents of this column
                         group.</dd>
@@ -447,25 +538,71 @@
 </dl>
 </li>
 </ul>
-<a name="decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">
+<a name="decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>decompressToBlock</h4>
-<pre>public&nbsp;void&nbsp;decompressToBlock(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
-                              int&nbsp;colpos)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">ColGroup</a></code></span></div>
+<h4>decompressColumnToBlock</h4>
+<pre>public&nbsp;void&nbsp;decompressColumnToBlock(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                                    int&nbsp;colpos)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">AColGroup</a></code></span></div>
 <div class="block">Decompress to block.</div>
 <dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">decompressToBlock</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOffset</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">decompressColumnToBlock</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>target</code> - dense output vector</dd>
 <dd><code>colpos</code> - column to decompress, error if larger or equal numCols</dd>
 </dl>
 </li>
 </ul>
+<a name="decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>decompressColumnToBlock</h4>
+<pre>public&nbsp;void&nbsp;decompressColumnToBlock(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                                    int&nbsp;colpos,
+                                    int&nbsp;rl,
+                                    int&nbsp;ru)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-">AColGroup</a></code></span></div>
+<div class="block">Decompress to block.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-">decompressColumnToBlock</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>target</code> - dense output vector</dd>
+<dd><code>colpos</code> - column to decompress, error if larger or equal numCols</dd>
+<dd><code>rl</code> - the Row to start decompression from</dd>
+<dd><code>ru</code> - the Row to end decompression at</dd>
+</dl>
+</li>
+</ul>
+<a name="decompressColumnToBlock-double:A-int-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>decompressColumnToBlock</h4>
+<pre>public&nbsp;void&nbsp;decompressColumnToBlock(double[]&nbsp;c,
+                                    int&nbsp;colpos,
+                                    int&nbsp;rl,
+                                    int&nbsp;ru)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-double:A-int-int-int-">AColGroup</a></code></span></div>
+<div class="block">Decompress to dense array.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-double:A-int-int-int-">decompressColumnToBlock</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>c</code> - dense output vector double array.</dd>
+<dd><code>colpos</code> - column to decompress, error if larger or equal numCols</dd>
+<dd><code>rl</code> - the Row to start decompression from</dd>
+<dd><code>ru</code> - the Row to end decompression at</dd>
+</dl>
+</li>
+</ul>
 <a name="getCounts-int:A-">
 <!--   -->
 </a>
@@ -501,7 +638,7 @@
 <li class="blockList">
 <h4>estimateInMemorySize</h4>
 <pre>public&nbsp;long&nbsp;estimateInMemorySize()</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#estimateInMemorySize--">ColGroup</a></code></span></div>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#estimateInMemorySize--">AColGroup</a></code></span></div>
 <div class="block">Note: Must be overridden by child classes to account for additional data and metadata</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
@@ -517,13 +654,13 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>scalarOperation</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>&nbsp;scalarOperation(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">ColGroup</a></code></span></div>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a>&nbsp;scalarOperation(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">AColGroup</a></code></span></div>
 <div class="block">Perform the specified scalar operation directly on the compressed column group, without decompressing individual
  cells if possible.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">scalarOperation</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">scalarOperation</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>op</code> - operation to perform</dd>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -531,24 +668,26 @@
 </dl>
 </li>
 </ul>
-<a name="binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-">
+<a name="binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-boolean-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>binaryRowOp</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>&nbsp;binaryRowOp(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
-                            double[]&nbsp;v,
-                            boolean&nbsp;sparseSafe)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-">ColGroup</a></code></span></div>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a>&nbsp;binaryRowOp(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
+                             double[]&nbsp;v,
+                             boolean&nbsp;sparseSafe,
+                             boolean&nbsp;left)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-boolean-">AColGroup</a></code></span></div>
 <div class="block">Perform a binary row operation.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-">binaryRowOp</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-boolean-">binaryRowOp</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>op</code> - The operation to execute</dd>
 <dd><code>v</code> - The vector of values to apply, should be same length as dictionary length.</dd>
 <dd><code>sparseSafe</code> - True if the operation return 0 on all instances of values in v -- op(v[?], 0)</dd>
+<dd><code>left</code> - Specifies if the operation is executed on the left or right side of the values contained.</dd>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>A updated column group with the new values.</dd>
 </dl>
@@ -565,11 +704,11 @@
                               int&nbsp;rl,
                               int&nbsp;ru,
                               double[]&nbsp;dictVals)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#rightMultByVector-double:A-double:A-int-int-double:A-">ColGroup</a></code></span></div>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#rightMultByVector-double:A-double:A-int-int-double:A-">AColGroup</a></code></span></div>
 <div class="block">Multiply the slice of the matrix that this column group represents by a vector on the right.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#rightMultByVector-double:A-double:A-int-int-double:A-">rightMultByVector</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#rightMultByVector-double:A-double:A-int-int-double:A-">rightMultByVector</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>b</code> - Vector to multiply by (tall vector)</dd>
 <dd><code>c</code> - Accumulator for holding the result</dd>
@@ -579,88 +718,32 @@
 </dl>
 </li>
 </ul>
-<a name="rightMultByMatrix-double:A-double:A-int-int-int-int-int-">
+<a name="rightMultByMatrix-int:A-double:A-double:A-int-int-int-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>rightMultByMatrix</h4>
-<pre>public&nbsp;void&nbsp;rightMultByMatrix(double[]&nbsp;preAggregatedB,
+<pre>public&nbsp;void&nbsp;rightMultByMatrix(int[]&nbsp;outputColumns,
+                              double[]&nbsp;preAggregatedB,
                               double[]&nbsp;c,
                               int&nbsp;thatNrColumns,
                               int&nbsp;rl,
-                              int&nbsp;ru,
-                              int&nbsp;cl,
-                              int&nbsp;cu)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#rightMultByMatrix-double:A-double:A-int-int-int-int-int-">ColGroup</a></code></span></div>
+                              int&nbsp;ru)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#rightMultByMatrix-int:A-double:A-double:A-int-int-int-">AColGroup</a></code></span></div>
 <div class="block">Right multiply by matrix. for which the compressed matrix is on the left and the uncompressed is on the right.
  Note that there is no b argument, but the b is aggregated into the values needed for assignment and addition into
  output.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#rightMultByMatrix-double:A-double:A-int-int-int-int-int-">rightMultByMatrix</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#rightMultByMatrix-int:A-double:A-double:A-int-int-int-">rightMultByMatrix</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>outputColumns</code> - The Columns that are affected by the right multiplication.</dd>
 <dd><code>preAggregatedB</code> - The preAggregated values that is to be put into c</dd>
 <dd><code>c</code> - The output matrix</dd>
 <dd><code>thatNrColumns</code> - The number of columns in B (before aggregation)</dd>
 <dd><code>rl</code> - The row index to start the multiplication from</dd>
 <dd><code>ru</code> - The row index to stop the multiplication at</dd>
-<dd><code>cl</code> - The column index to start from</dd>
-<dd><code>cu</code> - The row index to stop at.</dd>
-</dl>
-</li>
-</ul>
-<a name="rightMultBySparseMatrix-org.apache.sysds.runtime.data.SparseRow:A-double:A-int-double:A-int-int-int-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>rightMultBySparseMatrix</h4>
-<pre>public&nbsp;void&nbsp;rightMultBySparseMatrix(<a href="../../../../../../org/apache/sysds/runtime/data/SparseRow.html" title="class in org.apache.sysds.runtime.data">SparseRow</a>[]&nbsp;rows,
-                                    double[]&nbsp;c,
-                                    int&nbsp;numVals,
-                                    double[]&nbsp;dictVals,
-                                    int&nbsp;nrColumns,
-                                    int&nbsp;rl,
-                                    int&nbsp;ru)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#rightMultBySparseMatrix-org.apache.sysds.runtime.data.SparseRow:A-double:A-int-double:A-int-int-int-">ColGroup</a></code></span></div>
-<div class="block">Sparse right multiply by matrix, for which the compressed matrix is on the left and the uncompressed sparse is on
- the right. This call differ from the other right multiply by not having a preAggregation phase.
- 
- This should only be called in very sparse situations.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#rightMultBySparseMatrix-org.apache.sysds.runtime.data.SparseRow:A-double:A-int-double:A-int-int-int-">rightMultBySparseMatrix</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>rows</code> - The sparse rows</dd>
-<dd><code>c</code> - The output matrix linearized</dd>
-<dd><code>numVals</code> - The number of values in the dictionary</dd>
-<dd><code>dictVals</code> - The materialized dictionary</dd>
-<dd><code>nrColumns</code> - The number of columns in the matrix to multiply with and also in the output</dd>
-<dd><code>rl</code> - The row index to start at</dd>
-<dd><code>ru</code> - The row index to stop at.</dd>
-</dl>
-</li>
-</ul>
-<a name="leftMultByRowVector-double:A-double:A-int-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>leftMultByRowVector</h4>
-<pre>public&nbsp;void&nbsp;leftMultByRowVector(double[]&nbsp;a,
-                                double[]&nbsp;c,
-                                int&nbsp;numVals)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#leftMultByRowVector-double:A-double:A-int-">ColGroup</a></code></span></div>
-<div class="block">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. its size now is 1xn).</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#leftMultByRowVector-double:A-double:A-int-">leftMultByRowVector</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>a</code> - row vector</dd>
-<dd><code>c</code> - matrix block result</dd>
-<dd><code>numVals</code> - The Number of values contained in the Column.</dd>
 </dl>
 </li>
 </ul>
@@ -674,15 +757,15 @@
                                 double[]&nbsp;c,
                                 int&nbsp;numVals,
                                 double[]&nbsp;values)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#leftMultByRowVector-double:A-double:A-int-double:A-">ColGroup</a></code></span></div>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#leftMultByRowVector-double:A-double:A-int-double:A-">AColGroup</a></code></span></div>
 <div class="block">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. its size now is 1xn).</div>
 <dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#leftMultByRowVector-double:A-double:A-int-double:A-">leftMultByRowVector</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#leftMultByRowVector-double:A-double:A-int-double:A-">leftMultByRowVector</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>a</code> - row vector</dd>
-<dd><code>c</code> - matrix block result</dd>
+<dd><code>a</code> - Row vector</dd>
+<dd><code>c</code> - Matrix block result</dd>
 <dd><code>numVals</code> - The Number of values contained in the Column.</dd>
 <dd><code>values</code> - The materialized list of values contained in the dictionary.</dd>
 </dl>
@@ -701,12 +784,12 @@
                              int&nbsp;numCols,
                              int&nbsp;rl,
                              int&nbsp;ru,
-                             int&nbsp;voff)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#leftMultByMatrix-double:A-double:A-double:A-int-int-int-int-int-">ColGroup</a></code></span></div>
+                             int&nbsp;vOff)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#leftMultByMatrix-double:A-double:A-double:A-int-int-int-int-int-">AColGroup</a></code></span></div>
 <div class="block">Multiply with a matrix on the left.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#leftMultByMatrix-double:A-double:A-double:A-int-int-int-int-int-">leftMultByMatrix</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#leftMultByMatrix-double:A-double:A-double:A-int-int-int-int-int-">leftMultByMatrix</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>a</code> - matrix to left multiply</dd>
 <dd><code>c</code> - matrix block result</dd>
@@ -715,44 +798,36 @@
 <dd><code>numCols</code> - The number of columns in the colGroups parent matrix.</dd>
 <dd><code>rl</code> - The row to start the matrix multiplication from</dd>
 <dd><code>ru</code> - The row to stop the matrix multiplication at.</dd>
-<dd><code>voff</code> - The offset into the first argument matrix to start at.</dd>
+<dd><code>vOff</code> - The offset into the first argument matrix to start at.</dd>
 </dl>
 </li>
 </ul>
-<a name="leftMultBySparseMatrix-int-int:A-double:A-double:A-int-double:A-int-int-int-double:A-">
+<a name="leftMultBySparseMatrix-org.apache.sysds.runtime.data.SparseBlock-double:A-double:A-int-int-int-double:A-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>leftMultBySparseMatrix</h4>
-<pre>public&nbsp;void&nbsp;leftMultBySparseMatrix(int&nbsp;spNrVals,
-                                   int[]&nbsp;indexes,
-                                   double[]&nbsp;sparseV,
+<pre>public&nbsp;void&nbsp;leftMultBySparseMatrix(<a href="../../../../../../org/apache/sysds/runtime/data/SparseBlock.html" title="class in org.apache.sysds.runtime.data">SparseBlock</a>&nbsp;sb,
                                    double[]&nbsp;c,
-                                   int&nbsp;numVals,
                                    double[]&nbsp;values,
                                    int&nbsp;numRows,
                                    int&nbsp;numCols,
                                    int&nbsp;row,
                                    double[]&nbsp;tmpA)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#leftMultBySparseMatrix-int-int:A-double:A-double:A-int-double:A-int-int-int-double:A-">ColGroup</a></code></span></div>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#leftMultBySparseMatrix-org.apache.sysds.runtime.data.SparseBlock-double:A-double:A-int-int-int-double:A-">AColGroup</a></code></span></div>
 <div class="block">Multiply with a sparse matrix on the left hand side, and add the values to the output result</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#leftMultBySparseMatrix-int-int:A-double:A-double:A-int-double:A-int-int-int-double:A-">leftMultBySparseMatrix</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#leftMultBySparseMatrix-org.apache.sysds.runtime.data.SparseBlock-double:A-double:A-int-int-int-double:A-">leftMultBySparseMatrix</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>spNrVals</code> - the Number of sparse values (since the number of indexes does not align with number of
-                        values)</dd>
-<dd><code>indexes</code> - the indexes for the sparse values in the given row.</dd>
-<dd><code>sparseV</code> - the sparse values.</dd>
-<dd><code>c</code> - the linearized output matrix</dd>
-<dd><code>numVals</code> - the number of values in the dictionary</dd>
-<dd><code>values</code> - the dictionary values materialized</dd>
-<dd><code>numRows</code> - the number of rows in the left hand side input matrix (the sparse one)</dd>
-<dd><code>numCols</code> - the number of columns in the compression.</dd>
-<dd><code>row</code> - the row index of the sparse row to multiply with.</dd>
-<dd><code>tmpA</code> - The sparse row materialized (should only be done if needed for the specific type of
-                        ColumnGroup)</dd>
+<dd><code>sb</code> - The sparse block to multiply with</dd>
+<dd><code>c</code> - The linearized output matrix</dd>
+<dd><code>values</code> - The dictionary values materialized</dd>
+<dd><code>numRows</code> - The number of rows in the left hand side input matrix (the sparse one)</dd>
+<dd><code>numCols</code> - The number of columns in the compression.</dd>
+<dd><code>row</code> - The row index of the sparse row to multiply with.</dd>
+<dd><code>tmpA</code> - A Temporary dense row vector to materialize the sparse values into used for OLE</dd>
 </dl>
 </li>
 </ul>
@@ -765,11 +840,11 @@
 <pre>public&nbsp;void&nbsp;countNonZerosPerRow(int[]&nbsp;rnnz,
                                 int&nbsp;rl,
                                 int&nbsp;ru)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#countNonZerosPerRow-int:A-int-int-">ColGroup</a></code></span></div>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#countNonZerosPerRow-int:A-int-int-">AColGroup</a></code></span></div>
 <div class="block">Count the number of non-zeros per row</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#countNonZerosPerRow-int:A-int-int-">countNonZerosPerRow</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#countNonZerosPerRow-int:A-int-int-">countNonZerosPerRow</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>rnnz</code> - non-zeros per row</dd>
 <dd><code>rl</code> - row lower bound, inclusive</dd>
@@ -777,63 +852,24 @@
 </dl>
 </li>
 </ul>
-<a name="getIterator-int-">
+<a name="get-int-int-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getIterator</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;getIterator(int&nbsp;k)</pre>
+<h4>get</h4>
+<pre>public&nbsp;double&nbsp;get(int&nbsp;r,
+                  int&nbsp;c)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#get-int-int-">AColGroup</a></code></span></div>
+<div class="block">Get the value at a global row/column position.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#getIterator-int-">getIterator</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOffset</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#get-int-int-">get</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>k</code> - index of value tuple with associated bitmap</dd>
+<dd><code>r</code> - row</dd>
+<dd><code>c</code> - column</dd>
 <dt><span class="returnLabel">Returns:</span></dt>
-<dd>an iterator over the row offsets in this bitmap</dd>
-</dl>
-</li>
-</ul>
-<a name="getIterator-int-int-int-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getIterator</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;getIterator(int&nbsp;k,
-                                     int&nbsp;rl,
-                                     int&nbsp;ru)</pre>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#getIterator-int-int-int-">getIterator</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOffset</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>k</code> - index of value tuple with associated bitmap</dd>
-<dd><code>rl</code> - row lower index, inclusive</dd>
-<dd><code>ru</code> - row upper index, exclusive</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>an iterator over the row offsets in this bitmap</dd>
-</dl>
-</li>
-</ul>
-<a name="getRowIterator-int-int-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getRowIterator</h4>
-<pre>public&nbsp;org.apache.sysds.runtime.compress.colgroup.ColGroup.ColGroupRowIterator&nbsp;getRowIterator(int&nbsp;rl,
-                                                                                              int&nbsp;ru)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getRowIterator-int-int-">ColGroup</a></code></span></div>
-<div class="block">Create a dense row iterator for a row index range. This iterator implies the inclusion of zeros and row-major
- iteration order.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getRowIterator-int-int-">getRowIterator</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>rl</code> - row lower index, inclusive</dd>
-<dd><code>ru</code> - row upper index, exclusive</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>an iterator instance</dd>
+<dd>value at the row/column position</dd>
 </dl>
 </li>
 </ul>
@@ -850,10 +886,78 @@
 </dl>
 </li>
 </ul>
+<a name="preAggregate-double:A-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>preAggregate</h4>
+<pre>public&nbsp;double[]&nbsp;preAggregate(double[]&nbsp;a,
+                             int&nbsp;row)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregate-double:A-int-">ColGroupValue</a></code></span></div>
+<div class="block">Pre aggregates for left multiplication</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregate-double:A-int-">preAggregate</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>a</code> - The input dense vector or matrix to aggregate</dd>
+<dd><code>row</code> - The row index to aggregate</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The pre-aggregated values.</dd>
+</dl>
+</li>
+</ul>
+<a name="preAggregateSparse-org.apache.sysds.runtime.data.SparseBlock-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>preAggregateSparse</h4>
+<pre>public&nbsp;double[]&nbsp;preAggregateSparse(<a href="../../../../../../org/apache/sysds/runtime/data/SparseBlock.html" title="class in org.apache.sysds.runtime.data">SparseBlock</a>&nbsp;sb,
+                                   int&nbsp;row)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateSparse-org.apache.sysds.runtime.data.SparseBlock-int-">ColGroupValue</a></code></span></div>
+<div class="block">Pre aggregate for left multiplication of sparse vector or matrix.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateSparse-org.apache.sysds.runtime.data.SparseBlock-int-">preAggregateSparse</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>sb</code> - The input sparse vector or matrix to aggregate</dd>
+<dd><code>row</code> - The row index to aggregate</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The pre-aggregated values.</dd>
+</dl>
+</li>
+</ul>
+<a name="sameIndexStructure-org.apache.sysds.runtime.compress.colgroup.ColGroupValue-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>sameIndexStructure</h4>
+<pre>public&nbsp;boolean&nbsp;sameIndexStructure(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a>&nbsp;that)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#sameIndexStructure-org.apache.sysds.runtime.compress.colgroup.ColGroupValue-">sameIndexStructure</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getIndexStructureHash--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getIndexStructureHash</h4>
+<pre>public&nbsp;int&nbsp;getIndexStructureHash()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getIndexStructureHash--">getIndexStructureHash</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+</dl>
+</li>
+</ul>
 <a name="genOffsetBitmap-int:A-int-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>genOffsetBitmap</h4>
 <pre>public static&nbsp;char[]&nbsp;genOffsetBitmap(int[]&nbsp;offsets,
@@ -869,6 +973,97 @@
 </dl>
 </li>
 </ul>
+<a name="preAggregateDDC-org.apache.sysds.runtime.compress.colgroup.ColGroupDDC-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>preAggregateDDC</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a>&nbsp;preAggregateDDC(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a>&nbsp;lhs)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateDDC-org.apache.sysds.runtime.compress.colgroup.ColGroupDDC-">preAggregateDDC</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="preAggregateSDC-org.apache.sysds.runtime.compress.colgroup.ColGroupSDC-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>preAggregateSDC</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a>&nbsp;preAggregateSDC(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDC</a>&nbsp;lhs)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateSDC-org.apache.sysds.runtime.compress.colgroup.ColGroupSDC-">preAggregateSDC</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="preAggregateSDCSingle-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingle-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>preAggregateSDCSingle</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a>&nbsp;preAggregateSDCSingle(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingle</a>&nbsp;lhs)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateSDCSingle-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingle-">preAggregateSDCSingle</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="preAggregateSDCZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCZeros-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>preAggregateSDCZeros</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a>&nbsp;preAggregateSDCZeros(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCZeros</a>&nbsp;lhs)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateSDCZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCZeros-">preAggregateSDCZeros</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="preAggregateSDCSingleZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingleZeros-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>preAggregateSDCSingleZeros</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a>&nbsp;preAggregateSDCSingleZeros(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingleZeros</a>&nbsp;lhs)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateSDCSingleZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingleZeros-">preAggregateSDCSingleZeros</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="preAggregateOLE-org.apache.sysds.runtime.compress.colgroup.ColGroupOLE-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>preAggregateOLE</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a>&nbsp;preAggregateOLE(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOLE</a>&nbsp;lhs)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateOLE-org.apache.sysds.runtime.compress.colgroup.ColGroupOLE-">preAggregateOLE</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="preAggregateRLE-org.apache.sysds.runtime.compress.colgroup.ColGroupRLE-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>preAggregateRLE</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a>&nbsp;preAggregateRLE(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupRLE</a>&nbsp;lhs)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateRLE-org.apache.sysds.runtime.compress.colgroup.ColGroupRLE-">preAggregateRLE</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>
@@ -922,7 +1117,7 @@
 <div>
 <ul class="subNavList">
 <li>Summary:&nbsp;</li>
-<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.ColGroup">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.AColGroup">Nested</a>&nbsp;|&nbsp;</li>
 <li>Field&nbsp;|&nbsp;</li>
 <li>Constr&nbsp;|&nbsp;</li>
 <li><a href="#method.summary">Method</a></li>
@@ -938,6 +1133,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html
index d253854..c0bafed 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html
@@ -18,8 +18,8 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":6,"i9":10,"i10":6,"i11":10,"i12":10,"i13":10,"i14":10};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete Methods"]};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
 var tableTab = "tableTab";
@@ -74,7 +74,7 @@
 <div>
 <ul class="subNavList">
 <li>Summary:&nbsp;</li>
-<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.ColGroup">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.AColGroup">Nested</a>&nbsp;|&nbsp;</li>
 <li>Field&nbsp;|&nbsp;</li>
 <li>Constr&nbsp;|&nbsp;</li>
 <li><a href="#method.summary">Method</a></li>
@@ -100,7 +100,7 @@
 <li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">org.apache.sysds.runtime.compress.colgroup.ColGroup</a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">org.apache.sysds.runtime.compress.colgroup.AColGroup</a></li>
 <li>
 <ul class="inheritance">
 <li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">org.apache.sysds.runtime.compress.colgroup.ColGroupValue</a></li>
@@ -131,7 +131,6 @@
 extends <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></pre>
 <div class="block">Base class for column groups encoded with various types of bitmap encoding.
  
- 
  NOTES: * OLE: separate storage segment length and bitmaps led to a 30% improvement but not applied because more
  difficult to support both data layouts at the same time (distributed/local as well as w/ and w/o low-level opt)</div>
 <dl>
@@ -151,11 +150,11 @@
 </a>
 <h3>Nested Class Summary</h3>
 <ul class="blockList">
-<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.ColGroup">
+<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.AColGroup">
 <!--   -->
 </a>
-<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a></code></li>
+<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.ColGroupType</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a></code></li>
 </ul>
 </li>
 </ul>
@@ -166,94 +165,46 @@
 </a>
 <h3>Method Summary</h3>
 <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">decompressToBlock</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
-                 int&nbsp;colpos)</code>
-<div class="block">Decompress to block.</div>
-</td>
-</tr>
-<tr id="i1" class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">decompressToBlock</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
-                 int[]&nbsp;colIndexTargets)</code>
-<div class="block">Decompress the contents of this column group into uncompressed packed columns</div>
-</td>
-</tr>
-<tr id="i2" class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">decompressToBlock</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
-                 int&nbsp;rl,
-                 int&nbsp;ru)</code>
-<div class="block">Decompress the contents of this column group into the specified full matrix block.</div>
-</td>
-</tr>
-<tr id="i3" class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#estimateInMemorySize--">estimateInMemorySize</a></span>()</code>
 <div class="block">Note: Must be overridden by child classes to account for additional data and metadata</div>
 </td>
 </tr>
-<tr id="i4" class="altColor">
-<td class="colFirst"><code>double</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#get-int-int-">get</a></span>(int&nbsp;r,
-   int&nbsp;c)</code>
-<div class="block">Get the value at a global row/column position.</div>
-</td>
-</tr>
-<tr id="i5" class="rowColor">
+<tr id="i1" class="rowColor">
 <td class="colFirst"><code>int[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#getBitmapOffsets--">getBitmapOffsets</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i2" class="altColor">
 <td class="colFirst"><code>char[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#getBitmaps--">getBitmaps</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#getExactSizeOnDisk--">getExactSizeOnDisk</a></span>()</code>
 <div class="block">Returns the exact serialized size of column group.</div>
 </td>
 </tr>
-<tr id="i8" class="altColor">
-<td class="colFirst"><code>abstract <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#getIterator-int-">getIterator</a></span>(int&nbsp;k)</code>&nbsp;</td>
-</tr>
-<tr id="i9" class="rowColor">
-<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/IJV.html" title="class in org.apache.sysds.runtime.matrix.data">IJV</a>&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#getIterator-int-int-boolean-boolean-">getIterator</a></span>(int&nbsp;rl,
-           int&nbsp;ru,
-           boolean&nbsp;inclZeros,
-           boolean&nbsp;rowMajor)</code>
-<div class="block">Create a column group iterator for a row index range.</div>
-</td>
-</tr>
-<tr id="i10" class="altColor">
-<td class="colFirst"><code>abstract <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#getIterator-int-int-int-">getIterator</a></span>(int&nbsp;k,
-           int&nbsp;rl,
-           int&nbsp;ru)</code>&nbsp;</td>
-</tr>
-<tr id="i11" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#hasZeros--">hasZeros</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i12" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#readFields-java.io.DataInput-">readFields</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a>&nbsp;in)</code>
 <div class="block">Deserialize column group from data input.</div>
 </td>
 </tr>
-<tr id="i13" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#toString--">toString</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i14" class="altColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#write-java.io.DataOutput-">write</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataOutput.html?is-external=true" title="class or interface in java.io">DataOutput</a>&nbsp;out)</code>
 <div class="block">Serializes column group to data output.</div>
@@ -265,14 +216,14 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#cleanupThreadLocalMemory--">cleanupThreadLocalMemory</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#copy--">copy</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#copyAndSet-int:A-double:A-">copyAndSet</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCounts--">getCounts</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCounts-int:A-">getCounts</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCounts-int-int-">getCounts</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCounts-int-int-int:A-">getCounts</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getDictionary--">getDictionary</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getIfCountsType--">getIfCountsType</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getNumValues--">getNumValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getValues--">getValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getValuesAsBlock--">getValuesAsBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#isLossy--">isLossy</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preaggValues-int-double:A-double:A-int-int-int-">preaggValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preaggValues-int-double:A-double:A-int-int-int-double:A-">preaggValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preaggValues-int-org.apache.sysds.runtime.data.SparseBlock-double:A-int-int-int-">preaggValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preaggValues-int-org.apache.sysds.runtime.data.SparseBlock-double:A-int-int-int-double:A-">preaggValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#setupThreadLocalMemory-int-">setupThreadLocalMemory</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-">unaryAggregateOperations</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-int-int-">unaryAggregateOperations</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#addMinMax-double:A-">addMinMax</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#applyBinaryRowOp-org.apache.sysds.runtime.functionobjects.ValueFunction-double:A-boolean-boolean-">applyBinaryRowOp</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#cleanupThreadLocalMemory--">cleanupThreadLocalMemory</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#containsValue-double-">containsValue</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#copy--">copy</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#copyAndSet-int:A-org.apache.sysds.runtime.compress.colgroup.ADictionary-">copyAndSet</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#copyAndSet-int:A-double:A-">copyAndSet</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCachedCounts--">getCachedCounts</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCounts--">getCounts</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCounts-int:A-">getCounts</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCounts-int-int-">getCounts</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCounts-int-int-int:A-">getCounts</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getDictionary--">getDictionary</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getIfCountsType--">getIfCountsType</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getIndexStructureHash--">getIndexStructureHash</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getMax--">getMax</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getMin--">getMin</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getNumberNonZeros--">getNumberNonZeros</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getNumValues--">getNumValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getValues--">getValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getValuesAsBlock--">getValuesAsBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#isLossy--">isLossy</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#leftMultByAggregatedColGroup-org.apache.sysds.runtime.compress.colgroup.ColGroupValue-double:A-int-int-">leftMultByAggregatedColGroup</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#leftMultByRowVector-double:A-double:A-">leftMultByRowVector</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#leftMultByRowVector-double:A-double:A-int-">leftMultByRowVector</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#leftMultByRowVector-double:A-double:A-int-double:A-">leftMultByRowVector</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#leftMultByRowVector-double:A-double:A-int-double:A-int-">leftMultByRowVector</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#leftMultBySelfDiagonalColGroup-double:A-int-">leftMultBySelfDiagonalColGroup</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregate-org.apache.sysds.runtime.compress.colgroup.ColGroupValue-">preAggregate</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregate-double:A-">preAggregate</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregate-double:A-int-">preAggregate</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregate-org.apache.sysds.runtime.data.SparseBlock-">preAggregate</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateCONST-org.apache.sysds.runtime.compress.colgroup.ColGroupConst-">preAggregateCONST</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateDDC-org.apache.sysds.runtime.compress.colgroup.ColGroupDDC-">preAggregateDDC</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateOLE-org.apache.sysds.runtime.compress.colgroup.ColGroupOLE-">preAggregateOLE</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateRLE-org.apache.sysds.runtime.compress.colgroup.ColGroupRLE-">preAggregateRLE</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateSDC-org.apache.sysds.runtime.compress.colgroup.ColGroupSDC-">preAggregateSDC</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateSDCSingle-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingle-">preAggregateSDCSingle</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateSDCSingleZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingleZeros-">preAggregateSDCSingleZeros</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateSDCZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCZeros-">preAggregateSDCZeros</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateSparse-org.apache.sysds.runtime.data.SparseBlock-int-">preAggregateSparse</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preaggValues-int-org.apache.sysds.runtime.matrix.data.MatrixBlock-double:A-int-int-int-">preaggValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preCallAggregate-org.apache.sysds.runtime.compress.colgroup.ColGroupValue-">preCallAggregate</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#sameIndexStructure-org.apache.sysds.runtime.compress.colgroup.ColGroupValue-">sameIndexStructure</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#setupThreadLocalMemory-int-">setupThreadLocalMemory</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#sliceColumns-int-int-">sliceColumns</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-">unaryAggregateOperations</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-int-int-">unaryAggregateOperations</a></code></li>
 </ul>
 <ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.ColGroup">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.AColGroup">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-">binaryRowOp</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#countNonZerosPerRow-int:A-int-int-">countNonZerosPerRow</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-java.util.List-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getColIndex-int-">getColIndex</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getColIndices--">getColIndices</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getCompType--">getCompType</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getNumCols--">getNumCols</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getNumRows--">getNumRows</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getRowIterator-int-int-">getRowIterator</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#leftMultByMatrix-double:A-double:A-double:A-int-int-int-int-int-">leftMultByMatrix</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#leftMultByRowVector-double:A-double:A-int-">leftMultByRowVector</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#leftMultByRowVector-double:A-double:A-int-double:A-">leftMultByRowVector</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#leftMultBySparseMatrix-int-int:A-double:A-double:A-int-double:A-int-int-int-double:A-">leftMultBySparseMatrix</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#rightMultByMatrix-double:A-double:A-int-int-int-int-int-">rightMultByMatrix</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#rightMultBySparseMatrix-org.apache.sysds.runtime.data.SparseRow:A-double:A-int-double:A-int-int-int-">rightMultBySparseMatrix</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#rightMultByVector-double:A-double:A-int-int-double:A-">rightMultByVector</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">scalarOperation</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#shiftColIndices-int-">shiftColIndices</a></code></li>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-boolean-">binaryRowOp</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#countNonZerosPerRow-int:A-int-int-">countNonZerosPerRow</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToArray-double:A-int-java.util.List-">decompressColumnToArray</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-double:A-int-int-int-">decompressColumnToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-double:A-int-int-int-java.util.List-">decompressColumnToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">decompressColumnToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-">decompressColumnToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-java.util.List-">decompressColumnToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-java.util.List-">decompressColumnToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlockUnSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-java.util.List-">decompressColumnToBlockUnSafe</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-boolean-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-double:A-boolean-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-boolean-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-boolean-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlockSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">decompressToBlockSafe</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlockUnSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">decompressToBlockUnSafe</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#get-int-int-">get</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getColGroupType--">getColGroupType</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getColIndex-int-">getColIndex</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getColIndices--">getColIndices</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getCompType--">getCompType</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getNumCols--">getNumCols</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getNumRows--">getNumRows</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#isDense--">isDense</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#leftMultByMatrix-double:A-double:A-double:A-int-int-int-int-int-">leftMultByMatrix</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#leftMultBySparseMatrix-org.apache.sysds.runtime.data.SparseBlock-double:A-double:A-int-int-int-double:A-">leftMultBySparseMatrix</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#rightMultByMatrix-int:A-double:A-double:A-int-int-int-">rightMultByMatrix</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#rightMultByVector-double:A-double:A-int-int-double:A-">rightMultByVector</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">scalarOperation</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#shiftColIndices-int-">shiftColIndices</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -302,97 +253,16 @@
 <li class="blockList">
 <h4>estimateInMemorySize</h4>
 <pre>public&nbsp;long&nbsp;estimateInMemorySize()</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#estimateInMemorySize--">ColGroup</a></code></span></div>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#estimateInMemorySize--">AColGroup</a></code></span></div>
 <div class="block">Note: Must be overridden by child classes to account for additional data and metadata</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#estimateInMemorySize--">estimateInMemorySize</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#estimateInMemorySize--">estimateInMemorySize</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>an upper bound on the number of bytes used to store this ColGroup in memory.</dd>
 </dl>
 </li>
 </ul>
-<a name="decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>decompressToBlock</h4>
-<pre>public&nbsp;void&nbsp;decompressToBlock(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
-                              int&nbsp;rl,
-                              int&nbsp;ru)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">ColGroup</a></code></span></div>
-<div class="block">Decompress the contents of this column group into the specified full matrix block.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">decompressToBlock</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>target</code> - a matrix block where the columns covered by this column group have not yet been filled in.</dd>
-<dd><code>rl</code> - row lower</dd>
-<dd><code>ru</code> - row upper</dd>
-</dl>
-</li>
-</ul>
-<a name="decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>decompressToBlock</h4>
-<pre>public&nbsp;void&nbsp;decompressToBlock(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
-                              int[]&nbsp;colIndexTargets)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">ColGroup</a></code></span></div>
-<div class="block">Decompress the contents of this column group into uncompressed packed columns</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">decompressToBlock</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>target</code> - a dense matrix block. The block must have enough space to hold the contents of this column
-                        group.</dd>
-<dd><code>colIndexTargets</code> - array that maps column indices in the original matrix block to columns of target.</dd>
-</dl>
-</li>
-</ul>
-<a name="decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>decompressToBlock</h4>
-<pre>public&nbsp;void&nbsp;decompressToBlock(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
-                              int&nbsp;colpos)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">ColGroup</a></code></span></div>
-<div class="block">Decompress to block.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">decompressToBlock</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>target</code> - dense output vector</dd>
-<dd><code>colpos</code> - column to decompress, error if larger or equal numCols</dd>
-</dl>
-</li>
-</ul>
-<a name="get-int-int-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>get</h4>
-<pre>public&nbsp;double&nbsp;get(int&nbsp;r,
-                  int&nbsp;c)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#get-int-int-">ColGroup</a></code></span></div>
-<div class="block">Get the value at a global row/column position.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#get-int-int-">get</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>r</code> - row</dd>
-<dd><code>c</code> - column</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>value at the row/column position</dd>
-</dl>
-</li>
-</ul>
 <a name="getBitmaps--">
 <!--   -->
 </a>
@@ -428,7 +298,7 @@
 <h4>readFields</h4>
 <pre>public&nbsp;void&nbsp;readFields(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a>&nbsp;in)
                 throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#readFields-java.io.DataInput-">ColGroup</a></code></span></div>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#readFields-java.io.DataInput-">AColGroup</a></code></span></div>
 <div class="block">Deserialize column group from data input.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
@@ -448,7 +318,7 @@
 <h4>write</h4>
 <pre>public&nbsp;void&nbsp;write(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataOutput.html?is-external=true" title="class or interface in java.io">DataOutput</a>&nbsp;out)
            throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#write-java.io.DataOutput-">ColGroup</a></code></span></div>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#write-java.io.DataOutput-">AColGroup</a></code></span></div>
 <div class="block">Serializes column group to data output.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
@@ -467,7 +337,7 @@
 <li class="blockList">
 <h4>getExactSizeOnDisk</h4>
 <pre>public&nbsp;long&nbsp;getExactSizeOnDisk()</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getExactSizeOnDisk--">ColGroup</a></code></span></div>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getExactSizeOnDisk--">AColGroup</a></code></span></div>
 <div class="block">Returns the exact serialized size of column group. This can be used for example for buffer preallocation.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
@@ -477,65 +347,6 @@
 </dl>
 </li>
 </ul>
-<a name="getIterator-int-int-boolean-boolean-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getIterator</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/IJV.html" title="class in org.apache.sysds.runtime.matrix.data">IJV</a>&gt;&nbsp;getIterator(int&nbsp;rl,
-                                 int&nbsp;ru,
-                                 boolean&nbsp;inclZeros,
-                                 boolean&nbsp;rowMajor)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getIterator-int-int-boolean-boolean-">ColGroup</a></code></span></div>
-<div class="block">Create a column group iterator for a row index range.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getIterator-int-int-boolean-boolean-">getIterator</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>rl</code> - row lower index, inclusive</dd>
-<dd><code>ru</code> - row upper index, exclusive</dd>
-<dd><code>inclZeros</code> - include zero values into scope of iterator</dd>
-<dd><code>rowMajor</code> - use a row major iteration order</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>an iterator instance</dd>
-</dl>
-</li>
-</ul>
-<a name="getIterator-int-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getIterator</h4>
-<pre>public abstract&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;getIterator(int&nbsp;k)</pre>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>k</code> - index of value tuple with associated bitmap</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>an iterator over the row offsets in this bitmap</dd>
-</dl>
-</li>
-</ul>
-<a name="getIterator-int-int-int-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getIterator</h4>
-<pre>public abstract&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;getIterator(int&nbsp;k,
-                                              int&nbsp;rl,
-                                              int&nbsp;ru)</pre>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>k</code> - index of value tuple with associated bitmap</dd>
-<dd><code>rl</code> - row lower index, inclusive</dd>
-<dd><code>ru</code> - row upper index, exclusive</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>an iterator over the row offsets in this bitmap</dd>
-</dl>
-</li>
-</ul>
 <a name="toString--">
 <!--   -->
 </a>
@@ -602,7 +413,7 @@
 <div>
 <ul class="subNavList">
 <li>Summary:&nbsp;</li>
-<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.ColGroup">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.AColGroup">Nested</a>&nbsp;|&nbsp;</li>
 <li>Field&nbsp;|&nbsp;</li>
 <li>Constr&nbsp;|&nbsp;</li>
 <li><a href="#method.summary">Method</a></li>
@@ -618,6 +429,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html
index 4128fb7..46a035e 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":9,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":9,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -50,7 +50,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSizes.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" target="_top">Frames</a></li>
@@ -74,7 +74,7 @@
 <div>
 <ul class="subNavList">
 <li>Summary:&nbsp;</li>
-<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.ColGroup">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.AColGroup">Nested</a>&nbsp;|&nbsp;</li>
 <li>Field&nbsp;|&nbsp;</li>
 <li>Constr&nbsp;|&nbsp;</li>
 <li><a href="#method.summary">Method</a></li>
@@ -100,7 +100,7 @@
 <li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">org.apache.sysds.runtime.compress.colgroup.ColGroup</a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">org.apache.sysds.runtime.compress.colgroup.AColGroup</a></li>
 <li>
 <ul class="inheritance">
 <li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">org.apache.sysds.runtime.compress.colgroup.ColGroupValue</a></li>
@@ -148,11 +148,11 @@
 </a>
 <h3>Nested Class Summary</h3>
 <ul class="blockList">
-<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.ColGroup">
+<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.AColGroup">
 <!--   -->
 </a>
-<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a></code></li>
+<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.ColGroupType</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a></code></li>
 </ul>
 </li>
 </ul>
@@ -169,10 +169,11 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-">binaryRowOp</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-boolean-">binaryRowOp</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
            double[]&nbsp;v,
-           boolean&nbsp;sparseSafe)</code>
+           boolean&nbsp;sparseSafe,
+           boolean&nbsp;left)</code>
 <div class="block">Perform a binary row operation.</div>
 </td>
 </tr>
@@ -190,67 +191,97 @@
 </tr>
 <tr id="i3" class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">decompressToBlock</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
-                 int&nbsp;colpos)</code>
-<div class="block">Decompress to block.</div>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#decompressColumnToBlock-double:A-int-int-int-">decompressColumnToBlock</a></span>(double[]&nbsp;c,
+                       int&nbsp;colpos,
+                       int&nbsp;rl,
+                       int&nbsp;ru)</code>
+<div class="block">Decompress to dense array.</div>
 </td>
 </tr>
 <tr id="i4" class="altColor">
 <td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">decompressColumnToBlock</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                       int&nbsp;colpos)</code>
+<div class="block">Decompress to block.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-">decompressColumnToBlock</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                       int&nbsp;colpos,
+                       int&nbsp;rl,
+                       int&nbsp;ru)</code>
+<div class="block">Decompress to block.</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">decompressToBlock</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
                  int[]&nbsp;colixTargets)</code>
 <div class="block">Decompress the contents of this column group into uncompressed packed columns</div>
 </td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">decompressToBlock</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
-                 int&nbsp;rl,
-                 int&nbsp;ru)</code>
-<div class="block">Decompress the contents of this column group into the specified full matrix block.</div>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#decompressToBlockSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">decompressToBlockSafe</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                     int&nbsp;rl,
+                     int&nbsp;ru,
+                     int&nbsp;offT,
+                     double[]&nbsp;values)</code>
+<div class="block">Decompress the contents of this column group into the specified full matrix block without managing the number of
+ non zeros.</div>
 </td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#decompressToBlockUnSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">decompressToBlockUnSafe</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                       int&nbsp;rl,
+                       int&nbsp;ru,
+                       int&nbsp;offT,
+                       double[]&nbsp;values)</code>&nbsp;</td>
+</tr>
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code>static char[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#genRLEBitmap-int:A-int-">genRLEBitmap</a></span>(int[]&nbsp;offsets,
             int&nbsp;len)</code>
 <div class="block">Encodes the bitmap as a series of run lengths and offsets.</div>
 </td>
 </tr>
-<tr id="i7" class="rowColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a></code></td>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code>double</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#get-int-int-">get</a></span>(int&nbsp;r,
+   int&nbsp;c)</code>
+<div class="block">Get the value at a global row/column position.</div>
+</td>
+</tr>
+<tr id="i11" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.ColGroupType</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#getColGroupType--">getColGroupType</a></span>()</code>
+<div class="block">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.</div>
+</td>
+</tr>
+<tr id="i12" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#getCompType--">getCompType</a></span>()</code>
 <div class="block">Obtain the compression type.</div>
 </td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i13" class="rowColor">
 <td class="colFirst"><code>int[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#getCounts-int:A-">getCounts</a></span>(int[]&nbsp;counts)</code>&nbsp;</td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i14" class="altColor">
 <td class="colFirst"><code>int[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#getCounts-int-int-int:A-">getCounts</a></span>(int&nbsp;rl,
          int&nbsp;ru,
          int[]&nbsp;counts)</code>&nbsp;</td>
 </tr>
-<tr id="i10" class="altColor">
-<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#getIterator-int-">getIterator</a></span>(int&nbsp;k)</code>&nbsp;</td>
+<tr id="i15" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#getIndexStructureHash--">getIndexStructureHash</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i11" class="rowColor">
-<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#getIterator-int-int-int-">getIterator</a></span>(int&nbsp;k,
-           int&nbsp;rl,
-           int&nbsp;ru)</code>&nbsp;</td>
-</tr>
-<tr id="i12" class="altColor">
-<td class="colFirst"><code>org.apache.sysds.runtime.compress.colgroup.ColGroup.ColGroupRowIterator</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#getRowIterator-int-int-">getRowIterator</a></span>(int&nbsp;rl,
-              int&nbsp;ru)</code>
-<div class="block">Create a dense row iterator for a row index range.</div>
-</td>
-</tr>
-<tr id="i13" class="rowColor">
+<tr id="i16" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#leftMultByMatrix-double:A-double:A-double:A-int-int-int-int-int-">leftMultByMatrix</a></span>(double[]&nbsp;a,
                 double[]&nbsp;c,
@@ -263,16 +294,7 @@
 <div class="block">Multiply with a matrix on the left.</div>
 </td>
 </tr>
-<tr id="i14" class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#leftMultByRowVector-double:A-double:A-int-">leftMultByRowVector</a></span>(double[]&nbsp;a,
-                   double[]&nbsp;c,
-                   int&nbsp;numVals)</code>
-<div class="block">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.</div>
-</td>
-</tr>
-<tr id="i15" class="rowColor">
+<tr id="i17" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#leftMultByRowVector-double:A-double:A-int-double:A-">leftMultByRowVector</a></span>(double[]&nbsp;a,
                    double[]&nbsp;c,
@@ -282,13 +304,10 @@
  column vector is assumed to be transposed already i.e.</div>
 </td>
 </tr>
-<tr id="i16" class="altColor">
+<tr id="i18" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#leftMultBySparseMatrix-int-int:A-double:A-double:A-int-double:A-int-int-int-double:A-">leftMultBySparseMatrix</a></span>(int&nbsp;spNrVals,
-                      int[]&nbsp;indexes,
-                      double[]&nbsp;sparseV,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#leftMultBySparseMatrix-org.apache.sysds.runtime.data.SparseBlock-double:A-double:A-int-int-int-double:A-">leftMultBySparseMatrix</a></span>(<a href="../../../../../../org/apache/sysds/runtime/data/SparseBlock.html" title="class in org.apache.sysds.runtime.data">SparseBlock</a>&nbsp;sb,
                       double[]&nbsp;c,
-                      int&nbsp;numVals,
                       double[]&nbsp;values,
                       int&nbsp;numRows,
                       int&nbsp;numCols,
@@ -297,32 +316,60 @@
 <div class="block">Multiply with a sparse matrix on the left hand side, and add the values to the output result</div>
 </td>
 </tr>
-<tr id="i17" class="rowColor">
+<tr id="i19" class="rowColor">
+<td class="colFirst"><code>double[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#preAggregate-double:A-int-">preAggregate</a></span>(double[]&nbsp;a,
+            int&nbsp;row)</code>
+<div class="block">Pre aggregates for left multiplication</div>
+</td>
+</tr>
+<tr id="i20" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#preAggregateDDC-org.apache.sysds.runtime.compress.colgroup.ColGroupDDC-">preAggregateDDC</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr id="i21" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#preAggregateOLE-org.apache.sysds.runtime.compress.colgroup.ColGroupOLE-">preAggregateOLE</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOLE</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr id="i22" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#preAggregateRLE-org.apache.sysds.runtime.compress.colgroup.ColGroupRLE-">preAggregateRLE</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupRLE</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr id="i23" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#preAggregateSDC-org.apache.sysds.runtime.compress.colgroup.ColGroupSDC-">preAggregateSDC</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDC</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr id="i24" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#preAggregateSDCSingle-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingle-">preAggregateSDCSingle</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingle</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr id="i25" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#preAggregateSDCSingleZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingleZeros-">preAggregateSDCSingleZeros</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingleZeros</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr id="i26" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#preAggregateSDCZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCZeros-">preAggregateSDCZeros</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCZeros</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr id="i27" class="rowColor">
+<td class="colFirst"><code>double[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#preAggregateSparse-org.apache.sysds.runtime.data.SparseBlock-int-">preAggregateSparse</a></span>(<a href="../../../../../../org/apache/sysds/runtime/data/SparseBlock.html" title="class in org.apache.sysds.runtime.data">SparseBlock</a>&nbsp;sb,
+                  int&nbsp;row)</code>
+<div class="block">Pre aggregate for left multiplication of sparse vector or matrix.</div>
+</td>
+</tr>
+<tr id="i28" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#rightMultByMatrix-double:A-double:A-int-int-int-int-int-">rightMultByMatrix</a></span>(double[]&nbsp;preAggregatedB,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#rightMultByMatrix-int:A-double:A-double:A-int-int-int-">rightMultByMatrix</a></span>(int[]&nbsp;outputColumns,
+                 double[]&nbsp;preAggregatedB,
                  double[]&nbsp;c,
                  int&nbsp;thatNrColumns,
                  int&nbsp;rl,
-                 int&nbsp;ru,
-                 int&nbsp;cl,
-                 int&nbsp;cu)</code>
+                 int&nbsp;ru)</code>
 <div class="block">Right multiply by matrix.</div>
 </td>
 </tr>
-<tr id="i18" class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#rightMultBySparseMatrix-org.apache.sysds.runtime.data.SparseRow:A-double:A-int-double:A-int-int-int-">rightMultBySparseMatrix</a></span>(<a href="../../../../../../org/apache/sysds/runtime/data/SparseRow.html" title="class in org.apache.sysds.runtime.data">SparseRow</a>[]&nbsp;rows,
-                       double[]&nbsp;c,
-                       int&nbsp;numVals,
-                       double[]&nbsp;dictVals,
-                       int&nbsp;nrColumns,
-                       int&nbsp;rl,
-                       int&nbsp;ru)</code>
-<div class="block">Sparse right multiply by matrix, for which the compressed matrix is on the left and the uncompressed sparse is on
- the right.</div>
-</td>
-</tr>
-<tr id="i19" class="rowColor">
+<tr id="i29" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#rightMultByVector-double:A-double:A-int-int-double:A-">rightMultByVector</a></span>(double[]&nbsp;b,
                  double[]&nbsp;c,
@@ -332,34 +379,42 @@
 <div class="block">Multiply the slice of the matrix that this column group represents by a vector on the right.</div>
 </td>
 </tr>
-<tr id="i20" class="altColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></td>
+<tr id="i30" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#sameIndexStructure-org.apache.sysds.runtime.compress.colgroup.ColGroupValue-">sameIndexStructure</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a>&nbsp;that)</code>&nbsp;</td>
+</tr>
+<tr id="i31" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">scalarOperation</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op)</code>
 <div class="block">Perform the specified scalar operation directly on the compressed column group, without decompressing individual
  cells if possible.</div>
 </td>
 </tr>
+<tr id="i32" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#toString--">toString</a></span>()</code>&nbsp;</td>
+</tr>
 </table>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.ColGroupOffset">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOffset</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#estimateInMemorySize--">estimateInMemorySize</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#get-int-int-">get</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#getBitmapOffsets--">getBitmapOffsets</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#getBitmaps--">getBitmaps</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#getExactSizeOnDisk--">getExactSizeOnDisk</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#getIterator-int-int-boolean-boolean-">getIterator</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#hasZeros--">hasZeros</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#readFields-java.io.DataInput-">readFields</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#write-java.io.DataOutput-">write</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#estimateInMemorySize--">estimateInMemorySize</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#getBitmapOffsets--">getBitmapOffsets</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#getBitmaps--">getBitmaps</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#getExactSizeOnDisk--">getExactSizeOnDisk</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#hasZeros--">hasZeros</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#readFields-java.io.DataInput-">readFields</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#write-java.io.DataOutput-">write</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.ColGroupValue">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#cleanupThreadLocalMemory--">cleanupThreadLocalMemory</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#copy--">copy</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#copyAndSet-int:A-double:A-">copyAndSet</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCounts--">getCounts</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCounts-int-int-">getCounts</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getDictionary--">getDictionary</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getIfCountsType--">getIfCountsType</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getNumValues--">getNumValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getValues--">getValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getValuesAsBlock--">getValuesAsBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#isLossy--">isLossy</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preaggValues-int-double:A-double:A-int-int-int-">preaggValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preaggValues-int-double:A-double:A-int-int-int-double:A-">preaggValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preaggValues-int-org.apache.sysds.runtime.data.SparseBlock-double:A-int-int-int-">preaggValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preaggValues-int-org.apache.sysds.runtime.data.SparseBlock-double:A-int-int-int-double:A-">preaggValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#setupThreadLocalMemory-int-">setupThreadLocalMemory</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-">unaryAggregateOperations</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-int-int-">unaryAggregateOperations</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#addMinMax-double:A-">addMinMax</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#applyBinaryRowOp-org.apache.sysds.runtime.functionobjects.ValueFunction-double:A-boolean-boolean-">applyBinaryRowOp</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#cleanupThreadLocalMemory--">cleanupThreadLocalMemory</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#containsValue-double-">containsValue</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#copy--">copy</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#copyAndSet-int:A-org.apache.sysds.runtime.compress.colgroup.ADictionary-">copyAndSet</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#copyAndSet-int:A-double:A-">copyAndSet</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCachedCounts--">getCachedCounts</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCounts--">getCounts</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCounts-int-int-">getCounts</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getDictionary--">getDictionary</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getIfCountsType--">getIfCountsType</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getMax--">getMax</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getMin--">getMin</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getNumberNonZeros--">getNumberNonZeros</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getNumValues--">getNumValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getValues--">getValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getValuesAsBlock--">getValuesAsBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#isLossy--">isLossy</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#leftMultByAggregatedColGroup-org.apache.sysds.runtime.compress.colgroup.ColGroupValue-double:A-int-int-">leftMultByAggregatedColGroup</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#leftMultByRowVector-double:A-double:A-">leftMultByRowVector</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#leftMultByRowVector-double:A-double:A-int-">leftMultByRowVector</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#leftMultByRowVector-double:A-double:A-int-double:A-int-">leftMultByRowVector</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#leftMultBySelfDiagonalColGroup-double:A-int-">leftMultBySelfDiagonalColGroup</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregate-org.apache.sysds.runtime.compress.colgroup.ColGroupValue-">preAggregate</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregate-double:A-">preAggregate</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregate-org.apache.sysds.runtime.data.SparseBlock-">preAggregate</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateCONST-org.apache.sysds.runtime.compress.colgroup.ColGroupConst-">preAggregateCONST</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preaggValues-int-org.apache.sysds.runtime.matrix.data.MatrixBlock-double:A-int-int-int-">preaggValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preCallAggregate-org.apache.sysds.runtime.compress.colgroup.ColGroupValue-">preCallAggregate</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#setupThreadLocalMemory-int-">setupThreadLocalMemory</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#sliceColumns-int-int-">sliceColumns</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-">unaryAggregateOperations</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-int-int-">unaryAggregateOperations</a></code></li>
 </ul>
 <ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.ColGroup">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.AColGroup">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-java.util.List-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getColIndex-int-">getColIndex</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getColIndices--">getColIndices</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getNumCols--">getNumCols</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getNumRows--">getNumRows</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#shiftColIndices-int-">shiftColIndices</a></code></li>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToArray-double:A-int-java.util.List-">decompressColumnToArray</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-double:A-int-int-int-java.util.List-">decompressColumnToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-java.util.List-">decompressColumnToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-java.util.List-">decompressColumnToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlockUnSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-java.util.List-">decompressColumnToBlockUnSafe</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-boolean-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-double:A-boolean-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-boolean-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-boolean-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getColIndex-int-">getColIndex</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getColIndices--">getColIndices</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getNumCols--">getNumCols</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getNumRows--">getNumRows</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#isDense--">isDense</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#shiftColIndices-int-">shiftColIndices</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -388,35 +443,75 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getCompType</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>&nbsp;getCompType()</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getCompType--">ColGroup</a></code></span></div>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a>&nbsp;getCompType()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getCompType--">AColGroup</a></code></span></div>
 <div class="block">Obtain the compression type.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getCompType--">getCompType</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getCompType--">getCompType</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>How the elements of the column group are compressed.</dd>
 </dl>
 </li>
 </ul>
-<a name="decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">
+<a name="getColGroupType--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>decompressToBlock</h4>
-<pre>public&nbsp;void&nbsp;decompressToBlock(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
-                              int&nbsp;rl,
-                              int&nbsp;ru)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">ColGroup</a></code></span></div>
-<div class="block">Decompress the contents of this column group into the specified full matrix block.</div>
+<h4>getColGroupType</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.ColGroupType</a>&nbsp;getColGroupType()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getColGroupType--">AColGroup</a></code></span></div>
+<div class="block">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.</div>
 <dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">decompressToBlock</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOffset</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getColGroupType--">getColGroupType</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>ColGroupType of the object.</dd>
+</dl>
+</li>
+</ul>
+<a name="decompressToBlockSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>decompressToBlockSafe</h4>
+<pre>public&nbsp;void&nbsp;decompressToBlockSafe(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                                  int&nbsp;rl,
+                                  int&nbsp;ru,
+                                  int&nbsp;offT,
+                                  double[]&nbsp;values)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlockSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">AColGroup</a></code></span></div>
+<div class="block">Decompress the contents of this column group into the specified full matrix block without managing the number of
+ non zeros.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlockSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">decompressToBlockSafe</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>target</code> - a matrix block where the columns covered by this column group have not yet been filled in.</dd>
 <dd><code>rl</code> - row lower</dd>
 <dd><code>ru</code> - row upper</dd>
+<dd><code>offT</code> - Offset into target to assign from</dd>
+<dd><code>values</code> - The Values materialized in the dictionary</dd>
+</dl>
+</li>
+</ul>
+<a name="decompressToBlockUnSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>decompressToBlockUnSafe</h4>
+<pre>public&nbsp;void&nbsp;decompressToBlockUnSafe(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                                    int&nbsp;rl,
+                                    int&nbsp;ru,
+                                    int&nbsp;offT,
+                                    double[]&nbsp;values)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlockUnSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">decompressToBlockUnSafe</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
 </dl>
 </li>
 </ul>
@@ -428,11 +523,11 @@
 <h4>decompressToBlock</h4>
 <pre>public&nbsp;void&nbsp;decompressToBlock(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
                               int[]&nbsp;colixTargets)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">ColGroup</a></code></span></div>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">AColGroup</a></code></span></div>
 <div class="block">Decompress the contents of this column group into uncompressed packed columns</div>
 <dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">decompressToBlock</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOffset</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">decompressToBlock</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>target</code> - a dense matrix block. The block must have enough space to hold the contents of this column
                         group.</dd>
@@ -440,25 +535,71 @@
 </dl>
 </li>
 </ul>
-<a name="decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">
+<a name="decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>decompressToBlock</h4>
-<pre>public&nbsp;void&nbsp;decompressToBlock(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
-                              int&nbsp;colpos)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">ColGroup</a></code></span></div>
+<h4>decompressColumnToBlock</h4>
+<pre>public&nbsp;void&nbsp;decompressColumnToBlock(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                                    int&nbsp;colpos)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">AColGroup</a></code></span></div>
 <div class="block">Decompress to block.</div>
 <dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">decompressToBlock</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOffset</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">decompressColumnToBlock</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>target</code> - dense output vector</dd>
 <dd><code>colpos</code> - column to decompress, error if larger or equal numCols</dd>
 </dl>
 </li>
 </ul>
+<a name="decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>decompressColumnToBlock</h4>
+<pre>public&nbsp;void&nbsp;decompressColumnToBlock(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                                    int&nbsp;colpos,
+                                    int&nbsp;rl,
+                                    int&nbsp;ru)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-">AColGroup</a></code></span></div>
+<div class="block">Decompress to block.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-">decompressColumnToBlock</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>target</code> - dense output vector</dd>
+<dd><code>colpos</code> - column to decompress, error if larger or equal numCols</dd>
+<dd><code>rl</code> - the Row to start decompression from</dd>
+<dd><code>ru</code> - the Row to end decompression at</dd>
+</dl>
+</li>
+</ul>
+<a name="decompressColumnToBlock-double:A-int-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>decompressColumnToBlock</h4>
+<pre>public&nbsp;void&nbsp;decompressColumnToBlock(double[]&nbsp;c,
+                                    int&nbsp;colpos,
+                                    int&nbsp;rl,
+                                    int&nbsp;ru)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-double:A-int-int-int-">AColGroup</a></code></span></div>
+<div class="block">Decompress to dense array.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-double:A-int-int-int-">decompressColumnToBlock</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>c</code> - dense output vector double array.</dd>
+<dd><code>colpos</code> - column to decompress, error if larger or equal numCols</dd>
+<dd><code>rl</code> - the Row to start decompression from</dd>
+<dd><code>ru</code> - the Row to end decompression at</dd>
+</dl>
+</li>
+</ul>
 <a name="getCounts-int:A-">
 <!--   -->
 </a>
@@ -498,11 +639,11 @@
                               int&nbsp;rl,
                               int&nbsp;ru,
                               double[]&nbsp;dictVals)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#rightMultByVector-double:A-double:A-int-int-double:A-">ColGroup</a></code></span></div>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#rightMultByVector-double:A-double:A-int-int-double:A-">AColGroup</a></code></span></div>
 <div class="block">Multiply the slice of the matrix that this column group represents by a vector on the right.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#rightMultByVector-double:A-double:A-int-int-double:A-">rightMultByVector</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#rightMultByVector-double:A-double:A-int-int-double:A-">rightMultByVector</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>b</code> - Vector to multiply by (tall vector)</dd>
 <dd><code>c</code> - Accumulator for holding the result</dd>
@@ -512,88 +653,32 @@
 </dl>
 </li>
 </ul>
-<a name="rightMultByMatrix-double:A-double:A-int-int-int-int-int-">
+<a name="rightMultByMatrix-int:A-double:A-double:A-int-int-int-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>rightMultByMatrix</h4>
-<pre>public&nbsp;void&nbsp;rightMultByMatrix(double[]&nbsp;preAggregatedB,
+<pre>public&nbsp;void&nbsp;rightMultByMatrix(int[]&nbsp;outputColumns,
+                              double[]&nbsp;preAggregatedB,
                               double[]&nbsp;c,
                               int&nbsp;thatNrColumns,
                               int&nbsp;rl,
-                              int&nbsp;ru,
-                              int&nbsp;cl,
-                              int&nbsp;cu)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#rightMultByMatrix-double:A-double:A-int-int-int-int-int-">ColGroup</a></code></span></div>
+                              int&nbsp;ru)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#rightMultByMatrix-int:A-double:A-double:A-int-int-int-">AColGroup</a></code></span></div>
 <div class="block">Right multiply by matrix. for which the compressed matrix is on the left and the uncompressed is on the right.
  Note that there is no b argument, but the b is aggregated into the values needed for assignment and addition into
  output.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#rightMultByMatrix-double:A-double:A-int-int-int-int-int-">rightMultByMatrix</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#rightMultByMatrix-int:A-double:A-double:A-int-int-int-">rightMultByMatrix</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>outputColumns</code> - The Columns that are affected by the right multiplication.</dd>
 <dd><code>preAggregatedB</code> - The preAggregated values that is to be put into c</dd>
 <dd><code>c</code> - The output matrix</dd>
 <dd><code>thatNrColumns</code> - The number of columns in B (before aggregation)</dd>
 <dd><code>rl</code> - The row index to start the multiplication from</dd>
 <dd><code>ru</code> - The row index to stop the multiplication at</dd>
-<dd><code>cl</code> - The column index to start from</dd>
-<dd><code>cu</code> - The row index to stop at.</dd>
-</dl>
-</li>
-</ul>
-<a name="rightMultBySparseMatrix-org.apache.sysds.runtime.data.SparseRow:A-double:A-int-double:A-int-int-int-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>rightMultBySparseMatrix</h4>
-<pre>public&nbsp;void&nbsp;rightMultBySparseMatrix(<a href="../../../../../../org/apache/sysds/runtime/data/SparseRow.html" title="class in org.apache.sysds.runtime.data">SparseRow</a>[]&nbsp;rows,
-                                    double[]&nbsp;c,
-                                    int&nbsp;numVals,
-                                    double[]&nbsp;dictVals,
-                                    int&nbsp;nrColumns,
-                                    int&nbsp;rl,
-                                    int&nbsp;ru)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#rightMultBySparseMatrix-org.apache.sysds.runtime.data.SparseRow:A-double:A-int-double:A-int-int-int-">ColGroup</a></code></span></div>
-<div class="block">Sparse right multiply by matrix, for which the compressed matrix is on the left and the uncompressed sparse is on
- the right. This call differ from the other right multiply by not having a preAggregation phase.
- 
- This should only be called in very sparse situations.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#rightMultBySparseMatrix-org.apache.sysds.runtime.data.SparseRow:A-double:A-int-double:A-int-int-int-">rightMultBySparseMatrix</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>rows</code> - The sparse rows</dd>
-<dd><code>c</code> - The output matrix linearized</dd>
-<dd><code>numVals</code> - The number of values in the dictionary</dd>
-<dd><code>dictVals</code> - The materialized dictionary</dd>
-<dd><code>nrColumns</code> - The number of columns in the matrix to multiply with and also in the output</dd>
-<dd><code>rl</code> - The row index to start at</dd>
-<dd><code>ru</code> - The row index to stop at.</dd>
-</dl>
-</li>
-</ul>
-<a name="leftMultByRowVector-double:A-double:A-int-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>leftMultByRowVector</h4>
-<pre>public&nbsp;void&nbsp;leftMultByRowVector(double[]&nbsp;a,
-                                double[]&nbsp;c,
-                                int&nbsp;numVals)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#leftMultByRowVector-double:A-double:A-int-">ColGroup</a></code></span></div>
-<div class="block">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. its size now is 1xn).</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#leftMultByRowVector-double:A-double:A-int-">leftMultByRowVector</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>a</code> - row vector</dd>
-<dd><code>c</code> - matrix block result</dd>
-<dd><code>numVals</code> - The Number of values contained in the Column.</dd>
 </dl>
 </li>
 </ul>
@@ -607,15 +692,15 @@
                                 double[]&nbsp;c,
                                 int&nbsp;numVals,
                                 double[]&nbsp;values)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#leftMultByRowVector-double:A-double:A-int-double:A-">ColGroup</a></code></span></div>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#leftMultByRowVector-double:A-double:A-int-double:A-">AColGroup</a></code></span></div>
 <div class="block">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. its size now is 1xn).</div>
 <dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#leftMultByRowVector-double:A-double:A-int-double:A-">leftMultByRowVector</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#leftMultByRowVector-double:A-double:A-int-double:A-">leftMultByRowVector</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>a</code> - row vector</dd>
-<dd><code>c</code> - matrix block result</dd>
+<dd><code>a</code> - Row vector</dd>
+<dd><code>c</code> - Matrix block result</dd>
 <dd><code>numVals</code> - The Number of values contained in the Column.</dd>
 <dd><code>values</code> - The materialized list of values contained in the dictionary.</dd>
 </dl>
@@ -635,11 +720,11 @@
                              int&nbsp;rl,
                              int&nbsp;ru,
                              int&nbsp;vOff)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#leftMultByMatrix-double:A-double:A-double:A-int-int-int-int-int-">ColGroup</a></code></span></div>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#leftMultByMatrix-double:A-double:A-double:A-int-int-int-int-int-">AColGroup</a></code></span></div>
 <div class="block">Multiply with a matrix on the left.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#leftMultByMatrix-double:A-double:A-double:A-int-int-int-int-int-">leftMultByMatrix</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#leftMultByMatrix-double:A-double:A-double:A-int-int-int-int-int-">leftMultByMatrix</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>a</code> - matrix to left multiply</dd>
 <dd><code>c</code> - matrix block result</dd>
@@ -652,40 +737,32 @@
 </dl>
 </li>
 </ul>
-<a name="leftMultBySparseMatrix-int-int:A-double:A-double:A-int-double:A-int-int-int-double:A-">
+<a name="leftMultBySparseMatrix-org.apache.sysds.runtime.data.SparseBlock-double:A-double:A-int-int-int-double:A-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>leftMultBySparseMatrix</h4>
-<pre>public&nbsp;void&nbsp;leftMultBySparseMatrix(int&nbsp;spNrVals,
-                                   int[]&nbsp;indexes,
-                                   double[]&nbsp;sparseV,
+<pre>public&nbsp;void&nbsp;leftMultBySparseMatrix(<a href="../../../../../../org/apache/sysds/runtime/data/SparseBlock.html" title="class in org.apache.sysds.runtime.data">SparseBlock</a>&nbsp;sb,
                                    double[]&nbsp;c,
-                                   int&nbsp;numVals,
                                    double[]&nbsp;values,
                                    int&nbsp;numRows,
                                    int&nbsp;numCols,
                                    int&nbsp;row,
                                    double[]&nbsp;MaterializedRow)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#leftMultBySparseMatrix-int-int:A-double:A-double:A-int-double:A-int-int-int-double:A-">ColGroup</a></code></span></div>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#leftMultBySparseMatrix-org.apache.sysds.runtime.data.SparseBlock-double:A-double:A-int-int-int-double:A-">AColGroup</a></code></span></div>
 <div class="block">Multiply with a sparse matrix on the left hand side, and add the values to the output result</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#leftMultBySparseMatrix-int-int:A-double:A-double:A-int-double:A-int-int-int-double:A-">leftMultBySparseMatrix</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#leftMultBySparseMatrix-org.apache.sysds.runtime.data.SparseBlock-double:A-double:A-int-int-int-double:A-">leftMultBySparseMatrix</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>spNrVals</code> - the Number of sparse values (since the number of indexes does not align with number of
-                        values)</dd>
-<dd><code>indexes</code> - the indexes for the sparse values in the given row.</dd>
-<dd><code>sparseV</code> - the sparse values.</dd>
-<dd><code>c</code> - the linearized output matrix</dd>
-<dd><code>numVals</code> - the number of values in the dictionary</dd>
-<dd><code>values</code> - the dictionary values materialized</dd>
-<dd><code>numRows</code> - the number of rows in the left hand side input matrix (the sparse one)</dd>
-<dd><code>numCols</code> - the number of columns in the compression.</dd>
-<dd><code>row</code> - the row index of the sparse row to multiply with.</dd>
-<dd><code>MaterializedRow</code> - The sparse row materialized (should only be done if needed for the specific type of
-                        ColumnGroup)</dd>
+<dd><code>sb</code> - The sparse block to multiply with</dd>
+<dd><code>c</code> - The linearized output matrix</dd>
+<dd><code>values</code> - The dictionary values materialized</dd>
+<dd><code>numRows</code> - The number of rows in the left hand side input matrix (the sparse one)</dd>
+<dd><code>numCols</code> - The number of columns in the compression.</dd>
+<dd><code>row</code> - The row index of the sparse row to multiply with.</dd>
+<dd><code>MaterializedRow</code> - A Temporary dense row vector to materialize the sparse values into used for OLE</dd>
 </dl>
 </li>
 </ul>
@@ -695,13 +772,13 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>scalarOperation</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>&nbsp;scalarOperation(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">ColGroup</a></code></span></div>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a>&nbsp;scalarOperation(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">AColGroup</a></code></span></div>
 <div class="block">Perform the specified scalar operation directly on the compressed column group, without decompressing individual
  cells if possible.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">scalarOperation</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">scalarOperation</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>op</code> - operation to perform</dd>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -709,24 +786,26 @@
 </dl>
 </li>
 </ul>
-<a name="binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-">
+<a name="binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-boolean-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>binaryRowOp</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>&nbsp;binaryRowOp(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
-                            double[]&nbsp;v,
-                            boolean&nbsp;sparseSafe)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-">ColGroup</a></code></span></div>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a>&nbsp;binaryRowOp(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
+                             double[]&nbsp;v,
+                             boolean&nbsp;sparseSafe,
+                             boolean&nbsp;left)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-boolean-">AColGroup</a></code></span></div>
 <div class="block">Perform a binary row operation.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-">binaryRowOp</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-boolean-">binaryRowOp</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>op</code> - The operation to execute</dd>
 <dd><code>v</code> - The vector of values to apply, should be same length as dictionary length.</dd>
 <dd><code>sparseSafe</code> - True if the operation return 0 on all instances of values in v -- op(v[?], 0)</dd>
+<dd><code>left</code> - Specifies if the operation is executed on the left or right side of the values contained.</dd>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>A updated column group with the new values.</dd>
 </dl>
@@ -750,11 +829,11 @@
 <pre>public&nbsp;void&nbsp;countNonZerosPerRow(int[]&nbsp;rnnz,
                                 int&nbsp;rl,
                                 int&nbsp;ru)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#countNonZerosPerRow-int:A-int-int-">ColGroup</a></code></span></div>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#countNonZerosPerRow-int:A-int-int-">AColGroup</a></code></span></div>
 <div class="block">Count the number of non-zeros per row</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#countNonZerosPerRow-int:A-int-int-">countNonZerosPerRow</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#countNonZerosPerRow-int:A-int-int-">countNonZerosPerRow</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>rnnz</code> - non-zeros per row</dd>
 <dd><code>rl</code> - row lower bound, inclusive</dd>
@@ -762,70 +841,112 @@
 </dl>
 </li>
 </ul>
-<a name="getIterator-int-">
+<a name="get-int-int-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getIterator</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;getIterator(int&nbsp;k)</pre>
+<h4>get</h4>
+<pre>public&nbsp;double&nbsp;get(int&nbsp;r,
+                  int&nbsp;c)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#get-int-int-">AColGroup</a></code></span></div>
+<div class="block">Get the value at a global row/column position.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#getIterator-int-">getIterator</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOffset</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#get-int-int-">get</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>k</code> - index of value tuple with associated bitmap</dd>
+<dd><code>r</code> - row</dd>
+<dd><code>c</code> - column</dd>
 <dt><span class="returnLabel">Returns:</span></dt>
-<dd>an iterator over the row offsets in this bitmap</dd>
+<dd>value at the row/column position</dd>
 </dl>
 </li>
 </ul>
-<a name="getIterator-int-int-int-">
+<a name="toString--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getIterator</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;getIterator(int&nbsp;k,
-                                     int&nbsp;rl,
-                                     int&nbsp;ru)</pre>
+<h4>toString</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
 <dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#getIterator-int-int-int-">getIterator</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOffset</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>k</code> - index of value tuple with associated bitmap</dd>
-<dd><code>rl</code> - row lower index, inclusive</dd>
-<dd><code>ru</code> - row upper index, exclusive</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>an iterator over the row offsets in this bitmap</dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#toString--">toString</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOffset</a></code></dd>
 </dl>
 </li>
 </ul>
-<a name="getRowIterator-int-int-">
+<a name="preAggregate-double:A-int-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getRowIterator</h4>
-<pre>public&nbsp;org.apache.sysds.runtime.compress.colgroup.ColGroup.ColGroupRowIterator&nbsp;getRowIterator(int&nbsp;rl,
-                                                                                              int&nbsp;ru)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getRowIterator-int-int-">ColGroup</a></code></span></div>
-<div class="block">Create a dense row iterator for a row index range. This iterator implies the inclusion of zeros and row-major
- iteration order.</div>
+<h4>preAggregate</h4>
+<pre>public&nbsp;double[]&nbsp;preAggregate(double[]&nbsp;a,
+                             int&nbsp;row)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregate-double:A-int-">ColGroupValue</a></code></span></div>
+<div class="block">Pre aggregates for left multiplication</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getRowIterator-int-int-">getRowIterator</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregate-double:A-int-">preAggregate</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>rl</code> - row lower index, inclusive</dd>
-<dd><code>ru</code> - row upper index, exclusive</dd>
+<dd><code>a</code> - The input dense vector or matrix to aggregate</dd>
+<dd><code>row</code> - The row index to aggregate</dd>
 <dt><span class="returnLabel">Returns:</span></dt>
-<dd>an iterator instance</dd>
+<dd>The pre-aggregated values.</dd>
+</dl>
+</li>
+</ul>
+<a name="preAggregateSparse-org.apache.sysds.runtime.data.SparseBlock-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>preAggregateSparse</h4>
+<pre>public&nbsp;double[]&nbsp;preAggregateSparse(<a href="../../../../../../org/apache/sysds/runtime/data/SparseBlock.html" title="class in org.apache.sysds.runtime.data">SparseBlock</a>&nbsp;sb,
+                                   int&nbsp;row)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateSparse-org.apache.sysds.runtime.data.SparseBlock-int-">ColGroupValue</a></code></span></div>
+<div class="block">Pre aggregate for left multiplication of sparse vector or matrix.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateSparse-org.apache.sysds.runtime.data.SparseBlock-int-">preAggregateSparse</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>sb</code> - The input sparse vector or matrix to aggregate</dd>
+<dd><code>row</code> - The row index to aggregate</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The pre-aggregated values.</dd>
+</dl>
+</li>
+</ul>
+<a name="sameIndexStructure-org.apache.sysds.runtime.compress.colgroup.ColGroupValue-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>sameIndexStructure</h4>
+<pre>public&nbsp;boolean&nbsp;sameIndexStructure(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a>&nbsp;that)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#sameIndexStructure-org.apache.sysds.runtime.compress.colgroup.ColGroupValue-">sameIndexStructure</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getIndexStructureHash--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getIndexStructureHash</h4>
+<pre>public&nbsp;int&nbsp;getIndexStructureHash()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getIndexStructureHash--">getIndexStructureHash</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
 </dl>
 </li>
 </ul>
 <a name="genRLEBitmap-int:A-int-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>genRLEBitmap</h4>
 <pre>public static&nbsp;char[]&nbsp;genRLEBitmap(int[]&nbsp;offsets,
@@ -842,6 +963,97 @@
 </dl>
 </li>
 </ul>
+<a name="preAggregateDDC-org.apache.sysds.runtime.compress.colgroup.ColGroupDDC-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>preAggregateDDC</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a>&nbsp;preAggregateDDC(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a>&nbsp;lhs)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateDDC-org.apache.sysds.runtime.compress.colgroup.ColGroupDDC-">preAggregateDDC</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="preAggregateSDC-org.apache.sysds.runtime.compress.colgroup.ColGroupSDC-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>preAggregateSDC</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a>&nbsp;preAggregateSDC(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDC</a>&nbsp;lhs)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateSDC-org.apache.sysds.runtime.compress.colgroup.ColGroupSDC-">preAggregateSDC</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="preAggregateSDCSingle-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingle-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>preAggregateSDCSingle</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a>&nbsp;preAggregateSDCSingle(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingle</a>&nbsp;lhs)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateSDCSingle-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingle-">preAggregateSDCSingle</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="preAggregateSDCZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCZeros-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>preAggregateSDCZeros</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a>&nbsp;preAggregateSDCZeros(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCZeros</a>&nbsp;lhs)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateSDCZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCZeros-">preAggregateSDCZeros</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="preAggregateSDCSingleZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingleZeros-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>preAggregateSDCSingleZeros</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a>&nbsp;preAggregateSDCSingleZeros(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingleZeros</a>&nbsp;lhs)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateSDCSingleZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingleZeros-">preAggregateSDCSingleZeros</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="preAggregateOLE-org.apache.sysds.runtime.compress.colgroup.ColGroupOLE-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>preAggregateOLE</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a>&nbsp;preAggregateOLE(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOLE</a>&nbsp;lhs)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateOLE-org.apache.sysds.runtime.compress.colgroup.ColGroupOLE-">preAggregateOLE</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="preAggregateRLE-org.apache.sysds.runtime.compress.colgroup.ColGroupRLE-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>preAggregateRLE</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a>&nbsp;preAggregateRLE(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupRLE</a>&nbsp;lhs)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateRLE-org.apache.sysds.runtime.compress.colgroup.ColGroupRLE-">preAggregateRLE</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>
@@ -871,7 +1083,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSizes.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" target="_top">Frames</a></li>
@@ -895,7 +1107,7 @@
 <div>
 <ul class="subNavList">
 <li>Summary:&nbsp;</li>
-<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.ColGroup">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.AColGroup">Nested</a>&nbsp;|&nbsp;</li>
 <li>Field&nbsp;|&nbsp;</li>
 <li>Constr&nbsp;|&nbsp;</li>
 <li><a href="#method.summary">Method</a></li>
@@ -911,6 +1123,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html
new file mode 100644
index 0000000..9570f79
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html
@@ -0,0 +1,1158 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>ColGroupSDC (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="ColGroupSDC (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ColGroupSDC.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html" target="_top">Frames</a></li>
+<li><a href="ColGroupSDC.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.AColGroup">Nested</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.sysds.runtime.compress.colgroup</div>
+<h2 title="Class ColGroupSDC" class="title">Class ColGroupSDC</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">org.apache.sysds.runtime.compress.colgroup.AColGroup</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">org.apache.sysds.runtime.compress.colgroup.ColGroupValue</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.sysds.runtime.compress.colgroup.ColGroupSDC</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Cloneable.html?is-external=true" title="class or interface in java.lang">Cloneable</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">ColGroupSDC</span>
+extends <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></pre>
+<div class="block">Column group that sparsely encodes the dictionary values. The idea is that all values is encoded with indexes except
+ the most common one. the most common one can be inferred by not being included in the indexes. If the values are very
+ sparse then the most common one is zero.
+ 
+ This column group is handy in cases where sparse unsafe operations is executed on very sparse columns. Then the zeros
+ would be materialized in the group without any overhead.</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../../serialized-form.html#org.apache.sysds.runtime.compress.colgroup.ColGroupSDC">Serialized Form</a></dd>
+</dl>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!--   -->
+</a>
+<h3>Nested Class Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.AColGroup">
+<!--   -->
+</a>
+<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.ColGroupType</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-boolean-">binaryRowOp</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
+           double[]&nbsp;v,
+           boolean&nbsp;sparseSafe,
+           boolean&nbsp;left)</code>
+<div class="block">Perform a binary row operation.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html#countNonZerosPerRow-int:A-int-int-">countNonZerosPerRow</a></span>(int[]&nbsp;rnnz,
+                   int&nbsp;rl,
+                   int&nbsp;ru)</code>
+<div class="block">Count the number of non-zeros per row</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html#decompressColumnToBlock-double:A-int-int-int-">decompressColumnToBlock</a></span>(double[]&nbsp;c,
+                       int&nbsp;colpos,
+                       int&nbsp;rl,
+                       int&nbsp;ru)</code>
+<div class="block">Decompress to dense array.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">decompressColumnToBlock</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                       int&nbsp;colPos)</code>
+<div class="block">Decompress to block.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-">decompressColumnToBlock</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                       int&nbsp;colpos,
+                       int&nbsp;rl,
+                       int&nbsp;ru)</code>
+<div class="block">Decompress to block.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">decompressToBlock</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                 int[]&nbsp;colIndexTargets)</code>
+<div class="block">Decompress the contents of this column group into uncompressed packed columns</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html#decompressToBlockSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">decompressToBlockSafe</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                     int&nbsp;rl,
+                     int&nbsp;ru,
+                     int&nbsp;offT,
+                     double[]&nbsp;values)</code>
+<div class="block">Decompress the contents of this column group into the specified full matrix block without managing the number of
+ non zeros.</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html#decompressToBlockUnSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">decompressToBlockUnSafe</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                       int&nbsp;rl,
+                       int&nbsp;ru,
+                       int&nbsp;offT,
+                       double[]&nbsp;values)</code>&nbsp;</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html#estimateInMemorySize--">estimateInMemorySize</a></span>()</code>
+<div class="block">Note: Must be overridden by child classes to account for additional data and metadata</div>
+</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>double</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html#get-int-int-">get</a></span>(int&nbsp;r,
+   int&nbsp;c)</code>
+<div class="block">Get the value at a global row/column position.</div>
+</td>
+</tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.ColGroupType</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html#getColGroupType--">getColGroupType</a></span>()</code>
+<div class="block">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.</div>
+</td>
+</tr>
+<tr id="i11" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html#getCompType--">getCompType</a></span>()</code>
+<div class="block">Obtain the compression type.</div>
+</td>
+</tr>
+<tr id="i12" class="altColor">
+<td class="colFirst"><code>int[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html#getCounts-int:A-">getCounts</a></span>(int[]&nbsp;counts)</code>&nbsp;</td>
+</tr>
+<tr id="i13" class="rowColor">
+<td class="colFirst"><code>int[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html#getCounts-int-int-int:A-">getCounts</a></span>(int&nbsp;rl,
+         int&nbsp;ru,
+         int[]&nbsp;counts)</code>&nbsp;</td>
+</tr>
+<tr id="i14" class="altColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html#getExactSizeOnDisk--">getExactSizeOnDisk</a></span>()</code>
+<div class="block">Returns the exact serialized size of column group.</div>
+</td>
+</tr>
+<tr id="i15" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html#getIndex-int-">getIndex</a></span>(int&nbsp;r)</code>&nbsp;</td>
+</tr>
+<tr id="i16" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html#getIndexStructureHash--">getIndexStructureHash</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i17" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html#leftMultByMatrix-double:A-double:A-double:A-int-int-int-int-int-">leftMultByMatrix</a></span>(double[]&nbsp;a,
+                double[]&nbsp;c,
+                double[]&nbsp;values,
+                int&nbsp;numRows,
+                int&nbsp;numCols,
+                int&nbsp;rl,
+                int&nbsp;ru,
+                int&nbsp;voff)</code>
+<div class="block">Multiply with a matrix on the left.</div>
+</td>
+</tr>
+<tr id="i18" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html#leftMultBySparseMatrix-org.apache.sysds.runtime.data.SparseBlock-double:A-double:A-int-int-int-double:A-">leftMultBySparseMatrix</a></span>(<a href="../../../../../../org/apache/sysds/runtime/data/SparseBlock.html" title="class in org.apache.sysds.runtime.data">SparseBlock</a>&nbsp;sb,
+                      double[]&nbsp;c,
+                      double[]&nbsp;values,
+                      int&nbsp;numRows,
+                      int&nbsp;numCols,
+                      int&nbsp;row,
+                      double[]&nbsp;MaterializedRow)</code>
+<div class="block">Multiply with a sparse matrix on the left hand side, and add the values to the output result</div>
+</td>
+</tr>
+<tr id="i19" class="rowColor">
+<td class="colFirst"><code>double[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html#preAggregate-double:A-int-">preAggregate</a></span>(double[]&nbsp;a,
+            int&nbsp;row)</code>
+<div class="block">Pre aggregates for left multiplication</div>
+</td>
+</tr>
+<tr id="i20" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html#preAggregateDDC-org.apache.sysds.runtime.compress.colgroup.ColGroupDDC-">preAggregateDDC</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr id="i21" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html#preAggregateOLE-org.apache.sysds.runtime.compress.colgroup.ColGroupOLE-">preAggregateOLE</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOLE</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr id="i22" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html#preAggregateRLE-org.apache.sysds.runtime.compress.colgroup.ColGroupRLE-">preAggregateRLE</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupRLE</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr id="i23" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html#preAggregateSDC-org.apache.sysds.runtime.compress.colgroup.ColGroupSDC-">preAggregateSDC</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDC</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr id="i24" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html#preAggregateSDCSingle-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingle-">preAggregateSDCSingle</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingle</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr id="i25" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html#preAggregateSDCSingleZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingleZeros-">preAggregateSDCSingleZeros</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingleZeros</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr id="i26" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html#preAggregateSDCZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCZeros-">preAggregateSDCZeros</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCZeros</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr id="i27" class="rowColor">
+<td class="colFirst"><code>double[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html#preAggregateSparse-org.apache.sysds.runtime.data.SparseBlock-int-">preAggregateSparse</a></span>(<a href="../../../../../../org/apache/sysds/runtime/data/SparseBlock.html" title="class in org.apache.sysds.runtime.data">SparseBlock</a>&nbsp;sb,
+                  int&nbsp;row)</code>
+<div class="block">Pre aggregate for left multiplication of sparse vector or matrix.</div>
+</td>
+</tr>
+<tr id="i28" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html#readFields-java.io.DataInput-">readFields</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a>&nbsp;in)</code>
+<div class="block">Deserialize column group from data input.</div>
+</td>
+</tr>
+<tr id="i29" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html#rightMultByMatrix-int:A-double:A-double:A-int-int-int-">rightMultByMatrix</a></span>(int[]&nbsp;outputColumns,
+                 double[]&nbsp;preAggregatedB,
+                 double[]&nbsp;c,
+                 int&nbsp;thatNrColumns,
+                 int&nbsp;rl,
+                 int&nbsp;ru)</code>
+<div class="block">Right multiply by matrix.</div>
+</td>
+</tr>
+<tr id="i30" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html#rightMultByVector-double:A-double:A-int-int-double:A-">rightMultByVector</a></span>(double[]&nbsp;vector,
+                 double[]&nbsp;c,
+                 int&nbsp;rl,
+                 int&nbsp;ru,
+                 double[]&nbsp;dictVals)</code>
+<div class="block">Multiply the slice of the matrix that this column group represents by a vector on the right.</div>
+</td>
+</tr>
+<tr id="i31" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html#sameIndexStructure-org.apache.sysds.runtime.compress.colgroup.ColGroupValue-">sameIndexStructure</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a>&nbsp;that)</code>&nbsp;</td>
+</tr>
+<tr id="i32" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">scalarOperation</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op)</code>
+<div class="block">Perform the specified scalar operation directly on the compressed column group, without decompressing individual
+ cells if possible.</div>
+</td>
+</tr>
+<tr id="i33" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html#toString--">toString</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i34" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html#write-java.io.DataOutput-">write</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataOutput.html?is-external=true" title="class or interface in java.io">DataOutput</a>&nbsp;out)</code>
+<div class="block">Serializes column group to data output.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.ColGroupValue">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#addMinMax-double:A-">addMinMax</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#applyBinaryRowOp-org.apache.sysds.runtime.functionobjects.ValueFunction-double:A-boolean-boolean-">applyBinaryRowOp</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#cleanupThreadLocalMemory--">cleanupThreadLocalMemory</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#containsValue-double-">containsValue</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#copy--">copy</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#copyAndSet-int:A-org.apache.sysds.runtime.compress.colgroup.ADictionary-">copyAndSet</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#copyAndSet-int:A-double:A-">copyAndSet</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCachedCounts--">getCachedCounts</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCounts--">getCounts</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCounts-int-int-">getCounts</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getDictionary--">getDictionary</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getIfCountsType--">getIfCountsType</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getMax--">getMax</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getMin--">getMin</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getNumberNonZeros--">getNumberNonZeros</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getNumValues--">getNumValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getValues--">getValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getValuesAsBlock--">getValuesAsBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#isLossy--">isLossy</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#leftMultByAggregatedColGroup-org.apache.sysds.runtime.compress.colgroup.ColGroupValue-double:A-int-int-">leftMultByAggregatedColGroup</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#leftMultByRowVector-double:A-double:A-">leftMultByRowVector</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#leftMultByRowVector-double:A-double:A-int-">leftMultByRowVector</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#leftMultByRowVector-double:A-double:A-int-double:A-">leftMultByRowVector</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#leftMultByRowVector-double:A-double:A-int-double:A-int-">leftMultByRowVector</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#leftMultBySelfDiagonalColGroup-double:A-int-">leftMultBySelfDiagonalColGroup</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregate-org.apache.sysds.runtime.compress.colgroup.ColGroupValue-">preAggregate</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregate-double:A-">preAggregate</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregate-org.apache.sysds.runtime.data.SparseBlock-">preAggregate</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateCONST-org.apache.sysds.runtime.compress.colgroup.ColGroupConst-">preAggregateCONST</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preaggValues-int-org.apache.sysds.runtime.matrix.data.MatrixBlock-double:A-int-int-int-">preaggValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preCallAggregate-org.apache.sysds.runtime.compress.colgroup.ColGroupValue-">preCallAggregate</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#setupThreadLocalMemory-int-">setupThreadLocalMemory</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#sliceColumns-int-int-">sliceColumns</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-">unaryAggregateOperations</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-int-int-">unaryAggregateOperations</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.AColGroup">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToArray-double:A-int-java.util.List-">decompressColumnToArray</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-double:A-int-int-int-java.util.List-">decompressColumnToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-java.util.List-">decompressColumnToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-java.util.List-">decompressColumnToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlockUnSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-java.util.List-">decompressColumnToBlockUnSafe</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-boolean-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-double:A-boolean-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-boolean-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-boolean-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getColIndex-int-">getColIndex</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getColIndices--">getColIndices</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getNumCols--">getNumCols</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getNumRows--">getNumRows</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#isDense--">isDense</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#shiftColIndices-int-">shiftColIndices</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getCompType--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getCompType</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a>&nbsp;getCompType()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getCompType--">AColGroup</a></code></span></div>
+<div class="block">Obtain the compression type.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getCompType--">getCompType</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>How the elements of the column group are compressed.</dd>
+</dl>
+</li>
+</ul>
+<a name="getColGroupType--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getColGroupType</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.ColGroupType</a>&nbsp;getColGroupType()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getColGroupType--">AColGroup</a></code></span></div>
+<div class="block">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.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getColGroupType--">getColGroupType</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>ColGroupType of the object.</dd>
+</dl>
+</li>
+</ul>
+<a name="decompressToBlockSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>decompressToBlockSafe</h4>
+<pre>public&nbsp;void&nbsp;decompressToBlockSafe(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                                  int&nbsp;rl,
+                                  int&nbsp;ru,
+                                  int&nbsp;offT,
+                                  double[]&nbsp;values)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlockSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">AColGroup</a></code></span></div>
+<div class="block">Decompress the contents of this column group into the specified full matrix block without managing the number of
+ non zeros.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlockSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">decompressToBlockSafe</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>target</code> - a matrix block where the columns covered by this column group have not yet been filled in.</dd>
+<dd><code>rl</code> - row lower</dd>
+<dd><code>ru</code> - row upper</dd>
+<dd><code>offT</code> - Offset into target to assign from</dd>
+<dd><code>values</code> - The Values materialized in the dictionary</dd>
+</dl>
+</li>
+</ul>
+<a name="decompressToBlockUnSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>decompressToBlockUnSafe</h4>
+<pre>public&nbsp;void&nbsp;decompressToBlockUnSafe(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                                    int&nbsp;rl,
+                                    int&nbsp;ru,
+                                    int&nbsp;offT,
+                                    double[]&nbsp;values)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlockUnSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">decompressToBlockUnSafe</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>decompressToBlock</h4>
+<pre>public&nbsp;void&nbsp;decompressToBlock(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                              int[]&nbsp;colIndexTargets)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">AColGroup</a></code></span></div>
+<div class="block">Decompress the contents of this column group into uncompressed packed columns</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">decompressToBlock</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>target</code> - a dense matrix block. The block must have enough space to hold the contents of this column
+                        group.</dd>
+<dd><code>colIndexTargets</code> - array that maps column indices in the original matrix block to columns of target.</dd>
+</dl>
+</li>
+</ul>
+<a name="decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>decompressColumnToBlock</h4>
+<pre>public&nbsp;void&nbsp;decompressColumnToBlock(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                                    int&nbsp;colPos)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">AColGroup</a></code></span></div>
+<div class="block">Decompress to block.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">decompressColumnToBlock</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>target</code> - dense output vector</dd>
+<dd><code>colPos</code> - column to decompress, error if larger or equal numCols</dd>
+</dl>
+</li>
+</ul>
+<a name="decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>decompressColumnToBlock</h4>
+<pre>public&nbsp;void&nbsp;decompressColumnToBlock(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                                    int&nbsp;colpos,
+                                    int&nbsp;rl,
+                                    int&nbsp;ru)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-">AColGroup</a></code></span></div>
+<div class="block">Decompress to block.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-">decompressColumnToBlock</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>target</code> - dense output vector</dd>
+<dd><code>colpos</code> - column to decompress, error if larger or equal numCols</dd>
+<dd><code>rl</code> - the Row to start decompression from</dd>
+<dd><code>ru</code> - the Row to end decompression at</dd>
+</dl>
+</li>
+</ul>
+<a name="decompressColumnToBlock-double:A-int-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>decompressColumnToBlock</h4>
+<pre>public&nbsp;void&nbsp;decompressColumnToBlock(double[]&nbsp;c,
+                                    int&nbsp;colpos,
+                                    int&nbsp;rl,
+                                    int&nbsp;ru)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-double:A-int-int-int-">AColGroup</a></code></span></div>
+<div class="block">Decompress to dense array.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-double:A-int-int-int-">decompressColumnToBlock</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>c</code> - dense output vector double array.</dd>
+<dd><code>colpos</code> - column to decompress, error if larger or equal numCols</dd>
+<dd><code>rl</code> - the Row to start decompression from</dd>
+<dd><code>ru</code> - the Row to end decompression at</dd>
+</dl>
+</li>
+</ul>
+<a name="get-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>get</h4>
+<pre>public&nbsp;double&nbsp;get(int&nbsp;r,
+                  int&nbsp;c)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#get-int-int-">AColGroup</a></code></span></div>
+<div class="block">Get the value at a global row/column position.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#get-int-int-">get</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>r</code> - row</dd>
+<dd><code>c</code> - column</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>value at the row/column position</dd>
+</dl>
+</li>
+</ul>
+<a name="countNonZerosPerRow-int:A-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>countNonZerosPerRow</h4>
+<pre>public&nbsp;void&nbsp;countNonZerosPerRow(int[]&nbsp;rnnz,
+                                int&nbsp;rl,
+                                int&nbsp;ru)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#countNonZerosPerRow-int:A-int-int-">AColGroup</a></code></span></div>
+<div class="block">Count the number of non-zeros per row</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#countNonZerosPerRow-int:A-int-int-">countNonZerosPerRow</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>rnnz</code> - non-zeros per row</dd>
+<dd><code>rl</code> - row lower bound, inclusive</dd>
+<dd><code>ru</code> - row upper bound, exclusive</dd>
+</dl>
+</li>
+</ul>
+<a name="getCounts-int:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getCounts</h4>
+<pre>public&nbsp;int[]&nbsp;getCounts(int[]&nbsp;counts)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCounts-int:A-">getCounts</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getCounts-int-int-int:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getCounts</h4>
+<pre>public&nbsp;int[]&nbsp;getCounts(int&nbsp;rl,
+                       int&nbsp;ru,
+                       int[]&nbsp;counts)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCounts-int-int-int:A-">getCounts</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getIndex-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getIndex</h4>
+<pre>public&nbsp;int&nbsp;getIndex(int&nbsp;r)</pre>
+</li>
+</ul>
+<a name="leftMultByMatrix-double:A-double:A-double:A-int-int-int-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>leftMultByMatrix</h4>
+<pre>public&nbsp;void&nbsp;leftMultByMatrix(double[]&nbsp;a,
+                             double[]&nbsp;c,
+                             double[]&nbsp;values,
+                             int&nbsp;numRows,
+                             int&nbsp;numCols,
+                             int&nbsp;rl,
+                             int&nbsp;ru,
+                             int&nbsp;voff)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#leftMultByMatrix-double:A-double:A-double:A-int-int-int-int-int-">AColGroup</a></code></span></div>
+<div class="block">Multiply with a matrix on the left.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#leftMultByMatrix-double:A-double:A-double:A-int-int-int-int-int-">leftMultByMatrix</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>a</code> - matrix to left multiply</dd>
+<dd><code>c</code> - matrix block result</dd>
+<dd><code>values</code> - The materialized list of values contained in the dictionary.</dd>
+<dd><code>numRows</code> - The number of rows in the matrix input</dd>
+<dd><code>numCols</code> - The number of columns in the colGroups parent matrix.</dd>
+<dd><code>rl</code> - The row to start the matrix multiplication from</dd>
+<dd><code>ru</code> - The row to stop the matrix multiplication at.</dd>
+<dd><code>voff</code> - The offset into the first argument matrix to start at.</dd>
+</dl>
+</li>
+</ul>
+<a name="leftMultBySparseMatrix-org.apache.sysds.runtime.data.SparseBlock-double:A-double:A-int-int-int-double:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>leftMultBySparseMatrix</h4>
+<pre>public&nbsp;void&nbsp;leftMultBySparseMatrix(<a href="../../../../../../org/apache/sysds/runtime/data/SparseBlock.html" title="class in org.apache.sysds.runtime.data">SparseBlock</a>&nbsp;sb,
+                                   double[]&nbsp;c,
+                                   double[]&nbsp;values,
+                                   int&nbsp;numRows,
+                                   int&nbsp;numCols,
+                                   int&nbsp;row,
+                                   double[]&nbsp;MaterializedRow)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#leftMultBySparseMatrix-org.apache.sysds.runtime.data.SparseBlock-double:A-double:A-int-int-int-double:A-">AColGroup</a></code></span></div>
+<div class="block">Multiply with a sparse matrix on the left hand side, and add the values to the output result</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#leftMultBySparseMatrix-org.apache.sysds.runtime.data.SparseBlock-double:A-double:A-int-int-int-double:A-">leftMultBySparseMatrix</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>sb</code> - The sparse block to multiply with</dd>
+<dd><code>c</code> - The linearized output matrix</dd>
+<dd><code>values</code> - The dictionary values materialized</dd>
+<dd><code>numRows</code> - The number of rows in the left hand side input matrix (the sparse one)</dd>
+<dd><code>numCols</code> - The number of columns in the compression.</dd>
+<dd><code>row</code> - The row index of the sparse row to multiply with.</dd>
+<dd><code>MaterializedRow</code> - A Temporary dense row vector to materialize the sparse values into used for OLE</dd>
+</dl>
+</li>
+</ul>
+<a name="preAggregate-double:A-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>preAggregate</h4>
+<pre>public&nbsp;double[]&nbsp;preAggregate(double[]&nbsp;a,
+                             int&nbsp;row)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregate-double:A-int-">ColGroupValue</a></code></span></div>
+<div class="block">Pre aggregates for left multiplication</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregate-double:A-int-">preAggregate</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>a</code> - The input dense vector or matrix to aggregate</dd>
+<dd><code>row</code> - The row index to aggregate</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The pre-aggregated values.</dd>
+</dl>
+</li>
+</ul>
+<a name="preAggregateSparse-org.apache.sysds.runtime.data.SparseBlock-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>preAggregateSparse</h4>
+<pre>public&nbsp;double[]&nbsp;preAggregateSparse(<a href="../../../../../../org/apache/sysds/runtime/data/SparseBlock.html" title="class in org.apache.sysds.runtime.data">SparseBlock</a>&nbsp;sb,
+                                   int&nbsp;row)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateSparse-org.apache.sysds.runtime.data.SparseBlock-int-">ColGroupValue</a></code></span></div>
+<div class="block">Pre aggregate for left multiplication of sparse vector or matrix.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateSparse-org.apache.sysds.runtime.data.SparseBlock-int-">preAggregateSparse</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>sb</code> - The input sparse vector or matrix to aggregate</dd>
+<dd><code>row</code> - The row index to aggregate</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The pre-aggregated values.</dd>
+</dl>
+</li>
+</ul>
+<a name="estimateInMemorySize--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>estimateInMemorySize</h4>
+<pre>public&nbsp;long&nbsp;estimateInMemorySize()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#estimateInMemorySize--">AColGroup</a></code></span></div>
+<div class="block">Note: Must be overridden by child classes to account for additional data and metadata</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#estimateInMemorySize--">estimateInMemorySize</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>an upper bound on the number of bytes used to store this ColGroup in memory.</dd>
+</dl>
+</li>
+</ul>
+<a name="rightMultByVector-double:A-double:A-int-int-double:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>rightMultByVector</h4>
+<pre>public&nbsp;void&nbsp;rightMultByVector(double[]&nbsp;vector,
+                              double[]&nbsp;c,
+                              int&nbsp;rl,
+                              int&nbsp;ru,
+                              double[]&nbsp;dictVals)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#rightMultByVector-double:A-double:A-int-int-double:A-">AColGroup</a></code></span></div>
+<div class="block">Multiply the slice of the matrix that this column group represents by a vector on the right.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#rightMultByVector-double:A-double:A-int-int-double:A-">rightMultByVector</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>vector</code> - Vector to multiply by (tall vector)</dd>
+<dd><code>c</code> - Accumulator for holding the result</dd>
+<dd><code>rl</code> - Row to start at</dd>
+<dd><code>ru</code> - Row to stop at</dd>
+<dd><code>dictVals</code> - The dictionary values materialized</dd>
+</dl>
+</li>
+</ul>
+<a name="rightMultByMatrix-int:A-double:A-double:A-int-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>rightMultByMatrix</h4>
+<pre>public&nbsp;void&nbsp;rightMultByMatrix(int[]&nbsp;outputColumns,
+                              double[]&nbsp;preAggregatedB,
+                              double[]&nbsp;c,
+                              int&nbsp;thatNrColumns,
+                              int&nbsp;rl,
+                              int&nbsp;ru)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#rightMultByMatrix-int:A-double:A-double:A-int-int-int-">AColGroup</a></code></span></div>
+<div class="block">Right multiply by matrix. for which the compressed matrix is on the left and the uncompressed is on the right.
+ Note that there is no b argument, but the b is aggregated into the values needed for assignment and addition into
+ output.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#rightMultByMatrix-int:A-double:A-double:A-int-int-int-">rightMultByMatrix</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>outputColumns</code> - The Columns that are affected by the right multiplication.</dd>
+<dd><code>preAggregatedB</code> - The preAggregated values that is to be put into c</dd>
+<dd><code>c</code> - The output matrix</dd>
+<dd><code>thatNrColumns</code> - The number of columns in B (before aggregation)</dd>
+<dd><code>rl</code> - The row index to start the multiplication from</dd>
+<dd><code>ru</code> - The row index to stop the multiplication at</dd>
+</dl>
+</li>
+</ul>
+<a name="scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>scalarOperation</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a>&nbsp;scalarOperation(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">AColGroup</a></code></span></div>
+<div class="block">Perform the specified scalar operation directly on the compressed column group, without decompressing individual
+ cells if possible.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">scalarOperation</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>op</code> - operation to perform</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>version of this column group with the operation applied</dd>
+</dl>
+</li>
+</ul>
+<a name="binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>binaryRowOp</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a>&nbsp;binaryRowOp(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
+                             double[]&nbsp;v,
+                             boolean&nbsp;sparseSafe,
+                             boolean&nbsp;left)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-boolean-">AColGroup</a></code></span></div>
+<div class="block">Perform a binary row operation.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-boolean-">binaryRowOp</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>op</code> - The operation to execute</dd>
+<dd><code>v</code> - The vector of values to apply, should be same length as dictionary length.</dd>
+<dd><code>sparseSafe</code> - True if the operation return 0 on all instances of values in v -- op(v[?], 0)</dd>
+<dd><code>left</code> - Specifies if the operation is executed on the left or right side of the values contained.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>A updated column group with the new values.</dd>
+</dl>
+</li>
+</ul>
+<a name="write-java.io.DataOutput-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>write</h4>
+<pre>public&nbsp;void&nbsp;write(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataOutput.html?is-external=true" title="class or interface in java.io">DataOutput</a>&nbsp;out)
+           throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#write-java.io.DataOutput-">AColGroup</a></code></span></div>
+<div class="block">Serializes column group to data output.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#write-java.io.DataOutput-">write</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>out</code> - data output</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if IOException occurs</dd>
+</dl>
+</li>
+</ul>
+<a name="readFields-java.io.DataInput-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>readFields</h4>
+<pre>public&nbsp;void&nbsp;readFields(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a>&nbsp;in)
+                throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#readFields-java.io.DataInput-">AColGroup</a></code></span></div>
+<div class="block">Deserialize column group from data input.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#readFields-java.io.DataInput-">readFields</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>in</code> - data input</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if IOException occurs</dd>
+</dl>
+</li>
+</ul>
+<a name="getExactSizeOnDisk--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getExactSizeOnDisk</h4>
+<pre>public&nbsp;long&nbsp;getExactSizeOnDisk()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getExactSizeOnDisk--">AColGroup</a></code></span></div>
+<div class="block">Returns the exact serialized size of column group. This can be used for example for buffer preallocation.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getExactSizeOnDisk--">getExactSizeOnDisk</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>exact serialized size for column group</dd>
+</dl>
+</li>
+</ul>
+<a name="sameIndexStructure-org.apache.sysds.runtime.compress.colgroup.ColGroupValue-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>sameIndexStructure</h4>
+<pre>public&nbsp;boolean&nbsp;sameIndexStructure(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a>&nbsp;that)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#sameIndexStructure-org.apache.sysds.runtime.compress.colgroup.ColGroupValue-">sameIndexStructure</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getIndexStructureHash--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getIndexStructureHash</h4>
+<pre>public&nbsp;int&nbsp;getIndexStructureHash()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getIndexStructureHash--">getIndexStructureHash</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="toString--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>toString</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#toString--">toString</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="preAggregateDDC-org.apache.sysds.runtime.compress.colgroup.ColGroupDDC-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>preAggregateDDC</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a>&nbsp;preAggregateDDC(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a>&nbsp;lhs)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateDDC-org.apache.sysds.runtime.compress.colgroup.ColGroupDDC-">preAggregateDDC</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="preAggregateSDC-org.apache.sysds.runtime.compress.colgroup.ColGroupSDC-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>preAggregateSDC</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a>&nbsp;preAggregateSDC(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDC</a>&nbsp;lhs)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateSDC-org.apache.sysds.runtime.compress.colgroup.ColGroupSDC-">preAggregateSDC</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="preAggregateSDCSingle-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingle-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>preAggregateSDCSingle</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a>&nbsp;preAggregateSDCSingle(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingle</a>&nbsp;lhs)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateSDCSingle-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingle-">preAggregateSDCSingle</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="preAggregateSDCZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCZeros-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>preAggregateSDCZeros</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a>&nbsp;preAggregateSDCZeros(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCZeros</a>&nbsp;lhs)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateSDCZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCZeros-">preAggregateSDCZeros</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="preAggregateSDCSingleZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingleZeros-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>preAggregateSDCSingleZeros</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a>&nbsp;preAggregateSDCSingleZeros(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingleZeros</a>&nbsp;lhs)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateSDCSingleZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingleZeros-">preAggregateSDCSingleZeros</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="preAggregateOLE-org.apache.sysds.runtime.compress.colgroup.ColGroupOLE-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>preAggregateOLE</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a>&nbsp;preAggregateOLE(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOLE</a>&nbsp;lhs)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateOLE-org.apache.sysds.runtime.compress.colgroup.ColGroupOLE-">preAggregateOLE</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="preAggregateRLE-org.apache.sysds.runtime.compress.colgroup.ColGroupRLE-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>preAggregateRLE</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a>&nbsp;preAggregateRLE(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupRLE</a>&nbsp;lhs)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateRLE-org.apache.sysds.runtime.compress.colgroup.ColGroupRLE-">preAggregateRLE</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ColGroupSDC.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html" target="_top">Frames</a></li>
+<li><a href="ColGroupSDC.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.AColGroup">Nested</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html
new file mode 100644
index 0000000..2d9f70f
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html
@@ -0,0 +1,1145 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>ColGroupSDCSingle (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="ColGroupSDCSingle (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ColGroupSDCSingle.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html" target="_top">Frames</a></li>
+<li><a href="ColGroupSDCSingle.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.AColGroup">Nested</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.sysds.runtime.compress.colgroup</div>
+<h2 title="Class ColGroupSDCSingle" class="title">Class ColGroupSDCSingle</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">org.apache.sysds.runtime.compress.colgroup.AColGroup</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">org.apache.sysds.runtime.compress.colgroup.ColGroupValue</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingle</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Cloneable.html?is-external=true" title="class or interface in java.lang">Cloneable</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">ColGroupSDCSingle</span>
+extends <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></pre>
+<div class="block">Column group that sparsely encodes the dictionary values. The idea is that all values is encoded with indexes except
+ the most common one. the most common one can be inferred by not being included in the indexes. If the values are very
+ sparse then the most common one is zero.
+ 
+ This column group is handy in cases where sparse unsafe operations is executed on very sparse columns. Then the zeros
+ would be materialized in the group without any overhead.</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../../serialized-form.html#org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingle">Serialized Form</a></dd>
+</dl>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!--   -->
+</a>
+<h3>Nested Class Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.AColGroup">
+<!--   -->
+</a>
+<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.ColGroupType</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-boolean-">binaryRowOp</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
+           double[]&nbsp;v,
+           boolean&nbsp;sparseSafe,
+           boolean&nbsp;left)</code>
+<div class="block">Perform a binary row operation.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html#countNonZerosPerRow-int:A-int-int-">countNonZerosPerRow</a></span>(int[]&nbsp;rnnz,
+                   int&nbsp;rl,
+                   int&nbsp;ru)</code>
+<div class="block">Count the number of non-zeros per row</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html#decompressColumnToBlock-double:A-int-int-int-">decompressColumnToBlock</a></span>(double[]&nbsp;c,
+                       int&nbsp;colpos,
+                       int&nbsp;rl,
+                       int&nbsp;ru)</code>
+<div class="block">Decompress to dense array.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">decompressColumnToBlock</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                       int&nbsp;colpos)</code>
+<div class="block">Decompress to block.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-">decompressColumnToBlock</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                       int&nbsp;colpos,
+                       int&nbsp;rl,
+                       int&nbsp;ru)</code>
+<div class="block">Decompress to block.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">decompressToBlock</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                 int[]&nbsp;colIndexTargets)</code>
+<div class="block">Decompress the contents of this column group into uncompressed packed columns</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html#decompressToBlockSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">decompressToBlockSafe</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                     int&nbsp;rl,
+                     int&nbsp;ru,
+                     int&nbsp;offT,
+                     double[]&nbsp;values)</code>
+<div class="block">Decompress the contents of this column group into the specified full matrix block without managing the number of
+ non zeros.</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html#decompressToBlockUnSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">decompressToBlockUnSafe</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                       int&nbsp;rl,
+                       int&nbsp;ru,
+                       int&nbsp;offT,
+                       double[]&nbsp;values)</code>&nbsp;</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html#estimateInMemorySize--">estimateInMemorySize</a></span>()</code>
+<div class="block">Note: Must be overridden by child classes to account for additional data and metadata</div>
+</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>double</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html#get-int-int-">get</a></span>(int&nbsp;r,
+   int&nbsp;c)</code>
+<div class="block">Get the value at a global row/column position.</div>
+</td>
+</tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.ColGroupType</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html#getColGroupType--">getColGroupType</a></span>()</code>
+<div class="block">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.</div>
+</td>
+</tr>
+<tr id="i11" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html#getCompType--">getCompType</a></span>()</code>
+<div class="block">Obtain the compression type.</div>
+</td>
+</tr>
+<tr id="i12" class="altColor">
+<td class="colFirst"><code>int[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html#getCounts-int:A-">getCounts</a></span>(int[]&nbsp;counts)</code>&nbsp;</td>
+</tr>
+<tr id="i13" class="rowColor">
+<td class="colFirst"><code>int[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html#getCounts-int-int-int:A-">getCounts</a></span>(int&nbsp;rl,
+         int&nbsp;ru,
+         int[]&nbsp;counts)</code>&nbsp;</td>
+</tr>
+<tr id="i14" class="altColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html#getExactSizeOnDisk--">getExactSizeOnDisk</a></span>()</code>
+<div class="block">Returns the exact serialized size of column group.</div>
+</td>
+</tr>
+<tr id="i15" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html#getIndexStructureHash--">getIndexStructureHash</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i16" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html#leftMultByMatrix-double:A-double:A-double:A-int-int-int-int-int-">leftMultByMatrix</a></span>(double[]&nbsp;a,
+                double[]&nbsp;c,
+                double[]&nbsp;values,
+                int&nbsp;numRows,
+                int&nbsp;numCols,
+                int&nbsp;rl,
+                int&nbsp;ru,
+                int&nbsp;voff)</code>
+<div class="block">Multiply with a matrix on the left.</div>
+</td>
+</tr>
+<tr id="i17" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html#leftMultBySparseMatrix-org.apache.sysds.runtime.data.SparseBlock-double:A-double:A-int-int-int-double:A-">leftMultBySparseMatrix</a></span>(<a href="../../../../../../org/apache/sysds/runtime/data/SparseBlock.html" title="class in org.apache.sysds.runtime.data">SparseBlock</a>&nbsp;sb,
+                      double[]&nbsp;c,
+                      double[]&nbsp;values,
+                      int&nbsp;numRows,
+                      int&nbsp;numCols,
+                      int&nbsp;row,
+                      double[]&nbsp;MaterializedRow)</code>
+<div class="block">Multiply with a sparse matrix on the left hand side, and add the values to the output result</div>
+</td>
+</tr>
+<tr id="i18" class="altColor">
+<td class="colFirst"><code>double[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html#preAggregate-double:A-int-">preAggregate</a></span>(double[]&nbsp;a,
+            int&nbsp;row)</code>
+<div class="block">Pre aggregates for left multiplication</div>
+</td>
+</tr>
+<tr id="i19" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html#preAggregateDDC-org.apache.sysds.runtime.compress.colgroup.ColGroupDDC-">preAggregateDDC</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr id="i20" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html#preAggregateOLE-org.apache.sysds.runtime.compress.colgroup.ColGroupOLE-">preAggregateOLE</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOLE</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr id="i21" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html#preAggregateRLE-org.apache.sysds.runtime.compress.colgroup.ColGroupRLE-">preAggregateRLE</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupRLE</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr id="i22" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html#preAggregateSDC-org.apache.sysds.runtime.compress.colgroup.ColGroupSDC-">preAggregateSDC</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDC</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr id="i23" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html#preAggregateSDCSingle-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingle-">preAggregateSDCSingle</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingle</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr id="i24" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html#preAggregateSDCSingleZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingleZeros-">preAggregateSDCSingleZeros</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingleZeros</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr id="i25" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html#preAggregateSDCZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCZeros-">preAggregateSDCZeros</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCZeros</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr id="i26" class="altColor">
+<td class="colFirst"><code>double[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html#preAggregateSparse-org.apache.sysds.runtime.data.SparseBlock-int-">preAggregateSparse</a></span>(<a href="../../../../../../org/apache/sysds/runtime/data/SparseBlock.html" title="class in org.apache.sysds.runtime.data">SparseBlock</a>&nbsp;sb,
+                  int&nbsp;row)</code>
+<div class="block">Pre aggregate for left multiplication of sparse vector or matrix.</div>
+</td>
+</tr>
+<tr id="i27" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html#readFields-java.io.DataInput-">readFields</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a>&nbsp;in)</code>
+<div class="block">Deserialize column group from data input.</div>
+</td>
+</tr>
+<tr id="i28" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html#rightMultByMatrix-int:A-double:A-double:A-int-int-int-">rightMultByMatrix</a></span>(int[]&nbsp;outputColumns,
+                 double[]&nbsp;preAggregatedB,
+                 double[]&nbsp;c,
+                 int&nbsp;thatNrColumns,
+                 int&nbsp;rl,
+                 int&nbsp;ru)</code>
+<div class="block">Right multiply by matrix.</div>
+</td>
+</tr>
+<tr id="i29" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html#rightMultByVector-double:A-double:A-int-int-double:A-">rightMultByVector</a></span>(double[]&nbsp;vector,
+                 double[]&nbsp;c,
+                 int&nbsp;rl,
+                 int&nbsp;ru,
+                 double[]&nbsp;dictVals)</code>
+<div class="block">Multiply the slice of the matrix that this column group represents by a vector on the right.</div>
+</td>
+</tr>
+<tr id="i30" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html#sameIndexStructure-org.apache.sysds.runtime.compress.colgroup.ColGroupValue-">sameIndexStructure</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a>&nbsp;that)</code>&nbsp;</td>
+</tr>
+<tr id="i31" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">scalarOperation</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op)</code>
+<div class="block">Perform the specified scalar operation directly on the compressed column group, without decompressing individual
+ cells if possible.</div>
+</td>
+</tr>
+<tr id="i32" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html#toString--">toString</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i33" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html#write-java.io.DataOutput-">write</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataOutput.html?is-external=true" title="class or interface in java.io">DataOutput</a>&nbsp;out)</code>
+<div class="block">Serializes column group to data output.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.ColGroupValue">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#addMinMax-double:A-">addMinMax</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#applyBinaryRowOp-org.apache.sysds.runtime.functionobjects.ValueFunction-double:A-boolean-boolean-">applyBinaryRowOp</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#cleanupThreadLocalMemory--">cleanupThreadLocalMemory</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#containsValue-double-">containsValue</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#copy--">copy</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#copyAndSet-int:A-org.apache.sysds.runtime.compress.colgroup.ADictionary-">copyAndSet</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#copyAndSet-int:A-double:A-">copyAndSet</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCachedCounts--">getCachedCounts</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCounts--">getCounts</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCounts-int-int-">getCounts</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getDictionary--">getDictionary</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getIfCountsType--">getIfCountsType</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getMax--">getMax</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getMin--">getMin</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getNumberNonZeros--">getNumberNonZeros</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getNumValues--">getNumValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getValues--">getValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getValuesAsBlock--">getValuesAsBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#isLossy--">isLossy</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#leftMultByAggregatedColGroup-org.apache.sysds.runtime.compress.colgroup.ColGroupValue-double:A-int-int-">leftMultByAggregatedColGroup</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#leftMultByRowVector-double:A-double:A-">leftMultByRowVector</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#leftMultByRowVector-double:A-double:A-int-">leftMultByRowVector</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#leftMultByRowVector-double:A-double:A-int-double:A-">leftMultByRowVector</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#leftMultByRowVector-double:A-double:A-int-double:A-int-">leftMultByRowVector</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#leftMultBySelfDiagonalColGroup-double:A-int-">leftMultBySelfDiagonalColGroup</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregate-org.apache.sysds.runtime.compress.colgroup.ColGroupValue-">preAggregate</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregate-double:A-">preAggregate</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregate-org.apache.sysds.runtime.data.SparseBlock-">preAggregate</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateCONST-org.apache.sysds.runtime.compress.colgroup.ColGroupConst-">preAggregateCONST</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preaggValues-int-org.apache.sysds.runtime.matrix.data.MatrixBlock-double:A-int-int-int-">preaggValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preCallAggregate-org.apache.sysds.runtime.compress.colgroup.ColGroupValue-">preCallAggregate</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#setupThreadLocalMemory-int-">setupThreadLocalMemory</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#sliceColumns-int-int-">sliceColumns</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-">unaryAggregateOperations</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-int-int-">unaryAggregateOperations</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.AColGroup">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToArray-double:A-int-java.util.List-">decompressColumnToArray</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-double:A-int-int-int-java.util.List-">decompressColumnToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-java.util.List-">decompressColumnToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-java.util.List-">decompressColumnToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlockUnSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-java.util.List-">decompressColumnToBlockUnSafe</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-boolean-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-double:A-boolean-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-boolean-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-boolean-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getColIndex-int-">getColIndex</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getColIndices--">getColIndices</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getNumCols--">getNumCols</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getNumRows--">getNumRows</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#isDense--">isDense</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#shiftColIndices-int-">shiftColIndices</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getCompType--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getCompType</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a>&nbsp;getCompType()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getCompType--">AColGroup</a></code></span></div>
+<div class="block">Obtain the compression type.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getCompType--">getCompType</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>How the elements of the column group are compressed.</dd>
+</dl>
+</li>
+</ul>
+<a name="getColGroupType--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getColGroupType</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.ColGroupType</a>&nbsp;getColGroupType()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getColGroupType--">AColGroup</a></code></span></div>
+<div class="block">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.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getColGroupType--">getColGroupType</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>ColGroupType of the object.</dd>
+</dl>
+</li>
+</ul>
+<a name="decompressToBlockSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>decompressToBlockSafe</h4>
+<pre>public&nbsp;void&nbsp;decompressToBlockSafe(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                                  int&nbsp;rl,
+                                  int&nbsp;ru,
+                                  int&nbsp;offT,
+                                  double[]&nbsp;values)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlockSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">AColGroup</a></code></span></div>
+<div class="block">Decompress the contents of this column group into the specified full matrix block without managing the number of
+ non zeros.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlockSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">decompressToBlockSafe</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>target</code> - a matrix block where the columns covered by this column group have not yet been filled in.</dd>
+<dd><code>rl</code> - row lower</dd>
+<dd><code>ru</code> - row upper</dd>
+<dd><code>offT</code> - Offset into target to assign from</dd>
+<dd><code>values</code> - The Values materialized in the dictionary</dd>
+</dl>
+</li>
+</ul>
+<a name="decompressToBlockUnSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>decompressToBlockUnSafe</h4>
+<pre>public&nbsp;void&nbsp;decompressToBlockUnSafe(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                                    int&nbsp;rl,
+                                    int&nbsp;ru,
+                                    int&nbsp;offT,
+                                    double[]&nbsp;values)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlockUnSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">decompressToBlockUnSafe</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>decompressToBlock</h4>
+<pre>public&nbsp;void&nbsp;decompressToBlock(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                              int[]&nbsp;colIndexTargets)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">AColGroup</a></code></span></div>
+<div class="block">Decompress the contents of this column group into uncompressed packed columns</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">decompressToBlock</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>target</code> - a dense matrix block. The block must have enough space to hold the contents of this column
+                        group.</dd>
+<dd><code>colIndexTargets</code> - array that maps column indices in the original matrix block to columns of target.</dd>
+</dl>
+</li>
+</ul>
+<a name="decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>decompressColumnToBlock</h4>
+<pre>public&nbsp;void&nbsp;decompressColumnToBlock(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                                    int&nbsp;colpos)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">AColGroup</a></code></span></div>
+<div class="block">Decompress to block.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">decompressColumnToBlock</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>target</code> - dense output vector</dd>
+<dd><code>colpos</code> - column to decompress, error if larger or equal numCols</dd>
+</dl>
+</li>
+</ul>
+<a name="decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>decompressColumnToBlock</h4>
+<pre>public&nbsp;void&nbsp;decompressColumnToBlock(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                                    int&nbsp;colpos,
+                                    int&nbsp;rl,
+                                    int&nbsp;ru)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-">AColGroup</a></code></span></div>
+<div class="block">Decompress to block.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-">decompressColumnToBlock</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>target</code> - dense output vector</dd>
+<dd><code>colpos</code> - column to decompress, error if larger or equal numCols</dd>
+<dd><code>rl</code> - the Row to start decompression from</dd>
+<dd><code>ru</code> - the Row to end decompression at</dd>
+</dl>
+</li>
+</ul>
+<a name="decompressColumnToBlock-double:A-int-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>decompressColumnToBlock</h4>
+<pre>public&nbsp;void&nbsp;decompressColumnToBlock(double[]&nbsp;c,
+                                    int&nbsp;colpos,
+                                    int&nbsp;rl,
+                                    int&nbsp;ru)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-double:A-int-int-int-">AColGroup</a></code></span></div>
+<div class="block">Decompress to dense array.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-double:A-int-int-int-">decompressColumnToBlock</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>c</code> - dense output vector double array.</dd>
+<dd><code>colpos</code> - column to decompress, error if larger or equal numCols</dd>
+<dd><code>rl</code> - the Row to start decompression from</dd>
+<dd><code>ru</code> - the Row to end decompression at</dd>
+</dl>
+</li>
+</ul>
+<a name="get-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>get</h4>
+<pre>public&nbsp;double&nbsp;get(int&nbsp;r,
+                  int&nbsp;c)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#get-int-int-">AColGroup</a></code></span></div>
+<div class="block">Get the value at a global row/column position.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#get-int-int-">get</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>r</code> - row</dd>
+<dd><code>c</code> - column</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>value at the row/column position</dd>
+</dl>
+</li>
+</ul>
+<a name="countNonZerosPerRow-int:A-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>countNonZerosPerRow</h4>
+<pre>public&nbsp;void&nbsp;countNonZerosPerRow(int[]&nbsp;rnnz,
+                                int&nbsp;rl,
+                                int&nbsp;ru)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#countNonZerosPerRow-int:A-int-int-">AColGroup</a></code></span></div>
+<div class="block">Count the number of non-zeros per row</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#countNonZerosPerRow-int:A-int-int-">countNonZerosPerRow</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>rnnz</code> - non-zeros per row</dd>
+<dd><code>rl</code> - row lower bound, inclusive</dd>
+<dd><code>ru</code> - row upper bound, exclusive</dd>
+</dl>
+</li>
+</ul>
+<a name="getCounts-int:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getCounts</h4>
+<pre>public&nbsp;int[]&nbsp;getCounts(int[]&nbsp;counts)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCounts-int:A-">getCounts</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getCounts-int-int-int:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getCounts</h4>
+<pre>public&nbsp;int[]&nbsp;getCounts(int&nbsp;rl,
+                       int&nbsp;ru,
+                       int[]&nbsp;counts)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCounts-int-int-int:A-">getCounts</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="leftMultByMatrix-double:A-double:A-double:A-int-int-int-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>leftMultByMatrix</h4>
+<pre>public&nbsp;void&nbsp;leftMultByMatrix(double[]&nbsp;a,
+                             double[]&nbsp;c,
+                             double[]&nbsp;values,
+                             int&nbsp;numRows,
+                             int&nbsp;numCols,
+                             int&nbsp;rl,
+                             int&nbsp;ru,
+                             int&nbsp;voff)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#leftMultByMatrix-double:A-double:A-double:A-int-int-int-int-int-">AColGroup</a></code></span></div>
+<div class="block">Multiply with a matrix on the left.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#leftMultByMatrix-double:A-double:A-double:A-int-int-int-int-int-">leftMultByMatrix</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>a</code> - matrix to left multiply</dd>
+<dd><code>c</code> - matrix block result</dd>
+<dd><code>values</code> - The materialized list of values contained in the dictionary.</dd>
+<dd><code>numRows</code> - The number of rows in the matrix input</dd>
+<dd><code>numCols</code> - The number of columns in the colGroups parent matrix.</dd>
+<dd><code>rl</code> - The row to start the matrix multiplication from</dd>
+<dd><code>ru</code> - The row to stop the matrix multiplication at.</dd>
+<dd><code>voff</code> - The offset into the first argument matrix to start at.</dd>
+</dl>
+</li>
+</ul>
+<a name="leftMultBySparseMatrix-org.apache.sysds.runtime.data.SparseBlock-double:A-double:A-int-int-int-double:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>leftMultBySparseMatrix</h4>
+<pre>public&nbsp;void&nbsp;leftMultBySparseMatrix(<a href="../../../../../../org/apache/sysds/runtime/data/SparseBlock.html" title="class in org.apache.sysds.runtime.data">SparseBlock</a>&nbsp;sb,
+                                   double[]&nbsp;c,
+                                   double[]&nbsp;values,
+                                   int&nbsp;numRows,
+                                   int&nbsp;numCols,
+                                   int&nbsp;row,
+                                   double[]&nbsp;MaterializedRow)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#leftMultBySparseMatrix-org.apache.sysds.runtime.data.SparseBlock-double:A-double:A-int-int-int-double:A-">AColGroup</a></code></span></div>
+<div class="block">Multiply with a sparse matrix on the left hand side, and add the values to the output result</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#leftMultBySparseMatrix-org.apache.sysds.runtime.data.SparseBlock-double:A-double:A-int-int-int-double:A-">leftMultBySparseMatrix</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>sb</code> - The sparse block to multiply with</dd>
+<dd><code>c</code> - The linearized output matrix</dd>
+<dd><code>values</code> - The dictionary values materialized</dd>
+<dd><code>numRows</code> - The number of rows in the left hand side input matrix (the sparse one)</dd>
+<dd><code>numCols</code> - The number of columns in the compression.</dd>
+<dd><code>row</code> - The row index of the sparse row to multiply with.</dd>
+<dd><code>MaterializedRow</code> - A Temporary dense row vector to materialize the sparse values into used for OLE</dd>
+</dl>
+</li>
+</ul>
+<a name="preAggregate-double:A-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>preAggregate</h4>
+<pre>public&nbsp;double[]&nbsp;preAggregate(double[]&nbsp;a,
+                             int&nbsp;row)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregate-double:A-int-">ColGroupValue</a></code></span></div>
+<div class="block">Pre aggregates for left multiplication</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregate-double:A-int-">preAggregate</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>a</code> - The input dense vector or matrix to aggregate</dd>
+<dd><code>row</code> - The row index to aggregate</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The pre-aggregated values.</dd>
+</dl>
+</li>
+</ul>
+<a name="preAggregateSparse-org.apache.sysds.runtime.data.SparseBlock-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>preAggregateSparse</h4>
+<pre>public&nbsp;double[]&nbsp;preAggregateSparse(<a href="../../../../../../org/apache/sysds/runtime/data/SparseBlock.html" title="class in org.apache.sysds.runtime.data">SparseBlock</a>&nbsp;sb,
+                                   int&nbsp;row)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateSparse-org.apache.sysds.runtime.data.SparseBlock-int-">ColGroupValue</a></code></span></div>
+<div class="block">Pre aggregate for left multiplication of sparse vector or matrix.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateSparse-org.apache.sysds.runtime.data.SparseBlock-int-">preAggregateSparse</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>sb</code> - The input sparse vector or matrix to aggregate</dd>
+<dd><code>row</code> - The row index to aggregate</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The pre-aggregated values.</dd>
+</dl>
+</li>
+</ul>
+<a name="estimateInMemorySize--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>estimateInMemorySize</h4>
+<pre>public&nbsp;long&nbsp;estimateInMemorySize()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#estimateInMemorySize--">AColGroup</a></code></span></div>
+<div class="block">Note: Must be overridden by child classes to account for additional data and metadata</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#estimateInMemorySize--">estimateInMemorySize</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>an upper bound on the number of bytes used to store this ColGroup in memory.</dd>
+</dl>
+</li>
+</ul>
+<a name="rightMultByVector-double:A-double:A-int-int-double:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>rightMultByVector</h4>
+<pre>public&nbsp;void&nbsp;rightMultByVector(double[]&nbsp;vector,
+                              double[]&nbsp;c,
+                              int&nbsp;rl,
+                              int&nbsp;ru,
+                              double[]&nbsp;dictVals)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#rightMultByVector-double:A-double:A-int-int-double:A-">AColGroup</a></code></span></div>
+<div class="block">Multiply the slice of the matrix that this column group represents by a vector on the right.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#rightMultByVector-double:A-double:A-int-int-double:A-">rightMultByVector</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>vector</code> - Vector to multiply by (tall vector)</dd>
+<dd><code>c</code> - Accumulator for holding the result</dd>
+<dd><code>rl</code> - Row to start at</dd>
+<dd><code>ru</code> - Row to stop at</dd>
+<dd><code>dictVals</code> - The dictionary values materialized</dd>
+</dl>
+</li>
+</ul>
+<a name="rightMultByMatrix-int:A-double:A-double:A-int-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>rightMultByMatrix</h4>
+<pre>public&nbsp;void&nbsp;rightMultByMatrix(int[]&nbsp;outputColumns,
+                              double[]&nbsp;preAggregatedB,
+                              double[]&nbsp;c,
+                              int&nbsp;thatNrColumns,
+                              int&nbsp;rl,
+                              int&nbsp;ru)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#rightMultByMatrix-int:A-double:A-double:A-int-int-int-">AColGroup</a></code></span></div>
+<div class="block">Right multiply by matrix. for which the compressed matrix is on the left and the uncompressed is on the right.
+ Note that there is no b argument, but the b is aggregated into the values needed for assignment and addition into
+ output.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#rightMultByMatrix-int:A-double:A-double:A-int-int-int-">rightMultByMatrix</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>outputColumns</code> - The Columns that are affected by the right multiplication.</dd>
+<dd><code>preAggregatedB</code> - The preAggregated values that is to be put into c</dd>
+<dd><code>c</code> - The output matrix</dd>
+<dd><code>thatNrColumns</code> - The number of columns in B (before aggregation)</dd>
+<dd><code>rl</code> - The row index to start the multiplication from</dd>
+<dd><code>ru</code> - The row index to stop the multiplication at</dd>
+</dl>
+</li>
+</ul>
+<a name="scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>scalarOperation</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a>&nbsp;scalarOperation(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">AColGroup</a></code></span></div>
+<div class="block">Perform the specified scalar operation directly on the compressed column group, without decompressing individual
+ cells if possible.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">scalarOperation</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>op</code> - operation to perform</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>version of this column group with the operation applied</dd>
+</dl>
+</li>
+</ul>
+<a name="binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>binaryRowOp</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a>&nbsp;binaryRowOp(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
+                             double[]&nbsp;v,
+                             boolean&nbsp;sparseSafe,
+                             boolean&nbsp;left)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-boolean-">AColGroup</a></code></span></div>
+<div class="block">Perform a binary row operation.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-boolean-">binaryRowOp</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>op</code> - The operation to execute</dd>
+<dd><code>v</code> - The vector of values to apply, should be same length as dictionary length.</dd>
+<dd><code>sparseSafe</code> - True if the operation return 0 on all instances of values in v -- op(v[?], 0)</dd>
+<dd><code>left</code> - Specifies if the operation is executed on the left or right side of the values contained.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>A updated column group with the new values.</dd>
+</dl>
+</li>
+</ul>
+<a name="write-java.io.DataOutput-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>write</h4>
+<pre>public&nbsp;void&nbsp;write(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataOutput.html?is-external=true" title="class or interface in java.io">DataOutput</a>&nbsp;out)
+           throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#write-java.io.DataOutput-">AColGroup</a></code></span></div>
+<div class="block">Serializes column group to data output.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#write-java.io.DataOutput-">write</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>out</code> - data output</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if IOException occurs</dd>
+</dl>
+</li>
+</ul>
+<a name="readFields-java.io.DataInput-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>readFields</h4>
+<pre>public&nbsp;void&nbsp;readFields(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a>&nbsp;in)
+                throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#readFields-java.io.DataInput-">AColGroup</a></code></span></div>
+<div class="block">Deserialize column group from data input.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#readFields-java.io.DataInput-">readFields</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>in</code> - data input</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if IOException occurs</dd>
+</dl>
+</li>
+</ul>
+<a name="getExactSizeOnDisk--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getExactSizeOnDisk</h4>
+<pre>public&nbsp;long&nbsp;getExactSizeOnDisk()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getExactSizeOnDisk--">AColGroup</a></code></span></div>
+<div class="block">Returns the exact serialized size of column group. This can be used for example for buffer preallocation.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getExactSizeOnDisk--">getExactSizeOnDisk</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>exact serialized size for column group</dd>
+</dl>
+</li>
+</ul>
+<a name="sameIndexStructure-org.apache.sysds.runtime.compress.colgroup.ColGroupValue-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>sameIndexStructure</h4>
+<pre>public&nbsp;boolean&nbsp;sameIndexStructure(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a>&nbsp;that)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#sameIndexStructure-org.apache.sysds.runtime.compress.colgroup.ColGroupValue-">sameIndexStructure</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getIndexStructureHash--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getIndexStructureHash</h4>
+<pre>public&nbsp;int&nbsp;getIndexStructureHash()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getIndexStructureHash--">getIndexStructureHash</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="toString--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>toString</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#toString--">toString</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="preAggregateDDC-org.apache.sysds.runtime.compress.colgroup.ColGroupDDC-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>preAggregateDDC</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a>&nbsp;preAggregateDDC(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a>&nbsp;lhs)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateDDC-org.apache.sysds.runtime.compress.colgroup.ColGroupDDC-">preAggregateDDC</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="preAggregateSDC-org.apache.sysds.runtime.compress.colgroup.ColGroupSDC-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>preAggregateSDC</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a>&nbsp;preAggregateSDC(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDC</a>&nbsp;lhs)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateSDC-org.apache.sysds.runtime.compress.colgroup.ColGroupSDC-">preAggregateSDC</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="preAggregateSDCSingle-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingle-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>preAggregateSDCSingle</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a>&nbsp;preAggregateSDCSingle(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingle</a>&nbsp;lhs)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateSDCSingle-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingle-">preAggregateSDCSingle</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="preAggregateSDCZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCZeros-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>preAggregateSDCZeros</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a>&nbsp;preAggregateSDCZeros(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCZeros</a>&nbsp;lhs)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateSDCZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCZeros-">preAggregateSDCZeros</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="preAggregateSDCSingleZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingleZeros-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>preAggregateSDCSingleZeros</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a>&nbsp;preAggregateSDCSingleZeros(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingleZeros</a>&nbsp;lhs)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateSDCSingleZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingleZeros-">preAggregateSDCSingleZeros</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="preAggregateOLE-org.apache.sysds.runtime.compress.colgroup.ColGroupOLE-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>preAggregateOLE</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a>&nbsp;preAggregateOLE(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOLE</a>&nbsp;lhs)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateOLE-org.apache.sysds.runtime.compress.colgroup.ColGroupOLE-">preAggregateOLE</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="preAggregateRLE-org.apache.sysds.runtime.compress.colgroup.ColGroupRLE-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>preAggregateRLE</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a>&nbsp;preAggregateRLE(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupRLE</a>&nbsp;lhs)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateRLE-org.apache.sysds.runtime.compress.colgroup.ColGroupRLE-">preAggregateRLE</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ColGroupSDCSingle.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html" target="_top">Frames</a></li>
+<li><a href="ColGroupSDCSingle.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.AColGroup">Nested</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html
new file mode 100644
index 0000000..4b2f5c8
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html
@@ -0,0 +1,1145 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>ColGroupSDCSingleZeros (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="ColGroupSDCSingleZeros (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ColGroupSDCSingleZeros.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html" target="_top">Frames</a></li>
+<li><a href="ColGroupSDCSingleZeros.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.AColGroup">Nested</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.sysds.runtime.compress.colgroup</div>
+<h2 title="Class ColGroupSDCSingleZeros" class="title">Class ColGroupSDCSingleZeros</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">org.apache.sysds.runtime.compress.colgroup.AColGroup</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">org.apache.sysds.runtime.compress.colgroup.ColGroupValue</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingleZeros</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Cloneable.html?is-external=true" title="class or interface in java.lang">Cloneable</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">ColGroupSDCSingleZeros</span>
+extends <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></pre>
+<div class="block">Column group that sparsely encodes the dictionary values. The idea is that all values is encoded with indexes except
+ the most common one. the most common one can be inferred by not being included in the indexes. If the values are very
+ sparse then the most common one is zero.
+ 
+ This column group is handy in cases where sparse unsafe operations is executed on very sparse columns. Then the zeros
+ would be materialized in the group without any overhead.</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../../serialized-form.html#org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingleZeros">Serialized Form</a></dd>
+</dl>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!--   -->
+</a>
+<h3>Nested Class Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.AColGroup">
+<!--   -->
+</a>
+<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.ColGroupType</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-boolean-">binaryRowOp</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
+           double[]&nbsp;v,
+           boolean&nbsp;sparseSafe,
+           boolean&nbsp;left)</code>
+<div class="block">Perform a binary row operation.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html#countNonZerosPerRow-int:A-int-int-">countNonZerosPerRow</a></span>(int[]&nbsp;rnnz,
+                   int&nbsp;rl,
+                   int&nbsp;ru)</code>
+<div class="block">Count the number of non-zeros per row</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html#decompressColumnToBlock-double:A-int-int-int-">decompressColumnToBlock</a></span>(double[]&nbsp;c,
+                       int&nbsp;colpos,
+                       int&nbsp;rl,
+                       int&nbsp;ru)</code>
+<div class="block">Decompress to dense array.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">decompressColumnToBlock</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                       int&nbsp;colpos)</code>
+<div class="block">Decompress to block.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-">decompressColumnToBlock</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                       int&nbsp;colpos,
+                       int&nbsp;rl,
+                       int&nbsp;ru)</code>
+<div class="block">Decompress to block.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">decompressToBlock</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                 int[]&nbsp;colIndexTargets)</code>
+<div class="block">Decompress the contents of this column group into uncompressed packed columns</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html#decompressToBlockSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">decompressToBlockSafe</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                     int&nbsp;rl,
+                     int&nbsp;ru,
+                     int&nbsp;offT,
+                     double[]&nbsp;values)</code>
+<div class="block">Decompress the contents of this column group into the specified full matrix block without managing the number of
+ non zeros.</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html#decompressToBlockUnSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">decompressToBlockUnSafe</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                       int&nbsp;rl,
+                       int&nbsp;ru,
+                       int&nbsp;offT,
+                       double[]&nbsp;values)</code>&nbsp;</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html#estimateInMemorySize--">estimateInMemorySize</a></span>()</code>
+<div class="block">Note: Must be overridden by child classes to account for additional data and metadata</div>
+</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>double</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html#get-int-int-">get</a></span>(int&nbsp;r,
+   int&nbsp;c)</code>
+<div class="block">Get the value at a global row/column position.</div>
+</td>
+</tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.ColGroupType</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html#getColGroupType--">getColGroupType</a></span>()</code>
+<div class="block">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.</div>
+</td>
+</tr>
+<tr id="i11" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html#getCompType--">getCompType</a></span>()</code>
+<div class="block">Obtain the compression type.</div>
+</td>
+</tr>
+<tr id="i12" class="altColor">
+<td class="colFirst"><code>int[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html#getCounts-int:A-">getCounts</a></span>(int[]&nbsp;counts)</code>&nbsp;</td>
+</tr>
+<tr id="i13" class="rowColor">
+<td class="colFirst"><code>int[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html#getCounts-int-int-int:A-">getCounts</a></span>(int&nbsp;rl,
+         int&nbsp;ru,
+         int[]&nbsp;counts)</code>&nbsp;</td>
+</tr>
+<tr id="i14" class="altColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html#getExactSizeOnDisk--">getExactSizeOnDisk</a></span>()</code>
+<div class="block">Returns the exact serialized size of column group.</div>
+</td>
+</tr>
+<tr id="i15" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html#getIndexStructureHash--">getIndexStructureHash</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i16" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html#leftMultByMatrix-double:A-double:A-double:A-int-int-int-int-int-">leftMultByMatrix</a></span>(double[]&nbsp;a,
+                double[]&nbsp;c,
+                double[]&nbsp;values,
+                int&nbsp;numRows,
+                int&nbsp;numCols,
+                int&nbsp;rl,
+                int&nbsp;ru,
+                int&nbsp;voff)</code>
+<div class="block">Multiply with a matrix on the left.</div>
+</td>
+</tr>
+<tr id="i17" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html#leftMultBySparseMatrix-org.apache.sysds.runtime.data.SparseBlock-double:A-double:A-int-int-int-double:A-">leftMultBySparseMatrix</a></span>(<a href="../../../../../../org/apache/sysds/runtime/data/SparseBlock.html" title="class in org.apache.sysds.runtime.data">SparseBlock</a>&nbsp;sb,
+                      double[]&nbsp;c,
+                      double[]&nbsp;values,
+                      int&nbsp;numRows,
+                      int&nbsp;numCols,
+                      int&nbsp;row,
+                      double[]&nbsp;MaterializedRow)</code>
+<div class="block">Multiply with a sparse matrix on the left hand side, and add the values to the output result</div>
+</td>
+</tr>
+<tr id="i18" class="altColor">
+<td class="colFirst"><code>double[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html#preAggregate-double:A-int-">preAggregate</a></span>(double[]&nbsp;a,
+            int&nbsp;row)</code>
+<div class="block">Pre aggregates for left multiplication</div>
+</td>
+</tr>
+<tr id="i19" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html#preAggregateDDC-org.apache.sysds.runtime.compress.colgroup.ColGroupDDC-">preAggregateDDC</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr id="i20" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html#preAggregateOLE-org.apache.sysds.runtime.compress.colgroup.ColGroupOLE-">preAggregateOLE</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOLE</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr id="i21" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html#preAggregateRLE-org.apache.sysds.runtime.compress.colgroup.ColGroupRLE-">preAggregateRLE</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupRLE</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr id="i22" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html#preAggregateSDC-org.apache.sysds.runtime.compress.colgroup.ColGroupSDC-">preAggregateSDC</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDC</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr id="i23" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html#preAggregateSDCSingle-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingle-">preAggregateSDCSingle</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingle</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr id="i24" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html#preAggregateSDCSingleZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingleZeros-">preAggregateSDCSingleZeros</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingleZeros</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr id="i25" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html#preAggregateSDCZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCZeros-">preAggregateSDCZeros</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCZeros</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr id="i26" class="altColor">
+<td class="colFirst"><code>double[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html#preAggregateSparse-org.apache.sysds.runtime.data.SparseBlock-int-">preAggregateSparse</a></span>(<a href="../../../../../../org/apache/sysds/runtime/data/SparseBlock.html" title="class in org.apache.sysds.runtime.data">SparseBlock</a>&nbsp;sb,
+                  int&nbsp;row)</code>
+<div class="block">Pre aggregate for left multiplication of sparse vector or matrix.</div>
+</td>
+</tr>
+<tr id="i27" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html#readFields-java.io.DataInput-">readFields</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a>&nbsp;in)</code>
+<div class="block">Deserialize column group from data input.</div>
+</td>
+</tr>
+<tr id="i28" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html#rightMultByMatrix-int:A-double:A-double:A-int-int-int-">rightMultByMatrix</a></span>(int[]&nbsp;outputColumns,
+                 double[]&nbsp;preAggregatedB,
+                 double[]&nbsp;c,
+                 int&nbsp;thatNrColumns,
+                 int&nbsp;rl,
+                 int&nbsp;ru)</code>
+<div class="block">Right multiply by matrix.</div>
+</td>
+</tr>
+<tr id="i29" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html#rightMultByVector-double:A-double:A-int-int-double:A-">rightMultByVector</a></span>(double[]&nbsp;vector,
+                 double[]&nbsp;c,
+                 int&nbsp;rl,
+                 int&nbsp;ru,
+                 double[]&nbsp;dictVals)</code>
+<div class="block">Multiply the slice of the matrix that this column group represents by a vector on the right.</div>
+</td>
+</tr>
+<tr id="i30" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html#sameIndexStructure-org.apache.sysds.runtime.compress.colgroup.ColGroupValue-">sameIndexStructure</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a>&nbsp;that)</code>&nbsp;</td>
+</tr>
+<tr id="i31" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">scalarOperation</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op)</code>
+<div class="block">Perform the specified scalar operation directly on the compressed column group, without decompressing individual
+ cells if possible.</div>
+</td>
+</tr>
+<tr id="i32" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html#toString--">toString</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i33" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html#write-java.io.DataOutput-">write</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataOutput.html?is-external=true" title="class or interface in java.io">DataOutput</a>&nbsp;out)</code>
+<div class="block">Serializes column group to data output.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.ColGroupValue">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#addMinMax-double:A-">addMinMax</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#applyBinaryRowOp-org.apache.sysds.runtime.functionobjects.ValueFunction-double:A-boolean-boolean-">applyBinaryRowOp</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#cleanupThreadLocalMemory--">cleanupThreadLocalMemory</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#containsValue-double-">containsValue</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#copy--">copy</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#copyAndSet-int:A-org.apache.sysds.runtime.compress.colgroup.ADictionary-">copyAndSet</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#copyAndSet-int:A-double:A-">copyAndSet</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCachedCounts--">getCachedCounts</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCounts--">getCounts</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCounts-int-int-">getCounts</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getDictionary--">getDictionary</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getIfCountsType--">getIfCountsType</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getMax--">getMax</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getMin--">getMin</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getNumberNonZeros--">getNumberNonZeros</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getNumValues--">getNumValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getValues--">getValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getValuesAsBlock--">getValuesAsBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#isLossy--">isLossy</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#leftMultByAggregatedColGroup-org.apache.sysds.runtime.compress.colgroup.ColGroupValue-double:A-int-int-">leftMultByAggregatedColGroup</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#leftMultByRowVector-double:A-double:A-">leftMultByRowVector</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#leftMultByRowVector-double:A-double:A-int-">leftMultByRowVector</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#leftMultByRowVector-double:A-double:A-int-double:A-">leftMultByRowVector</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#leftMultByRowVector-double:A-double:A-int-double:A-int-">leftMultByRowVector</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#leftMultBySelfDiagonalColGroup-double:A-int-">leftMultBySelfDiagonalColGroup</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregate-org.apache.sysds.runtime.compress.colgroup.ColGroupValue-">preAggregate</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregate-double:A-">preAggregate</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregate-org.apache.sysds.runtime.data.SparseBlock-">preAggregate</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateCONST-org.apache.sysds.runtime.compress.colgroup.ColGroupConst-">preAggregateCONST</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preaggValues-int-org.apache.sysds.runtime.matrix.data.MatrixBlock-double:A-int-int-int-">preaggValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preCallAggregate-org.apache.sysds.runtime.compress.colgroup.ColGroupValue-">preCallAggregate</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#setupThreadLocalMemory-int-">setupThreadLocalMemory</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#sliceColumns-int-int-">sliceColumns</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-">unaryAggregateOperations</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-int-int-">unaryAggregateOperations</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.AColGroup">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToArray-double:A-int-java.util.List-">decompressColumnToArray</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-double:A-int-int-int-java.util.List-">decompressColumnToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-java.util.List-">decompressColumnToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-java.util.List-">decompressColumnToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlockUnSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-java.util.List-">decompressColumnToBlockUnSafe</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-boolean-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-double:A-boolean-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-boolean-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-boolean-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getColIndex-int-">getColIndex</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getColIndices--">getColIndices</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getNumCols--">getNumCols</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getNumRows--">getNumRows</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#isDense--">isDense</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#shiftColIndices-int-">shiftColIndices</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getCompType--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getCompType</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a>&nbsp;getCompType()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getCompType--">AColGroup</a></code></span></div>
+<div class="block">Obtain the compression type.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getCompType--">getCompType</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>How the elements of the column group are compressed.</dd>
+</dl>
+</li>
+</ul>
+<a name="getColGroupType--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getColGroupType</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.ColGroupType</a>&nbsp;getColGroupType()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getColGroupType--">AColGroup</a></code></span></div>
+<div class="block">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.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getColGroupType--">getColGroupType</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>ColGroupType of the object.</dd>
+</dl>
+</li>
+</ul>
+<a name="decompressToBlockSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>decompressToBlockSafe</h4>
+<pre>public&nbsp;void&nbsp;decompressToBlockSafe(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                                  int&nbsp;rl,
+                                  int&nbsp;ru,
+                                  int&nbsp;offT,
+                                  double[]&nbsp;values)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlockSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">AColGroup</a></code></span></div>
+<div class="block">Decompress the contents of this column group into the specified full matrix block without managing the number of
+ non zeros.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlockSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">decompressToBlockSafe</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>target</code> - a matrix block where the columns covered by this column group have not yet been filled in.</dd>
+<dd><code>rl</code> - row lower</dd>
+<dd><code>ru</code> - row upper</dd>
+<dd><code>offT</code> - Offset into target to assign from</dd>
+<dd><code>values</code> - The Values materialized in the dictionary</dd>
+</dl>
+</li>
+</ul>
+<a name="decompressToBlockUnSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>decompressToBlockUnSafe</h4>
+<pre>public&nbsp;void&nbsp;decompressToBlockUnSafe(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                                    int&nbsp;rl,
+                                    int&nbsp;ru,
+                                    int&nbsp;offT,
+                                    double[]&nbsp;values)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlockUnSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">decompressToBlockUnSafe</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>decompressToBlock</h4>
+<pre>public&nbsp;void&nbsp;decompressToBlock(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                              int[]&nbsp;colIndexTargets)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">AColGroup</a></code></span></div>
+<div class="block">Decompress the contents of this column group into uncompressed packed columns</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">decompressToBlock</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>target</code> - a dense matrix block. The block must have enough space to hold the contents of this column
+                        group.</dd>
+<dd><code>colIndexTargets</code> - array that maps column indices in the original matrix block to columns of target.</dd>
+</dl>
+</li>
+</ul>
+<a name="decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>decompressColumnToBlock</h4>
+<pre>public&nbsp;void&nbsp;decompressColumnToBlock(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                                    int&nbsp;colpos)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">AColGroup</a></code></span></div>
+<div class="block">Decompress to block.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">decompressColumnToBlock</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>target</code> - dense output vector</dd>
+<dd><code>colpos</code> - column to decompress, error if larger or equal numCols</dd>
+</dl>
+</li>
+</ul>
+<a name="decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>decompressColumnToBlock</h4>
+<pre>public&nbsp;void&nbsp;decompressColumnToBlock(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                                    int&nbsp;colpos,
+                                    int&nbsp;rl,
+                                    int&nbsp;ru)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-">AColGroup</a></code></span></div>
+<div class="block">Decompress to block.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-">decompressColumnToBlock</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>target</code> - dense output vector</dd>
+<dd><code>colpos</code> - column to decompress, error if larger or equal numCols</dd>
+<dd><code>rl</code> - the Row to start decompression from</dd>
+<dd><code>ru</code> - the Row to end decompression at</dd>
+</dl>
+</li>
+</ul>
+<a name="decompressColumnToBlock-double:A-int-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>decompressColumnToBlock</h4>
+<pre>public&nbsp;void&nbsp;decompressColumnToBlock(double[]&nbsp;c,
+                                    int&nbsp;colpos,
+                                    int&nbsp;rl,
+                                    int&nbsp;ru)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-double:A-int-int-int-">AColGroup</a></code></span></div>
+<div class="block">Decompress to dense array.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-double:A-int-int-int-">decompressColumnToBlock</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>c</code> - dense output vector double array.</dd>
+<dd><code>colpos</code> - column to decompress, error if larger or equal numCols</dd>
+<dd><code>rl</code> - the Row to start decompression from</dd>
+<dd><code>ru</code> - the Row to end decompression at</dd>
+</dl>
+</li>
+</ul>
+<a name="get-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>get</h4>
+<pre>public&nbsp;double&nbsp;get(int&nbsp;r,
+                  int&nbsp;c)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#get-int-int-">AColGroup</a></code></span></div>
+<div class="block">Get the value at a global row/column position.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#get-int-int-">get</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>r</code> - row</dd>
+<dd><code>c</code> - column</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>value at the row/column position</dd>
+</dl>
+</li>
+</ul>
+<a name="countNonZerosPerRow-int:A-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>countNonZerosPerRow</h4>
+<pre>public&nbsp;void&nbsp;countNonZerosPerRow(int[]&nbsp;rnnz,
+                                int&nbsp;rl,
+                                int&nbsp;ru)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#countNonZerosPerRow-int:A-int-int-">AColGroup</a></code></span></div>
+<div class="block">Count the number of non-zeros per row</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#countNonZerosPerRow-int:A-int-int-">countNonZerosPerRow</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>rnnz</code> - non-zeros per row</dd>
+<dd><code>rl</code> - row lower bound, inclusive</dd>
+<dd><code>ru</code> - row upper bound, exclusive</dd>
+</dl>
+</li>
+</ul>
+<a name="getCounts-int:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getCounts</h4>
+<pre>public&nbsp;int[]&nbsp;getCounts(int[]&nbsp;counts)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCounts-int:A-">getCounts</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getCounts-int-int-int:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getCounts</h4>
+<pre>public&nbsp;int[]&nbsp;getCounts(int&nbsp;rl,
+                       int&nbsp;ru,
+                       int[]&nbsp;counts)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCounts-int-int-int:A-">getCounts</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="leftMultByMatrix-double:A-double:A-double:A-int-int-int-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>leftMultByMatrix</h4>
+<pre>public&nbsp;void&nbsp;leftMultByMatrix(double[]&nbsp;a,
+                             double[]&nbsp;c,
+                             double[]&nbsp;values,
+                             int&nbsp;numRows,
+                             int&nbsp;numCols,
+                             int&nbsp;rl,
+                             int&nbsp;ru,
+                             int&nbsp;voff)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#leftMultByMatrix-double:A-double:A-double:A-int-int-int-int-int-">AColGroup</a></code></span></div>
+<div class="block">Multiply with a matrix on the left.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#leftMultByMatrix-double:A-double:A-double:A-int-int-int-int-int-">leftMultByMatrix</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>a</code> - matrix to left multiply</dd>
+<dd><code>c</code> - matrix block result</dd>
+<dd><code>values</code> - The materialized list of values contained in the dictionary.</dd>
+<dd><code>numRows</code> - The number of rows in the matrix input</dd>
+<dd><code>numCols</code> - The number of columns in the colGroups parent matrix.</dd>
+<dd><code>rl</code> - The row to start the matrix multiplication from</dd>
+<dd><code>ru</code> - The row to stop the matrix multiplication at.</dd>
+<dd><code>voff</code> - The offset into the first argument matrix to start at.</dd>
+</dl>
+</li>
+</ul>
+<a name="leftMultBySparseMatrix-org.apache.sysds.runtime.data.SparseBlock-double:A-double:A-int-int-int-double:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>leftMultBySparseMatrix</h4>
+<pre>public&nbsp;void&nbsp;leftMultBySparseMatrix(<a href="../../../../../../org/apache/sysds/runtime/data/SparseBlock.html" title="class in org.apache.sysds.runtime.data">SparseBlock</a>&nbsp;sb,
+                                   double[]&nbsp;c,
+                                   double[]&nbsp;values,
+                                   int&nbsp;numRows,
+                                   int&nbsp;numCols,
+                                   int&nbsp;row,
+                                   double[]&nbsp;MaterializedRow)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#leftMultBySparseMatrix-org.apache.sysds.runtime.data.SparseBlock-double:A-double:A-int-int-int-double:A-">AColGroup</a></code></span></div>
+<div class="block">Multiply with a sparse matrix on the left hand side, and add the values to the output result</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#leftMultBySparseMatrix-org.apache.sysds.runtime.data.SparseBlock-double:A-double:A-int-int-int-double:A-">leftMultBySparseMatrix</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>sb</code> - The sparse block to multiply with</dd>
+<dd><code>c</code> - The linearized output matrix</dd>
+<dd><code>values</code> - The dictionary values materialized</dd>
+<dd><code>numRows</code> - The number of rows in the left hand side input matrix (the sparse one)</dd>
+<dd><code>numCols</code> - The number of columns in the compression.</dd>
+<dd><code>row</code> - The row index of the sparse row to multiply with.</dd>
+<dd><code>MaterializedRow</code> - A Temporary dense row vector to materialize the sparse values into used for OLE</dd>
+</dl>
+</li>
+</ul>
+<a name="preAggregate-double:A-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>preAggregate</h4>
+<pre>public&nbsp;double[]&nbsp;preAggregate(double[]&nbsp;a,
+                             int&nbsp;row)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregate-double:A-int-">ColGroupValue</a></code></span></div>
+<div class="block">Pre aggregates for left multiplication</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregate-double:A-int-">preAggregate</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>a</code> - The input dense vector or matrix to aggregate</dd>
+<dd><code>row</code> - The row index to aggregate</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The pre-aggregated values.</dd>
+</dl>
+</li>
+</ul>
+<a name="preAggregateSparse-org.apache.sysds.runtime.data.SparseBlock-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>preAggregateSparse</h4>
+<pre>public&nbsp;double[]&nbsp;preAggregateSparse(<a href="../../../../../../org/apache/sysds/runtime/data/SparseBlock.html" title="class in org.apache.sysds.runtime.data">SparseBlock</a>&nbsp;sb,
+                                   int&nbsp;row)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateSparse-org.apache.sysds.runtime.data.SparseBlock-int-">ColGroupValue</a></code></span></div>
+<div class="block">Pre aggregate for left multiplication of sparse vector or matrix.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateSparse-org.apache.sysds.runtime.data.SparseBlock-int-">preAggregateSparse</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>sb</code> - The input sparse vector or matrix to aggregate</dd>
+<dd><code>row</code> - The row index to aggregate</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The pre-aggregated values.</dd>
+</dl>
+</li>
+</ul>
+<a name="estimateInMemorySize--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>estimateInMemorySize</h4>
+<pre>public&nbsp;long&nbsp;estimateInMemorySize()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#estimateInMemorySize--">AColGroup</a></code></span></div>
+<div class="block">Note: Must be overridden by child classes to account for additional data and metadata</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#estimateInMemorySize--">estimateInMemorySize</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>an upper bound on the number of bytes used to store this ColGroup in memory.</dd>
+</dl>
+</li>
+</ul>
+<a name="rightMultByVector-double:A-double:A-int-int-double:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>rightMultByVector</h4>
+<pre>public&nbsp;void&nbsp;rightMultByVector(double[]&nbsp;vector,
+                              double[]&nbsp;c,
+                              int&nbsp;rl,
+                              int&nbsp;ru,
+                              double[]&nbsp;dictVals)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#rightMultByVector-double:A-double:A-int-int-double:A-">AColGroup</a></code></span></div>
+<div class="block">Multiply the slice of the matrix that this column group represents by a vector on the right.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#rightMultByVector-double:A-double:A-int-int-double:A-">rightMultByVector</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>vector</code> - Vector to multiply by (tall vector)</dd>
+<dd><code>c</code> - Accumulator for holding the result</dd>
+<dd><code>rl</code> - Row to start at</dd>
+<dd><code>ru</code> - Row to stop at</dd>
+<dd><code>dictVals</code> - The dictionary values materialized</dd>
+</dl>
+</li>
+</ul>
+<a name="rightMultByMatrix-int:A-double:A-double:A-int-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>rightMultByMatrix</h4>
+<pre>public&nbsp;void&nbsp;rightMultByMatrix(int[]&nbsp;outputColumns,
+                              double[]&nbsp;preAggregatedB,
+                              double[]&nbsp;c,
+                              int&nbsp;thatNrColumns,
+                              int&nbsp;rl,
+                              int&nbsp;ru)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#rightMultByMatrix-int:A-double:A-double:A-int-int-int-">AColGroup</a></code></span></div>
+<div class="block">Right multiply by matrix. for which the compressed matrix is on the left and the uncompressed is on the right.
+ Note that there is no b argument, but the b is aggregated into the values needed for assignment and addition into
+ output.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#rightMultByMatrix-int:A-double:A-double:A-int-int-int-">rightMultByMatrix</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>outputColumns</code> - The Columns that are affected by the right multiplication.</dd>
+<dd><code>preAggregatedB</code> - The preAggregated values that is to be put into c</dd>
+<dd><code>c</code> - The output matrix</dd>
+<dd><code>thatNrColumns</code> - The number of columns in B (before aggregation)</dd>
+<dd><code>rl</code> - The row index to start the multiplication from</dd>
+<dd><code>ru</code> - The row index to stop the multiplication at</dd>
+</dl>
+</li>
+</ul>
+<a name="scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>scalarOperation</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a>&nbsp;scalarOperation(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">AColGroup</a></code></span></div>
+<div class="block">Perform the specified scalar operation directly on the compressed column group, without decompressing individual
+ cells if possible.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">scalarOperation</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>op</code> - operation to perform</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>version of this column group with the operation applied</dd>
+</dl>
+</li>
+</ul>
+<a name="binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>binaryRowOp</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a>&nbsp;binaryRowOp(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
+                             double[]&nbsp;v,
+                             boolean&nbsp;sparseSafe,
+                             boolean&nbsp;left)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-boolean-">AColGroup</a></code></span></div>
+<div class="block">Perform a binary row operation.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-boolean-">binaryRowOp</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>op</code> - The operation to execute</dd>
+<dd><code>v</code> - The vector of values to apply, should be same length as dictionary length.</dd>
+<dd><code>sparseSafe</code> - True if the operation return 0 on all instances of values in v -- op(v[?], 0)</dd>
+<dd><code>left</code> - Specifies if the operation is executed on the left or right side of the values contained.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>A updated column group with the new values.</dd>
+</dl>
+</li>
+</ul>
+<a name="write-java.io.DataOutput-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>write</h4>
+<pre>public&nbsp;void&nbsp;write(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataOutput.html?is-external=true" title="class or interface in java.io">DataOutput</a>&nbsp;out)
+           throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#write-java.io.DataOutput-">AColGroup</a></code></span></div>
+<div class="block">Serializes column group to data output.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#write-java.io.DataOutput-">write</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>out</code> - data output</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if IOException occurs</dd>
+</dl>
+</li>
+</ul>
+<a name="readFields-java.io.DataInput-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>readFields</h4>
+<pre>public&nbsp;void&nbsp;readFields(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a>&nbsp;in)
+                throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#readFields-java.io.DataInput-">AColGroup</a></code></span></div>
+<div class="block">Deserialize column group from data input.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#readFields-java.io.DataInput-">readFields</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>in</code> - data input</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if IOException occurs</dd>
+</dl>
+</li>
+</ul>
+<a name="getExactSizeOnDisk--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getExactSizeOnDisk</h4>
+<pre>public&nbsp;long&nbsp;getExactSizeOnDisk()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getExactSizeOnDisk--">AColGroup</a></code></span></div>
+<div class="block">Returns the exact serialized size of column group. This can be used for example for buffer preallocation.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getExactSizeOnDisk--">getExactSizeOnDisk</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>exact serialized size for column group</dd>
+</dl>
+</li>
+</ul>
+<a name="sameIndexStructure-org.apache.sysds.runtime.compress.colgroup.ColGroupValue-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>sameIndexStructure</h4>
+<pre>public&nbsp;boolean&nbsp;sameIndexStructure(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a>&nbsp;that)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#sameIndexStructure-org.apache.sysds.runtime.compress.colgroup.ColGroupValue-">sameIndexStructure</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getIndexStructureHash--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getIndexStructureHash</h4>
+<pre>public&nbsp;int&nbsp;getIndexStructureHash()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getIndexStructureHash--">getIndexStructureHash</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="toString--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>toString</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#toString--">toString</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="preAggregateDDC-org.apache.sysds.runtime.compress.colgroup.ColGroupDDC-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>preAggregateDDC</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a>&nbsp;preAggregateDDC(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a>&nbsp;lhs)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateDDC-org.apache.sysds.runtime.compress.colgroup.ColGroupDDC-">preAggregateDDC</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="preAggregateSDC-org.apache.sysds.runtime.compress.colgroup.ColGroupSDC-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>preAggregateSDC</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a>&nbsp;preAggregateSDC(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDC</a>&nbsp;lhs)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateSDC-org.apache.sysds.runtime.compress.colgroup.ColGroupSDC-">preAggregateSDC</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="preAggregateSDCSingle-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingle-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>preAggregateSDCSingle</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a>&nbsp;preAggregateSDCSingle(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingle</a>&nbsp;lhs)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateSDCSingle-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingle-">preAggregateSDCSingle</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="preAggregateSDCZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCZeros-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>preAggregateSDCZeros</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a>&nbsp;preAggregateSDCZeros(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCZeros</a>&nbsp;lhs)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateSDCZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCZeros-">preAggregateSDCZeros</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="preAggregateSDCSingleZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingleZeros-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>preAggregateSDCSingleZeros</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a>&nbsp;preAggregateSDCSingleZeros(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingleZeros</a>&nbsp;lhs)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateSDCSingleZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingleZeros-">preAggregateSDCSingleZeros</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="preAggregateOLE-org.apache.sysds.runtime.compress.colgroup.ColGroupOLE-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>preAggregateOLE</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a>&nbsp;preAggregateOLE(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOLE</a>&nbsp;lhs)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateOLE-org.apache.sysds.runtime.compress.colgroup.ColGroupOLE-">preAggregateOLE</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="preAggregateRLE-org.apache.sysds.runtime.compress.colgroup.ColGroupRLE-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>preAggregateRLE</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a>&nbsp;preAggregateRLE(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupRLE</a>&nbsp;lhs)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateRLE-org.apache.sysds.runtime.compress.colgroup.ColGroupRLE-">preAggregateRLE</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ColGroupSDCSingleZeros.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html" target="_top">Frames</a></li>
+<li><a href="ColGroupSDCSingleZeros.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.AColGroup">Nested</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html
new file mode 100644
index 0000000..a2c8d52
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html
@@ -0,0 +1,1159 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>ColGroupSDCZeros (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="ColGroupSDCZeros (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ColGroupSDCZeros.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSizes.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html" target="_top">Frames</a></li>
+<li><a href="ColGroupSDCZeros.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.AColGroup">Nested</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.sysds.runtime.compress.colgroup</div>
+<h2 title="Class ColGroupSDCZeros" class="title">Class ColGroupSDCZeros</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">org.apache.sysds.runtime.compress.colgroup.AColGroup</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">org.apache.sysds.runtime.compress.colgroup.ColGroupValue</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.sysds.runtime.compress.colgroup.ColGroupSDCZeros</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Cloneable.html?is-external=true" title="class or interface in java.lang">Cloneable</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">ColGroupSDCZeros</span>
+extends <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></pre>
+<div class="block">Column group that sparsely encodes the dictionary values. The idea is that all values is encoded with indexes except
+ the most common one. the most common one can be inferred by not being included in the indexes.
+ 
+ If the values are very sparse then the most common one is zero. This is the case for this column group, that
+ specifically exploits that the column contain lots of zero values.
+ 
+ This column group is handy in cases where sparse unsafe operations is executed on very sparse columns.</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../../serialized-form.html#org.apache.sysds.runtime.compress.colgroup.ColGroupSDCZeros">Serialized Form</a></dd>
+</dl>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!--   -->
+</a>
+<h3>Nested Class Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.AColGroup">
+<!--   -->
+</a>
+<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.ColGroupType</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-boolean-">binaryRowOp</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
+           double[]&nbsp;v,
+           boolean&nbsp;sparseSafe,
+           boolean&nbsp;left)</code>
+<div class="block">Perform a binary row operation.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#countNonZerosPerRow-int:A-int-int-">countNonZerosPerRow</a></span>(int[]&nbsp;rnnz,
+                   int&nbsp;rl,
+                   int&nbsp;ru)</code>
+<div class="block">Count the number of non-zeros per row</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#decompressColumnToBlock-double:A-int-int-int-">decompressColumnToBlock</a></span>(double[]&nbsp;c,
+                       int&nbsp;colpos,
+                       int&nbsp;rl,
+                       int&nbsp;ru)</code>
+<div class="block">Decompress to dense array.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">decompressColumnToBlock</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                       int&nbsp;colpos)</code>
+<div class="block">Decompress to block.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-">decompressColumnToBlock</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                       int&nbsp;colpos,
+                       int&nbsp;rl,
+                       int&nbsp;ru)</code>
+<div class="block">Decompress to block.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">decompressToBlock</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                 int[]&nbsp;colIndexTargets)</code>
+<div class="block">Decompress the contents of this column group into uncompressed packed columns</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#decompressToBlockSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">decompressToBlockSafe</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                     int&nbsp;rl,
+                     int&nbsp;ru,
+                     int&nbsp;offT,
+                     double[]&nbsp;values)</code>
+<div class="block">Decompress the contents of this column group into the specified full matrix block without managing the number of
+ non zeros.</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#decompressToBlockUnSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">decompressToBlockUnSafe</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                       int&nbsp;rl,
+                       int&nbsp;ru,
+                       int&nbsp;offT,
+                       double[]&nbsp;values)</code>&nbsp;</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#estimateInMemorySize--">estimateInMemorySize</a></span>()</code>
+<div class="block">Note: Must be overridden by child classes to account for additional data and metadata</div>
+</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>double</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#get-int-int-">get</a></span>(int&nbsp;r,
+   int&nbsp;c)</code>
+<div class="block">Get the value at a global row/column position.</div>
+</td>
+</tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.ColGroupType</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#getColGroupType--">getColGroupType</a></span>()</code>
+<div class="block">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.</div>
+</td>
+</tr>
+<tr id="i11" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#getCompType--">getCompType</a></span>()</code>
+<div class="block">Obtain the compression type.</div>
+</td>
+</tr>
+<tr id="i12" class="altColor">
+<td class="colFirst"><code>int[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#getCounts-int:A-">getCounts</a></span>(int[]&nbsp;counts)</code>&nbsp;</td>
+</tr>
+<tr id="i13" class="rowColor">
+<td class="colFirst"><code>int[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#getCounts-int-int-int:A-">getCounts</a></span>(int&nbsp;rl,
+         int&nbsp;ru,
+         int[]&nbsp;counts)</code>&nbsp;</td>
+</tr>
+<tr id="i14" class="altColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#getExactSizeOnDisk--">getExactSizeOnDisk</a></span>()</code>
+<div class="block">Returns the exact serialized size of column group.</div>
+</td>
+</tr>
+<tr id="i15" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#getIndex-int-">getIndex</a></span>(int&nbsp;r)</code>&nbsp;</td>
+</tr>
+<tr id="i16" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#getIndexStructureHash--">getIndexStructureHash</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i17" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#leftMultByMatrix-double:A-double:A-double:A-int-int-int-int-int-">leftMultByMatrix</a></span>(double[]&nbsp;a,
+                double[]&nbsp;c,
+                double[]&nbsp;values,
+                int&nbsp;numRows,
+                int&nbsp;numCols,
+                int&nbsp;rl,
+                int&nbsp;ru,
+                int&nbsp;voff)</code>
+<div class="block">Multiply with a matrix on the left.</div>
+</td>
+</tr>
+<tr id="i18" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#leftMultBySparseMatrix-org.apache.sysds.runtime.data.SparseBlock-double:A-double:A-int-int-int-double:A-">leftMultBySparseMatrix</a></span>(<a href="../../../../../../org/apache/sysds/runtime/data/SparseBlock.html" title="class in org.apache.sysds.runtime.data">SparseBlock</a>&nbsp;sb,
+                      double[]&nbsp;c,
+                      double[]&nbsp;values,
+                      int&nbsp;numRows,
+                      int&nbsp;numCols,
+                      int&nbsp;row,
+                      double[]&nbsp;MaterializedRow)</code>
+<div class="block">Multiply with a sparse matrix on the left hand side, and add the values to the output result</div>
+</td>
+</tr>
+<tr id="i19" class="rowColor">
+<td class="colFirst"><code>double[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#preAggregate-double:A-int-">preAggregate</a></span>(double[]&nbsp;a,
+            int&nbsp;aRows)</code>
+<div class="block">Pre aggregates for left multiplication</div>
+</td>
+</tr>
+<tr id="i20" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#preAggregateDDC-org.apache.sysds.runtime.compress.colgroup.ColGroupDDC-">preAggregateDDC</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr id="i21" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#preAggregateOLE-org.apache.sysds.runtime.compress.colgroup.ColGroupOLE-">preAggregateOLE</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOLE</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr id="i22" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#preAggregateRLE-org.apache.sysds.runtime.compress.colgroup.ColGroupRLE-">preAggregateRLE</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupRLE</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr id="i23" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#preAggregateSDC-org.apache.sysds.runtime.compress.colgroup.ColGroupSDC-">preAggregateSDC</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDC</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr id="i24" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#preAggregateSDCSingle-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingle-">preAggregateSDCSingle</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingle</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr id="i25" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#preAggregateSDCSingleZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingleZeros-">preAggregateSDCSingleZeros</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingleZeros</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr id="i26" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#preAggregateSDCZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCZeros-">preAggregateSDCZeros</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCZeros</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr id="i27" class="rowColor">
+<td class="colFirst"><code>double[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#preAggregateSparse-org.apache.sysds.runtime.data.SparseBlock-int-">preAggregateSparse</a></span>(<a href="../../../../../../org/apache/sysds/runtime/data/SparseBlock.html" title="class in org.apache.sysds.runtime.data">SparseBlock</a>&nbsp;sb,
+                  int&nbsp;row)</code>
+<div class="block">Pre aggregate for left multiplication of sparse vector or matrix.</div>
+</td>
+</tr>
+<tr id="i28" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#readFields-java.io.DataInput-">readFields</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a>&nbsp;in)</code>
+<div class="block">Deserialize column group from data input.</div>
+</td>
+</tr>
+<tr id="i29" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#rightMultByMatrix-int:A-double:A-double:A-int-int-int-">rightMultByMatrix</a></span>(int[]&nbsp;outputColumns,
+                 double[]&nbsp;preAggregatedB,
+                 double[]&nbsp;c,
+                 int&nbsp;thatNrColumns,
+                 int&nbsp;rl,
+                 int&nbsp;ru)</code>
+<div class="block">Right multiply by matrix.</div>
+</td>
+</tr>
+<tr id="i30" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#rightMultByVector-double:A-double:A-int-int-double:A-">rightMultByVector</a></span>(double[]&nbsp;vector,
+                 double[]&nbsp;c,
+                 int&nbsp;rl,
+                 int&nbsp;ru,
+                 double[]&nbsp;dictVals)</code>
+<div class="block">Multiply the slice of the matrix that this column group represents by a vector on the right.</div>
+</td>
+</tr>
+<tr id="i31" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#sameIndexStructure-org.apache.sysds.runtime.compress.colgroup.ColGroupValue-">sameIndexStructure</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a>&nbsp;that)</code>&nbsp;</td>
+</tr>
+<tr id="i32" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">scalarOperation</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op)</code>
+<div class="block">Perform the specified scalar operation directly on the compressed column group, without decompressing individual
+ cells if possible.</div>
+</td>
+</tr>
+<tr id="i33" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#toString--">toString</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i34" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#write-java.io.DataOutput-">write</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataOutput.html?is-external=true" title="class or interface in java.io">DataOutput</a>&nbsp;out)</code>
+<div class="block">Serializes column group to data output.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.ColGroupValue">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#addMinMax-double:A-">addMinMax</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#applyBinaryRowOp-org.apache.sysds.runtime.functionobjects.ValueFunction-double:A-boolean-boolean-">applyBinaryRowOp</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#cleanupThreadLocalMemory--">cleanupThreadLocalMemory</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#containsValue-double-">containsValue</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#copy--">copy</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#copyAndSet-int:A-org.apache.sysds.runtime.compress.colgroup.ADictionary-">copyAndSet</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#copyAndSet-int:A-double:A-">copyAndSet</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCachedCounts--">getCachedCounts</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCounts--">getCounts</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCounts-int-int-">getCounts</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getDictionary--">getDictionary</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getIfCountsType--">getIfCountsType</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getMax--">getMax</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getMin--">getMin</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getNumberNonZeros--">getNumberNonZeros</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getNumValues--">getNumValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getValues--">getValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getValuesAsBlock--">getValuesAsBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#isLossy--">isLossy</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#leftMultByAggregatedColGroup-org.apache.sysds.runtime.compress.colgroup.ColGroupValue-double:A-int-int-">leftMultByAggregatedColGroup</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#leftMultByRowVector-double:A-double:A-">leftMultByRowVector</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#leftMultByRowVector-double:A-double:A-int-">leftMultByRowVector</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#leftMultByRowVector-double:A-double:A-int-double:A-">leftMultByRowVector</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#leftMultByRowVector-double:A-double:A-int-double:A-int-">leftMultByRowVector</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#leftMultBySelfDiagonalColGroup-double:A-int-">leftMultBySelfDiagonalColGroup</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregate-org.apache.sysds.runtime.compress.colgroup.ColGroupValue-">preAggregate</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregate-double:A-">preAggregate</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregate-org.apache.sysds.runtime.data.SparseBlock-">preAggregate</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateCONST-org.apache.sysds.runtime.compress.colgroup.ColGroupConst-">preAggregateCONST</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preaggValues-int-org.apache.sysds.runtime.matrix.data.MatrixBlock-double:A-int-int-int-">preaggValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preCallAggregate-org.apache.sysds.runtime.compress.colgroup.ColGroupValue-">preCallAggregate</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#setupThreadLocalMemory-int-">setupThreadLocalMemory</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#sliceColumns-int-int-">sliceColumns</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-">unaryAggregateOperations</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-int-int-">unaryAggregateOperations</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.AColGroup">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToArray-double:A-int-java.util.List-">decompressColumnToArray</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-double:A-int-int-int-java.util.List-">decompressColumnToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-java.util.List-">decompressColumnToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-java.util.List-">decompressColumnToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlockUnSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-java.util.List-">decompressColumnToBlockUnSafe</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-boolean-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-double:A-boolean-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-boolean-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-boolean-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getColIndex-int-">getColIndex</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getColIndices--">getColIndices</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getNumCols--">getNumCols</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getNumRows--">getNumRows</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#isDense--">isDense</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#shiftColIndices-int-">shiftColIndices</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getCompType--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getCompType</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a>&nbsp;getCompType()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getCompType--">AColGroup</a></code></span></div>
+<div class="block">Obtain the compression type.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getCompType--">getCompType</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>How the elements of the column group are compressed.</dd>
+</dl>
+</li>
+</ul>
+<a name="getColGroupType--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getColGroupType</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.ColGroupType</a>&nbsp;getColGroupType()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getColGroupType--">AColGroup</a></code></span></div>
+<div class="block">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.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getColGroupType--">getColGroupType</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>ColGroupType of the object.</dd>
+</dl>
+</li>
+</ul>
+<a name="decompressToBlockSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>decompressToBlockSafe</h4>
+<pre>public&nbsp;void&nbsp;decompressToBlockSafe(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                                  int&nbsp;rl,
+                                  int&nbsp;ru,
+                                  int&nbsp;offT,
+                                  double[]&nbsp;values)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlockSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">AColGroup</a></code></span></div>
+<div class="block">Decompress the contents of this column group into the specified full matrix block without managing the number of
+ non zeros.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlockSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">decompressToBlockSafe</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>target</code> - a matrix block where the columns covered by this column group have not yet been filled in.</dd>
+<dd><code>rl</code> - row lower</dd>
+<dd><code>ru</code> - row upper</dd>
+<dd><code>offT</code> - Offset into target to assign from</dd>
+<dd><code>values</code> - The Values materialized in the dictionary</dd>
+</dl>
+</li>
+</ul>
+<a name="decompressToBlockUnSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>decompressToBlockUnSafe</h4>
+<pre>public&nbsp;void&nbsp;decompressToBlockUnSafe(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                                    int&nbsp;rl,
+                                    int&nbsp;ru,
+                                    int&nbsp;offT,
+                                    double[]&nbsp;values)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlockUnSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">decompressToBlockUnSafe</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>decompressToBlock</h4>
+<pre>public&nbsp;void&nbsp;decompressToBlock(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                              int[]&nbsp;colIndexTargets)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">AColGroup</a></code></span></div>
+<div class="block">Decompress the contents of this column group into uncompressed packed columns</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">decompressToBlock</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>target</code> - a dense matrix block. The block must have enough space to hold the contents of this column
+                        group.</dd>
+<dd><code>colIndexTargets</code> - array that maps column indices in the original matrix block to columns of target.</dd>
+</dl>
+</li>
+</ul>
+<a name="decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>decompressColumnToBlock</h4>
+<pre>public&nbsp;void&nbsp;decompressColumnToBlock(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                                    int&nbsp;colpos)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">AColGroup</a></code></span></div>
+<div class="block">Decompress to block.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">decompressColumnToBlock</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>target</code> - dense output vector</dd>
+<dd><code>colpos</code> - column to decompress, error if larger or equal numCols</dd>
+</dl>
+</li>
+</ul>
+<a name="decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>decompressColumnToBlock</h4>
+<pre>public&nbsp;void&nbsp;decompressColumnToBlock(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                                    int&nbsp;colpos,
+                                    int&nbsp;rl,
+                                    int&nbsp;ru)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-">AColGroup</a></code></span></div>
+<div class="block">Decompress to block.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-">decompressColumnToBlock</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>target</code> - dense output vector</dd>
+<dd><code>colpos</code> - column to decompress, error if larger or equal numCols</dd>
+<dd><code>rl</code> - the Row to start decompression from</dd>
+<dd><code>ru</code> - the Row to end decompression at</dd>
+</dl>
+</li>
+</ul>
+<a name="decompressColumnToBlock-double:A-int-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>decompressColumnToBlock</h4>
+<pre>public&nbsp;void&nbsp;decompressColumnToBlock(double[]&nbsp;c,
+                                    int&nbsp;colpos,
+                                    int&nbsp;rl,
+                                    int&nbsp;ru)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-double:A-int-int-int-">AColGroup</a></code></span></div>
+<div class="block">Decompress to dense array.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-double:A-int-int-int-">decompressColumnToBlock</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>c</code> - dense output vector double array.</dd>
+<dd><code>colpos</code> - column to decompress, error if larger or equal numCols</dd>
+<dd><code>rl</code> - the Row to start decompression from</dd>
+<dd><code>ru</code> - the Row to end decompression at</dd>
+</dl>
+</li>
+</ul>
+<a name="get-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>get</h4>
+<pre>public&nbsp;double&nbsp;get(int&nbsp;r,
+                  int&nbsp;c)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#get-int-int-">AColGroup</a></code></span></div>
+<div class="block">Get the value at a global row/column position.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#get-int-int-">get</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>r</code> - row</dd>
+<dd><code>c</code> - column</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>value at the row/column position</dd>
+</dl>
+</li>
+</ul>
+<a name="countNonZerosPerRow-int:A-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>countNonZerosPerRow</h4>
+<pre>public&nbsp;void&nbsp;countNonZerosPerRow(int[]&nbsp;rnnz,
+                                int&nbsp;rl,
+                                int&nbsp;ru)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#countNonZerosPerRow-int:A-int-int-">AColGroup</a></code></span></div>
+<div class="block">Count the number of non-zeros per row</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#countNonZerosPerRow-int:A-int-int-">countNonZerosPerRow</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>rnnz</code> - non-zeros per row</dd>
+<dd><code>rl</code> - row lower bound, inclusive</dd>
+<dd><code>ru</code> - row upper bound, exclusive</dd>
+</dl>
+</li>
+</ul>
+<a name="getCounts-int:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getCounts</h4>
+<pre>public&nbsp;int[]&nbsp;getCounts(int[]&nbsp;counts)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCounts-int:A-">getCounts</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getCounts-int-int-int:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getCounts</h4>
+<pre>public&nbsp;int[]&nbsp;getCounts(int&nbsp;rl,
+                       int&nbsp;ru,
+                       int[]&nbsp;counts)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCounts-int-int-int:A-">getCounts</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getIndex-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getIndex</h4>
+<pre>public&nbsp;int&nbsp;getIndex(int&nbsp;r)</pre>
+</li>
+</ul>
+<a name="leftMultByMatrix-double:A-double:A-double:A-int-int-int-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>leftMultByMatrix</h4>
+<pre>public&nbsp;void&nbsp;leftMultByMatrix(double[]&nbsp;a,
+                             double[]&nbsp;c,
+                             double[]&nbsp;values,
+                             int&nbsp;numRows,
+                             int&nbsp;numCols,
+                             int&nbsp;rl,
+                             int&nbsp;ru,
+                             int&nbsp;voff)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#leftMultByMatrix-double:A-double:A-double:A-int-int-int-int-int-">AColGroup</a></code></span></div>
+<div class="block">Multiply with a matrix on the left.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#leftMultByMatrix-double:A-double:A-double:A-int-int-int-int-int-">leftMultByMatrix</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>a</code> - matrix to left multiply</dd>
+<dd><code>c</code> - matrix block result</dd>
+<dd><code>values</code> - The materialized list of values contained in the dictionary.</dd>
+<dd><code>numRows</code> - The number of rows in the matrix input</dd>
+<dd><code>numCols</code> - The number of columns in the colGroups parent matrix.</dd>
+<dd><code>rl</code> - The row to start the matrix multiplication from</dd>
+<dd><code>ru</code> - The row to stop the matrix multiplication at.</dd>
+<dd><code>voff</code> - The offset into the first argument matrix to start at.</dd>
+</dl>
+</li>
+</ul>
+<a name="leftMultBySparseMatrix-org.apache.sysds.runtime.data.SparseBlock-double:A-double:A-int-int-int-double:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>leftMultBySparseMatrix</h4>
+<pre>public&nbsp;void&nbsp;leftMultBySparseMatrix(<a href="../../../../../../org/apache/sysds/runtime/data/SparseBlock.html" title="class in org.apache.sysds.runtime.data">SparseBlock</a>&nbsp;sb,
+                                   double[]&nbsp;c,
+                                   double[]&nbsp;values,
+                                   int&nbsp;numRows,
+                                   int&nbsp;numCols,
+                                   int&nbsp;row,
+                                   double[]&nbsp;MaterializedRow)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#leftMultBySparseMatrix-org.apache.sysds.runtime.data.SparseBlock-double:A-double:A-int-int-int-double:A-">AColGroup</a></code></span></div>
+<div class="block">Multiply with a sparse matrix on the left hand side, and add the values to the output result</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#leftMultBySparseMatrix-org.apache.sysds.runtime.data.SparseBlock-double:A-double:A-int-int-int-double:A-">leftMultBySparseMatrix</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>sb</code> - The sparse block to multiply with</dd>
+<dd><code>c</code> - The linearized output matrix</dd>
+<dd><code>values</code> - The dictionary values materialized</dd>
+<dd><code>numRows</code> - The number of rows in the left hand side input matrix (the sparse one)</dd>
+<dd><code>numCols</code> - The number of columns in the compression.</dd>
+<dd><code>row</code> - The row index of the sparse row to multiply with.</dd>
+<dd><code>MaterializedRow</code> - A Temporary dense row vector to materialize the sparse values into used for OLE</dd>
+</dl>
+</li>
+</ul>
+<a name="preAggregate-double:A-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>preAggregate</h4>
+<pre>public&nbsp;double[]&nbsp;preAggregate(double[]&nbsp;a,
+                             int&nbsp;aRows)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregate-double:A-int-">ColGroupValue</a></code></span></div>
+<div class="block">Pre aggregates for left multiplication</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregate-double:A-int-">preAggregate</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>a</code> - The input dense vector or matrix to aggregate</dd>
+<dd><code>aRows</code> - The row index to aggregate</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The pre-aggregated values.</dd>
+</dl>
+</li>
+</ul>
+<a name="preAggregateSparse-org.apache.sysds.runtime.data.SparseBlock-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>preAggregateSparse</h4>
+<pre>public&nbsp;double[]&nbsp;preAggregateSparse(<a href="../../../../../../org/apache/sysds/runtime/data/SparseBlock.html" title="class in org.apache.sysds.runtime.data">SparseBlock</a>&nbsp;sb,
+                                   int&nbsp;row)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateSparse-org.apache.sysds.runtime.data.SparseBlock-int-">ColGroupValue</a></code></span></div>
+<div class="block">Pre aggregate for left multiplication of sparse vector or matrix.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateSparse-org.apache.sysds.runtime.data.SparseBlock-int-">preAggregateSparse</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>sb</code> - The input sparse vector or matrix to aggregate</dd>
+<dd><code>row</code> - The row index to aggregate</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The pre-aggregated values.</dd>
+</dl>
+</li>
+</ul>
+<a name="estimateInMemorySize--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>estimateInMemorySize</h4>
+<pre>public&nbsp;long&nbsp;estimateInMemorySize()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#estimateInMemorySize--">AColGroup</a></code></span></div>
+<div class="block">Note: Must be overridden by child classes to account for additional data and metadata</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#estimateInMemorySize--">estimateInMemorySize</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>an upper bound on the number of bytes used to store this ColGroup in memory.</dd>
+</dl>
+</li>
+</ul>
+<a name="rightMultByVector-double:A-double:A-int-int-double:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>rightMultByVector</h4>
+<pre>public&nbsp;void&nbsp;rightMultByVector(double[]&nbsp;vector,
+                              double[]&nbsp;c,
+                              int&nbsp;rl,
+                              int&nbsp;ru,
+                              double[]&nbsp;dictVals)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#rightMultByVector-double:A-double:A-int-int-double:A-">AColGroup</a></code></span></div>
+<div class="block">Multiply the slice of the matrix that this column group represents by a vector on the right.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#rightMultByVector-double:A-double:A-int-int-double:A-">rightMultByVector</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>vector</code> - Vector to multiply by (tall vector)</dd>
+<dd><code>c</code> - Accumulator for holding the result</dd>
+<dd><code>rl</code> - Row to start at</dd>
+<dd><code>ru</code> - Row to stop at</dd>
+<dd><code>dictVals</code> - The dictionary values materialized</dd>
+</dl>
+</li>
+</ul>
+<a name="rightMultByMatrix-int:A-double:A-double:A-int-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>rightMultByMatrix</h4>
+<pre>public&nbsp;void&nbsp;rightMultByMatrix(int[]&nbsp;outputColumns,
+                              double[]&nbsp;preAggregatedB,
+                              double[]&nbsp;c,
+                              int&nbsp;thatNrColumns,
+                              int&nbsp;rl,
+                              int&nbsp;ru)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#rightMultByMatrix-int:A-double:A-double:A-int-int-int-">AColGroup</a></code></span></div>
+<div class="block">Right multiply by matrix. for which the compressed matrix is on the left and the uncompressed is on the right.
+ Note that there is no b argument, but the b is aggregated into the values needed for assignment and addition into
+ output.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#rightMultByMatrix-int:A-double:A-double:A-int-int-int-">rightMultByMatrix</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>outputColumns</code> - The Columns that are affected by the right multiplication.</dd>
+<dd><code>preAggregatedB</code> - The preAggregated values that is to be put into c</dd>
+<dd><code>c</code> - The output matrix</dd>
+<dd><code>thatNrColumns</code> - The number of columns in B (before aggregation)</dd>
+<dd><code>rl</code> - The row index to start the multiplication from</dd>
+<dd><code>ru</code> - The row index to stop the multiplication at</dd>
+</dl>
+</li>
+</ul>
+<a name="scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>scalarOperation</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a>&nbsp;scalarOperation(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">AColGroup</a></code></span></div>
+<div class="block">Perform the specified scalar operation directly on the compressed column group, without decompressing individual
+ cells if possible.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">scalarOperation</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>op</code> - operation to perform</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>version of this column group with the operation applied</dd>
+</dl>
+</li>
+</ul>
+<a name="binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>binaryRowOp</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a>&nbsp;binaryRowOp(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
+                             double[]&nbsp;v,
+                             boolean&nbsp;sparseSafe,
+                             boolean&nbsp;left)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-boolean-">AColGroup</a></code></span></div>
+<div class="block">Perform a binary row operation.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-boolean-">binaryRowOp</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>op</code> - The operation to execute</dd>
+<dd><code>v</code> - The vector of values to apply, should be same length as dictionary length.</dd>
+<dd><code>sparseSafe</code> - True if the operation return 0 on all instances of values in v -- op(v[?], 0)</dd>
+<dd><code>left</code> - Specifies if the operation is executed on the left or right side of the values contained.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>A updated column group with the new values.</dd>
+</dl>
+</li>
+</ul>
+<a name="write-java.io.DataOutput-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>write</h4>
+<pre>public&nbsp;void&nbsp;write(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataOutput.html?is-external=true" title="class or interface in java.io">DataOutput</a>&nbsp;out)
+           throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#write-java.io.DataOutput-">AColGroup</a></code></span></div>
+<div class="block">Serializes column group to data output.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#write-java.io.DataOutput-">write</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>out</code> - data output</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if IOException occurs</dd>
+</dl>
+</li>
+</ul>
+<a name="readFields-java.io.DataInput-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>readFields</h4>
+<pre>public&nbsp;void&nbsp;readFields(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a>&nbsp;in)
+                throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#readFields-java.io.DataInput-">AColGroup</a></code></span></div>
+<div class="block">Deserialize column group from data input.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#readFields-java.io.DataInput-">readFields</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>in</code> - data input</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if IOException occurs</dd>
+</dl>
+</li>
+</ul>
+<a name="getExactSizeOnDisk--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getExactSizeOnDisk</h4>
+<pre>public&nbsp;long&nbsp;getExactSizeOnDisk()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getExactSizeOnDisk--">AColGroup</a></code></span></div>
+<div class="block">Returns the exact serialized size of column group. This can be used for example for buffer preallocation.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getExactSizeOnDisk--">getExactSizeOnDisk</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>exact serialized size for column group</dd>
+</dl>
+</li>
+</ul>
+<a name="sameIndexStructure-org.apache.sysds.runtime.compress.colgroup.ColGroupValue-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>sameIndexStructure</h4>
+<pre>public&nbsp;boolean&nbsp;sameIndexStructure(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a>&nbsp;that)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#sameIndexStructure-org.apache.sysds.runtime.compress.colgroup.ColGroupValue-">sameIndexStructure</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getIndexStructureHash--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getIndexStructureHash</h4>
+<pre>public&nbsp;int&nbsp;getIndexStructureHash()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getIndexStructureHash--">getIndexStructureHash</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="toString--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>toString</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#toString--">toString</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="preAggregateDDC-org.apache.sysds.runtime.compress.colgroup.ColGroupDDC-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>preAggregateDDC</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a>&nbsp;preAggregateDDC(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a>&nbsp;lhs)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateDDC-org.apache.sysds.runtime.compress.colgroup.ColGroupDDC-">preAggregateDDC</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="preAggregateSDC-org.apache.sysds.runtime.compress.colgroup.ColGroupSDC-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>preAggregateSDC</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a>&nbsp;preAggregateSDC(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDC</a>&nbsp;lhs)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateSDC-org.apache.sysds.runtime.compress.colgroup.ColGroupSDC-">preAggregateSDC</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="preAggregateSDCSingle-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingle-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>preAggregateSDCSingle</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a>&nbsp;preAggregateSDCSingle(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingle</a>&nbsp;lhs)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateSDCSingle-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingle-">preAggregateSDCSingle</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="preAggregateSDCZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCZeros-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>preAggregateSDCZeros</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a>&nbsp;preAggregateSDCZeros(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCZeros</a>&nbsp;lhs)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateSDCZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCZeros-">preAggregateSDCZeros</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="preAggregateSDCSingleZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingleZeros-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>preAggregateSDCSingleZeros</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a>&nbsp;preAggregateSDCSingleZeros(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingleZeros</a>&nbsp;lhs)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateSDCSingleZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingleZeros-">preAggregateSDCSingleZeros</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="preAggregateOLE-org.apache.sysds.runtime.compress.colgroup.ColGroupOLE-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>preAggregateOLE</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a>&nbsp;preAggregateOLE(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOLE</a>&nbsp;lhs)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateOLE-org.apache.sysds.runtime.compress.colgroup.ColGroupOLE-">preAggregateOLE</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="preAggregateRLE-org.apache.sysds.runtime.compress.colgroup.ColGroupRLE-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>preAggregateRLE</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a>&nbsp;preAggregateRLE(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupRLE</a>&nbsp;lhs)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateRLE-org.apache.sysds.runtime.compress.colgroup.ColGroupRLE-">preAggregateRLE</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ColGroupSDCZeros.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSizes.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html" target="_top">Frames</a></li>
+<li><a href="ColGroupSDCZeros.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.AColGroup">Nested</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroupSizes.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroupSizes.html
index 459f1e2..86c1d07 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroupSizes.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroupSizes.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9};
+var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":9};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -49,7 +49,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -154,35 +154,26 @@
 </tr>
 <tr id="i1" class="rowColor">
 <td class="colFirst"><code>static long</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSizes.html#estimateInMemorySizeDDC-int-int-boolean-">estimateInMemorySizeDDC</a></span>(int&nbsp;nrCols,
-                       int&nbsp;uniqueVals,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSizes.html#estimateInMemorySizeDDC-int-int-int-boolean-">estimateInMemorySizeDDC</a></span>(int&nbsp;nrCols,
+                       int&nbsp;numTuples,
+                       int&nbsp;dataLength,
                        boolean&nbsp;lossy)</code>&nbsp;</td>
 </tr>
 <tr id="i2" class="altColor">
 <td class="colFirst"><code>static long</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSizes.html#estimateInMemorySizeDDC1-int-int-int-boolean-">estimateInMemorySizeDDC1</a></span>(int&nbsp;nrCols,
-                        int&nbsp;uniqueVals,
-                        int&nbsp;dataLength,
-                        boolean&nbsp;lossy)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSizes.html#estimateInMemorySizeEMPTY-int-">estimateInMemorySizeEMPTY</a></span>(int&nbsp;nrColumns)</code>&nbsp;</td>
 </tr>
 <tr id="i3" class="rowColor">
 <td class="colFirst"><code>static long</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSizes.html#estimateInMemorySizeDDC2-int-int-int-boolean-">estimateInMemorySizeDDC2</a></span>(int&nbsp;nrCols,
-                        int&nbsp;uniqueVals,
-                        int&nbsp;dataLength,
-                        boolean&nbsp;lossy)</code>&nbsp;</td>
-</tr>
-<tr id="i4" class="altColor">
-<td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSizes.html#estimateInMemorySizeGroup-int-">estimateInMemorySizeGroup</a></span>(int&nbsp;nrColumns)</code>&nbsp;</td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSizes.html#estimateInMemorySizeGroupValue-int-int-boolean-">estimateInMemorySizeGroupValue</a></span>(int&nbsp;nrColumns,
                               int&nbsp;nrValues,
                               boolean&nbsp;lossy)</code>&nbsp;</td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSizes.html#estimateInMemorySizeOffset-int-int-int-int-boolean-">estimateInMemorySizeOffset</a></span>(int&nbsp;nrColumns,
                           int&nbsp;nrValues,
@@ -190,7 +181,7 @@
                           int&nbsp;offsetLength,
                           boolean&nbsp;lossy)</code>&nbsp;</td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSizes.html#estimateInMemorySizeOLE-int-int-int-int-boolean-">estimateInMemorySizeOLE</a></span>(int&nbsp;nrColumns,
                        int&nbsp;nrValues,
@@ -198,7 +189,7 @@
                        int&nbsp;nrRows,
                        boolean&nbsp;lossy)</code>&nbsp;</td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSizes.html#estimateInMemorySizeRLE-int-int-int-int-boolean-">estimateInMemorySizeRLE</a></span>(int&nbsp;nrColumns,
                        int&nbsp;nrValues,
@@ -206,8 +197,24 @@
                        int&nbsp;nrRows,
                        boolean&nbsp;lossy)</code>&nbsp;</td>
 </tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>static long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSizes.html#estimateInMemorySizeSDC-int-int-int-int-boolean-">estimateInMemorySizeSDC</a></span>(int&nbsp;nrColumns,
+                       int&nbsp;nrValues,
+                       int&nbsp;nrRows,
+                       int&nbsp;largestOff,
+                       boolean&nbsp;lossy)</code>&nbsp;</td>
+</tr>
 <tr id="i9" class="rowColor">
 <td class="colFirst"><code>static long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSizes.html#estimateInMemorySizeSDCSingle-int-int-int-int-boolean-">estimateInMemorySizeSDCSingle</a></span>(int&nbsp;nrColumns,
+                             int&nbsp;nrValues,
+                             int&nbsp;nrRows,
+                             int&nbsp;largestOff,
+                             boolean&nbsp;lossy)</code>&nbsp;</td>
+</tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSizes.html#estimateInMemorySizeUncompressed-int-int-double-">estimateInMemorySizeUncompressed</a></span>(int&nbsp;nrRows,
                                 int&nbsp;nrColumns,
                                 double&nbsp;sparsity)</code>&nbsp;</td>
@@ -271,41 +278,18 @@
                                                   boolean&nbsp;lossy)</pre>
 </li>
 </ul>
-<a name="estimateInMemorySizeDDC-int-int-boolean-">
+<a name="estimateInMemorySizeDDC-int-int-int-boolean-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>estimateInMemorySizeDDC</h4>
 <pre>public static&nbsp;long&nbsp;estimateInMemorySizeDDC(int&nbsp;nrCols,
-                                           int&nbsp;uniqueVals,
+                                           int&nbsp;numTuples,
+                                           int&nbsp;dataLength,
                                            boolean&nbsp;lossy)</pre>
 </li>
 </ul>
-<a name="estimateInMemorySizeDDC1-int-int-int-boolean-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>estimateInMemorySizeDDC1</h4>
-<pre>public static&nbsp;long&nbsp;estimateInMemorySizeDDC1(int&nbsp;nrCols,
-                                            int&nbsp;uniqueVals,
-                                            int&nbsp;dataLength,
-                                            boolean&nbsp;lossy)</pre>
-</li>
-</ul>
-<a name="estimateInMemorySizeDDC2-int-int-int-boolean-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>estimateInMemorySizeDDC2</h4>
-<pre>public static&nbsp;long&nbsp;estimateInMemorySizeDDC2(int&nbsp;nrCols,
-                                            int&nbsp;uniqueVals,
-                                            int&nbsp;dataLength,
-                                            boolean&nbsp;lossy)</pre>
-</li>
-</ul>
 <a name="estimateInMemorySizeOffset-int-int-int-int-boolean-">
 <!--   -->
 </a>
@@ -345,6 +329,32 @@
                                            boolean&nbsp;lossy)</pre>
 </li>
 </ul>
+<a name="estimateInMemorySizeSDC-int-int-int-int-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>estimateInMemorySizeSDC</h4>
+<pre>public static&nbsp;long&nbsp;estimateInMemorySizeSDC(int&nbsp;nrColumns,
+                                           int&nbsp;nrValues,
+                                           int&nbsp;nrRows,
+                                           int&nbsp;largestOff,
+                                           boolean&nbsp;lossy)</pre>
+</li>
+</ul>
+<a name="estimateInMemorySizeSDCSingle-int-int-int-int-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>estimateInMemorySizeSDCSingle</h4>
+<pre>public static&nbsp;long&nbsp;estimateInMemorySizeSDCSingle(int&nbsp;nrColumns,
+                                                 int&nbsp;nrValues,
+                                                 int&nbsp;nrRows,
+                                                 int&nbsp;largestOff,
+                                                 boolean&nbsp;lossy)</pre>
+</li>
+</ul>
 <a name="estimateInMemorySizeCONST-int-int-boolean-">
 <!--   -->
 </a>
@@ -356,6 +366,15 @@
                                              boolean&nbsp;lossy)</pre>
 </li>
 </ul>
+<a name="estimateInMemorySizeEMPTY-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>estimateInMemorySizeEMPTY</h4>
+<pre>public static&nbsp;long&nbsp;estimateInMemorySizeEMPTY(int&nbsp;nrColumns)</pre>
+</li>
+</ul>
 <a name="estimateInMemorySizeUncompressed-int-int-double-">
 <!--   -->
 </a>
@@ -395,7 +414,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -436,6 +455,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html
index b66a404..26d71ba 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10,"i37":10,"i38":10,"i39":10,"i40":10,"i41":10,"i42":10,"i43":10,"i44":10,"i45":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -74,15 +74,15 @@
 <div>
 <ul class="subNavList">
 <li>Summary:&nbsp;</li>
-<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.ColGroup">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.AColGroup">Nested</a>&nbsp;|&nbsp;</li>
 <li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
 <li><a href="#method.summary">Method</a></li>
 </ul>
 <ul class="subNavList">
 <li>Detail:&nbsp;</li>
 <li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
 <li><a href="#method.detail">Method</a></li>
 </ul>
 </div>
@@ -100,7 +100,7 @@
 <li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">org.apache.sysds.runtime.compress.colgroup.ColGroup</a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">org.apache.sysds.runtime.compress.colgroup.AColGroup</a></li>
 <li>
 <ul class="inheritance">
 <li>org.apache.sysds.runtime.compress.colgroup.ColGroupUncompressed</li>
@@ -119,7 +119,7 @@
 <hr>
 <br>
 <pre>public class <span class="typeNameLabel">ColGroupUncompressed</span>
-extends <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></pre>
+extends <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></pre>
 <div class="block">Column group type for columns that are stored as dense arrays of doubles. Uses a MatrixBlock internally to store the
  column contents.</div>
 <dl>
@@ -139,14 +139,35 @@
 </a>
 <h3>Nested Class Summary</h3>
 <ul class="blockList">
-<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.ColGroup">
+<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.AColGroup">
 <!--   -->
 </a>
-<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a></code></li>
+<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.ColGroupType</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a></code></li>
 </ul>
 </li>
 </ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#ColGroupUncompressed-int:A-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-">ColGroupUncompressed</a></span>(int[]&nbsp;colIndicesList,
+                    <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;rawBlock,
+                    boolean&nbsp;transposed)</code>
+<div class="block">Main constructor for Uncompressed ColGroup.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
 <!-- ========== METHOD SUMMARY =========== -->
 <ul class="blockList">
 <li class="blockList"><a name="method.summary">
@@ -160,14 +181,28 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-">binaryRowOp</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-boolean-">binaryRowOp</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
            double[]&nbsp;v,
-           boolean&nbsp;sparseSafe)</code>
+           boolean&nbsp;sparseSafe,
+           boolean&nbsp;left)</code>
 <div class="block">Perform a binary row operation.</div>
 </td>
 </tr>
 <tr id="i1" class="rowColor">
+<td class="colFirst"><code>double</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#computeMxx-double-org.apache.sysds.runtime.functionobjects.Builtin-">computeMxx</a></span>(double&nbsp;c,
+          <a href="../../../../../../org/apache/sysds/runtime/functionobjects/Builtin.html" title="class in org.apache.sysds.runtime.functionobjects">Builtin</a>&nbsp;builtin)</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#containsValue-double-">containsValue</a></span>(double&nbsp;pattern)</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#copy--">copy</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#countNonZerosPerRow-int:A-int-int-">countNonZerosPerRow</a></span>(int[]&nbsp;rnnz,
                    int&nbsp;rl,
@@ -175,105 +210,146 @@
 <div class="block">Count the number of non-zeros per row</div>
 </td>
 </tr>
-<tr id="i2" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">decompressToBlock</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
-                 int&nbsp;colpos)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#decompressColumnToBlock-double:A-int-int-int-">decompressColumnToBlock</a></span>(double[]&nbsp;target,
+                       int&nbsp;colpos,
+                       int&nbsp;rl,
+                       int&nbsp;ru)</code>
+<div class="block">Decompress to dense array.</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">decompressColumnToBlock</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                       int&nbsp;colpos)</code>
 <div class="block">Decompress to block.</div>
 </td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-">decompressColumnToBlock</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                       int&nbsp;colpos,
+                       int&nbsp;rl,
+                       int&nbsp;ru)</code>
+<div class="block">Decompress to block.</div>
+</td>
+</tr>
+<tr id="i8" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">decompressToBlock</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
                  int[]&nbsp;colIndexTargets)</code>
 <div class="block">Decompress the contents of this column group into uncompressed packed columns</div>
 </td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">decompressToBlock</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-">decompressToBlock</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
                  int&nbsp;rl,
-                 int&nbsp;ru)</code>
+                 int&nbsp;ru,
+                 int&nbsp;offT)</code>
 <div class="block">Decompress the contents of this column group into the specified full matrix block.</div>
 </td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i10" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#decompressToBlockSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">decompressToBlockSafe</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                     int&nbsp;rl,
+                     int&nbsp;ru,
+                     int&nbsp;offT,
+                     double[]&nbsp;values)</code>
+<div class="block">Decompress the contents of this column group into the specified full matrix block without managing the number of
+ non zeros.</div>
+</td>
+</tr>
+<tr id="i11" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#decompressToBlockUnSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">decompressToBlockUnSafe</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                       int&nbsp;rl,
+                       int&nbsp;ru,
+                       int&nbsp;offT,
+                       double[]&nbsp;values)</code>&nbsp;</td>
+</tr>
+<tr id="i12" class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#estimateInMemorySize--">estimateInMemorySize</a></span>()</code>
 <div class="block">Note: Must be overridden by child classes to account for additional data and metadata</div>
 </td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i13" class="rowColor">
 <td class="colFirst"><code>double</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#get-int-int-">get</a></span>(int&nbsp;r,
    int&nbsp;c)</code>
 <div class="block">Get the value at a global row/column position.</div>
 </td>
 </tr>
-<tr id="i7" class="rowColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a></code></td>
+<tr id="i14" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.ColGroupType</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#getColGroupType--">getColGroupType</a></span>()</code>
+<div class="block">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.</div>
+</td>
+</tr>
+<tr id="i15" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#getCompType--">getCompType</a></span>()</code>
 <div class="block">Obtain the compression type.</div>
 </td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i16" class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#getData--">getData</a></span>()</code>
 <div class="block">Access for superclass</div>
 </td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i17" class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#getExactSizeOnDisk--">getExactSizeOnDisk</a></span>()</code>
 <div class="block">Returns the exact serialized size of column group.</div>
 </td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i18" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#getIfCountsType--">getIfCountsType</a></span>()</code>
 <div class="block">Returns true if in the getValuesAsBlock method returns values in groups (that needs to be counted) or
  individually potentially repeated values</div>
 </td>
 </tr>
-<tr id="i11" class="rowColor">
-<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/IJV.html" title="class in org.apache.sysds.runtime.matrix.data">IJV</a>&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#getIterator-int-int-boolean-boolean-">getIterator</a></span>(int&nbsp;rl,
-           int&nbsp;ru,
-           boolean&nbsp;inclZeros,
-           boolean&nbsp;rowMajor)</code>
-<div class="block">Create a column group iterator for a row index range.</div>
-</td>
+<tr id="i19" class="rowColor">
+<td class="colFirst"><code>double</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#getMax--">getMax</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i12" class="altColor">
-<td class="colFirst"><code>org.apache.sysds.runtime.compress.colgroup.ColGroup.ColGroupRowIterator</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#getRowIterator-int-int-">getRowIterator</a></span>(int&nbsp;rl,
-              int&nbsp;ru)</code>
-<div class="block">Create a dense row iterator for a row index range.</div>
-</td>
+<tr id="i20" class="altColor">
+<td class="colFirst"><code>double</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#getMin--">getMin</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i13" class="rowColor">
+<tr id="i21" class="rowColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#getNumberNonZeros--">getNumberNonZeros</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i22" class="altColor">
 <td class="colFirst"><code>double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#getValues--">getValues</a></span>()</code>
 <div class="block">Get all the values in the colGroup.</div>
 </td>
 </tr>
-<tr id="i14" class="altColor">
+<tr id="i23" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#getValuesAsBlock--">getValuesAsBlock</a></span>()</code>
 <div class="block">Returns the ColGroup as a MatrixBlock.</div>
 </td>
 </tr>
-<tr id="i15" class="rowColor">
+<tr id="i24" class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#getValuesSize--">getValuesSize</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i16" class="altColor">
+<tr id="i25" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#isLossy--">isLossy</a></span>()</code>
 <div class="block">Is Lossy</div>
 </td>
 </tr>
-<tr id="i17" class="rowColor">
+<tr id="i26" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#leftMultByMatrix-double:A-double:A-double:A-int-int-int-int-int-">leftMultByMatrix</a></span>(double[]&nbsp;vector,
                 double[]&nbsp;c,
@@ -286,21 +362,29 @@
 <div class="block">Multiply with a matrix on the left.</div>
 </td>
 </tr>
-<tr id="i18" class="altColor">
+<tr id="i27" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#leftMultByMatrix-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">leftMultByMatrix</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;matrix,
                 <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result)</code>&nbsp;</td>
 </tr>
-<tr id="i19" class="rowColor">
+<tr id="i28" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#leftMultByRowVector-double:A-double:A-int-">leftMultByRowVector</a></span>(double[]&nbsp;vector,
-                   double[]&nbsp;c,
-                   int&nbsp;numVals)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#leftMultByRowVector-double:A-double:A-">leftMultByRowVector</a></span>(double[]&nbsp;vector,
+                   double[]&nbsp;c)</code>
 <div class="block">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.</div>
 </td>
 </tr>
-<tr id="i20" class="altColor">
+<tr id="i29" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#leftMultByRowVector-double:A-double:A-int-">leftMultByRowVector</a></span>(double[]&nbsp;vector,
+                   double[]&nbsp;result,
+                   int&nbsp;offT)</code>
+<div class="block">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.</div>
+</td>
+</tr>
+<tr id="i30" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#leftMultByRowVector-double:A-double:A-int-double:A-">leftMultByRowVector</a></span>(double[]&nbsp;vector,
                    double[]&nbsp;c,
@@ -310,13 +394,26 @@
  column vector is assumed to be transposed already i.e.</div>
 </td>
 </tr>
-<tr id="i21" class="rowColor">
+<tr id="i31" class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#leftMultBySparseMatrix-int-int:A-double:A-double:A-int-double:A-int-int-int-double:A-">leftMultBySparseMatrix</a></span>(int&nbsp;spNrVals,
-                      int[]&nbsp;indexes,
-                      double[]&nbsp;sparseV,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#leftMultByRowVector-double:A-double:A-int-double:A-int-">leftMultByRowVector</a></span>(double[]&nbsp;vector,
+                   double[]&nbsp;result,
+                   int&nbsp;numVals,
+                   double[]&nbsp;values,
+                   int&nbsp;offT)</code>
+<div class="block">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.</div>
+</td>
+</tr>
+<tr id="i32" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#leftMultBySelfDiagonalColGroup-double:A-int-">leftMultBySelfDiagonalColGroup</a></span>(double[]&nbsp;result,
+                              int&nbsp;numColumns)</code>&nbsp;</td>
+</tr>
+<tr id="i33" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#leftMultBySparseMatrix-org.apache.sysds.runtime.data.SparseBlock-double:A-double:A-int-int-int-double:A-">leftMultBySparseMatrix</a></span>(<a href="../../../../../../org/apache/sysds/runtime/data/SparseBlock.html" title="class in org.apache.sysds.runtime.data">SparseBlock</a>&nbsp;sb,
                       double[]&nbsp;c,
-                      int&nbsp;numVals,
                       double[]&nbsp;values,
                       int&nbsp;numRows,
                       int&nbsp;numCols,
@@ -325,45 +422,31 @@
 <div class="block">Multiply with a sparse matrix on the left hand side, and add the values to the output result</div>
 </td>
 </tr>
-<tr id="i22" class="altColor">
+<tr id="i34" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#readFields-java.io.DataInput-">readFields</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a>&nbsp;in)</code>
 <div class="block">Deserialize column group from data input.</div>
 </td>
 </tr>
-<tr id="i23" class="rowColor">
+<tr id="i35" class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#rightMultByMatrix-double:A-double:A-int-int-int-int-int-">rightMultByMatrix</a></span>(double[]&nbsp;preAggregatedB,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#rightMultByMatrix-int:A-double:A-double:A-int-int-int-">rightMultByMatrix</a></span>(int[]&nbsp;outputColumns,
+                 double[]&nbsp;preAggregatedB,
                  double[]&nbsp;c,
                  int&nbsp;thatNrColumns,
                  int&nbsp;rl,
-                 int&nbsp;ru,
-                 int&nbsp;cl,
-                 int&nbsp;cu)</code>
+                 int&nbsp;ru)</code>
 <div class="block">Right multiply by matrix.</div>
 </td>
 </tr>
-<tr id="i24" class="altColor">
+<tr id="i36" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#rightMultByMatrix-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">rightMultByMatrix</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;matrix,
                  <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result,
                  int&nbsp;rl,
                  int&nbsp;ru)</code>&nbsp;</td>
 </tr>
-<tr id="i25" class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#rightMultBySparseMatrix-org.apache.sysds.runtime.data.SparseRow:A-double:A-int-double:A-int-int-int-">rightMultBySparseMatrix</a></span>(<a href="../../../../../../org/apache/sysds/runtime/data/SparseRow.html" title="class in org.apache.sysds.runtime.data">SparseRow</a>[]&nbsp;rows,
-                       double[]&nbsp;c,
-                       int&nbsp;numVals,
-                       double[]&nbsp;dictVals,
-                       int&nbsp;nrColumns,
-                       int&nbsp;rl,
-                       int&nbsp;ru)</code>
-<div class="block">Sparse right multiply by matrix, for which the compressed matrix is on the left and the uncompressed sparse is on
- the right.</div>
-</td>
-</tr>
-<tr id="i26" class="altColor">
+<tr id="i37" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#rightMultByVector-double:A-double:A-int-int-double:A-">rightMultByVector</a></span>(double[]&nbsp;b,
                  double[]&nbsp;c,
@@ -373,25 +456,32 @@
 <div class="block">Multiply the slice of the matrix that this column group represents by a vector on the right.</div>
 </td>
 </tr>
-<tr id="i27" class="rowColor">
+<tr id="i38" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#rightMultByVector-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">rightMultByVector</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;vector,
                  <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result,
                  int&nbsp;rl,
                  int&nbsp;ru)</code>&nbsp;</td>
 </tr>
-<tr id="i28" class="altColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></td>
+<tr id="i39" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">scalarOperation</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op)</code>
 <div class="block">Perform the specified scalar operation directly on the compressed column group, without decompressing individual
  cells if possible.</div>
 </td>
 </tr>
-<tr id="i29" class="rowColor">
+<tr id="i40" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#sliceColumns-int-int-">sliceColumns</a></span>(int&nbsp;cl,
+            int&nbsp;cu)</code>
+<div class="block">Slice out the columns within the range of cl and cu to remove the dictionary values related to these columns.</div>
+</td>
+</tr>
+<tr id="i41" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#toString--">toString</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i30" class="altColor">
+<tr id="i42" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-">unaryAggregateOperations</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;op,
                         double[]&nbsp;ret)</code>
@@ -399,7 +489,7 @@
  matrix.</div>
 </td>
 </tr>
-<tr id="i31" class="rowColor">
+<tr id="i43" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-int-int-">unaryAggregateOperations</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;op,
                         double[]&nbsp;result,
@@ -409,12 +499,12 @@
  matrix.</div>
 </td>
 </tr>
-<tr id="i32" class="altColor">
+<tr id="i44" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-">unaryAggregateOperations</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;op,
                         <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret)</code>&nbsp;</td>
 </tr>
-<tr id="i33" class="rowColor">
+<tr id="i45" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#write-java.io.DataOutput-">write</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataOutput.html?is-external=true" title="class or interface in java.io">DataOutput</a>&nbsp;out)</code>
 <div class="block">Serializes column group to data output.</div>
@@ -422,11 +512,11 @@
 </tr>
 </table>
 <ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.ColGroup">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.AColGroup">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-java.util.List-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getColIndex-int-">getColIndex</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getColIndices--">getColIndices</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getNumCols--">getNumCols</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getNumRows--">getNumRows</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#shiftColIndices-int-">shiftColIndices</a></code></li>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToArray-double:A-int-java.util.List-">decompressColumnToArray</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-double:A-int-int-int-java.util.List-">decompressColumnToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-java.util.List-">decompressColumnToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-java.util.List-">decompressColumnToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlockUnSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-java.util.List-">decompressColumnToBlockUnSafe</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-boolean-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-double:A-boolean-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-boolean-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-boolean-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getColIndex-int-">getColIndex</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getColIndices--">getColIndices</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getNumCols--">getNumCols</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getNumRows--">getNumRows</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#isDense--">isDense</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#shiftColIndices-int-">shiftColIndices</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -443,6 +533,34 @@
 <div class="details">
 <ul class="blockList">
 <li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="ColGroupUncompressed-int:A-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>ColGroupUncompressed</h4>
+<pre>public&nbsp;ColGroupUncompressed(int[]&nbsp;colIndicesList,
+                            <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;rawBlock,
+                            boolean&nbsp;transposed)</pre>
+<div class="block">Main constructor for Uncompressed ColGroup.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>colIndicesList</code> - Indices (relative to the current block) of the columns that this column group represents.</dd>
+<dd><code>rawBlock</code> - The uncompressed block; uncompressed data must be present at the time that the constructor
+                       is called</dd>
+<dd><code>transposed</code> - Says if the input matrix raw block have been transposed. This should not ever be true since
+                       we still have the original matrixBlock in case of aborting the compression.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
 <!-- ============ METHOD DETAIL ========== -->
 <ul class="blockList">
 <li class="blockList"><a name="method.detail">
@@ -464,17 +582,35 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getCompType</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>&nbsp;getCompType()</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getCompType--">ColGroup</a></code></span></div>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a>&nbsp;getCompType()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getCompType--">AColGroup</a></code></span></div>
 <div class="block">Obtain the compression type.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getCompType--">getCompType</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getCompType--">getCompType</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>How the elements of the column group are compressed.</dd>
 </dl>
 </li>
 </ul>
+<a name="getColGroupType--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getColGroupType</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.ColGroupType</a>&nbsp;getColGroupType()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getColGroupType--">AColGroup</a></code></span></div>
+<div class="block">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.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getColGroupType--">getColGroupType</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>ColGroupType of the object.</dd>
+</dl>
+</li>
+</ul>
 <a name="getData--">
 <!--   -->
 </a>
@@ -496,17 +632,17 @@
 <li class="blockList">
 <h4>estimateInMemorySize</h4>
 <pre>public&nbsp;long&nbsp;estimateInMemorySize()</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#estimateInMemorySize--">ColGroup</a></code></span></div>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#estimateInMemorySize--">AColGroup</a></code></span></div>
 <div class="block">Note: Must be overridden by child classes to account for additional data and metadata</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#estimateInMemorySize--">estimateInMemorySize</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#estimateInMemorySize--">estimateInMemorySize</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>an upper bound on the number of bytes used to store this ColGroup in memory.</dd>
 </dl>
 </li>
 </ul>
-<a name="decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">
+<a name="decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-">
 <!--   -->
 </a>
 <ul class="blockList">
@@ -514,16 +650,61 @@
 <h4>decompressToBlock</h4>
 <pre>public&nbsp;void&nbsp;decompressToBlock(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
                               int&nbsp;rl,
-                              int&nbsp;ru)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">ColGroup</a></code></span></div>
+                              int&nbsp;ru,
+                              int&nbsp;offT)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-">AColGroup</a></code></span></div>
 <div class="block">Decompress the contents of this column group into the specified full matrix block.</div>
 <dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-">decompressToBlock</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>target</code> - a matrix block where the columns covered by this column group have not yet been filled in.</dd>
+<dd><code>rl</code> - The row to start at</dd>
+<dd><code>ru</code> - The row to end at</dd>
+<dd><code>offT</code> - The rowOffset into target to decompress to.</dd>
+</dl>
+</li>
+</ul>
+<a name="decompressToBlockSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>decompressToBlockSafe</h4>
+<pre>public&nbsp;void&nbsp;decompressToBlockSafe(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                                  int&nbsp;rl,
+                                  int&nbsp;ru,
+                                  int&nbsp;offT,
+                                  double[]&nbsp;values)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlockSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">AColGroup</a></code></span></div>
+<div class="block">Decompress the contents of this column group into the specified full matrix block without managing the number of
+ non zeros.</div>
+<dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">decompressToBlock</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlockSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">decompressToBlockSafe</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>target</code> - a matrix block where the columns covered by this column group have not yet been filled in.</dd>
 <dd><code>rl</code> - row lower</dd>
 <dd><code>ru</code> - row upper</dd>
+<dd><code>offT</code> - Offset into target to assign from</dd>
+<dd><code>values</code> - The Values materialized in the dictionary</dd>
+</dl>
+</li>
+</ul>
+<a name="decompressToBlockUnSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>decompressToBlockUnSafe</h4>
+<pre>public&nbsp;void&nbsp;decompressToBlockUnSafe(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                                    int&nbsp;rl,
+                                    int&nbsp;ru,
+                                    int&nbsp;offT,
+                                    double[]&nbsp;values)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlockUnSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">decompressToBlockUnSafe</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
 </dl>
 </li>
 </ul>
@@ -535,11 +716,11 @@
 <h4>decompressToBlock</h4>
 <pre>public&nbsp;void&nbsp;decompressToBlock(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
                               int[]&nbsp;colIndexTargets)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">ColGroup</a></code></span></div>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">AColGroup</a></code></span></div>
 <div class="block">Decompress the contents of this column group into uncompressed packed columns</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">decompressToBlock</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">decompressToBlock</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>target</code> - a dense matrix block. The block must have enough space to hold the contents of this column
                         group.</dd>
@@ -547,25 +728,71 @@
 </dl>
 </li>
 </ul>
-<a name="decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">
+<a name="decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>decompressToBlock</h4>
-<pre>public&nbsp;void&nbsp;decompressToBlock(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
-                              int&nbsp;colpos)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">ColGroup</a></code></span></div>
+<h4>decompressColumnToBlock</h4>
+<pre>public&nbsp;void&nbsp;decompressColumnToBlock(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                                    int&nbsp;colpos)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">AColGroup</a></code></span></div>
 <div class="block">Decompress to block.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">decompressToBlock</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">decompressColumnToBlock</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>target</code> - dense output vector</dd>
 <dd><code>colpos</code> - column to decompress, error if larger or equal numCols</dd>
 </dl>
 </li>
 </ul>
+<a name="decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>decompressColumnToBlock</h4>
+<pre>public&nbsp;void&nbsp;decompressColumnToBlock(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                                    int&nbsp;colpos,
+                                    int&nbsp;rl,
+                                    int&nbsp;ru)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-">AColGroup</a></code></span></div>
+<div class="block">Decompress to block.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-">decompressColumnToBlock</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>target</code> - dense output vector</dd>
+<dd><code>colpos</code> - column to decompress, error if larger or equal numCols</dd>
+<dd><code>rl</code> - the Row to start decompression from</dd>
+<dd><code>ru</code> - the Row to end decompression at</dd>
+</dl>
+</li>
+</ul>
+<a name="decompressColumnToBlock-double:A-int-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>decompressColumnToBlock</h4>
+<pre>public&nbsp;void&nbsp;decompressColumnToBlock(double[]&nbsp;target,
+                                    int&nbsp;colpos,
+                                    int&nbsp;rl,
+                                    int&nbsp;ru)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-double:A-int-int-int-">AColGroup</a></code></span></div>
+<div class="block">Decompress to dense array.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-double:A-int-int-int-">decompressColumnToBlock</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>target</code> - dense output vector double array.</dd>
+<dd><code>colpos</code> - column to decompress, error if larger or equal numCols</dd>
+<dd><code>rl</code> - the Row to start decompression from</dd>
+<dd><code>ru</code> - the Row to end decompression at</dd>
+</dl>
+</li>
+</ul>
 <a name="get-int-int-">
 <!--   -->
 </a>
@@ -574,11 +801,11 @@
 <h4>get</h4>
 <pre>public&nbsp;double&nbsp;get(int&nbsp;r,
                   int&nbsp;c)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#get-int-int-">ColGroup</a></code></span></div>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#get-int-int-">AColGroup</a></code></span></div>
 <div class="block">Get the value at a global row/column position.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#get-int-int-">get</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#get-int-int-">get</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>r</code> - row</dd>
 <dd><code>c</code> - column</dd>
@@ -598,11 +825,11 @@
                               int&nbsp;rl,
                               int&nbsp;ru,
                               double[]&nbsp;dictVals)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#rightMultByVector-double:A-double:A-int-int-double:A-">ColGroup</a></code></span></div>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#rightMultByVector-double:A-double:A-int-int-double:A-">AColGroup</a></code></span></div>
 <div class="block">Multiply the slice of the matrix that this column group represents by a vector on the right.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#rightMultByVector-double:A-double:A-int-int-double:A-">rightMultByVector</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#rightMultByVector-double:A-double:A-int-int-double:A-">rightMultByVector</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>b</code> - Vector to multiply by (tall vector)</dd>
 <dd><code>c</code> - Accumulator for holding the result</dd>
@@ -636,88 +863,52 @@
                               int&nbsp;ru)</pre>
 </li>
 </ul>
-<a name="rightMultByMatrix-double:A-double:A-int-int-int-int-int-">
+<a name="rightMultByMatrix-int:A-double:A-double:A-int-int-int-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>rightMultByMatrix</h4>
-<pre>public&nbsp;void&nbsp;rightMultByMatrix(double[]&nbsp;preAggregatedB,
+<pre>public&nbsp;void&nbsp;rightMultByMatrix(int[]&nbsp;outputColumns,
+                              double[]&nbsp;preAggregatedB,
                               double[]&nbsp;c,
                               int&nbsp;thatNrColumns,
                               int&nbsp;rl,
-                              int&nbsp;ru,
-                              int&nbsp;cl,
-                              int&nbsp;cu)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#rightMultByMatrix-double:A-double:A-int-int-int-int-int-">ColGroup</a></code></span></div>
+                              int&nbsp;ru)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#rightMultByMatrix-int:A-double:A-double:A-int-int-int-">AColGroup</a></code></span></div>
 <div class="block">Right multiply by matrix. for which the compressed matrix is on the left and the uncompressed is on the right.
  Note that there is no b argument, but the b is aggregated into the values needed for assignment and addition into
  output.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#rightMultByMatrix-double:A-double:A-int-int-int-int-int-">rightMultByMatrix</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#rightMultByMatrix-int:A-double:A-double:A-int-int-int-">rightMultByMatrix</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>outputColumns</code> - The Columns that are affected by the right multiplication.</dd>
 <dd><code>preAggregatedB</code> - The preAggregated values that is to be put into c</dd>
 <dd><code>c</code> - The output matrix</dd>
 <dd><code>thatNrColumns</code> - The number of columns in B (before aggregation)</dd>
 <dd><code>rl</code> - The row index to start the multiplication from</dd>
 <dd><code>ru</code> - The row index to stop the multiplication at</dd>
-<dd><code>cl</code> - The column index to start from</dd>
-<dd><code>cu</code> - The row index to stop at.</dd>
 </dl>
 </li>
 </ul>
-<a name="rightMultBySparseMatrix-org.apache.sysds.runtime.data.SparseRow:A-double:A-int-double:A-int-int-int-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>rightMultBySparseMatrix</h4>
-<pre>public&nbsp;void&nbsp;rightMultBySparseMatrix(<a href="../../../../../../org/apache/sysds/runtime/data/SparseRow.html" title="class in org.apache.sysds.runtime.data">SparseRow</a>[]&nbsp;rows,
-                                    double[]&nbsp;c,
-                                    int&nbsp;numVals,
-                                    double[]&nbsp;dictVals,
-                                    int&nbsp;nrColumns,
-                                    int&nbsp;rl,
-                                    int&nbsp;ru)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#rightMultBySparseMatrix-org.apache.sysds.runtime.data.SparseRow:A-double:A-int-double:A-int-int-int-">ColGroup</a></code></span></div>
-<div class="block">Sparse right multiply by matrix, for which the compressed matrix is on the left and the uncompressed sparse is on
- the right. This call differ from the other right multiply by not having a preAggregation phase.
- 
- This should only be called in very sparse situations.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#rightMultBySparseMatrix-org.apache.sysds.runtime.data.SparseRow:A-double:A-int-double:A-int-int-int-">rightMultBySparseMatrix</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>rows</code> - The sparse rows</dd>
-<dd><code>c</code> - The output matrix linearized</dd>
-<dd><code>numVals</code> - The number of values in the dictionary</dd>
-<dd><code>dictVals</code> - The materialized dictionary</dd>
-<dd><code>nrColumns</code> - The number of columns in the matrix to multiply with and also in the output</dd>
-<dd><code>rl</code> - The row index to start at</dd>
-<dd><code>ru</code> - The row index to stop at.</dd>
-</dl>
-</li>
-</ul>
-<a name="leftMultByRowVector-double:A-double:A-int-">
+<a name="leftMultByRowVector-double:A-double:A-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>leftMultByRowVector</h4>
 <pre>public&nbsp;void&nbsp;leftMultByRowVector(double[]&nbsp;vector,
-                                double[]&nbsp;c,
-                                int&nbsp;numVals)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#leftMultByRowVector-double:A-double:A-int-">ColGroup</a></code></span></div>
+                                double[]&nbsp;c)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#leftMultByRowVector-double:A-double:A-">AColGroup</a></code></span></div>
 <div class="block">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. its size now is 1xn).</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#leftMultByRowVector-double:A-double:A-int-">leftMultByRowVector</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#leftMultByRowVector-double:A-double:A-">leftMultByRowVector</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>vector</code> - row vector</dd>
 <dd><code>c</code> - matrix block result</dd>
-<dd><code>numVals</code> - The Number of values contained in the Column.</dd>
 </dl>
 </li>
 </ul>
@@ -731,15 +922,15 @@
                                 double[]&nbsp;c,
                                 int&nbsp;numVals,
                                 double[]&nbsp;values)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#leftMultByRowVector-double:A-double:A-int-double:A-">ColGroup</a></code></span></div>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#leftMultByRowVector-double:A-double:A-int-double:A-">AColGroup</a></code></span></div>
 <div class="block">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. its size now is 1xn).</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#leftMultByRowVector-double:A-double:A-int-double:A-">leftMultByRowVector</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#leftMultByRowVector-double:A-double:A-int-double:A-">leftMultByRowVector</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>vector</code> - row vector</dd>
-<dd><code>c</code> - matrix block result</dd>
+<dd><code>vector</code> - Row vector</dd>
+<dd><code>c</code> - Matrix block result</dd>
 <dd><code>numVals</code> - The Number of values contained in the Column.</dd>
 <dd><code>values</code> - The materialized list of values contained in the dictionary.</dd>
 </dl>
@@ -759,11 +950,11 @@
                              int&nbsp;rl,
                              int&nbsp;ru,
                              int&nbsp;vOff)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#leftMultByMatrix-double:A-double:A-double:A-int-int-int-int-int-">ColGroup</a></code></span></div>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#leftMultByMatrix-double:A-double:A-double:A-int-int-int-int-int-">AColGroup</a></code></span></div>
 <div class="block">Multiply with a matrix on the left.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#leftMultByMatrix-double:A-double:A-double:A-int-int-int-int-int-">leftMultByMatrix</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#leftMultByMatrix-double:A-double:A-double:A-int-int-int-int-int-">leftMultByMatrix</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>vector</code> - matrix to left multiply</dd>
 <dd><code>c</code> - matrix block result</dd>
@@ -776,43 +967,45 @@
 </dl>
 </li>
 </ul>
-<a name="leftMultBySparseMatrix-int-int:A-double:A-double:A-int-double:A-int-int-int-double:A-">
+<a name="leftMultBySparseMatrix-org.apache.sysds.runtime.data.SparseBlock-double:A-double:A-int-int-int-double:A-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>leftMultBySparseMatrix</h4>
-<pre>public&nbsp;void&nbsp;leftMultBySparseMatrix(int&nbsp;spNrVals,
-                                   int[]&nbsp;indexes,
-                                   double[]&nbsp;sparseV,
+<pre>public&nbsp;void&nbsp;leftMultBySparseMatrix(<a href="../../../../../../org/apache/sysds/runtime/data/SparseBlock.html" title="class in org.apache.sysds.runtime.data">SparseBlock</a>&nbsp;sb,
                                    double[]&nbsp;c,
-                                   int&nbsp;numVals,
                                    double[]&nbsp;values,
                                    int&nbsp;numRows,
                                    int&nbsp;numCols,
                                    int&nbsp;row,
                                    double[]&nbsp;MaterializedRow)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#leftMultBySparseMatrix-int-int:A-double:A-double:A-int-double:A-int-int-int-double:A-">ColGroup</a></code></span></div>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#leftMultBySparseMatrix-org.apache.sysds.runtime.data.SparseBlock-double:A-double:A-int-int-int-double:A-">AColGroup</a></code></span></div>
 <div class="block">Multiply with a sparse matrix on the left hand side, and add the values to the output result</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#leftMultBySparseMatrix-int-int:A-double:A-double:A-int-double:A-int-int-int-double:A-">leftMultBySparseMatrix</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#leftMultBySparseMatrix-org.apache.sysds.runtime.data.SparseBlock-double:A-double:A-int-int-int-double:A-">leftMultBySparseMatrix</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>spNrVals</code> - the Number of sparse values (since the number of indexes does not align with number of
-                        values)</dd>
-<dd><code>indexes</code> - the indexes for the sparse values in the given row.</dd>
-<dd><code>sparseV</code> - the sparse values.</dd>
-<dd><code>c</code> - the linearized output matrix</dd>
-<dd><code>numVals</code> - the number of values in the dictionary</dd>
-<dd><code>values</code> - the dictionary values materialized</dd>
-<dd><code>numRows</code> - the number of rows in the left hand side input matrix (the sparse one)</dd>
-<dd><code>numCols</code> - the number of columns in the compression.</dd>
-<dd><code>row</code> - the row index of the sparse row to multiply with.</dd>
-<dd><code>MaterializedRow</code> - The sparse row materialized (should only be done if needed for the specific type of
-                        ColumnGroup)</dd>
+<dd><code>sb</code> - The sparse block to multiply with</dd>
+<dd><code>c</code> - The linearized output matrix</dd>
+<dd><code>values</code> - The dictionary values materialized</dd>
+<dd><code>numRows</code> - The number of rows in the left hand side input matrix (the sparse one)</dd>
+<dd><code>numCols</code> - The number of columns in the compression.</dd>
+<dd><code>row</code> - The row index of the sparse row to multiply with.</dd>
+<dd><code>MaterializedRow</code> - A Temporary dense row vector to materialize the sparse values into used for OLE</dd>
 </dl>
 </li>
 </ul>
+<a name="computeMxx-double-org.apache.sysds.runtime.functionobjects.Builtin-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>computeMxx</h4>
+<pre>public&nbsp;double&nbsp;computeMxx(double&nbsp;c,
+                         <a href="../../../../../../org/apache/sysds/runtime/functionobjects/Builtin.html" title="class in org.apache.sysds.runtime.functionobjects">Builtin</a>&nbsp;builtin)</pre>
+</li>
+</ul>
 <a name="leftMultByMatrix-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">
 <!--   -->
 </a>
@@ -829,13 +1022,13 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>scalarOperation</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>&nbsp;scalarOperation(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">ColGroup</a></code></span></div>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a>&nbsp;scalarOperation(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">AColGroup</a></code></span></div>
 <div class="block">Perform the specified scalar operation directly on the compressed column group, without decompressing individual
  cells if possible.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">scalarOperation</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">scalarOperation</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>op</code> - operation to perform</dd>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -843,24 +1036,26 @@
 </dl>
 </li>
 </ul>
-<a name="binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-">
+<a name="binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-boolean-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>binaryRowOp</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>&nbsp;binaryRowOp(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
-                            double[]&nbsp;v,
-                            boolean&nbsp;sparseSafe)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-">ColGroup</a></code></span></div>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a>&nbsp;binaryRowOp(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
+                             double[]&nbsp;v,
+                             boolean&nbsp;sparseSafe,
+                             boolean&nbsp;left)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-boolean-">AColGroup</a></code></span></div>
 <div class="block">Perform a binary row operation.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-">binaryRowOp</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-boolean-">binaryRowOp</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>op</code> - The operation to execute</dd>
 <dd><code>v</code> - The vector of values to apply, should be same length as dictionary length.</dd>
 <dd><code>sparseSafe</code> - True if the operation return 0 on all instances of values in v -- op(v[?], 0)</dd>
+<dd><code>left</code> - Specifies if the operation is executed on the left or right side of the values contained.</dd>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>A updated column group with the new values.</dd>
 </dl>
@@ -874,12 +1069,12 @@
 <h4>unaryAggregateOperations</h4>
 <pre>public&nbsp;void&nbsp;unaryAggregateOperations(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;op,
                                      double[]&nbsp;ret)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-">ColGroup</a></code></span></div>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-">AColGroup</a></code></span></div>
 <div class="block">Unary Aggregate operator, since aggregate operators require new object output, the output becomes an uncompressed
  matrix.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-">unaryAggregateOperations</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-">unaryAggregateOperations</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>op</code> - The operator used</dd>
 <dd><code>ret</code> - Rhe output matrix block.</dd>
@@ -906,12 +1101,12 @@
                                      double[]&nbsp;result,
                                      int&nbsp;rl,
                                      int&nbsp;ru)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-int-int-">ColGroup</a></code></span></div>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-int-int-">AColGroup</a></code></span></div>
 <div class="block">Unary Aggregate operator, since aggregate operators require new object output, the output becomes an uncompressed
  matrix.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-int-int-">unaryAggregateOperations</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-int-int-">unaryAggregateOperations</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>op</code> - The operator used</dd>
 <dd><code>result</code> - The output matrix block.</dd>
@@ -928,11 +1123,11 @@
 <h4>readFields</h4>
 <pre>public&nbsp;void&nbsp;readFields(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a>&nbsp;in)
                 throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#readFields-java.io.DataInput-">ColGroup</a></code></span></div>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#readFields-java.io.DataInput-">AColGroup</a></code></span></div>
 <div class="block">Deserialize column group from data input.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#readFields-java.io.DataInput-">readFields</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#readFields-java.io.DataInput-">readFields</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>in</code> - data input</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -948,11 +1143,11 @@
 <h4>write</h4>
 <pre>public&nbsp;void&nbsp;write(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataOutput.html?is-external=true" title="class or interface in java.io">DataOutput</a>&nbsp;out)
            throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#write-java.io.DataOutput-">ColGroup</a></code></span></div>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#write-java.io.DataOutput-">AColGroup</a></code></span></div>
 <div class="block">Serializes column group to data output.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#write-java.io.DataOutput-">write</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#write-java.io.DataOutput-">write</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>out</code> - data output</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -967,11 +1162,11 @@
 <li class="blockList">
 <h4>getExactSizeOnDisk</h4>
 <pre>public&nbsp;long&nbsp;getExactSizeOnDisk()</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getExactSizeOnDisk--">ColGroup</a></code></span></div>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getExactSizeOnDisk--">AColGroup</a></code></span></div>
 <div class="block">Returns the exact serialized size of column group. This can be used for example for buffer preallocation.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getExactSizeOnDisk--">getExactSizeOnDisk</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getExactSizeOnDisk--">getExactSizeOnDisk</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>exact serialized size for column group</dd>
 </dl>
@@ -986,11 +1181,11 @@
 <pre>public&nbsp;void&nbsp;countNonZerosPerRow(int[]&nbsp;rnnz,
                                 int&nbsp;rl,
                                 int&nbsp;ru)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#countNonZerosPerRow-int:A-int-int-">ColGroup</a></code></span></div>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#countNonZerosPerRow-int:A-int-int-">AColGroup</a></code></span></div>
 <div class="block">Count the number of non-zeros per row</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#countNonZerosPerRow-int:A-int-int-">countNonZerosPerRow</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#countNonZerosPerRow-int:A-int-int-">countNonZerosPerRow</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>rnnz</code> - non-zeros per row</dd>
 <dd><code>rl</code> - row lower bound, inclusive</dd>
@@ -998,53 +1193,6 @@
 </dl>
 </li>
 </ul>
-<a name="getIterator-int-int-boolean-boolean-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getIterator</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/IJV.html" title="class in org.apache.sysds.runtime.matrix.data">IJV</a>&gt;&nbsp;getIterator(int&nbsp;rl,
-                                 int&nbsp;ru,
-                                 boolean&nbsp;inclZeros,
-                                 boolean&nbsp;rowMajor)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getIterator-int-int-boolean-boolean-">ColGroup</a></code></span></div>
-<div class="block">Create a column group iterator for a row index range.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getIterator-int-int-boolean-boolean-">getIterator</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>rl</code> - row lower index, inclusive</dd>
-<dd><code>ru</code> - row upper index, exclusive</dd>
-<dd><code>inclZeros</code> - include zero values into scope of iterator</dd>
-<dd><code>rowMajor</code> - use a row major iteration order</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>an iterator instance</dd>
-</dl>
-</li>
-</ul>
-<a name="getRowIterator-int-int-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getRowIterator</h4>
-<pre>public&nbsp;org.apache.sysds.runtime.compress.colgroup.ColGroup.ColGroupRowIterator&nbsp;getRowIterator(int&nbsp;rl,
-                                                                                              int&nbsp;ru)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getRowIterator-int-int-">ColGroup</a></code></span></div>
-<div class="block">Create a dense row iterator for a row index range. This iterator implies the inclusion of zeros and row-major
- iteration order.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getRowIterator-int-int-">getRowIterator</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>rl</code> - row lower index, inclusive</dd>
-<dd><code>ru</code> - row upper index, exclusive</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>an iterator instance</dd>
-</dl>
-</li>
-</ul>
 <a name="toString--">
 <!--   -->
 </a>
@@ -1054,7 +1202,7 @@
 <pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#toString--">toString</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
 </dl>
 </li>
 </ul>
@@ -1065,12 +1213,12 @@
 <li class="blockList">
 <h4>getValuesAsBlock</h4>
 <pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;getValuesAsBlock()</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getValuesAsBlock--">ColGroup</a></code></span></div>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getValuesAsBlock--">AColGroup</a></code></span></div>
 <div class="block">Returns the ColGroup as a MatrixBlock. Used as a fall back solution in case a operation is not supported. Use in
  connection to getIfCountsType to get if the values are repeated.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getValuesAsBlock--">getValuesAsBlock</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getValuesAsBlock--">getValuesAsBlock</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>Matrix Block of the contained Values. Possibly contained in groups.</dd>
 </dl>
@@ -1083,12 +1231,12 @@
 <li class="blockList">
 <h4>getIfCountsType</h4>
 <pre>public&nbsp;boolean&nbsp;getIfCountsType()</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getIfCountsType--">ColGroup</a></code></span></div>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getIfCountsType--">AColGroup</a></code></span></div>
 <div class="block">Returns true if in the getValuesAsBlock method returns values in groups (that needs to be counted) or
  individually potentially repeated values</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getIfCountsType--">getIfCountsType</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getIfCountsType--">getIfCountsType</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>boolean</dd>
 </dl>
@@ -1101,12 +1249,12 @@
 <li class="blockList">
 <h4>getValues</h4>
 <pre>public&nbsp;double[]&nbsp;getValues()</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getValues--">ColGroup</a></code></span></div>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getValues--">AColGroup</a></code></span></div>
 <div class="block">Get all the values in the colGroup. Note that this is only the stored values not the way they are stored. Making
  the output a list of values used in that colGroup not the actual full column.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getValues--">getValues</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getValues--">getValues</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>a double list of values.</dd>
 </dl>
@@ -1115,20 +1263,170 @@
 <a name="isLossy--">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>isLossy</h4>
 <pre>public&nbsp;boolean&nbsp;isLossy()</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#isLossy--">ColGroup</a></code></span></div>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#isLossy--">AColGroup</a></code></span></div>
 <div class="block">Is Lossy</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#isLossy--">isLossy</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#isLossy--">isLossy</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>returns if the ColGroup is compressed in a lossy manner.</dd>
 </dl>
 </li>
 </ul>
+<a name="sliceColumns-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>sliceColumns</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a>&nbsp;sliceColumns(int&nbsp;cl,
+                              int&nbsp;cu)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#sliceColumns-int-int-">AColGroup</a></code></span></div>
+<div class="block">Slice out the columns within the range of cl and cu to remove the dictionary values related to these columns. If
+ the ColGroup slicing from does not contain any columns within the range null is returned.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#sliceColumns-int-int-">sliceColumns</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>cl</code> - The lower bound of the columns to select</dd>
+<dd><code>cu</code> - The upper bound of the columns to select (not inclusive).</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>A cloned Column Group, with a copied pointer to the old column groups index structure, but reduced
+         dictionary and _columnIndexes correctly aligned with the expected sliced compressed matrix.</dd>
+</dl>
+</li>
+</ul>
+<a name="getMin--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getMin</h4>
+<pre>public&nbsp;double&nbsp;getMin()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getMin--">getMin</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getMax--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getMax</h4>
+<pre>public&nbsp;double&nbsp;getMax()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getMax--">getMax</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="leftMultByRowVector-double:A-double:A-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>leftMultByRowVector</h4>
+<pre>public&nbsp;void&nbsp;leftMultByRowVector(double[]&nbsp;vector,
+                                double[]&nbsp;result,
+                                int&nbsp;offT)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#leftMultByRowVector-double:A-double:A-int-">AColGroup</a></code></span></div>
+<div class="block">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. its size now is 1xn).</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#leftMultByRowVector-double:A-double:A-int-">leftMultByRowVector</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>vector</code> - row vector</dd>
+<dd><code>result</code> - matrix block result</dd>
+<dd><code>offT</code> - The offset into target result array to put the result values.</dd>
+</dl>
+</li>
+</ul>
+<a name="leftMultByRowVector-double:A-double:A-int-double:A-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>leftMultByRowVector</h4>
+<pre>public&nbsp;void&nbsp;leftMultByRowVector(double[]&nbsp;vector,
+                                double[]&nbsp;result,
+                                int&nbsp;numVals,
+                                double[]&nbsp;values,
+                                int&nbsp;offT)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#leftMultByRowVector-double:A-double:A-int-double:A-int-">AColGroup</a></code></span></div>
+<div class="block">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. its size now is 1xn).</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#leftMultByRowVector-double:A-double:A-int-double:A-int-">leftMultByRowVector</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>vector</code> - Row vector</dd>
+<dd><code>result</code> - Matrix block result</dd>
+<dd><code>numVals</code> - The Number of values contained in the Column.</dd>
+<dd><code>values</code> - The materialized list of values contained in the dictionary.</dd>
+<dd><code>offT</code> - The offset into target result array to put the result values.</dd>
+</dl>
+</li>
+</ul>
+<a name="leftMultBySelfDiagonalColGroup-double:A-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>leftMultBySelfDiagonalColGroup</h4>
+<pre>public&nbsp;void&nbsp;leftMultBySelfDiagonalColGroup(double[]&nbsp;result,
+                                           int&nbsp;numColumns)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#leftMultBySelfDiagonalColGroup-double:A-int-">leftMultBySelfDiagonalColGroup</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="copy--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>copy</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a>&nbsp;copy()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#copy--">copy</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="containsValue-double-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>containsValue</h4>
+<pre>public&nbsp;boolean&nbsp;containsValue(double&nbsp;pattern)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#containsValue-double-">containsValue</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getNumberNonZeros--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getNumberNonZeros</h4>
+<pre>public&nbsp;long&nbsp;getNumberNonZeros()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getNumberNonZeros--">getNumberNonZeros</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>
@@ -1182,15 +1480,15 @@
 <div>
 <ul class="subNavList">
 <li>Summary:&nbsp;</li>
-<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.ColGroup">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.AColGroup">Nested</a>&nbsp;|&nbsp;</li>
 <li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
 <li><a href="#method.summary">Method</a></li>
 </ul>
 <ul class="subNavList">
 <li>Detail:&nbsp;</li>
 <li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
 <li><a href="#method.detail">Method</a></li>
 </ul>
 </div>
@@ -1198,6 +1496,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html
index 5c682ed..bb78715 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":10,"i2":10,"i3":10,"i4":6,"i5":10,"i6":6,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":9,"i20":10,"i21":10,"i22":10,"i23":10};
+var methods = {"i0":10,"i1":10,"i2":9,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":6,"i12":10,"i13":6,"i14":10,"i15":10,"i16":10,"i17":6,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":6,"i34":10,"i35":10,"i36":6,"i37":6,"i38":6,"i39":6,"i40":6,"i41":6,"i42":6,"i43":6,"i44":10,"i45":10,"i46":10,"i47":6,"i48":9,"i49":10,"i50":10,"i51":10,"i52":10,"i53":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -50,7 +50,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/DenseRowIterator.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" target="_top">Frames</a></li>
@@ -74,7 +74,7 @@
 <div>
 <ul class="subNavList">
 <li>Summary:&nbsp;</li>
-<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.ColGroup">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.AColGroup">Nested</a>&nbsp;|&nbsp;</li>
 <li>Field&nbsp;|&nbsp;</li>
 <li>Constr&nbsp;|&nbsp;</li>
 <li><a href="#method.summary">Method</a></li>
@@ -100,7 +100,7 @@
 <li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">org.apache.sysds.runtime.compress.colgroup.ColGroup</a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">org.apache.sysds.runtime.compress.colgroup.AColGroup</a></li>
 <li>
 <ul class="inheritance">
 <li>org.apache.sysds.runtime.compress.colgroup.ColGroupValue</li>
@@ -118,12 +118,12 @@
 </dl>
 <dl>
 <dt>Direct Known Subclasses:</dt>
-<dd><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupConst</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOffset</a></dd>
+<dd><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupConst</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupEmpty</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOffset</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDC</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingle</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingleZeros</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCZeros</a></dd>
 </dl>
 <hr>
 <br>
 <pre>public abstract class <span class="typeNameLabel">ColGroupValue</span>
-extends <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>
+extends <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a>
 implements <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Cloneable.html?is-external=true" title="class or interface in java.lang">Cloneable</a></pre>
 <div class="block">Base class for column groups encoded with value dictionary. This include column groups such as DDC OLE and RLE.</div>
 <dl>
@@ -143,11 +143,11 @@
 </a>
 <h3>Nested Class Summary</h3>
 <ul class="blockList">
-<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.ColGroup">
+<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.AColGroup">
 <!--   -->
 </a>
-<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a></code></li>
+<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.ColGroupType</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a></code></li>
 </ul>
 </li>
 </ul>
@@ -164,31 +164,72 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#cleanupThreadLocalMemory--">cleanupThreadLocalMemory</a></span>()</code>&nbsp;</td>
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#addMinMax-double:A-">addMinMax</a></span>(double[]&nbsp;ret)</code>&nbsp;</td>
 </tr>
 <tr id="i1" class="rowColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#copy--">copy</a></span>()</code>
-<div class="block">shallow copy of the colGroup.</div>
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#applyBinaryRowOp-org.apache.sysds.runtime.functionobjects.ValueFunction-double:A-boolean-boolean-">applyBinaryRowOp</a></span>(<a href="../../../../../../org/apache/sysds/runtime/functionobjects/ValueFunction.html" title="class in org.apache.sysds.runtime.functionobjects">ValueFunction</a>&nbsp;fn,
+                double[]&nbsp;v,
+                boolean&nbsp;sparseSafe,
+                boolean&nbsp;left)</code>
+<div class="block">Apply the binary row-wise operator to the dictionary, and copy it appropriately if needed.</div>
 </td>
 </tr>
 <tr id="i2" class="altColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></td>
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#cleanupThreadLocalMemory--">cleanupThreadLocalMemory</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#containsValue-double-">containsValue</a></span>(double&nbsp;pattern)</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#copy--">copy</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#copyAndSet-int:A-org.apache.sysds.runtime.compress.colgroup.ADictionary-">copyAndSet</a></span>(int[]&nbsp;colIndexes,
+          <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a>&nbsp;newDictionary)</code>&nbsp;</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#copyAndSet-int:A-double:A-">copyAndSet</a></span>(int[]&nbsp;colIndexes,
           double[]&nbsp;newDictionary)</code>&nbsp;</td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">decompressToBlock</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                 int&nbsp;rl,
+                 int&nbsp;ru)</code>
+<div class="block">Decompress the contents of this column group into the specified full matrix block.</div>
+</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-">decompressToBlock</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                 int&nbsp;rl,
+                 int&nbsp;ru,
+                 int&nbsp;offT)</code>
+<div class="block">Decompress the contents of this column group into the specified full matrix block.</div>
+</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>int[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCachedCounts--">getCachedCounts</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i10" class="altColor">
 <td class="colFirst"><code>int[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCounts--">getCounts</a></span>()</code>
 <div class="block">Returns the counts of values inside the dictionary.</div>
 </td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code>abstract int[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCounts-int:A-">getCounts</a></span>(int[]&nbsp;out)</code>&nbsp;</td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i12" class="altColor">
 <td class="colFirst"><code>int[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCounts-int-int-">getCounts</a></span>(int&nbsp;rl,
          int&nbsp;ru)</code>
@@ -196,108 +237,222 @@
  getIfCountsType is false.</div>
 </td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i13" class="rowColor">
 <td class="colFirst"><code>abstract int[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCounts-int-int-int:A-">getCounts</a></span>(int&nbsp;rl,
          int&nbsp;ru,
          int[]&nbsp;out)</code>&nbsp;</td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i14" class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getDictionary--">getDictionary</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i15" class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getExactSizeOnDisk--">getExactSizeOnDisk</a></span>()</code>
 <div class="block">Returns the exact serialized size of column group.</div>
 </td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i16" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getIfCountsType--">getIfCountsType</a></span>()</code>
 <div class="block">Returns true if in the getValuesAsBlock method returns values in groups (that needs to be counted) or
  individually potentially repeated values</div>
 </td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i17" class="rowColor">
+<td class="colFirst"><code>abstract int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getIndexStructureHash--">getIndexStructureHash</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i18" class="altColor">
+<td class="colFirst"><code>double</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getMax--">getMax</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i19" class="rowColor">
+<td class="colFirst"><code>double</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getMin--">getMin</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i20" class="altColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getNumberNonZeros--">getNumberNonZeros</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i21" class="rowColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getNumValues--">getNumValues</a></span>()</code>
 <div class="block">Obtain number of distinct sets of values associated with the bitmaps in this column group.</div>
 </td>
 </tr>
-<tr id="i11" class="rowColor">
+<tr id="i22" class="altColor">
 <td class="colFirst"><code>double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getValues--">getValues</a></span>()</code>
 <div class="block">Get all the values in the colGroup.</div>
 </td>
 </tr>
-<tr id="i12" class="altColor">
+<tr id="i23" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getValuesAsBlock--">getValuesAsBlock</a></span>()</code>
 <div class="block">Returns the ColGroup as a MatrixBlock.</div>
 </td>
 </tr>
-<tr id="i13" class="rowColor">
+<tr id="i24" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#isLossy--">isLossy</a></span>()</code>
 <div class="block">Is Lossy</div>
 </td>
 </tr>
-<tr id="i14" class="altColor">
-<td class="colFirst"><code>double[]</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preaggValues-int-double:A-double:A-int-int-int-">preaggValues</a></span>(int&nbsp;numVals,
-            double[]&nbsp;b,
-            double[]&nbsp;dictVals,
-            int&nbsp;cl,
-            int&nbsp;cu,
-            int&nbsp;cut)</code>&nbsp;</td>
-</tr>
-<tr id="i15" class="rowColor">
-<td class="colFirst"><code>double[]</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preaggValues-int-double:A-double:A-int-int-int-double:A-">preaggValues</a></span>(int&nbsp;numVals,
-            double[]&nbsp;b,
-            double[]&nbsp;dictVals,
-            int&nbsp;cl,
-            int&nbsp;cu,
-            int&nbsp;cut,
-            double[]&nbsp;ret)</code>
-<div class="block">Aggregates a double array, that contains the values to add to the output matrix.</div>
+<tr id="i25" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#leftMultByAggregatedColGroup-org.apache.sysds.runtime.compress.colgroup.ColGroupValue-double:A-int-int-">leftMultByAggregatedColGroup</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a>&nbsp;lhs,
+                            double[]&nbsp;result,
+                            int&nbsp;numRows,
+                            int&nbsp;numCols)</code>
+<div class="block">Multiply with a matrix on the left.</div>
 </td>
 </tr>
-<tr id="i16" class="altColor">
+<tr id="i26" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#leftMultByRowVector-double:A-double:A-">leftMultByRowVector</a></span>(double[]&nbsp;a,
+                   double[]&nbsp;c)</code>
+<div class="block">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.</div>
+</td>
+</tr>
+<tr id="i27" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#leftMultByRowVector-double:A-double:A-int-">leftMultByRowVector</a></span>(double[]&nbsp;a,
+                   double[]&nbsp;c,
+                   int&nbsp;offT)</code>
+<div class="block">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.</div>
+</td>
+</tr>
+<tr id="i28" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#leftMultByRowVector-double:A-double:A-int-double:A-">leftMultByRowVector</a></span>(double[]&nbsp;a,
+                   double[]&nbsp;c,
+                   int&nbsp;numVals,
+                   double[]&nbsp;values)</code>
+<div class="block">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.</div>
+</td>
+</tr>
+<tr id="i29" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#leftMultByRowVector-double:A-double:A-int-double:A-int-">leftMultByRowVector</a></span>(double[]&nbsp;a,
+                   double[]&nbsp;c,
+                   int&nbsp;numVals,
+                   double[]&nbsp;values,
+                   int&nbsp;offT)</code>
+<div class="block">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.</div>
+</td>
+</tr>
+<tr id="i30" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#leftMultBySelfDiagonalColGroup-double:A-int-">leftMultBySelfDiagonalColGroup</a></span>(double[]&nbsp;result,
+                              int&nbsp;numColumns)</code>&nbsp;</td>
+</tr>
+<tr id="i31" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregate-org.apache.sysds.runtime.compress.colgroup.ColGroupValue-">preAggregate</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr id="i32" class="altColor">
 <td class="colFirst"><code>double[]</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preaggValues-int-org.apache.sysds.runtime.data.SparseBlock-double:A-int-int-int-">preaggValues</a></span>(int&nbsp;numVals,
-            <a href="../../../../../../org/apache/sysds/runtime/data/SparseBlock.html" title="class in org.apache.sysds.runtime.data">SparseBlock</a>&nbsp;b,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregate-double:A-">preAggregate</a></span>(double[]&nbsp;a)</code>
+<div class="block">Pre aggregate a vector</div>
+</td>
+</tr>
+<tr id="i33" class="rowColor">
+<td class="colFirst"><code>abstract double[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregate-double:A-int-">preAggregate</a></span>(double[]&nbsp;a,
+            int&nbsp;row)</code>
+<div class="block">Pre aggregates for left multiplication</div>
+</td>
+</tr>
+<tr id="i34" class="altColor">
+<td class="colFirst"><code>double[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregate-org.apache.sysds.runtime.data.SparseBlock-">preAggregate</a></span>(<a href="../../../../../../org/apache/sysds/runtime/data/SparseBlock.html" title="class in org.apache.sysds.runtime.data">SparseBlock</a>&nbsp;sb)</code>
+<div class="block">Pre aggregate for left multiplication</div>
+</td>
+</tr>
+<tr id="i35" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateCONST-org.apache.sysds.runtime.compress.colgroup.ColGroupConst-">preAggregateCONST</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupConst</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr id="i36" class="altColor">
+<td class="colFirst"><code>abstract <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateDDC-org.apache.sysds.runtime.compress.colgroup.ColGroupDDC-">preAggregateDDC</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr id="i37" class="rowColor">
+<td class="colFirst"><code>abstract <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateOLE-org.apache.sysds.runtime.compress.colgroup.ColGroupOLE-">preAggregateOLE</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOLE</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr id="i38" class="altColor">
+<td class="colFirst"><code>abstract <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateRLE-org.apache.sysds.runtime.compress.colgroup.ColGroupRLE-">preAggregateRLE</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupRLE</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr id="i39" class="rowColor">
+<td class="colFirst"><code>abstract <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateSDC-org.apache.sysds.runtime.compress.colgroup.ColGroupSDC-">preAggregateSDC</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDC</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr id="i40" class="altColor">
+<td class="colFirst"><code>abstract <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateSDCSingle-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingle-">preAggregateSDCSingle</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingle</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr id="i41" class="rowColor">
+<td class="colFirst"><code>abstract <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateSDCSingleZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingleZeros-">preAggregateSDCSingleZeros</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingleZeros</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr id="i42" class="altColor">
+<td class="colFirst"><code>abstract <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateSDCZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCZeros-">preAggregateSDCZeros</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCZeros</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr id="i43" class="rowColor">
+<td class="colFirst"><code>abstract double[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateSparse-org.apache.sysds.runtime.data.SparseBlock-int-">preAggregateSparse</a></span>(<a href="../../../../../../org/apache/sysds/runtime/data/SparseBlock.html" title="class in org.apache.sysds.runtime.data">SparseBlock</a>&nbsp;sb,
+                  int&nbsp;row)</code>
+<div class="block">Pre aggregate for left multiplication of sparse vector or matrix.</div>
+</td>
+</tr>
+<tr id="i44" class="altColor">
+<td class="colFirst"><code>org.apache.commons.lang3.tuple.Pair&lt;int[],double[]&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preaggValues-int-org.apache.sysds.runtime.matrix.data.MatrixBlock-double:A-int-int-int-">preaggValues</a></span>(int&nbsp;numVals,
+            <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;b,
             double[]&nbsp;dictVals,
             int&nbsp;cl,
             int&nbsp;cu,
             int&nbsp;cut)</code>&nbsp;</td>
 </tr>
-<tr id="i17" class="rowColor">
-<td class="colFirst"><code>double[]</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preaggValues-int-org.apache.sysds.runtime.data.SparseBlock-double:A-int-int-int-double:A-">preaggValues</a></span>(int&nbsp;numVals,
-            <a href="../../../../../../org/apache/sysds/runtime/data/SparseBlock.html" title="class in org.apache.sysds.runtime.data">SparseBlock</a>&nbsp;b,
-            double[]&nbsp;dictVals,
-            int&nbsp;cl,
-            int&nbsp;cu,
-            int&nbsp;cut,
-            double[]&nbsp;ret)</code>&nbsp;</td>
+<tr id="i45" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preCallAggregate-org.apache.sysds.runtime.compress.colgroup.ColGroupValue-">preCallAggregate</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a>&nbsp;lhs)</code>&nbsp;</td>
 </tr>
-<tr id="i18" class="altColor">
+<tr id="i46" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#readFields-java.io.DataInput-">readFields</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a>&nbsp;in)</code>
 <div class="block">Deserialize column group from data input.</div>
 </td>
 </tr>
-<tr id="i19" class="rowColor">
+<tr id="i47" class="rowColor">
+<td class="colFirst"><code>abstract boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#sameIndexStructure-org.apache.sysds.runtime.compress.colgroup.ColGroupValue-">sameIndexStructure</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a>&nbsp;that)</code>&nbsp;</td>
+</tr>
+<tr id="i48" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#setupThreadLocalMemory-int-">setupThreadLocalMemory</a></span>(int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i20" class="altColor">
+<tr id="i49" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#sliceColumns-int-int-">sliceColumns</a></span>(int&nbsp;cl,
+            int&nbsp;cu)</code>
+<div class="block">Slice out the columns within the range of cl and cu to remove the dictionary values related to these columns.</div>
+</td>
+</tr>
+<tr id="i50" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#toString--">toString</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i21" class="rowColor">
+<tr id="i51" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-">unaryAggregateOperations</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;op,
                         double[]&nbsp;c)</code>
@@ -305,7 +460,7 @@
  matrix.</div>
 </td>
 </tr>
-<tr id="i22" class="altColor">
+<tr id="i52" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-int-int-">unaryAggregateOperations</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;op,
                         double[]&nbsp;c,
@@ -315,7 +470,7 @@
  matrix.</div>
 </td>
 </tr>
-<tr id="i23" class="rowColor">
+<tr id="i53" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#write-java.io.DataOutput-">write</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataOutput.html?is-external=true" title="class or interface in java.io">DataOutput</a>&nbsp;out)</code>
 <div class="block">Serializes column group to data output.</div>
@@ -323,11 +478,11 @@
 </tr>
 </table>
 <ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.ColGroup">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.AColGroup">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-">binaryRowOp</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#countNonZerosPerRow-int:A-int-int-">countNonZerosPerRow</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-java.util.List-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#estimateInMemorySize--">estimateInMemorySize</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#get-int-int-">get</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getColIndex-int-">getColIndex</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getColIndices--">getColIndices</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getCompType--">getCompType</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getIterator-int-int-boolean-boolean-">getIterator</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getNumCols--">getNumCols</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getNumRows--">getNumRows</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getRowIterator-int-int-">getRowIterator</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#leftMultByMatrix-double:A-double:A-double:A-int-int-int-int-int-">leftMultByMatrix</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#leftMultByRowVector-double:A-double:A-int-">leftMultByRowVector</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#leftMultByRowVector-double:A-double:A-int-double:A-">leftMultByRowVector</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#leftMultBySparseMatrix-int-int:A-double:A-double:A-int-double:A-int-int-int-double:A-">leftMultBySparseMatrix</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#rightMultByMatrix-double:A-double:A-int-int-int-int-int-">rightMultByMatrix</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#rightMultBySparseMatrix-org.apache.sysds.runtime.data.SparseRow:A-double:A-int-double:A-int-int-int-">rightMultBySparseMatrix</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#rightMultByVector-double:A-double:A-int-int-double:A-">rightMultByVector</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">scalarOperation</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#shiftColIndices-int-">shiftColIndices</a></code></li>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-boolean-">binaryRowOp</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#countNonZerosPerRow-int:A-int-int-">countNonZerosPerRow</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToArray-double:A-int-java.util.List-">decompressColumnToArray</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-double:A-int-int-int-">decompressColumnToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-double:A-int-int-int-java.util.List-">decompressColumnToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">decompressColumnToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-">decompressColumnToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-java.util.List-">decompressColumnToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-java.util.List-">decompressColumnToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlockUnSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-java.util.List-">decompressColumnToBlockUnSafe</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-boolean-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-double:A-boolean-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-boolean-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-boolean-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlockSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">decompressToBlockSafe</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlockUnSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">decompressToBlockUnSafe</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#estimateInMemorySize--">estimateInMemorySize</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#get-int-int-">get</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getColGroupType--">getColGroupType</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getColIndex-int-">getColIndex</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getColIndices--">getColIndices</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getCompType--">getCompType</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getNumCols--">getNumCols</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getNumRows--">getNumRows</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#isDense--">isDense</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#leftMultByMatrix-double:A-double:A-double:A-int-int-int-int-int-">leftMultByMatrix</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#leftMultBySparseMatrix-org.apache.sysds.runtime.data.SparseBlock-double:A-double:A-int-int-int-double:A-">leftMultBySparseMatrix</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#rightMultByMatrix-int:A-double:A-double:A-int-int-int-">rightMultByMatrix</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#rightMultByVector-double:A-double:A-int-int-double:A-">rightMultByVector</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">scalarOperation</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#shiftColIndices-int-">shiftColIndices</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -350,6 +505,50 @@
 <!--   -->
 </a>
 <h3>Method Detail</h3>
+<a name="decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>decompressToBlock</h4>
+<pre>public&nbsp;void&nbsp;decompressToBlock(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                              int&nbsp;rl,
+                              int&nbsp;ru)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">AColGroup</a></code></span></div>
+<div class="block">Decompress the contents of this column group into the specified full matrix block.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">decompressToBlock</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>target</code> - a matrix block where the columns covered by this column group have not yet been filled in.</dd>
+<dd><code>rl</code> - row lower</dd>
+<dd><code>ru</code> - row upper</dd>
+</dl>
+</li>
+</ul>
+<a name="decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>decompressToBlock</h4>
+<pre>public&nbsp;void&nbsp;decompressToBlock(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                              int&nbsp;rl,
+                              int&nbsp;ru,
+                              int&nbsp;offT)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-">AColGroup</a></code></span></div>
+<div class="block">Decompress the contents of this column group into the specified full matrix block.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-">decompressToBlock</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>target</code> - a matrix block where the columns covered by this column group have not yet been filled in.</dd>
+<dd><code>rl</code> - The row to start at</dd>
+<dd><code>ru</code> - The row to end at</dd>
+<dd><code>offT</code> - The rowOffset into target to decompress to.</dd>
+</dl>
+</li>
+</ul>
 <a name="getNumValues--">
 <!--   -->
 </a>
@@ -371,12 +570,12 @@
 <li class="blockList">
 <h4>getValues</h4>
 <pre>public&nbsp;double[]&nbsp;getValues()</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getValues--">ColGroup</a></code></span></div>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getValues--">AColGroup</a></code></span></div>
 <div class="block">Get all the values in the colGroup. Note that this is only the stored values not the way they are stored. Making
  the output a list of values used in that colGroup not the actual full column.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getValues--">getValues</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getValues--">getValues</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>a double list of values.</dd>
 </dl>
@@ -391,6 +590,15 @@
 <pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a>&nbsp;getDictionary()</pre>
 </li>
 </ul>
+<a name="addMinMax-double:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>addMinMax</h4>
+<pre>public&nbsp;void&nbsp;addMinMax(double[]&nbsp;ret)</pre>
+</li>
+</ul>
 <a name="getValuesAsBlock--">
 <!--   -->
 </a>
@@ -398,12 +606,12 @@
 <li class="blockList">
 <h4>getValuesAsBlock</h4>
 <pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;getValuesAsBlock()</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getValuesAsBlock--">ColGroup</a></code></span></div>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getValuesAsBlock--">AColGroup</a></code></span></div>
 <div class="block">Returns the ColGroup as a MatrixBlock. Used as a fall back solution in case a operation is not supported. Use in
  connection to getIfCountsType to get if the values are repeated.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getValuesAsBlock--">getValuesAsBlock</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getValuesAsBlock--">getValuesAsBlock</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>Matrix Block of the contained Values. Possibly contained in groups.</dd>
 </dl>
@@ -428,6 +636,15 @@
 </dl>
 </li>
 </ul>
+<a name="getCachedCounts--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getCachedCounts</h4>
+<pre>public final&nbsp;int[]&nbsp;getCachedCounts()</pre>
+</li>
+</ul>
 <a name="getCounts-int-int-">
 <!--   -->
 </a>
@@ -457,88 +674,77 @@
 <li class="blockList">
 <h4>getIfCountsType</h4>
 <pre>public&nbsp;boolean&nbsp;getIfCountsType()</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getIfCountsType--">ColGroup</a></code></span></div>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getIfCountsType--">AColGroup</a></code></span></div>
 <div class="block">Returns true if in the getValuesAsBlock method returns values in groups (that needs to be counted) or
  individually potentially repeated values</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getIfCountsType--">getIfCountsType</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getIfCountsType--">getIfCountsType</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>boolean</dd>
 </dl>
 </li>
 </ul>
-<a name="preaggValues-int-double:A-double:A-int-int-int-double:A-">
+<a name="preaggValues-int-org.apache.sysds.runtime.matrix.data.MatrixBlock-double:A-int-int-int-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>preaggValues</h4>
-<pre>public&nbsp;double[]&nbsp;preaggValues(int&nbsp;numVals,
-                             double[]&nbsp;b,
-                             double[]&nbsp;dictVals,
-                             int&nbsp;cl,
-                             int&nbsp;cu,
-                             int&nbsp;cut,
-                             double[]&nbsp;ret)</pre>
-<div class="block">Aggregates a double array, that contains the values to add to the output matrix.
- 
- Used in right mult by dense matrix</div>
+<pre>public&nbsp;org.apache.commons.lang3.tuple.Pair&lt;int[],double[]&gt;&nbsp;preaggValues(int&nbsp;numVals,
+                                                                        <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;b,
+                                                                        double[]&nbsp;dictVals,
+                                                                        int&nbsp;cl,
+                                                                        int&nbsp;cu,
+                                                                        int&nbsp;cut)</pre>
+</li>
+</ul>
+<a name="getMin--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getMin</h4>
+<pre>public&nbsp;double&nbsp;getMin()</pre>
 <dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>numVals</code> - The number of values contained in the dictionary.</dd>
-<dd><code>b</code> - The matrix to multiply with</dd>
-<dd><code>dictVals</code> - The values contained in the dictionary materialized as doubles</dd>
-<dd><code>cl</code> - Lower column index to aggregate from</dd>
-<dd><code>cu</code> - Upper column index to aggregate to</dd>
-<dd><code>cut</code> - The total number of columns in b.</dd>
-<dd><code>ret</code> - The double list to return.</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>The aggregated matrix output. Note this has to be mapped to the output matrix.</dd>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getMin--">getMin</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
 </dl>
 </li>
 </ul>
-<a name="preaggValues-int-double:A-double:A-int-int-int-">
+<a name="getMax--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>preaggValues</h4>
-<pre>public&nbsp;double[]&nbsp;preaggValues(int&nbsp;numVals,
-                             double[]&nbsp;b,
-                             double[]&nbsp;dictVals,
-                             int&nbsp;cl,
-                             int&nbsp;cu,
-                             int&nbsp;cut)</pre>
+<h4>getMax</h4>
+<pre>public&nbsp;double&nbsp;getMax()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getMax--">getMax</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+</dl>
 </li>
 </ul>
-<a name="preaggValues-int-org.apache.sysds.runtime.data.SparseBlock-double:A-int-int-int-double:A-">
+<a name="applyBinaryRowOp-org.apache.sysds.runtime.functionobjects.ValueFunction-double:A-boolean-boolean-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>preaggValues</h4>
-<pre>public&nbsp;double[]&nbsp;preaggValues(int&nbsp;numVals,
-                             <a href="../../../../../../org/apache/sysds/runtime/data/SparseBlock.html" title="class in org.apache.sysds.runtime.data">SparseBlock</a>&nbsp;b,
-                             double[]&nbsp;dictVals,
-                             int&nbsp;cl,
-                             int&nbsp;cu,
-                             int&nbsp;cut,
-                             double[]&nbsp;ret)</pre>
-</li>
-</ul>
-<a name="preaggValues-int-org.apache.sysds.runtime.data.SparseBlock-double:A-int-int-int-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>preaggValues</h4>
-<pre>public&nbsp;double[]&nbsp;preaggValues(int&nbsp;numVals,
-                             <a href="../../../../../../org/apache/sysds/runtime/data/SparseBlock.html" title="class in org.apache.sysds.runtime.data">SparseBlock</a>&nbsp;b,
-                             double[]&nbsp;dictVals,
-                             int&nbsp;cl,
-                             int&nbsp;cu,
-                             int&nbsp;cut)</pre>
+<h4>applyBinaryRowOp</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a>&nbsp;applyBinaryRowOp(<a href="../../../../../../org/apache/sysds/runtime/functionobjects/ValueFunction.html" title="class in org.apache.sysds.runtime.functionobjects">ValueFunction</a>&nbsp;fn,
+                                    double[]&nbsp;v,
+                                    boolean&nbsp;sparseSafe,
+                                    boolean&nbsp;left)</pre>
+<div class="block">Apply the binary row-wise operator to the dictionary, and copy it appropriately if needed.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>fn</code> - The function to apply.</dd>
+<dd><code>v</code> - The vector to apply on each tuple of the dictionary.</dd>
+<dd><code>sparseSafe</code> - Specify if the operation is sparseSafe. if false then allocate a new tuple.</dd>
+<dd><code>left</code> - Specify which side the operation is executed on.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The new Dictionary with values.</dd>
+</dl>
 </li>
 </ul>
 <a name="unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-">
@@ -549,12 +755,12 @@
 <h4>unaryAggregateOperations</h4>
 <pre>public&nbsp;void&nbsp;unaryAggregateOperations(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;op,
                                      double[]&nbsp;c)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-">ColGroup</a></code></span></div>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-">AColGroup</a></code></span></div>
 <div class="block">Unary Aggregate operator, since aggregate operators require new object output, the output becomes an uncompressed
  matrix.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-">unaryAggregateOperations</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-">unaryAggregateOperations</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>op</code> - The operator used</dd>
 <dd><code>c</code> - Rhe output matrix block.</dd>
@@ -571,12 +777,12 @@
                                      double[]&nbsp;c,
                                      int&nbsp;rl,
                                      int&nbsp;ru)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-int-int-">ColGroup</a></code></span></div>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-int-int-">AColGroup</a></code></span></div>
 <div class="block">Unary Aggregate operator, since aggregate operators require new object output, the output becomes an uncompressed
  matrix.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-int-int-">unaryAggregateOperations</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-int-int-">unaryAggregateOperations</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>op</code> - The operator used</dd>
 <dd><code>c</code> - The output matrix block.</dd>
@@ -612,7 +818,7 @@
 <pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#toString--">toString</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
 </dl>
 </li>
 </ul>
@@ -623,11 +829,11 @@
 <li class="blockList">
 <h4>isLossy</h4>
 <pre>public&nbsp;boolean&nbsp;isLossy()</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#isLossy--">ColGroup</a></code></span></div>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#isLossy--">AColGroup</a></code></span></div>
 <div class="block">Is Lossy</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#isLossy--">isLossy</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#isLossy--">isLossy</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>returns if the ColGroup is compressed in a lossy manner.</dd>
 </dl>
@@ -641,11 +847,11 @@
 <h4>readFields</h4>
 <pre>public&nbsp;void&nbsp;readFields(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a>&nbsp;in)
                 throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#readFields-java.io.DataInput-">ColGroup</a></code></span></div>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#readFields-java.io.DataInput-">AColGroup</a></code></span></div>
 <div class="block">Deserialize column group from data input.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#readFields-java.io.DataInput-">readFields</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#readFields-java.io.DataInput-">readFields</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>in</code> - data input</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -661,11 +867,11 @@
 <h4>write</h4>
 <pre>public&nbsp;void&nbsp;write(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataOutput.html?is-external=true" title="class or interface in java.io">DataOutput</a>&nbsp;out)
            throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#write-java.io.DataOutput-">ColGroup</a></code></span></div>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#write-java.io.DataOutput-">AColGroup</a></code></span></div>
 <div class="block">Serializes column group to data output.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#write-java.io.DataOutput-">write</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#write-java.io.DataOutput-">write</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>out</code> - data output</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -680,11 +886,11 @@
 <li class="blockList">
 <h4>getExactSizeOnDisk</h4>
 <pre>public&nbsp;long&nbsp;getExactSizeOnDisk()</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getExactSizeOnDisk--">ColGroup</a></code></span></div>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getExactSizeOnDisk--">AColGroup</a></code></span></div>
 <div class="block">Returns the exact serialized size of column group. This can be used for example for buffer preallocation.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getExactSizeOnDisk--">getExactSizeOnDisk</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getExactSizeOnDisk--">getExactSizeOnDisk</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>exact serialized size for column group</dd>
 </dl>
@@ -716,21 +922,381 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>copyAndSet</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>&nbsp;copyAndSet(int[]&nbsp;colIndexes,
-                           double[]&nbsp;newDictionary)</pre>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a>&nbsp;copyAndSet(int[]&nbsp;colIndexes,
+                            double[]&nbsp;newDictionary)</pre>
+</li>
+</ul>
+<a name="copyAndSet-int:A-org.apache.sysds.runtime.compress.colgroup.ADictionary-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>copyAndSet</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a>&nbsp;copyAndSet(int[]&nbsp;colIndexes,
+                            <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a>&nbsp;newDictionary)</pre>
 </li>
 </ul>
 <a name="copy--">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>copy</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>&nbsp;copy()</pre>
-<div class="block">shallow copy of the colGroup.</div>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a>&nbsp;copy()</pre>
 <dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#copy--">copy</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="leftMultByRowVector-double:A-double:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>leftMultByRowVector</h4>
+<pre>public&nbsp;void&nbsp;leftMultByRowVector(double[]&nbsp;a,
+                                double[]&nbsp;c)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#leftMultByRowVector-double:A-double:A-">AColGroup</a></code></span></div>
+<div class="block">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. its size now is 1xn).</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#leftMultByRowVector-double:A-double:A-">leftMultByRowVector</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>a</code> - row vector</dd>
+<dd><code>c</code> - matrix block result</dd>
+</dl>
+</li>
+</ul>
+<a name="leftMultByRowVector-double:A-double:A-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>leftMultByRowVector</h4>
+<pre>public&nbsp;void&nbsp;leftMultByRowVector(double[]&nbsp;a,
+                                double[]&nbsp;c,
+                                int&nbsp;offT)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#leftMultByRowVector-double:A-double:A-int-">AColGroup</a></code></span></div>
+<div class="block">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. its size now is 1xn).</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#leftMultByRowVector-double:A-double:A-int-">leftMultByRowVector</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>a</code> - row vector</dd>
+<dd><code>c</code> - matrix block result</dd>
+<dd><code>offT</code> - The offset into target result array to put the result values.</dd>
+</dl>
+</li>
+</ul>
+<a name="leftMultByRowVector-double:A-double:A-int-double:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>leftMultByRowVector</h4>
+<pre>public&nbsp;void&nbsp;leftMultByRowVector(double[]&nbsp;a,
+                                double[]&nbsp;c,
+                                int&nbsp;numVals,
+                                double[]&nbsp;values)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#leftMultByRowVector-double:A-double:A-int-double:A-">AColGroup</a></code></span></div>
+<div class="block">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. its size now is 1xn).</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#leftMultByRowVector-double:A-double:A-int-double:A-">leftMultByRowVector</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>a</code> - Row vector</dd>
+<dd><code>c</code> - Matrix block result</dd>
+<dd><code>numVals</code> - The Number of values contained in the Column.</dd>
+<dd><code>values</code> - The materialized list of values contained in the dictionary.</dd>
+</dl>
+</li>
+</ul>
+<a name="leftMultByRowVector-double:A-double:A-int-double:A-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>leftMultByRowVector</h4>
+<pre>public&nbsp;void&nbsp;leftMultByRowVector(double[]&nbsp;a,
+                                double[]&nbsp;c,
+                                int&nbsp;numVals,
+                                double[]&nbsp;values,
+                                int&nbsp;offT)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#leftMultByRowVector-double:A-double:A-int-double:A-int-">AColGroup</a></code></span></div>
+<div class="block">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. its size now is 1xn).</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#leftMultByRowVector-double:A-double:A-int-double:A-int-">leftMultByRowVector</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>a</code> - Row vector</dd>
+<dd><code>c</code> - Matrix block result</dd>
+<dd><code>numVals</code> - The Number of values contained in the Column.</dd>
+<dd><code>values</code> - The materialized list of values contained in the dictionary.</dd>
+<dd><code>offT</code> - The offset into target result array to put the result values.</dd>
+</dl>
+</li>
+</ul>
+<a name="sliceColumns-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>sliceColumns</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a>&nbsp;sliceColumns(int&nbsp;cl,
+                              int&nbsp;cu)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#sliceColumns-int-int-">AColGroup</a></code></span></div>
+<div class="block">Slice out the columns within the range of cl and cu to remove the dictionary values related to these columns. If
+ the ColGroup slicing from does not contain any columns within the range null is returned.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#sliceColumns-int-int-">sliceColumns</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>cl</code> - The lower bound of the columns to select</dd>
+<dd><code>cu</code> - The upper bound of the columns to select (not inclusive).</dd>
 <dt><span class="returnLabel">Returns:</span></dt>
-<dd>a shallow copy of the colGroup.</dd>
+<dd>A cloned Column Group, with a copied pointer to the old column groups index structure, but reduced
+         dictionary and _columnIndexes correctly aligned with the expected sliced compressed matrix.</dd>
+</dl>
+</li>
+</ul>
+<a name="preAggregate-double:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>preAggregate</h4>
+<pre>public&nbsp;double[]&nbsp;preAggregate(double[]&nbsp;a)</pre>
+<div class="block">Pre aggregate a vector</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>a</code> - The vector to aggregate</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The pre-aggregated values.</dd>
+</dl>
+</li>
+</ul>
+<a name="preAggregate-double:A-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>preAggregate</h4>
+<pre>public abstract&nbsp;double[]&nbsp;preAggregate(double[]&nbsp;a,
+                                      int&nbsp;row)</pre>
+<div class="block">Pre aggregates for left multiplication</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>a</code> - The input dense vector or matrix to aggregate</dd>
+<dd><code>row</code> - The row index to aggregate</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The pre-aggregated values.</dd>
+</dl>
+</li>
+</ul>
+<a name="preAggregate-org.apache.sysds.runtime.data.SparseBlock-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>preAggregate</h4>
+<pre>public&nbsp;double[]&nbsp;preAggregate(<a href="../../../../../../org/apache/sysds/runtime/data/SparseBlock.html" title="class in org.apache.sysds.runtime.data">SparseBlock</a>&nbsp;sb)</pre>
+<div class="block">Pre aggregate for left multiplication</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>sb</code> - The vector to aggregate</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The pre-aggregated values.</dd>
+</dl>
+</li>
+</ul>
+<a name="preAggregateSparse-org.apache.sysds.runtime.data.SparseBlock-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>preAggregateSparse</h4>
+<pre>public abstract&nbsp;double[]&nbsp;preAggregateSparse(<a href="../../../../../../org/apache/sysds/runtime/data/SparseBlock.html" title="class in org.apache.sysds.runtime.data">SparseBlock</a>&nbsp;sb,
+                                            int&nbsp;row)</pre>
+<div class="block">Pre aggregate for left multiplication of sparse vector or matrix.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>sb</code> - The input sparse vector or matrix to aggregate</dd>
+<dd><code>row</code> - The row index to aggregate</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The pre-aggregated values.</dd>
+</dl>
+</li>
+</ul>
+<a name="sameIndexStructure-org.apache.sysds.runtime.compress.colgroup.ColGroupValue-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>sameIndexStructure</h4>
+<pre>public abstract&nbsp;boolean&nbsp;sameIndexStructure(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a>&nbsp;that)</pre>
+</li>
+</ul>
+<a name="getIndexStructureHash--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getIndexStructureHash</h4>
+<pre>public abstract&nbsp;int&nbsp;getIndexStructureHash()</pre>
+</li>
+</ul>
+<a name="preAggregate-org.apache.sysds.runtime.compress.colgroup.ColGroupValue-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>preAggregate</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a>&nbsp;preAggregate(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a>&nbsp;lhs)</pre>
+</li>
+</ul>
+<a name="preCallAggregate-org.apache.sysds.runtime.compress.colgroup.ColGroupValue-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>preCallAggregate</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a>&nbsp;preCallAggregate(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a>&nbsp;lhs)</pre>
+</li>
+</ul>
+<a name="preAggregateCONST-org.apache.sysds.runtime.compress.colgroup.ColGroupConst-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>preAggregateCONST</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a>&nbsp;preAggregateCONST(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupConst</a>&nbsp;lhs)</pre>
+</li>
+</ul>
+<a name="preAggregateDDC-org.apache.sysds.runtime.compress.colgroup.ColGroupDDC-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>preAggregateDDC</h4>
+<pre>public abstract&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a>&nbsp;preAggregateDDC(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a>&nbsp;lhs)</pre>
+</li>
+</ul>
+<a name="preAggregateSDC-org.apache.sysds.runtime.compress.colgroup.ColGroupSDC-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>preAggregateSDC</h4>
+<pre>public abstract&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a>&nbsp;preAggregateSDC(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDC</a>&nbsp;lhs)</pre>
+</li>
+</ul>
+<a name="preAggregateSDCSingle-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingle-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>preAggregateSDCSingle</h4>
+<pre>public abstract&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a>&nbsp;preAggregateSDCSingle(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingle</a>&nbsp;lhs)</pre>
+</li>
+</ul>
+<a name="preAggregateSDCZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCZeros-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>preAggregateSDCZeros</h4>
+<pre>public abstract&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a>&nbsp;preAggregateSDCZeros(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCZeros</a>&nbsp;lhs)</pre>
+</li>
+</ul>
+<a name="preAggregateSDCSingleZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingleZeros-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>preAggregateSDCSingleZeros</h4>
+<pre>public abstract&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a>&nbsp;preAggregateSDCSingleZeros(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingleZeros</a>&nbsp;lhs)</pre>
+</li>
+</ul>
+<a name="preAggregateOLE-org.apache.sysds.runtime.compress.colgroup.ColGroupOLE-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>preAggregateOLE</h4>
+<pre>public abstract&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a>&nbsp;preAggregateOLE(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOLE</a>&nbsp;lhs)</pre>
+</li>
+</ul>
+<a name="preAggregateRLE-org.apache.sysds.runtime.compress.colgroup.ColGroupRLE-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>preAggregateRLE</h4>
+<pre>public abstract&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a>&nbsp;preAggregateRLE(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupRLE</a>&nbsp;lhs)</pre>
+</li>
+</ul>
+<a name="leftMultByAggregatedColGroup-org.apache.sysds.runtime.compress.colgroup.ColGroupValue-double:A-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>leftMultByAggregatedColGroup</h4>
+<pre>public&nbsp;void&nbsp;leftMultByAggregatedColGroup(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a>&nbsp;lhs,
+                                         double[]&nbsp;result,
+                                         int&nbsp;numRows,
+                                         int&nbsp;numCols)</pre>
+<div class="block">Multiply with a matrix on the left.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>lhs</code> - Left hand side ColGroupValue</dd>
+<dd><code>result</code> - Dense result matrix block</dd>
+<dd><code>numRows</code> - The number of rows in the left hand side matrix</dd>
+<dd><code>numCols</code> - The number of columns in the colGroups parent matrix.</dd>
+</dl>
+</li>
+</ul>
+<a name="leftMultBySelfDiagonalColGroup-double:A-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>leftMultBySelfDiagonalColGroup</h4>
+<pre>public&nbsp;void&nbsp;leftMultBySelfDiagonalColGroup(double[]&nbsp;result,
+                                           int&nbsp;numColumns)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#leftMultBySelfDiagonalColGroup-double:A-int-">leftMultBySelfDiagonalColGroup</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="containsValue-double-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>containsValue</h4>
+<pre>public&nbsp;boolean&nbsp;containsValue(double&nbsp;pattern)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#containsValue-double-">containsValue</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getNumberNonZeros--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getNumberNonZeros</h4>
+<pre>public&nbsp;long&nbsp;getNumberNonZeros()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getNumberNonZeros--">getNumberNonZeros</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
 </dl>
 </li>
 </ul>
@@ -763,7 +1329,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/DenseRowIterator.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" target="_top">Frames</a></li>
@@ -787,7 +1353,7 @@
 <div>
 <ul class="subNavList">
 <li>Summary:&nbsp;</li>
-<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.ColGroup">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.AColGroup">Nested</a>&nbsp;|&nbsp;</li>
 <li>Field&nbsp;|&nbsp;</li>
 <li>Constr&nbsp;|&nbsp;</li>
 <li><a href="#method.summary">Method</a></li>
@@ -803,6 +1369,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/Dictionary.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/Dictionary.html
index 41004a3..5659e10 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/Dictionary.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/Dictionary.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":9,"i14":10,"i15":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":9,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -49,7 +49,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/DenseRowIterator.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -163,88 +163,129 @@
 </td>
 </tr>
 <tr id="i1" class="rowColor">
+<td class="colFirst"><code>double[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html#aggregateTuples-org.apache.sysds.runtime.functionobjects.Builtin-int-">aggregateTuples</a></span>(<a href="../../../../../../org/apache/sysds/runtime/functionobjects/Builtin.html" title="class in org.apache.sysds.runtime.functionobjects">Builtin</a>&nbsp;fn,
+               int&nbsp;nCol)</code>
+<div class="block">Aggregate all entries in the rows.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">Dictionary</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html#apply-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">apply</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op)</code>
 <div class="block">Applies the scalar operation on the dictionary.</div>
 </td>
 </tr>
-<tr id="i2" class="altColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">Dictionary</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html#applyBinaryRowOp-org.apache.sysds.runtime.functionobjects.ValueFunction-double:A-boolean-int:A-">applyBinaryRowOp</a></span>(<a href="../../../../../../org/apache/sysds/runtime/functionobjects/ValueFunction.html" title="class in org.apache.sysds.runtime.functionobjects">ValueFunction</a>&nbsp;fn,
-                double[]&nbsp;v,
-                boolean&nbsp;sparseSafe,
-                int[]&nbsp;colIndexes)</code>&nbsp;</td>
-</tr>
 <tr id="i3" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">Dictionary</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html#applyBinaryRowOpLeft-org.apache.sysds.runtime.functionobjects.ValueFunction-double:A-boolean-int:A-">applyBinaryRowOpLeft</a></span>(<a href="../../../../../../org/apache/sysds/runtime/functionobjects/ValueFunction.html" title="class in org.apache.sysds.runtime.functionobjects">ValueFunction</a>&nbsp;fn,
+                    double[]&nbsp;v,
+                    boolean&nbsp;sparseSafe,
+                    int[]&nbsp;colIndexes)</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">Dictionary</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html#applyBinaryRowOpRight-org.apache.sysds.runtime.functionobjects.ValueFunction-double:A-boolean-int:A-">applyBinaryRowOpRight</a></span>(<a href="../../../../../../org/apache/sysds/runtime/functionobjects/ValueFunction.html" title="class in org.apache.sysds.runtime.functionobjects">ValueFunction</a>&nbsp;fn,
+                     double[]&nbsp;v,
+                     boolean&nbsp;sparseSafe,
+                     int[]&nbsp;colIndexes)</code>&nbsp;</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">Dictionary</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html#applyScalarOp-org.apache.sysds.runtime.matrix.operators.ScalarOperator-double-int-">applyScalarOp</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op,
              double&nbsp;newVal,
              int&nbsp;numCols)</code>
 <div class="block">Applies the scalar operation on the dictionary.</div>
 </td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">Dictionary</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html#clone--">clone</a></span>()</code>
 <div class="block">Returns a deep clone of the dictionary.</div>
 </td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">Dictionary</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html#cloneAndExtend-int-">cloneAndExtend</a></span>(int&nbsp;len)</code>&nbsp;</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html#containsValue-double-">containsValue</a></span>(double&nbsp;pattern)</code>&nbsp;</td>
+</tr>
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html#getExactSizeOnDisk--">getExactSizeOnDisk</a></span>()</code>
 <div class="block">Calculate the space consumption if the dictionary is stored on disk.</div>
 </td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i10" class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html#getInMemorySize--">getInMemorySize</a></span>()</code>
 <div class="block">Returns the memory usage of the dictionary.</div>
 </td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i11" class="rowColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html#getNumberNonZeros-int:A-int-">getNumberNonZeros</a></span>(int[]&nbsp;counts,
+                 int&nbsp;nCol)</code>&nbsp;</td>
+</tr>
+<tr id="i12" class="altColor">
 <td class="colFirst"><code>int</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html#getNumberOfValues-int-">getNumberOfValues</a></span>(int&nbsp;ncol)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html#getNumberOfValues-int-">getNumberOfValues</a></span>(int&nbsp;nCol)</code>
 <div class="block">Get the number of values given that the column group has n columns</div>
 </td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i13" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/StringBuilder.html?is-external=true" title="class or interface in java.lang">StringBuilder</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html#getString-java.lang.StringBuilder-int-">getString</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/StringBuilder.html?is-external=true" title="class or interface in java.lang">StringBuilder</a>&nbsp;sb,
          int&nbsp;colIndexes)</code>&nbsp;</td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i14" class="altColor">
 <td class="colFirst"><code>double</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html#getValue-int-">getValue</a></span>(int&nbsp;i)</code>
 <div class="block">Get Specific value contained in the dictionary at index.</div>
 </td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i15" class="rowColor">
 <td class="colFirst"><code>double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html#getValues--">getValues</a></span>()</code>
 <div class="block">Get all the values contained in the dictionary as a linearized double array.</div>
 </td>
 </tr>
-<tr id="i11" class="rowColor">
+<tr id="i16" class="altColor">
 <td class="colFirst"><code>int</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html#getValuesLength--">getValuesLength</a></span>()</code>
-<div class="block">returns the count of values contained in the dictionary.</div>
-</td>
-</tr>
-<tr id="i12" class="altColor">
-<td class="colFirst"><code>int</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html#hasZeroTuple-int-">hasZeroTuple</a></span>(int&nbsp;ncol)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html#hasZeroTuple-int-">hasZeroTuple</a></span>(int&nbsp;nCol)</code>
 <div class="block">Determines if the content has a zero tuple.</div>
 </td>
 </tr>
-<tr id="i13" class="rowColor">
+<tr id="i17" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">Dictionary</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html#read-java.io.DataInput-">read</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a>&nbsp;in)</code>&nbsp;</td>
 </tr>
-<tr id="i14" class="altColor">
+<tr id="i18" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html#reExpandColumns-int-">reExpandColumns</a></span>(int&nbsp;max)</code>
+<div class="block">return a new Dictionary that have re expanded all values, based on the entries already contained.</div>
+</td>
+</tr>
+<tr id="i19" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html#size--">size</a></span>()</code>
+<div class="block">returns the count of values contained in the dictionary.</div>
+</td>
+</tr>
+<tr id="i20" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html#sliceOutColumnRange-int-int-int-">sliceOutColumnRange</a></span>(int&nbsp;idxStart,
+                   int&nbsp;idxEnd,
+                   int&nbsp;previousNumberOfColumns)</code>
+<div class="block">Modify the dictionary by removing columns not within the index range.</div>
+</td>
+</tr>
+<tr id="i21" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html#toString--">toString</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i15" class="rowColor">
+<tr id="i22" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html#write-java.io.DataOutput-">write</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataOutput.html?is-external=true" title="class or interface in java.io">DataOutput</a>&nbsp;out)</code>
 <div class="block">Write the dictionary to a DataOutput.</div>
@@ -256,7 +297,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#aggregateCols-double:A-org.apache.sysds.runtime.functionobjects.Builtin-int:A-">aggregateCols</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#read-java.io.DataInput-boolean-">read</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#aggregateCols-double:A-org.apache.sysds.runtime.functionobjects.Builtin-int:A-">aggregateCols</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#applyBinaryRowOp-org.apache.sysds.runtime.functionobjects.ValueFunction-double:A-boolean-int:A-boolean-">applyBinaryRowOp</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#read-java.io.DataInput-boolean-">read</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -355,7 +396,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>hasZeroTuple</h4>
-<pre>public&nbsp;int&nbsp;hasZeroTuple(int&nbsp;ncol)</pre>
+<pre>public&nbsp;int&nbsp;hasZeroTuple(int&nbsp;nCol)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#hasZeroTuple-int-">ADictionary</a></code></span></div>
 <div class="block">Determines if the content has a zero tuple. meaning all values at a specific row are zero value. This is useful
  information to find out if the dictionary is used in a dense context. To improve some specific operations.</div>
@@ -363,7 +404,7 @@
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#hasZeroTuple-int-">hasZeroTuple</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>ncol</code> - The number of columns in the dictionary.</dd>
+<dd><code>nCol</code> - The number of columns in the dictionary.</dd>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>The index at which the zero tuple is located.</dd>
 </dl>
@@ -391,6 +432,27 @@
 </dl>
 </li>
 </ul>
+<a name="aggregateTuples-org.apache.sysds.runtime.functionobjects.Builtin-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>aggregateTuples</h4>
+<pre>public&nbsp;double[]&nbsp;aggregateTuples(<a href="../../../../../../org/apache/sysds/runtime/functionobjects/Builtin.html" title="class in org.apache.sysds.runtime.functionobjects">Builtin</a>&nbsp;fn,
+                                int&nbsp;nCol)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#aggregateTuples-org.apache.sysds.runtime.functionobjects.Builtin-int-">ADictionary</a></code></span></div>
+<div class="block">Aggregate all entries in the rows.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#aggregateTuples-org.apache.sysds.runtime.functionobjects.Builtin-int-">aggregateTuples</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>fn</code> - The aggregate function</dd>
+<dd><code>nCol</code> - The number of columns contained in the dictionary.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Aggregates for this dictionary tuples.</dd>
+</dl>
+</li>
+</ul>
 <a name="apply-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">
 <!--   -->
 </a>
@@ -435,19 +497,35 @@
 </dl>
 </li>
 </ul>
-<a name="applyBinaryRowOp-org.apache.sysds.runtime.functionobjects.ValueFunction-double:A-boolean-int:A-">
+<a name="applyBinaryRowOpRight-org.apache.sysds.runtime.functionobjects.ValueFunction-double:A-boolean-int:A-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>applyBinaryRowOp</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">Dictionary</a>&nbsp;applyBinaryRowOp(<a href="../../../../../../org/apache/sysds/runtime/functionobjects/ValueFunction.html" title="class in org.apache.sysds.runtime.functionobjects">ValueFunction</a>&nbsp;fn,
-                                   double[]&nbsp;v,
-                                   boolean&nbsp;sparseSafe,
-                                   int[]&nbsp;colIndexes)</pre>
+<h4>applyBinaryRowOpRight</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">Dictionary</a>&nbsp;applyBinaryRowOpRight(<a href="../../../../../../org/apache/sysds/runtime/functionobjects/ValueFunction.html" title="class in org.apache.sysds.runtime.functionobjects">ValueFunction</a>&nbsp;fn,
+                                        double[]&nbsp;v,
+                                        boolean&nbsp;sparseSafe,
+                                        int[]&nbsp;colIndexes)</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#applyBinaryRowOp-org.apache.sysds.runtime.functionobjects.ValueFunction-double:A-boolean-int:A-">applyBinaryRowOp</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#applyBinaryRowOpRight-org.apache.sysds.runtime.functionobjects.ValueFunction-double:A-boolean-int:A-">applyBinaryRowOpRight</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="applyBinaryRowOpLeft-org.apache.sysds.runtime.functionobjects.ValueFunction-double:A-boolean-int:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>applyBinaryRowOpLeft</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">Dictionary</a>&nbsp;applyBinaryRowOpLeft(<a href="../../../../../../org/apache/sysds/runtime/functionobjects/ValueFunction.html" title="class in org.apache.sysds.runtime.functionobjects">ValueFunction</a>&nbsp;fn,
+                                       double[]&nbsp;v,
+                                       boolean&nbsp;sparseSafe,
+                                       int[]&nbsp;colIndexes)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#applyBinaryRowOpLeft-org.apache.sysds.runtime.functionobjects.ValueFunction-double:A-boolean-int:A-">applyBinaryRowOpLeft</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></code></dd>
 </dl>
 </li>
 </ul>
@@ -466,20 +544,16 @@
 </dl>
 </li>
 </ul>
-<a name="getValuesLength--">
+<a name="cloneAndExtend-int-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getValuesLength</h4>
-<pre>public&nbsp;int&nbsp;getValuesLength()</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#getValuesLength--">ADictionary</a></code></span></div>
-<div class="block">returns the count of values contained in the dictionary.</div>
+<h4>cloneAndExtend</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">Dictionary</a>&nbsp;cloneAndExtend(int&nbsp;len)</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#getValuesLength--">getValuesLength</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></code></dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>an integer of count of values.</dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#cloneAndExtend-int-">cloneAndExtend</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></code></dd>
 </dl>
 </li>
 </ul>
@@ -534,20 +608,37 @@
 </dl>
 </li>
 </ul>
+<a name="size--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>size</h4>
+<pre>public&nbsp;int&nbsp;size()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#size--">ADictionary</a></code></span></div>
+<div class="block">returns the count of values contained in the dictionary.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#size--">size</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>an integer of count of values.</dd>
+</dl>
+</li>
+</ul>
 <a name="getNumberOfValues-int-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>getNumberOfValues</h4>
-<pre>public&nbsp;int&nbsp;getNumberOfValues(int&nbsp;ncol)</pre>
+<pre>public&nbsp;int&nbsp;getNumberOfValues(int&nbsp;nCol)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#getNumberOfValues-int-">ADictionary</a></code></span></div>
 <div class="block">Get the number of values given that the column group has n columns</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#getNumberOfValues-int-">getNumberOfValues</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>ncol</code> - The number of Columns in the ColumnGroup.</dd>
+<dd><code>nCol</code> - The number of Columns in the ColumnGroup.</dd>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the number of value tuples contained in the dictionary.</dd>
 </dl>
@@ -569,7 +660,7 @@
 <a name="getString-java.lang.StringBuilder-int-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>getString</h4>
 <pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/StringBuilder.html?is-external=true" title="class or interface in java.lang">StringBuilder</a>&nbsp;getString(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/StringBuilder.html?is-external=true" title="class or interface in java.lang">StringBuilder</a>&nbsp;sb,
@@ -580,6 +671,75 @@
 </dl>
 </li>
 </ul>
+<a name="sliceOutColumnRange-int-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>sliceOutColumnRange</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a>&nbsp;sliceOutColumnRange(int&nbsp;idxStart,
+                                       int&nbsp;idxEnd,
+                                       int&nbsp;previousNumberOfColumns)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#sliceOutColumnRange-int-int-int-">ADictionary</a></code></span></div>
+<div class="block">Modify the dictionary by removing columns not within the index range.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#sliceOutColumnRange-int-int-int-">sliceOutColumnRange</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>idxStart</code> - The column index to start at.</dd>
+<dd><code>idxEnd</code> - The column index to end at (not inclusive)</dd>
+<dd><code>previousNumberOfColumns</code> - The number of columns contained in the dictionary.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>A dictionary containing the sliced out columns values only.</dd>
+</dl>
+</li>
+</ul>
+<a name="reExpandColumns-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>reExpandColumns</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a>&nbsp;reExpandColumns(int&nbsp;max)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#reExpandColumns-int-">ADictionary</a></code></span></div>
+<div class="block">return a new Dictionary that have re expanded all values, based on the entries already contained.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#reExpandColumns-int-">reExpandColumns</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>max</code> - The number of output columns possible.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The re expanded Dictionary.</dd>
+</dl>
+</li>
+</ul>
+<a name="containsValue-double-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>containsValue</h4>
+<pre>public&nbsp;boolean&nbsp;containsValue(double&nbsp;pattern)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#containsValue-double-">containsValue</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getNumberNonZeros-int:A-int-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getNumberNonZeros</h4>
+<pre>public&nbsp;long&nbsp;getNumberNonZeros(int[]&nbsp;counts,
+                              int&nbsp;nCol)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#getNumberNonZeros-int:A-int-">getNumberNonZeros</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></code></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>
@@ -608,7 +768,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/DenseRowIterator.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -649,6 +809,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/QDictionary.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/QDictionary.html
index 88d74ea..9aa4b61 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/QDictionary.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/QDictionary.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":9,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":9,"i18":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":9,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":9,"i23":10,"i24":10,"i25":10,"i26":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -50,7 +50,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/SparseRowIterator.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/QDictionary.html" target="_top">Frames</a></li>
@@ -163,100 +163,145 @@
 </td>
 </tr>
 <tr id="i1" class="rowColor">
+<td class="colFirst"><code>double[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html#aggregateTuples-org.apache.sysds.runtime.functionobjects.Builtin-int-">aggregateTuples</a></span>(<a href="../../../../../../org/apache/sysds/runtime/functionobjects/Builtin.html" title="class in org.apache.sysds.runtime.functionobjects">Builtin</a>&nbsp;fn,
+               int&nbsp;nCol)</code>
+<div class="block">Aggregate all entries in the rows.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">QDictionary</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html#apply-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">apply</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op)</code>
 <div class="block">Applies the scalar operation on the dictionary.</div>
 </td>
 </tr>
-<tr id="i2" class="altColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">QDictionary</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html#applyBinaryRowOp-org.apache.sysds.runtime.functionobjects.ValueFunction-double:A-boolean-int:A-">applyBinaryRowOp</a></span>(<a href="../../../../../../org/apache/sysds/runtime/functionobjects/ValueFunction.html" title="class in org.apache.sysds.runtime.functionobjects">ValueFunction</a>&nbsp;fn,
-                double[]&nbsp;v,
-                boolean&nbsp;sparseSafe,
-                int[]&nbsp;colIndexes)</code>&nbsp;</td>
-</tr>
 <tr id="i3" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">QDictionary</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html#applyBinaryRowOpLeft-org.apache.sysds.runtime.functionobjects.ValueFunction-double:A-boolean-int:A-">applyBinaryRowOpLeft</a></span>(<a href="../../../../../../org/apache/sysds/runtime/functionobjects/ValueFunction.html" title="class in org.apache.sysds.runtime.functionobjects">ValueFunction</a>&nbsp;fn,
+                    double[]&nbsp;v,
+                    boolean&nbsp;sparseSafe,
+                    int[]&nbsp;colIndexes)</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">QDictionary</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html#applyBinaryRowOpRight-org.apache.sysds.runtime.functionobjects.ValueFunction-double:A-boolean-int:A-">applyBinaryRowOpRight</a></span>(<a href="../../../../../../org/apache/sysds/runtime/functionobjects/ValueFunction.html" title="class in org.apache.sysds.runtime.functionobjects">ValueFunction</a>&nbsp;fn,
+                     double[]&nbsp;v,
+                     boolean&nbsp;sparseSafe,
+                     int[]&nbsp;colIndexes)</code>&nbsp;</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">QDictionary</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html#applyScalarOp-org.apache.sysds.runtime.matrix.operators.ScalarOperator-double-int-">applyScalarOp</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op,
              double&nbsp;newVal,
              int&nbsp;numCols)</code>
 <div class="block">Applies the scalar operation on the dictionary.</div>
 </td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">QDictionary</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html#clone--">clone</a></span>()</code>
 <div class="block">Returns a deep clone of the dictionary.</div>
 </td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">QDictionary</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html#cloneAndExtend-int-">cloneAndExtend</a></span>(int&nbsp;len)</code>&nbsp;</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html#containsValue-double-">containsValue</a></span>(double&nbsp;pattern)</code>&nbsp;</td>
+</tr>
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html#getExactSizeOnDisk--">getExactSizeOnDisk</a></span>()</code>
 <div class="block">Calculate the space consumption if the dictionary is stored on disk.</div>
 </td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i10" class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html#getInMemorySize--">getInMemorySize</a></span>()</code>
 <div class="block">Returns the memory usage of the dictionary.</div>
 </td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html#getInMemorySize-int-">getInMemorySize</a></span>(int&nbsp;valuesCount)</code>&nbsp;</td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i12" class="altColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html#getNumberNonZeros-int:A-int-">getNumberNonZeros</a></span>(int[]&nbsp;counts,
+                 int&nbsp;nCol)</code>&nbsp;</td>
+</tr>
+<tr id="i13" class="rowColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html#getNumberOfValues-int-">getNumberOfValues</a></span>(int&nbsp;nCol)</code>
 <div class="block">Get the number of values given that the column group has n columns</div>
 </td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i14" class="altColor">
 <td class="colFirst"><code>double</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html#getScale--">getScale</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i15" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/StringBuilder.html?is-external=true" title="class or interface in java.lang">StringBuilder</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html#getString-java.lang.StringBuilder-int-">getString</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/StringBuilder.html?is-external=true" title="class or interface in java.lang">StringBuilder</a>&nbsp;sb,
          int&nbsp;colIndexes)</code>&nbsp;</td>
 </tr>
-<tr id="i11" class="rowColor">
+<tr id="i16" class="altColor">
 <td class="colFirst"><code>double</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html#getValue-int-">getValue</a></span>(int&nbsp;i)</code>
 <div class="block">Get Specific value contained in the dictionary at index.</div>
 </td>
 </tr>
-<tr id="i12" class="altColor">
+<tr id="i17" class="rowColor">
 <td class="colFirst"><code>byte</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html#getValueByte-int-">getValueByte</a></span>(int&nbsp;i)</code>&nbsp;</td>
 </tr>
-<tr id="i13" class="rowColor">
+<tr id="i18" class="altColor">
 <td class="colFirst"><code>double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html#getValues--">getValues</a></span>()</code>
 <div class="block">Get all the values contained in the dictionary as a linearized double array.</div>
 </td>
 </tr>
-<tr id="i14" class="altColor">
+<tr id="i19" class="rowColor">
 <td class="colFirst"><code>byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html#getValuesByte--">getValuesByte</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i15" class="rowColor">
+<tr id="i20" class="altColor">
 <td class="colFirst"><code>int</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html#getValuesLength--">getValuesLength</a></span>()</code>
-<div class="block">returns the count of values contained in the dictionary.</div>
-</td>
-</tr>
-<tr id="i16" class="altColor">
-<td class="colFirst"><code>int</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html#hasZeroTuple-int-">hasZeroTuple</a></span>(int&nbsp;ncol)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html#hasZeroTuple-int-">hasZeroTuple</a></span>(int&nbsp;nCol)</code>
 <div class="block">Determines if the content has a zero tuple.</div>
 </td>
 </tr>
-<tr id="i17" class="rowColor">
+<tr id="i21" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">Dictionary</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html#makeDoubleDictionary--">makeDoubleDictionary</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i22" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">QDictionary</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html#read-java.io.DataInput-">read</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a>&nbsp;in)</code>&nbsp;</td>
 </tr>
-<tr id="i18" class="altColor">
+<tr id="i23" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html#reExpandColumns-int-">reExpandColumns</a></span>(int&nbsp;max)</code>
+<div class="block">return a new Dictionary that have re expanded all values, based on the entries already contained.</div>
+</td>
+</tr>
+<tr id="i24" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html#size--">size</a></span>()</code>
+<div class="block">returns the count of values contained in the dictionary.</div>
+</td>
+</tr>
+<tr id="i25" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html#sliceOutColumnRange-int-int-int-">sliceOutColumnRange</a></span>(int&nbsp;idxStart,
+                   int&nbsp;idxEnd,
+                   int&nbsp;previousNumberOfColumns)</code>
+<div class="block">Modify the dictionary by removing columns not within the index range.</div>
+</td>
+</tr>
+<tr id="i26" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html#write-java.io.DataOutput-">write</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataOutput.html?is-external=true" title="class or interface in java.io">DataOutput</a>&nbsp;out)</code>
 <div class="block">Write the dictionary to a DataOutput.</div>
@@ -268,7 +313,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#aggregateCols-double:A-org.apache.sysds.runtime.functionobjects.Builtin-int:A-">aggregateCols</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#read-java.io.DataInput-boolean-">read</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#aggregateCols-double:A-org.apache.sysds.runtime.functionobjects.Builtin-int:A-">aggregateCols</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#applyBinaryRowOp-org.apache.sysds.runtime.functionobjects.ValueFunction-double:A-boolean-int:A-boolean-">applyBinaryRowOp</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#read-java.io.DataInput-boolean-">read</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -403,7 +448,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>hasZeroTuple</h4>
-<pre>public&nbsp;int&nbsp;hasZeroTuple(int&nbsp;ncol)</pre>
+<pre>public&nbsp;int&nbsp;hasZeroTuple(int&nbsp;nCol)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#hasZeroTuple-int-">ADictionary</a></code></span></div>
 <div class="block">Determines if the content has a zero tuple. meaning all values at a specific row are zero value. This is useful
  information to find out if the dictionary is used in a dense context. To improve some specific operations.</div>
@@ -411,7 +456,7 @@
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#hasZeroTuple-int-">hasZeroTuple</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>ncol</code> - The number of columns in the dictionary.</dd>
+<dd><code>nCol</code> - The number of columns in the dictionary.</dd>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>The index at which the zero tuple is located.</dd>
 </dl>
@@ -439,6 +484,27 @@
 </dl>
 </li>
 </ul>
+<a name="aggregateTuples-org.apache.sysds.runtime.functionobjects.Builtin-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>aggregateTuples</h4>
+<pre>public&nbsp;double[]&nbsp;aggregateTuples(<a href="../../../../../../org/apache/sysds/runtime/functionobjects/Builtin.html" title="class in org.apache.sysds.runtime.functionobjects">Builtin</a>&nbsp;fn,
+                                int&nbsp;nCol)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#aggregateTuples-org.apache.sysds.runtime.functionobjects.Builtin-int-">ADictionary</a></code></span></div>
+<div class="block">Aggregate all entries in the rows.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#aggregateTuples-org.apache.sysds.runtime.functionobjects.Builtin-int-">aggregateTuples</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>fn</code> - The aggregate function</dd>
+<dd><code>nCol</code> - The number of columns contained in the dictionary.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Aggregates for this dictionary tuples.</dd>
+</dl>
+</li>
+</ul>
 <a name="apply-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">
 <!--   -->
 </a>
@@ -483,34 +549,50 @@
 </dl>
 </li>
 </ul>
-<a name="applyBinaryRowOp-org.apache.sysds.runtime.functionobjects.ValueFunction-double:A-boolean-int:A-">
+<a name="applyBinaryRowOpRight-org.apache.sysds.runtime.functionobjects.ValueFunction-double:A-boolean-int:A-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>applyBinaryRowOp</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">QDictionary</a>&nbsp;applyBinaryRowOp(<a href="../../../../../../org/apache/sysds/runtime/functionobjects/ValueFunction.html" title="class in org.apache.sysds.runtime.functionobjects">ValueFunction</a>&nbsp;fn,
-                                    double[]&nbsp;v,
-                                    boolean&nbsp;sparseSafe,
-                                    int[]&nbsp;colIndexes)</pre>
+<h4>applyBinaryRowOpRight</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">QDictionary</a>&nbsp;applyBinaryRowOpRight(<a href="../../../../../../org/apache/sysds/runtime/functionobjects/ValueFunction.html" title="class in org.apache.sysds.runtime.functionobjects">ValueFunction</a>&nbsp;fn,
+                                         double[]&nbsp;v,
+                                         boolean&nbsp;sparseSafe,
+                                         int[]&nbsp;colIndexes)</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#applyBinaryRowOp-org.apache.sysds.runtime.functionobjects.ValueFunction-double:A-boolean-int:A-">applyBinaryRowOp</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#applyBinaryRowOpRight-org.apache.sysds.runtime.functionobjects.ValueFunction-double:A-boolean-int:A-">applyBinaryRowOpRight</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></code></dd>
 </dl>
 </li>
 </ul>
-<a name="getValuesLength--">
+<a name="applyBinaryRowOpLeft-org.apache.sysds.runtime.functionobjects.ValueFunction-double:A-boolean-int:A-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getValuesLength</h4>
-<pre>public&nbsp;int&nbsp;getValuesLength()</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#getValuesLength--">ADictionary</a></code></span></div>
+<h4>applyBinaryRowOpLeft</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">QDictionary</a>&nbsp;applyBinaryRowOpLeft(<a href="../../../../../../org/apache/sysds/runtime/functionobjects/ValueFunction.html" title="class in org.apache.sysds.runtime.functionobjects">ValueFunction</a>&nbsp;fn,
+                                        double[]&nbsp;v,
+                                        boolean&nbsp;sparseSafe,
+                                        int[]&nbsp;colIndexes)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#applyBinaryRowOpLeft-org.apache.sysds.runtime.functionobjects.ValueFunction-double:A-boolean-int:A-">applyBinaryRowOpLeft</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="size--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>size</h4>
+<pre>public&nbsp;int&nbsp;size()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#size--">ADictionary</a></code></span></div>
 <div class="block">returns the count of values contained in the dictionary.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#getValuesLength--">getValuesLength</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#size--">size</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></code></dd>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>an integer of count of values.</dd>
 </dl>
@@ -531,6 +613,19 @@
 </dl>
 </li>
 </ul>
+<a name="cloneAndExtend-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>cloneAndExtend</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">QDictionary</a>&nbsp;cloneAndExtend(int&nbsp;len)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#cloneAndExtend-int-">cloneAndExtend</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></code></dd>
+</dl>
+</li>
+</ul>
 <a name="read-java.io.DataInput-">
 <!--   -->
 </a>
@@ -604,7 +699,7 @@
 <a name="getString-java.lang.StringBuilder-int-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>getString</h4>
 <pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/StringBuilder.html?is-external=true" title="class or interface in java.lang">StringBuilder</a>&nbsp;getString(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/StringBuilder.html?is-external=true" title="class or interface in java.lang">StringBuilder</a>&nbsp;sb,
@@ -615,6 +710,84 @@
 </dl>
 </li>
 </ul>
+<a name="makeDoubleDictionary--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>makeDoubleDictionary</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">Dictionary</a>&nbsp;makeDoubleDictionary()</pre>
+</li>
+</ul>
+<a name="sliceOutColumnRange-int-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>sliceOutColumnRange</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a>&nbsp;sliceOutColumnRange(int&nbsp;idxStart,
+                                       int&nbsp;idxEnd,
+                                       int&nbsp;previousNumberOfColumns)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#sliceOutColumnRange-int-int-int-">ADictionary</a></code></span></div>
+<div class="block">Modify the dictionary by removing columns not within the index range.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#sliceOutColumnRange-int-int-int-">sliceOutColumnRange</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>idxStart</code> - The column index to start at.</dd>
+<dd><code>idxEnd</code> - The column index to end at (not inclusive)</dd>
+<dd><code>previousNumberOfColumns</code> - The number of columns contained in the dictionary.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>A dictionary containing the sliced out columns values only.</dd>
+</dl>
+</li>
+</ul>
+<a name="reExpandColumns-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>reExpandColumns</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a>&nbsp;reExpandColumns(int&nbsp;max)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#reExpandColumns-int-">ADictionary</a></code></span></div>
+<div class="block">return a new Dictionary that have re expanded all values, based on the entries already contained.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#reExpandColumns-int-">reExpandColumns</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>max</code> - The number of output columns possible.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The re expanded Dictionary.</dd>
+</dl>
+</li>
+</ul>
+<a name="containsValue-double-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>containsValue</h4>
+<pre>public&nbsp;boolean&nbsp;containsValue(double&nbsp;pattern)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#containsValue-double-">containsValue</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getNumberNonZeros-int:A-int-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getNumberNonZeros</h4>
+<pre>public&nbsp;long&nbsp;getNumberNonZeros(int[]&nbsp;counts,
+                              int&nbsp;nCol)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#getNumberNonZeros-int:A-int-">getNumberNonZeros</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></code></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>
@@ -644,7 +817,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/SparseRowIterator.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/QDictionary.html" target="_top">Frames</a></li>
@@ -684,6 +857,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/AColGroup.ColGroupType.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/AColGroup.ColGroupType.html
new file mode 100644
index 0000000..7e8c83b
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/AColGroup.ColGroupType.html
@@ -0,0 +1,256 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.sysds.runtime.compress.colgroup.AColGroup.ColGroupType (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.sysds.runtime.compress.colgroup.AColGroup.ColGroupType (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/class-use/AColGroup.ColGroupType.html" target="_top">Frames</a></li>
+<li><a href="AColGroup.ColGroupType.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.sysds.runtime.compress.colgroup.AColGroup.ColGroupType" class="title">Uses of Class<br>org.apache.sysds.runtime.compress.colgroup.AColGroup.ColGroupType</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.ColGroupType</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.compress">org.apache.sysds.runtime.compress</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.compress.colgroup">org.apache.sysds.runtime.compress.colgroup</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.sysds.runtime.compress">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.ColGroupType</a> in <a href="../../../../../../../org/apache/sysds/runtime/compress/package-summary.html">org.apache.sysds.runtime.compress</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/compress/package-summary.html">org.apache.sysds.runtime.compress</a> that return types with arguments of type <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.ColGroupType</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.ColGroupType</a>,int[]&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">CompressionStatistics.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressionStatistics.html#getColGroups--">getColGroups</a></span>()</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.sysds.runtime.compress.colgroup">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.ColGroupType</a> in <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a> that return <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.ColGroupType</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.ColGroupType</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupRLE.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#getColGroupType--">getColGroupType</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.ColGroupType</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupEmpty.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html#getColGroupType--">getColGroupType</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.ColGroupType</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupConst.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#getColGroupType--">getColGroupType</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.ColGroupType</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupSDCZeros.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#getColGroupType--">getColGroupType</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.ColGroupType</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupDDC.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#getColGroupType--">getColGroupType</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.ColGroupType</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupSDCSingle.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html#getColGroupType--">getColGroupType</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.ColGroupType</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupSDC.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html#getColGroupType--">getColGroupType</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.ColGroupType</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupUncompressed.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#getColGroupType--">getColGroupType</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>abstract <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.ColGroupType</a></code></td>
+<td class="colLast"><span class="typeNameLabel">AColGroup.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getColGroupType--">getColGroupType</a></span>()</code>
+<div class="block">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.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.ColGroupType</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupSDCSingleZeros.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html#getColGroupType--">getColGroupType</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.ColGroupType</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupOLE.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#getColGroupType--">getColGroupType</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.ColGroupType</a></code></td>
+<td class="colLast"><span class="typeNameLabel">AColGroup.ColGroupType.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html#valueOf-java.lang.String-">valueOf</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
+<div class="block">Returns the enum constant of this type with the specified name.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.ColGroupType</a>[]</code></td>
+<td class="colLast"><span class="typeNameLabel">AColGroup.ColGroupType.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html#values--">values</a></span>()</code>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a> with parameters of type <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.ColGroupType</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a></code></td>
+<td class="colLast"><span class="typeNameLabel">AColGroup.ColGroupType.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html#getSuperType-org.apache.sysds.runtime.compress.colgroup.AColGroup.ColGroupType-">getSuperType</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.ColGroupType</a>&nbsp;c)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/class-use/AColGroup.ColGroupType.html" target="_top">Frames</a></li>
+<li><a href="AColGroup.ColGroupType.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/ColGroup.CompressionType.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/AColGroup.CompressionType.html
similarity index 61%
rename from docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/ColGroup.CompressionType.html
rename to docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/AColGroup.CompressionType.html
index b26d89c..5e94459 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/ColGroup.CompressionType.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/AColGroup.CompressionType.html
@@ -4,7 +4,7 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.sysds.runtime.compress.colgroup.ColGroup.CompressionType (SystemDS 2.1.0-SNAPSHOT API)</title>
+<title>Uses of Class org.apache.sysds.runtime.compress.colgroup.AColGroup.CompressionType (SystemDS 2.1.0-SNAPSHOT API)</title>
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.sysds.runtime.compress.colgroup.ColGroup.CompressionType (SystemDS 2.1.0-SNAPSHOT API)";
+            parent.document.title="Uses of Class org.apache.sysds.runtime.compress.colgroup.AColGroup.CompressionType (SystemDS 2.1.0-SNAPSHOT API)";
         }
     }
     catch(err) {
@@ -33,7 +33,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">Class</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -47,8 +47,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/class-use/ColGroup.CompressionType.html" target="_top">Frames</a></li>
-<li><a href="ColGroup.CompressionType.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/class-use/AColGroup.CompressionType.html" target="_top">Frames</a></li>
+<li><a href="AColGroup.CompressionType.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -70,13 +70,13 @@
 </a></div>
 <!-- ========= END OF TOP NAVBAR ========= -->
 <div class="header">
-<h2 title="Uses of Class org.apache.sysds.runtime.compress.colgroup.ColGroup.CompressionType" class="title">Uses of Class<br>org.apache.sysds.runtime.compress.colgroup.ColGroup.CompressionType</h2>
+<h2 title="Uses of Class org.apache.sysds.runtime.compress.colgroup.AColGroup.CompressionType" class="title">Uses of Class<br>org.apache.sysds.runtime.compress.colgroup.AColGroup.CompressionType</h2>
 </div>
 <div class="classUseContainer">
 <ul class="blockList">
 <li class="blockList">
 <table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
-<caption><span>Packages that use <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a></span><span class="tabEnd">&nbsp;</span></caption>
+<caption><span>Packages that use <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a></span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
 <th class="colFirst" scope="col">Package</th>
 <th class="colLast" scope="col">Description</th>
@@ -102,16 +102,16 @@
 <li class="blockList"><a name="org.apache.sysds.runtime.compress">
 <!--   -->
 </a>
-<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a> in <a href="../../../../../../../org/apache/sysds/runtime/compress/package-summary.html">org.apache.sysds.runtime.compress</a></h3>
+<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a> in <a href="../../../../../../../org/apache/sysds/runtime/compress/package-summary.html">org.apache.sysds.runtime.compress</a></h3>
 <table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing fields, and an explanation">
-<caption><span>Fields in <a href="../../../../../../../org/apache/sysds/runtime/compress/package-summary.html">org.apache.sysds.runtime.compress</a> with type parameters of type <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a></span><span class="tabEnd">&nbsp;</span></caption>
+<caption><span>Fields in <a href="../../../../../../../org/apache/sysds/runtime/compress/package-summary.html">org.apache.sysds.runtime.compress</a> with type parameters of type <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a></span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
 <th class="colLast" scope="col">Field and Description</th>
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/EnumSet.html?is-external=true" title="class or interface in java.util">EnumSet</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>&gt;</code></td>
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/EnumSet.html?is-external=true" title="class or interface in java.util">EnumSet</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">CompressionSettings.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html#validCompressions">validCompressions</a></span></code>
 <div class="block">Valid Compressions List, containing the ColGroup CompressionTypes that are allowed to be used for the compression
  Default is to always allow for Uncompromisable ColGroup.</div>
@@ -120,20 +120,7 @@
 </tbody>
 </table>
 <table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/compress/package-summary.html">org.apache.sysds.runtime.compress</a> that return types with arguments of type <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>,int[]&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">CompressionStatistics.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressionStatistics.html#getColGroups--">getColGroups</a></span>()</code>&nbsp;</td>
-</tr>
-</tbody>
-</table>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/compress/package-summary.html">org.apache.sysds.runtime.compress</a> with parameters of type <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a></span><span class="tabEnd">&nbsp;</span></caption>
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/compress/package-summary.html">org.apache.sysds.runtime.compress</a> with parameters of type <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a></span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
 <th class="colLast" scope="col">Method and Description</th>
@@ -141,14 +128,14 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html" title="class in org.apache.sysds.runtime.compress">CompressionSettingsBuilder</a></code></td>
-<td class="colLast"><span class="typeNameLabel">CompressionSettingsBuilder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html#addValidCompression-org.apache.sysds.runtime.compress.colgroup.ColGroup.CompressionType-">addValidCompression</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>&nbsp;cp)</code>
+<td class="colLast"><span class="typeNameLabel">CompressionSettingsBuilder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html#addValidCompression-org.apache.sysds.runtime.compress.colgroup.AColGroup.CompressionType-">addValidCompression</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a>&nbsp;cp)</code>
 <div class="block">Add a single valid compression type to the EnumSet of valid compressions.</div>
 </td>
 </tr>
 </tbody>
 </table>
 <table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Method parameters in <a href="../../../../../../../org/apache/sysds/runtime/compress/package-summary.html">org.apache.sysds.runtime.compress</a> with type arguments of type <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a></span><span class="tabEnd">&nbsp;</span></caption>
+<caption><span>Method parameters in <a href="../../../../../../../org/apache/sysds/runtime/compress/package-summary.html">org.apache.sysds.runtime.compress</a> with type arguments of type <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a></span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
 <th class="colLast" scope="col">Method and Description</th>
@@ -156,7 +143,7 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html" title="class in org.apache.sysds.runtime.compress">CompressionSettingsBuilder</a></code></td>
-<td class="colLast"><span class="typeNameLabel">CompressionSettingsBuilder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html#setValidCompressions-java.util.EnumSet-">setValidCompressions</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/EnumSet.html?is-external=true" title="class or interface in java.util">EnumSet</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>&gt;&nbsp;validCompressions)</code>
+<td class="colLast"><span class="typeNameLabel">CompressionSettingsBuilder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html#setValidCompressions-java.util.EnumSet-">setValidCompressions</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/EnumSet.html?is-external=true" title="class or interface in java.util">EnumSet</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a>&gt;&nbsp;validCompressions)</code>
 <div class="block">Set the valid compression strategies used for the compression.</div>
 </td>
 </tr>
@@ -166,49 +153,73 @@
 <li class="blockList"><a name="org.apache.sysds.runtime.compress.colgroup">
 <!--   -->
 </a>
-<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a> in <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a></h3>
+<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a> in <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a></h3>
 <table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a> that return <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a></span><span class="tabEnd">&nbsp;</span></caption>
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a> that return <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a></span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a></code></td>
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a></code></td>
 <td class="colLast"><span class="typeNameLabel">ColGroupRLE.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#getCompType--">getCompType</a></span>()</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a></code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupConst.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#getCompType--">getCompType</a></span>()</code>&nbsp;</td>
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupEmpty.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html#getCompType--">getCompType</a></span>()</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a></code></td>
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupConst.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#getCompType--">getCompType</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupSDCZeros.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#getCompType--">getCompType</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a></code></td>
 <td class="colLast"><span class="typeNameLabel">ColGroupDDC.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#getCompType--">getCompType</a></span>()</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>abstract <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a></code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroup.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getCompType--">getCompType</a></span>()</code>
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupSDCSingle.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html#getCompType--">getCompType</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupSDC.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html#getCompType--">getCompType</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupUncompressed.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#getCompType--">getCompType</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>abstract <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a></code></td>
+<td class="colLast"><span class="typeNameLabel">AColGroup.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getCompType--">getCompType</a></span>()</code>
 <div class="block">Obtain the compression type.</div>
 </td>
 </tr>
-<tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a></code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupUncompressed.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#getCompType--">getCompType</a></span>()</code>&nbsp;</td>
-</tr>
 <tr class="rowColor">
-<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a></code></td>
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupSDCSingleZeros.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html#getCompType--">getCompType</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a></code></td>
 <td class="colLast"><span class="typeNameLabel">ColGroupOLE.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#getCompType--">getCompType</a></span>()</code>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a></code></td>
+<td class="colLast"><span class="typeNameLabel">AColGroup.ColGroupType.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html#getSuperType-org.apache.sysds.runtime.compress.colgroup.AColGroup.ColGroupType-">getSuperType</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.ColGroupType</a>&nbsp;c)</code>&nbsp;</td>
+</tr>
 <tr class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a></code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroup.CompressionType.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html#valueOf-java.lang.String-">valueOf</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a></code></td>
+<td class="colLast"><span class="typeNameLabel">AColGroup.CompressionType.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html#valueOf-java.lang.String-">valueOf</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
 <div class="block">Returns the enum constant of this type with the specified name.</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>[]</code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroup.CompressionType.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html#values--">values</a></span>()</code>
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a>[]</code></td>
+<td class="colLast"><span class="typeNameLabel">AColGroup.CompressionType.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html#values--">values</a></span>()</code>
 <div class="block">Returns an array containing the constants of this enum type, in
 the order they are declared.</div>
 </td>
@@ -216,18 +227,18 @@
 </tbody>
 </table>
 <table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a> with parameters of type <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a></span><span class="tabEnd">&nbsp;</span></caption>
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a> with parameters of type <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a></span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupFactory.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupFactory.html#compress-int:A-int-org.apache.sysds.runtime.compress.utils.ABitmap-org.apache.sysds.runtime.compress.colgroup.ColGroup.CompressionType-org.apache.sysds.runtime.compress.CompressionSettings-org.apache.sysds.runtime.matrix.data.MatrixBlock-">compress</a></span>(int[]&nbsp;colIndexes,
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupFactory.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupFactory.html#compress-int:A-int-org.apache.sysds.runtime.compress.utils.ABitmap-org.apache.sysds.runtime.compress.colgroup.AColGroup.CompressionType-org.apache.sysds.runtime.compress.CompressionSettings-org.apache.sysds.runtime.matrix.data.MatrixBlock-">compress</a></span>(int[]&nbsp;colIndexes,
         int&nbsp;rlen,
         <a href="../../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils">ABitmap</a>&nbsp;ubm,
-        <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>&nbsp;compType,
+        <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a>&nbsp;compType,
         <a href="../../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;cs,
         <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;rawMatrixBlock)</code>
 <div class="block">Method for compressing an ColGroup.</div>
@@ -239,35 +250,35 @@
 <li class="blockList"><a name="org.apache.sysds.runtime.compress.estim">
 <!--   -->
 </a>
-<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a> in <a href="../../../../../../../org/apache/sysds/runtime/compress/estim/package-summary.html">org.apache.sysds.runtime.compress.estim</a></h3>
+<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a> in <a href="../../../../../../../org/apache/sysds/runtime/compress/estim/package-summary.html">org.apache.sysds.runtime.compress.estim</a></h3>
 <table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/compress/estim/package-summary.html">org.apache.sysds.runtime.compress.estim</a> that return <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a></span><span class="tabEnd">&nbsp;</span></caption>
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/compress/estim/package-summary.html">org.apache.sysds.runtime.compress.estim</a> that return <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a></span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a></code></td>
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a></code></td>
 <td class="colLast"><span class="typeNameLabel">CompressedSizeInfoColGroup.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfoColGroup.html#getBestCompressionType--">getBestCompressionType</a></span>()</code>&nbsp;</td>
 </tr>
 </tbody>
 </table>
 <table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/compress/estim/package-summary.html">org.apache.sysds.runtime.compress.estim</a> that return types with arguments of type <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a></span><span class="tabEnd">&nbsp;</span></caption>
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/compress/estim/package-summary.html">org.apache.sysds.runtime.compress.estim</a> that return types with arguments of type <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a></span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;</code></td>
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">CompressedSizeInfoColGroup.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfoColGroup.html#getAllCompressionSizes--">getAllCompressionSizes</a></span>()</code>&nbsp;</td>
 </tr>
 </tbody>
 </table>
 <table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/compress/estim/package-summary.html">org.apache.sysds.runtime.compress.estim</a> with parameters of type <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a></span><span class="tabEnd">&nbsp;</span></caption>
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/compress/estim/package-summary.html">org.apache.sysds.runtime.compress.estim</a> with parameters of type <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a></span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
 <th class="colLast" scope="col">Method and Description</th>
@@ -275,19 +286,19 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>long</code></td>
-<td class="colLast"><span class="typeNameLabel">CompressedSizeInfoColGroup.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfoColGroup.html#getCompressionSize-org.apache.sysds.runtime.compress.colgroup.ColGroup.CompressionType-">getCompressionSize</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>&nbsp;ct)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">CompressedSizeInfoColGroup.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfoColGroup.html#getCompressionSize-org.apache.sysds.runtime.compress.colgroup.AColGroup.CompressionType-">getCompressionSize</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a>&nbsp;ct)</code>&nbsp;</td>
 </tr>
 </tbody>
 </table>
 <table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
-<caption><span>Constructor parameters in <a href="../../../../../../../org/apache/sysds/runtime/compress/estim/package-summary.html">org.apache.sysds.runtime.compress.estim</a> with type arguments of type <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a></span><span class="tabEnd">&nbsp;</span></caption>
+<caption><span>Constructor parameters in <a href="../../../../../../../org/apache/sysds/runtime/compress/estim/package-summary.html">org.apache.sysds.runtime.compress.estim</a> with type arguments of type <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a></span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
 <th class="colOne" scope="col">Constructor and Description</th>
 </tr>
 <tbody>
 <tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfoColGroup.html#CompressedSizeInfoColGroup-org.apache.sysds.runtime.compress.estim.EstimationFactors-java.util.Set-">CompressedSizeInfoColGroup</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/estim/EstimationFactors.html" title="class in org.apache.sysds.runtime.compress.estim">EstimationFactors</a>&nbsp;fact,
-                          <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>&gt;&nbsp;validCompressionTypes)</code>&nbsp;</td>
+                          <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a>&gt;&nbsp;validCompressionTypes)</code>&nbsp;</td>
 </tr>
 </tbody>
 </table>
@@ -307,7 +318,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">Class</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -321,8 +332,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/class-use/ColGroup.CompressionType.html" target="_top">Frames</a></li>
-<li><a href="ColGroup.CompressionType.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/class-use/AColGroup.CompressionType.html" target="_top">Frames</a></li>
+<li><a href="AColGroup.CompressionType.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -343,6 +354,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/AColGroup.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/AColGroup.html
new file mode 100644
index 0000000..76eeff0
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/AColGroup.html
@@ -0,0 +1,592 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.sysds.runtime.compress.colgroup.AColGroup (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.sysds.runtime.compress.colgroup.AColGroup (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/class-use/AColGroup.html" target="_top">Frames</a></li>
+<li><a href="AColGroup.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.sysds.runtime.compress.colgroup.AColGroup" class="title">Uses of Class<br>org.apache.sysds.runtime.compress.colgroup.AColGroup</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.compress">org.apache.sysds.runtime.compress</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.compress.colgroup">org.apache.sysds.runtime.compress.colgroup</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.compress.lib">org.apache.sysds.runtime.compress.lib</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.sysds.runtime.compress">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a> in <a href="../../../../../../../org/apache/sysds/runtime/compress/package-summary.html">org.apache.sysds.runtime.compress</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/compress/package-summary.html">org.apache.sysds.runtime.compress</a> that return types with arguments of type <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#getColGroups--">getColGroups</a></span>()</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/compress/package-summary.html">org.apache.sysds.runtime.compress</a> with parameters of type <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#allocateColGroup-org.apache.sysds.runtime.compress.colgroup.AColGroup-">allocateColGroup</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a>&nbsp;cg)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Method parameters in <a href="../../../../../../../org/apache/sysds/runtime/compress/package-summary.html">org.apache.sysds.runtime.compress</a> with type arguments of type <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#allocateColGroupList-java.util.List-">allocateColGroupList</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a>&gt;&nbsp;colGroups)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">CompressionStatistics.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressionStatistics.html#setColGroupsCounts-java.util.List-">setColGroupsCounts</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a>&gt;&nbsp;colGroups)</code>
+<div class="block">Set array of counts regarding col group types.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.sysds.runtime.compress.colgroup">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a> in <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subclasses, and an explanation">
+<caption><span>Subclasses of <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a> in <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupConst</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a></span></code>
+<div class="block">Class to encapsulate information about a column group that is encoded with dense dictionary encoding (DDC).</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupEmpty</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOffset</a></span></code>
+<div class="block">Base class for column groups encoded with various types of bitmap encoding.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOLE</a></span></code>
+<div class="block">Class to encapsulate information about a column group that is encoded with simple lists of offsets for each set of
+ distinct values.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupRLE</a></span></code>
+<div class="block">A group of columns compressed with a single run-length encoded bitmap.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDC</a></span></code>
+<div class="block">Column group that sparsely encodes the dictionary values.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingle</a></span></code>
+<div class="block">Column group that sparsely encodes the dictionary values.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingleZeros</a></span></code>
+<div class="block">Column group that sparsely encodes the dictionary values.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCZeros</a></span></code>
+<div class="block">Column group that sparsely encodes the dictionary values.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupUncompressed</a></span></code>
+<div class="block">Column group type for columns that are stored as dense arrays of doubles.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></span></code>
+<div class="block">Base class for column groups encoded with value dictionary.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a> that return <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupRLE.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-boolean-">binaryRowOp</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
+           double[]&nbsp;v,
+           boolean&nbsp;sparseSafe,
+           boolean&nbsp;left)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupEmpty.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-boolean-">binaryRowOp</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
+           double[]&nbsp;v,
+           boolean&nbsp;sparseSafe,
+           boolean&nbsp;left)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupConst.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-boolean-">binaryRowOp</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
+           double[]&nbsp;v,
+           boolean&nbsp;sparseSafe,
+           boolean&nbsp;left)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupSDCZeros.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-boolean-">binaryRowOp</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
+           double[]&nbsp;v,
+           boolean&nbsp;sparseSafe,
+           boolean&nbsp;left)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupDDC.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-boolean-">binaryRowOp</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
+           double[]&nbsp;v,
+           boolean&nbsp;sparseSafe,
+           boolean&nbsp;left)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupSDCSingle.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-boolean-">binaryRowOp</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
+           double[]&nbsp;v,
+           boolean&nbsp;sparseSafe,
+           boolean&nbsp;left)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupSDC.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-boolean-">binaryRowOp</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
+           double[]&nbsp;v,
+           boolean&nbsp;sparseSafe,
+           boolean&nbsp;left)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupUncompressed.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-boolean-">binaryRowOp</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
+           double[]&nbsp;v,
+           boolean&nbsp;sparseSafe,
+           boolean&nbsp;left)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>abstract <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></td>
+<td class="colLast"><span class="typeNameLabel">AColGroup.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-boolean-">binaryRowOp</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
+           double[]&nbsp;v,
+           boolean&nbsp;sparseSafe,
+           boolean&nbsp;left)</code>
+<div class="block">Perform a binary row operation.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupSDCSingleZeros.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-boolean-">binaryRowOp</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
+           double[]&nbsp;v,
+           boolean&nbsp;sparseSafe,
+           boolean&nbsp;left)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupOLE.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-boolean-">binaryRowOp</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
+           double[]&nbsp;v,
+           boolean&nbsp;sparseSafe,
+           boolean&nbsp;left)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupFactory.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupFactory.html#compress-int:A-int-org.apache.sysds.runtime.compress.utils.ABitmap-org.apache.sysds.runtime.compress.colgroup.AColGroup.CompressionType-org.apache.sysds.runtime.compress.CompressionSettings-org.apache.sysds.runtime.matrix.data.MatrixBlock-">compress</a></span>(int[]&nbsp;colIndexes,
+        int&nbsp;rlen,
+        <a href="../../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils">ABitmap</a>&nbsp;ubm,
+        <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a>&nbsp;compType,
+        <a href="../../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;cs,
+        <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;rawMatrixBlock)</code>
+<div class="block">Method for compressing an ColGroup.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a>[]</code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupFactory.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupFactory.html#compressColGroups-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.compress.estim.CompressedSizeInfo-org.apache.sysds.runtime.compress.CompressionSettings-int-">compressColGroups</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;in,
+                 <a href="../../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfo</a>&nbsp;csi,
+                 <a href="../../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;compSettings,
+                 int&nbsp;k)</code>
+<div class="block">The actual compression method, that handles the logic of compressing multiple columns together.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupUncompressed.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#copy--">copy</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>abstract <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></td>
+<td class="colLast"><span class="typeNameLabel">AColGroup.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#copy--">copy</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupValue.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#copyAndSet-int:A-org.apache.sysds.runtime.compress.colgroup.ADictionary-">copyAndSet</a></span>(int[]&nbsp;colIndexes,
+          <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a>&nbsp;newDictionary)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupValue.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#copyAndSet-int:A-double:A-">copyAndSet</a></span>(int[]&nbsp;colIndexes,
+          double[]&nbsp;newDictionary)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupRLE.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">scalarOperation</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupEmpty.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">scalarOperation</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupConst.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">scalarOperation</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupSDCZeros.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">scalarOperation</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupDDC.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">scalarOperation</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupSDCSingle.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">scalarOperation</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupSDC.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">scalarOperation</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupUncompressed.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">scalarOperation</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>abstract <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></td>
+<td class="colLast"><span class="typeNameLabel">AColGroup.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">scalarOperation</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op)</code>
+<div class="block">Perform the specified scalar operation directly on the compressed column group, without decompressing individual
+ cells if possible.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupSDCSingleZeros.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">scalarOperation</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupOLE.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">scalarOperation</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupUncompressed.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#sliceColumns-int-int-">sliceColumns</a></span>(int&nbsp;cl,
+            int&nbsp;cu)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>abstract <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></td>
+<td class="colLast"><span class="typeNameLabel">AColGroup.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#sliceColumns-int-int-">sliceColumns</a></span>(int&nbsp;cl,
+            int&nbsp;cu)</code>
+<div class="block">Slice out the columns within the range of cl and cu to remove the dictionary values related to these columns.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupValue.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#sliceColumns-int-int-">sliceColumns</a></span>(int&nbsp;cl,
+            int&nbsp;cu)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a> that return types with arguments of type <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupIO.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupIO.html#readGroups-java.io.DataInput-">readGroups</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a>&nbsp;in)</code>
+<div class="block">Read groups from a file.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a> with parameters of type <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupConverter.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConverter.html#getUncompressedColBlock-org.apache.sysds.runtime.compress.colgroup.AColGroup-">getUncompressedColBlock</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a>&nbsp;group)</code>
+<div class="block">Extracts the Uncompressed MatrixBlock representation of a Col Group</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Method parameters in <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a> with type arguments of type <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><span class="typeNameLabel">AColGroup.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToArray-double:A-int-java.util.List-">decompressColumnToArray</a></span>(double[]&nbsp;target,
+                       int&nbsp;colIndex,
+                       <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a>&gt;&nbsp;colGroups)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><span class="typeNameLabel">AColGroup.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-double:A-int-int-int-java.util.List-">decompressColumnToBlock</a></span>(double[]&nbsp;target,
+                       int&nbsp;colIndex,
+                       int&nbsp;rl,
+                       int&nbsp;ru,
+                       <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a>&gt;&nbsp;colGroups)</code>
+<div class="block">Decompress part of the col groups into the target dense double array.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><span class="typeNameLabel">AColGroup.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-java.util.List-">decompressColumnToBlock</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                       int&nbsp;colIndex,
+                       int&nbsp;rl,
+                       int&nbsp;ru,
+                       <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a>&gt;&nbsp;colGroups)</code>
+<div class="block">Decompress part of the col groups into the target matrix block, this decompression maintain the number of non
+ zeros.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><span class="typeNameLabel">AColGroup.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-java.util.List-">decompressColumnToBlock</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                       int&nbsp;colIndex,
+                       <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a>&gt;&nbsp;colGroups)</code>
+<div class="block">Decompress an entire column into the target matrix block.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><span class="typeNameLabel">AColGroup.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlockUnSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-java.util.List-">decompressColumnToBlockUnSafe</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                             int&nbsp;rl,
+                             int&nbsp;ru,
+                             <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a>&gt;&nbsp;colGroups)</code>
+<div class="block">Decompress part of the col groups into the target matrix block, this decompression maintain the number of non
+ zeros.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupIO.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupIO.html#writeGroups-java.io.DataOutput-java.util.List-">writeGroups</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataOutput.html?is-external=true" title="class or interface in java.io">DataOutput</a>&nbsp;out,
+           <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a>&gt;&nbsp;colGroups)</code>
+<div class="block">Writes the ColGroups out to the DataOutput.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.sysds.runtime.compress.lib">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a> in <a href="../../../../../../../org/apache/sysds/runtime/compress/lib/package-summary.html">org.apache.sysds.runtime.compress.lib</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Method parameters in <a href="../../../../../../../org/apache/sysds/runtime/compress/lib/package-summary.html">org.apache.sysds.runtime.compress.lib</a> with type arguments of type <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><span class="typeNameLabel">CLALibLeftMultBy.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/CLALibLeftMultBy.html#leftMultByTransposeSelf-java.util.List-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-org.apache.commons.lang3.tuple.Pair-boolean-">leftMultByTransposeSelf</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a>&gt;&nbsp;groups,
+                       <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result,
+                       int&nbsp;k,
+                       int&nbsp;numColumns,
+                       org.apache.commons.lang3.tuple.Pair&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,int[]&gt;&nbsp;v,
+                       boolean&nbsp;overlapping)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/class-use/AColGroup.html" target="_top">Frames</a></li>
+<li><a href="AColGroup.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/ADictionary.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/ADictionary.html
index 9ec1871..f18e47c 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/ADictionary.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/ADictionary.html
@@ -132,13 +132,37 @@
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>abstract <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></code></td>
-<td class="colLast"><span class="typeNameLabel">ADictionary.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#applyBinaryRowOp-org.apache.sysds.runtime.functionobjects.ValueFunction-double:A-boolean-int:A-">applyBinaryRowOp</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/functionobjects/ValueFunction.html" title="class in org.apache.sysds.runtime.functionobjects">ValueFunction</a>&nbsp;fn,
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupValue.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#applyBinaryRowOp-org.apache.sysds.runtime.functionobjects.ValueFunction-double:A-boolean-boolean-">applyBinaryRowOp</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/functionobjects/ValueFunction.html" title="class in org.apache.sysds.runtime.functionobjects">ValueFunction</a>&nbsp;fn,
                 double[]&nbsp;v,
                 boolean&nbsp;sparseSafe,
-                int[]&nbsp;colIndexes)</code>&nbsp;</td>
+                boolean&nbsp;left)</code>
+<div class="block">Apply the binary row-wise operator to the dictionary, and copy it appropriately if needed.</div>
+</td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ADictionary.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#applyBinaryRowOp-org.apache.sysds.runtime.functionobjects.ValueFunction-double:A-boolean-int:A-boolean-">applyBinaryRowOp</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/functionobjects/ValueFunction.html" title="class in org.apache.sysds.runtime.functionobjects">ValueFunction</a>&nbsp;fn,
+                double[]&nbsp;v,
+                boolean&nbsp;sparseSafe,
+                int[]&nbsp;colIndexes,
+                boolean&nbsp;left)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>abstract <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ADictionary.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#applyBinaryRowOpLeft-org.apache.sysds.runtime.functionobjects.ValueFunction-double:A-boolean-int:A-">applyBinaryRowOpLeft</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/functionobjects/ValueFunction.html" title="class in org.apache.sysds.runtime.functionobjects">ValueFunction</a>&nbsp;fn,
+                    double[]&nbsp;v,
+                    boolean&nbsp;sparseSafe,
+                    int[]&nbsp;colIndexes)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>abstract <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ADictionary.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#applyBinaryRowOpRight-org.apache.sysds.runtime.functionobjects.ValueFunction-double:A-boolean-int:A-">applyBinaryRowOpRight</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/functionobjects/ValueFunction.html" title="class in org.apache.sysds.runtime.functionobjects">ValueFunction</a>&nbsp;fn,
+                     double[]&nbsp;v,
+                     boolean&nbsp;sparseSafe,
+                     int[]&nbsp;colIndexes)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code>abstract <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></code></td>
 <td class="colLast"><span class="typeNameLabel">ADictionary.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#applyScalarOp-org.apache.sysds.runtime.matrix.operators.ScalarOperator-double-int-">applyScalarOp</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op,
              double&nbsp;newVal,
@@ -146,12 +170,16 @@
 <div class="block">Applies the scalar operation on the dictionary.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>abstract <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></code></td>
 <td class="colLast"><span class="typeNameLabel">ADictionary.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#clone--">clone</a></span>()</code>
 <div class="block">Returns a deep clone of the dictionary.</div>
 </td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code>abstract <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ADictionary.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#cloneAndExtend-int-">cloneAndExtend</a></span>(int&nbsp;len)</code>&nbsp;</td>
+</tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></code></td>
 <td class="colLast"><span class="typeNameLabel">ColGroupValue.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getDictionary--">getDictionary</a></span>()</code>&nbsp;</td>
@@ -163,6 +191,54 @@
 <div class="block">The read function to instantiate the dictionary.</div>
 </td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><code>abstract <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ADictionary.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#reExpandColumns-int-">reExpandColumns</a></span>(int&nbsp;max)</code>
+<div class="block">return a new Dictionary that have re expanded all values, based on the entries already contained.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></code></td>
+<td class="colLast"><span class="typeNameLabel">Dictionary.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html#reExpandColumns-int-">reExpandColumns</a></span>(int&nbsp;max)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></code></td>
+<td class="colLast"><span class="typeNameLabel">QDictionary.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html#reExpandColumns-int-">reExpandColumns</a></span>(int&nbsp;max)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>abstract <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ADictionary.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#sliceOutColumnRange-int-int-int-">sliceOutColumnRange</a></span>(int&nbsp;idxStart,
+                   int&nbsp;idxEnd,
+                   int&nbsp;previousNumberOfColumns)</code>
+<div class="block">Modify the dictionary by removing columns not within the index range.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></code></td>
+<td class="colLast"><span class="typeNameLabel">Dictionary.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html#sliceOutColumnRange-int-int-int-">sliceOutColumnRange</a></span>(int&nbsp;idxStart,
+                   int&nbsp;idxEnd,
+                   int&nbsp;previousNumberOfColumns)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></code></td>
+<td class="colLast"><span class="typeNameLabel">QDictionary.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html#sliceOutColumnRange-int-int-int-">sliceOutColumnRange</a></span>(int&nbsp;idxStart,
+                   int&nbsp;idxEnd,
+                   int&nbsp;previousNumberOfColumns)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a> with parameters of type <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupValue.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#copyAndSet-int:A-org.apache.sysds.runtime.compress.colgroup.ADictionary-">copyAndSet</a></span>(int[]&nbsp;colIndexes,
+          <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a>&nbsp;newDictionary)</code>&nbsp;</td>
+</tr>
 </tbody>
 </table>
 <table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
@@ -175,7 +251,8 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#ColGroupConst-int:A-int-org.apache.sysds.runtime.compress.colgroup.ADictionary-">ColGroupConst</a></span>(int[]&nbsp;colIndices,
              int&nbsp;numRows,
              <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a>&nbsp;dict)</code>
-<div class="block">Constructs an Constant Colum Group, that contains only one tuple, with the given value.</div>
+<div class="block">Constructs an Constant Colum Group, that contains only one tuple, with the
+ given value.</div>
 </td>
 </tr>
 </tbody>
@@ -232,6 +309,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/ColGroup.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/ColGroup.html
deleted file mode 100644
index 49a46e1..0000000
--- a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/ColGroup.html
+++ /dev/null
@@ -1,573 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc -->
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.sysds.runtime.compress.colgroup.ColGroup (SystemDS 2.1.0-SNAPSHOT API)</title>
-<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.sysds.runtime.compress.colgroup.ColGroup (SystemDS 2.1.0-SNAPSHOT API)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../package-tree.html">Tree</a></li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/class-use/ColGroup.html" target="_top">Frames</a></li>
-<li><a href="ColGroup.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class org.apache.sysds.runtime.compress.colgroup.ColGroup" class="title">Uses of Class<br>org.apache.sysds.runtime.compress.colgroup.ColGroup</h2>
-</div>
-<div class="classUseContainer">
-<ul class="blockList">
-<li class="blockList">
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
-<caption><span>Packages that use <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Package</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a href="#org.apache.sysds.runtime.compress">org.apache.sysds.runtime.compress</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="#org.apache.sysds.runtime.compress.colgroup">org.apache.sysds.runtime.compress.colgroup</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><a href="#org.apache.sysds.runtime.compress.lib">org.apache.sysds.runtime.compress.lib</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="#org.apache.sysds.runtime.compress.utils">org.apache.sysds.runtime.compress.utils</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList">
-<ul class="blockList">
-<li class="blockList"><a name="org.apache.sysds.runtime.compress">
-<!--   -->
-</a>
-<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a> in <a href="../../../../../../../org/apache/sysds/runtime/compress/package-summary.html">org.apache.sysds.runtime.compress</a></h3>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/compress/package-summary.html">org.apache.sysds.runtime.compress</a> that return types with arguments of type <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#getColGroups--">getColGroups</a></span>()</code>&nbsp;</td>
-</tr>
-</tbody>
-</table>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Method parameters in <a href="../../../../../../../org/apache/sysds/runtime/compress/package-summary.html">org.apache.sysds.runtime.compress</a> with type arguments of type <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#allocateColGroupList-java.util.List-">allocateColGroupList</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>&gt;&nbsp;colGroups)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">CompressionStatistics.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressionStatistics.html#setColGroupsCounts-java.util.List-">setColGroupsCounts</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>&gt;&nbsp;colGroups)</code>
-<div class="block">Set array of counts regarding col group types.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList"><a name="org.apache.sysds.runtime.compress.colgroup">
-<!--   -->
-</a>
-<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a> in <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a></h3>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subclasses, and an explanation">
-<caption><span>Subclasses of <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a> in <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Class and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code>class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupConst</a></span></code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a></span></code>
-<div class="block">Class to encapsulate information about a column group that is encoded with dense dictionary encoding (DDC).</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC1</a></span></code>
-<div class="block">Class to encapsulate information about a column group that is encoded with dense dictionary encoding (DDC) using 1
- byte codes.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC2</a></span></code>
-<div class="block">Class to encapsulate information about a column group that is encoded with dense dictionary encoding (DDC) using 2
- byte codes.</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOffset</a></span></code>
-<div class="block">Base class for column groups encoded with various types of bitmap encoding.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOLE</a></span></code>
-<div class="block">Class to encapsulate information about a column group that is encoded with simple lists of offsets for each set of
- distinct values.</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupRLE</a></span></code>
-<div class="block">A group of columns compressed with a single run-length encoded bitmap.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupUncompressed</a></span></code>
-<div class="block">Column group type for columns that are stored as dense arrays of doubles.</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></span></code>
-<div class="block">Base class for column groups encoded with value dictionary.</div>
-</td>
-</tr>
-</tbody>
-</table>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a> that return <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupRLE.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-">binaryRowOp</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
-           double[]&nbsp;v,
-           boolean&nbsp;sparseSafe)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupConst.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-">binaryRowOp</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
-           double[]&nbsp;v,
-           boolean&nbsp;sparseSafe)</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupDDC1.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-">binaryRowOp</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
-           double[]&nbsp;v,
-           boolean&nbsp;sparseSafe)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>abstract <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroup.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-">binaryRowOp</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
-           double[]&nbsp;v,
-           boolean&nbsp;sparseSafe)</code>
-<div class="block">Perform a binary row operation.</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupUncompressed.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-">binaryRowOp</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
-           double[]&nbsp;v,
-           boolean&nbsp;sparseSafe)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupDDC2.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-">binaryRowOp</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
-           double[]&nbsp;v,
-           boolean&nbsp;sparseSafe)</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupOLE.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-">binaryRowOp</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
-           double[]&nbsp;v,
-           boolean&nbsp;sparseSafe)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupFactory.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupFactory.html#compress-int:A-int-org.apache.sysds.runtime.compress.utils.ABitmap-org.apache.sysds.runtime.compress.colgroup.ColGroup.CompressionType-org.apache.sysds.runtime.compress.CompressionSettings-org.apache.sysds.runtime.matrix.data.MatrixBlock-">compress</a></span>(int[]&nbsp;colIndexes,
-        int&nbsp;rlen,
-        <a href="../../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils">ABitmap</a>&nbsp;ubm,
-        <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>&nbsp;compType,
-        <a href="../../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;cs,
-        <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;rawMatrixBlock)</code>
-<div class="block">Method for compressing an ColGroup.</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>[]</code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupFactory.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupFactory.html#compressColGroups-org.apache.sysds.runtime.matrix.data.MatrixBlock-java.util.HashMap-java.util.List-org.apache.sysds.runtime.compress.CompressionSettings-int-">compressColGroups</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;in,
-                 <a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a>&gt;&nbsp;compRatios,
-                 <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;int[]&gt;&nbsp;groups,
-                 <a href="../../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;compSettings,
-                 int&nbsp;k)</code>
-<div class="block">The actual compression method, that handles the logic of compressing multiple columns together.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupValue.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#copy--">copy</a></span>()</code>
-<div class="block">shallow copy of the colGroup.</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupValue.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#copyAndSet-int:A-double:A-">copyAndSet</a></span>(int[]&nbsp;colIndexes,
-          double[]&nbsp;newDictionary)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupConverter.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConverter.html#copyColGroup-org.apache.sysds.runtime.compress.colgroup.ColGroup-">copyColGroup</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>&nbsp;group)</code>
-<div class="block">Copy col group instance with deep copy of column indices but shallow copy of actual contents;</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupRLE.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">scalarOperation</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupConst.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">scalarOperation</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op)</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupDDC1.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">scalarOperation</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>abstract <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroup.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">scalarOperation</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op)</code>
-<div class="block">Perform the specified scalar operation directly on the compressed column group, without decompressing individual
- cells if possible.</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupUncompressed.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">scalarOperation</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupDDC2.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">scalarOperation</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op)</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupOLE.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">scalarOperation</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op)</code>&nbsp;</td>
-</tr>
-</tbody>
-</table>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a> that return types with arguments of type <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupFactory.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupFactory.html#assignColumns-int-org.apache.sysds.runtime.compress.colgroup.ColGroup:A-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.compress.CompressionSettings-">assignColumns</a></span>(int&nbsp;numCols,
-             <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>[]&nbsp;colGroups,
-             <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;rawBlock,
-             <a href="../../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;compSettings)</code>
-<div class="block">Method for producing the final ColGroupList stored inside the CompressedMatrixBlock.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupIO.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupIO.html#readGroups-java.io.DataInput-">readGroups</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a>&nbsp;in)</code>
-<div class="block">Read groups from a file.</div>
-</td>
-</tr>
-</tbody>
-</table>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a> with parameters of type <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupFactory.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupFactory.html#assignColumns-int-org.apache.sysds.runtime.compress.colgroup.ColGroup:A-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.compress.CompressionSettings-">assignColumns</a></span>(int&nbsp;numCols,
-             <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>[]&nbsp;colGroups,
-             <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;rawBlock,
-             <a href="../../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;compSettings)</code>
-<div class="block">Method for producing the final ColGroupList stored inside the CompressedMatrixBlock.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupConverter.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConverter.html#copyColGroup-org.apache.sysds.runtime.compress.colgroup.ColGroup-">copyColGroup</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>&nbsp;group)</code>
-<div class="block">Copy col group instance with deep copy of column indices but shallow copy of actual contents;</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupConverter.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConverter.html#getUncompressedColBlock-org.apache.sysds.runtime.compress.colgroup.ColGroup-">getUncompressedColBlock</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>&nbsp;group)</code>
-<div class="block">Extracts the Uncompressed MatrixBlock representation of a Col Group</div>
-</td>
-</tr>
-</tbody>
-</table>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Method parameters in <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a> with type arguments of type <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroup.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-java.util.List-">decompressToBlock</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
-                 int&nbsp;colIndex,
-                 <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>&gt;&nbsp;colGroups)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupIO.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupIO.html#writeGroups-java.io.DataOutput-java.util.List-">writeGroups</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataOutput.html?is-external=true" title="class or interface in java.io">DataOutput</a>&nbsp;out,
-           <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>&gt;&nbsp;colGroups)</code>
-<div class="block">Writes the ColGroups out to the DataOutput.</div>
-</td>
-</tr>
-</tbody>
-</table>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
-<caption><span>Constructor parameters in <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a> with type arguments of type <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/DenseRowIterator.html#DenseRowIterator-int-int-java.util.List-int-">DenseRowIterator</a></span>(int&nbsp;rl,
-                int&nbsp;ru,
-                <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>&gt;&nbsp;colGroups,
-                int&nbsp;clen)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/SparseRowIterator.html#SparseRowIterator-int-int-java.util.List-int-">SparseRowIterator</a></span>(int&nbsp;rl,
-                 int&nbsp;ru,
-                 <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>&gt;&nbsp;colGroups,
-                 int&nbsp;clen)</code>&nbsp;</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList"><a name="org.apache.sysds.runtime.compress.lib">
-<!--   -->
-</a>
-<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a> in <a href="../../../../../../../org/apache/sysds/runtime/compress/lib/package-summary.html">org.apache.sysds.runtime.compress.lib</a></h3>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Method parameters in <a href="../../../../../../../org/apache/sysds/runtime/compress/lib/package-summary.html">org.apache.sysds.runtime.compress.lib</a> with type arguments of type <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">LibLeftMultBy.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/LibLeftMultBy.html#leftMultByMatrix-java.util.List-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-boolean-int-int-boolean-int-org.apache.commons.lang3.tuple.Pair-">leftMultByMatrix</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>&gt;&nbsp;groups,
-                <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;that,
-                <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
-                boolean&nbsp;doTranspose,
-                boolean&nbsp;allocTmp,
-                int&nbsp;rl,
-                int&nbsp;cl,
-                boolean&nbsp;overlapping,
-                int&nbsp;k,
-                org.apache.commons.lang3.tuple.Pair&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,int[]&gt;&nbsp;v)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><span class="typeNameLabel">LibLeftMultBy.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/LibLeftMultBy.html#leftMultByTransposeSelf-java.util.List-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-int-org.apache.commons.lang3.tuple.Pair-boolean-">leftMultByTransposeSelf</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>&gt;&nbsp;groups,
-                       <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result,
-                       int&nbsp;gl,
-                       int&nbsp;gu,
-                       int&nbsp;k,
-                       int&nbsp;numColumns,
-                       org.apache.commons.lang3.tuple.Pair&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,int[]&gt;&nbsp;v,
-                       boolean&nbsp;overlapping)</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">LibLeftMultBy.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/LibLeftMultBy.html#leftMultByVectorTranspose-java.util.List-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-int-org.apache.commons.lang3.tuple.Pair-boolean-">leftMultByVectorTranspose</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>&gt;&nbsp;colGroups,
-                         <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;vector,
-                         <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result,
-                         boolean&nbsp;doTranspose,
-                         int&nbsp;k,
-                         org.apache.commons.lang3.tuple.Pair&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,int[]&gt;&nbsp;v,
-                         boolean&nbsp;overlap)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">LibRightMultBy.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/LibRightMultBy.html#rightMultByMatrix-java.util.List-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-org.apache.commons.lang3.tuple.Pair-boolean-">rightMultByMatrix</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>&gt;&nbsp;colGroups,
-                 <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;that,
-                 <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
-                 int&nbsp;k,
-                 org.apache.commons.lang3.tuple.Pair&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,int[]&gt;&nbsp;v,
-                 boolean&nbsp;allowOverlap)</code>
-<div class="block">Right multiply by matrix.</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><span class="typeNameLabel">LibRightMultBy.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/LibRightMultBy.html#rightMultByVector-java.util.List-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-org.apache.commons.lang3.tuple.Pair-">rightMultByVector</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>&gt;&nbsp;colGroups,
-                 <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;vector,
-                 <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result,
-                 int&nbsp;k,
-                 org.apache.commons.lang3.tuple.Pair&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,int[]&gt;&nbsp;v)</code>
-<div class="block">Multi-threaded version of rightMultByVector.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList"><a name="org.apache.sysds.runtime.compress.utils">
-<!--   -->
-</a>
-<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a> in <a href="../../../../../../../org/apache/sysds/runtime/compress/utils/package-summary.html">org.apache.sysds.runtime.compress.utils</a></h3>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
-<caption><span>Constructor parameters in <a href="../../../../../../../org/apache/sysds/runtime/compress/utils/package-summary.html">org.apache.sysds.runtime.compress.utils</a> with type arguments of type <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/utils/ColumnGroupIterator.html#ColumnGroupIterator-int-int-int-int-boolean-java.util.List-">ColumnGroupIterator</a></span>(int&nbsp;rl,
-                   int&nbsp;ru,
-                   int&nbsp;cgl,
-                   int&nbsp;cgu,
-                   boolean&nbsp;inclZeros,
-                   <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>&gt;&nbsp;colGroups)</code>&nbsp;</td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../package-tree.html">Tree</a></li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/class-use/ColGroup.html" target="_top">Frames</a></li>
-<li><a href="ColGroup.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
-</body>
-</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/ColGroupConst.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/ColGroupConst.html
index 1eb81c4..f22c95e 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/ColGroupConst.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/ColGroupConst.html
@@ -72,7 +72,62 @@
 <div class="header">
 <h2 title="Uses of Class org.apache.sysds.runtime.compress.colgroup.ColGroupConst" class="title">Uses of Class<br>org.apache.sysds.runtime.compress.colgroup.ColGroupConst</h2>
 </div>
-<div class="classUseContainer">No usage of org.apache.sysds.runtime.compress.colgroup.ColGroupConst</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupConst</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.compress.colgroup">org.apache.sysds.runtime.compress.colgroup</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.sysds.runtime.compress.colgroup">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupConst</a> in <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a> that return <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupConst</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupConst</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupConst.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#genColGroupConst-int-int-double-">genColGroupConst</a></span>(int&nbsp;numRows,
+                int&nbsp;numCols,
+                double&nbsp;value)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a> with parameters of type <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupConst</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupValue.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateCONST-org.apache.sysds.runtime.compress.colgroup.ColGroupConst-">preAggregateCONST</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupConst</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
 <!--   -->
@@ -120,6 +175,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/ColGroupConverter.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/ColGroupConverter.html
index 41cbbb6..ef98b5e 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/ColGroupConverter.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/ColGroupConverter.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/ColGroupDDC.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/ColGroupDDC.html
index 93836ba..ca1fd67 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/ColGroupDDC.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/ColGroupDDC.html
@@ -95,26 +95,52 @@
 <!--   -->
 </a>
 <h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a> in <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a></h3>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subclasses, and an explanation">
-<caption><span>Subclasses of <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a> in <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a></span><span class="tabEnd">&nbsp;</span></caption>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a> with parameters of type <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a></span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Class and Description</th>
+<th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code>class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC1</a></span></code>
-<div class="block">Class to encapsulate information about a column group that is encoded with dense dictionary encoding (DDC) using 1
- byte codes.</div>
-</td>
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupRLE.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#preAggregateDDC-org.apache.sysds.runtime.compress.colgroup.ColGroupDDC-">preAggregateDDC</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a>&nbsp;lhs)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC2</a></span></code>
-<div class="block">Class to encapsulate information about a column group that is encoded with dense dictionary encoding (DDC) using 2
- byte codes.</div>
-</td>
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupEmpty.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html#preAggregateDDC-org.apache.sysds.runtime.compress.colgroup.ColGroupDDC-">preAggregateDDC</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupConst.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#preAggregateDDC-org.apache.sysds.runtime.compress.colgroup.ColGroupDDC-">preAggregateDDC</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupSDCZeros.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#preAggregateDDC-org.apache.sysds.runtime.compress.colgroup.ColGroupDDC-">preAggregateDDC</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupDDC.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#preAggregateDDC-org.apache.sysds.runtime.compress.colgroup.ColGroupDDC-">preAggregateDDC</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupSDCSingle.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html#preAggregateDDC-org.apache.sysds.runtime.compress.colgroup.ColGroupDDC-">preAggregateDDC</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupSDC.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html#preAggregateDDC-org.apache.sysds.runtime.compress.colgroup.ColGroupDDC-">preAggregateDDC</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>abstract <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupValue.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateDDC-org.apache.sysds.runtime.compress.colgroup.ColGroupDDC-">preAggregateDDC</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupSDCSingleZeros.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html#preAggregateDDC-org.apache.sysds.runtime.compress.colgroup.ColGroupDDC-">preAggregateDDC</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupOLE.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#preAggregateDDC-org.apache.sysds.runtime.compress.colgroup.ColGroupDDC-">preAggregateDDC</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a>&nbsp;lhs)</code>&nbsp;</td>
 </tr>
 </tbody>
 </table>
@@ -170,6 +196,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/ColGroupDDC1.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/ColGroupDDC1.html
deleted file mode 100644
index b3f536b..0000000
--- a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/ColGroupDDC1.html
+++ /dev/null
@@ -1,125 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc -->
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.sysds.runtime.compress.colgroup.ColGroupDDC1 (SystemDS 2.1.0-SNAPSHOT API)</title>
-<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.sysds.runtime.compress.colgroup.ColGroupDDC1 (SystemDS 2.1.0-SNAPSHOT API)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html" title="class in org.apache.sysds.runtime.compress.colgroup">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../package-tree.html">Tree</a></li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/class-use/ColGroupDDC1.html" target="_top">Frames</a></li>
-<li><a href="ColGroupDDC1.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class org.apache.sysds.runtime.compress.colgroup.ColGroupDDC1" class="title">Uses of Class<br>org.apache.sysds.runtime.compress.colgroup.ColGroupDDC1</h2>
-</div>
-<div class="classUseContainer">No usage of org.apache.sysds.runtime.compress.colgroup.ColGroupDDC1</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html" title="class in org.apache.sysds.runtime.compress.colgroup">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../package-tree.html">Tree</a></li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/class-use/ColGroupDDC1.html" target="_top">Frames</a></li>
-<li><a href="ColGroupDDC1.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
-</body>
-</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/ColGroupEmpty.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/ColGroupEmpty.html
new file mode 100644
index 0000000..d4d9cfa
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/ColGroupEmpty.html
@@ -0,0 +1,166 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.sysds.runtime.compress.colgroup.ColGroupEmpty (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.sysds.runtime.compress.colgroup.ColGroupEmpty (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html" title="class in org.apache.sysds.runtime.compress.colgroup">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/class-use/ColGroupEmpty.html" target="_top">Frames</a></li>
+<li><a href="ColGroupEmpty.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.sysds.runtime.compress.colgroup.ColGroupEmpty" class="title">Uses of Class<br>org.apache.sysds.runtime.compress.colgroup.ColGroupEmpty</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupEmpty</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.compress.colgroup">org.apache.sysds.runtime.compress.colgroup</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.sysds.runtime.compress.colgroup">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupEmpty</a> in <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a> that return <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupEmpty</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupEmpty</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupEmpty.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html#generate-int-int-">generate</a></span>(int&nbsp;nCol,
+        int&nbsp;nRow)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html" title="class in org.apache.sysds.runtime.compress.colgroup">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/class-use/ColGroupEmpty.html" target="_top">Frames</a></li>
+<li><a href="ColGroupEmpty.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/ColGroupFactory.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/ColGroupFactory.html
index d7d09ff..6315585 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/ColGroupFactory.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/ColGroupFactory.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/ColGroupIO.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/ColGroupIO.html
index 9a1e1bc..91c908a 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/ColGroupIO.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/ColGroupIO.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/ColGroupOLE.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/ColGroupOLE.html
index be4a608..b2bc349 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/ColGroupOLE.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/ColGroupOLE.html
@@ -72,7 +72,83 @@
 <div class="header">
 <h2 title="Uses of Class org.apache.sysds.runtime.compress.colgroup.ColGroupOLE" class="title">Uses of Class<br>org.apache.sysds.runtime.compress.colgroup.ColGroupOLE</h2>
 </div>
-<div class="classUseContainer">No usage of org.apache.sysds.runtime.compress.colgroup.ColGroupOLE</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOLE</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.compress.colgroup">org.apache.sysds.runtime.compress.colgroup</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.sysds.runtime.compress.colgroup">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOLE</a> in <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a> with parameters of type <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOLE</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupRLE.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#preAggregateOLE-org.apache.sysds.runtime.compress.colgroup.ColGroupOLE-">preAggregateOLE</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOLE</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupEmpty.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html#preAggregateOLE-org.apache.sysds.runtime.compress.colgroup.ColGroupOLE-">preAggregateOLE</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOLE</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupConst.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#preAggregateOLE-org.apache.sysds.runtime.compress.colgroup.ColGroupOLE-">preAggregateOLE</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOLE</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupSDCZeros.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#preAggregateOLE-org.apache.sysds.runtime.compress.colgroup.ColGroupOLE-">preAggregateOLE</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOLE</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupDDC.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#preAggregateOLE-org.apache.sysds.runtime.compress.colgroup.ColGroupOLE-">preAggregateOLE</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOLE</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupSDCSingle.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html#preAggregateOLE-org.apache.sysds.runtime.compress.colgroup.ColGroupOLE-">preAggregateOLE</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOLE</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupSDC.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html#preAggregateOLE-org.apache.sysds.runtime.compress.colgroup.ColGroupOLE-">preAggregateOLE</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOLE</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>abstract <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupValue.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateOLE-org.apache.sysds.runtime.compress.colgroup.ColGroupOLE-">preAggregateOLE</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOLE</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupSDCSingleZeros.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html#preAggregateOLE-org.apache.sysds.runtime.compress.colgroup.ColGroupOLE-">preAggregateOLE</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOLE</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupOLE.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#preAggregateOLE-org.apache.sysds.runtime.compress.colgroup.ColGroupOLE-">preAggregateOLE</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOLE</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
 <!--   -->
@@ -120,6 +196,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/ColGroupOffset.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/ColGroupOffset.html
index aa21307..1a9edf2 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/ColGroupOffset.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/ColGroupOffset.html
@@ -169,6 +169,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/ColGroupRLE.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/ColGroupRLE.html
index 470962b..fb4fd94 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/ColGroupRLE.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/ColGroupRLE.html
@@ -72,7 +72,83 @@
 <div class="header">
 <h2 title="Uses of Class org.apache.sysds.runtime.compress.colgroup.ColGroupRLE" class="title">Uses of Class<br>org.apache.sysds.runtime.compress.colgroup.ColGroupRLE</h2>
 </div>
-<div class="classUseContainer">No usage of org.apache.sysds.runtime.compress.colgroup.ColGroupRLE</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupRLE</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.compress.colgroup">org.apache.sysds.runtime.compress.colgroup</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.sysds.runtime.compress.colgroup">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupRLE</a> in <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a> with parameters of type <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupRLE</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupRLE.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#preAggregateRLE-org.apache.sysds.runtime.compress.colgroup.ColGroupRLE-">preAggregateRLE</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupRLE</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupEmpty.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html#preAggregateRLE-org.apache.sysds.runtime.compress.colgroup.ColGroupRLE-">preAggregateRLE</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupRLE</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupConst.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#preAggregateRLE-org.apache.sysds.runtime.compress.colgroup.ColGroupRLE-">preAggregateRLE</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupRLE</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupSDCZeros.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#preAggregateRLE-org.apache.sysds.runtime.compress.colgroup.ColGroupRLE-">preAggregateRLE</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupRLE</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupDDC.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#preAggregateRLE-org.apache.sysds.runtime.compress.colgroup.ColGroupRLE-">preAggregateRLE</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupRLE</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupSDCSingle.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html#preAggregateRLE-org.apache.sysds.runtime.compress.colgroup.ColGroupRLE-">preAggregateRLE</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupRLE</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupSDC.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html#preAggregateRLE-org.apache.sysds.runtime.compress.colgroup.ColGroupRLE-">preAggregateRLE</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupRLE</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>abstract <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupValue.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateRLE-org.apache.sysds.runtime.compress.colgroup.ColGroupRLE-">preAggregateRLE</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupRLE</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupSDCSingleZeros.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html#preAggregateRLE-org.apache.sysds.runtime.compress.colgroup.ColGroupRLE-">preAggregateRLE</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupRLE</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupOLE.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#preAggregateRLE-org.apache.sysds.runtime.compress.colgroup.ColGroupRLE-">preAggregateRLE</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupRLE</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
 <!--   -->
@@ -120,6 +196,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/ColGroupSDC.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/ColGroupSDC.html
new file mode 100644
index 0000000..dad5514
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/ColGroupSDC.html
@@ -0,0 +1,201 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.sysds.runtime.compress.colgroup.ColGroupSDC (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.sysds.runtime.compress.colgroup.ColGroupSDC (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/class-use/ColGroupSDC.html" target="_top">Frames</a></li>
+<li><a href="ColGroupSDC.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.sysds.runtime.compress.colgroup.ColGroupSDC" class="title">Uses of Class<br>org.apache.sysds.runtime.compress.colgroup.ColGroupSDC</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDC</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.compress.colgroup">org.apache.sysds.runtime.compress.colgroup</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.sysds.runtime.compress.colgroup">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDC</a> in <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a> with parameters of type <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDC</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupRLE.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#preAggregateSDC-org.apache.sysds.runtime.compress.colgroup.ColGroupSDC-">preAggregateSDC</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDC</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupEmpty.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html#preAggregateSDC-org.apache.sysds.runtime.compress.colgroup.ColGroupSDC-">preAggregateSDC</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDC</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupConst.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#preAggregateSDC-org.apache.sysds.runtime.compress.colgroup.ColGroupSDC-">preAggregateSDC</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDC</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupSDCZeros.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#preAggregateSDC-org.apache.sysds.runtime.compress.colgroup.ColGroupSDC-">preAggregateSDC</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDC</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupDDC.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#preAggregateSDC-org.apache.sysds.runtime.compress.colgroup.ColGroupSDC-">preAggregateSDC</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDC</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupSDCSingle.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html#preAggregateSDC-org.apache.sysds.runtime.compress.colgroup.ColGroupSDC-">preAggregateSDC</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDC</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupSDC.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html#preAggregateSDC-org.apache.sysds.runtime.compress.colgroup.ColGroupSDC-">preAggregateSDC</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDC</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>abstract <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupValue.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateSDC-org.apache.sysds.runtime.compress.colgroup.ColGroupSDC-">preAggregateSDC</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDC</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupSDCSingleZeros.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html#preAggregateSDC-org.apache.sysds.runtime.compress.colgroup.ColGroupSDC-">preAggregateSDC</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDC</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupOLE.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#preAggregateSDC-org.apache.sysds.runtime.compress.colgroup.ColGroupSDC-">preAggregateSDC</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDC</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/class-use/ColGroupSDC.html" target="_top">Frames</a></li>
+<li><a href="ColGroupSDC.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/ColGroupSDCSingle.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/ColGroupSDCSingle.html
new file mode 100644
index 0000000..07a2e8a
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/ColGroupSDCSingle.html
@@ -0,0 +1,201 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingle (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingle (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html" title="class in org.apache.sysds.runtime.compress.colgroup">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/class-use/ColGroupSDCSingle.html" target="_top">Frames</a></li>
+<li><a href="ColGroupSDCSingle.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingle" class="title">Uses of Class<br>org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingle</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingle</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.compress.colgroup">org.apache.sysds.runtime.compress.colgroup</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.sysds.runtime.compress.colgroup">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingle</a> in <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a> with parameters of type <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingle</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupRLE.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#preAggregateSDCSingle-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingle-">preAggregateSDCSingle</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingle</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupEmpty.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html#preAggregateSDCSingle-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingle-">preAggregateSDCSingle</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingle</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupConst.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#preAggregateSDCSingle-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingle-">preAggregateSDCSingle</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingle</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupSDCZeros.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#preAggregateSDCSingle-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingle-">preAggregateSDCSingle</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingle</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupDDC.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#preAggregateSDCSingle-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingle-">preAggregateSDCSingle</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingle</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupSDCSingle.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html#preAggregateSDCSingle-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingle-">preAggregateSDCSingle</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingle</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupSDC.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html#preAggregateSDCSingle-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingle-">preAggregateSDCSingle</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingle</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>abstract <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupValue.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateSDCSingle-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingle-">preAggregateSDCSingle</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingle</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupSDCSingleZeros.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html#preAggregateSDCSingle-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingle-">preAggregateSDCSingle</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingle</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupOLE.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#preAggregateSDCSingle-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingle-">preAggregateSDCSingle</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingle</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html" title="class in org.apache.sysds.runtime.compress.colgroup">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/class-use/ColGroupSDCSingle.html" target="_top">Frames</a></li>
+<li><a href="ColGroupSDCSingle.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/ColGroupSDCSingleZeros.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/ColGroupSDCSingleZeros.html
new file mode 100644
index 0000000..0ded6b6
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/ColGroupSDCSingleZeros.html
@@ -0,0 +1,201 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingleZeros (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingleZeros (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/class-use/ColGroupSDCSingleZeros.html" target="_top">Frames</a></li>
+<li><a href="ColGroupSDCSingleZeros.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingleZeros" class="title">Uses of Class<br>org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingleZeros</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingleZeros</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.compress.colgroup">org.apache.sysds.runtime.compress.colgroup</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.sysds.runtime.compress.colgroup">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingleZeros</a> in <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a> with parameters of type <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingleZeros</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupRLE.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#preAggregateSDCSingleZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingleZeros-">preAggregateSDCSingleZeros</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingleZeros</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupEmpty.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html#preAggregateSDCSingleZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingleZeros-">preAggregateSDCSingleZeros</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingleZeros</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupConst.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#preAggregateSDCSingleZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingleZeros-">preAggregateSDCSingleZeros</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingleZeros</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupSDCZeros.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#preAggregateSDCSingleZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingleZeros-">preAggregateSDCSingleZeros</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingleZeros</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupDDC.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#preAggregateSDCSingleZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingleZeros-">preAggregateSDCSingleZeros</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingleZeros</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupSDCSingle.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html#preAggregateSDCSingleZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingleZeros-">preAggregateSDCSingleZeros</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingleZeros</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupSDC.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html#preAggregateSDCSingleZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingleZeros-">preAggregateSDCSingleZeros</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingleZeros</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>abstract <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupValue.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateSDCSingleZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingleZeros-">preAggregateSDCSingleZeros</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingleZeros</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupSDCSingleZeros.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html#preAggregateSDCSingleZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingleZeros-">preAggregateSDCSingleZeros</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingleZeros</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupOLE.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#preAggregateSDCSingleZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingleZeros-">preAggregateSDCSingleZeros</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingleZeros</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/class-use/ColGroupSDCSingleZeros.html" target="_top">Frames</a></li>
+<li><a href="ColGroupSDCSingleZeros.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/ColGroupSDCZeros.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/ColGroupSDCZeros.html
new file mode 100644
index 0000000..9f0432f
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/ColGroupSDCZeros.html
@@ -0,0 +1,201 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.sysds.runtime.compress.colgroup.ColGroupSDCZeros (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.sysds.runtime.compress.colgroup.ColGroupSDCZeros (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/class-use/ColGroupSDCZeros.html" target="_top">Frames</a></li>
+<li><a href="ColGroupSDCZeros.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.sysds.runtime.compress.colgroup.ColGroupSDCZeros" class="title">Uses of Class<br>org.apache.sysds.runtime.compress.colgroup.ColGroupSDCZeros</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCZeros</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.compress.colgroup">org.apache.sysds.runtime.compress.colgroup</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.sysds.runtime.compress.colgroup">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCZeros</a> in <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a> with parameters of type <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCZeros</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupRLE.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#preAggregateSDCZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCZeros-">preAggregateSDCZeros</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCZeros</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupEmpty.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html#preAggregateSDCZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCZeros-">preAggregateSDCZeros</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCZeros</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupConst.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#preAggregateSDCZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCZeros-">preAggregateSDCZeros</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCZeros</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupSDCZeros.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#preAggregateSDCZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCZeros-">preAggregateSDCZeros</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCZeros</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupDDC.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#preAggregateSDCZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCZeros-">preAggregateSDCZeros</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCZeros</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupSDCSingle.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html#preAggregateSDCZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCZeros-">preAggregateSDCZeros</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCZeros</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupSDC.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html#preAggregateSDCZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCZeros-">preAggregateSDCZeros</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCZeros</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>abstract <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupValue.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateSDCZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCZeros-">preAggregateSDCZeros</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCZeros</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupSDCSingleZeros.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html#preAggregateSDCZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCZeros-">preAggregateSDCZeros</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCZeros</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupOLE.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#preAggregateSDCZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCZeros-">preAggregateSDCZeros</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCZeros</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/class-use/ColGroupSDCZeros.html" target="_top">Frames</a></li>
+<li><a href="ColGroupSDCZeros.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/ColGroupSizes.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/ColGroupSizes.html
index 6234e8f..128cde9 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/ColGroupSizes.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/ColGroupSizes.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/ColGroupUncompressed.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/ColGroupUncompressed.html
index 238a168..05ad7c6 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/ColGroupUncompressed.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/ColGroupUncompressed.html
@@ -72,7 +72,47 @@
 <div class="header">
 <h2 title="Uses of Class org.apache.sysds.runtime.compress.colgroup.ColGroupUncompressed" class="title">Uses of Class<br>org.apache.sysds.runtime.compress.colgroup.ColGroupUncompressed</h2>
 </div>
-<div class="classUseContainer">No usage of org.apache.sysds.runtime.compress.colgroup.ColGroupUncompressed</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupUncompressed</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.compress">org.apache.sysds.runtime.compress</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.sysds.runtime.compress">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupUncompressed</a> in <a href="../../../../../../../org/apache/sysds/runtime/compress/package-summary.html">org.apache.sysds.runtime.compress</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/compress/package-summary.html">org.apache.sysds.runtime.compress</a> that return <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupUncompressed</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupUncompressed</a></code></td>
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#getUncompressedColGroup--">getUncompressedColGroup</a></span>()</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
 <!--   -->
@@ -120,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/ColGroupValue.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/ColGroupValue.html
index 8361105..dbc890f 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/ColGroupValue.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/ColGroupValue.html
@@ -114,37 +114,130 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC1</a></span></code>
-<div class="block">Class to encapsulate information about a column group that is encoded with dense dictionary encoding (DDC) using 1
- byte codes.</div>
-</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupEmpty</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC2</a></span></code>
-<div class="block">Class to encapsulate information about a column group that is encoded with dense dictionary encoding (DDC) using 2
- byte codes.</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOffset</a></span></code>
 <div class="block">Base class for column groups encoded with various types of bitmap encoding.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOLE</a></span></code>
 <div class="block">Class to encapsulate information about a column group that is encoded with simple lists of offsets for each set of
  distinct values.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupRLE</a></span></code>
 <div class="block">A group of columns compressed with a single run-length encoded bitmap.</div>
 </td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDC</a></span></code>
+<div class="block">Column group that sparsely encodes the dictionary values.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingle</a></span></code>
+<div class="block">Column group that sparsely encodes the dictionary values.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingleZeros</a></span></code>
+<div class="block">Column group that sparsely encodes the dictionary values.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCZeros</a></span></code>
+<div class="block">Column group that sparsely encodes the dictionary values.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a> that return <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupValue.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#copy--">copy</a></span>()</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a> with parameters of type <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupValue.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#leftMultByAggregatedColGroup-org.apache.sysds.runtime.compress.colgroup.ColGroupValue-double:A-int-int-">leftMultByAggregatedColGroup</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a>&nbsp;lhs,
+                            double[]&nbsp;result,
+                            int&nbsp;numRows,
+                            int&nbsp;numCols)</code>
+<div class="block">Multiply with a matrix on the left.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupValue.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregate-org.apache.sysds.runtime.compress.colgroup.ColGroupValue-">preAggregate</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupValue.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preCallAggregate-org.apache.sysds.runtime.compress.colgroup.ColGroupValue-">preCallAggregate</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupRLE.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#sameIndexStructure-org.apache.sysds.runtime.compress.colgroup.ColGroupValue-">sameIndexStructure</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a>&nbsp;that)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupEmpty.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html#sameIndexStructure-org.apache.sysds.runtime.compress.colgroup.ColGroupValue-">sameIndexStructure</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a>&nbsp;that)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupConst.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#sameIndexStructure-org.apache.sysds.runtime.compress.colgroup.ColGroupValue-">sameIndexStructure</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a>&nbsp;that)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupSDCZeros.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#sameIndexStructure-org.apache.sysds.runtime.compress.colgroup.ColGroupValue-">sameIndexStructure</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a>&nbsp;that)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupDDC.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#sameIndexStructure-org.apache.sysds.runtime.compress.colgroup.ColGroupValue-">sameIndexStructure</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a>&nbsp;that)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupSDCSingle.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html#sameIndexStructure-org.apache.sysds.runtime.compress.colgroup.ColGroupValue-">sameIndexStructure</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a>&nbsp;that)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupSDC.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html#sameIndexStructure-org.apache.sysds.runtime.compress.colgroup.ColGroupValue-">sameIndexStructure</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a>&nbsp;that)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>abstract boolean</code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupValue.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#sameIndexStructure-org.apache.sysds.runtime.compress.colgroup.ColGroupValue-">sameIndexStructure</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a>&nbsp;that)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupSDCSingleZeros.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html#sameIndexStructure-org.apache.sysds.runtime.compress.colgroup.ColGroupValue-">sameIndexStructure</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a>&nbsp;that)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupOLE.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#sameIndexStructure-org.apache.sysds.runtime.compress.colgroup.ColGroupValue-">sameIndexStructure</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a>&nbsp;that)</code>&nbsp;</td>
+</tr>
 </tbody>
 </table>
 </li>
@@ -199,6 +292,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/DenseRowIterator.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/DenseRowIterator.html
deleted file mode 100644
index 486e7b3..0000000
--- a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/DenseRowIterator.html
+++ /dev/null
@@ -1,125 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc -->
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.sysds.runtime.compress.colgroup.DenseRowIterator (SystemDS 2.1.0-SNAPSHOT API)</title>
-<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.sysds.runtime.compress.colgroup.DenseRowIterator (SystemDS 2.1.0-SNAPSHOT API)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/DenseRowIterator.html" title="class in org.apache.sysds.runtime.compress.colgroup">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../package-tree.html">Tree</a></li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/class-use/DenseRowIterator.html" target="_top">Frames</a></li>
-<li><a href="DenseRowIterator.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class org.apache.sysds.runtime.compress.colgroup.DenseRowIterator" class="title">Uses of Class<br>org.apache.sysds.runtime.compress.colgroup.DenseRowIterator</h2>
-</div>
-<div class="classUseContainer">No usage of org.apache.sysds.runtime.compress.colgroup.DenseRowIterator</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/DenseRowIterator.html" title="class in org.apache.sysds.runtime.compress.colgroup">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../package-tree.html">Tree</a></li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/class-use/DenseRowIterator.html" target="_top">Frames</a></li>
-<li><a href="DenseRowIterator.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
-</body>
-</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/Dictionary.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/Dictionary.html
index dd52b71..ba95f39 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/Dictionary.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/Dictionary.html
@@ -108,22 +108,37 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">Dictionary</a></code></td>
-<td class="colLast"><span class="typeNameLabel">Dictionary.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html#applyBinaryRowOp-org.apache.sysds.runtime.functionobjects.ValueFunction-double:A-boolean-int:A-">applyBinaryRowOp</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/functionobjects/ValueFunction.html" title="class in org.apache.sysds.runtime.functionobjects">ValueFunction</a>&nbsp;fn,
-                double[]&nbsp;v,
-                boolean&nbsp;sparseSafe,
-                int[]&nbsp;colIndexes)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">Dictionary.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html#applyBinaryRowOpLeft-org.apache.sysds.runtime.functionobjects.ValueFunction-double:A-boolean-int:A-">applyBinaryRowOpLeft</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/functionobjects/ValueFunction.html" title="class in org.apache.sysds.runtime.functionobjects">ValueFunction</a>&nbsp;fn,
+                    double[]&nbsp;v,
+                    boolean&nbsp;sparseSafe,
+                    int[]&nbsp;colIndexes)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">Dictionary</a></code></td>
+<td class="colLast"><span class="typeNameLabel">Dictionary.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html#applyBinaryRowOpRight-org.apache.sysds.runtime.functionobjects.ValueFunction-double:A-boolean-int:A-">applyBinaryRowOpRight</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/functionobjects/ValueFunction.html" title="class in org.apache.sysds.runtime.functionobjects">ValueFunction</a>&nbsp;fn,
+                     double[]&nbsp;v,
+                     boolean&nbsp;sparseSafe,
+                     int[]&nbsp;colIndexes)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">Dictionary</a></code></td>
 <td class="colLast"><span class="typeNameLabel">Dictionary.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html#applyScalarOp-org.apache.sysds.runtime.matrix.operators.ScalarOperator-double-int-">applyScalarOp</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op,
              double&nbsp;newVal,
              int&nbsp;numCols)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">Dictionary</a></code></td>
 <td class="colLast"><span class="typeNameLabel">Dictionary.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html#clone--">clone</a></span>()</code>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">Dictionary</a></code></td>
+<td class="colLast"><span class="typeNameLabel">Dictionary.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html#cloneAndExtend-int-">cloneAndExtend</a></span>(int&nbsp;len)</code>&nbsp;</td>
+</tr>
 <tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">Dictionary</a></code></td>
+<td class="colLast"><span class="typeNameLabel">QDictionary.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html#makeDoubleDictionary--">makeDoubleDictionary</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">Dictionary</a></code></td>
 <td class="colLast"><span class="typeNameLabel">Dictionary.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html#read-java.io.DataInput-">read</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a>&nbsp;in)</code>&nbsp;</td>
 </tr>
@@ -181,6 +196,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/QDictionary.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/QDictionary.html
index 7f89772..087c272 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/QDictionary.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/QDictionary.html
@@ -108,21 +108,32 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">QDictionary</a></code></td>
-<td class="colLast"><span class="typeNameLabel">QDictionary.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html#applyBinaryRowOp-org.apache.sysds.runtime.functionobjects.ValueFunction-double:A-boolean-int:A-">applyBinaryRowOp</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/functionobjects/ValueFunction.html" title="class in org.apache.sysds.runtime.functionobjects">ValueFunction</a>&nbsp;fn,
-                double[]&nbsp;v,
-                boolean&nbsp;sparseSafe,
-                int[]&nbsp;colIndexes)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">QDictionary.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html#applyBinaryRowOpLeft-org.apache.sysds.runtime.functionobjects.ValueFunction-double:A-boolean-int:A-">applyBinaryRowOpLeft</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/functionobjects/ValueFunction.html" title="class in org.apache.sysds.runtime.functionobjects">ValueFunction</a>&nbsp;fn,
+                    double[]&nbsp;v,
+                    boolean&nbsp;sparseSafe,
+                    int[]&nbsp;colIndexes)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">QDictionary</a></code></td>
+<td class="colLast"><span class="typeNameLabel">QDictionary.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html#applyBinaryRowOpRight-org.apache.sysds.runtime.functionobjects.ValueFunction-double:A-boolean-int:A-">applyBinaryRowOpRight</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/functionobjects/ValueFunction.html" title="class in org.apache.sysds.runtime.functionobjects">ValueFunction</a>&nbsp;fn,
+                     double[]&nbsp;v,
+                     boolean&nbsp;sparseSafe,
+                     int[]&nbsp;colIndexes)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">QDictionary</a></code></td>
 <td class="colLast"><span class="typeNameLabel">QDictionary.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html#applyScalarOp-org.apache.sysds.runtime.matrix.operators.ScalarOperator-double-int-">applyScalarOp</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op,
              double&nbsp;newVal,
              int&nbsp;numCols)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">QDictionary</a></code></td>
 <td class="colLast"><span class="typeNameLabel">QDictionary.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html#clone--">clone</a></span>()</code>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">QDictionary</a></code></td>
+<td class="colLast"><span class="typeNameLabel">QDictionary.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html#cloneAndExtend-int-">cloneAndExtend</a></span>(int&nbsp;len)</code>&nbsp;</td>
+</tr>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">QDictionary</a></code></td>
 <td class="colLast"><span class="typeNameLabel">QDictionary.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html#read-java.io.DataInput-">read</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a>&nbsp;in)</code>&nbsp;</td>
@@ -181,6 +192,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html
new file mode 100644
index 0000000..51d4c76
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html
@@ -0,0 +1,303 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>IMapToData (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="IMapToData (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/IMapToData.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev&nbsp;Class</li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToBit.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html" target="_top">Frames</a></li>
+<li><a href="IMapToData.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.sysds.runtime.compress.colgroup.mapping</div>
+<h2 title="Interface IMapToData" class="title">Interface IMapToData</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Known Implementing Classes:</dt>
+<dd><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToBit.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping">MapToBit</a>, <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToByte.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping">MapToByte</a>, <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToChar.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping">MapToChar</a>, <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToInt.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping">MapToInt</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public interface <span class="typeNameLabel">IMapToData</span></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html#fill-int-">fill</a></span>(int&nbsp;v)</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html#getIndex-int-">getIndex</a></span>(int&nbsp;n)</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html#getInMemorySize--">getInMemorySize</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html" title="interface in org.apache.sysds.runtime.compress.colgroup.mapping">IMapToData</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html#readFields-java.io.DataInput-">readFields</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a>&nbsp;in)</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html#set-int-int-">set</a></span>(int&nbsp;n,
+   int&nbsp;v)</code>&nbsp;</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html#write-java.io.DataOutput-">write</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataOutput.html?is-external=true" title="class or interface in java.io">DataOutput</a>&nbsp;out)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getIndex-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getIndex</h4>
+<pre>int&nbsp;getIndex(int&nbsp;n)</pre>
+</li>
+</ul>
+<a name="set-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>set</h4>
+<pre>void&nbsp;set(int&nbsp;n,
+         int&nbsp;v)</pre>
+</li>
+</ul>
+<a name="fill-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>fill</h4>
+<pre>void&nbsp;fill(int&nbsp;v)</pre>
+</li>
+</ul>
+<a name="getInMemorySize--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getInMemorySize</h4>
+<pre>long&nbsp;getInMemorySize()</pre>
+</li>
+</ul>
+<a name="write-java.io.DataOutput-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>write</h4>
+<pre>void&nbsp;write(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataOutput.html?is-external=true" title="class or interface in java.io">DataOutput</a>&nbsp;out)
+    throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="readFields-java.io.DataInput-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>readFields</h4>
+<pre><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html" title="interface in org.apache.sysds.runtime.compress.colgroup.mapping">IMapToData</a>&nbsp;readFields(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a>&nbsp;in)
+               throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/IMapToData.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev&nbsp;Class</li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToBit.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html" target="_top">Frames</a></li>
+<li><a href="IMapToData.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/mapping/MapToBit.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/mapping/MapToBit.html
new file mode 100644
index 0000000..5fcb0bd
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/mapping/MapToBit.html
@@ -0,0 +1,387 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MapToBit (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="MapToBit (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":9,"i4":10,"i5":10,"i6":10};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/MapToBit.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html" title="interface in org.apache.sysds.runtime.compress.colgroup.mapping"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToByte.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/mapping/MapToBit.html" target="_top">Frames</a></li>
+<li><a href="MapToBit.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.sysds.runtime.compress.colgroup.mapping</div>
+<h2 title="Class MapToBit" class="title">Class MapToBit</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.sysds.runtime.compress.colgroup.mapping.MapToBit</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html" title="interface in org.apache.sysds.runtime.compress.colgroup.mapping">IMapToData</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">MapToBit</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
+implements <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html" title="interface in org.apache.sysds.runtime.compress.colgroup.mapping">IMapToData</a></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToBit.html#MapToBit-int-">MapToBit</a></span>(int&nbsp;size)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToBit.html#fill-int-">fill</a></span>(int&nbsp;v)</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToBit.html#getIndex-int-">getIndex</a></span>(int&nbsp;n)</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToBit.html#getInMemorySize--">getInMemorySize</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>static long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToBit.html#getInMemorySize-int-">getInMemorySize</a></span>(int&nbsp;dataLength)</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToBit.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping">MapToBit</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToBit.html#readFields-java.io.DataInput-">readFields</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a>&nbsp;in)</code>&nbsp;</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToBit.html#set-int-int-">set</a></span>(int&nbsp;n,
+   int&nbsp;v)</code>&nbsp;</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToBit.html#write-java.io.DataOutput-">write</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataOutput.html?is-external=true" title="class or interface in java.io">DataOutput</a>&nbsp;out)</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="MapToBit-int-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>MapToBit</h4>
+<pre>public&nbsp;MapToBit(int&nbsp;size)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getIndex-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getIndex</h4>
+<pre>public&nbsp;int&nbsp;getIndex(int&nbsp;n)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html#getIndex-int-">getIndex</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html" title="interface in org.apache.sysds.runtime.compress.colgroup.mapping">IMapToData</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="fill-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>fill</h4>
+<pre>public&nbsp;void&nbsp;fill(int&nbsp;v)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html#fill-int-">fill</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html" title="interface in org.apache.sysds.runtime.compress.colgroup.mapping">IMapToData</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getInMemorySize--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getInMemorySize</h4>
+<pre>public&nbsp;long&nbsp;getInMemorySize()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html#getInMemorySize--">getInMemorySize</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html" title="interface in org.apache.sysds.runtime.compress.colgroup.mapping">IMapToData</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getInMemorySize-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getInMemorySize</h4>
+<pre>public static&nbsp;long&nbsp;getInMemorySize(int&nbsp;dataLength)</pre>
+</li>
+</ul>
+<a name="set-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>set</h4>
+<pre>public&nbsp;void&nbsp;set(int&nbsp;n,
+                int&nbsp;v)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html#set-int-int-">set</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html" title="interface in org.apache.sysds.runtime.compress.colgroup.mapping">IMapToData</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="write-java.io.DataOutput-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>write</h4>
+<pre>public&nbsp;void&nbsp;write(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataOutput.html?is-external=true" title="class or interface in java.io">DataOutput</a>&nbsp;out)
+           throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html#write-java.io.DataOutput-">write</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html" title="interface in org.apache.sysds.runtime.compress.colgroup.mapping">IMapToData</a></code></dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="readFields-java.io.DataInput-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>readFields</h4>
+<pre>public&nbsp;<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToBit.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping">MapToBit</a>&nbsp;readFields(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a>&nbsp;in)
+                    throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html#readFields-java.io.DataInput-">readFields</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html" title="interface in org.apache.sysds.runtime.compress.colgroup.mapping">IMapToData</a></code></dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/MapToBit.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html" title="interface in org.apache.sysds.runtime.compress.colgroup.mapping"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToByte.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/mapping/MapToBit.html" target="_top">Frames</a></li>
+<li><a href="MapToBit.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/mapping/MapToByte.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/mapping/MapToByte.html
new file mode 100644
index 0000000..998efcb
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/mapping/MapToByte.html
@@ -0,0 +1,404 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MapToByte (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="MapToByte (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":9,"i4":10,"i5":10,"i6":10,"i7":10};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/MapToByte.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToBit.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToChar.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/mapping/MapToByte.html" target="_top">Frames</a></li>
+<li><a href="MapToByte.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.sysds.runtime.compress.colgroup.mapping</div>
+<h2 title="Class MapToByte" class="title">Class MapToByte</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.sysds.runtime.compress.colgroup.mapping.MapToByte</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html" title="interface in org.apache.sysds.runtime.compress.colgroup.mapping">IMapToData</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">MapToByte</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
+implements <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html" title="interface in org.apache.sysds.runtime.compress.colgroup.mapping">IMapToData</a></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToByte.html#MapToByte-int-">MapToByte</a></span>(int&nbsp;size)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToByte.html#fill-int-">fill</a></span>(int&nbsp;v)</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToByte.html#getIndex-int-">getIndex</a></span>(int&nbsp;n)</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToByte.html#getInMemorySize--">getInMemorySize</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>static long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToByte.html#getInMemorySize-int-">getInMemorySize</a></span>(int&nbsp;dataLength)</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToByte.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping">MapToByte</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToByte.html#readFields-java.io.DataInput-">readFields</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a>&nbsp;in)</code>&nbsp;</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToByte.html#set-int-int-">set</a></span>(int&nbsp;n,
+   int&nbsp;v)</code>&nbsp;</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToByte.html#toString--">toString</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToByte.html#write-java.io.DataOutput-">write</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataOutput.html?is-external=true" title="class or interface in java.io">DataOutput</a>&nbsp;out)</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="MapToByte-int-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>MapToByte</h4>
+<pre>public&nbsp;MapToByte(int&nbsp;size)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getIndex-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getIndex</h4>
+<pre>public&nbsp;int&nbsp;getIndex(int&nbsp;n)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html#getIndex-int-">getIndex</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html" title="interface in org.apache.sysds.runtime.compress.colgroup.mapping">IMapToData</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="fill-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>fill</h4>
+<pre>public&nbsp;void&nbsp;fill(int&nbsp;v)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html#fill-int-">fill</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html" title="interface in org.apache.sysds.runtime.compress.colgroup.mapping">IMapToData</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getInMemorySize--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getInMemorySize</h4>
+<pre>public&nbsp;long&nbsp;getInMemorySize()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html#getInMemorySize--">getInMemorySize</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html" title="interface in org.apache.sysds.runtime.compress.colgroup.mapping">IMapToData</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getInMemorySize-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getInMemorySize</h4>
+<pre>public static&nbsp;long&nbsp;getInMemorySize(int&nbsp;dataLength)</pre>
+</li>
+</ul>
+<a name="set-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>set</h4>
+<pre>public&nbsp;void&nbsp;set(int&nbsp;n,
+                int&nbsp;v)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html#set-int-int-">set</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html" title="interface in org.apache.sysds.runtime.compress.colgroup.mapping">IMapToData</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="write-java.io.DataOutput-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>write</h4>
+<pre>public&nbsp;void&nbsp;write(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataOutput.html?is-external=true" title="class or interface in java.io">DataOutput</a>&nbsp;out)
+           throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html#write-java.io.DataOutput-">write</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html" title="interface in org.apache.sysds.runtime.compress.colgroup.mapping">IMapToData</a></code></dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="readFields-java.io.DataInput-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>readFields</h4>
+<pre>public&nbsp;<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToByte.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping">MapToByte</a>&nbsp;readFields(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a>&nbsp;in)
+                     throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html#readFields-java.io.DataInput-">readFields</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html" title="interface in org.apache.sysds.runtime.compress.colgroup.mapping">IMapToData</a></code></dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="toString--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>toString</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/MapToByte.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToBit.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToChar.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/mapping/MapToByte.html" target="_top">Frames</a></li>
+<li><a href="MapToByte.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/mapping/MapToChar.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/mapping/MapToChar.html
new file mode 100644
index 0000000..3b193c1
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/mapping/MapToChar.html
@@ -0,0 +1,404 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MapToChar (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="MapToChar (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":9,"i4":10,"i5":10,"i6":10,"i7":10};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/MapToChar.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToByte.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToFactory.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/mapping/MapToChar.html" target="_top">Frames</a></li>
+<li><a href="MapToChar.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.sysds.runtime.compress.colgroup.mapping</div>
+<h2 title="Class MapToChar" class="title">Class MapToChar</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.sysds.runtime.compress.colgroup.mapping.MapToChar</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html" title="interface in org.apache.sysds.runtime.compress.colgroup.mapping">IMapToData</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">MapToChar</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
+implements <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html" title="interface in org.apache.sysds.runtime.compress.colgroup.mapping">IMapToData</a></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToChar.html#MapToChar-int-">MapToChar</a></span>(int&nbsp;size)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToChar.html#fill-int-">fill</a></span>(int&nbsp;v)</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToChar.html#getIndex-int-">getIndex</a></span>(int&nbsp;n)</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToChar.html#getInMemorySize--">getInMemorySize</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>static long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToChar.html#getInMemorySize-int-">getInMemorySize</a></span>(int&nbsp;dataLength)</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToChar.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping">MapToChar</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToChar.html#readFields-java.io.DataInput-">readFields</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a>&nbsp;in)</code>&nbsp;</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToChar.html#set-int-int-">set</a></span>(int&nbsp;n,
+   int&nbsp;v)</code>&nbsp;</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToChar.html#toString--">toString</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToChar.html#write-java.io.DataOutput-">write</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataOutput.html?is-external=true" title="class or interface in java.io">DataOutput</a>&nbsp;out)</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="MapToChar-int-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>MapToChar</h4>
+<pre>public&nbsp;MapToChar(int&nbsp;size)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getIndex-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getIndex</h4>
+<pre>public&nbsp;int&nbsp;getIndex(int&nbsp;n)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html#getIndex-int-">getIndex</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html" title="interface in org.apache.sysds.runtime.compress.colgroup.mapping">IMapToData</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="fill-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>fill</h4>
+<pre>public&nbsp;void&nbsp;fill(int&nbsp;v)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html#fill-int-">fill</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html" title="interface in org.apache.sysds.runtime.compress.colgroup.mapping">IMapToData</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getInMemorySize--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getInMemorySize</h4>
+<pre>public&nbsp;long&nbsp;getInMemorySize()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html#getInMemorySize--">getInMemorySize</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html" title="interface in org.apache.sysds.runtime.compress.colgroup.mapping">IMapToData</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getInMemorySize-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getInMemorySize</h4>
+<pre>public static&nbsp;long&nbsp;getInMemorySize(int&nbsp;dataLength)</pre>
+</li>
+</ul>
+<a name="set-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>set</h4>
+<pre>public&nbsp;void&nbsp;set(int&nbsp;n,
+                int&nbsp;v)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html#set-int-int-">set</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html" title="interface in org.apache.sysds.runtime.compress.colgroup.mapping">IMapToData</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="write-java.io.DataOutput-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>write</h4>
+<pre>public&nbsp;void&nbsp;write(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataOutput.html?is-external=true" title="class or interface in java.io">DataOutput</a>&nbsp;out)
+           throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html#write-java.io.DataOutput-">write</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html" title="interface in org.apache.sysds.runtime.compress.colgroup.mapping">IMapToData</a></code></dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="readFields-java.io.DataInput-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>readFields</h4>
+<pre>public&nbsp;<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToChar.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping">MapToChar</a>&nbsp;readFields(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a>&nbsp;in)
+                     throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html#readFields-java.io.DataInput-">readFields</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html" title="interface in org.apache.sysds.runtime.compress.colgroup.mapping">IMapToData</a></code></dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="toString--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>toString</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/MapToChar.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToByte.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToFactory.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/mapping/MapToChar.html" target="_top">Frames</a></li>
+<li><a href="MapToChar.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/mapping/MapToFactory.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/mapping/MapToFactory.html
new file mode 100644
index 0000000..348cae9
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/mapping/MapToFactory.html
@@ -0,0 +1,326 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MapToFactory (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="MapToFactory (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":9,"i1":9,"i2":9,"i3":9};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/MapToFactory.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToChar.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToInt.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/mapping/MapToFactory.html" target="_top">Frames</a></li>
+<li><a href="MapToFactory.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.sysds.runtime.compress.colgroup.mapping</div>
+<h2 title="Class MapToFactory" class="title">Class MapToFactory</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.sysds.runtime.compress.colgroup.mapping.MapToFactory</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">MapToFactory</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToFactory.html#MapToFactory--">MapToFactory</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html" title="interface in org.apache.sysds.runtime.compress.colgroup.mapping">IMapToData</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToFactory.html#create-int-int-">create</a></span>(int&nbsp;size,
+      int&nbsp;numTuples)</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>static long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToFactory.html#estimateInMemorySize-int-int-">estimateInMemorySize</a></span>(int&nbsp;size,
+                    int&nbsp;numTuples)</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>static long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToFactory.html#getExactSizeOnDisk-int-int-">getExactSizeOnDisk</a></span>(int&nbsp;size,
+                  int&nbsp;numTuples)</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html" title="interface in org.apache.sysds.runtime.compress.colgroup.mapping">IMapToData</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToFactory.html#readIn-int-java.io.DataInput-int-">readIn</a></span>(int&nbsp;size,
+      <a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a>&nbsp;in,
+      int&nbsp;numTuples)</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="MapToFactory--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>MapToFactory</h4>
+<pre>public&nbsp;MapToFactory()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="create-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>create</h4>
+<pre>public static&nbsp;<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html" title="interface in org.apache.sysds.runtime.compress.colgroup.mapping">IMapToData</a>&nbsp;create(int&nbsp;size,
+                                int&nbsp;numTuples)</pre>
+</li>
+</ul>
+<a name="estimateInMemorySize-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>estimateInMemorySize</h4>
+<pre>public static&nbsp;long&nbsp;estimateInMemorySize(int&nbsp;size,
+                                        int&nbsp;numTuples)</pre>
+</li>
+</ul>
+<a name="readIn-int-java.io.DataInput-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>readIn</h4>
+<pre>public static&nbsp;<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html" title="interface in org.apache.sysds.runtime.compress.colgroup.mapping">IMapToData</a>&nbsp;readIn(int&nbsp;size,
+                                <a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a>&nbsp;in,
+                                int&nbsp;numTuples)
+                         throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getExactSizeOnDisk-int-int-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getExactSizeOnDisk</h4>
+<pre>public static&nbsp;long&nbsp;getExactSizeOnDisk(int&nbsp;size,
+                                      int&nbsp;numTuples)</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/MapToFactory.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToChar.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToInt.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/mapping/MapToFactory.html" target="_top">Frames</a></li>
+<li><a href="MapToFactory.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/mapping/MapToInt.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/mapping/MapToInt.html
new file mode 100644
index 0000000..62bcdb6
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/mapping/MapToInt.html
@@ -0,0 +1,404 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MapToInt (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="MapToInt (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":9,"i4":10,"i5":10,"i6":10,"i7":10};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/MapToInt.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToFactory.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/mapping/MapToInt.html" target="_top">Frames</a></li>
+<li><a href="MapToInt.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.sysds.runtime.compress.colgroup.mapping</div>
+<h2 title="Class MapToInt" class="title">Class MapToInt</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.sysds.runtime.compress.colgroup.mapping.MapToInt</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html" title="interface in org.apache.sysds.runtime.compress.colgroup.mapping">IMapToData</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">MapToInt</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
+implements <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html" title="interface in org.apache.sysds.runtime.compress.colgroup.mapping">IMapToData</a></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToInt.html#MapToInt-int-">MapToInt</a></span>(int&nbsp;size)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToInt.html#fill-int-">fill</a></span>(int&nbsp;v)</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToInt.html#getIndex-int-">getIndex</a></span>(int&nbsp;n)</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToInt.html#getInMemorySize--">getInMemorySize</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>static long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToInt.html#getInMemorySize-int-">getInMemorySize</a></span>(int&nbsp;dataLength)</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToInt.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping">MapToInt</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToInt.html#readFields-java.io.DataInput-">readFields</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a>&nbsp;in)</code>&nbsp;</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToInt.html#set-int-int-">set</a></span>(int&nbsp;n,
+   int&nbsp;v)</code>&nbsp;</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToInt.html#toString--">toString</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToInt.html#write-java.io.DataOutput-">write</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataOutput.html?is-external=true" title="class or interface in java.io">DataOutput</a>&nbsp;out)</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="MapToInt-int-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>MapToInt</h4>
+<pre>public&nbsp;MapToInt(int&nbsp;size)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getIndex-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getIndex</h4>
+<pre>public&nbsp;int&nbsp;getIndex(int&nbsp;n)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html#getIndex-int-">getIndex</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html" title="interface in org.apache.sysds.runtime.compress.colgroup.mapping">IMapToData</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="fill-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>fill</h4>
+<pre>public&nbsp;void&nbsp;fill(int&nbsp;v)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html#fill-int-">fill</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html" title="interface in org.apache.sysds.runtime.compress.colgroup.mapping">IMapToData</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getInMemorySize--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getInMemorySize</h4>
+<pre>public&nbsp;long&nbsp;getInMemorySize()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html#getInMemorySize--">getInMemorySize</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html" title="interface in org.apache.sysds.runtime.compress.colgroup.mapping">IMapToData</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getInMemorySize-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getInMemorySize</h4>
+<pre>public static&nbsp;long&nbsp;getInMemorySize(int&nbsp;dataLength)</pre>
+</li>
+</ul>
+<a name="set-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>set</h4>
+<pre>public&nbsp;void&nbsp;set(int&nbsp;n,
+                int&nbsp;v)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html#set-int-int-">set</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html" title="interface in org.apache.sysds.runtime.compress.colgroup.mapping">IMapToData</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="write-java.io.DataOutput-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>write</h4>
+<pre>public&nbsp;void&nbsp;write(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataOutput.html?is-external=true" title="class or interface in java.io">DataOutput</a>&nbsp;out)
+           throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html#write-java.io.DataOutput-">write</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html" title="interface in org.apache.sysds.runtime.compress.colgroup.mapping">IMapToData</a></code></dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="readFields-java.io.DataInput-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>readFields</h4>
+<pre>public&nbsp;<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToInt.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping">MapToInt</a>&nbsp;readFields(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a>&nbsp;in)
+                    throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html#readFields-java.io.DataInput-">readFields</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html" title="interface in org.apache.sysds.runtime.compress.colgroup.mapping">IMapToData</a></code></dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="toString--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>toString</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/MapToInt.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToFactory.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/mapping/MapToInt.html" target="_top">Frames</a></li>
+<li><a href="MapToInt.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/mapping/class-use/IMapToData.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/mapping/class-use/IMapToData.html
new file mode 100644
index 0000000..261e477
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/mapping/class-use/IMapToData.html
@@ -0,0 +1,235 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.sysds.runtime.compress.colgroup.mapping.IMapToData (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Interface org.apache.sysds.runtime.compress.colgroup.mapping.IMapToData (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html" title="interface in org.apache.sysds.runtime.compress.colgroup.mapping">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/mapping/class-use/IMapToData.html" target="_top">Frames</a></li>
+<li><a href="IMapToData.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Interface org.apache.sysds.runtime.compress.colgroup.mapping.IMapToData" class="title">Uses of Interface<br>org.apache.sysds.runtime.compress.colgroup.mapping.IMapToData</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html" title="interface in org.apache.sysds.runtime.compress.colgroup.mapping">IMapToData</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.compress.colgroup.mapping">org.apache.sysds.runtime.compress.colgroup.mapping</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.compress.colgroup.tree">org.apache.sysds.runtime.compress.colgroup.tree</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.sysds.runtime.compress.colgroup.mapping">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html" title="interface in org.apache.sysds.runtime.compress.colgroup.mapping">IMapToData</a> in <a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/package-summary.html">org.apache.sysds.runtime.compress.colgroup.mapping</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/package-summary.html">org.apache.sysds.runtime.compress.colgroup.mapping</a> that implement <a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html" title="interface in org.apache.sysds.runtime.compress.colgroup.mapping">IMapToData</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToBit.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping">MapToBit</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToByte.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping">MapToByte</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToChar.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping">MapToChar</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToInt.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping">MapToInt</a></span></code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/package-summary.html">org.apache.sysds.runtime.compress.colgroup.mapping</a> that return <a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html" title="interface in org.apache.sysds.runtime.compress.colgroup.mapping">IMapToData</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html" title="interface in org.apache.sysds.runtime.compress.colgroup.mapping">IMapToData</a></code></td>
+<td class="colLast"><span class="typeNameLabel">MapToFactory.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToFactory.html#create-int-int-">create</a></span>(int&nbsp;size,
+      int&nbsp;numTuples)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html" title="interface in org.apache.sysds.runtime.compress.colgroup.mapping">IMapToData</a></code></td>
+<td class="colLast"><span class="typeNameLabel">IMapToData.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html#readFields-java.io.DataInput-">readFields</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a>&nbsp;in)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html" title="interface in org.apache.sysds.runtime.compress.colgroup.mapping">IMapToData</a></code></td>
+<td class="colLast"><span class="typeNameLabel">MapToFactory.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToFactory.html#readIn-int-java.io.DataInput-int-">readIn</a></span>(int&nbsp;size,
+      <a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a>&nbsp;in,
+      int&nbsp;numTuples)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.sysds.runtime.compress.colgroup.tree">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html" title="interface in org.apache.sysds.runtime.compress.colgroup.mapping">IMapToData</a> in <a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/package-summary.html">org.apache.sysds.runtime.compress.colgroup.tree</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/package-summary.html">org.apache.sysds.runtime.compress.colgroup.tree</a> that return <a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html" title="interface in org.apache.sysds.runtime.compress.colgroup.mapping">IMapToData</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>abstract <a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html" title="interface in org.apache.sysds.runtime.compress.colgroup.mapping">IMapToData</a></code></td>
+<td class="colLast"><span class="typeNameLabel">AInsertionSorter.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/AInsertionSorter.html#getData--">getData</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html" title="interface in org.apache.sysds.runtime.compress.colgroup.mapping">IMapToData</a></code></td>
+<td class="colLast"><span class="typeNameLabel">MergeSort.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/MergeSort.html#getData--">getData</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html" title="interface in org.apache.sysds.runtime.compress.colgroup.mapping">IMapToData</a></code></td>
+<td class="colLast"><span class="typeNameLabel">Naive.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/Naive.html#getData--">getData</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html" title="interface in org.apache.sysds.runtime.compress.colgroup.mapping">IMapToData</a></code></td>
+<td class="colLast"><span class="typeNameLabel">MaterializeSort.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/MaterializeSort.html#getData--">getData</a></span>()</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html" title="interface in org.apache.sysds.runtime.compress.colgroup.mapping">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/mapping/class-use/IMapToData.html" target="_top">Frames</a></li>
+<li><a href="IMapToData.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/mapping/class-use/MapToBit.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/mapping/class-use/MapToBit.html
new file mode 100644
index 0000000..a58851e
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/mapping/class-use/MapToBit.html
@@ -0,0 +1,165 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.sysds.runtime.compress.colgroup.mapping.MapToBit (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.sysds.runtime.compress.colgroup.mapping.MapToBit (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToBit.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/mapping/class-use/MapToBit.html" target="_top">Frames</a></li>
+<li><a href="MapToBit.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.sysds.runtime.compress.colgroup.mapping.MapToBit" class="title">Uses of Class<br>org.apache.sysds.runtime.compress.colgroup.mapping.MapToBit</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToBit.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping">MapToBit</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.compress.colgroup.mapping">org.apache.sysds.runtime.compress.colgroup.mapping</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.sysds.runtime.compress.colgroup.mapping">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToBit.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping">MapToBit</a> in <a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/package-summary.html">org.apache.sysds.runtime.compress.colgroup.mapping</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/package-summary.html">org.apache.sysds.runtime.compress.colgroup.mapping</a> that return <a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToBit.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping">MapToBit</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToBit.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping">MapToBit</a></code></td>
+<td class="colLast"><span class="typeNameLabel">MapToBit.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToBit.html#readFields-java.io.DataInput-">readFields</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a>&nbsp;in)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToBit.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/mapping/class-use/MapToBit.html" target="_top">Frames</a></li>
+<li><a href="MapToBit.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/mapping/class-use/MapToByte.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/mapping/class-use/MapToByte.html
new file mode 100644
index 0000000..ef10394
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/mapping/class-use/MapToByte.html
@@ -0,0 +1,165 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.sysds.runtime.compress.colgroup.mapping.MapToByte (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.sysds.runtime.compress.colgroup.mapping.MapToByte (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToByte.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/mapping/class-use/MapToByte.html" target="_top">Frames</a></li>
+<li><a href="MapToByte.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.sysds.runtime.compress.colgroup.mapping.MapToByte" class="title">Uses of Class<br>org.apache.sysds.runtime.compress.colgroup.mapping.MapToByte</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToByte.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping">MapToByte</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.compress.colgroup.mapping">org.apache.sysds.runtime.compress.colgroup.mapping</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.sysds.runtime.compress.colgroup.mapping">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToByte.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping">MapToByte</a> in <a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/package-summary.html">org.apache.sysds.runtime.compress.colgroup.mapping</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/package-summary.html">org.apache.sysds.runtime.compress.colgroup.mapping</a> that return <a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToByte.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping">MapToByte</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToByte.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping">MapToByte</a></code></td>
+<td class="colLast"><span class="typeNameLabel">MapToByte.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToByte.html#readFields-java.io.DataInput-">readFields</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a>&nbsp;in)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToByte.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/mapping/class-use/MapToByte.html" target="_top">Frames</a></li>
+<li><a href="MapToByte.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/mapping/class-use/MapToChar.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/mapping/class-use/MapToChar.html
new file mode 100644
index 0000000..5c1d092
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/mapping/class-use/MapToChar.html
@@ -0,0 +1,165 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.sysds.runtime.compress.colgroup.mapping.MapToChar (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.sysds.runtime.compress.colgroup.mapping.MapToChar (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToChar.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/mapping/class-use/MapToChar.html" target="_top">Frames</a></li>
+<li><a href="MapToChar.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.sysds.runtime.compress.colgroup.mapping.MapToChar" class="title">Uses of Class<br>org.apache.sysds.runtime.compress.colgroup.mapping.MapToChar</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToChar.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping">MapToChar</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.compress.colgroup.mapping">org.apache.sysds.runtime.compress.colgroup.mapping</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.sysds.runtime.compress.colgroup.mapping">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToChar.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping">MapToChar</a> in <a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/package-summary.html">org.apache.sysds.runtime.compress.colgroup.mapping</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/package-summary.html">org.apache.sysds.runtime.compress.colgroup.mapping</a> that return <a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToChar.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping">MapToChar</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToChar.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping">MapToChar</a></code></td>
+<td class="colLast"><span class="typeNameLabel">MapToChar.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToChar.html#readFields-java.io.DataInput-">readFields</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a>&nbsp;in)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToChar.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/mapping/class-use/MapToChar.html" target="_top">Frames</a></li>
+<li><a href="MapToChar.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/mapping/class-use/MapToFactory.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/mapping/class-use/MapToFactory.html
new file mode 100644
index 0000000..ac7901f
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/mapping/class-use/MapToFactory.html
@@ -0,0 +1,125 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.sysds.runtime.compress.colgroup.mapping.MapToFactory (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.sysds.runtime.compress.colgroup.mapping.MapToFactory (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToFactory.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/mapping/class-use/MapToFactory.html" target="_top">Frames</a></li>
+<li><a href="MapToFactory.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.sysds.runtime.compress.colgroup.mapping.MapToFactory" class="title">Uses of Class<br>org.apache.sysds.runtime.compress.colgroup.mapping.MapToFactory</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.sysds.runtime.compress.colgroup.mapping.MapToFactory</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToFactory.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/mapping/class-use/MapToFactory.html" target="_top">Frames</a></li>
+<li><a href="MapToFactory.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/mapping/class-use/MapToInt.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/mapping/class-use/MapToInt.html
new file mode 100644
index 0000000..4000865
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/mapping/class-use/MapToInt.html
@@ -0,0 +1,165 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.sysds.runtime.compress.colgroup.mapping.MapToInt (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.sysds.runtime.compress.colgroup.mapping.MapToInt (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToInt.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/mapping/class-use/MapToInt.html" target="_top">Frames</a></li>
+<li><a href="MapToInt.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.sysds.runtime.compress.colgroup.mapping.MapToInt" class="title">Uses of Class<br>org.apache.sysds.runtime.compress.colgroup.mapping.MapToInt</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToInt.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping">MapToInt</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.compress.colgroup.mapping">org.apache.sysds.runtime.compress.colgroup.mapping</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.sysds.runtime.compress.colgroup.mapping">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToInt.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping">MapToInt</a> in <a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/package-summary.html">org.apache.sysds.runtime.compress.colgroup.mapping</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/package-summary.html">org.apache.sysds.runtime.compress.colgroup.mapping</a> that return <a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToInt.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping">MapToInt</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToInt.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping">MapToInt</a></code></td>
+<td class="colLast"><span class="typeNameLabel">MapToInt.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToInt.html#readFields-java.io.DataInput-">readFields</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a>&nbsp;in)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToInt.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/mapping/class-use/MapToInt.html" target="_top">Frames</a></li>
+<li><a href="MapToInt.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/mapping/package-frame.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/mapping/package-frame.html
new file mode 100644
index 0000000..bfe1bec
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/mapping/package-frame.html
@@ -0,0 +1,28 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.sysds.runtime.compress.colgroup.mapping (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<h1 class="bar"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/package-summary.html" target="classFrame">org.apache.sysds.runtime.compress.colgroup.mapping</a></h1>
+<div class="indexContainer">
+<h2 title="Interfaces">Interfaces</h2>
+<ul title="Interfaces">
+<li><a href="IMapToData.html" title="interface in org.apache.sysds.runtime.compress.colgroup.mapping" target="classFrame"><span class="interfaceName">IMapToData</span></a></li>
+</ul>
+<h2 title="Classes">Classes</h2>
+<ul title="Classes">
+<li><a href="MapToBit.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping" target="classFrame">MapToBit</a></li>
+<li><a href="MapToByte.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping" target="classFrame">MapToByte</a></li>
+<li><a href="MapToChar.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping" target="classFrame">MapToChar</a></li>
+<li><a href="MapToFactory.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping" target="classFrame">MapToFactory</a></li>
+<li><a href="MapToInt.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping" target="classFrame">MapToInt</a></li>
+</ul>
+</div>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/mapping/package-summary.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/mapping/package-summary.html
new file mode 100644
index 0000000..f2ba9a7
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/mapping/package-summary.html
@@ -0,0 +1,174 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.sysds.runtime.compress.colgroup.mapping (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.sysds.runtime.compress.colgroup.mapping (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/mapping/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Package" class="title">Package&nbsp;org.apache.sysds.runtime.compress.colgroup.mapping</h1>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Interface Summary table, listing interfaces, and an explanation">
+<caption><span>Interface Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Interface</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html" title="interface in org.apache.sysds.runtime.compress.colgroup.mapping">IMapToData</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
+<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Class</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToBit.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping">MapToBit</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToByte.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping">MapToByte</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToChar.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping">MapToChar</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToFactory.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping">MapToFactory</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToInt.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping">MapToInt</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/mapping/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/mapping/package-tree.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/mapping/package-tree.html
new file mode 100644
index 0000000..cd54787
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/mapping/package-tree.html
@@ -0,0 +1,146 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.sysds.runtime.compress.colgroup.mapping Class Hierarchy (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.sysds.runtime.compress.colgroup.mapping Class Hierarchy (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/package-tree.html">Prev</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/mapping/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 class="title">Hierarchy For Package org.apache.sysds.runtime.compress.colgroup.mapping</h1>
+<span class="packageHierarchyLabel">Package Hierarchies:</span>
+<ul class="horizontal">
+<li><a href="../../../../../../../overview-tree.html">All Packages</a></li>
+</ul>
+</div>
+<div class="contentContainer">
+<h2 title="Class Hierarchy">Class Hierarchy</h2>
+<ul>
+<li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
+<ul>
+<li type="circle">org.apache.sysds.runtime.compress.colgroup.mapping.<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToBit.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping"><span class="typeNameLink">MapToBit</span></a> (implements org.apache.sysds.runtime.compress.colgroup.mapping.<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html" title="interface in org.apache.sysds.runtime.compress.colgroup.mapping">IMapToData</a>)</li>
+<li type="circle">org.apache.sysds.runtime.compress.colgroup.mapping.<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToByte.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping"><span class="typeNameLink">MapToByte</span></a> (implements org.apache.sysds.runtime.compress.colgroup.mapping.<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html" title="interface in org.apache.sysds.runtime.compress.colgroup.mapping">IMapToData</a>)</li>
+<li type="circle">org.apache.sysds.runtime.compress.colgroup.mapping.<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToChar.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping"><span class="typeNameLink">MapToChar</span></a> (implements org.apache.sysds.runtime.compress.colgroup.mapping.<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html" title="interface in org.apache.sysds.runtime.compress.colgroup.mapping">IMapToData</a>)</li>
+<li type="circle">org.apache.sysds.runtime.compress.colgroup.mapping.<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToFactory.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping"><span class="typeNameLink">MapToFactory</span></a></li>
+<li type="circle">org.apache.sysds.runtime.compress.colgroup.mapping.<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/MapToInt.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping"><span class="typeNameLink">MapToInt</span></a> (implements org.apache.sysds.runtime.compress.colgroup.mapping.<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html" title="interface in org.apache.sysds.runtime.compress.colgroup.mapping">IMapToData</a>)</li>
+</ul>
+</li>
+</ul>
+<h2 title="Interface Hierarchy">Interface Hierarchy</h2>
+<ul>
+<li type="circle">org.apache.sysds.runtime.compress.colgroup.mapping.<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html" title="interface in org.apache.sysds.runtime.compress.colgroup.mapping"><span class="typeNameLink">IMapToData</span></a></li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/package-tree.html">Prev</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/mapping/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/mapping/package-use.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/mapping/package-use.html
new file mode 100644
index 0000000..9bf42c9
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/mapping/package-use.html
@@ -0,0 +1,189 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.sysds.runtime.compress.colgroup.mapping (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Package org.apache.sysds.runtime.compress.colgroup.mapping (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/mapping/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Uses of Package org.apache.sysds.runtime.compress.colgroup.mapping" class="title">Uses of Package<br>org.apache.sysds.runtime.compress.colgroup.mapping</h1>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/package-summary.html">org.apache.sysds.runtime.compress.colgroup.mapping</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.compress.colgroup.mapping">org.apache.sysds.runtime.compress.colgroup.mapping</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.compress.colgroup.tree">org.apache.sysds.runtime.compress.colgroup.tree</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.sysds.runtime.compress.colgroup.mapping">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/package-summary.html">org.apache.sysds.runtime.compress.colgroup.mapping</a> used by <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/package-summary.html">org.apache.sysds.runtime.compress.colgroup.mapping</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/class-use/IMapToData.html#org.apache.sysds.runtime.compress.colgroup.mapping">IMapToData</a>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/class-use/MapToBit.html#org.apache.sysds.runtime.compress.colgroup.mapping">MapToBit</a>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/class-use/MapToByte.html#org.apache.sysds.runtime.compress.colgroup.mapping">MapToByte</a>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/class-use/MapToChar.html#org.apache.sysds.runtime.compress.colgroup.mapping">MapToChar</a>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/class-use/MapToInt.html#org.apache.sysds.runtime.compress.colgroup.mapping">MapToInt</a>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.sysds.runtime.compress.colgroup.tree">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/package-summary.html">org.apache.sysds.runtime.compress.colgroup.mapping</a> used by <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/package-summary.html">org.apache.sysds.runtime.compress.colgroup.tree</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/class-use/IMapToData.html#org.apache.sysds.runtime.compress.colgroup.tree">IMapToData</a>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/mapping/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/package-frame.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/package-frame.html
index e808375..2987def 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/package-frame.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/package-frame.html
@@ -13,29 +13,31 @@
 <div class="indexContainer">
 <h2 title="Classes">Classes</h2>
 <ul title="Classes">
+<li><a href="AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup" target="classFrame">AColGroup</a></li>
 <li><a href="ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup" target="classFrame">ADictionary</a></li>
-<li><a href="ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup" target="classFrame">ColGroup</a></li>
 <li><a href="ColGroupConst.html" title="class in org.apache.sysds.runtime.compress.colgroup" target="classFrame">ColGroupConst</a></li>
 <li><a href="ColGroupConverter.html" title="class in org.apache.sysds.runtime.compress.colgroup" target="classFrame">ColGroupConverter</a></li>
 <li><a href="ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup" target="classFrame">ColGroupDDC</a></li>
-<li><a href="ColGroupDDC1.html" title="class in org.apache.sysds.runtime.compress.colgroup" target="classFrame">ColGroupDDC1</a></li>
-<li><a href="ColGroupDDC2.html" title="class in org.apache.sysds.runtime.compress.colgroup" target="classFrame">ColGroupDDC2</a></li>
+<li><a href="ColGroupEmpty.html" title="class in org.apache.sysds.runtime.compress.colgroup" target="classFrame">ColGroupEmpty</a></li>
 <li><a href="ColGroupFactory.html" title="class in org.apache.sysds.runtime.compress.colgroup" target="classFrame">ColGroupFactory</a></li>
 <li><a href="ColGroupIO.html" title="class in org.apache.sysds.runtime.compress.colgroup" target="classFrame">ColGroupIO</a></li>
 <li><a href="ColGroupOffset.html" title="class in org.apache.sysds.runtime.compress.colgroup" target="classFrame">ColGroupOffset</a></li>
 <li><a href="ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup" target="classFrame">ColGroupOLE</a></li>
 <li><a href="ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup" target="classFrame">ColGroupRLE</a></li>
+<li><a href="ColGroupSDC.html" title="class in org.apache.sysds.runtime.compress.colgroup" target="classFrame">ColGroupSDC</a></li>
+<li><a href="ColGroupSDCSingle.html" title="class in org.apache.sysds.runtime.compress.colgroup" target="classFrame">ColGroupSDCSingle</a></li>
+<li><a href="ColGroupSDCSingleZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup" target="classFrame">ColGroupSDCSingleZeros</a></li>
+<li><a href="ColGroupSDCZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup" target="classFrame">ColGroupSDCZeros</a></li>
 <li><a href="ColGroupSizes.html" title="class in org.apache.sysds.runtime.compress.colgroup" target="classFrame">ColGroupSizes</a></li>
 <li><a href="ColGroupUncompressed.html" title="class in org.apache.sysds.runtime.compress.colgroup" target="classFrame">ColGroupUncompressed</a></li>
 <li><a href="ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup" target="classFrame">ColGroupValue</a></li>
-<li><a href="DenseRowIterator.html" title="class in org.apache.sysds.runtime.compress.colgroup" target="classFrame">DenseRowIterator</a></li>
 <li><a href="Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup" target="classFrame">Dictionary</a></li>
 <li><a href="QDictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup" target="classFrame">QDictionary</a></li>
-<li><a href="SparseRowIterator.html" title="class in org.apache.sysds.runtime.compress.colgroup" target="classFrame">SparseRowIterator</a></li>
 </ul>
 <h2 title="Enums">Enums</h2>
 <ul title="Enums">
-<li><a href="ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup" target="classFrame">ColGroup.CompressionType</a></li>
+<li><a href="AColGroup.ColGroupType.html" title="enum in org.apache.sysds.runtime.compress.colgroup" target="classFrame">AColGroup.ColGroupType</a></li>
+<li><a href="AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup" target="classFrame">AColGroup.CompressionType</a></li>
 </ul>
 </div>
 </body>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/package-summary.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/package-summary.html
index cb152ec..21477d2 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/package-summary.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/package-summary.html
@@ -44,7 +44,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/package-summary.html">Prev&nbsp;Package</a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/estim/package-summary.html">Next&nbsp;Package</a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/package-summary.html">Next&nbsp;Package</a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/package-summary.html" target="_top">Frames</a></li>
@@ -83,18 +83,18 @@
 </tr>
 <tbody>
 <tr class="altColor">
+<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></td>
+<td class="colLast">
+<div class="block">Class that stores information about a column group within a compressed matrix block.</div>
+</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></td>
 <td class="colLast">
 <div class="block">This dictionary class aims to encapsulate the storage and operations over unique floating point values of a column
  group.</div>
 </td>
 </tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></td>
-<td class="colLast">
-<div class="block">Class that stores information about a column group within a compressed matrix block.</div>
-</td>
-</tr>
 <tr class="altColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupConst</a></td>
 <td class="colLast">&nbsp;</td>
@@ -112,71 +112,81 @@
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC1</a></td>
-<td class="colLast">
-<div class="block">Class to encapsulate information about a column group that is encoded with dense dictionary encoding (DDC) using 1
- byte codes.</div>
-</td>
+<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupEmpty</a></td>
+<td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC2</a></td>
-<td class="colLast">
-<div class="block">Class to encapsulate information about a column group that is encoded with dense dictionary encoding (DDC) using 2
- byte codes.</div>
-</td>
-</tr>
-<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupFactory.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupFactory</a></td>
 <td class="colLast">
 <div class="block">Factory pattern for constructing ColGroups.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupIO.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupIO</a></td>
 <td class="colLast">
 <div class="block">This has the IO responsibility of ColGroups, such that it enables to read and write ColGroups to and from a DataInput
  and DataOutput</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOffset</a></td>
 <td class="colLast">
 <div class="block">Base class for column groups encoded with various types of bitmap encoding.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOLE</a></td>
 <td class="colLast">
 <div class="block">Class to encapsulate information about a column group that is encoded with simple lists of offsets for each set of
  distinct values.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupRLE</a></td>
 <td class="colLast">
 <div class="block">A group of columns compressed with a single run-length encoded bitmap.</div>
 </td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDC</a></td>
+<td class="colLast">
+<div class="block">Column group that sparsely encodes the dictionary values.</div>
+</td>
+</tr>
 <tr class="altColor">
+<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingle</a></td>
+<td class="colLast">
+<div class="block">Column group that sparsely encodes the dictionary values.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingleZeros</a></td>
+<td class="colLast">
+<div class="block">Column group that sparsely encodes the dictionary values.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCZeros</a></td>
+<td class="colLast">
+<div class="block">Column group that sparsely encodes the dictionary values.</div>
+</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSizes.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSizes</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupUncompressed</a></td>
 <td class="colLast">
 <div class="block">Column group type for columns that are stored as dense arrays of doubles.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></td>
 <td class="colLast">
 <div class="block">Base class for column groups encoded with value dictionary.</div>
 </td>
 </tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/DenseRowIterator.html" title="class in org.apache.sysds.runtime.compress.colgroup">DenseRowIterator</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
 <tr class="altColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">Dictionary</a></td>
 <td class="colLast">
@@ -191,10 +201,6 @@
  group.</div>
 </td>
 </tr>
-<tr class="altColor">
-<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/SparseRowIterator.html" title="class in org.apache.sysds.runtime.compress.colgroup">SparseRowIterator</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
 </tbody>
 </table>
 </li>
@@ -207,7 +213,15 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a></td>
+<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.ColGroupType</a></td>
+<td class="colLast">
+<div class="block">Concrete ColGroupType
+ 
+ Protected such that outside the ColGroup package it should be unknown which specific subtype is used.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a></td>
 <td class="colLast">
 <div class="block">Public Group types supported
  
@@ -241,7 +255,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/package-summary.html">Prev&nbsp;Package</a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/estim/package-summary.html">Next&nbsp;Package</a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/package-summary.html">Next&nbsp;Package</a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/package-summary.html" target="_top">Frames</a></li>
@@ -266,6 +280,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/package-tree.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/package-tree.html
index 46f5acc..e437fd4 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/package-tree.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/package-tree.html
@@ -44,7 +44,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/package-tree.html">Prev</a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/estim/package-tree.html">Next</a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/package-tree.html">Next</a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/package-tree.html" target="_top">Frames</a></li>
@@ -81,40 +81,38 @@
 <ul>
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
 <ul>
-<li type="circle">org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">ADictionary</span></a>
-<ul>
-<li type="circle">org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Dictionary</span></a></li>
-<li type="circle">org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">QDictionary</span></a></li>
-</ul>
-</li>
-<li type="circle">org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">ColGroup</span></a> (implements java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
+<li type="circle">org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">AColGroup</span></a> (implements java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
 <li type="circle">org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">ColGroupUncompressed</span></a></li>
 <li type="circle">org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">ColGroupValue</span></a> (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Cloneable.html?is-external=true" title="class or interface in java.lang">Cloneable</a>)
 <ul>
 <li type="circle">org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">ColGroupConst</span></a></li>
-<li type="circle">org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">ColGroupDDC</span></a>
-<ul>
-<li type="circle">org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">ColGroupDDC1</span></a></li>
-<li type="circle">org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">ColGroupDDC2</span></a></li>
-</ul>
-</li>
+<li type="circle">org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">ColGroupDDC</span></a></li>
+<li type="circle">org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">ColGroupEmpty</span></a></li>
 <li type="circle">org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">ColGroupOffset</span></a>
 <ul>
 <li type="circle">org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">ColGroupOLE</span></a></li>
 <li type="circle">org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">ColGroupRLE</span></a></li>
 </ul>
 </li>
+<li type="circle">org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">ColGroupSDC</span></a></li>
+<li type="circle">org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">ColGroupSDCSingle</span></a></li>
+<li type="circle">org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">ColGroupSDCSingleZeros</span></a></li>
+<li type="circle">org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">ColGroupSDCZeros</span></a></li>
 </ul>
 </li>
 </ul>
 </li>
+<li type="circle">org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">ADictionary</span></a>
+<ul>
+<li type="circle">org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Dictionary</span></a></li>
+<li type="circle">org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">QDictionary</span></a></li>
+</ul>
+</li>
 <li type="circle">org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConverter.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">ColGroupConverter</span></a></li>
 <li type="circle">org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupFactory.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">ColGroupFactory</span></a></li>
 <li type="circle">org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupIO.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">ColGroupIO</span></a></li>
 <li type="circle">org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSizes.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">ColGroupSizes</span></a></li>
-<li type="circle">org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/DenseRowIterator.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">DenseRowIterator</span></a></li>
-<li type="circle">org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/SparseRowIterator.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">SparseRowIterator</span></a></li>
 </ul>
 </li>
 </ul>
@@ -124,7 +122,8 @@
 <ul>
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">ColGroup.CompressionType</span></a></li>
+<li type="circle">org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html" title="enum in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">AColGroup.ColGroupType</span></a></li>
+<li type="circle">org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">AColGroup.CompressionType</span></a></li>
 </ul>
 </li>
 </ul>
@@ -153,7 +152,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/package-tree.html">Prev</a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/estim/package-tree.html">Next</a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/package-tree.html">Next</a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/package-tree.html" target="_top">Frames</a></li>
@@ -178,6 +177,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/package-use.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/package-use.html
index 65153fd..3b2305e 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/package-use.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/package-use.html
@@ -98,10 +98,6 @@
 <td class="colFirst"><a href="#org.apache.sysds.runtime.compress.lib">org.apache.sysds.runtime.compress.lib</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
-<td class="colFirst"><a href="#org.apache.sysds.runtime.compress.utils">org.apache.sysds.runtime.compress.utils</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
 </tbody>
 </table>
 </li>
@@ -115,17 +111,29 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/class-use/ColGroup.html#org.apache.sysds.runtime.compress">ColGroup</a>
+<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/class-use/AColGroup.html#org.apache.sysds.runtime.compress">AColGroup</a>
 <div class="block">Class that stores information about a column group within a compressed matrix block.</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/class-use/ColGroup.CompressionType.html#org.apache.sysds.runtime.compress">ColGroup.CompressionType</a>
+<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/class-use/AColGroup.ColGroupType.html#org.apache.sysds.runtime.compress">AColGroup.ColGroupType</a>
+<div class="block">Concrete ColGroupType
+ 
+ Protected such that outside the ColGroup package it should be unknown which specific subtype is used.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/class-use/AColGroup.CompressionType.html#org.apache.sysds.runtime.compress">AColGroup.CompressionType</a>
 <div class="block">Public Group types supported
  
  Note For instance DDC is called DDC not DDC1, or DDC2 which is a specific subtype of the DDC.</div>
 </td>
 </tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/class-use/ColGroupUncompressed.html#org.apache.sysds.runtime.compress">ColGroupUncompressed</a>
+<div class="block">Column group type for columns that are stored as dense arrays of doubles.</div>
+</td>
+</tr>
 </tbody>
 </table>
 </li>
@@ -139,22 +147,32 @@
 </tr>
 <tbody>
 <tr class="altColor">
+<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/class-use/AColGroup.html#org.apache.sysds.runtime.compress.colgroup">AColGroup</a>
+<div class="block">Class that stores information about a column group within a compressed matrix block.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/class-use/AColGroup.ColGroupType.html#org.apache.sysds.runtime.compress.colgroup">AColGroup.ColGroupType</a>
+<div class="block">Concrete ColGroupType
+ 
+ Protected such that outside the ColGroup package it should be unknown which specific subtype is used.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/class-use/AColGroup.CompressionType.html#org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a>
+<div class="block">Public Group types supported
+ 
+ Note For instance DDC is called DDC not DDC1, or DDC2 which is a specific subtype of the DDC.</div>
+</td>
+</tr>
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/class-use/ADictionary.html#org.apache.sysds.runtime.compress.colgroup">ADictionary</a>
 <div class="block">This dictionary class aims to encapsulate the storage and operations over unique floating point values of a column
  group.</div>
 </td>
 </tr>
-<tr class="rowColor">
-<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/class-use/ColGroup.html#org.apache.sysds.runtime.compress.colgroup">ColGroup</a>
-<div class="block">Class that stores information about a column group within a compressed matrix block.</div>
-</td>
-</tr>
 <tr class="altColor">
-<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/class-use/ColGroup.CompressionType.html#org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>
-<div class="block">Public Group types supported
- 
- Note For instance DDC is called DDC not DDC1, or DDC2 which is a specific subtype of the DDC.</div>
-</td>
+<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/class-use/ColGroupConst.html#org.apache.sysds.runtime.compress.colgroup">ColGroupConst</a>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/class-use/ColGroupDDC.html#org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a>
@@ -162,22 +180,56 @@
 </td>
 </tr>
 <tr class="altColor">
+<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/class-use/ColGroupEmpty.html#org.apache.sysds.runtime.compress.colgroup">ColGroupEmpty</a>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/class-use/ColGroupOffset.html#org.apache.sysds.runtime.compress.colgroup">ColGroupOffset</a>
 <div class="block">Base class for column groups encoded with various types of bitmap encoding.</div>
 </td>
 </tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/class-use/ColGroupOLE.html#org.apache.sysds.runtime.compress.colgroup">ColGroupOLE</a>
+<div class="block">Class to encapsulate information about a column group that is encoded with simple lists of offsets for each set of
+ distinct values.</div>
+</td>
+</tr>
 <tr class="rowColor">
+<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/class-use/ColGroupRLE.html#org.apache.sysds.runtime.compress.colgroup">ColGroupRLE</a>
+<div class="block">A group of columns compressed with a single run-length encoded bitmap.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/class-use/ColGroupSDC.html#org.apache.sysds.runtime.compress.colgroup">ColGroupSDC</a>
+<div class="block">Column group that sparsely encodes the dictionary values.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/class-use/ColGroupSDCSingle.html#org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingle</a>
+<div class="block">Column group that sparsely encodes the dictionary values.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/class-use/ColGroupSDCSingleZeros.html#org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingleZeros</a>
+<div class="block">Column group that sparsely encodes the dictionary values.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/class-use/ColGroupSDCZeros.html#org.apache.sysds.runtime.compress.colgroup">ColGroupSDCZeros</a>
+<div class="block">Column group that sparsely encodes the dictionary values.</div>
+</td>
+</tr>
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/class-use/ColGroupValue.html#org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a>
 <div class="block">Base class for column groups encoded with value dictionary.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/class-use/Dictionary.html#org.apache.sysds.runtime.compress.colgroup">Dictionary</a>
 <div class="block">This dictionary class aims to encapsulate the storage and operations over unique floating point values of a column
  group.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/class-use/QDictionary.html#org.apache.sysds.runtime.compress.colgroup">QDictionary</a>
 <div class="block">This dictionary class aims to encapsulate the storage and operations over unique floating point values of a column
  group.</div>
@@ -196,7 +248,7 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/class-use/ColGroup.CompressionType.html#org.apache.sysds.runtime.compress.estim">ColGroup.CompressionType</a>
+<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/class-use/AColGroup.CompressionType.html#org.apache.sysds.runtime.compress.estim">AColGroup.CompressionType</a>
 <div class="block">Public Group types supported
  
  Note For instance DDC is called DDC not DDC1, or DDC2 which is a specific subtype of the DDC.</div>
@@ -215,24 +267,7 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/class-use/ColGroup.html#org.apache.sysds.runtime.compress.lib">ColGroup</a>
-<div class="block">Class that stores information about a column group within a compressed matrix block.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList"><a name="org.apache.sysds.runtime.compress.utils">
-<!--   -->
-</a>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
-<caption><span>Classes in <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a> used by <a href="../../../../../../org/apache/sysds/runtime/compress/utils/package-summary.html">org.apache.sysds.runtime.compress.utils</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Class and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/class-use/ColGroup.html#org.apache.sysds.runtime.compress.utils">ColGroup</a>
+<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/class-use/AColGroup.html#org.apache.sysds.runtime.compress.lib">AColGroup</a>
 <div class="block">Class that stores information about a column group within a compressed matrix block.</div>
 </td>
 </tr>
@@ -288,6 +323,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/pre/ArrPreAggregate.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/pre/ArrPreAggregate.html
new file mode 100644
index 0000000..7ae98b9
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/pre/ArrPreAggregate.html
@@ -0,0 +1,365 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>ArrPreAggregate (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="ArrPreAggregate (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ArrPreAggregate.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev&nbsp;Class</li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/pre/ArrPreAggregate.html" target="_top">Frames</a></li>
+<li><a href="ArrPreAggregate.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.sysds.runtime.compress.colgroup.pre</div>
+<h2 title="Class ArrPreAggregate" class="title">Class ArrPreAggregate</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.sysds.runtime.compress.colgroup.pre.ArrPreAggregate</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">ArrPreAggregate</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
+implements <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!--   -->
+</a>
+<h3>Field Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.pre.IPreAggregate">
+<!--   -->
+</a>
+<h3>Fields inherited from interface&nbsp;org.apache.sysds.runtime.compress.colgroup.pre.<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></h3>
+<code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html#aggPool">aggPool</a>, <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html#LOG">LOG</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/ArrPreAggregate.html#ArrPreAggregate-int:A-">ArrPreAggregate</a></span>(int[]&nbsp;arr)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>int[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/ArrPreAggregate.html#getArr--">getArr</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/ArrPreAggregate.html#increment-int-">increment</a></span>(int&nbsp;idx)</code>
+<div class="block">Increment index by 1.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/ArrPreAggregate.html#increment-int-int-">increment</a></span>(int&nbsp;idx,
+         int&nbsp;v)</code>
+<div class="block">Increment the index by v values.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/ArrPreAggregate.html#toString--">toString</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.pre.IPreAggregate">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.sysds.runtime.compress.colgroup.pre.<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></h3>
+<code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html#allocIVector-int-boolean-">allocIVector</a>, <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html#cleanupThreadLocalMemory--">cleanupThreadLocalMemory</a>, <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html#setupThreadLocalMemory-int-">setupThreadLocalMemory</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="ArrPreAggregate-int:A-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>ArrPreAggregate</h4>
+<pre>public&nbsp;ArrPreAggregate(int[]&nbsp;arr)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getArr--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getArr</h4>
+<pre>public&nbsp;int[]&nbsp;getArr()</pre>
+</li>
+</ul>
+<a name="increment-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>increment</h4>
+<pre>public&nbsp;void&nbsp;increment(int&nbsp;idx)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html#increment-int-">IPreAggregate</a></code></span></div>
+<div class="block">Increment index by 1.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html#increment-int-">increment</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>idx</code> - The index to increment.</dd>
+</dl>
+</li>
+</ul>
+<a name="increment-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>increment</h4>
+<pre>public&nbsp;void&nbsp;increment(int&nbsp;idx,
+                      int&nbsp;v)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html#increment-int-int-">IPreAggregate</a></code></span></div>
+<div class="block">Increment the index by v values.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html#increment-int-int-">increment</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>idx</code> - The index to increment.</dd>
+<dd><code>v</code> - The number of values to increment.</dd>
+</dl>
+</li>
+</ul>
+<a name="toString--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>toString</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ArrPreAggregate.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev&nbsp;Class</li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/pre/ArrPreAggregate.html" target="_top">Frames</a></li>
+<li><a href="ArrPreAggregate.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html
new file mode 100644
index 0000000..d860f52
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html
@@ -0,0 +1,346 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>IPreAggregate (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="IPreAggregate (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":17,"i1":17,"i2":6,"i3":6,"i4":17};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],16:["t5","Default Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/IPreAggregate.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/ArrPreAggregate.html" title="class in org.apache.sysds.runtime.compress.colgroup.pre"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/MapPreAggregate.html" title="class in org.apache.sysds.runtime.compress.colgroup.pre"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" target="_top">Frames</a></li>
+<li><a href="IPreAggregate.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.sysds.runtime.compress.colgroup.pre</div>
+<h2 title="Interface IPreAggregate" class="title">Interface IPreAggregate</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Known Implementing Classes:</dt>
+<dd><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/ArrPreAggregate.html" title="class in org.apache.sysds.runtime.compress.colgroup.pre">ArrPreAggregate</a>, <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/MapPreAggregate.html" title="class in org.apache.sysds.runtime.compress.colgroup.pre">MapPreAggregate</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public interface <span class="typeNameLabel">IPreAggregate</span></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!--   -->
+</a>
+<h3>Field Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
+<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/ThreadLocal.html?is-external=true" title="class or interface in java.lang">ThreadLocal</a>&lt;int[]&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html#aggPool">aggPool</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static org.apache.commons.logging.Log</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html#LOG">LOG</a></span></code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t5" class="tableTab"><span><a href="javascript:show(16);">Default Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>static int[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html#allocIVector-int-boolean-">allocIVector</a></span>(int&nbsp;len,
+            boolean&nbsp;reset)</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html#cleanupThreadLocalMemory--">cleanupThreadLocalMemory</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html#increment-int-">increment</a></span>(int&nbsp;idx)</code>
+<div class="block">Increment index by 1.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html#increment-int-int-">increment</a></span>(int&nbsp;idx,
+         int&nbsp;v)</code>
+<div class="block">Increment the index by v values.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html#setupThreadLocalMemory-int-">setupThreadLocalMemory</a></span>(int&nbsp;len)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ FIELD DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.detail">
+<!--   -->
+</a>
+<h3>Field Detail</h3>
+<a name="LOG">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>LOG</h4>
+<pre>static final&nbsp;org.apache.commons.logging.Log LOG</pre>
+</li>
+</ul>
+<a name="aggPool">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>aggPool</h4>
+<pre>static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/ThreadLocal.html?is-external=true" title="class or interface in java.lang">ThreadLocal</a>&lt;int[]&gt; aggPool</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="setupThreadLocalMemory-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setupThreadLocalMemory</h4>
+<pre>static&nbsp;void&nbsp;setupThreadLocalMemory(int&nbsp;len)</pre>
+</li>
+</ul>
+<a name="cleanupThreadLocalMemory--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>cleanupThreadLocalMemory</h4>
+<pre>static&nbsp;void&nbsp;cleanupThreadLocalMemory()</pre>
+</li>
+</ul>
+<a name="allocIVector-int-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>allocIVector</h4>
+<pre>static&nbsp;int[]&nbsp;allocIVector(int&nbsp;len,
+                          boolean&nbsp;reset)</pre>
+</li>
+</ul>
+<a name="increment-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>increment</h4>
+<pre>void&nbsp;increment(int&nbsp;idx)</pre>
+<div class="block">Increment index by 1.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>idx</code> - The index to increment.</dd>
+</dl>
+</li>
+</ul>
+<a name="increment-int-int-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>increment</h4>
+<pre>void&nbsp;increment(int&nbsp;idx,
+               int&nbsp;v)</pre>
+<div class="block">Increment the index by v values.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>idx</code> - The index to increment.</dd>
+<dd><code>v</code> - The number of values to increment.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/IPreAggregate.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/ArrPreAggregate.html" title="class in org.apache.sysds.runtime.compress.colgroup.pre"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/MapPreAggregate.html" title="class in org.apache.sysds.runtime.compress.colgroup.pre"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" target="_top">Frames</a></li>
+<li><a href="IPreAggregate.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/pre/MapPreAggregate.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/pre/MapPreAggregate.html
new file mode 100644
index 0000000..64ac591
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/pre/MapPreAggregate.html
@@ -0,0 +1,357 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MapPreAggregate (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="MapPreAggregate (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/MapPreAggregate.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/PreAggregateFactory.html" title="class in org.apache.sysds.runtime.compress.colgroup.pre"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/pre/MapPreAggregate.html" target="_top">Frames</a></li>
+<li><a href="MapPreAggregate.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.sysds.runtime.compress.colgroup.pre</div>
+<h2 title="Class MapPreAggregate" class="title">Class MapPreAggregate</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.sysds.runtime.compress.colgroup.pre.MapPreAggregate</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">MapPreAggregate</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
+implements <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!--   -->
+</a>
+<h3>Field Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.pre.IPreAggregate">
+<!--   -->
+</a>
+<h3>Fields inherited from interface&nbsp;org.apache.sysds.runtime.compress.colgroup.pre.<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></h3>
+<code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html#aggPool">aggPool</a>, <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html#LOG">LOG</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>int[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/MapPreAggregate.html#getMap--">getMap</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/MapPreAggregate.html#getMapFreeValue--">getMapFreeValue</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/MapPreAggregate.html#getSize--">getSize</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/MapPreAggregate.html#increment-int-">increment</a></span>(int&nbsp;idx)</code>
+<div class="block">Increment index by 1.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/MapPreAggregate.html#increment-int-int-">increment</a></span>(int&nbsp;idx,
+         int&nbsp;v)</code>
+<div class="block">Increment the index by v values.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/MapPreAggregate.html#toString--">toString</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.pre.IPreAggregate">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.sysds.runtime.compress.colgroup.pre.<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></h3>
+<code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html#allocIVector-int-boolean-">allocIVector</a>, <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html#cleanupThreadLocalMemory--">cleanupThreadLocalMemory</a>, <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html#setupThreadLocalMemory-int-">setupThreadLocalMemory</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getSize--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getSize</h4>
+<pre>public&nbsp;int&nbsp;getSize()</pre>
+</li>
+</ul>
+<a name="getMapFreeValue--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getMapFreeValue</h4>
+<pre>public&nbsp;int&nbsp;getMapFreeValue()</pre>
+</li>
+</ul>
+<a name="increment-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>increment</h4>
+<pre>public&nbsp;void&nbsp;increment(int&nbsp;idx)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html#increment-int-">IPreAggregate</a></code></span></div>
+<div class="block">Increment index by 1.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html#increment-int-">increment</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>idx</code> - The index to increment.</dd>
+</dl>
+</li>
+</ul>
+<a name="increment-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>increment</h4>
+<pre>public&nbsp;void&nbsp;increment(int&nbsp;idx,
+                      int&nbsp;v)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html#increment-int-int-">IPreAggregate</a></code></span></div>
+<div class="block">Increment the index by v values.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html#increment-int-int-">increment</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>idx</code> - The index to increment.</dd>
+<dd><code>v</code> - The number of values to increment.</dd>
+</dl>
+</li>
+</ul>
+<a name="toString--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>toString</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getMap--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getMap</h4>
+<pre>public&nbsp;int[]&nbsp;getMap()</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/MapPreAggregate.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/PreAggregateFactory.html" title="class in org.apache.sysds.runtime.compress.colgroup.pre"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/pre/MapPreAggregate.html" target="_top">Frames</a></li>
+<li><a href="MapPreAggregate.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/lib/LibScalar.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/pre/PreAggregateFactory.html
similarity index 63%
copy from docs/api/java/org/apache/sysds/runtime/compress/lib/LibScalar.html
copy to docs/api/java/org/apache/sysds/runtime/compress/colgroup/pre/PreAggregateFactory.html
index 8f81450..b6fd33d 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/lib/LibScalar.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/pre/PreAggregateFactory.html
@@ -4,21 +4,21 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>LibScalar (SystemDS 2.1.0-SNAPSHOT API)</title>
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
+<title>PreAggregateFactory (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
 <body>
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="LibScalar (SystemDS 2.1.0-SNAPSHOT API)";
+            parent.document.title="PreAggregateFactory (SystemDS 2.1.0-SNAPSHOT API)";
         }
     }
     catch(err) {
     }
 //-->
-var methods = {"i0":9};
+var methods = {"i0":9,"i1":9};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -37,27 +37,27 @@
 <!--   -->
 </a>
 <ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="package-summary.html">Package</a></li>
 <li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/LibScalar.html">Use</a></li>
+<li><a href="class-use/PreAggregateFactory.html">Use</a></li>
 <li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
 </ul>
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/lib/LibRightMultBy.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/MapPreAggregate.html" title="class in org.apache.sysds.runtime.compress.colgroup.pre"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li>Next&nbsp;Class</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/lib/LibScalar.html" target="_top">Frames</a></li>
-<li><a href="LibScalar.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/pre/PreAggregateFactory.html" target="_top">Frames</a></li>
+<li><a href="PreAggregateFactory.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
 </ul>
 <div>
 <script type="text/javascript"><!--
@@ -92,15 +92,15 @@
 <!-- ========= END OF TOP NAVBAR ========= -->
 <!-- ======== START OF CLASS DATA ======== -->
 <div class="header">
-<div class="subTitle">org.apache.sysds.runtime.compress.lib</div>
-<h2 title="Class LibScalar" class="title">Class LibScalar</h2>
+<div class="subTitle">org.apache.sysds.runtime.compress.colgroup.pre</div>
+<h2 title="Class PreAggregateFactory" class="title">Class PreAggregateFactory</h2>
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
 <li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
-<li>org.apache.sysds.runtime.compress.lib.LibScalar</li>
+<li>org.apache.sysds.runtime.compress.colgroup.pre.PreAggregateFactory</li>
 </ul>
 </li>
 </ul>
@@ -109,7 +109,7 @@
 <li class="blockList">
 <hr>
 <br>
-<pre>public class <span class="typeNameLabel">LibScalar</span>
+<pre>public abstract class <span class="typeNameLabel">PreAggregateFactory</span>
 extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 </li>
 </ul>
@@ -129,7 +129,7 @@
 <th class="colOne" scope="col">Constructor and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/lib/LibScalar.html#LibScalar--">LibScalar</a></span>()</code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/PreAggregateFactory.html#PreAggregateFactory--">PreAggregateFactory</a></span>()</code>&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -147,11 +147,12 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/lib/LibScalar.html#scalarOperations-org.apache.sysds.runtime.matrix.operators.ScalarOperator-org.apache.sysds.runtime.compress.CompressedMatrixBlock-org.apache.sysds.runtime.compress.CompressedMatrixBlock-boolean-">scalarOperations</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;sop,
-                <a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;m1,
-                <a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;ret,
-                boolean&nbsp;overlapping)</code>&nbsp;</td>
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/PreAggregateFactory.html#ag-int-">ag</a></span>(int&nbsp;maxSize)</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/PreAggregateFactory.html#ag-int:A-">ag</a></span>(int[]&nbsp;arr)</code>&nbsp;</td>
 </tr>
 </table>
 <ul class="blockList">
@@ -175,13 +176,13 @@
 <!--   -->
 </a>
 <h3>Constructor Detail</h3>
-<a name="LibScalar--">
+<a name="PreAggregateFactory--">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>LibScalar</h4>
-<pre>public&nbsp;LibScalar()</pre>
+<h4>PreAggregateFactory</h4>
+<pre>public&nbsp;PreAggregateFactory()</pre>
 </li>
 </ul>
 </li>
@@ -192,16 +193,22 @@
 <!--   -->
 </a>
 <h3>Method Detail</h3>
-<a name="scalarOperations-org.apache.sysds.runtime.matrix.operators.ScalarOperator-org.apache.sysds.runtime.compress.CompressedMatrixBlock-org.apache.sysds.runtime.compress.CompressedMatrixBlock-boolean-">
+<a name="ag-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>ag</h4>
+<pre>public static&nbsp;<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a>&nbsp;ag(int&nbsp;maxSize)</pre>
+</li>
+</ul>
+<a name="ag-int:A-">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>scalarOperations</h4>
-<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;scalarOperations(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;sop,
-                                           <a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;m1,
-                                           <a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;ret,
-                                           boolean&nbsp;overlapping)</pre>
+<h4>ag</h4>
+<pre>public static&nbsp;<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a>&nbsp;ag(int[]&nbsp;arr)</pre>
 </li>
 </ul>
 </li>
@@ -220,27 +227,27 @@
 <!--   -->
 </a>
 <ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="package-summary.html">Package</a></li>
 <li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/LibScalar.html">Use</a></li>
+<li><a href="class-use/PreAggregateFactory.html">Use</a></li>
 <li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
 </ul>
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/lib/LibRightMultBy.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/MapPreAggregate.html" title="class in org.apache.sysds.runtime.compress.colgroup.pre"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li>Next&nbsp;Class</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/lib/LibScalar.html" target="_top">Frames</a></li>
-<li><a href="LibScalar.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/pre/PreAggregateFactory.html" target="_top">Frames</a></li>
+<li><a href="PreAggregateFactory.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
 </ul>
 <div>
 <script type="text/javascript"><!--
@@ -273,6 +280,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/pre/class-use/ArrPreAggregate.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/pre/class-use/ArrPreAggregate.html
new file mode 100644
index 0000000..8246eb4
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/pre/class-use/ArrPreAggregate.html
@@ -0,0 +1,125 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.sysds.runtime.compress.colgroup.pre.ArrPreAggregate (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.sysds.runtime.compress.colgroup.pre.ArrPreAggregate (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/ArrPreAggregate.html" title="class in org.apache.sysds.runtime.compress.colgroup.pre">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/pre/class-use/ArrPreAggregate.html" target="_top">Frames</a></li>
+<li><a href="ArrPreAggregate.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.sysds.runtime.compress.colgroup.pre.ArrPreAggregate" class="title">Uses of Class<br>org.apache.sysds.runtime.compress.colgroup.pre.ArrPreAggregate</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.sysds.runtime.compress.colgroup.pre.ArrPreAggregate</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/ArrPreAggregate.html" title="class in org.apache.sysds.runtime.compress.colgroup.pre">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/pre/class-use/ArrPreAggregate.html" target="_top">Frames</a></li>
+<li><a href="ArrPreAggregate.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/pre/class-use/IPreAggregate.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/pre/class-use/IPreAggregate.html
new file mode 100644
index 0000000..974acac
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/pre/class-use/IPreAggregate.html
@@ -0,0 +1,496 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.sysds.runtime.compress.colgroup.pre.IPreAggregate (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Interface org.apache.sysds.runtime.compress.colgroup.pre.IPreAggregate (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/pre/class-use/IPreAggregate.html" target="_top">Frames</a></li>
+<li><a href="IPreAggregate.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Interface org.apache.sysds.runtime.compress.colgroup.pre.IPreAggregate" class="title">Uses of Interface<br>org.apache.sysds.runtime.compress.colgroup.pre.IPreAggregate</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.compress.colgroup">org.apache.sysds.runtime.compress.colgroup</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.compress.colgroup.pre">org.apache.sysds.runtime.compress.colgroup.pre</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.sysds.runtime.compress.colgroup">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a> in <a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a> that return <a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupValue.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregate-org.apache.sysds.runtime.compress.colgroup.ColGroupValue-">preAggregate</a></span>(<a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupValue.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateCONST-org.apache.sysds.runtime.compress.colgroup.ColGroupConst-">preAggregateCONST</a></span>(<a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupConst</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupRLE.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#preAggregateDDC-org.apache.sysds.runtime.compress.colgroup.ColGroupDDC-">preAggregateDDC</a></span>(<a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupEmpty.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html#preAggregateDDC-org.apache.sysds.runtime.compress.colgroup.ColGroupDDC-">preAggregateDDC</a></span>(<a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupConst.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#preAggregateDDC-org.apache.sysds.runtime.compress.colgroup.ColGroupDDC-">preAggregateDDC</a></span>(<a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupSDCZeros.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#preAggregateDDC-org.apache.sysds.runtime.compress.colgroup.ColGroupDDC-">preAggregateDDC</a></span>(<a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupDDC.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#preAggregateDDC-org.apache.sysds.runtime.compress.colgroup.ColGroupDDC-">preAggregateDDC</a></span>(<a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupSDCSingle.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html#preAggregateDDC-org.apache.sysds.runtime.compress.colgroup.ColGroupDDC-">preAggregateDDC</a></span>(<a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupSDC.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html#preAggregateDDC-org.apache.sysds.runtime.compress.colgroup.ColGroupDDC-">preAggregateDDC</a></span>(<a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>abstract <a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupValue.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateDDC-org.apache.sysds.runtime.compress.colgroup.ColGroupDDC-">preAggregateDDC</a></span>(<a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupSDCSingleZeros.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html#preAggregateDDC-org.apache.sysds.runtime.compress.colgroup.ColGroupDDC-">preAggregateDDC</a></span>(<a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupOLE.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#preAggregateDDC-org.apache.sysds.runtime.compress.colgroup.ColGroupDDC-">preAggregateDDC</a></span>(<a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupRLE.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#preAggregateOLE-org.apache.sysds.runtime.compress.colgroup.ColGroupOLE-">preAggregateOLE</a></span>(<a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOLE</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupEmpty.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html#preAggregateOLE-org.apache.sysds.runtime.compress.colgroup.ColGroupOLE-">preAggregateOLE</a></span>(<a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOLE</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupConst.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#preAggregateOLE-org.apache.sysds.runtime.compress.colgroup.ColGroupOLE-">preAggregateOLE</a></span>(<a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOLE</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupSDCZeros.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#preAggregateOLE-org.apache.sysds.runtime.compress.colgroup.ColGroupOLE-">preAggregateOLE</a></span>(<a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOLE</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupDDC.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#preAggregateOLE-org.apache.sysds.runtime.compress.colgroup.ColGroupOLE-">preAggregateOLE</a></span>(<a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOLE</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupSDCSingle.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html#preAggregateOLE-org.apache.sysds.runtime.compress.colgroup.ColGroupOLE-">preAggregateOLE</a></span>(<a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOLE</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupSDC.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html#preAggregateOLE-org.apache.sysds.runtime.compress.colgroup.ColGroupOLE-">preAggregateOLE</a></span>(<a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOLE</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>abstract <a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupValue.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateOLE-org.apache.sysds.runtime.compress.colgroup.ColGroupOLE-">preAggregateOLE</a></span>(<a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOLE</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupSDCSingleZeros.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html#preAggregateOLE-org.apache.sysds.runtime.compress.colgroup.ColGroupOLE-">preAggregateOLE</a></span>(<a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOLE</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupOLE.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#preAggregateOLE-org.apache.sysds.runtime.compress.colgroup.ColGroupOLE-">preAggregateOLE</a></span>(<a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOLE</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupRLE.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#preAggregateRLE-org.apache.sysds.runtime.compress.colgroup.ColGroupRLE-">preAggregateRLE</a></span>(<a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupRLE</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupEmpty.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html#preAggregateRLE-org.apache.sysds.runtime.compress.colgroup.ColGroupRLE-">preAggregateRLE</a></span>(<a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupRLE</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupConst.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#preAggregateRLE-org.apache.sysds.runtime.compress.colgroup.ColGroupRLE-">preAggregateRLE</a></span>(<a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupRLE</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupSDCZeros.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#preAggregateRLE-org.apache.sysds.runtime.compress.colgroup.ColGroupRLE-">preAggregateRLE</a></span>(<a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupRLE</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupDDC.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#preAggregateRLE-org.apache.sysds.runtime.compress.colgroup.ColGroupRLE-">preAggregateRLE</a></span>(<a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupRLE</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupSDCSingle.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html#preAggregateRLE-org.apache.sysds.runtime.compress.colgroup.ColGroupRLE-">preAggregateRLE</a></span>(<a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupRLE</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupSDC.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html#preAggregateRLE-org.apache.sysds.runtime.compress.colgroup.ColGroupRLE-">preAggregateRLE</a></span>(<a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupRLE</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>abstract <a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupValue.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateRLE-org.apache.sysds.runtime.compress.colgroup.ColGroupRLE-">preAggregateRLE</a></span>(<a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupRLE</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupSDCSingleZeros.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html#preAggregateRLE-org.apache.sysds.runtime.compress.colgroup.ColGroupRLE-">preAggregateRLE</a></span>(<a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupRLE</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupOLE.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#preAggregateRLE-org.apache.sysds.runtime.compress.colgroup.ColGroupRLE-">preAggregateRLE</a></span>(<a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupRLE</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupRLE.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#preAggregateSDC-org.apache.sysds.runtime.compress.colgroup.ColGroupSDC-">preAggregateSDC</a></span>(<a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDC</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupEmpty.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html#preAggregateSDC-org.apache.sysds.runtime.compress.colgroup.ColGroupSDC-">preAggregateSDC</a></span>(<a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDC</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupConst.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#preAggregateSDC-org.apache.sysds.runtime.compress.colgroup.ColGroupSDC-">preAggregateSDC</a></span>(<a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDC</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupSDCZeros.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#preAggregateSDC-org.apache.sysds.runtime.compress.colgroup.ColGroupSDC-">preAggregateSDC</a></span>(<a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDC</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupDDC.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#preAggregateSDC-org.apache.sysds.runtime.compress.colgroup.ColGroupSDC-">preAggregateSDC</a></span>(<a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDC</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupSDCSingle.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html#preAggregateSDC-org.apache.sysds.runtime.compress.colgroup.ColGroupSDC-">preAggregateSDC</a></span>(<a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDC</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupSDC.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html#preAggregateSDC-org.apache.sysds.runtime.compress.colgroup.ColGroupSDC-">preAggregateSDC</a></span>(<a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDC</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>abstract <a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupValue.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateSDC-org.apache.sysds.runtime.compress.colgroup.ColGroupSDC-">preAggregateSDC</a></span>(<a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDC</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupSDCSingleZeros.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html#preAggregateSDC-org.apache.sysds.runtime.compress.colgroup.ColGroupSDC-">preAggregateSDC</a></span>(<a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDC</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupOLE.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#preAggregateSDC-org.apache.sysds.runtime.compress.colgroup.ColGroupSDC-">preAggregateSDC</a></span>(<a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDC</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupRLE.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#preAggregateSDCSingle-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingle-">preAggregateSDCSingle</a></span>(<a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingle</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupEmpty.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html#preAggregateSDCSingle-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingle-">preAggregateSDCSingle</a></span>(<a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingle</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupConst.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#preAggregateSDCSingle-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingle-">preAggregateSDCSingle</a></span>(<a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingle</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupSDCZeros.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#preAggregateSDCSingle-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingle-">preAggregateSDCSingle</a></span>(<a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingle</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupDDC.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#preAggregateSDCSingle-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingle-">preAggregateSDCSingle</a></span>(<a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingle</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupSDCSingle.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html#preAggregateSDCSingle-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingle-">preAggregateSDCSingle</a></span>(<a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingle</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupSDC.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html#preAggregateSDCSingle-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingle-">preAggregateSDCSingle</a></span>(<a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingle</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>abstract <a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupValue.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateSDCSingle-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingle-">preAggregateSDCSingle</a></span>(<a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingle</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupSDCSingleZeros.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html#preAggregateSDCSingle-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingle-">preAggregateSDCSingle</a></span>(<a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingle</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupOLE.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#preAggregateSDCSingle-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingle-">preAggregateSDCSingle</a></span>(<a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingle</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupRLE.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#preAggregateSDCSingleZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingleZeros-">preAggregateSDCSingleZeros</a></span>(<a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingleZeros</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupEmpty.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html#preAggregateSDCSingleZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingleZeros-">preAggregateSDCSingleZeros</a></span>(<a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingleZeros</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupConst.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#preAggregateSDCSingleZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingleZeros-">preAggregateSDCSingleZeros</a></span>(<a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingleZeros</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupSDCZeros.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#preAggregateSDCSingleZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingleZeros-">preAggregateSDCSingleZeros</a></span>(<a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingleZeros</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupDDC.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#preAggregateSDCSingleZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingleZeros-">preAggregateSDCSingleZeros</a></span>(<a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingleZeros</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupSDCSingle.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html#preAggregateSDCSingleZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingleZeros-">preAggregateSDCSingleZeros</a></span>(<a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingleZeros</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupSDC.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html#preAggregateSDCSingleZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingleZeros-">preAggregateSDCSingleZeros</a></span>(<a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingleZeros</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>abstract <a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupValue.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateSDCSingleZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingleZeros-">preAggregateSDCSingleZeros</a></span>(<a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingleZeros</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupSDCSingleZeros.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html#preAggregateSDCSingleZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingleZeros-">preAggregateSDCSingleZeros</a></span>(<a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingleZeros</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupOLE.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#preAggregateSDCSingleZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingleZeros-">preAggregateSDCSingleZeros</a></span>(<a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingleZeros</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupRLE.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#preAggregateSDCZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCZeros-">preAggregateSDCZeros</a></span>(<a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCZeros</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupEmpty.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html#preAggregateSDCZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCZeros-">preAggregateSDCZeros</a></span>(<a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCZeros</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupConst.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#preAggregateSDCZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCZeros-">preAggregateSDCZeros</a></span>(<a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCZeros</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupSDCZeros.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#preAggregateSDCZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCZeros-">preAggregateSDCZeros</a></span>(<a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCZeros</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupDDC.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#preAggregateSDCZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCZeros-">preAggregateSDCZeros</a></span>(<a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCZeros</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupSDCSingle.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html#preAggregateSDCZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCZeros-">preAggregateSDCZeros</a></span>(<a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCZeros</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupSDC.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html#preAggregateSDCZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCZeros-">preAggregateSDCZeros</a></span>(<a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCZeros</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>abstract <a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupValue.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateSDCZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCZeros-">preAggregateSDCZeros</a></span>(<a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCZeros</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupSDCSingleZeros.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html#preAggregateSDCZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCZeros-">preAggregateSDCZeros</a></span>(<a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCZeros</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupOLE.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#preAggregateSDCZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCZeros-">preAggregateSDCZeros</a></span>(<a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCZeros</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupValue.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preCallAggregate-org.apache.sysds.runtime.compress.colgroup.ColGroupValue-">preCallAggregate</a></span>(<a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a>&nbsp;lhs)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.sysds.runtime.compress.colgroup.pre">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a> in <a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/package-summary.html">org.apache.sysds.runtime.compress.colgroup.pre</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/package-summary.html">org.apache.sysds.runtime.compress.colgroup.pre</a> that implement <a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/ArrPreAggregate.html" title="class in org.apache.sysds.runtime.compress.colgroup.pre">ArrPreAggregate</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/MapPreAggregate.html" title="class in org.apache.sysds.runtime.compress.colgroup.pre">MapPreAggregate</a></span></code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/package-summary.html">org.apache.sysds.runtime.compress.colgroup.pre</a> that return <a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">PreAggregateFactory.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/PreAggregateFactory.html#ag-int-">ag</a></span>(int&nbsp;maxSize)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">PreAggregateFactory.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/PreAggregateFactory.html#ag-int:A-">ag</a></span>(int[]&nbsp;arr)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/pre/class-use/IPreAggregate.html" target="_top">Frames</a></li>
+<li><a href="IPreAggregate.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/pre/class-use/MapPreAggregate.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/pre/class-use/MapPreAggregate.html
new file mode 100644
index 0000000..14d1339
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/pre/class-use/MapPreAggregate.html
@@ -0,0 +1,125 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.sysds.runtime.compress.colgroup.pre.MapPreAggregate (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.sysds.runtime.compress.colgroup.pre.MapPreAggregate (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/MapPreAggregate.html" title="class in org.apache.sysds.runtime.compress.colgroup.pre">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/pre/class-use/MapPreAggregate.html" target="_top">Frames</a></li>
+<li><a href="MapPreAggregate.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.sysds.runtime.compress.colgroup.pre.MapPreAggregate" class="title">Uses of Class<br>org.apache.sysds.runtime.compress.colgroup.pre.MapPreAggregate</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.sysds.runtime.compress.colgroup.pre.MapPreAggregate</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/MapPreAggregate.html" title="class in org.apache.sysds.runtime.compress.colgroup.pre">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/pre/class-use/MapPreAggregate.html" target="_top">Frames</a></li>
+<li><a href="MapPreAggregate.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/pre/class-use/PreAggregateFactory.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/pre/class-use/PreAggregateFactory.html
new file mode 100644
index 0000000..07fd7f2
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/pre/class-use/PreAggregateFactory.html
@@ -0,0 +1,125 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.sysds.runtime.compress.colgroup.pre.PreAggregateFactory (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.sysds.runtime.compress.colgroup.pre.PreAggregateFactory (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/PreAggregateFactory.html" title="class in org.apache.sysds.runtime.compress.colgroup.pre">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/pre/class-use/PreAggregateFactory.html" target="_top">Frames</a></li>
+<li><a href="PreAggregateFactory.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.sysds.runtime.compress.colgroup.pre.PreAggregateFactory" class="title">Uses of Class<br>org.apache.sysds.runtime.compress.colgroup.pre.PreAggregateFactory</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.sysds.runtime.compress.colgroup.pre.PreAggregateFactory</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/PreAggregateFactory.html" title="class in org.apache.sysds.runtime.compress.colgroup.pre">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/pre/class-use/PreAggregateFactory.html" target="_top">Frames</a></li>
+<li><a href="PreAggregateFactory.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/pre/package-frame.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/pre/package-frame.html
new file mode 100644
index 0000000..21ebd6f
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/pre/package-frame.html
@@ -0,0 +1,26 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.sysds.runtime.compress.colgroup.pre (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<h1 class="bar"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/package-summary.html" target="classFrame">org.apache.sysds.runtime.compress.colgroup.pre</a></h1>
+<div class="indexContainer">
+<h2 title="Interfaces">Interfaces</h2>
+<ul title="Interfaces">
+<li><a href="IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre" target="classFrame"><span class="interfaceName">IPreAggregate</span></a></li>
+</ul>
+<h2 title="Classes">Classes</h2>
+<ul title="Classes">
+<li><a href="ArrPreAggregate.html" title="class in org.apache.sysds.runtime.compress.colgroup.pre" target="classFrame">ArrPreAggregate</a></li>
+<li><a href="MapPreAggregate.html" title="class in org.apache.sysds.runtime.compress.colgroup.pre" target="classFrame">MapPreAggregate</a></li>
+<li><a href="PreAggregateFactory.html" title="class in org.apache.sysds.runtime.compress.colgroup.pre" target="classFrame">PreAggregateFactory</a></li>
+</ul>
+</div>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/pre/package-summary.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/pre/package-summary.html
new file mode 100644
index 0000000..28bf838
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/pre/package-summary.html
@@ -0,0 +1,166 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.sysds.runtime.compress.colgroup.pre (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.sysds.runtime.compress.colgroup.pre (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/pre/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Package" class="title">Package&nbsp;org.apache.sysds.runtime.compress.colgroup.pre</h1>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Interface Summary table, listing interfaces, and an explanation">
+<caption><span>Interface Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Interface</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
+<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Class</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/ArrPreAggregate.html" title="class in org.apache.sysds.runtime.compress.colgroup.pre">ArrPreAggregate</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/MapPreAggregate.html" title="class in org.apache.sysds.runtime.compress.colgroup.pre">MapPreAggregate</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/PreAggregateFactory.html" title="class in org.apache.sysds.runtime.compress.colgroup.pre">PreAggregateFactory</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/pre/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/pre/package-tree.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/pre/package-tree.html
new file mode 100644
index 0000000..df7e66c
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/pre/package-tree.html
@@ -0,0 +1,144 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.sysds.runtime.compress.colgroup.pre Class Hierarchy (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.sysds.runtime.compress.colgroup.pre Class Hierarchy (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/package-tree.html">Prev</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/pre/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 class="title">Hierarchy For Package org.apache.sysds.runtime.compress.colgroup.pre</h1>
+<span class="packageHierarchyLabel">Package Hierarchies:</span>
+<ul class="horizontal">
+<li><a href="../../../../../../../overview-tree.html">All Packages</a></li>
+</ul>
+</div>
+<div class="contentContainer">
+<h2 title="Class Hierarchy">Class Hierarchy</h2>
+<ul>
+<li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
+<ul>
+<li type="circle">org.apache.sysds.runtime.compress.colgroup.pre.<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/ArrPreAggregate.html" title="class in org.apache.sysds.runtime.compress.colgroup.pre"><span class="typeNameLink">ArrPreAggregate</span></a> (implements org.apache.sysds.runtime.compress.colgroup.pre.<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a>)</li>
+<li type="circle">org.apache.sysds.runtime.compress.colgroup.pre.<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/MapPreAggregate.html" title="class in org.apache.sysds.runtime.compress.colgroup.pre"><span class="typeNameLink">MapPreAggregate</span></a> (implements org.apache.sysds.runtime.compress.colgroup.pre.<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a>)</li>
+<li type="circle">org.apache.sysds.runtime.compress.colgroup.pre.<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/PreAggregateFactory.html" title="class in org.apache.sysds.runtime.compress.colgroup.pre"><span class="typeNameLink">PreAggregateFactory</span></a></li>
+</ul>
+</li>
+</ul>
+<h2 title="Interface Hierarchy">Interface Hierarchy</h2>
+<ul>
+<li type="circle">org.apache.sysds.runtime.compress.colgroup.pre.<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre"><span class="typeNameLink">IPreAggregate</span></a></li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/package-tree.html">Prev</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/pre/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/pre/package-use.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/pre/package-use.html
new file mode 100644
index 0000000..e5f89ab
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/pre/package-use.html
@@ -0,0 +1,177 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.sysds.runtime.compress.colgroup.pre (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Package org.apache.sysds.runtime.compress.colgroup.pre (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/pre/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Uses of Package org.apache.sysds.runtime.compress.colgroup.pre" class="title">Uses of Package<br>org.apache.sysds.runtime.compress.colgroup.pre</h1>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/package-summary.html">org.apache.sysds.runtime.compress.colgroup.pre</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.compress.colgroup">org.apache.sysds.runtime.compress.colgroup</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.compress.colgroup.pre">org.apache.sysds.runtime.compress.colgroup.pre</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.sysds.runtime.compress.colgroup">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/package-summary.html">org.apache.sysds.runtime.compress.colgroup.pre</a> used by <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/class-use/IPreAggregate.html#org.apache.sysds.runtime.compress.colgroup">IPreAggregate</a>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.sysds.runtime.compress.colgroup.pre">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/package-summary.html">org.apache.sysds.runtime.compress.colgroup.pre</a> used by <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/package-summary.html">org.apache.sysds.runtime.compress.colgroup.pre</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/class-use/IPreAggregate.html#org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/pre/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/tree/AInsertionSorter.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/tree/AInsertionSorter.html
new file mode 100644
index 0000000..806ae12
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/tree/AInsertionSorter.html
@@ -0,0 +1,329 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>AInsertionSorter (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="AInsertionSorter (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":6,"i1":6,"i2":10,"i3":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/AInsertionSorter.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev&nbsp;Class</li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/InsertionSorterFactory.html" title="class in org.apache.sysds.runtime.compress.colgroup.tree"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/tree/AInsertionSorter.html" target="_top">Frames</a></li>
+<li><a href="AInsertionSorter.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.sysds.runtime.compress.colgroup.tree</div>
+<h2 title="Class AInsertionSorter" class="title">Class AInsertionSorter</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.sysds.runtime.compress.colgroup.tree.AInsertionSorter</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>Direct Known Subclasses:</dt>
+<dd><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/MaterializeSort.html" title="class in org.apache.sysds.runtime.compress.colgroup.tree">MaterializeSort</a>, <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/MergeSort.html" title="class in org.apache.sysds.runtime.compress.colgroup.tree">MergeSort</a>, <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/Naive.html" title="class in org.apache.sysds.runtime.compress.colgroup.tree">Naive</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public abstract class <span class="typeNameLabel">AInsertionSorter</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block">This abstract class is for sorting the IntArrayList entries efficiently for
+ SDC Column Groups construction.
+ 
+ The idea is to construct an insertion tree, where the array is inserted along
+ with a label, and the values are sorted at insertion time.
+ 
+ Any implementations is guaranteed that calls to getIndexes is first done once
+ all _indexes are assigned.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/AInsertionSorter.html#AInsertionSorter-int-int-int-">AInsertionSorter</a></span>(int&nbsp;endLength,
+                int&nbsp;uniqueLabels,
+                int&nbsp;knownMax)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>abstract <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html" title="interface in org.apache.sysds.runtime.compress.colgroup.mapping">IMapToData</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/AInsertionSorter.html#getData--">getData</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>abstract int[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/AInsertionSorter.html#getIndexes--">getIndexes</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/AInsertionSorter.html#insert-org.apache.sysds.runtime.compress.utils.IntArrayList:A-">insert</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/utils/IntArrayList.html" title="class in org.apache.sysds.runtime.compress.utils">IntArrayList</a>[]&nbsp;offsets)</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/AInsertionSorter.html#insert-org.apache.sysds.runtime.compress.utils.IntArrayList:A-int-">insert</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/utils/IntArrayList.html" title="class in org.apache.sysds.runtime.compress.utils">IntArrayList</a>[]&nbsp;offsets,
+      int&nbsp;negativeIndex)</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="AInsertionSorter-int-int-int-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>AInsertionSorter</h4>
+<pre>public&nbsp;AInsertionSorter(int&nbsp;endLength,
+                        int&nbsp;uniqueLabels,
+                        int&nbsp;knownMax)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="insert-org.apache.sysds.runtime.compress.utils.IntArrayList:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>insert</h4>
+<pre>public&nbsp;void&nbsp;insert(<a href="../../../../../../../org/apache/sysds/runtime/compress/utils/IntArrayList.html" title="class in org.apache.sysds.runtime.compress.utils">IntArrayList</a>[]&nbsp;offsets)</pre>
+</li>
+</ul>
+<a name="insert-org.apache.sysds.runtime.compress.utils.IntArrayList:A-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>insert</h4>
+<pre>public&nbsp;void&nbsp;insert(<a href="../../../../../../../org/apache/sysds/runtime/compress/utils/IntArrayList.html" title="class in org.apache.sysds.runtime.compress.utils">IntArrayList</a>[]&nbsp;offsets,
+                   int&nbsp;negativeIndex)</pre>
+</li>
+</ul>
+<a name="getIndexes--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getIndexes</h4>
+<pre>public abstract&nbsp;int[]&nbsp;getIndexes()</pre>
+</li>
+</ul>
+<a name="getData--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getData</h4>
+<pre>public abstract&nbsp;<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html" title="interface in org.apache.sysds.runtime.compress.colgroup.mapping">IMapToData</a>&nbsp;getData()</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/AInsertionSorter.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev&nbsp;Class</li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/InsertionSorterFactory.html" title="class in org.apache.sysds.runtime.compress.colgroup.tree"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/tree/AInsertionSorter.html" target="_top">Frames</a></li>
+<li><a href="AInsertionSorter.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/lib/LibScalar.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/tree/InsertionSorterFactory.html
similarity index 63%
copy from docs/api/java/org/apache/sysds/runtime/compress/lib/LibScalar.html
copy to docs/api/java/org/apache/sysds/runtime/compress/colgroup/tree/InsertionSorterFactory.html
index 8f81450..b7a89df 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/lib/LibScalar.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/tree/InsertionSorterFactory.html
@@ -4,15 +4,15 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>LibScalar (SystemDS 2.1.0-SNAPSHOT API)</title>
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
+<title>InsertionSorterFactory (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
 <body>
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="LibScalar (SystemDS 2.1.0-SNAPSHOT API)";
+            parent.document.title="InsertionSorterFactory (SystemDS 2.1.0-SNAPSHOT API)";
         }
     }
     catch(err) {
@@ -37,27 +37,27 @@
 <!--   -->
 </a>
 <ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="package-summary.html">Package</a></li>
 <li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/LibScalar.html">Use</a></li>
+<li><a href="class-use/InsertionSorterFactory.html">Use</a></li>
 <li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
 </ul>
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/lib/LibRightMultBy.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li>Next&nbsp;Class</li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/AInsertionSorter.html" title="class in org.apache.sysds.runtime.compress.colgroup.tree"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/MaterializeSort.html" title="class in org.apache.sysds.runtime.compress.colgroup.tree"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/lib/LibScalar.html" target="_top">Frames</a></li>
-<li><a href="LibScalar.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/tree/InsertionSorterFactory.html" target="_top">Frames</a></li>
+<li><a href="InsertionSorterFactory.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
 </ul>
 <div>
 <script type="text/javascript"><!--
@@ -92,15 +92,15 @@
 <!-- ========= END OF TOP NAVBAR ========= -->
 <!-- ======== START OF CLASS DATA ======== -->
 <div class="header">
-<div class="subTitle">org.apache.sysds.runtime.compress.lib</div>
-<h2 title="Class LibScalar" class="title">Class LibScalar</h2>
+<div class="subTitle">org.apache.sysds.runtime.compress.colgroup.tree</div>
+<h2 title="Class InsertionSorterFactory" class="title">Class InsertionSorterFactory</h2>
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
 <li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
-<li>org.apache.sysds.runtime.compress.lib.LibScalar</li>
+<li>org.apache.sysds.runtime.compress.colgroup.tree.InsertionSorterFactory</li>
 </ul>
 </li>
 </ul>
@@ -109,7 +109,7 @@
 <li class="blockList">
 <hr>
 <br>
-<pre>public class <span class="typeNameLabel">LibScalar</span>
+<pre>public class <span class="typeNameLabel">InsertionSorterFactory</span>
 extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 </li>
 </ul>
@@ -129,7 +129,7 @@
 <th class="colOne" scope="col">Constructor and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/lib/LibScalar.html#LibScalar--">LibScalar</a></span>()</code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/InsertionSorterFactory.html#InsertionSorterFactory--">InsertionSorterFactory</a></span>()</code>&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -147,11 +147,10 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/lib/LibScalar.html#scalarOperations-org.apache.sysds.runtime.matrix.operators.ScalarOperator-org.apache.sysds.runtime.compress.CompressedMatrixBlock-org.apache.sysds.runtime.compress.CompressedMatrixBlock-boolean-">scalarOperations</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;sop,
-                <a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;m1,
-                <a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;ret,
-                boolean&nbsp;overlapping)</code>&nbsp;</td>
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/AInsertionSorter.html" title="class in org.apache.sysds.runtime.compress.colgroup.tree">AInsertionSorter</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/InsertionSorterFactory.html#create-int-int-int-">create</a></span>(int&nbsp;endLength,
+      int&nbsp;uniqueLabels,
+      int&nbsp;knownMax)</code>&nbsp;</td>
 </tr>
 </table>
 <ul class="blockList">
@@ -175,13 +174,13 @@
 <!--   -->
 </a>
 <h3>Constructor Detail</h3>
-<a name="LibScalar--">
+<a name="InsertionSorterFactory--">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>LibScalar</h4>
-<pre>public&nbsp;LibScalar()</pre>
+<h4>InsertionSorterFactory</h4>
+<pre>public&nbsp;InsertionSorterFactory()</pre>
 </li>
 </ul>
 </li>
@@ -192,16 +191,15 @@
 <!--   -->
 </a>
 <h3>Method Detail</h3>
-<a name="scalarOperations-org.apache.sysds.runtime.matrix.operators.ScalarOperator-org.apache.sysds.runtime.compress.CompressedMatrixBlock-org.apache.sysds.runtime.compress.CompressedMatrixBlock-boolean-">
+<a name="create-int-int-int-">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>scalarOperations</h4>
-<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;scalarOperations(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;sop,
-                                           <a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;m1,
-                                           <a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;ret,
-                                           boolean&nbsp;overlapping)</pre>
+<h4>create</h4>
+<pre>public static&nbsp;<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/AInsertionSorter.html" title="class in org.apache.sysds.runtime.compress.colgroup.tree">AInsertionSorter</a>&nbsp;create(int&nbsp;endLength,
+                                      int&nbsp;uniqueLabels,
+                                      int&nbsp;knownMax)</pre>
 </li>
 </ul>
 </li>
@@ -220,27 +218,27 @@
 <!--   -->
 </a>
 <ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="package-summary.html">Package</a></li>
 <li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/LibScalar.html">Use</a></li>
+<li><a href="class-use/InsertionSorterFactory.html">Use</a></li>
 <li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
 </ul>
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/lib/LibRightMultBy.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li>Next&nbsp;Class</li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/AInsertionSorter.html" title="class in org.apache.sysds.runtime.compress.colgroup.tree"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/MaterializeSort.html" title="class in org.apache.sysds.runtime.compress.colgroup.tree"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/lib/LibScalar.html" target="_top">Frames</a></li>
-<li><a href="LibScalar.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/tree/InsertionSorterFactory.html" target="_top">Frames</a></li>
+<li><a href="InsertionSorterFactory.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
 </ul>
 <div>
 <script type="text/javascript"><!--
@@ -273,6 +271,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/tree/MaterializeSort.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/tree/MaterializeSort.html
new file mode 100644
index 0000000..b07ce26
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/tree/MaterializeSort.html
@@ -0,0 +1,338 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MaterializeSort (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="MaterializeSort (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/MaterializeSort.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/InsertionSorterFactory.html" title="class in org.apache.sysds.runtime.compress.colgroup.tree"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/MergeSort.html" title="class in org.apache.sysds.runtime.compress.colgroup.tree"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/tree/MaterializeSort.html" target="_top">Frames</a></li>
+<li><a href="MaterializeSort.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.sysds.runtime.compress.colgroup.tree</div>
+<h2 title="Class MaterializeSort" class="title">Class MaterializeSort</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/AInsertionSorter.html" title="class in org.apache.sysds.runtime.compress.colgroup.tree">org.apache.sysds.runtime.compress.colgroup.tree.AInsertionSorter</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.sysds.runtime.compress.colgroup.tree.MaterializeSort</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">MaterializeSort</span>
+extends <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/AInsertionSorter.html" title="class in org.apache.sysds.runtime.compress.colgroup.tree">AInsertionSorter</a></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/MaterializeSort.html#MaterializeSort-int-int-int-">MaterializeSort</a></span>(int&nbsp;endLength,
+               int&nbsp;uniqueLabels,
+               int&nbsp;knownMax)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html" title="interface in org.apache.sysds.runtime.compress.colgroup.mapping">IMapToData</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/MaterializeSort.html#getData--">getData</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>int[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/MaterializeSort.html#getIndexes--">getIndexes</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/MaterializeSort.html#insert-org.apache.sysds.runtime.compress.utils.IntArrayList:A-">insert</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/utils/IntArrayList.html" title="class in org.apache.sysds.runtime.compress.utils">IntArrayList</a>[]&nbsp;offsets)</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/MaterializeSort.html#insert-org.apache.sysds.runtime.compress.utils.IntArrayList:A-int-">insert</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/utils/IntArrayList.html" title="class in org.apache.sysds.runtime.compress.utils">IntArrayList</a>[]&nbsp;offsets,
+      int&nbsp;negativeIndex)</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="MaterializeSort-int-int-int-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>MaterializeSort</h4>
+<pre>public&nbsp;MaterializeSort(int&nbsp;endLength,
+                       int&nbsp;uniqueLabels,
+                       int&nbsp;knownMax)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="insert-org.apache.sysds.runtime.compress.utils.IntArrayList:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>insert</h4>
+<pre>public&nbsp;void&nbsp;insert(<a href="../../../../../../../org/apache/sysds/runtime/compress/utils/IntArrayList.html" title="class in org.apache.sysds.runtime.compress.utils">IntArrayList</a>[]&nbsp;offsets)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/AInsertionSorter.html#insert-org.apache.sysds.runtime.compress.utils.IntArrayList:A-">insert</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/AInsertionSorter.html" title="class in org.apache.sysds.runtime.compress.colgroup.tree">AInsertionSorter</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="insert-org.apache.sysds.runtime.compress.utils.IntArrayList:A-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>insert</h4>
+<pre>public&nbsp;void&nbsp;insert(<a href="../../../../../../../org/apache/sysds/runtime/compress/utils/IntArrayList.html" title="class in org.apache.sysds.runtime.compress.utils">IntArrayList</a>[]&nbsp;offsets,
+                   int&nbsp;negativeIndex)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/AInsertionSorter.html#insert-org.apache.sysds.runtime.compress.utils.IntArrayList:A-int-">insert</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/AInsertionSorter.html" title="class in org.apache.sysds.runtime.compress.colgroup.tree">AInsertionSorter</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getIndexes--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getIndexes</h4>
+<pre>public&nbsp;int[]&nbsp;getIndexes()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/AInsertionSorter.html#getIndexes--">getIndexes</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/AInsertionSorter.html" title="class in org.apache.sysds.runtime.compress.colgroup.tree">AInsertionSorter</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getData--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getData</h4>
+<pre>public&nbsp;<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html" title="interface in org.apache.sysds.runtime.compress.colgroup.mapping">IMapToData</a>&nbsp;getData()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/AInsertionSorter.html#getData--">getData</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/AInsertionSorter.html" title="class in org.apache.sysds.runtime.compress.colgroup.tree">AInsertionSorter</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/MaterializeSort.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/InsertionSorterFactory.html" title="class in org.apache.sysds.runtime.compress.colgroup.tree"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/MergeSort.html" title="class in org.apache.sysds.runtime.compress.colgroup.tree"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/tree/MaterializeSort.html" target="_top">Frames</a></li>
+<li><a href="MaterializeSort.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/tree/MergeSort.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/tree/MergeSort.html
new file mode 100644
index 0000000..ab7c937
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/tree/MergeSort.html
@@ -0,0 +1,309 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MergeSort (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="MergeSort (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/MergeSort.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/MaterializeSort.html" title="class in org.apache.sysds.runtime.compress.colgroup.tree"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/Naive.html" title="class in org.apache.sysds.runtime.compress.colgroup.tree"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/tree/MergeSort.html" target="_top">Frames</a></li>
+<li><a href="MergeSort.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.sysds.runtime.compress.colgroup.tree</div>
+<h2 title="Class MergeSort" class="title">Class MergeSort</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/AInsertionSorter.html" title="class in org.apache.sysds.runtime.compress.colgroup.tree">org.apache.sysds.runtime.compress.colgroup.tree.AInsertionSorter</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.sysds.runtime.compress.colgroup.tree.MergeSort</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">MergeSort</span>
+extends <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/AInsertionSorter.html" title="class in org.apache.sysds.runtime.compress.colgroup.tree">AInsertionSorter</a></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/MergeSort.html#MergeSort-int-int-int-">MergeSort</a></span>(int&nbsp;endLength,
+         int&nbsp;uniqueLabels,
+         int&nbsp;knownMax)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html" title="interface in org.apache.sysds.runtime.compress.colgroup.mapping">IMapToData</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/MergeSort.html#getData--">getData</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>int[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/MergeSort.html#getIndexes--">getIndexes</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.tree.AInsertionSorter">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.compress.colgroup.tree.<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/AInsertionSorter.html" title="class in org.apache.sysds.runtime.compress.colgroup.tree">AInsertionSorter</a></h3>
+<code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/AInsertionSorter.html#insert-org.apache.sysds.runtime.compress.utils.IntArrayList:A-">insert</a>, <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/AInsertionSorter.html#insert-org.apache.sysds.runtime.compress.utils.IntArrayList:A-int-">insert</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="MergeSort-int-int-int-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>MergeSort</h4>
+<pre>public&nbsp;MergeSort(int&nbsp;endLength,
+                 int&nbsp;uniqueLabels,
+                 int&nbsp;knownMax)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getIndexes--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getIndexes</h4>
+<pre>public&nbsp;int[]&nbsp;getIndexes()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/AInsertionSorter.html#getIndexes--">getIndexes</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/AInsertionSorter.html" title="class in org.apache.sysds.runtime.compress.colgroup.tree">AInsertionSorter</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getData--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getData</h4>
+<pre>public&nbsp;<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html" title="interface in org.apache.sysds.runtime.compress.colgroup.mapping">IMapToData</a>&nbsp;getData()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/AInsertionSorter.html#getData--">getData</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/AInsertionSorter.html" title="class in org.apache.sysds.runtime.compress.colgroup.tree">AInsertionSorter</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/MergeSort.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/MaterializeSort.html" title="class in org.apache.sysds.runtime.compress.colgroup.tree"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/Naive.html" title="class in org.apache.sysds.runtime.compress.colgroup.tree"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/tree/MergeSort.html" target="_top">Frames</a></li>
+<li><a href="MergeSort.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/tree/Naive.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/tree/Naive.html
new file mode 100644
index 0000000..4558a85
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/tree/Naive.html
@@ -0,0 +1,338 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Naive (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Naive (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Naive.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/MergeSort.html" title="class in org.apache.sysds.runtime.compress.colgroup.tree"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/tree/Naive.html" target="_top">Frames</a></li>
+<li><a href="Naive.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.sysds.runtime.compress.colgroup.tree</div>
+<h2 title="Class Naive" class="title">Class Naive</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/AInsertionSorter.html" title="class in org.apache.sysds.runtime.compress.colgroup.tree">org.apache.sysds.runtime.compress.colgroup.tree.AInsertionSorter</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.sysds.runtime.compress.colgroup.tree.Naive</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">Naive</span>
+extends <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/AInsertionSorter.html" title="class in org.apache.sysds.runtime.compress.colgroup.tree">AInsertionSorter</a></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/Naive.html#Naive-int-int-int-">Naive</a></span>(int&nbsp;endLength,
+     int&nbsp;uniqueLabels,
+     int&nbsp;knownMax)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html" title="interface in org.apache.sysds.runtime.compress.colgroup.mapping">IMapToData</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/Naive.html#getData--">getData</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>int[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/Naive.html#getIndexes--">getIndexes</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/Naive.html#insert-org.apache.sysds.runtime.compress.utils.IntArrayList:A-">insert</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/utils/IntArrayList.html" title="class in org.apache.sysds.runtime.compress.utils">IntArrayList</a>[]&nbsp;offsets)</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/Naive.html#insert-org.apache.sysds.runtime.compress.utils.IntArrayList:A-int-">insert</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/utils/IntArrayList.html" title="class in org.apache.sysds.runtime.compress.utils">IntArrayList</a>[]&nbsp;offsets,
+      int&nbsp;negativeIndex)</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="Naive-int-int-int-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>Naive</h4>
+<pre>public&nbsp;Naive(int&nbsp;endLength,
+             int&nbsp;uniqueLabels,
+             int&nbsp;knownMax)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="insert-org.apache.sysds.runtime.compress.utils.IntArrayList:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>insert</h4>
+<pre>public&nbsp;void&nbsp;insert(<a href="../../../../../../../org/apache/sysds/runtime/compress/utils/IntArrayList.html" title="class in org.apache.sysds.runtime.compress.utils">IntArrayList</a>[]&nbsp;offsets)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/AInsertionSorter.html#insert-org.apache.sysds.runtime.compress.utils.IntArrayList:A-">insert</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/AInsertionSorter.html" title="class in org.apache.sysds.runtime.compress.colgroup.tree">AInsertionSorter</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="insert-org.apache.sysds.runtime.compress.utils.IntArrayList:A-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>insert</h4>
+<pre>public&nbsp;void&nbsp;insert(<a href="../../../../../../../org/apache/sysds/runtime/compress/utils/IntArrayList.html" title="class in org.apache.sysds.runtime.compress.utils">IntArrayList</a>[]&nbsp;offsets,
+                   int&nbsp;negativeIndex)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/AInsertionSorter.html#insert-org.apache.sysds.runtime.compress.utils.IntArrayList:A-int-">insert</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/AInsertionSorter.html" title="class in org.apache.sysds.runtime.compress.colgroup.tree">AInsertionSorter</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getIndexes--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getIndexes</h4>
+<pre>public&nbsp;int[]&nbsp;getIndexes()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/AInsertionSorter.html#getIndexes--">getIndexes</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/AInsertionSorter.html" title="class in org.apache.sysds.runtime.compress.colgroup.tree">AInsertionSorter</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getData--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getData</h4>
+<pre>public&nbsp;<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html" title="interface in org.apache.sysds.runtime.compress.colgroup.mapping">IMapToData</a>&nbsp;getData()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/AInsertionSorter.html#getData--">getData</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/AInsertionSorter.html" title="class in org.apache.sysds.runtime.compress.colgroup.tree">AInsertionSorter</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Naive.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/MergeSort.html" title="class in org.apache.sysds.runtime.compress.colgroup.tree"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/tree/Naive.html" target="_top">Frames</a></li>
+<li><a href="Naive.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/tree/class-use/AInsertionSorter.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/tree/class-use/AInsertionSorter.html
new file mode 100644
index 0000000..6287302
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/tree/class-use/AInsertionSorter.html
@@ -0,0 +1,188 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.sysds.runtime.compress.colgroup.tree.AInsertionSorter (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.sysds.runtime.compress.colgroup.tree.AInsertionSorter (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/AInsertionSorter.html" title="class in org.apache.sysds.runtime.compress.colgroup.tree">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/tree/class-use/AInsertionSorter.html" target="_top">Frames</a></li>
+<li><a href="AInsertionSorter.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.sysds.runtime.compress.colgroup.tree.AInsertionSorter" class="title">Uses of Class<br>org.apache.sysds.runtime.compress.colgroup.tree.AInsertionSorter</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/AInsertionSorter.html" title="class in org.apache.sysds.runtime.compress.colgroup.tree">AInsertionSorter</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.compress.colgroup.tree">org.apache.sysds.runtime.compress.colgroup.tree</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.sysds.runtime.compress.colgroup.tree">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/AInsertionSorter.html" title="class in org.apache.sysds.runtime.compress.colgroup.tree">AInsertionSorter</a> in <a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/package-summary.html">org.apache.sysds.runtime.compress.colgroup.tree</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subclasses, and an explanation">
+<caption><span>Subclasses of <a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/AInsertionSorter.html" title="class in org.apache.sysds.runtime.compress.colgroup.tree">AInsertionSorter</a> in <a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/package-summary.html">org.apache.sysds.runtime.compress.colgroup.tree</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/MaterializeSort.html" title="class in org.apache.sysds.runtime.compress.colgroup.tree">MaterializeSort</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/MergeSort.html" title="class in org.apache.sysds.runtime.compress.colgroup.tree">MergeSort</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/Naive.html" title="class in org.apache.sysds.runtime.compress.colgroup.tree">Naive</a></span></code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/package-summary.html">org.apache.sysds.runtime.compress.colgroup.tree</a> that return <a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/AInsertionSorter.html" title="class in org.apache.sysds.runtime.compress.colgroup.tree">AInsertionSorter</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/AInsertionSorter.html" title="class in org.apache.sysds.runtime.compress.colgroup.tree">AInsertionSorter</a></code></td>
+<td class="colLast"><span class="typeNameLabel">InsertionSorterFactory.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/InsertionSorterFactory.html#create-int-int-int-">create</a></span>(int&nbsp;endLength,
+      int&nbsp;uniqueLabels,
+      int&nbsp;knownMax)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/AInsertionSorter.html" title="class in org.apache.sysds.runtime.compress.colgroup.tree">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/tree/class-use/AInsertionSorter.html" target="_top">Frames</a></li>
+<li><a href="AInsertionSorter.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/tree/class-use/InsertionSorterFactory.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/tree/class-use/InsertionSorterFactory.html
new file mode 100644
index 0000000..055989a
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/tree/class-use/InsertionSorterFactory.html
@@ -0,0 +1,125 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.sysds.runtime.compress.colgroup.tree.InsertionSorterFactory (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.sysds.runtime.compress.colgroup.tree.InsertionSorterFactory (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/InsertionSorterFactory.html" title="class in org.apache.sysds.runtime.compress.colgroup.tree">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/tree/class-use/InsertionSorterFactory.html" target="_top">Frames</a></li>
+<li><a href="InsertionSorterFactory.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.sysds.runtime.compress.colgroup.tree.InsertionSorterFactory" class="title">Uses of Class<br>org.apache.sysds.runtime.compress.colgroup.tree.InsertionSorterFactory</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.sysds.runtime.compress.colgroup.tree.InsertionSorterFactory</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/InsertionSorterFactory.html" title="class in org.apache.sysds.runtime.compress.colgroup.tree">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/tree/class-use/InsertionSorterFactory.html" target="_top">Frames</a></li>
+<li><a href="InsertionSorterFactory.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/tree/class-use/MaterializeSort.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/tree/class-use/MaterializeSort.html
new file mode 100644
index 0000000..9c439ad
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/tree/class-use/MaterializeSort.html
@@ -0,0 +1,125 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.sysds.runtime.compress.colgroup.tree.MaterializeSort (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.sysds.runtime.compress.colgroup.tree.MaterializeSort (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/MaterializeSort.html" title="class in org.apache.sysds.runtime.compress.colgroup.tree">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/tree/class-use/MaterializeSort.html" target="_top">Frames</a></li>
+<li><a href="MaterializeSort.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.sysds.runtime.compress.colgroup.tree.MaterializeSort" class="title">Uses of Class<br>org.apache.sysds.runtime.compress.colgroup.tree.MaterializeSort</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.sysds.runtime.compress.colgroup.tree.MaterializeSort</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/MaterializeSort.html" title="class in org.apache.sysds.runtime.compress.colgroup.tree">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/tree/class-use/MaterializeSort.html" target="_top">Frames</a></li>
+<li><a href="MaterializeSort.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/tree/class-use/MergeSort.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/tree/class-use/MergeSort.html
new file mode 100644
index 0000000..e4e3fac
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/tree/class-use/MergeSort.html
@@ -0,0 +1,125 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.sysds.runtime.compress.colgroup.tree.MergeSort (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.sysds.runtime.compress.colgroup.tree.MergeSort (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/MergeSort.html" title="class in org.apache.sysds.runtime.compress.colgroup.tree">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/tree/class-use/MergeSort.html" target="_top">Frames</a></li>
+<li><a href="MergeSort.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.sysds.runtime.compress.colgroup.tree.MergeSort" class="title">Uses of Class<br>org.apache.sysds.runtime.compress.colgroup.tree.MergeSort</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.sysds.runtime.compress.colgroup.tree.MergeSort</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/MergeSort.html" title="class in org.apache.sysds.runtime.compress.colgroup.tree">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/tree/class-use/MergeSort.html" target="_top">Frames</a></li>
+<li><a href="MergeSort.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/tree/class-use/Naive.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/tree/class-use/Naive.html
new file mode 100644
index 0000000..760ff64
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/tree/class-use/Naive.html
@@ -0,0 +1,125 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.sysds.runtime.compress.colgroup.tree.Naive (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.sysds.runtime.compress.colgroup.tree.Naive (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/Naive.html" title="class in org.apache.sysds.runtime.compress.colgroup.tree">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/tree/class-use/Naive.html" target="_top">Frames</a></li>
+<li><a href="Naive.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.sysds.runtime.compress.colgroup.tree.Naive" class="title">Uses of Class<br>org.apache.sysds.runtime.compress.colgroup.tree.Naive</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.sysds.runtime.compress.colgroup.tree.Naive</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/Naive.html" title="class in org.apache.sysds.runtime.compress.colgroup.tree">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/tree/class-use/Naive.html" target="_top">Frames</a></li>
+<li><a href="Naive.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/tree/package-frame.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/tree/package-frame.html
new file mode 100644
index 0000000..27256b3
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/tree/package-frame.html
@@ -0,0 +1,24 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.sysds.runtime.compress.colgroup.tree (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<h1 class="bar"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/package-summary.html" target="classFrame">org.apache.sysds.runtime.compress.colgroup.tree</a></h1>
+<div class="indexContainer">
+<h2 title="Classes">Classes</h2>
+<ul title="Classes">
+<li><a href="AInsertionSorter.html" title="class in org.apache.sysds.runtime.compress.colgroup.tree" target="classFrame">AInsertionSorter</a></li>
+<li><a href="InsertionSorterFactory.html" title="class in org.apache.sysds.runtime.compress.colgroup.tree" target="classFrame">InsertionSorterFactory</a></li>
+<li><a href="MaterializeSort.html" title="class in org.apache.sysds.runtime.compress.colgroup.tree" target="classFrame">MaterializeSort</a></li>
+<li><a href="MergeSort.html" title="class in org.apache.sysds.runtime.compress.colgroup.tree" target="classFrame">MergeSort</a></li>
+<li><a href="Naive.html" title="class in org.apache.sysds.runtime.compress.colgroup.tree" target="classFrame">Naive</a></li>
+</ul>
+</div>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/tree/package-summary.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/tree/package-summary.html
new file mode 100644
index 0000000..2616549
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/tree/package-summary.html
@@ -0,0 +1,162 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.sysds.runtime.compress.colgroup.tree (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.sysds.runtime.compress.colgroup.tree (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/estim/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/tree/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Package" class="title">Package&nbsp;org.apache.sysds.runtime.compress.colgroup.tree</h1>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
+<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Class</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/AInsertionSorter.html" title="class in org.apache.sysds.runtime.compress.colgroup.tree">AInsertionSorter</a></td>
+<td class="colLast">
+<div class="block">This abstract class is for sorting the IntArrayList entries efficiently for
+ SDC Column Groups construction.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/InsertionSorterFactory.html" title="class in org.apache.sysds.runtime.compress.colgroup.tree">InsertionSorterFactory</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/MaterializeSort.html" title="class in org.apache.sysds.runtime.compress.colgroup.tree">MaterializeSort</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/MergeSort.html" title="class in org.apache.sysds.runtime.compress.colgroup.tree">MergeSort</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/Naive.html" title="class in org.apache.sysds.runtime.compress.colgroup.tree">Naive</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/estim/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/tree/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/tree/package-tree.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/tree/package-tree.html
new file mode 100644
index 0000000..6f0e323
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/tree/package-tree.html
@@ -0,0 +1,145 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.sysds.runtime.compress.colgroup.tree Class Hierarchy (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.sysds.runtime.compress.colgroup.tree Class Hierarchy (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/package-tree.html">Prev</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/estim/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/tree/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 class="title">Hierarchy For Package org.apache.sysds.runtime.compress.colgroup.tree</h1>
+<span class="packageHierarchyLabel">Package Hierarchies:</span>
+<ul class="horizontal">
+<li><a href="../../../../../../../overview-tree.html">All Packages</a></li>
+</ul>
+</div>
+<div class="contentContainer">
+<h2 title="Class Hierarchy">Class Hierarchy</h2>
+<ul>
+<li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
+<ul>
+<li type="circle">org.apache.sysds.runtime.compress.colgroup.tree.<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/AInsertionSorter.html" title="class in org.apache.sysds.runtime.compress.colgroup.tree"><span class="typeNameLink">AInsertionSorter</span></a>
+<ul>
+<li type="circle">org.apache.sysds.runtime.compress.colgroup.tree.<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/MaterializeSort.html" title="class in org.apache.sysds.runtime.compress.colgroup.tree"><span class="typeNameLink">MaterializeSort</span></a></li>
+<li type="circle">org.apache.sysds.runtime.compress.colgroup.tree.<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/MergeSort.html" title="class in org.apache.sysds.runtime.compress.colgroup.tree"><span class="typeNameLink">MergeSort</span></a></li>
+<li type="circle">org.apache.sysds.runtime.compress.colgroup.tree.<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/Naive.html" title="class in org.apache.sysds.runtime.compress.colgroup.tree"><span class="typeNameLink">Naive</span></a></li>
+</ul>
+</li>
+<li type="circle">org.apache.sysds.runtime.compress.colgroup.tree.<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/InsertionSorterFactory.html" title="class in org.apache.sysds.runtime.compress.colgroup.tree"><span class="typeNameLink">InsertionSorterFactory</span></a></li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/package-tree.html">Prev</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/estim/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/tree/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/tree/package-use.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/tree/package-use.html
new file mode 100644
index 0000000..1c83eca
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/tree/package-use.html
@@ -0,0 +1,161 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.sysds.runtime.compress.colgroup.tree (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Package org.apache.sysds.runtime.compress.colgroup.tree (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/tree/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Uses of Package org.apache.sysds.runtime.compress.colgroup.tree" class="title">Uses of Package<br>org.apache.sysds.runtime.compress.colgroup.tree</h1>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/package-summary.html">org.apache.sysds.runtime.compress.colgroup.tree</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.compress.colgroup.tree">org.apache.sysds.runtime.compress.colgroup.tree</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.sysds.runtime.compress.colgroup.tree">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/package-summary.html">org.apache.sysds.runtime.compress.colgroup.tree</a> used by <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/package-summary.html">org.apache.sysds.runtime.compress.colgroup.tree</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/class-use/AInsertionSorter.html#org.apache.sysds.runtime.compress.colgroup.tree">AInsertionSorter</a>
+<div class="block">This abstract class is for sorting the IntArrayList entries efficiently for
+ SDC Column Groups construction.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/tree/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/estim/CompressedSizeEstimator.html b/docs/api/java/org/apache/sysds/runtime/compress/estim/CompressedSizeEstimator.html
index 88fbeaf..1daa5e0 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/estim/CompressedSizeEstimator.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/estim/CompressedSizeEstimator.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":6};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":6,"i4":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -148,7 +148,8 @@
 </tr>
 <tr id="i2" class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/estim/EstimationFactors.html" title="class in org.apache.sysds.runtime.compress.estim">EstimationFactors</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimator.html#estimateCompressedColGroupSize-org.apache.sysds.runtime.compress.utils.ABitmap-">estimateCompressedColGroupSize</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils">ABitmap</a>&nbsp;ubm)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimator.html#estimateCompressedColGroupSize-org.apache.sysds.runtime.compress.utils.ABitmap-int:A-">estimateCompressedColGroupSize</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils">ABitmap</a>&nbsp;ubm,
+                              int[]&nbsp;colIndexes)</code>
 <div class="block">Method used to extract the CompressedSizeEstimationFactors from an constructed UncompressedBitmap.</div>
 </td>
 </tr>
@@ -158,6 +159,10 @@
 <div class="block">Abstract method for extracting Compressed Size Info of specified columns, together in a single ColGroup</div>
 </td>
 </tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimator.html#getSample--">getSample</a></span>()</code>&nbsp;</td>
+</tr>
 </table>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -226,24 +231,35 @@
 </dl>
 </li>
 </ul>
-<a name="estimateCompressedColGroupSize-org.apache.sysds.runtime.compress.utils.ABitmap-">
+<a name="estimateCompressedColGroupSize-org.apache.sysds.runtime.compress.utils.ABitmap-int:A-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>estimateCompressedColGroupSize</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/estim/EstimationFactors.html" title="class in org.apache.sysds.runtime.compress.estim">EstimationFactors</a>&nbsp;estimateCompressedColGroupSize(<a href="../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils">ABitmap</a>&nbsp;ubm)</pre>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/estim/EstimationFactors.html" title="class in org.apache.sysds.runtime.compress.estim">EstimationFactors</a>&nbsp;estimateCompressedColGroupSize(<a href="../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils">ABitmap</a>&nbsp;ubm,
+                                                        int[]&nbsp;colIndexes)</pre>
 <div class="block">Method used to extract the CompressedSizeEstimationFactors from an constructed UncompressedBitmap. Note this
  method works both for the sample based estimator and the exact estimator, since the bitmap, can be extracted from
  a sample or from the entire dataset.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>ubm</code> - the UncompressedBitmap, either extracted from a sample or from the entier dataset</dd>
+<dd><code>ubm</code> - The UncompressedBitmap, either extracted from a sample or from the entier dataset</dd>
+<dd><code>colIndexes</code> - The columns that is compressed together.</dd>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>The size factors estimated from the Bit Map.</dd>
 </dl>
 </li>
 </ul>
+<a name="getSample--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getSample</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;getSample()</pre>
+</li>
+</ul>
 </li>
 </ul>
 </li>
@@ -313,6 +329,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/estim/CompressedSizeEstimatorExact.html b/docs/api/java/org/apache/sysds/runtime/compress/estim/CompressedSizeEstimatorExact.html
index 338cf92..4df433f 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/estim/CompressedSizeEstimatorExact.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/estim/CompressedSizeEstimatorExact.html
@@ -135,8 +135,9 @@
 <th class="colOne" scope="col">Constructor and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimatorExact.html#CompressedSizeEstimatorExact-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.compress.CompressionSettings-">CompressedSizeEstimatorExact</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;data,
-                            <a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;compSettings)</code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimatorExact.html#CompressedSizeEstimatorExact-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.compress.CompressionSettings-boolean-">CompressedSizeEstimatorExact</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;data,
+                            <a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;compSettings,
+                            boolean&nbsp;transposed)</code>&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -165,7 +166,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.compress.estim.<a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimator.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeEstimator</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimator.html#computeCompressedSizeInfos-int-">computeCompressedSizeInfos</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimator.html#estimateCompressedColGroupSize--">estimateCompressedColGroupSize</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimator.html#estimateCompressedColGroupSize-org.apache.sysds.runtime.compress.utils.ABitmap-">estimateCompressedColGroupSize</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimator.html#computeCompressedSizeInfos-int-">computeCompressedSizeInfos</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimator.html#estimateCompressedColGroupSize--">estimateCompressedColGroupSize</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimator.html#estimateCompressedColGroupSize-org.apache.sysds.runtime.compress.utils.ABitmap-int:A-">estimateCompressedColGroupSize</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimator.html#getSample--">getSample</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -188,14 +189,15 @@
 <!--   -->
 </a>
 <h3>Constructor Detail</h3>
-<a name="CompressedSizeEstimatorExact-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.compress.CompressionSettings-">
+<a name="CompressedSizeEstimatorExact-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.compress.CompressionSettings-boolean-">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>CompressedSizeEstimatorExact</h4>
 <pre>public&nbsp;CompressedSizeEstimatorExact(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;data,
-                                    <a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;compSettings)</pre>
+                                    <a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;compSettings,
+                                    boolean&nbsp;transposed)</pre>
 </li>
 </ul>
 </li>
@@ -294,6 +296,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/estim/CompressedSizeEstimatorFactory.html b/docs/api/java/org/apache/sysds/runtime/compress/estim/CompressedSizeEstimatorFactory.html
index db6c46f..f46db31 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/estim/CompressedSizeEstimatorFactory.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/estim/CompressedSizeEstimatorFactory.html
@@ -269,6 +269,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/estim/CompressedSizeEstimatorSample.html b/docs/api/java/org/apache/sysds/runtime/compress/estim/CompressedSizeEstimatorSample.html
index 0a279da..ce7f9fa 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/estim/CompressedSizeEstimatorSample.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/estim/CompressedSizeEstimatorSample.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10};
+var methods = {"i0":10,"i1":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -134,9 +134,10 @@
 <th class="colOne" scope="col">Constructor and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimatorSample.html#CompressedSizeEstimatorSample-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.compress.CompressionSettings-int-">CompressedSizeEstimatorSample</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;data,
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimatorSample.html#CompressedSizeEstimatorSample-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.compress.CompressionSettings-int:A-boolean-">CompressedSizeEstimatorSample</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;data,
                              <a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;compSettings,
-                             int&nbsp;sampleSize)</code>
+                             int[]&nbsp;sampleRows,
+                             boolean&nbsp;transposed)</code>
 <div class="block">CompressedSizeEstimatorSample, samples from the input data and estimates the size of the compressed matrix.</div>
 </td>
 </tr>
@@ -161,20 +162,24 @@
 <div class="block">Abstract method for extracting Compressed Size Info of specified columns, together in a single ColGroup</div>
 </td>
 </tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimatorSample.html#toString--">toString</a></span>()</code>&nbsp;</td>
+</tr>
 </table>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.compress.estim.CompressedSizeEstimator">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.compress.estim.<a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimator.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeEstimator</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimator.html#computeCompressedSizeInfos-int-">computeCompressedSizeInfos</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimator.html#estimateCompressedColGroupSize--">estimateCompressedColGroupSize</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimator.html#estimateCompressedColGroupSize-org.apache.sysds.runtime.compress.utils.ABitmap-">estimateCompressedColGroupSize</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimator.html#computeCompressedSizeInfos-int-">computeCompressedSizeInfos</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimator.html#estimateCompressedColGroupSize--">estimateCompressedColGroupSize</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimator.html#estimateCompressedColGroupSize-org.apache.sysds.runtime.compress.utils.ABitmap-int:A-">estimateCompressedColGroupSize</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimator.html#getSample--">getSample</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
-<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -190,7 +195,7 @@
 <!--   -->
 </a>
 <h3>Constructor Detail</h3>
-<a name="CompressedSizeEstimatorSample-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.compress.CompressionSettings-int-">
+<a name="CompressedSizeEstimatorSample-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.compress.CompressionSettings-int:A-boolean-">
 <!--   -->
 </a>
 <ul class="blockListLast">
@@ -198,13 +203,15 @@
 <h4>CompressedSizeEstimatorSample</h4>
 <pre>public&nbsp;CompressedSizeEstimatorSample(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;data,
                                      <a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;compSettings,
-                                     int&nbsp;sampleSize)</pre>
+                                     int[]&nbsp;sampleRows,
+                                     boolean&nbsp;transposed)</pre>
 <div class="block">CompressedSizeEstimatorSample, samples from the input data and estimates the size of the compressed matrix.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>data</code> - The input data sampled from</dd>
+<dd><code>data</code> - The input data toSample from</dd>
 <dd><code>compSettings</code> - The Settings used for the sampling, and compression, contains information such as seed.</dd>
-<dd><code>sampleSize</code> - Size of the sampling used</dd>
+<dd><code>sampleRows</code> - The rows sampled</dd>
+<dd><code>transposed</code> - Boolean specifying if the input is already transposed.</dd>
 </dl>
 </li>
 </ul>
@@ -219,7 +226,7 @@
 <a name="estimateCompressedColGroupSize-int:A-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>estimateCompressedColGroupSize</h4>
 <pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfoColGroup.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfoColGroup</a>&nbsp;estimateCompressedColGroupSize(int[]&nbsp;colIndexes)</pre>
@@ -235,6 +242,19 @@
 </dl>
 </li>
 </ul>
+<a name="toString--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>toString</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>
@@ -304,6 +324,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html b/docs/api/java/org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html
index e00c7e5..962e29d 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -131,24 +131,20 @@
 <th class="colLast" scope="col">Field and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html#colsC">colsC</a></span></code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html#colsUC">colsUC</a></span></code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a>&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html#compRatios">compRatios</a></span></code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfoColGroup.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfoColGroup</a>[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html#compressionInfo">compressionInfo</a></span></code>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html#nnz">nnz</a></span></code>&nbsp;</td>
+</tr>
 <tr class="altColor">
 <td class="colFirst"><code>int</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html#nnzUC">nnzUC</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html#numCols">numCols</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html#numRows">numRows</a></span></code>&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -165,11 +161,10 @@
 <th class="colOne" scope="col">Constructor and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html#CompressedSizeInfo-org.apache.sysds.runtime.compress.estim.CompressedSizeInfoColGroup:A-java.util.List-java.util.List-java.util.HashMap-int-">CompressedSizeInfo</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfoColGroup.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfoColGroup</a>[]&nbsp;compressionInfo,
-                  <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;colsC,
-                  <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;colsUC,
-                  <a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a>&gt;&nbsp;compRatios,
-                  int&nbsp;nnzUC)</code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html#CompressedSizeInfo-org.apache.sysds.runtime.compress.estim.CompressedSizeInfoColGroup:A-int-int-int-">CompressedSizeInfo</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfoColGroup.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfoColGroup</a>[]&nbsp;compressionInfo,
+                  int&nbsp;nnz,
+                  int&nbsp;numRows,
+                  int&nbsp;numCols)</code>&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -191,18 +186,42 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html#getGroupInfo-int-">getGroupInfo</a></span>(int&nbsp;index)</code>&nbsp;</td>
 </tr>
 <tr id="i1" class="rowColor">
+<td class="colFirst"><code>int[][]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html#getGroups--">getGroups</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfoColGroup.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfoColGroup</a>[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html#getInfo--">getInfo</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html#getNumberColGroups--">getNumberColGroups</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html#isCompressible-long-">isCompressible</a></span>(long&nbsp;orgSize)</code>&nbsp;</td>
+</tr>
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html#memoryEstimate--">memoryEstimate</a></span>()</code>
 <div class="block">Method for returning the calculated memory usage from this specific compression plan.</div>
 </td>
 </tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html#setInfo-org.apache.sysds.runtime.compress.estim.CompressedSizeInfoColGroup:A-">setInfo</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfoColGroup.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfoColGroup</a>[]&nbsp;info)</code>&nbsp;</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html#toString--">toString</a></span>()</code>&nbsp;</td>
+</tr>
 </table>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
-<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -227,40 +246,31 @@
 <pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfoColGroup.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfoColGroup</a>[] compressionInfo</pre>
 </li>
 </ul>
-<a name="colsC">
+<a name="numCols">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>colsC</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt; colsC</pre>
+<h4>numCols</h4>
+<pre>public&nbsp;int numCols</pre>
 </li>
 </ul>
-<a name="colsUC">
+<a name="nnz">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>colsUC</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt; colsUC</pre>
+<h4>nnz</h4>
+<pre>public&nbsp;int nnz</pre>
 </li>
 </ul>
-<a name="compRatios">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>compRatios</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a>&gt; compRatios</pre>
-</li>
-</ul>
-<a name="nnzUC">
+<a name="numRows">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>nnzUC</h4>
-<pre>public&nbsp;int nnzUC</pre>
+<h4>numRows</h4>
+<pre>public&nbsp;int numRows</pre>
 </li>
 </ul>
 </li>
@@ -271,17 +281,16 @@
 <!--   -->
 </a>
 <h3>Constructor Detail</h3>
-<a name="CompressedSizeInfo-org.apache.sysds.runtime.compress.estim.CompressedSizeInfoColGroup:A-java.util.List-java.util.List-java.util.HashMap-int-">
+<a name="CompressedSizeInfo-org.apache.sysds.runtime.compress.estim.CompressedSizeInfoColGroup:A-int-int-int-">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>CompressedSizeInfo</h4>
 <pre>public&nbsp;CompressedSizeInfo(<a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfoColGroup.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfoColGroup</a>[]&nbsp;compressionInfo,
-                          <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;colsC,
-                          <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;colsUC,
-                          <a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a>&gt;&nbsp;compRatios,
-                          int&nbsp;nnzUC)</pre>
+                          int&nbsp;nnz,
+                          int&nbsp;numRows,
+                          int&nbsp;numCols)</pre>
 </li>
 </ul>
 </li>
@@ -292,6 +301,15 @@
 <!--   -->
 </a>
 <h3>Method Detail</h3>
+<a name="getGroups--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getGroups</h4>
+<pre>public&nbsp;int[][]&nbsp;getGroups()</pre>
+</li>
+</ul>
 <a name="getGroupInfo-int-">
 <!--   -->
 </a>
@@ -301,10 +319,28 @@
 <pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfoColGroup.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfoColGroup</a>&nbsp;getGroupInfo(int&nbsp;index)</pre>
 </li>
 </ul>
+<a name="getInfo--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getInfo</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfoColGroup.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfoColGroup</a>[]&nbsp;getInfo()</pre>
+</li>
+</ul>
+<a name="setInfo-org.apache.sysds.runtime.compress.estim.CompressedSizeInfoColGroup:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setInfo</h4>
+<pre>public&nbsp;void&nbsp;setInfo(<a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfoColGroup.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfoColGroup</a>[]&nbsp;info)</pre>
+</li>
+</ul>
 <a name="memoryEstimate--">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>memoryEstimate</h4>
 <pre>public&nbsp;long&nbsp;memoryEstimate()</pre>
@@ -315,6 +351,37 @@
 </dl>
 </li>
 </ul>
+<a name="getNumberColGroups--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getNumberColGroups</h4>
+<pre>public&nbsp;int&nbsp;getNumberColGroups()</pre>
+</li>
+</ul>
+<a name="isCompressible-long-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isCompressible</h4>
+<pre>public&nbsp;boolean&nbsp;isCompressible(long&nbsp;orgSize)</pre>
+</li>
+</ul>
+<a name="toString--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>toString</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>
@@ -384,6 +451,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/estim/CompressedSizeInfoColGroup.html b/docs/api/java/org/apache/sysds/runtime/compress/estim/CompressedSizeInfoColGroup.html
index 9448742..6639f7f 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/estim/CompressedSizeInfoColGroup.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/estim/CompressedSizeInfoColGroup.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -131,7 +131,7 @@
 </tr>
 <tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfoColGroup.html#CompressedSizeInfoColGroup-org.apache.sysds.runtime.compress.estim.EstimationFactors-java.util.Set-">CompressedSizeInfoColGroup</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/estim/EstimationFactors.html" title="class in org.apache.sysds.runtime.compress.estim">EstimationFactors</a>&nbsp;fact,
-                          <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>&gt;&nbsp;validCompressionTypes)</code>&nbsp;</td>
+                          <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a>&gt;&nbsp;validCompressionTypes)</code>&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -149,40 +149,52 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
-<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;</code></td>
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfoColGroup.html#getAllCompressionSizes--">getAllCompressionSizes</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i1" class="rowColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a></code></td>
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfoColGroup.html#getBestCompressionType--">getBestCompressionType</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i2" class="altColor">
-<td class="colFirst"><code>long</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfoColGroup.html#getCompressionSize-org.apache.sysds.runtime.compress.colgroup.ColGroup.CompressionType-">getCompressionSize</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>&nbsp;ct)</code>&nbsp;</td>
+<td class="colFirst"><code>double</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfoColGroup.html#getCardinalityRatio--">getCardinalityRatio</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i3" class="rowColor">
-<td class="colFirst"><code>int</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfoColGroup.html#getEstCard--">getEstCard</a></span>()</code>
-<div class="block">Note cardinality is the same as number of distinct values.</div>
-</td>
+<td class="colFirst"><code>int[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfoColGroup.html#getColumns--">getColumns</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i4" class="altColor">
-<td class="colFirst"><code>int</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfoColGroup.html#getEstNnz--">getEstNnz</a></span>()</code>
-<div class="block">Number of offsets, or number of non zero values.</div>
-</td>
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfoColGroup.html#getCompressionSize-org.apache.sysds.runtime.compress.colgroup.AColGroup.CompressionType-">getCompressionSize</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a>&nbsp;ct)</code>&nbsp;</td>
 </tr>
 <tr id="i5" class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfoColGroup.html#getMinSize--">getMinSize</a></span>()</code>&nbsp;</td>
 </tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfoColGroup.html#getNumOffs--">getNumOffs</a></span>()</code>
+<div class="block">Number of offsets, or number of non zero values.</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfoColGroup.html#getNumVals--">getNumVals</a></span>()</code>
+<div class="block">Note cardinality is the same as number of distinct values.</div>
+</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfoColGroup.html#toString--">toString</a></span>()</code>&nbsp;</td>
+</tr>
 </table>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
-<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -205,7 +217,7 @@
 <li class="blockList">
 <h4>CompressedSizeInfoColGroup</h4>
 <pre>public&nbsp;CompressedSizeInfoColGroup(<a href="../../../../../../org/apache/sysds/runtime/compress/estim/EstimationFactors.html" title="class in org.apache.sysds.runtime.compress.estim">EstimationFactors</a>&nbsp;fact,
-                                  <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>&gt;&nbsp;validCompressionTypes)</pre>
+                                  <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a>&gt;&nbsp;validCompressionTypes)</pre>
 </li>
 </ul>
 </li>
@@ -216,13 +228,13 @@
 <!--   -->
 </a>
 <h3>Method Detail</h3>
-<a name="getCompressionSize-org.apache.sysds.runtime.compress.colgroup.ColGroup.CompressionType-">
+<a name="getCompressionSize-org.apache.sysds.runtime.compress.colgroup.AColGroup.CompressionType-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>getCompressionSize</h4>
-<pre>public&nbsp;long&nbsp;getCompressionSize(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>&nbsp;ct)</pre>
+<pre>public&nbsp;long&nbsp;getCompressionSize(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a>&nbsp;ct)</pre>
 </li>
 </ul>
 <a name="getBestCompressionType--">
@@ -231,7 +243,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getBestCompressionType</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>&nbsp;getBestCompressionType()</pre>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a>&nbsp;getBestCompressionType()</pre>
 </li>
 </ul>
 <a name="getAllCompressionSizes--">
@@ -240,7 +252,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getAllCompressionSizes</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&nbsp;getAllCompressionSizes()</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&nbsp;getAllCompressionSizes()</pre>
 </li>
 </ul>
 <a name="getMinSize--">
@@ -252,13 +264,13 @@
 <pre>public&nbsp;long&nbsp;getMinSize()</pre>
 </li>
 </ul>
-<a name="getEstCard--">
+<a name="getNumVals--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getEstCard</h4>
-<pre>public&nbsp;int&nbsp;getEstCard()</pre>
+<h4>getNumVals</h4>
+<pre>public&nbsp;int&nbsp;getNumVals()</pre>
 <div class="block">Note cardinality is the same as number of distinct values.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -266,13 +278,13 @@
 </dl>
 </li>
 </ul>
-<a name="getEstNnz--">
+<a name="getNumOffs--">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
-<h4>getEstNnz</h4>
-<pre>public&nbsp;int&nbsp;getEstNnz()</pre>
+<h4>getNumOffs</h4>
+<pre>public&nbsp;int&nbsp;getNumOffs()</pre>
 <div class="block">Number of offsets, or number of non zero values.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -280,6 +292,37 @@
 </dl>
 </li>
 </ul>
+<a name="getColumns--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getColumns</h4>
+<pre>public&nbsp;int[]&nbsp;getColumns()</pre>
+</li>
+</ul>
+<a name="getCardinalityRatio--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getCardinalityRatio</h4>
+<pre>public&nbsp;double&nbsp;getCardinalityRatio()</pre>
+</li>
+</ul>
+<a name="toString--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>toString</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>
@@ -349,6 +392,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/estim/EstimationFactors.html b/docs/api/java/org/apache/sysds/runtime/compress/estim/EstimationFactors.html
index 2310d46..568696b 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/estim/EstimationFactors.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/estim/EstimationFactors.html
@@ -239,6 +239,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/estim/class-use/CompressedSizeEstimator.html b/docs/api/java/org/apache/sysds/runtime/compress/estim/class-use/CompressedSizeEstimator.html
index c94b1cd..9c3cfe4 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/estim/class-use/CompressedSizeEstimator.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/estim/class-use/CompressedSizeEstimator.html
@@ -107,7 +107,7 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;int[]&gt;</code></td>
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfo</a></code></td>
 <td class="colLast"><span class="typeNameLabel">PlanningCoCoder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.html#findCoCodesByPartitioning-org.apache.sysds.runtime.compress.estim.CompressedSizeEstimator-org.apache.sysds.runtime.compress.estim.CompressedSizeInfo-int-int-org.apache.sysds.runtime.compress.CompressionSettings-">findCoCodesByPartitioning</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimator.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeEstimator</a>&nbsp;sizeEstimator,
                          <a href="../../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfo</a>&nbsp;colInfos,
                          int&nbsp;numRows,
@@ -116,29 +116,6 @@
 <div class="block">Main entry point of CoCode.</div>
 </td>
 </tr>
-<tr class="rowColor">
-<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCodingGroup</a></code></td>
-<td class="colLast"><span class="typeNameLabel">PlanningMemoTable.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningMemoTable.html#getOrCreate-org.apache.sysds.runtime.compress.cocode.PlanningCoCodingGroup-org.apache.sysds.runtime.compress.cocode.PlanningCoCodingGroup-org.apache.sysds.runtime.compress.estim.CompressedSizeEstimator-int-">getOrCreate</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCodingGroup</a>&nbsp;c1,
-           <a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCodingGroup</a>&nbsp;c2,
-           <a href="../../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimator.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeEstimator</a>&nbsp;estim,
-           int&nbsp;numRows)</code>&nbsp;</td>
-</tr>
-</tbody>
-</table>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
-<caption><span>Constructors in <a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/package-summary.html">org.apache.sysds.runtime.compress.cocode</a> with parameters of type <a href="../../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimator.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeEstimator</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.html#PlanningCoCodingGroup-org.apache.sysds.runtime.compress.cocode.PlanningCoCodingGroup-org.apache.sysds.runtime.compress.cocode.PlanningCoCodingGroup-org.apache.sysds.runtime.compress.estim.CompressedSizeEstimator-int-">PlanningCoCodingGroup</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCodingGroup</a>&nbsp;grp1,
-                     <a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCodingGroup</a>&nbsp;grp2,
-                     <a href="../../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimator.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeEstimator</a>&nbsp;estim,
-                     int&nbsp;numRows)</code>
-<div class="block">Constructor for merging two disjoint groups of columns</div>
-</td>
-</tr>
 </tbody>
 </table>
 </li>
@@ -231,6 +208,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/estim/class-use/CompressedSizeEstimatorExact.html b/docs/api/java/org/apache/sysds/runtime/compress/estim/class-use/CompressedSizeEstimatorExact.html
index ff3db43..39fe223 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/estim/class-use/CompressedSizeEstimatorExact.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/estim/class-use/CompressedSizeEstimatorExact.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/estim/class-use/CompressedSizeEstimatorFactory.html b/docs/api/java/org/apache/sysds/runtime/compress/estim/class-use/CompressedSizeEstimatorFactory.html
index 61113dd..4b9271b 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/estim/class-use/CompressedSizeEstimatorFactory.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/estim/class-use/CompressedSizeEstimatorFactory.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/estim/class-use/CompressedSizeEstimatorSample.html b/docs/api/java/org/apache/sysds/runtime/compress/estim/class-use/CompressedSizeEstimatorSample.html
index 4a0403e..e3ef733 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/estim/class-use/CompressedSizeEstimatorSample.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/estim/class-use/CompressedSizeEstimatorSample.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/estim/class-use/CompressedSizeInfo.html b/docs/api/java/org/apache/sysds/runtime/compress/estim/class-use/CompressedSizeInfo.html
index 00438a3..eb190e0 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/estim/class-use/CompressedSizeInfo.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/estim/class-use/CompressedSizeInfo.html
@@ -87,6 +87,10 @@
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.compress.colgroup">org.apache.sysds.runtime.compress.colgroup</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.compress.estim">org.apache.sysds.runtime.compress.estim</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
@@ -100,6 +104,41 @@
 </a>
 <h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfo</a> in <a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/package-summary.html">org.apache.sysds.runtime.compress.cocode</a></h3>
 <table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/package-summary.html">org.apache.sysds.runtime.compress.cocode</a> that return <a href="../../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfo</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfo</a></code></td>
+<td class="colLast"><span class="typeNameLabel">PlanningCoCoder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.html#findCoCodesByPartitioning-org.apache.sysds.runtime.compress.estim.CompressedSizeEstimator-org.apache.sysds.runtime.compress.estim.CompressedSizeInfo-int-int-org.apache.sysds.runtime.compress.CompressionSettings-">findCoCodesByPartitioning</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimator.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeEstimator</a>&nbsp;sizeEstimator,
+                         <a href="../../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfo</a>&nbsp;colInfos,
+                         int&nbsp;numRows,
+                         int&nbsp;k,
+                         <a href="../../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;cs)</code>
+<div class="block">Main entry point of CoCode.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>abstract <a href="../../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfo</a></code></td>
+<td class="colLast"><span class="typeNameLabel">AColumnGroupPartitioner.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/AColumnGroupPartitioner.html#partitionColumns-org.apache.sysds.runtime.compress.estim.CompressedSizeInfo-">partitionColumns</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfo</a>&nbsp;colInfos)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfo</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColumnGroupPartitionerStatic.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitionerStatic.html#partitionColumns-org.apache.sysds.runtime.compress.estim.CompressedSizeInfo-">partitionColumns</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfo</a>&nbsp;colInfos)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfo</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColumnGroupPartitionerBinPacking.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitionerBinPacking.html#partitionColumns-org.apache.sysds.runtime.compress.estim.CompressedSizeInfo-">partitionColumns</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfo</a>&nbsp;colInfos)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfo</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColumnGroupPartitionerCost.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitionerCost.html#partitionColumns-org.apache.sysds.runtime.compress.estim.CompressedSizeInfo-">partitionColumns</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfo</a>&nbsp;colInfos)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
 <caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/package-summary.html">org.apache.sysds.runtime.compress.cocode</a> with parameters of type <a href="../../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfo</a></span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
@@ -107,7 +146,7 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;int[]&gt;</code></td>
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfo</a></code></td>
 <td class="colLast"><span class="typeNameLabel">PlanningCoCoder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.html#findCoCodesByPartitioning-org.apache.sysds.runtime.compress.estim.CompressedSizeEstimator-org.apache.sysds.runtime.compress.estim.CompressedSizeInfo-int-int-org.apache.sysds.runtime.compress.CompressionSettings-">findCoCodesByPartitioning</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimator.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeEstimator</a>&nbsp;sizeEstimator,
                          <a href="../../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfo</a>&nbsp;colInfos,
                          int&nbsp;numRows,
@@ -116,6 +155,45 @@
 <div class="block">Main entry point of CoCode.</div>
 </td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code>abstract <a href="../../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfo</a></code></td>
+<td class="colLast"><span class="typeNameLabel">AColumnGroupPartitioner.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/AColumnGroupPartitioner.html#partitionColumns-org.apache.sysds.runtime.compress.estim.CompressedSizeInfo-">partitionColumns</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfo</a>&nbsp;colInfos)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfo</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColumnGroupPartitionerStatic.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitionerStatic.html#partitionColumns-org.apache.sysds.runtime.compress.estim.CompressedSizeInfo-">partitionColumns</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfo</a>&nbsp;colInfos)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfo</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColumnGroupPartitionerBinPacking.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitionerBinPacking.html#partitionColumns-org.apache.sysds.runtime.compress.estim.CompressedSizeInfo-">partitionColumns</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfo</a>&nbsp;colInfos)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfo</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColumnGroupPartitionerCost.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitionerCost.html#partitionColumns-org.apache.sysds.runtime.compress.estim.CompressedSizeInfo-">partitionColumns</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfo</a>&nbsp;colInfos)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.sysds.runtime.compress.colgroup">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfo</a> in <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a> with parameters of type <a href="../../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfo</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a>[]</code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupFactory.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupFactory.html#compressColGroups-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.compress.estim.CompressedSizeInfo-org.apache.sysds.runtime.compress.CompressionSettings-int-">compressColGroups</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;in,
+                 <a href="../../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfo</a>&nbsp;csi,
+                 <a href="../../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;compSettings,
+                 int&nbsp;k)</code>
+<div class="block">The actual compression method, that handles the logic of compressing multiple columns together.</div>
+</td>
+</tr>
 </tbody>
 </table>
 </li>
@@ -190,6 +268,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/estim/class-use/CompressedSizeInfoColGroup.html b/docs/api/java/org/apache/sysds/runtime/compress/estim/class-use/CompressedSizeInfoColGroup.html
index ca70a68..4eec29a 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/estim/class-use/CompressedSizeInfoColGroup.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/estim/class-use/CompressedSizeInfoColGroup.html
@@ -139,6 +139,23 @@
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfoColGroup.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfoColGroup</a></code></td>
 <td class="colLast"><span class="typeNameLabel">CompressedSizeInfo.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html#getGroupInfo-int-">getGroupInfo</a></span>(int&nbsp;index)</code>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfoColGroup.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfoColGroup</a>[]</code></td>
+<td class="colLast"><span class="typeNameLabel">CompressedSizeInfo.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html#getInfo--">getInfo</a></span>()</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/compress/estim/package-summary.html">org.apache.sysds.runtime.compress.estim</a> with parameters of type <a href="../../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfoColGroup.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfoColGroup</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">CompressedSizeInfo.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html#setInfo-org.apache.sysds.runtime.compress.estim.CompressedSizeInfoColGroup:A-">setInfo</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfoColGroup.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfoColGroup</a>[]&nbsp;info)</code>&nbsp;</td>
+</tr>
 </tbody>
 </table>
 <table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
@@ -148,11 +165,10 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html#CompressedSizeInfo-org.apache.sysds.runtime.compress.estim.CompressedSizeInfoColGroup:A-java.util.List-java.util.List-java.util.HashMap-int-">CompressedSizeInfo</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfoColGroup.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfoColGroup</a>[]&nbsp;compressionInfo,
-                  <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;colsC,
-                  <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;colsUC,
-                  <a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a>&gt;&nbsp;compRatios,
-                  int&nbsp;nnzUC)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html#CompressedSizeInfo-org.apache.sysds.runtime.compress.estim.CompressedSizeInfoColGroup:A-int-int-int-">CompressedSizeInfo</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfoColGroup.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfoColGroup</a>[]&nbsp;compressionInfo,
+                  int&nbsp;nnz,
+                  int&nbsp;numRows,
+                  int&nbsp;numCols)</code>&nbsp;</td>
 </tr>
 </tbody>
 </table>
@@ -208,6 +224,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/estim/class-use/EstimationFactors.html b/docs/api/java/org/apache/sysds/runtime/compress/estim/class-use/EstimationFactors.html
index e22796d..0783043 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/estim/class-use/EstimationFactors.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/estim/class-use/EstimationFactors.html
@@ -104,7 +104,8 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/estim/EstimationFactors.html" title="class in org.apache.sysds.runtime.compress.estim">EstimationFactors</a></code></td>
-<td class="colLast"><span class="typeNameLabel">CompressedSizeEstimator.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimator.html#estimateCompressedColGroupSize-org.apache.sysds.runtime.compress.utils.ABitmap-">estimateCompressedColGroupSize</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils">ABitmap</a>&nbsp;ubm)</code>
+<td class="colLast"><span class="typeNameLabel">CompressedSizeEstimator.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimator.html#estimateCompressedColGroupSize-org.apache.sysds.runtime.compress.utils.ABitmap-int:A-">estimateCompressedColGroupSize</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils">ABitmap</a>&nbsp;ubm,
+                              int[]&nbsp;colIndexes)</code>
 <div class="block">Method used to extract the CompressedSizeEstimationFactors from an constructed UncompressedBitmap.</div>
 </td>
 </tr>
@@ -118,7 +119,7 @@
 <tbody>
 <tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfoColGroup.html#CompressedSizeInfoColGroup-org.apache.sysds.runtime.compress.estim.EstimationFactors-java.util.Set-">CompressedSizeInfoColGroup</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/estim/EstimationFactors.html" title="class in org.apache.sysds.runtime.compress.estim">EstimationFactors</a>&nbsp;fact,
-                          <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>&gt;&nbsp;validCompressionTypes)</code>&nbsp;</td>
+                          <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a>&gt;&nbsp;validCompressionTypes)</code>&nbsp;</td>
 </tr>
 </tbody>
 </table>
@@ -174,6 +175,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/estim/package-summary.html b/docs/api/java/org/apache/sysds/runtime/compress/estim/package-summary.html
index ca6a2aa..57eec67 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/estim/package-summary.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/estim/package-summary.html
@@ -43,7 +43,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/package-summary.html">Prev&nbsp;Package</a></li>
 <li><a href="../../../../../../org/apache/sysds/runtime/compress/estim/sample/package-summary.html">Next&nbsp;Package</a></li>
 </ul>
 <ul class="navList">
@@ -146,7 +146,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/package-summary.html">Prev&nbsp;Package</a></li>
 <li><a href="../../../../../../org/apache/sysds/runtime/compress/estim/sample/package-summary.html">Next&nbsp;Package</a></li>
 </ul>
 <ul class="navList">
@@ -172,6 +172,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/estim/package-tree.html b/docs/api/java/org/apache/sysds/runtime/compress/estim/package-tree.html
index ced02e2..dff4168 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/estim/package-tree.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/estim/package-tree.html
@@ -43,7 +43,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/package-tree.html">Prev</a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/package-tree.html">Prev</a></li>
 <li><a href="../../../../../../org/apache/sysds/runtime/compress/estim/sample/package-tree.html">Next</a></li>
 </ul>
 <ul class="navList">
@@ -116,7 +116,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/package-tree.html">Prev</a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/package-tree.html">Prev</a></li>
 <li><a href="../../../../../../org/apache/sysds/runtime/compress/estim/sample/package-tree.html">Next</a></li>
 </ul>
 <ul class="navList">
@@ -142,6 +142,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/estim/package-use.html b/docs/api/java/org/apache/sysds/runtime/compress/estim/package-use.html
index b961613..1269fad 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/estim/package-use.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/estim/package-use.html
@@ -87,6 +87,10 @@
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.compress.colgroup">org.apache.sysds.runtime.compress.colgroup</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.compress.estim">org.apache.sysds.runtime.compress.estim</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
@@ -115,6 +119,23 @@
 </tbody>
 </table>
 </li>
+<li class="blockList"><a name="org.apache.sysds.runtime.compress.colgroup">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../../org/apache/sysds/runtime/compress/estim/package-summary.html">org.apache.sysds.runtime.compress.estim</a> used by <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/compress/estim/class-use/CompressedSizeInfo.html#org.apache.sysds.runtime.compress.colgroup">CompressedSizeInfo</a>
+<div class="block">A helper reusable object for maintaining information about estimated compression</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
 <li class="blockList"><a name="org.apache.sysds.runtime.compress.estim">
 <!--   -->
 </a>
@@ -196,6 +217,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/estim/sample/FrequencyCount.html b/docs/api/java/org/apache/sysds/runtime/compress/estim/sample/FrequencyCount.html
index 2e25b1b..4000bf4 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/estim/sample/FrequencyCount.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/estim/sample/FrequencyCount.html
@@ -233,6 +233,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/estim/sample/GuaranteedErrorEstimator.html b/docs/api/java/org/apache/sysds/runtime/compress/estim/sample/GuaranteedErrorEstimator.html
index d5c0b19..e428890 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/estim/sample/GuaranteedErrorEstimator.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/estim/sample/GuaranteedErrorEstimator.html
@@ -233,6 +233,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/estim/sample/HassAndStokes.html b/docs/api/java/org/apache/sysds/runtime/compress/estim/sample/HassAndStokes.html
index e9e001c..0592578 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/estim/sample/HassAndStokes.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/estim/sample/HassAndStokes.html
@@ -413,6 +413,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/estim/sample/ShlosserEstimator.html b/docs/api/java/org/apache/sysds/runtime/compress/estim/sample/ShlosserEstimator.html
index 0f4cc23..ffe9fd3 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/estim/sample/ShlosserEstimator.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/estim/sample/ShlosserEstimator.html
@@ -283,6 +283,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/estim/sample/ShlosserJackknifeEstimator.html b/docs/api/java/org/apache/sysds/runtime/compress/estim/sample/ShlosserJackknifeEstimator.html
index 840eb95..548b197 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/estim/sample/ShlosserJackknifeEstimator.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/estim/sample/ShlosserJackknifeEstimator.html
@@ -233,6 +233,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/estim/sample/SmoothedJackknifeEstimator.html b/docs/api/java/org/apache/sysds/runtime/compress/estim/sample/SmoothedJackknifeEstimator.html
index 0b96a4f..4e47b3c 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/estim/sample/SmoothedJackknifeEstimator.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/estim/sample/SmoothedJackknifeEstimator.html
@@ -283,6 +283,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/estim/sample/class-use/FrequencyCount.html b/docs/api/java/org/apache/sysds/runtime/compress/estim/sample/class-use/FrequencyCount.html
index f10cf6d..d606185 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/estim/sample/class-use/FrequencyCount.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/estim/sample/class-use/FrequencyCount.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/estim/sample/class-use/GuaranteedErrorEstimator.html b/docs/api/java/org/apache/sysds/runtime/compress/estim/sample/class-use/GuaranteedErrorEstimator.html
index a82739e..306fab0 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/estim/sample/class-use/GuaranteedErrorEstimator.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/estim/sample/class-use/GuaranteedErrorEstimator.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/estim/sample/class-use/HassAndStokes.html b/docs/api/java/org/apache/sysds/runtime/compress/estim/sample/class-use/HassAndStokes.html
index 4c9b747..3f855b7 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/estim/sample/class-use/HassAndStokes.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/estim/sample/class-use/HassAndStokes.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/estim/sample/class-use/ShlosserEstimator.html b/docs/api/java/org/apache/sysds/runtime/compress/estim/sample/class-use/ShlosserEstimator.html
index ab8fc61..e27b6f6 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/estim/sample/class-use/ShlosserEstimator.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/estim/sample/class-use/ShlosserEstimator.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/estim/sample/class-use/ShlosserJackknifeEstimator.html b/docs/api/java/org/apache/sysds/runtime/compress/estim/sample/class-use/ShlosserJackknifeEstimator.html
index 5f774de..e6cb85b 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/estim/sample/class-use/ShlosserJackknifeEstimator.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/estim/sample/class-use/ShlosserJackknifeEstimator.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/estim/sample/class-use/SmoothedJackknifeEstimator.html b/docs/api/java/org/apache/sysds/runtime/compress/estim/sample/class-use/SmoothedJackknifeEstimator.html
index 9141977..25d3981 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/estim/sample/class-use/SmoothedJackknifeEstimator.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/estim/sample/class-use/SmoothedJackknifeEstimator.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/estim/sample/package-summary.html b/docs/api/java/org/apache/sysds/runtime/compress/estim/sample/package-summary.html
index def0db2..dd8ed94 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/estim/sample/package-summary.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/estim/sample/package-summary.html
@@ -158,6 +158,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/estim/sample/package-tree.html b/docs/api/java/org/apache/sysds/runtime/compress/estim/sample/package-tree.html
index 36f23c6..0ddea8a 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/estim/sample/package-tree.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/estim/sample/package-tree.html
@@ -138,6 +138,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/estim/sample/package-use.html b/docs/api/java/org/apache/sysds/runtime/compress/estim/sample/package-use.html
index 9d37df8..856fa55 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/estim/sample/package-use.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/estim/sample/package-use.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/BitmapEncoder.html b/docs/api/java/org/apache/sysds/runtime/compress/lib/BitmapEncoder.html
similarity index 66%
copy from docs/api/java/org/apache/sysds/runtime/compress/BitmapEncoder.html
copy to docs/api/java/org/apache/sysds/runtime/compress/lib/BitmapEncoder.html
index f784b92..167fce4 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/BitmapEncoder.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/lib/BitmapEncoder.html
@@ -5,8 +5,8 @@
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 <title>BitmapEncoder (SystemDS 2.1.0-SNAPSHOT API)</title>
-<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../script.js"></script>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
 <body>
 <script type="text/javascript"><!--
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9};
+var methods = {"i0":9,"i1":9};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -37,27 +37,27 @@
 <!--   -->
 </a>
 <ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="package-summary.html">Package</a></li>
 <li class="navBarCell1Rev">Class</li>
 <li><a href="class-use/BitmapEncoder.html">Use</a></li>
 <li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../help-doc.html">Help</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
 </ul>
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li>Prev&nbsp;Class</li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/lib/BitmapLossyEncoder.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../index.html?org/apache/sysds/runtime/compress/BitmapEncoder.html" target="_top">Frames</a></li>
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/lib/BitmapEncoder.html" target="_top">Frames</a></li>
 <li><a href="BitmapEncoder.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
 </ul>
 <div>
 <script type="text/javascript"><!--
@@ -92,7 +92,7 @@
 <!-- ========= END OF TOP NAVBAR ========= -->
 <!-- ======== START OF CLASS DATA ======== -->
 <div class="header">
-<div class="subTitle">org.apache.sysds.runtime.compress</div>
+<div class="subTitle">org.apache.sysds.runtime.compress.lib</div>
 <h2 title="Class BitmapEncoder" class="title">Class BitmapEncoder</h2>
 </div>
 <div class="contentContainer">
@@ -100,7 +100,7 @@
 <li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
-<li>org.apache.sysds.runtime.compress.BitmapEncoder</li>
+<li>org.apache.sysds.runtime.compress.lib.BitmapEncoder</li>
 </ul>
 </li>
 </ul>
@@ -130,7 +130,7 @@
 <th class="colOne" scope="col">Constructor and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/BitmapEncoder.html#BitmapEncoder--">BitmapEncoder</a></span>()</code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/lib/BitmapEncoder.html#BitmapEncoder--">BitmapEncoder</a></span>()</code>&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -148,10 +148,17 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils">ABitmap</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/BitmapEncoder.html#extractBitmap-int:A-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.compress.CompressionSettings-">extractBitmap</a></span>(int[]&nbsp;colIndices,
-             <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;rawBlock,
-             <a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;compSettings)</code>
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils">ABitmap</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/lib/BitmapEncoder.html#extractBitmap-int:A-int-java.util.BitSet-org.apache.sysds.runtime.compress.CompressionSettings-">extractBitmap</a></span>(int[]&nbsp;colIndices,
+             int&nbsp;rows,
+             <a href="https://docs.oracle.com/javase/8/docs/api/java/util/BitSet.html?is-external=true" title="class or interface in java.util">BitSet</a>&nbsp;rawBlock,
+             <a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;compSettings)</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/compress/utils/Bitmap.html" title="class in org.apache.sysds.runtime.compress.utils">Bitmap</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/lib/BitmapEncoder.html#extractBitmap-int:A-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-">extractBitmap</a></span>(int[]&nbsp;colIndices,
+             <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;rawBlock,
+             boolean&nbsp;transposed)</code>
 <div class="block">Generate uncompressed bitmaps for a set of columns in an uncompressed matrix block.</div>
 </td>
 </tr>
@@ -194,26 +201,38 @@
 <!--   -->
 </a>
 <h3>Method Detail</h3>
-<a name="extractBitmap-int:A-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.compress.CompressionSettings-">
+<a name="extractBitmap-int:A-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>extractBitmap</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils">ABitmap</a>&nbsp;extractBitmap(int[]&nbsp;colIndices,
-                                    <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;rawBlock,
-                                    <a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;compSettings)</pre>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/utils/Bitmap.html" title="class in org.apache.sysds.runtime.compress.utils">Bitmap</a>&nbsp;extractBitmap(int[]&nbsp;colIndices,
+                                   <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;rawBlock,
+                                   boolean&nbsp;transposed)</pre>
 <div class="block">Generate uncompressed bitmaps for a set of columns in an uncompressed matrix block.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>colIndices</code> - Indexes (within the block) of the columns to extract</dd>
 <dd><code>rawBlock</code> - An uncompressed matrix block; can be dense or sparse</dd>
-<dd><code>compSettings</code> - The compression settings used for the compression.</dd>
+<dd><code>transposed</code> - Boolean specifying if the rawblock was transposed.</dd>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>uncompressed bitmap representation of the columns</dd>
 </dl>
 </li>
 </ul>
+<a name="extractBitmap-int:A-int-java.util.BitSet-org.apache.sysds.runtime.compress.CompressionSettings-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>extractBitmap</h4>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils">ABitmap</a>&nbsp;extractBitmap(int[]&nbsp;colIndices,
+                                    int&nbsp;rows,
+                                    <a href="https://docs.oracle.com/javase/8/docs/api/java/util/BitSet.html?is-external=true" title="class or interface in java.util">BitSet</a>&nbsp;rawBlock,
+                                    <a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;compSettings)</pre>
+</li>
+</ul>
 </li>
 </ul>
 </li>
@@ -230,27 +249,27 @@
 <!--   -->
 </a>
 <ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="package-summary.html">Package</a></li>
 <li class="navBarCell1Rev">Class</li>
 <li><a href="class-use/BitmapEncoder.html">Use</a></li>
 <li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../help-doc.html">Help</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
 </ul>
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li>Prev&nbsp;Class</li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/lib/BitmapLossyEncoder.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../index.html?org/apache/sysds/runtime/compress/BitmapEncoder.html" target="_top">Frames</a></li>
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/lib/BitmapEncoder.html" target="_top">Frames</a></li>
 <li><a href="BitmapEncoder.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
 </ul>
 <div>
 <script type="text/javascript"><!--
@@ -283,6 +302,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/lib/LibBinaryCellOp.html b/docs/api/java/org/apache/sysds/runtime/compress/lib/BitmapLossyEncoder.html
similarity index 64%
rename from docs/api/java/org/apache/sysds/runtime/compress/lib/LibBinaryCellOp.html
rename to docs/api/java/org/apache/sysds/runtime/compress/lib/BitmapLossyEncoder.html
index d9e228d..1c7eca0 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/lib/LibBinaryCellOp.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/lib/BitmapLossyEncoder.html
@@ -4,7 +4,7 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>LibBinaryCellOp (SystemDS 2.1.0-SNAPSHOT API)</title>
+<title>BitmapLossyEncoder (SystemDS 2.1.0-SNAPSHOT API)</title>
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,13 +12,13 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="LibBinaryCellOp (SystemDS 2.1.0-SNAPSHOT API)";
+            parent.document.title="BitmapLossyEncoder (SystemDS 2.1.0-SNAPSHOT API)";
         }
     }
     catch(err) {
     }
 //-->
-var methods = {"i0":9};
+var methods = {"i0":9,"i1":9,"i2":9};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -40,7 +40,7 @@
 <li><a href="../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="package-summary.html">Package</a></li>
 <li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/LibBinaryCellOp.html">Use</a></li>
+<li><a href="class-use/BitmapLossyEncoder.html">Use</a></li>
 <li><a href="package-tree.html">Tree</a></li>
 <li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
 <li><a href="../../../../../../index-all.html">Index</a></li>
@@ -49,12 +49,12 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li>Prev&nbsp;Class</li>
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/lib/LibLeftMultBy.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/lib/BitmapEncoder.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/lib/CLALibAppend.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/lib/LibBinaryCellOp.html" target="_top">Frames</a></li>
-<li><a href="LibBinaryCellOp.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/lib/BitmapLossyEncoder.html" target="_top">Frames</a></li>
+<li><a href="BitmapLossyEncoder.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
 <li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -93,14 +93,14 @@
 <!-- ======== START OF CLASS DATA ======== -->
 <div class="header">
 <div class="subTitle">org.apache.sysds.runtime.compress.lib</div>
-<h2 title="Class LibBinaryCellOp" class="title">Class LibBinaryCellOp</h2>
+<h2 title="Class BitmapLossyEncoder" class="title">Class BitmapLossyEncoder</h2>
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
 <li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
-<li>org.apache.sysds.runtime.compress.lib.LibBinaryCellOp</li>
+<li>org.apache.sysds.runtime.compress.lib.BitmapLossyEncoder</li>
 </ul>
 </li>
 </ul>
@@ -109,8 +109,9 @@
 <li class="blockList">
 <hr>
 <br>
-<pre>public class <span class="typeNameLabel">LibBinaryCellOp</span>
+<pre>public class <span class="typeNameLabel">BitmapLossyEncoder</span>
 extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block">Static functions for encoding bitmaps in various ways.</div>
 </li>
 </ul>
 </div>
@@ -129,7 +130,7 @@
 <th class="colOne" scope="col">Constructor and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/lib/LibBinaryCellOp.html#LibBinaryCellOp--">LibBinaryCellOp</a></span>()</code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/lib/BitmapLossyEncoder.html#BitmapLossyEncoder--">BitmapLossyEncoder</a></span>()</code>&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -147,12 +148,20 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/lib/LibBinaryCellOp.html#bincellOp-org.apache.sysds.runtime.compress.CompressedMatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.compress.CompressedMatrixBlock-org.apache.sysds.runtime.matrix.operators.BinaryOperator-">bincellOp</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;m1,
-         <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2,
-         <a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;ret,
-         <a href="../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op)</code>
-<div class="block">matrix-matrix binary operations, MM, MV</div>
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/lib/BitmapLossyEncoder.html#cleanMemPools--">cleanMemPools</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils">ABitmap</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/lib/BitmapLossyEncoder.html#extractMapFromCompressedSingleColumn-org.apache.sysds.runtime.compress.CompressedMatrixBlock-int-double-double-">extractMapFromCompressedSingleColumn</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;m,
+                                    int&nbsp;columnId,
+                                    double&nbsp;min,
+                                    double&nbsp;max)</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils">ABitmap</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/lib/BitmapLossyEncoder.html#makeBitmapLossy-org.apache.sysds.runtime.compress.utils.Bitmap-">makeBitmapLossy</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/utils/Bitmap.html" title="class in org.apache.sysds.runtime.compress.utils">Bitmap</a>&nbsp;ubm)</code>
+<div class="block">Given a Bitmap try to make a lossy version of the same bitmap.</div>
 </td>
 </tr>
 </table>
@@ -177,13 +186,13 @@
 <!--   -->
 </a>
 <h3>Constructor Detail</h3>
-<a name="LibBinaryCellOp--">
+<a name="BitmapLossyEncoder--">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>LibBinaryCellOp</h4>
-<pre>public&nbsp;LibBinaryCellOp()</pre>
+<h4>BitmapLossyEncoder</h4>
+<pre>public&nbsp;BitmapLossyEncoder()</pre>
 </li>
 </ul>
 </li>
@@ -194,26 +203,41 @@
 <!--   -->
 </a>
 <h3>Method Detail</h3>
-<a name="bincellOp-org.apache.sysds.runtime.compress.CompressedMatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.compress.CompressedMatrixBlock-org.apache.sysds.runtime.matrix.operators.BinaryOperator-">
+<a name="makeBitmapLossy-org.apache.sysds.runtime.compress.utils.Bitmap-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>makeBitmapLossy</h4>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils">ABitmap</a>&nbsp;makeBitmapLossy(<a href="../../../../../../org/apache/sysds/runtime/compress/utils/Bitmap.html" title="class in org.apache.sysds.runtime.compress.utils">Bitmap</a>&nbsp;ubm)</pre>
+<div class="block">Given a Bitmap try to make a lossy version of the same bitmap.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>ubm</code> - The Uncompressed version of the bitmap.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>A bitmap.</dd>
+</dl>
+</li>
+</ul>
+<a name="extractMapFromCompressedSingleColumn-org.apache.sysds.runtime.compress.CompressedMatrixBlock-int-double-double-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>extractMapFromCompressedSingleColumn</h4>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils">ABitmap</a>&nbsp;extractMapFromCompressedSingleColumn(<a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;m,
+                                                           int&nbsp;columnId,
+                                                           double&nbsp;min,
+                                                           double&nbsp;max)</pre>
+</li>
+</ul>
+<a name="cleanMemPools--">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>bincellOp</h4>
-<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;bincellOp(<a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;m1,
-                                    <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2,
-                                    <a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;ret,
-                                    <a href="../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op)</pre>
-<div class="block">matrix-matrix binary operations, MM, MV</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>m1</code> - Input matrix in compressed format to perform the operator on using m2</dd>
-<dd><code>m2</code> - Input matrix 2 to use cell-wise on m1</dd>
-<dd><code>ret</code> - Result matrix to be returned in the operation.</dd>
-<dd><code>op</code> - Binary operator such as multiply, add, less than, etc.</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>The ret matrix, modified appropriately.</dd>
-</dl>
+<h4>cleanMemPools</h4>
+<pre>public static&nbsp;void&nbsp;cleanMemPools()</pre>
 </li>
 </ul>
 </li>
@@ -235,7 +259,7 @@
 <li><a href="../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="package-summary.html">Package</a></li>
 <li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/LibBinaryCellOp.html">Use</a></li>
+<li><a href="class-use/BitmapLossyEncoder.html">Use</a></li>
 <li><a href="package-tree.html">Tree</a></li>
 <li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
 <li><a href="../../../../../../index-all.html">Index</a></li>
@@ -244,12 +268,12 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li>Prev&nbsp;Class</li>
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/lib/LibLeftMultBy.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/lib/BitmapEncoder.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/lib/CLALibAppend.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/lib/LibBinaryCellOp.html" target="_top">Frames</a></li>
-<li><a href="LibBinaryCellOp.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/lib/BitmapLossyEncoder.html" target="_top">Frames</a></li>
+<li><a href="BitmapLossyEncoder.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
 <li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -285,6 +309,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/lib/LibScalar.html b/docs/api/java/org/apache/sysds/runtime/compress/lib/CLALibAppend.html
similarity index 75%
copy from docs/api/java/org/apache/sysds/runtime/compress/lib/LibScalar.html
copy to docs/api/java/org/apache/sysds/runtime/compress/lib/CLALibAppend.html
index 8f81450..a975133 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/lib/LibScalar.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/lib/CLALibAppend.html
@@ -4,7 +4,7 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>LibScalar (SystemDS 2.1.0-SNAPSHOT API)</title>
+<title>CLALibAppend (SystemDS 2.1.0-SNAPSHOT API)</title>
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="LibScalar (SystemDS 2.1.0-SNAPSHOT API)";
+            parent.document.title="CLALibAppend (SystemDS 2.1.0-SNAPSHOT API)";
         }
     }
     catch(err) {
@@ -40,7 +40,7 @@
 <li><a href="../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="package-summary.html">Package</a></li>
 <li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/LibScalar.html">Use</a></li>
+<li><a href="class-use/CLALibAppend.html">Use</a></li>
 <li><a href="package-tree.html">Tree</a></li>
 <li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
 <li><a href="../../../../../../index-all.html">Index</a></li>
@@ -49,12 +49,12 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/lib/LibRightMultBy.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li>Next&nbsp;Class</li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/lib/BitmapLossyEncoder.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/lib/CLALibBinaryCellOp.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/lib/LibScalar.html" target="_top">Frames</a></li>
-<li><a href="LibScalar.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/lib/CLALibAppend.html" target="_top">Frames</a></li>
+<li><a href="CLALibAppend.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
 <li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -93,14 +93,14 @@
 <!-- ======== START OF CLASS DATA ======== -->
 <div class="header">
 <div class="subTitle">org.apache.sysds.runtime.compress.lib</div>
-<h2 title="Class LibScalar" class="title">Class LibScalar</h2>
+<h2 title="Class CLALibAppend" class="title">Class CLALibAppend</h2>
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
 <li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
-<li>org.apache.sysds.runtime.compress.lib.LibScalar</li>
+<li>org.apache.sysds.runtime.compress.lib.CLALibAppend</li>
 </ul>
 </li>
 </ul>
@@ -109,7 +109,7 @@
 <li class="blockList">
 <hr>
 <br>
-<pre>public class <span class="typeNameLabel">LibScalar</span>
+<pre>public class <span class="typeNameLabel">CLALibAppend</span>
 extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 </li>
 </ul>
@@ -129,7 +129,7 @@
 <th class="colOne" scope="col">Constructor and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/lib/LibScalar.html#LibScalar--">LibScalar</a></span>()</code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/lib/CLALibAppend.html#CLALibAppend--">CLALibAppend</a></span>()</code>&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -148,10 +148,8 @@
 </tr>
 <tr id="i0" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/lib/LibScalar.html#scalarOperations-org.apache.sysds.runtime.matrix.operators.ScalarOperator-org.apache.sysds.runtime.compress.CompressedMatrixBlock-org.apache.sysds.runtime.compress.CompressedMatrixBlock-boolean-">scalarOperations</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;sop,
-                <a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;m1,
-                <a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;ret,
-                boolean&nbsp;overlapping)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/lib/CLALibAppend.html#append-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">append</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;left,
+      <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;right)</code>&nbsp;</td>
 </tr>
 </table>
 <ul class="blockList">
@@ -175,13 +173,13 @@
 <!--   -->
 </a>
 <h3>Constructor Detail</h3>
-<a name="LibScalar--">
+<a name="CLALibAppend--">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>LibScalar</h4>
-<pre>public&nbsp;LibScalar()</pre>
+<h4>CLALibAppend</h4>
+<pre>public&nbsp;CLALibAppend()</pre>
 </li>
 </ul>
 </li>
@@ -192,16 +190,14 @@
 <!--   -->
 </a>
 <h3>Method Detail</h3>
-<a name="scalarOperations-org.apache.sysds.runtime.matrix.operators.ScalarOperator-org.apache.sysds.runtime.compress.CompressedMatrixBlock-org.apache.sysds.runtime.compress.CompressedMatrixBlock-boolean-">
+<a name="append-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>scalarOperations</h4>
-<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;scalarOperations(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;sop,
-                                           <a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;m1,
-                                           <a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;ret,
-                                           boolean&nbsp;overlapping)</pre>
+<h4>append</h4>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;append(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;left,
+                                 <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;right)</pre>
 </li>
 </ul>
 </li>
@@ -223,7 +219,7 @@
 <li><a href="../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="package-summary.html">Package</a></li>
 <li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/LibScalar.html">Use</a></li>
+<li><a href="class-use/CLALibAppend.html">Use</a></li>
 <li><a href="package-tree.html">Tree</a></li>
 <li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
 <li><a href="../../../../../../index-all.html">Index</a></li>
@@ -232,12 +228,12 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/lib/LibRightMultBy.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li>Next&nbsp;Class</li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/lib/BitmapLossyEncoder.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/lib/CLALibBinaryCellOp.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/lib/LibScalar.html" target="_top">Frames</a></li>
-<li><a href="LibScalar.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/lib/CLALibAppend.html" target="_top">Frames</a></li>
+<li><a href="CLALibAppend.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
 <li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -273,6 +269,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/lib/CLALibBinaryCellOp.html b/docs/api/java/org/apache/sysds/runtime/compress/lib/CLALibBinaryCellOp.html
new file mode 100644
index 0000000..687fc14
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/compress/lib/CLALibBinaryCellOp.html
@@ -0,0 +1,318 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>CLALibBinaryCellOp (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="CLALibBinaryCellOp (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":9,"i1":9,"i2":9};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/CLALibBinaryCellOp.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/lib/CLALibAppend.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/lib/CLALibCompAgg.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/lib/CLALibBinaryCellOp.html" target="_top">Frames</a></li>
+<li><a href="CLALibBinaryCellOp.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.sysds.runtime.compress.lib</div>
+<h2 title="Class CLALibBinaryCellOp" class="title">Class CLALibBinaryCellOp</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.sysds.runtime.compress.lib.CLALibBinaryCellOp</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">CLALibBinaryCellOp</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/lib/CLALibBinaryCellOp.html#CLALibBinaryCellOp--">CLALibBinaryCellOp</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/lib/CLALibBinaryCellOp.html#binaryMVRow-org.apache.sysds.runtime.compress.CompressedMatrixBlock-double:A-org.apache.sysds.runtime.compress.CompressedMatrixBlock-org.apache.sysds.runtime.matrix.operators.BinaryOperator-boolean-">binaryMVRow</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;m1,
+           double[]&nbsp;v,
+           <a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;ret,
+           <a href="../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
+           boolean&nbsp;left)</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/lib/CLALibBinaryCellOp.html#binaryOperations-org.apache.sysds.runtime.matrix.operators.BinaryOperator-org.apache.sysds.runtime.compress.CompressedMatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-">binaryOperations</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
+                <a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;m1,
+                <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;thatValue,
+                <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result)</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/lib/CLALibBinaryCellOp.html#binaryOperationsLeft-org.apache.sysds.runtime.matrix.operators.BinaryOperator-org.apache.sysds.runtime.compress.CompressedMatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-">binaryOperationsLeft</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
+                    <a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;m1,
+                    <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;thatValue,
+                    <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result)</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="CLALibBinaryCellOp--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>CLALibBinaryCellOp</h4>
+<pre>public&nbsp;CLALibBinaryCellOp()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="binaryOperations-org.apache.sysds.runtime.matrix.operators.BinaryOperator-org.apache.sysds.runtime.compress.CompressedMatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>binaryOperations</h4>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;binaryOperations(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
+                                           <a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;m1,
+                                           <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;thatValue,
+                                           <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result)</pre>
+</li>
+</ul>
+<a name="binaryOperationsLeft-org.apache.sysds.runtime.matrix.operators.BinaryOperator-org.apache.sysds.runtime.compress.CompressedMatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>binaryOperationsLeft</h4>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;binaryOperationsLeft(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
+                                               <a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;m1,
+                                               <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;thatValue,
+                                               <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result)</pre>
+</li>
+</ul>
+<a name="binaryMVRow-org.apache.sysds.runtime.compress.CompressedMatrixBlock-double:A-org.apache.sysds.runtime.compress.CompressedMatrixBlock-org.apache.sysds.runtime.matrix.operators.BinaryOperator-boolean-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>binaryMVRow</h4>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;binaryMVRow(<a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;m1,
+                                                double[]&nbsp;v,
+                                                <a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;ret,
+                                                <a href="../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
+                                                boolean&nbsp;left)</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/CLALibBinaryCellOp.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/lib/CLALibAppend.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/lib/CLALibCompAgg.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/lib/CLALibBinaryCellOp.html" target="_top">Frames</a></li>
+<li><a href="CLALibBinaryCellOp.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/lib/LibScalar.html b/docs/api/java/org/apache/sysds/runtime/compress/lib/CLALibCompAgg.html
similarity index 69%
copy from docs/api/java/org/apache/sysds/runtime/compress/lib/LibScalar.html
copy to docs/api/java/org/apache/sysds/runtime/compress/lib/CLALibCompAgg.html
index 8f81450..a9e363c 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/lib/LibScalar.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/lib/CLALibCompAgg.html
@@ -4,7 +4,7 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>LibScalar (SystemDS 2.1.0-SNAPSHOT API)</title>
+<title>CLALibCompAgg (SystemDS 2.1.0-SNAPSHOT API)</title>
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="LibScalar (SystemDS 2.1.0-SNAPSHOT API)";
+            parent.document.title="CLALibCompAgg (SystemDS 2.1.0-SNAPSHOT API)";
         }
     }
     catch(err) {
@@ -40,7 +40,7 @@
 <li><a href="../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="package-summary.html">Package</a></li>
 <li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/LibScalar.html">Use</a></li>
+<li><a href="class-use/CLALibCompAgg.html">Use</a></li>
 <li><a href="package-tree.html">Tree</a></li>
 <li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
 <li><a href="../../../../../../index-all.html">Index</a></li>
@@ -49,12 +49,12 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/lib/LibRightMultBy.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li>Next&nbsp;Class</li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/lib/CLALibBinaryCellOp.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/lib/CLALibLeftMultBy.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/lib/LibScalar.html" target="_top">Frames</a></li>
-<li><a href="LibScalar.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/lib/CLALibCompAgg.html" target="_top">Frames</a></li>
+<li><a href="CLALibCompAgg.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
 <li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -93,14 +93,14 @@
 <!-- ======== START OF CLASS DATA ======== -->
 <div class="header">
 <div class="subTitle">org.apache.sysds.runtime.compress.lib</div>
-<h2 title="Class LibScalar" class="title">Class LibScalar</h2>
+<h2 title="Class CLALibCompAgg" class="title">Class CLALibCompAgg</h2>
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
 <li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
-<li>org.apache.sysds.runtime.compress.lib.LibScalar</li>
+<li>org.apache.sysds.runtime.compress.lib.CLALibCompAgg</li>
 </ul>
 </li>
 </ul>
@@ -109,7 +109,7 @@
 <li class="blockList">
 <hr>
 <br>
-<pre>public class <span class="typeNameLabel">LibScalar</span>
+<pre>public class <span class="typeNameLabel">CLALibCompAgg</span>
 extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 </li>
 </ul>
@@ -129,7 +129,7 @@
 <th class="colOne" scope="col">Constructor and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/lib/LibScalar.html#LibScalar--">LibScalar</a></span>()</code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/lib/CLALibCompAgg.html#CLALibCompAgg--">CLALibCompAgg</a></span>()</code>&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -148,10 +148,12 @@
 </tr>
 <tr id="i0" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/lib/LibScalar.html#scalarOperations-org.apache.sysds.runtime.matrix.operators.ScalarOperator-org.apache.sysds.runtime.compress.CompressedMatrixBlock-org.apache.sysds.runtime.compress.CompressedMatrixBlock-boolean-">scalarOperations</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;sop,
-                <a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;m1,
-                <a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;ret,
-                boolean&nbsp;overlapping)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/lib/CLALibCompAgg.html#aggregateUnary-org.apache.sysds.runtime.compress.CompressedMatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-int-org.apache.sysds.runtime.matrix.data.MatrixIndexes-boolean-">aggregateUnary</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;inputMatrix,
+              <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;outputMatrix,
+              <a href="../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;op,
+              int&nbsp;blen,
+              <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixIndexes.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixIndexes</a>&nbsp;indexesIn,
+              boolean&nbsp;inCP)</code>&nbsp;</td>
 </tr>
 </table>
 <ul class="blockList">
@@ -175,13 +177,13 @@
 <!--   -->
 </a>
 <h3>Constructor Detail</h3>
-<a name="LibScalar--">
+<a name="CLALibCompAgg--">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>LibScalar</h4>
-<pre>public&nbsp;LibScalar()</pre>
+<h4>CLALibCompAgg</h4>
+<pre>public&nbsp;CLALibCompAgg()</pre>
 </li>
 </ul>
 </li>
@@ -192,16 +194,18 @@
 <!--   -->
 </a>
 <h3>Method Detail</h3>
-<a name="scalarOperations-org.apache.sysds.runtime.matrix.operators.ScalarOperator-org.apache.sysds.runtime.compress.CompressedMatrixBlock-org.apache.sysds.runtime.compress.CompressedMatrixBlock-boolean-">
+<a name="aggregateUnary-org.apache.sysds.runtime.compress.CompressedMatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-int-org.apache.sysds.runtime.matrix.data.MatrixIndexes-boolean-">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>scalarOperations</h4>
-<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;scalarOperations(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;sop,
-                                           <a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;m1,
-                                           <a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;ret,
-                                           boolean&nbsp;overlapping)</pre>
+<h4>aggregateUnary</h4>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;aggregateUnary(<a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;inputMatrix,
+                                         <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;outputMatrix,
+                                         <a href="../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;op,
+                                         int&nbsp;blen,
+                                         <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixIndexes.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixIndexes</a>&nbsp;indexesIn,
+                                         boolean&nbsp;inCP)</pre>
 </li>
 </ul>
 </li>
@@ -223,7 +227,7 @@
 <li><a href="../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="package-summary.html">Package</a></li>
 <li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/LibScalar.html">Use</a></li>
+<li><a href="class-use/CLALibCompAgg.html">Use</a></li>
 <li><a href="package-tree.html">Tree</a></li>
 <li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
 <li><a href="../../../../../../index-all.html">Index</a></li>
@@ -232,12 +236,12 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/lib/LibRightMultBy.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li>Next&nbsp;Class</li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/lib/CLALibBinaryCellOp.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/lib/CLALibLeftMultBy.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/lib/LibScalar.html" target="_top">Frames</a></li>
-<li><a href="LibScalar.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/lib/CLALibCompAgg.html" target="_top">Frames</a></li>
+<li><a href="CLALibCompAgg.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
 <li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -273,6 +277,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/lib/LibLeftMultBy.html b/docs/api/java/org/apache/sysds/runtime/compress/lib/CLALibLeftMultBy.html
similarity index 63%
rename from docs/api/java/org/apache/sysds/runtime/compress/lib/LibLeftMultBy.html
rename to docs/api/java/org/apache/sysds/runtime/compress/lib/CLALibLeftMultBy.html
index ab0d00d..65b4c53 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/lib/LibLeftMultBy.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/lib/CLALibLeftMultBy.html
@@ -4,7 +4,7 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>LibLeftMultBy (SystemDS 2.1.0-SNAPSHOT API)</title>
+<title>CLALibLeftMultBy (SystemDS 2.1.0-SNAPSHOT API)</title>
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,13 +12,13 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="LibLeftMultBy (SystemDS 2.1.0-SNAPSHOT API)";
+            parent.document.title="CLALibLeftMultBy (SystemDS 2.1.0-SNAPSHOT API)";
         }
     }
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":9,"i2":9};
+var methods = {"i0":9,"i1":9,"i2":9,"i3":9};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -40,7 +40,7 @@
 <li><a href="../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="package-summary.html">Package</a></li>
 <li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/LibLeftMultBy.html">Use</a></li>
+<li><a href="class-use/CLALibLeftMultBy.html">Use</a></li>
 <li><a href="package-tree.html">Tree</a></li>
 <li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
 <li><a href="../../../../../../index-all.html">Index</a></li>
@@ -49,12 +49,12 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/lib/LibBinaryCellOp.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/lib/LibRightMultBy.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/lib/CLALibCompAgg.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/lib/CLALibReExpand.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/lib/LibLeftMultBy.html" target="_top">Frames</a></li>
-<li><a href="LibLeftMultBy.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/lib/CLALibLeftMultBy.html" target="_top">Frames</a></li>
+<li><a href="CLALibLeftMultBy.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
 <li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -93,14 +93,14 @@
 <!-- ======== START OF CLASS DATA ======== -->
 <div class="header">
 <div class="subTitle">org.apache.sysds.runtime.compress.lib</div>
-<h2 title="Class LibLeftMultBy" class="title">Class LibLeftMultBy</h2>
+<h2 title="Class CLALibLeftMultBy" class="title">Class CLALibLeftMultBy</h2>
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
 <li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
-<li>org.apache.sysds.runtime.compress.lib.LibLeftMultBy</li>
+<li>org.apache.sysds.runtime.compress.lib.CLALibLeftMultBy</li>
 </ul>
 </li>
 </ul>
@@ -109,7 +109,7 @@
 <li class="blockList">
 <hr>
 <br>
-<pre>public class <span class="typeNameLabel">LibLeftMultBy</span>
+<pre>public class <span class="typeNameLabel">CLALibLeftMultBy</span>
 extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 </li>
 </ul>
@@ -129,7 +129,7 @@
 <th class="colOne" scope="col">Constructor and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/lib/LibLeftMultBy.html#LibLeftMultBy--">LibLeftMultBy</a></span>()</code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/lib/CLALibLeftMultBy.html#CLALibLeftMultBy--">CLALibLeftMultBy</a></span>()</code>&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -148,38 +148,34 @@
 </tr>
 <tr id="i0" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/lib/LibLeftMultBy.html#leftMultByMatrix-java.util.List-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-boolean-int-int-boolean-int-org.apache.commons.lang3.tuple.Pair-">leftMultByMatrix</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>&gt;&nbsp;groups,
-                <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;that,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/lib/CLALibLeftMultBy.html#leftMultByMatrix-org.apache.sysds.runtime.compress.CompressedMatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">leftMultByMatrix</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;m1,
+                <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2,
                 <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
-                boolean&nbsp;doTranspose,
-                boolean&nbsp;allocTmp,
-                int&nbsp;rl,
-                int&nbsp;cl,
-                boolean&nbsp;overlapping,
-                int&nbsp;k,
-                org.apache.commons.lang3.tuple.Pair&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,int[]&gt;&nbsp;v)</code>&nbsp;</td>
+                int&nbsp;k)</code>&nbsp;</td>
 </tr>
 <tr id="i1" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/lib/CLALibLeftMultBy.html#leftMultByMatrixTransposed-org.apache.sysds.runtime.compress.CompressedMatrixBlock-org.apache.sysds.runtime.compress.CompressedMatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">leftMultByMatrixTransposed</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;m1,
+                          <a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;m2,
+                          <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
+                          int&nbsp;k)</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/lib/CLALibLeftMultBy.html#leftMultByMatrixTransposed-org.apache.sysds.runtime.compress.CompressedMatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">leftMultByMatrixTransposed</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;m1,
+                          <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2,
+                          <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
+                          int&nbsp;k)</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/lib/LibLeftMultBy.html#leftMultByTransposeSelf-java.util.List-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-int-org.apache.commons.lang3.tuple.Pair-boolean-">leftMultByTransposeSelf</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>&gt;&nbsp;groups,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/lib/CLALibLeftMultBy.html#leftMultByTransposeSelf-java.util.List-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-org.apache.commons.lang3.tuple.Pair-boolean-">leftMultByTransposeSelf</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a>&gt;&nbsp;groups,
                        <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result,
-                       int&nbsp;gl,
-                       int&nbsp;gu,
                        int&nbsp;k,
                        int&nbsp;numColumns,
                        org.apache.commons.lang3.tuple.Pair&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,int[]&gt;&nbsp;v,
                        boolean&nbsp;overlapping)</code>&nbsp;</td>
 </tr>
-<tr id="i2" class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/lib/LibLeftMultBy.html#leftMultByVectorTranspose-java.util.List-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-int-org.apache.commons.lang3.tuple.Pair-boolean-">leftMultByVectorTranspose</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>&gt;&nbsp;colGroups,
-                         <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;vector,
-                         <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result,
-                         boolean&nbsp;doTranspose,
-                         int&nbsp;k,
-                         org.apache.commons.lang3.tuple.Pair&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,int[]&gt;&nbsp;v,
-                         boolean&nbsp;overlap)</code>&nbsp;</td>
-</tr>
 </table>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -202,13 +198,13 @@
 <!--   -->
 </a>
 <h3>Constructor Detail</h3>
-<a name="LibLeftMultBy--">
+<a name="CLALibLeftMultBy--">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>LibLeftMultBy</h4>
-<pre>public&nbsp;LibLeftMultBy()</pre>
+<h4>CLALibLeftMultBy</h4>
+<pre>public&nbsp;CLALibLeftMultBy()</pre>
 </li>
 </ul>
 </li>
@@ -219,53 +215,54 @@
 <!--   -->
 </a>
 <h3>Method Detail</h3>
-<a name="leftMultByMatrix-java.util.List-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-boolean-int-int-boolean-int-org.apache.commons.lang3.tuple.Pair-">
+<a name="leftMultByMatrixTransposed-org.apache.sysds.runtime.compress.CompressedMatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>leftMultByMatrixTransposed</h4>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;leftMultByMatrixTransposed(<a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;m1,
+                                                     <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2,
+                                                     <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
+                                                     int&nbsp;k)</pre>
+</li>
+</ul>
+<a name="leftMultByMatrixTransposed-org.apache.sysds.runtime.compress.CompressedMatrixBlock-org.apache.sysds.runtime.compress.CompressedMatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>leftMultByMatrixTransposed</h4>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;leftMultByMatrixTransposed(<a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;m1,
+                                                     <a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;m2,
+                                                     <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
+                                                     int&nbsp;k)</pre>
+</li>
+</ul>
+<a name="leftMultByMatrix-org.apache.sysds.runtime.compress.CompressedMatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>leftMultByMatrix</h4>
-<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;leftMultByMatrix(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>&gt;&nbsp;groups,
-                                           <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;that,
+<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;leftMultByMatrix(<a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;m1,
+                                           <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2,
                                            <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
-                                           boolean&nbsp;doTranspose,
-                                           boolean&nbsp;allocTmp,
-                                           int&nbsp;rl,
-                                           int&nbsp;cl,
-                                           boolean&nbsp;overlapping,
-                                           int&nbsp;k,
-                                           org.apache.commons.lang3.tuple.Pair&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,int[]&gt;&nbsp;v)</pre>
+                                           int&nbsp;k)</pre>
 </li>
 </ul>
-<a name="leftMultByTransposeSelf-java.util.List-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-int-org.apache.commons.lang3.tuple.Pair-boolean-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>leftMultByTransposeSelf</h4>
-<pre>public static&nbsp;void&nbsp;leftMultByTransposeSelf(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>&gt;&nbsp;groups,
-                                           <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result,
-                                           int&nbsp;gl,
-                                           int&nbsp;gu,
-                                           int&nbsp;k,
-                                           int&nbsp;numColumns,
-                                           org.apache.commons.lang3.tuple.Pair&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,int[]&gt;&nbsp;v,
-                                           boolean&nbsp;overlapping)</pre>
-</li>
-</ul>
-<a name="leftMultByVectorTranspose-java.util.List-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-int-org.apache.commons.lang3.tuple.Pair-boolean-">
+<a name="leftMultByTransposeSelf-java.util.List-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-org.apache.commons.lang3.tuple.Pair-boolean-">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>leftMultByVectorTranspose</h4>
-<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;leftMultByVectorTranspose(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>&gt;&nbsp;colGroups,
-                                                    <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;vector,
-                                                    <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result,
-                                                    boolean&nbsp;doTranspose,
-                                                    int&nbsp;k,
-                                                    org.apache.commons.lang3.tuple.Pair&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,int[]&gt;&nbsp;v,
-                                                    boolean&nbsp;overlap)</pre>
+<h4>leftMultByTransposeSelf</h4>
+<pre>public static&nbsp;void&nbsp;leftMultByTransposeSelf(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a>&gt;&nbsp;groups,
+                                           <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result,
+                                           int&nbsp;k,
+                                           int&nbsp;numColumns,
+                                           org.apache.commons.lang3.tuple.Pair&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,int[]&gt;&nbsp;v,
+                                           boolean&nbsp;overlapping)</pre>
 </li>
 </ul>
 </li>
@@ -287,7 +284,7 @@
 <li><a href="../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="package-summary.html">Package</a></li>
 <li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/LibLeftMultBy.html">Use</a></li>
+<li><a href="class-use/CLALibLeftMultBy.html">Use</a></li>
 <li><a href="package-tree.html">Tree</a></li>
 <li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
 <li><a href="../../../../../../index-all.html">Index</a></li>
@@ -296,12 +293,12 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/lib/LibBinaryCellOp.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/lib/LibRightMultBy.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/lib/CLALibCompAgg.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/lib/CLALibReExpand.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/lib/LibLeftMultBy.html" target="_top">Frames</a></li>
-<li><a href="LibLeftMultBy.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/lib/CLALibLeftMultBy.html" target="_top">Frames</a></li>
+<li><a href="CLALibLeftMultBy.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
 <li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -337,6 +334,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/lib/LibScalar.html b/docs/api/java/org/apache/sysds/runtime/compress/lib/CLALibReExpand.html
similarity index 74%
copy from docs/api/java/org/apache/sysds/runtime/compress/lib/LibScalar.html
copy to docs/api/java/org/apache/sysds/runtime/compress/lib/CLALibReExpand.html
index 8f81450..90b50df 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/lib/LibScalar.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/lib/CLALibReExpand.html
@@ -4,7 +4,7 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>LibScalar (SystemDS 2.1.0-SNAPSHOT API)</title>
+<title>CLALibReExpand (SystemDS 2.1.0-SNAPSHOT API)</title>
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="LibScalar (SystemDS 2.1.0-SNAPSHOT API)";
+            parent.document.title="CLALibReExpand (SystemDS 2.1.0-SNAPSHOT API)";
         }
     }
     catch(err) {
@@ -40,7 +40,7 @@
 <li><a href="../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="package-summary.html">Package</a></li>
 <li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/LibScalar.html">Use</a></li>
+<li><a href="class-use/CLALibReExpand.html">Use</a></li>
 <li><a href="package-tree.html">Tree</a></li>
 <li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
 <li><a href="../../../../../../index-all.html">Index</a></li>
@@ -49,12 +49,12 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/lib/LibRightMultBy.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li>Next&nbsp;Class</li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/lib/CLALibLeftMultBy.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/lib/CLALibRelationalOp.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/lib/LibScalar.html" target="_top">Frames</a></li>
-<li><a href="LibScalar.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/lib/CLALibReExpand.html" target="_top">Frames</a></li>
+<li><a href="CLALibReExpand.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
 <li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -93,14 +93,14 @@
 <!-- ======== START OF CLASS DATA ======== -->
 <div class="header">
 <div class="subTitle">org.apache.sysds.runtime.compress.lib</div>
-<h2 title="Class LibScalar" class="title">Class LibScalar</h2>
+<h2 title="Class CLALibReExpand" class="title">Class CLALibReExpand</h2>
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
 <li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
-<li>org.apache.sysds.runtime.compress.lib.LibScalar</li>
+<li>org.apache.sysds.runtime.compress.lib.CLALibReExpand</li>
 </ul>
 </li>
 </ul>
@@ -109,7 +109,7 @@
 <li class="blockList">
 <hr>
 <br>
-<pre>public class <span class="typeNameLabel">LibScalar</span>
+<pre>public class <span class="typeNameLabel">CLALibReExpand</span>
 extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 </li>
 </ul>
@@ -129,7 +129,7 @@
 <th class="colOne" scope="col">Constructor and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/lib/LibScalar.html#LibScalar--">LibScalar</a></span>()</code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/lib/CLALibReExpand.html#CLALibReExpand--">CLALibReExpand</a></span>()</code>&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -148,10 +148,12 @@
 </tr>
 <tr id="i0" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/lib/LibScalar.html#scalarOperations-org.apache.sysds.runtime.matrix.operators.ScalarOperator-org.apache.sysds.runtime.compress.CompressedMatrixBlock-org.apache.sysds.runtime.compress.CompressedMatrixBlock-boolean-">scalarOperations</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;sop,
-                <a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;m1,
-                <a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;ret,
-                boolean&nbsp;overlapping)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/lib/CLALibReExpand.html#reExpand-org.apache.sysds.runtime.compress.CompressedMatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-double-boolean-boolean-int-">reExpand</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;in,
+        <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
+        double&nbsp;max,
+        boolean&nbsp;cast,
+        boolean&nbsp;ignore,
+        int&nbsp;k)</code>&nbsp;</td>
 </tr>
 </table>
 <ul class="blockList">
@@ -175,13 +177,13 @@
 <!--   -->
 </a>
 <h3>Constructor Detail</h3>
-<a name="LibScalar--">
+<a name="CLALibReExpand--">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>LibScalar</h4>
-<pre>public&nbsp;LibScalar()</pre>
+<h4>CLALibReExpand</h4>
+<pre>public&nbsp;CLALibReExpand()</pre>
 </li>
 </ul>
 </li>
@@ -192,16 +194,18 @@
 <!--   -->
 </a>
 <h3>Method Detail</h3>
-<a name="scalarOperations-org.apache.sysds.runtime.matrix.operators.ScalarOperator-org.apache.sysds.runtime.compress.CompressedMatrixBlock-org.apache.sysds.runtime.compress.CompressedMatrixBlock-boolean-">
+<a name="reExpand-org.apache.sysds.runtime.compress.CompressedMatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-double-boolean-boolean-int-">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>scalarOperations</h4>
-<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;scalarOperations(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;sop,
-                                           <a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;m1,
-                                           <a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;ret,
-                                           boolean&nbsp;overlapping)</pre>
+<h4>reExpand</h4>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;reExpand(<a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;in,
+                                   <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
+                                   double&nbsp;max,
+                                   boolean&nbsp;cast,
+                                   boolean&nbsp;ignore,
+                                   int&nbsp;k)</pre>
 </li>
 </ul>
 </li>
@@ -223,7 +227,7 @@
 <li><a href="../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="package-summary.html">Package</a></li>
 <li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/LibScalar.html">Use</a></li>
+<li><a href="class-use/CLALibReExpand.html">Use</a></li>
 <li><a href="package-tree.html">Tree</a></li>
 <li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
 <li><a href="../../../../../../index-all.html">Index</a></li>
@@ -232,12 +236,12 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/lib/LibRightMultBy.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li>Next&nbsp;Class</li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/lib/CLALibLeftMultBy.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/lib/CLALibRelationalOp.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/lib/LibScalar.html" target="_top">Frames</a></li>
-<li><a href="LibScalar.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/lib/CLALibReExpand.html" target="_top">Frames</a></li>
+<li><a href="CLALibReExpand.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
 <li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -273,6 +277,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/lib/LibScalar.html b/docs/api/java/org/apache/sysds/runtime/compress/lib/CLALibRelationalOp.html
similarity index 74%
copy from docs/api/java/org/apache/sysds/runtime/compress/lib/LibScalar.html
copy to docs/api/java/org/apache/sysds/runtime/compress/lib/CLALibRelationalOp.html
index 8f81450..b9a6f6d 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/lib/LibScalar.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/lib/CLALibRelationalOp.html
@@ -4,7 +4,7 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>LibScalar (SystemDS 2.1.0-SNAPSHOT API)</title>
+<title>CLALibRelationalOp (SystemDS 2.1.0-SNAPSHOT API)</title>
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="LibScalar (SystemDS 2.1.0-SNAPSHOT API)";
+            parent.document.title="CLALibRelationalOp (SystemDS 2.1.0-SNAPSHOT API)";
         }
     }
     catch(err) {
@@ -40,7 +40,7 @@
 <li><a href="../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="package-summary.html">Package</a></li>
 <li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/LibScalar.html">Use</a></li>
+<li><a href="class-use/CLALibRelationalOp.html">Use</a></li>
 <li><a href="package-tree.html">Tree</a></li>
 <li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
 <li><a href="../../../../../../index-all.html">Index</a></li>
@@ -49,12 +49,12 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/lib/LibRightMultBy.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li>Next&nbsp;Class</li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/lib/CLALibReExpand.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/lib/CLALibRightMultBy.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/lib/LibScalar.html" target="_top">Frames</a></li>
-<li><a href="LibScalar.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/lib/CLALibRelationalOp.html" target="_top">Frames</a></li>
+<li><a href="CLALibRelationalOp.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
 <li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -93,14 +93,14 @@
 <!-- ======== START OF CLASS DATA ======== -->
 <div class="header">
 <div class="subTitle">org.apache.sysds.runtime.compress.lib</div>
-<h2 title="Class LibScalar" class="title">Class LibScalar</h2>
+<h2 title="Class CLALibRelationalOp" class="title">Class CLALibRelationalOp</h2>
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
 <li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
-<li>org.apache.sysds.runtime.compress.lib.LibScalar</li>
+<li>org.apache.sysds.runtime.compress.lib.CLALibRelationalOp</li>
 </ul>
 </li>
 </ul>
@@ -109,8 +109,11 @@
 <li class="blockList">
 <hr>
 <br>
-<pre>public class <span class="typeNameLabel">LibScalar</span>
+<pre>public class <span class="typeNameLabel">CLALibRelationalOp</span>
 extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block">This class is used for relational operators that return binary values depending on individual cells values in the
+ compression. This indicate that the resulting vectors/matrices are amenable to compression since they only contain
+ two distinct values, true or false.</div>
 </li>
 </ul>
 </div>
@@ -129,7 +132,7 @@
 <th class="colOne" scope="col">Constructor and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/lib/LibScalar.html#LibScalar--">LibScalar</a></span>()</code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/lib/CLALibRelationalOp.html#CLALibRelationalOp--">CLALibRelationalOp</a></span>()</code>&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -148,10 +151,8 @@
 </tr>
 <tr id="i0" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/lib/LibScalar.html#scalarOperations-org.apache.sysds.runtime.matrix.operators.ScalarOperator-org.apache.sysds.runtime.compress.CompressedMatrixBlock-org.apache.sysds.runtime.compress.CompressedMatrixBlock-boolean-">scalarOperations</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;sop,
-                <a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;m1,
-                <a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;ret,
-                boolean&nbsp;overlapping)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/lib/CLALibRelationalOp.html#overlappingRelativeRelationalOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-org.apache.sysds.runtime.compress.CompressedMatrixBlock-">overlappingRelativeRelationalOperation</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;sop,
+                                      <a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;m1)</code>&nbsp;</td>
 </tr>
 </table>
 <ul class="blockList">
@@ -175,13 +176,13 @@
 <!--   -->
 </a>
 <h3>Constructor Detail</h3>
-<a name="LibScalar--">
+<a name="CLALibRelationalOp--">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>LibScalar</h4>
-<pre>public&nbsp;LibScalar()</pre>
+<h4>CLALibRelationalOp</h4>
+<pre>public&nbsp;CLALibRelationalOp()</pre>
 </li>
 </ul>
 </li>
@@ -192,16 +193,14 @@
 <!--   -->
 </a>
 <h3>Method Detail</h3>
-<a name="scalarOperations-org.apache.sysds.runtime.matrix.operators.ScalarOperator-org.apache.sysds.runtime.compress.CompressedMatrixBlock-org.apache.sysds.runtime.compress.CompressedMatrixBlock-boolean-">
+<a name="overlappingRelativeRelationalOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-org.apache.sysds.runtime.compress.CompressedMatrixBlock-">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>scalarOperations</h4>
-<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;scalarOperations(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;sop,
-                                           <a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;m1,
-                                           <a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;ret,
-                                           boolean&nbsp;overlapping)</pre>
+<h4>overlappingRelativeRelationalOperation</h4>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;overlappingRelativeRelationalOperation(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;sop,
+                                                                 <a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;m1)</pre>
 </li>
 </ul>
 </li>
@@ -223,7 +222,7 @@
 <li><a href="../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="package-summary.html">Package</a></li>
 <li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/LibScalar.html">Use</a></li>
+<li><a href="class-use/CLALibRelationalOp.html">Use</a></li>
 <li><a href="package-tree.html">Tree</a></li>
 <li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
 <li><a href="../../../../../../index-all.html">Index</a></li>
@@ -232,12 +231,12 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/lib/LibRightMultBy.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li>Next&nbsp;Class</li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/lib/CLALibReExpand.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/lib/CLALibRightMultBy.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/lib/LibScalar.html" target="_top">Frames</a></li>
-<li><a href="LibScalar.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/lib/CLALibRelationalOp.html" target="_top">Frames</a></li>
+<li><a href="CLALibRelationalOp.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
 <li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -273,6 +272,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/lib/LibScalar.html b/docs/api/java/org/apache/sysds/runtime/compress/lib/CLALibRightMultBy.html
similarity index 72%
copy from docs/api/java/org/apache/sysds/runtime/compress/lib/LibScalar.html
copy to docs/api/java/org/apache/sysds/runtime/compress/lib/CLALibRightMultBy.html
index 8f81450..0e8b38f 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/lib/LibScalar.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/lib/CLALibRightMultBy.html
@@ -4,7 +4,7 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>LibScalar (SystemDS 2.1.0-SNAPSHOT API)</title>
+<title>CLALibRightMultBy (SystemDS 2.1.0-SNAPSHOT API)</title>
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="LibScalar (SystemDS 2.1.0-SNAPSHOT API)";
+            parent.document.title="CLALibRightMultBy (SystemDS 2.1.0-SNAPSHOT API)";
         }
     }
     catch(err) {
@@ -40,7 +40,7 @@
 <li><a href="../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="package-summary.html">Package</a></li>
 <li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/LibScalar.html">Use</a></li>
+<li><a href="class-use/CLALibRightMultBy.html">Use</a></li>
 <li><a href="package-tree.html">Tree</a></li>
 <li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
 <li><a href="../../../../../../index-all.html">Index</a></li>
@@ -49,12 +49,12 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/lib/LibRightMultBy.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li>Next&nbsp;Class</li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/lib/CLALibRelationalOp.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/lib/CLALibScalar.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/lib/LibScalar.html" target="_top">Frames</a></li>
-<li><a href="LibScalar.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/lib/CLALibRightMultBy.html" target="_top">Frames</a></li>
+<li><a href="CLALibRightMultBy.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
 <li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -93,14 +93,14 @@
 <!-- ======== START OF CLASS DATA ======== -->
 <div class="header">
 <div class="subTitle">org.apache.sysds.runtime.compress.lib</div>
-<h2 title="Class LibScalar" class="title">Class LibScalar</h2>
+<h2 title="Class CLALibRightMultBy" class="title">Class CLALibRightMultBy</h2>
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
 <li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
-<li>org.apache.sysds.runtime.compress.lib.LibScalar</li>
+<li>org.apache.sysds.runtime.compress.lib.CLALibRightMultBy</li>
 </ul>
 </li>
 </ul>
@@ -109,7 +109,7 @@
 <li class="blockList">
 <hr>
 <br>
-<pre>public class <span class="typeNameLabel">LibScalar</span>
+<pre>public class <span class="typeNameLabel">CLALibRightMultBy</span>
 extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 </li>
 </ul>
@@ -129,7 +129,7 @@
 <th class="colOne" scope="col">Constructor and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/lib/LibScalar.html#LibScalar--">LibScalar</a></span>()</code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/lib/CLALibRightMultBy.html#CLALibRightMultBy--">CLALibRightMultBy</a></span>()</code>&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -148,10 +148,11 @@
 </tr>
 <tr id="i0" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/lib/LibScalar.html#scalarOperations-org.apache.sysds.runtime.matrix.operators.ScalarOperator-org.apache.sysds.runtime.compress.CompressedMatrixBlock-org.apache.sysds.runtime.compress.CompressedMatrixBlock-boolean-">scalarOperations</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;sop,
-                <a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;m1,
-                <a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;ret,
-                boolean&nbsp;overlapping)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/lib/CLALibRightMultBy.html#rightMultByMatrix-org.apache.sysds.runtime.compress.CompressedMatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-boolean-">rightMultByMatrix</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;m1,
+                 <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2,
+                 <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
+                 int&nbsp;k,
+                 boolean&nbsp;allowOverlap)</code>&nbsp;</td>
 </tr>
 </table>
 <ul class="blockList">
@@ -175,13 +176,13 @@
 <!--   -->
 </a>
 <h3>Constructor Detail</h3>
-<a name="LibScalar--">
+<a name="CLALibRightMultBy--">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>LibScalar</h4>
-<pre>public&nbsp;LibScalar()</pre>
+<h4>CLALibRightMultBy</h4>
+<pre>public&nbsp;CLALibRightMultBy()</pre>
 </li>
 </ul>
 </li>
@@ -192,16 +193,17 @@
 <!--   -->
 </a>
 <h3>Method Detail</h3>
-<a name="scalarOperations-org.apache.sysds.runtime.matrix.operators.ScalarOperator-org.apache.sysds.runtime.compress.CompressedMatrixBlock-org.apache.sysds.runtime.compress.CompressedMatrixBlock-boolean-">
+<a name="rightMultByMatrix-org.apache.sysds.runtime.compress.CompressedMatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-boolean-">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>scalarOperations</h4>
-<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;scalarOperations(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;sop,
-                                           <a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;m1,
-                                           <a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;ret,
-                                           boolean&nbsp;overlapping)</pre>
+<h4>rightMultByMatrix</h4>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;rightMultByMatrix(<a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;m1,
+                                            <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2,
+                                            <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
+                                            int&nbsp;k,
+                                            boolean&nbsp;allowOverlap)</pre>
 </li>
 </ul>
 </li>
@@ -223,7 +225,7 @@
 <li><a href="../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="package-summary.html">Package</a></li>
 <li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/LibScalar.html">Use</a></li>
+<li><a href="class-use/CLALibRightMultBy.html">Use</a></li>
 <li><a href="package-tree.html">Tree</a></li>
 <li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
 <li><a href="../../../../../../index-all.html">Index</a></li>
@@ -232,12 +234,12 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/lib/LibRightMultBy.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li>Next&nbsp;Class</li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/lib/CLALibRelationalOp.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/lib/CLALibScalar.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/lib/LibScalar.html" target="_top">Frames</a></li>
-<li><a href="LibScalar.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/lib/CLALibRightMultBy.html" target="_top">Frames</a></li>
+<li><a href="CLALibRightMultBy.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
 <li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -273,6 +275,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/lib/LibScalar.html b/docs/api/java/org/apache/sysds/runtime/compress/lib/CLALibScalar.html
similarity index 81%
rename from docs/api/java/org/apache/sysds/runtime/compress/lib/LibScalar.html
rename to docs/api/java/org/apache/sysds/runtime/compress/lib/CLALibScalar.html
index 8f81450..e38c94b 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/lib/LibScalar.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/lib/CLALibScalar.html
@@ -4,7 +4,7 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>LibScalar (SystemDS 2.1.0-SNAPSHOT API)</title>
+<title>CLALibScalar (SystemDS 2.1.0-SNAPSHOT API)</title>
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="LibScalar (SystemDS 2.1.0-SNAPSHOT API)";
+            parent.document.title="CLALibScalar (SystemDS 2.1.0-SNAPSHOT API)";
         }
     }
     catch(err) {
@@ -40,7 +40,7 @@
 <li><a href="../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="package-summary.html">Package</a></li>
 <li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/LibScalar.html">Use</a></li>
+<li><a href="class-use/CLALibScalar.html">Use</a></li>
 <li><a href="package-tree.html">Tree</a></li>
 <li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
 <li><a href="../../../../../../index-all.html">Index</a></li>
@@ -49,12 +49,12 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/lib/LibRightMultBy.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li>Next&nbsp;Class</li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/lib/CLALibRightMultBy.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/lib/CLALibSquash.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/lib/LibScalar.html" target="_top">Frames</a></li>
-<li><a href="LibScalar.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/lib/CLALibScalar.html" target="_top">Frames</a></li>
+<li><a href="CLALibScalar.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
 <li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -93,14 +93,14 @@
 <!-- ======== START OF CLASS DATA ======== -->
 <div class="header">
 <div class="subTitle">org.apache.sysds.runtime.compress.lib</div>
-<h2 title="Class LibScalar" class="title">Class LibScalar</h2>
+<h2 title="Class CLALibScalar" class="title">Class CLALibScalar</h2>
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
 <li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
-<li>org.apache.sysds.runtime.compress.lib.LibScalar</li>
+<li>org.apache.sysds.runtime.compress.lib.CLALibScalar</li>
 </ul>
 </li>
 </ul>
@@ -109,7 +109,7 @@
 <li class="blockList">
 <hr>
 <br>
-<pre>public class <span class="typeNameLabel">LibScalar</span>
+<pre>public class <span class="typeNameLabel">CLALibScalar</span>
 extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 </li>
 </ul>
@@ -129,7 +129,7 @@
 <th class="colOne" scope="col">Constructor and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/lib/LibScalar.html#LibScalar--">LibScalar</a></span>()</code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/lib/CLALibScalar.html#CLALibScalar--">CLALibScalar</a></span>()</code>&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -148,10 +148,9 @@
 </tr>
 <tr id="i0" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/lib/LibScalar.html#scalarOperations-org.apache.sysds.runtime.matrix.operators.ScalarOperator-org.apache.sysds.runtime.compress.CompressedMatrixBlock-org.apache.sysds.runtime.compress.CompressedMatrixBlock-boolean-">scalarOperations</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;sop,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/lib/CLALibScalar.html#scalarOperations-org.apache.sysds.runtime.matrix.operators.ScalarOperator-org.apache.sysds.runtime.compress.CompressedMatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixValue-">scalarOperations</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;sop,
                 <a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;m1,
-                <a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;ret,
-                boolean&nbsp;overlapping)</code>&nbsp;</td>
+                <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result)</code>&nbsp;</td>
 </tr>
 </table>
 <ul class="blockList">
@@ -175,13 +174,13 @@
 <!--   -->
 </a>
 <h3>Constructor Detail</h3>
-<a name="LibScalar--">
+<a name="CLALibScalar--">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>LibScalar</h4>
-<pre>public&nbsp;LibScalar()</pre>
+<h4>CLALibScalar</h4>
+<pre>public&nbsp;CLALibScalar()</pre>
 </li>
 </ul>
 </li>
@@ -192,7 +191,7 @@
 <!--   -->
 </a>
 <h3>Method Detail</h3>
-<a name="scalarOperations-org.apache.sysds.runtime.matrix.operators.ScalarOperator-org.apache.sysds.runtime.compress.CompressedMatrixBlock-org.apache.sysds.runtime.compress.CompressedMatrixBlock-boolean-">
+<a name="scalarOperations-org.apache.sysds.runtime.matrix.operators.ScalarOperator-org.apache.sysds.runtime.compress.CompressedMatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixValue-">
 <!--   -->
 </a>
 <ul class="blockListLast">
@@ -200,8 +199,7 @@
 <h4>scalarOperations</h4>
 <pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;scalarOperations(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;sop,
                                            <a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;m1,
-                                           <a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;ret,
-                                           boolean&nbsp;overlapping)</pre>
+                                           <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result)</pre>
 </li>
 </ul>
 </li>
@@ -223,7 +221,7 @@
 <li><a href="../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="package-summary.html">Package</a></li>
 <li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/LibScalar.html">Use</a></li>
+<li><a href="class-use/CLALibScalar.html">Use</a></li>
 <li><a href="package-tree.html">Tree</a></li>
 <li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
 <li><a href="../../../../../../index-all.html">Index</a></li>
@@ -232,12 +230,12 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/lib/LibRightMultBy.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li>Next&nbsp;Class</li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/lib/CLALibRightMultBy.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/lib/CLALibSquash.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/lib/LibScalar.html" target="_top">Frames</a></li>
-<li><a href="LibScalar.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/lib/CLALibScalar.html" target="_top">Frames</a></li>
+<li><a href="CLALibScalar.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
 <li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -273,6 +271,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/lib/LibScalar.html b/docs/api/java/org/apache/sysds/runtime/compress/lib/CLALibSquash.html
similarity index 74%
copy from docs/api/java/org/apache/sysds/runtime/compress/lib/LibScalar.html
copy to docs/api/java/org/apache/sysds/runtime/compress/lib/CLALibSquash.html
index 8f81450..e6b2480 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/lib/LibScalar.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/lib/CLALibSquash.html
@@ -4,7 +4,7 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>LibScalar (SystemDS 2.1.0-SNAPSHOT API)</title>
+<title>CLALibSquash (SystemDS 2.1.0-SNAPSHOT API)</title>
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="LibScalar (SystemDS 2.1.0-SNAPSHOT API)";
+            parent.document.title="CLALibSquash (SystemDS 2.1.0-SNAPSHOT API)";
         }
     }
     catch(err) {
@@ -40,7 +40,7 @@
 <li><a href="../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="package-summary.html">Package</a></li>
 <li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/LibScalar.html">Use</a></li>
+<li><a href="class-use/CLALibSquash.html">Use</a></li>
 <li><a href="package-tree.html">Tree</a></li>
 <li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
 <li><a href="../../../../../../index-all.html">Index</a></li>
@@ -49,12 +49,12 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/lib/LibRightMultBy.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/lib/CLALibScalar.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li>Next&nbsp;Class</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/lib/LibScalar.html" target="_top">Frames</a></li>
-<li><a href="LibScalar.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/lib/CLALibSquash.html" target="_top">Frames</a></li>
+<li><a href="CLALibSquash.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
 <li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -93,14 +93,14 @@
 <!-- ======== START OF CLASS DATA ======== -->
 <div class="header">
 <div class="subTitle">org.apache.sysds.runtime.compress.lib</div>
-<h2 title="Class LibScalar" class="title">Class LibScalar</h2>
+<h2 title="Class CLALibSquash" class="title">Class CLALibSquash</h2>
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
 <li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
-<li>org.apache.sysds.runtime.compress.lib.LibScalar</li>
+<li>org.apache.sysds.runtime.compress.lib.CLALibSquash</li>
 </ul>
 </li>
 </ul>
@@ -109,7 +109,7 @@
 <li class="blockList">
 <hr>
 <br>
-<pre>public class <span class="typeNameLabel">LibScalar</span>
+<pre>public class <span class="typeNameLabel">CLALibSquash</span>
 extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 </li>
 </ul>
@@ -129,7 +129,7 @@
 <th class="colOne" scope="col">Constructor and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/lib/LibScalar.html#LibScalar--">LibScalar</a></span>()</code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/lib/CLALibSquash.html#CLALibSquash--">CLALibSquash</a></span>()</code>&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -147,11 +147,9 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/lib/LibScalar.html#scalarOperations-org.apache.sysds.runtime.matrix.operators.ScalarOperator-org.apache.sysds.runtime.compress.CompressedMatrixBlock-org.apache.sysds.runtime.compress.CompressedMatrixBlock-boolean-">scalarOperations</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;sop,
-                <a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;m1,
-                <a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;ret,
-                boolean&nbsp;overlapping)</code>&nbsp;</td>
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/lib/CLALibSquash.html#squash-org.apache.sysds.runtime.compress.CompressedMatrixBlock-int-">squash</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;m,
+      int&nbsp;k)</code>&nbsp;</td>
 </tr>
 </table>
 <ul class="blockList">
@@ -175,13 +173,13 @@
 <!--   -->
 </a>
 <h3>Constructor Detail</h3>
-<a name="LibScalar--">
+<a name="CLALibSquash--">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>LibScalar</h4>
-<pre>public&nbsp;LibScalar()</pre>
+<h4>CLALibSquash</h4>
+<pre>public&nbsp;CLALibSquash()</pre>
 </li>
 </ul>
 </li>
@@ -192,16 +190,14 @@
 <!--   -->
 </a>
 <h3>Method Detail</h3>
-<a name="scalarOperations-org.apache.sysds.runtime.matrix.operators.ScalarOperator-org.apache.sysds.runtime.compress.CompressedMatrixBlock-org.apache.sysds.runtime.compress.CompressedMatrixBlock-boolean-">
+<a name="squash-org.apache.sysds.runtime.compress.CompressedMatrixBlock-int-">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>scalarOperations</h4>
-<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;scalarOperations(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;sop,
-                                           <a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;m1,
-                                           <a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;ret,
-                                           boolean&nbsp;overlapping)</pre>
+<h4>squash</h4>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;squash(<a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;m,
+                                           int&nbsp;k)</pre>
 </li>
 </ul>
 </li>
@@ -223,7 +219,7 @@
 <li><a href="../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="package-summary.html">Package</a></li>
 <li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/LibScalar.html">Use</a></li>
+<li><a href="class-use/CLALibSquash.html">Use</a></li>
 <li><a href="package-tree.html">Tree</a></li>
 <li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
 <li><a href="../../../../../../index-all.html">Index</a></li>
@@ -232,12 +228,12 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/lib/LibRightMultBy.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/lib/CLALibScalar.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li>Next&nbsp;Class</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/lib/LibScalar.html" target="_top">Frames</a></li>
-<li><a href="LibScalar.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/lib/CLALibSquash.html" target="_top">Frames</a></li>
+<li><a href="CLALibSquash.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
 <li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -273,6 +269,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/lib/LibRightMultBy.html b/docs/api/java/org/apache/sysds/runtime/compress/lib/LibRightMultBy.html
deleted file mode 100644
index 73bbd68..0000000
--- a/docs/api/java/org/apache/sysds/runtime/compress/lib/LibRightMultBy.html
+++ /dev/null
@@ -1,329 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc -->
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>LibRightMultBy (SystemDS 2.1.0-SNAPSHOT API)</title>
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="LibRightMultBy (SystemDS 2.1.0-SNAPSHOT API)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":9,"i1":9};
-var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/LibRightMultBy.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/lib/LibLeftMultBy.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/lib/LibScalar.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/lib/LibRightMultBy.html" target="_top">Frames</a></li>
-<li><a href="LibRightMultBy.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.sysds.runtime.compress.lib</div>
-<h2 title="Class LibRightMultBy" class="title">Class LibRightMultBy</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
-<li>
-<ul class="inheritance">
-<li>org.apache.sysds.runtime.compress.lib.LibRightMultBy</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<hr>
-<br>
-<pre>public class <span class="typeNameLabel">LibRightMultBy</span>
-extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.summary">
-<!--   -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/lib/LibRightMultBy.html#LibRightMultBy--">LibRightMultBy</a></span>()</code>&nbsp;</td>
-</tr>
-</table>
-</li>
-</ul>
-<!-- ========== METHOD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.summary">
-<!--   -->
-</a>
-<h3>Method Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/lib/LibRightMultBy.html#rightMultByMatrix-java.util.List-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-org.apache.commons.lang3.tuple.Pair-boolean-">rightMultByMatrix</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>&gt;&nbsp;colGroups,
-                 <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;that,
-                 <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
-                 int&nbsp;k,
-                 org.apache.commons.lang3.tuple.Pair&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,int[]&gt;&nbsp;v,
-                 boolean&nbsp;allowOverlap)</code>
-<div class="block">Right multiply by matrix.</div>
-</td>
-</tr>
-<tr id="i1" class="rowColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/lib/LibRightMultBy.html#rightMultByVector-java.util.List-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-org.apache.commons.lang3.tuple.Pair-">rightMultByVector</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>&gt;&nbsp;colGroups,
-                 <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;vector,
-                 <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result,
-                 int&nbsp;k,
-                 org.apache.commons.lang3.tuple.Pair&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,int[]&gt;&nbsp;v)</code>
-<div class="block">Multi-threaded version of rightMultByVector.</div>
-</td>
-</tr>
-</table>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
-<!--   -->
-</a>
-<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
-<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.detail">
-<!--   -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="LibRightMultBy--">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>LibRightMultBy</h4>
-<pre>public&nbsp;LibRightMultBy()</pre>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="rightMultByMatrix-java.util.List-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-org.apache.commons.lang3.tuple.Pair-boolean-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>rightMultByMatrix</h4>
-<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;rightMultByMatrix(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>&gt;&nbsp;colGroups,
-                                            <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;that,
-                                            <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
-                                            int&nbsp;k,
-                                            org.apache.commons.lang3.tuple.Pair&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,int[]&gt;&nbsp;v,
-                                            boolean&nbsp;allowOverlap)</pre>
-<div class="block">Right multiply by matrix. Meaning a left hand side compressed matrix is multiplied with a right hand side
- uncompressed matrix.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>colGroups</code> - All Column groups in the compression</dd>
-<dd><code>that</code> - The right hand side matrix</dd>
-<dd><code>ret</code> - The MatrixBlock to return.</dd>
-<dd><code>k</code> - The parallelization degree to use.</dd>
-<dd><code>v</code> - The Precalculated counts and Maximum number of tuple entries in the column groups.</dd>
-<dd><code>allowOverlap</code> - Allow the multiplication to return an overlapped matrix.</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>The Result Matrix, modified from the ret parameter.</dd>
-</dl>
-</li>
-</ul>
-<a name="rightMultByVector-java.util.List-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-org.apache.commons.lang3.tuple.Pair-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>rightMultByVector</h4>
-<pre>public static&nbsp;void&nbsp;rightMultByVector(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>&gt;&nbsp;colGroups,
-                                     <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;vector,
-                                     <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result,
-                                     int&nbsp;k,
-                                     org.apache.commons.lang3.tuple.Pair&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,int[]&gt;&nbsp;v)</pre>
-<div class="block">Multi-threaded version of rightMultByVector.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>colGroups</code> - The Column groups used int the multiplication</dd>
-<dd><code>vector</code> - matrix block vector to multiply with</dd>
-<dd><code>result</code> - matrix block result to modify in the multiplication</dd>
-<dd><code>k</code> - number of threads to use</dd>
-<dd><code>v</code> - The Precalculated counts and Maximum number of tuple entries in the column groups</dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/LibRightMultBy.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/lib/LibLeftMultBy.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/lib/LibScalar.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/lib/LibRightMultBy.html" target="_top">Frames</a></li>
-<li><a href="LibRightMultBy.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
-</body>
-</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/lib/class-use/LibLeftMultBy.html b/docs/api/java/org/apache/sysds/runtime/compress/lib/class-use/BitmapEncoder.html
similarity index 82%
copy from docs/api/java/org/apache/sysds/runtime/compress/lib/class-use/LibLeftMultBy.html
copy to docs/api/java/org/apache/sysds/runtime/compress/lib/class-use/BitmapEncoder.html
index d48649a..fd211e4 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/lib/class-use/LibLeftMultBy.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/lib/class-use/BitmapEncoder.html
@@ -4,7 +4,7 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.sysds.runtime.compress.lib.LibLeftMultBy (SystemDS 2.1.0-SNAPSHOT API)</title>
+<title>Uses of Class org.apache.sysds.runtime.compress.lib.BitmapEncoder (SystemDS 2.1.0-SNAPSHOT API)</title>
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.sysds.runtime.compress.lib.LibLeftMultBy (SystemDS 2.1.0-SNAPSHOT API)";
+            parent.document.title="Uses of Class org.apache.sysds.runtime.compress.lib.BitmapEncoder (SystemDS 2.1.0-SNAPSHOT API)";
         }
     }
     catch(err) {
@@ -33,7 +33,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/LibLeftMultBy.html" title="class in org.apache.sysds.runtime.compress.lib">Class</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/BitmapEncoder.html" title="class in org.apache.sysds.runtime.compress.lib">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -47,8 +47,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/lib/class-use/LibLeftMultBy.html" target="_top">Frames</a></li>
-<li><a href="LibLeftMultBy.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/lib/class-use/BitmapEncoder.html" target="_top">Frames</a></li>
+<li><a href="BitmapEncoder.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -70,9 +70,9 @@
 </a></div>
 <!-- ========= END OF TOP NAVBAR ========= -->
 <div class="header">
-<h2 title="Uses of Class org.apache.sysds.runtime.compress.lib.LibLeftMultBy" class="title">Uses of Class<br>org.apache.sysds.runtime.compress.lib.LibLeftMultBy</h2>
+<h2 title="Uses of Class org.apache.sysds.runtime.compress.lib.BitmapEncoder" class="title">Uses of Class<br>org.apache.sysds.runtime.compress.lib.BitmapEncoder</h2>
 </div>
-<div class="classUseContainer">No usage of org.apache.sysds.runtime.compress.lib.LibLeftMultBy</div>
+<div class="classUseContainer">No usage of org.apache.sysds.runtime.compress.lib.BitmapEncoder</div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
 <!--   -->
@@ -84,7 +84,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/LibLeftMultBy.html" title="class in org.apache.sysds.runtime.compress.lib">Class</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/BitmapEncoder.html" title="class in org.apache.sysds.runtime.compress.lib">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -98,8 +98,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/lib/class-use/LibLeftMultBy.html" target="_top">Frames</a></li>
-<li><a href="LibLeftMultBy.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/lib/class-use/BitmapEncoder.html" target="_top">Frames</a></li>
+<li><a href="BitmapEncoder.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/lib/class-use/LibBinaryCellOp.html b/docs/api/java/org/apache/sysds/runtime/compress/lib/class-use/BitmapLossyEncoder.html
similarity index 79%
copy from docs/api/java/org/apache/sysds/runtime/compress/lib/class-use/LibBinaryCellOp.html
copy to docs/api/java/org/apache/sysds/runtime/compress/lib/class-use/BitmapLossyEncoder.html
index e62dd8b..c8d33e9 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/lib/class-use/LibBinaryCellOp.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/lib/class-use/BitmapLossyEncoder.html
@@ -4,7 +4,7 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.sysds.runtime.compress.lib.LibBinaryCellOp (SystemDS 2.1.0-SNAPSHOT API)</title>
+<title>Uses of Class org.apache.sysds.runtime.compress.lib.BitmapLossyEncoder (SystemDS 2.1.0-SNAPSHOT API)</title>
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.sysds.runtime.compress.lib.LibBinaryCellOp (SystemDS 2.1.0-SNAPSHOT API)";
+            parent.document.title="Uses of Class org.apache.sysds.runtime.compress.lib.BitmapLossyEncoder (SystemDS 2.1.0-SNAPSHOT API)";
         }
     }
     catch(err) {
@@ -33,7 +33,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/LibBinaryCellOp.html" title="class in org.apache.sysds.runtime.compress.lib">Class</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/BitmapLossyEncoder.html" title="class in org.apache.sysds.runtime.compress.lib">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -47,8 +47,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/lib/class-use/LibBinaryCellOp.html" target="_top">Frames</a></li>
-<li><a href="LibBinaryCellOp.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/lib/class-use/BitmapLossyEncoder.html" target="_top">Frames</a></li>
+<li><a href="BitmapLossyEncoder.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -70,9 +70,9 @@
 </a></div>
 <!-- ========= END OF TOP NAVBAR ========= -->
 <div class="header">
-<h2 title="Uses of Class org.apache.sysds.runtime.compress.lib.LibBinaryCellOp" class="title">Uses of Class<br>org.apache.sysds.runtime.compress.lib.LibBinaryCellOp</h2>
+<h2 title="Uses of Class org.apache.sysds.runtime.compress.lib.BitmapLossyEncoder" class="title">Uses of Class<br>org.apache.sysds.runtime.compress.lib.BitmapLossyEncoder</h2>
 </div>
-<div class="classUseContainer">No usage of org.apache.sysds.runtime.compress.lib.LibBinaryCellOp</div>
+<div class="classUseContainer">No usage of org.apache.sysds.runtime.compress.lib.BitmapLossyEncoder</div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
 <!--   -->
@@ -84,7 +84,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/LibBinaryCellOp.html" title="class in org.apache.sysds.runtime.compress.lib">Class</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/BitmapLossyEncoder.html" title="class in org.apache.sysds.runtime.compress.lib">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -98,8 +98,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/lib/class-use/LibBinaryCellOp.html" target="_top">Frames</a></li>
-<li><a href="LibBinaryCellOp.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/lib/class-use/BitmapLossyEncoder.html" target="_top">Frames</a></li>
+<li><a href="BitmapLossyEncoder.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/lib/class-use/LibLeftMultBy.html b/docs/api/java/org/apache/sysds/runtime/compress/lib/class-use/CLALibAppend.html
similarity index 80%
copy from docs/api/java/org/apache/sysds/runtime/compress/lib/class-use/LibLeftMultBy.html
copy to docs/api/java/org/apache/sysds/runtime/compress/lib/class-use/CLALibAppend.html
index d48649a..6c949c9 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/lib/class-use/LibLeftMultBy.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/lib/class-use/CLALibAppend.html
@@ -4,7 +4,7 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.sysds.runtime.compress.lib.LibLeftMultBy (SystemDS 2.1.0-SNAPSHOT API)</title>
+<title>Uses of Class org.apache.sysds.runtime.compress.lib.CLALibAppend (SystemDS 2.1.0-SNAPSHOT API)</title>
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.sysds.runtime.compress.lib.LibLeftMultBy (SystemDS 2.1.0-SNAPSHOT API)";
+            parent.document.title="Uses of Class org.apache.sysds.runtime.compress.lib.CLALibAppend (SystemDS 2.1.0-SNAPSHOT API)";
         }
     }
     catch(err) {
@@ -33,7 +33,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/LibLeftMultBy.html" title="class in org.apache.sysds.runtime.compress.lib">Class</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/CLALibAppend.html" title="class in org.apache.sysds.runtime.compress.lib">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -47,8 +47,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/lib/class-use/LibLeftMultBy.html" target="_top">Frames</a></li>
-<li><a href="LibLeftMultBy.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/lib/class-use/CLALibAppend.html" target="_top">Frames</a></li>
+<li><a href="CLALibAppend.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -70,9 +70,9 @@
 </a></div>
 <!-- ========= END OF TOP NAVBAR ========= -->
 <div class="header">
-<h2 title="Uses of Class org.apache.sysds.runtime.compress.lib.LibLeftMultBy" class="title">Uses of Class<br>org.apache.sysds.runtime.compress.lib.LibLeftMultBy</h2>
+<h2 title="Uses of Class org.apache.sysds.runtime.compress.lib.CLALibAppend" class="title">Uses of Class<br>org.apache.sysds.runtime.compress.lib.CLALibAppend</h2>
 </div>
-<div class="classUseContainer">No usage of org.apache.sysds.runtime.compress.lib.LibLeftMultBy</div>
+<div class="classUseContainer">No usage of org.apache.sysds.runtime.compress.lib.CLALibAppend</div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
 <!--   -->
@@ -84,7 +84,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/LibLeftMultBy.html" title="class in org.apache.sysds.runtime.compress.lib">Class</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/CLALibAppend.html" title="class in org.apache.sysds.runtime.compress.lib">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -98,8 +98,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/lib/class-use/LibLeftMultBy.html" target="_top">Frames</a></li>
-<li><a href="LibLeftMultBy.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/lib/class-use/CLALibAppend.html" target="_top">Frames</a></li>
+<li><a href="CLALibAppend.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/lib/class-use/LibBinaryCellOp.html b/docs/api/java/org/apache/sysds/runtime/compress/lib/class-use/CLALibBinaryCellOp.html
similarity index 79%
rename from docs/api/java/org/apache/sysds/runtime/compress/lib/class-use/LibBinaryCellOp.html
rename to docs/api/java/org/apache/sysds/runtime/compress/lib/class-use/CLALibBinaryCellOp.html
index e62dd8b..9202be1 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/lib/class-use/LibBinaryCellOp.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/lib/class-use/CLALibBinaryCellOp.html
@@ -4,7 +4,7 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.sysds.runtime.compress.lib.LibBinaryCellOp (SystemDS 2.1.0-SNAPSHOT API)</title>
+<title>Uses of Class org.apache.sysds.runtime.compress.lib.CLALibBinaryCellOp (SystemDS 2.1.0-SNAPSHOT API)</title>
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.sysds.runtime.compress.lib.LibBinaryCellOp (SystemDS 2.1.0-SNAPSHOT API)";
+            parent.document.title="Uses of Class org.apache.sysds.runtime.compress.lib.CLALibBinaryCellOp (SystemDS 2.1.0-SNAPSHOT API)";
         }
     }
     catch(err) {
@@ -33,7 +33,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/LibBinaryCellOp.html" title="class in org.apache.sysds.runtime.compress.lib">Class</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/CLALibBinaryCellOp.html" title="class in org.apache.sysds.runtime.compress.lib">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -47,8 +47,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/lib/class-use/LibBinaryCellOp.html" target="_top">Frames</a></li>
-<li><a href="LibBinaryCellOp.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/lib/class-use/CLALibBinaryCellOp.html" target="_top">Frames</a></li>
+<li><a href="CLALibBinaryCellOp.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -70,9 +70,9 @@
 </a></div>
 <!-- ========= END OF TOP NAVBAR ========= -->
 <div class="header">
-<h2 title="Uses of Class org.apache.sysds.runtime.compress.lib.LibBinaryCellOp" class="title">Uses of Class<br>org.apache.sysds.runtime.compress.lib.LibBinaryCellOp</h2>
+<h2 title="Uses of Class org.apache.sysds.runtime.compress.lib.CLALibBinaryCellOp" class="title">Uses of Class<br>org.apache.sysds.runtime.compress.lib.CLALibBinaryCellOp</h2>
 </div>
-<div class="classUseContainer">No usage of org.apache.sysds.runtime.compress.lib.LibBinaryCellOp</div>
+<div class="classUseContainer">No usage of org.apache.sysds.runtime.compress.lib.CLALibBinaryCellOp</div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
 <!--   -->
@@ -84,7 +84,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/LibBinaryCellOp.html" title="class in org.apache.sysds.runtime.compress.lib">Class</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/CLALibBinaryCellOp.html" title="class in org.apache.sysds.runtime.compress.lib">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -98,8 +98,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/lib/class-use/LibBinaryCellOp.html" target="_top">Frames</a></li>
-<li><a href="LibBinaryCellOp.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/lib/class-use/CLALibBinaryCellOp.html" target="_top">Frames</a></li>
+<li><a href="CLALibBinaryCellOp.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/lib/class-use/LibLeftMultBy.html b/docs/api/java/org/apache/sysds/runtime/compress/lib/class-use/CLALibCompAgg.html
similarity index 82%
rename from docs/api/java/org/apache/sysds/runtime/compress/lib/class-use/LibLeftMultBy.html
rename to docs/api/java/org/apache/sysds/runtime/compress/lib/class-use/CLALibCompAgg.html
index d48649a..6420ba8 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/lib/class-use/LibLeftMultBy.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/lib/class-use/CLALibCompAgg.html
@@ -4,7 +4,7 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.sysds.runtime.compress.lib.LibLeftMultBy (SystemDS 2.1.0-SNAPSHOT API)</title>
+<title>Uses of Class org.apache.sysds.runtime.compress.lib.CLALibCompAgg (SystemDS 2.1.0-SNAPSHOT API)</title>
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.sysds.runtime.compress.lib.LibLeftMultBy (SystemDS 2.1.0-SNAPSHOT API)";
+            parent.document.title="Uses of Class org.apache.sysds.runtime.compress.lib.CLALibCompAgg (SystemDS 2.1.0-SNAPSHOT API)";
         }
     }
     catch(err) {
@@ -33,7 +33,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/LibLeftMultBy.html" title="class in org.apache.sysds.runtime.compress.lib">Class</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/CLALibCompAgg.html" title="class in org.apache.sysds.runtime.compress.lib">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -47,8 +47,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/lib/class-use/LibLeftMultBy.html" target="_top">Frames</a></li>
-<li><a href="LibLeftMultBy.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/lib/class-use/CLALibCompAgg.html" target="_top">Frames</a></li>
+<li><a href="CLALibCompAgg.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -70,9 +70,9 @@
 </a></div>
 <!-- ========= END OF TOP NAVBAR ========= -->
 <div class="header">
-<h2 title="Uses of Class org.apache.sysds.runtime.compress.lib.LibLeftMultBy" class="title">Uses of Class<br>org.apache.sysds.runtime.compress.lib.LibLeftMultBy</h2>
+<h2 title="Uses of Class org.apache.sysds.runtime.compress.lib.CLALibCompAgg" class="title">Uses of Class<br>org.apache.sysds.runtime.compress.lib.CLALibCompAgg</h2>
 </div>
-<div class="classUseContainer">No usage of org.apache.sysds.runtime.compress.lib.LibLeftMultBy</div>
+<div class="classUseContainer">No usage of org.apache.sysds.runtime.compress.lib.CLALibCompAgg</div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
 <!--   -->
@@ -84,7 +84,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/LibLeftMultBy.html" title="class in org.apache.sysds.runtime.compress.lib">Class</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/CLALibCompAgg.html" title="class in org.apache.sysds.runtime.compress.lib">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -98,8 +98,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/lib/class-use/LibLeftMultBy.html" target="_top">Frames</a></li>
-<li><a href="LibLeftMultBy.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/lib/class-use/CLALibCompAgg.html" target="_top">Frames</a></li>
+<li><a href="CLALibCompAgg.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/lib/class-use/LibBinaryCellOp.html b/docs/api/java/org/apache/sysds/runtime/compress/lib/class-use/CLALibLeftMultBy.html
similarity index 79%
copy from docs/api/java/org/apache/sysds/runtime/compress/lib/class-use/LibBinaryCellOp.html
copy to docs/api/java/org/apache/sysds/runtime/compress/lib/class-use/CLALibLeftMultBy.html
index e62dd8b..01198ea 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/lib/class-use/LibBinaryCellOp.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/lib/class-use/CLALibLeftMultBy.html
@@ -4,7 +4,7 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.sysds.runtime.compress.lib.LibBinaryCellOp (SystemDS 2.1.0-SNAPSHOT API)</title>
+<title>Uses of Class org.apache.sysds.runtime.compress.lib.CLALibLeftMultBy (SystemDS 2.1.0-SNAPSHOT API)</title>
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.sysds.runtime.compress.lib.LibBinaryCellOp (SystemDS 2.1.0-SNAPSHOT API)";
+            parent.document.title="Uses of Class org.apache.sysds.runtime.compress.lib.CLALibLeftMultBy (SystemDS 2.1.0-SNAPSHOT API)";
         }
     }
     catch(err) {
@@ -33,7 +33,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/LibBinaryCellOp.html" title="class in org.apache.sysds.runtime.compress.lib">Class</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/CLALibLeftMultBy.html" title="class in org.apache.sysds.runtime.compress.lib">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -47,8 +47,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/lib/class-use/LibBinaryCellOp.html" target="_top">Frames</a></li>
-<li><a href="LibBinaryCellOp.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/lib/class-use/CLALibLeftMultBy.html" target="_top">Frames</a></li>
+<li><a href="CLALibLeftMultBy.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -70,9 +70,9 @@
 </a></div>
 <!-- ========= END OF TOP NAVBAR ========= -->
 <div class="header">
-<h2 title="Uses of Class org.apache.sysds.runtime.compress.lib.LibBinaryCellOp" class="title">Uses of Class<br>org.apache.sysds.runtime.compress.lib.LibBinaryCellOp</h2>
+<h2 title="Uses of Class org.apache.sysds.runtime.compress.lib.CLALibLeftMultBy" class="title">Uses of Class<br>org.apache.sysds.runtime.compress.lib.CLALibLeftMultBy</h2>
 </div>
-<div class="classUseContainer">No usage of org.apache.sysds.runtime.compress.lib.LibBinaryCellOp</div>
+<div class="classUseContainer">No usage of org.apache.sysds.runtime.compress.lib.CLALibLeftMultBy</div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
 <!--   -->
@@ -84,7 +84,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/LibBinaryCellOp.html" title="class in org.apache.sysds.runtime.compress.lib">Class</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/CLALibLeftMultBy.html" title="class in org.apache.sysds.runtime.compress.lib">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -98,8 +98,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/lib/class-use/LibBinaryCellOp.html" target="_top">Frames</a></li>
-<li><a href="LibBinaryCellOp.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/lib/class-use/CLALibLeftMultBy.html" target="_top">Frames</a></li>
+<li><a href="CLALibLeftMultBy.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/lib/class-use/LibRightMultBy.html b/docs/api/java/org/apache/sysds/runtime/compress/lib/class-use/CLALibReExpand.html
similarity index 82%
rename from docs/api/java/org/apache/sysds/runtime/compress/lib/class-use/LibRightMultBy.html
rename to docs/api/java/org/apache/sysds/runtime/compress/lib/class-use/CLALibReExpand.html
index 7aa4407..5f4de0f 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/lib/class-use/LibRightMultBy.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/lib/class-use/CLALibReExpand.html
@@ -4,7 +4,7 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.sysds.runtime.compress.lib.LibRightMultBy (SystemDS 2.1.0-SNAPSHOT API)</title>
+<title>Uses of Class org.apache.sysds.runtime.compress.lib.CLALibReExpand (SystemDS 2.1.0-SNAPSHOT API)</title>
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.sysds.runtime.compress.lib.LibRightMultBy (SystemDS 2.1.0-SNAPSHOT API)";
+            parent.document.title="Uses of Class org.apache.sysds.runtime.compress.lib.CLALibReExpand (SystemDS 2.1.0-SNAPSHOT API)";
         }
     }
     catch(err) {
@@ -33,7 +33,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/LibRightMultBy.html" title="class in org.apache.sysds.runtime.compress.lib">Class</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/CLALibReExpand.html" title="class in org.apache.sysds.runtime.compress.lib">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -47,8 +47,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/lib/class-use/LibRightMultBy.html" target="_top">Frames</a></li>
-<li><a href="LibRightMultBy.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/lib/class-use/CLALibReExpand.html" target="_top">Frames</a></li>
+<li><a href="CLALibReExpand.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -70,9 +70,9 @@
 </a></div>
 <!-- ========= END OF TOP NAVBAR ========= -->
 <div class="header">
-<h2 title="Uses of Class org.apache.sysds.runtime.compress.lib.LibRightMultBy" class="title">Uses of Class<br>org.apache.sysds.runtime.compress.lib.LibRightMultBy</h2>
+<h2 title="Uses of Class org.apache.sysds.runtime.compress.lib.CLALibReExpand" class="title">Uses of Class<br>org.apache.sysds.runtime.compress.lib.CLALibReExpand</h2>
 </div>
-<div class="classUseContainer">No usage of org.apache.sysds.runtime.compress.lib.LibRightMultBy</div>
+<div class="classUseContainer">No usage of org.apache.sysds.runtime.compress.lib.CLALibReExpand</div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
 <!--   -->
@@ -84,7 +84,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/LibRightMultBy.html" title="class in org.apache.sysds.runtime.compress.lib">Class</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/CLALibReExpand.html" title="class in org.apache.sysds.runtime.compress.lib">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -98,8 +98,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/lib/class-use/LibRightMultBy.html" target="_top">Frames</a></li>
-<li><a href="LibRightMultBy.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/lib/class-use/CLALibReExpand.html" target="_top">Frames</a></li>
+<li><a href="CLALibReExpand.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/lib/class-use/LibBinaryCellOp.html b/docs/api/java/org/apache/sysds/runtime/compress/lib/class-use/CLALibRelationalOp.html
similarity index 79%
copy from docs/api/java/org/apache/sysds/runtime/compress/lib/class-use/LibBinaryCellOp.html
copy to docs/api/java/org/apache/sysds/runtime/compress/lib/class-use/CLALibRelationalOp.html
index e62dd8b..93223ee 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/lib/class-use/LibBinaryCellOp.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/lib/class-use/CLALibRelationalOp.html
@@ -4,7 +4,7 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.sysds.runtime.compress.lib.LibBinaryCellOp (SystemDS 2.1.0-SNAPSHOT API)</title>
+<title>Uses of Class org.apache.sysds.runtime.compress.lib.CLALibRelationalOp (SystemDS 2.1.0-SNAPSHOT API)</title>
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.sysds.runtime.compress.lib.LibBinaryCellOp (SystemDS 2.1.0-SNAPSHOT API)";
+            parent.document.title="Uses of Class org.apache.sysds.runtime.compress.lib.CLALibRelationalOp (SystemDS 2.1.0-SNAPSHOT API)";
         }
     }
     catch(err) {
@@ -33,7 +33,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/LibBinaryCellOp.html" title="class in org.apache.sysds.runtime.compress.lib">Class</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/CLALibRelationalOp.html" title="class in org.apache.sysds.runtime.compress.lib">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -47,8 +47,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/lib/class-use/LibBinaryCellOp.html" target="_top">Frames</a></li>
-<li><a href="LibBinaryCellOp.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/lib/class-use/CLALibRelationalOp.html" target="_top">Frames</a></li>
+<li><a href="CLALibRelationalOp.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -70,9 +70,9 @@
 </a></div>
 <!-- ========= END OF TOP NAVBAR ========= -->
 <div class="header">
-<h2 title="Uses of Class org.apache.sysds.runtime.compress.lib.LibBinaryCellOp" class="title">Uses of Class<br>org.apache.sysds.runtime.compress.lib.LibBinaryCellOp</h2>
+<h2 title="Uses of Class org.apache.sysds.runtime.compress.lib.CLALibRelationalOp" class="title">Uses of Class<br>org.apache.sysds.runtime.compress.lib.CLALibRelationalOp</h2>
 </div>
-<div class="classUseContainer">No usage of org.apache.sysds.runtime.compress.lib.LibBinaryCellOp</div>
+<div class="classUseContainer">No usage of org.apache.sysds.runtime.compress.lib.CLALibRelationalOp</div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
 <!--   -->
@@ -84,7 +84,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/LibBinaryCellOp.html" title="class in org.apache.sysds.runtime.compress.lib">Class</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/CLALibRelationalOp.html" title="class in org.apache.sysds.runtime.compress.lib">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -98,8 +98,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/lib/class-use/LibBinaryCellOp.html" target="_top">Frames</a></li>
-<li><a href="LibBinaryCellOp.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/lib/class-use/CLALibRelationalOp.html" target="_top">Frames</a></li>
+<li><a href="CLALibRelationalOp.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/ColGroupDDC2.html b/docs/api/java/org/apache/sysds/runtime/compress/lib/class-use/CLALibRightMultBy.html
similarity index 80%
rename from docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/ColGroupDDC2.html
rename to docs/api/java/org/apache/sysds/runtime/compress/lib/class-use/CLALibRightMultBy.html
index 7cc20f7..4636dcc 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/ColGroupDDC2.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/lib/class-use/CLALibRightMultBy.html
@@ -4,7 +4,7 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.sysds.runtime.compress.colgroup.ColGroupDDC2 (SystemDS 2.1.0-SNAPSHOT API)</title>
+<title>Uses of Class org.apache.sysds.runtime.compress.lib.CLALibRightMultBy (SystemDS 2.1.0-SNAPSHOT API)</title>
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.sysds.runtime.compress.colgroup.ColGroupDDC2 (SystemDS 2.1.0-SNAPSHOT API)";
+            parent.document.title="Uses of Class org.apache.sysds.runtime.compress.lib.CLALibRightMultBy (SystemDS 2.1.0-SNAPSHOT API)";
         }
     }
     catch(err) {
@@ -33,7 +33,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html" title="class in org.apache.sysds.runtime.compress.colgroup">Class</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/CLALibRightMultBy.html" title="class in org.apache.sysds.runtime.compress.lib">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -47,8 +47,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/class-use/ColGroupDDC2.html" target="_top">Frames</a></li>
-<li><a href="ColGroupDDC2.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/lib/class-use/CLALibRightMultBy.html" target="_top">Frames</a></li>
+<li><a href="CLALibRightMultBy.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -70,9 +70,9 @@
 </a></div>
 <!-- ========= END OF TOP NAVBAR ========= -->
 <div class="header">
-<h2 title="Uses of Class org.apache.sysds.runtime.compress.colgroup.ColGroupDDC2" class="title">Uses of Class<br>org.apache.sysds.runtime.compress.colgroup.ColGroupDDC2</h2>
+<h2 title="Uses of Class org.apache.sysds.runtime.compress.lib.CLALibRightMultBy" class="title">Uses of Class<br>org.apache.sysds.runtime.compress.lib.CLALibRightMultBy</h2>
 </div>
-<div class="classUseContainer">No usage of org.apache.sysds.runtime.compress.colgroup.ColGroupDDC2</div>
+<div class="classUseContainer">No usage of org.apache.sysds.runtime.compress.lib.CLALibRightMultBy</div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
 <!--   -->
@@ -84,7 +84,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html" title="class in org.apache.sysds.runtime.compress.colgroup">Class</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/CLALibRightMultBy.html" title="class in org.apache.sysds.runtime.compress.lib">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -98,8 +98,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/class-use/ColGroupDDC2.html" target="_top">Frames</a></li>
-<li><a href="ColGroupDDC2.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/lib/class-use/CLALibRightMultBy.html" target="_top">Frames</a></li>
+<li><a href="CLALibRightMultBy.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/lib/class-use/LibLeftMultBy.html b/docs/api/java/org/apache/sysds/runtime/compress/lib/class-use/CLALibScalar.html
similarity index 80%
copy from docs/api/java/org/apache/sysds/runtime/compress/lib/class-use/LibLeftMultBy.html
copy to docs/api/java/org/apache/sysds/runtime/compress/lib/class-use/CLALibScalar.html
index d48649a..4d365c7 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/lib/class-use/LibLeftMultBy.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/lib/class-use/CLALibScalar.html
@@ -4,7 +4,7 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.sysds.runtime.compress.lib.LibLeftMultBy (SystemDS 2.1.0-SNAPSHOT API)</title>
+<title>Uses of Class org.apache.sysds.runtime.compress.lib.CLALibScalar (SystemDS 2.1.0-SNAPSHOT API)</title>
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.sysds.runtime.compress.lib.LibLeftMultBy (SystemDS 2.1.0-SNAPSHOT API)";
+            parent.document.title="Uses of Class org.apache.sysds.runtime.compress.lib.CLALibScalar (SystemDS 2.1.0-SNAPSHOT API)";
         }
     }
     catch(err) {
@@ -33,7 +33,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/LibLeftMultBy.html" title="class in org.apache.sysds.runtime.compress.lib">Class</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/CLALibScalar.html" title="class in org.apache.sysds.runtime.compress.lib">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -47,8 +47,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/lib/class-use/LibLeftMultBy.html" target="_top">Frames</a></li>
-<li><a href="LibLeftMultBy.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/lib/class-use/CLALibScalar.html" target="_top">Frames</a></li>
+<li><a href="CLALibScalar.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -70,9 +70,9 @@
 </a></div>
 <!-- ========= END OF TOP NAVBAR ========= -->
 <div class="header">
-<h2 title="Uses of Class org.apache.sysds.runtime.compress.lib.LibLeftMultBy" class="title">Uses of Class<br>org.apache.sysds.runtime.compress.lib.LibLeftMultBy</h2>
+<h2 title="Uses of Class org.apache.sysds.runtime.compress.lib.CLALibScalar" class="title">Uses of Class<br>org.apache.sysds.runtime.compress.lib.CLALibScalar</h2>
 </div>
-<div class="classUseContainer">No usage of org.apache.sysds.runtime.compress.lib.LibLeftMultBy</div>
+<div class="classUseContainer">No usage of org.apache.sysds.runtime.compress.lib.CLALibScalar</div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
 <!--   -->
@@ -84,7 +84,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/LibLeftMultBy.html" title="class in org.apache.sysds.runtime.compress.lib">Class</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/CLALibScalar.html" title="class in org.apache.sysds.runtime.compress.lib">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -98,8 +98,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/lib/class-use/LibLeftMultBy.html" target="_top">Frames</a></li>
-<li><a href="LibLeftMultBy.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/lib/class-use/CLALibScalar.html" target="_top">Frames</a></li>
+<li><a href="CLALibScalar.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/lib/class-use/LibLeftMultBy.html b/docs/api/java/org/apache/sysds/runtime/compress/lib/class-use/CLALibSquash.html
similarity index 80%
copy from docs/api/java/org/apache/sysds/runtime/compress/lib/class-use/LibLeftMultBy.html
copy to docs/api/java/org/apache/sysds/runtime/compress/lib/class-use/CLALibSquash.html
index d48649a..5d01551 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/lib/class-use/LibLeftMultBy.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/lib/class-use/CLALibSquash.html
@@ -4,7 +4,7 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.sysds.runtime.compress.lib.LibLeftMultBy (SystemDS 2.1.0-SNAPSHOT API)</title>
+<title>Uses of Class org.apache.sysds.runtime.compress.lib.CLALibSquash (SystemDS 2.1.0-SNAPSHOT API)</title>
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.sysds.runtime.compress.lib.LibLeftMultBy (SystemDS 2.1.0-SNAPSHOT API)";
+            parent.document.title="Uses of Class org.apache.sysds.runtime.compress.lib.CLALibSquash (SystemDS 2.1.0-SNAPSHOT API)";
         }
     }
     catch(err) {
@@ -33,7 +33,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/LibLeftMultBy.html" title="class in org.apache.sysds.runtime.compress.lib">Class</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/CLALibSquash.html" title="class in org.apache.sysds.runtime.compress.lib">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -47,8 +47,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/lib/class-use/LibLeftMultBy.html" target="_top">Frames</a></li>
-<li><a href="LibLeftMultBy.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/lib/class-use/CLALibSquash.html" target="_top">Frames</a></li>
+<li><a href="CLALibSquash.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -70,9 +70,9 @@
 </a></div>
 <!-- ========= END OF TOP NAVBAR ========= -->
 <div class="header">
-<h2 title="Uses of Class org.apache.sysds.runtime.compress.lib.LibLeftMultBy" class="title">Uses of Class<br>org.apache.sysds.runtime.compress.lib.LibLeftMultBy</h2>
+<h2 title="Uses of Class org.apache.sysds.runtime.compress.lib.CLALibSquash" class="title">Uses of Class<br>org.apache.sysds.runtime.compress.lib.CLALibSquash</h2>
 </div>
-<div class="classUseContainer">No usage of org.apache.sysds.runtime.compress.lib.LibLeftMultBy</div>
+<div class="classUseContainer">No usage of org.apache.sysds.runtime.compress.lib.CLALibSquash</div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
 <!--   -->
@@ -84,7 +84,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/LibLeftMultBy.html" title="class in org.apache.sysds.runtime.compress.lib">Class</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/CLALibSquash.html" title="class in org.apache.sysds.runtime.compress.lib">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -98,8 +98,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/lib/class-use/LibLeftMultBy.html" target="_top">Frames</a></li>
-<li><a href="LibLeftMultBy.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/lib/class-use/CLALibSquash.html" target="_top">Frames</a></li>
+<li><a href="CLALibSquash.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/lib/package-frame.html b/docs/api/java/org/apache/sysds/runtime/compress/lib/package-frame.html
index 628ed1b..ca49791 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/lib/package-frame.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/lib/package-frame.html
@@ -13,10 +13,17 @@
 <div class="indexContainer">
 <h2 title="Classes">Classes</h2>
 <ul title="Classes">
-<li><a href="LibBinaryCellOp.html" title="class in org.apache.sysds.runtime.compress.lib" target="classFrame">LibBinaryCellOp</a></li>
-<li><a href="LibLeftMultBy.html" title="class in org.apache.sysds.runtime.compress.lib" target="classFrame">LibLeftMultBy</a></li>
-<li><a href="LibRightMultBy.html" title="class in org.apache.sysds.runtime.compress.lib" target="classFrame">LibRightMultBy</a></li>
-<li><a href="LibScalar.html" title="class in org.apache.sysds.runtime.compress.lib" target="classFrame">LibScalar</a></li>
+<li><a href="BitmapEncoder.html" title="class in org.apache.sysds.runtime.compress.lib" target="classFrame">BitmapEncoder</a></li>
+<li><a href="BitmapLossyEncoder.html" title="class in org.apache.sysds.runtime.compress.lib" target="classFrame">BitmapLossyEncoder</a></li>
+<li><a href="CLALibAppend.html" title="class in org.apache.sysds.runtime.compress.lib" target="classFrame">CLALibAppend</a></li>
+<li><a href="CLALibBinaryCellOp.html" title="class in org.apache.sysds.runtime.compress.lib" target="classFrame">CLALibBinaryCellOp</a></li>
+<li><a href="CLALibCompAgg.html" title="class in org.apache.sysds.runtime.compress.lib" target="classFrame">CLALibCompAgg</a></li>
+<li><a href="CLALibLeftMultBy.html" title="class in org.apache.sysds.runtime.compress.lib" target="classFrame">CLALibLeftMultBy</a></li>
+<li><a href="CLALibReExpand.html" title="class in org.apache.sysds.runtime.compress.lib" target="classFrame">CLALibReExpand</a></li>
+<li><a href="CLALibRelationalOp.html" title="class in org.apache.sysds.runtime.compress.lib" target="classFrame">CLALibRelationalOp</a></li>
+<li><a href="CLALibRightMultBy.html" title="class in org.apache.sysds.runtime.compress.lib" target="classFrame">CLALibRightMultBy</a></li>
+<li><a href="CLALibScalar.html" title="class in org.apache.sysds.runtime.compress.lib" target="classFrame">CLALibScalar</a></li>
+<li><a href="CLALibSquash.html" title="class in org.apache.sysds.runtime.compress.lib" target="classFrame">CLALibSquash</a></li>
 </ul>
 </div>
 </body>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/lib/package-summary.html b/docs/api/java/org/apache/sysds/runtime/compress/lib/package-summary.html
index 58a053a..6d6fe1e 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/lib/package-summary.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/lib/package-summary.html
@@ -44,7 +44,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../../org/apache/sysds/runtime/compress/estim/sample/package-summary.html">Prev&nbsp;Package</a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/utils/package-summary.html">Next&nbsp;Package</a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/readers/package-summary.html">Next&nbsp;Package</a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/lib/package-summary.html" target="_top">Frames</a></li>
@@ -83,19 +83,54 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/compress/lib/LibBinaryCellOp.html" title="class in org.apache.sysds.runtime.compress.lib">LibBinaryCellOp</a></td>
+<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/compress/lib/BitmapEncoder.html" title="class in org.apache.sysds.runtime.compress.lib">BitmapEncoder</a></td>
+<td class="colLast">
+<div class="block">Static functions for encoding bitmaps in various ways.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/compress/lib/BitmapLossyEncoder.html" title="class in org.apache.sysds.runtime.compress.lib">BitmapLossyEncoder</a></td>
+<td class="colLast">
+<div class="block">Static functions for encoding bitmaps in various ways.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/compress/lib/CLALibAppend.html" title="class in org.apache.sysds.runtime.compress.lib">CLALibAppend</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/compress/lib/LibLeftMultBy.html" title="class in org.apache.sysds.runtime.compress.lib">LibLeftMultBy</a></td>
+<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/compress/lib/CLALibBinaryCellOp.html" title="class in org.apache.sysds.runtime.compress.lib">CLALibBinaryCellOp</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/compress/lib/LibRightMultBy.html" title="class in org.apache.sysds.runtime.compress.lib">LibRightMultBy</a></td>
+<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/compress/lib/CLALibCompAgg.html" title="class in org.apache.sysds.runtime.compress.lib">CLALibCompAgg</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/compress/lib/LibScalar.html" title="class in org.apache.sysds.runtime.compress.lib">LibScalar</a></td>
+<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/compress/lib/CLALibLeftMultBy.html" title="class in org.apache.sysds.runtime.compress.lib">CLALibLeftMultBy</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/compress/lib/CLALibReExpand.html" title="class in org.apache.sysds.runtime.compress.lib">CLALibReExpand</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/compress/lib/CLALibRelationalOp.html" title="class in org.apache.sysds.runtime.compress.lib">CLALibRelationalOp</a></td>
+<td class="colLast">
+<div class="block">This class is used for relational operators that return binary values depending on individual cells values in the
+ compression.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/compress/lib/CLALibRightMultBy.html" title="class in org.apache.sysds.runtime.compress.lib">CLALibRightMultBy</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/compress/lib/CLALibScalar.html" title="class in org.apache.sysds.runtime.compress.lib">CLALibScalar</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/compress/lib/CLALibSquash.html" title="class in org.apache.sysds.runtime.compress.lib">CLALibSquash</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
 </tbody>
@@ -125,7 +160,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../../org/apache/sysds/runtime/compress/estim/sample/package-summary.html">Prev&nbsp;Package</a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/utils/package-summary.html">Next&nbsp;Package</a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/readers/package-summary.html">Next&nbsp;Package</a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/lib/package-summary.html" target="_top">Frames</a></li>
@@ -150,6 +185,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/lib/package-tree.html b/docs/api/java/org/apache/sysds/runtime/compress/lib/package-tree.html
index ed95b21..39dce87 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/lib/package-tree.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/lib/package-tree.html
@@ -44,7 +44,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../../org/apache/sysds/runtime/compress/estim/sample/package-tree.html">Prev</a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/utils/package-tree.html">Next</a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/readers/package-tree.html">Next</a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/lib/package-tree.html" target="_top">Frames</a></li>
@@ -81,10 +81,17 @@
 <ul>
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
 <ul>
-<li type="circle">org.apache.sysds.runtime.compress.lib.<a href="../../../../../../org/apache/sysds/runtime/compress/lib/LibBinaryCellOp.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">LibBinaryCellOp</span></a></li>
-<li type="circle">org.apache.sysds.runtime.compress.lib.<a href="../../../../../../org/apache/sysds/runtime/compress/lib/LibLeftMultBy.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">LibLeftMultBy</span></a></li>
-<li type="circle">org.apache.sysds.runtime.compress.lib.<a href="../../../../../../org/apache/sysds/runtime/compress/lib/LibRightMultBy.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">LibRightMultBy</span></a></li>
-<li type="circle">org.apache.sysds.runtime.compress.lib.<a href="../../../../../../org/apache/sysds/runtime/compress/lib/LibScalar.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">LibScalar</span></a></li>
+<li type="circle">org.apache.sysds.runtime.compress.lib.<a href="../../../../../../org/apache/sysds/runtime/compress/lib/BitmapEncoder.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">BitmapEncoder</span></a></li>
+<li type="circle">org.apache.sysds.runtime.compress.lib.<a href="../../../../../../org/apache/sysds/runtime/compress/lib/BitmapLossyEncoder.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">BitmapLossyEncoder</span></a></li>
+<li type="circle">org.apache.sysds.runtime.compress.lib.<a href="../../../../../../org/apache/sysds/runtime/compress/lib/CLALibAppend.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">CLALibAppend</span></a></li>
+<li type="circle">org.apache.sysds.runtime.compress.lib.<a href="../../../../../../org/apache/sysds/runtime/compress/lib/CLALibBinaryCellOp.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">CLALibBinaryCellOp</span></a></li>
+<li type="circle">org.apache.sysds.runtime.compress.lib.<a href="../../../../../../org/apache/sysds/runtime/compress/lib/CLALibCompAgg.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">CLALibCompAgg</span></a></li>
+<li type="circle">org.apache.sysds.runtime.compress.lib.<a href="../../../../../../org/apache/sysds/runtime/compress/lib/CLALibLeftMultBy.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">CLALibLeftMultBy</span></a></li>
+<li type="circle">org.apache.sysds.runtime.compress.lib.<a href="../../../../../../org/apache/sysds/runtime/compress/lib/CLALibReExpand.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">CLALibReExpand</span></a></li>
+<li type="circle">org.apache.sysds.runtime.compress.lib.<a href="../../../../../../org/apache/sysds/runtime/compress/lib/CLALibRelationalOp.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">CLALibRelationalOp</span></a></li>
+<li type="circle">org.apache.sysds.runtime.compress.lib.<a href="../../../../../../org/apache/sysds/runtime/compress/lib/CLALibRightMultBy.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">CLALibRightMultBy</span></a></li>
+<li type="circle">org.apache.sysds.runtime.compress.lib.<a href="../../../../../../org/apache/sysds/runtime/compress/lib/CLALibScalar.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">CLALibScalar</span></a></li>
+<li type="circle">org.apache.sysds.runtime.compress.lib.<a href="../../../../../../org/apache/sysds/runtime/compress/lib/CLALibSquash.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">CLALibSquash</span></a></li>
 </ul>
 </li>
 </ul>
@@ -111,7 +118,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../../org/apache/sysds/runtime/compress/estim/sample/package-tree.html">Prev</a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/utils/package-tree.html">Next</a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/readers/package-tree.html">Next</a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/lib/package-tree.html" target="_top">Frames</a></li>
@@ -136,6 +143,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/lib/package-use.html b/docs/api/java/org/apache/sysds/runtime/compress/lib/package-use.html
index 5998cf3..1eb674c 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/lib/package-use.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/lib/package-use.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/package-frame.html b/docs/api/java/org/apache/sysds/runtime/compress/package-frame.html
index da816b3..96422d8 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/package-frame.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/package-frame.html
@@ -13,17 +13,11 @@
 <div class="indexContainer">
 <h2 title="Classes">Classes</h2>
 <ul title="Classes">
-<li><a href="AbstractCompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress" target="classFrame">AbstractCompressedMatrixBlock</a></li>
-<li><a href="BitmapEncoder.html" title="class in org.apache.sysds.runtime.compress" target="classFrame">BitmapEncoder</a></li>
 <li><a href="CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress" target="classFrame">CompressedMatrixBlock</a></li>
 <li><a href="CompressedMatrixBlockFactory.html" title="class in org.apache.sysds.runtime.compress" target="classFrame">CompressedMatrixBlockFactory</a></li>
 <li><a href="CompressionSettings.html" title="class in org.apache.sysds.runtime.compress" target="classFrame">CompressionSettings</a></li>
 <li><a href="CompressionSettingsBuilder.html" title="class in org.apache.sysds.runtime.compress" target="classFrame">CompressionSettingsBuilder</a></li>
 <li><a href="CompressionStatistics.html" title="class in org.apache.sysds.runtime.compress" target="classFrame">CompressionStatistics</a></li>
-<li><a href="ReaderColumnSelection.html" title="class in org.apache.sysds.runtime.compress" target="classFrame">ReaderColumnSelection</a></li>
-<li><a href="ReaderColumnSelectionDense.html" title="class in org.apache.sysds.runtime.compress" target="classFrame">ReaderColumnSelectionDense</a></li>
-<li><a href="ReaderColumnSelectionDenseSample.html" title="class in org.apache.sysds.runtime.compress" target="classFrame">ReaderColumnSelectionDenseSample</a></li>
-<li><a href="ReaderColumnSelectionSparse.html" title="class in org.apache.sysds.runtime.compress" target="classFrame">ReaderColumnSelectionSparse</a></li>
 </ul>
 </div>
 </body>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/package-summary.html b/docs/api/java/org/apache/sysds/runtime/compress/package-summary.html
index 72fffa2..13e8b34 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/package-summary.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/package-summary.html
@@ -83,16 +83,6 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">AbstractCompressedMatrixBlock</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="../../../../../org/apache/sysds/runtime/compress/BitmapEncoder.html" title="class in org.apache.sysds.runtime.compress">BitmapEncoder</a></td>
-<td class="colLast">
-<div class="block">Static functions for encoding bitmaps in various ways.</div>
-</td>
-</tr>
-<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
@@ -118,30 +108,6 @@
 <td class="colFirst"><a href="../../../../../org/apache/sysds/runtime/compress/CompressionStatistics.html" title="class in org.apache.sysds.runtime.compress">CompressionStatistics</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelection.html" title="class in org.apache.sysds.runtime.compress">ReaderColumnSelection</a></td>
-<td class="colLast">
-<div class="block">Base class for all column selection readers.</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><a href="../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelectionDense.html" title="class in org.apache.sysds.runtime.compress">ReaderColumnSelectionDense</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelectionDenseSample.html" title="class in org.apache.sysds.runtime.compress">ReaderColumnSelectionDenseSample</a></td>
-<td class="colLast">
-<div class="block">considers only a subset of row indexes</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><a href="../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelectionSparse.html" title="class in org.apache.sysds.runtime.compress">ReaderColumnSelectionSparse</a></td>
-<td class="colLast">
-<div class="block">Used to extract the values at certain indexes from each row in a sparse matrix
- 
- Keeps returning all-zeros arrays until reaching the last possible index.</div>
-</td>
-</tr>
 </tbody>
 </table>
 </li>
@@ -194,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/package-tree.html b/docs/api/java/org/apache/sysds/runtime/compress/package-tree.html
index 13bd63c..1e5fca9 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/package-tree.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/package-tree.html
@@ -81,7 +81,6 @@
 <ul>
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
 <ul>
-<li type="circle">org.apache.sysds.runtime.compress.<a href="../../../../../org/apache/sysds/runtime/compress/BitmapEncoder.html" title="class in org.apache.sysds.runtime.compress"><span class="typeNameLink">BitmapEncoder</span></a></li>
 <li type="circle">org.apache.sysds.runtime.compress.<a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlockFactory.html" title="class in org.apache.sysds.runtime.compress"><span class="typeNameLink">CompressedMatrixBlockFactory</span></a></li>
 <li type="circle">org.apache.sysds.runtime.compress.<a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress"><span class="typeNameLink">CompressionSettings</span></a></li>
 <li type="circle">org.apache.sysds.runtime.compress.<a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html" title="class in org.apache.sysds.runtime.compress"><span class="typeNameLink">CompressionSettingsBuilder</span></a></li>
@@ -90,8 +89,6 @@
 <ul>
 <li type="circle">org.apache.sysds.runtime.matrix.data.<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data"><span class="typeNameLink">MatrixBlock</span></a> (implements org.apache.sysds.runtime.controlprogram.caching.<a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html" title="interface in org.apache.sysds.runtime.controlprogram.caching">CacheBlock</a>, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true" title="class or interface in java.io">Externalizable</a>)
 <ul>
-<li type="circle">org.apache.sysds.runtime.compress.<a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress"><span class="typeNameLink">AbstractCompressedMatrixBlock</span></a>
-<ul>
 <li type="circle">org.apache.sysds.runtime.compress.<a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress"><span class="typeNameLink">CompressedMatrixBlock</span></a></li>
 </ul>
 </li>
@@ -99,15 +96,6 @@
 </li>
 </ul>
 </li>
-<li type="circle">org.apache.sysds.runtime.compress.<a href="../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelection.html" title="class in org.apache.sysds.runtime.compress"><span class="typeNameLink">ReaderColumnSelection</span></a>
-<ul>
-<li type="circle">org.apache.sysds.runtime.compress.<a href="../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelectionDense.html" title="class in org.apache.sysds.runtime.compress"><span class="typeNameLink">ReaderColumnSelectionDense</span></a></li>
-<li type="circle">org.apache.sysds.runtime.compress.<a href="../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelectionDenseSample.html" title="class in org.apache.sysds.runtime.compress"><span class="typeNameLink">ReaderColumnSelectionDenseSample</span></a></li>
-<li type="circle">org.apache.sysds.runtime.compress.<a href="../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelectionSparse.html" title="class in org.apache.sysds.runtime.compress"><span class="typeNameLink">ReaderColumnSelectionSparse</span></a></li>
-</ul>
-</li>
-</ul>
-</li>
 </ul>
 </div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
@@ -157,6 +145,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/package-use.html b/docs/api/java/org/apache/sysds/runtime/compress/package-use.html
index d3b841f..341306c 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/package-use.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/package-use.html
@@ -102,6 +102,10 @@
 <td class="colFirst"><a href="#org.apache.sysds.runtime.compress.lib">org.apache.sysds.runtime.compress.lib</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.compress.readers">org.apache.sysds.runtime.compress.readers</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
 </tbody>
 </table>
 </li>
@@ -115,7 +119,7 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colOne"><a href="../../../../../org/apache/sysds/runtime/compress/class-use/AbstractCompressedMatrixBlock.html#org.apache.sysds.runtime.compress">AbstractCompressedMatrixBlock</a>&nbsp;</td>
+<td class="colOne"><a href="../../../../../org/apache/sysds/runtime/compress/class-use/CompressedMatrixBlock.html#org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colOne"><a href="../../../../../org/apache/sysds/runtime/compress/class-use/CompressionSettings.html#org.apache.sysds.runtime.compress">CompressionSettings</a>
@@ -130,11 +134,6 @@
 <tr class="rowColor">
 <td class="colOne"><a href="../../../../../org/apache/sysds/runtime/compress/class-use/CompressionStatistics.html#org.apache.sysds.runtime.compress">CompressionStatistics</a>&nbsp;</td>
 </tr>
-<tr class="altColor">
-<td class="colOne"><a href="../../../../../org/apache/sysds/runtime/compress/class-use/ReaderColumnSelection.html#org.apache.sysds.runtime.compress">ReaderColumnSelection</a>
-<div class="block">Base class for all column selection readers.</div>
-</td>
-</tr>
 </tbody>
 </table>
 </li>
@@ -201,6 +200,26 @@
 <tr class="altColor">
 <td class="colOne"><a href="../../../../../org/apache/sysds/runtime/compress/class-use/CompressedMatrixBlock.html#org.apache.sysds.runtime.compress.lib">CompressedMatrixBlock</a>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../org/apache/sysds/runtime/compress/class-use/CompressionSettings.html#org.apache.sysds.runtime.compress.lib">CompressionSettings</a>
+<div class="block">Compression Settings class, used as a bundle of parameters inside the Compression framework.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.sysds.runtime.compress.readers">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/sysds/runtime/compress/package-summary.html">org.apache.sysds.runtime.compress</a> used by <a href="../../../../../org/apache/sysds/runtime/compress/readers/package-summary.html">org.apache.sysds.runtime.compress.readers</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/sysds/runtime/compress/class-use/CompressedMatrixBlock.html#org.apache.sysds.runtime.compress.readers">CompressedMatrixBlock</a>&nbsp;</td>
+</tr>
 </tbody>
 </table>
 </li>
@@ -253,6 +272,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/readers/ReaderColumnSelection.html b/docs/api/java/org/apache/sysds/runtime/compress/readers/ReaderColumnSelection.html
new file mode 100644
index 0000000..5c96884
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/compress/readers/ReaderColumnSelection.html
@@ -0,0 +1,295 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>ReaderColumnSelection (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="ReaderColumnSelection (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":9,"i1":9,"i2":10,"i3":10};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ReaderColumnSelection.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev&nbsp;Class</li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionBitSet.html" title="class in org.apache.sysds.runtime.compress.readers"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/readers/ReaderColumnSelection.html" target="_top">Frames</a></li>
+<li><a href="ReaderColumnSelection.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.sysds.runtime.compress.readers</div>
+<h2 title="Class ReaderColumnSelection" class="title">Class ReaderColumnSelection</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.sysds.runtime.compress.readers.ReaderColumnSelection</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>Direct Known Subclasses:</dt>
+<dd><a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionBitSet.html" title="class in org.apache.sysds.runtime.compress.readers">ReaderColumnSelectionBitSet</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionDenseMultiBlock.html" title="class in org.apache.sysds.runtime.compress.readers">ReaderColumnSelectionDenseMultiBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionDenseMultiBlockTransposed.html" title="class in org.apache.sysds.runtime.compress.readers">ReaderColumnSelectionDenseMultiBlockTransposed</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionDenseSingleBlock.html" title="class in org.apache.sysds.runtime.compress.readers">ReaderColumnSelectionDenseSingleBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionDenseSingleBlockTransposed.html" title="class in org.apache.sysds.runtime.compress.readers">ReaderColumnSelectionDenseSingleBlockTransposed</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionSparse.html" title="class in org.apache.sysds.runtime.compress.readers">ReaderColumnSelectionSparse</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionSparseTransposed.html" title="class in org.apache.sysds.runtime.compress.readers">ReaderColumnSelectionSparseTransposed</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderCompressedSelection.html" title="class in org.apache.sysds.runtime.compress.readers">ReaderCompressedSelection</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public abstract class <span class="typeNameLabel">ReaderColumnSelection</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block">Base class for all column selection readers.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelection.html" title="class in org.apache.sysds.runtime.compress.readers">ReaderColumnSelection</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelection.html#createCompressedReader-org.apache.sysds.runtime.compress.CompressedMatrixBlock-int:A-">createCompressedReader</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;compBlock,
+                      int[]&nbsp;colIndices)</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelection.html" title="class in org.apache.sysds.runtime.compress.readers">ReaderColumnSelection</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelection.html#createReader-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-boolean-">createReader</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;rawBlock,
+            int[]&nbsp;colIndices,
+            boolean&nbsp;transposed)</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelection.html#getCurrentRowIndex--">getCurrentRowIndex</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/utils/DblArray.html" title="class in org.apache.sysds.runtime.compress.utils">DblArray</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelection.html#nextRow--">nextRow</a></span>()</code>
+<div class="block">Gets the next row, null when no more rows.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="nextRow--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>nextRow</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/utils/DblArray.html" title="class in org.apache.sysds.runtime.compress.utils">DblArray</a>&nbsp;nextRow()</pre>
+<div class="block">Gets the next row, null when no more rows.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>next row</dd>
+</dl>
+</li>
+</ul>
+<a name="getCurrentRowIndex--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getCurrentRowIndex</h4>
+<pre>public&nbsp;int&nbsp;getCurrentRowIndex()</pre>
+</li>
+</ul>
+<a name="createReader-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>createReader</h4>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelection.html" title="class in org.apache.sysds.runtime.compress.readers">ReaderColumnSelection</a>&nbsp;createReader(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;rawBlock,
+                                                 int[]&nbsp;colIndices,
+                                                 boolean&nbsp;transposed)</pre>
+</li>
+</ul>
+<a name="createCompressedReader-org.apache.sysds.runtime.compress.CompressedMatrixBlock-int:A-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>createCompressedReader</h4>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelection.html" title="class in org.apache.sysds.runtime.compress.readers">ReaderColumnSelection</a>&nbsp;createCompressedReader(<a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;compBlock,
+                                                           int[]&nbsp;colIndices)</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ReaderColumnSelection.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev&nbsp;Class</li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionBitSet.html" title="class in org.apache.sysds.runtime.compress.readers"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/readers/ReaderColumnSelection.html" target="_top">Frames</a></li>
+<li><a href="ReaderColumnSelection.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html b/docs/api/java/org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionBitSet.html
similarity index 61%
copy from docs/api/java/org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html
copy to docs/api/java/org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionBitSet.html
index e68b451..b0a27b0 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionBitSet.html
@@ -4,7 +4,7 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>PlanningCoCoder.GroupableColInfo (SystemDS 2.1.0-SNAPSHOT API)</title>
+<title>ReaderColumnSelectionBitSet (SystemDS 2.1.0-SNAPSHOT API)</title>
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="PlanningCoCoder.GroupableColInfo (SystemDS 2.1.0-SNAPSHOT API)";
+            parent.document.title="ReaderColumnSelectionBitSet (SystemDS 2.1.0-SNAPSHOT API)";
         }
     }
     catch(err) {
@@ -34,7 +34,7 @@
 <li><a href="../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="package-summary.html">Package</a></li>
 <li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/PlanningCoCoder.GroupableColInfo.html">Use</a></li>
+<li><a href="class-use/ReaderColumnSelectionBitSet.html">Use</a></li>
 <li><a href="package-tree.html">Tree</a></li>
 <li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
 <li><a href="../../../../../../index-all.html">Index</a></li>
@@ -43,12 +43,12 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.html" title="class in org.apache.sysds.runtime.compress.cocode"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.PartitionerType.html" title="enum in org.apache.sysds.runtime.compress.cocode"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelection.html" title="class in org.apache.sysds.runtime.compress.readers"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionDenseMultiBlock.html" title="class in org.apache.sysds.runtime.compress.readers"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html" target="_top">Frames</a></li>
-<li><a href="PlanningCoCoder.GroupableColInfo.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionBitSet.html" target="_top">Frames</a></li>
+<li><a href="ReaderColumnSelectionBitSet.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
 <li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -69,13 +69,13 @@
 <ul class="subNavList">
 <li>Summary:&nbsp;</li>
 <li>Nested&nbsp;|&nbsp;</li>
-<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
 <li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#methods.inherited.from.class.java.lang.Object">Method</a></li>
+<li><a href="#methods.inherited.from.class.org.apache.sysds.runtime.compress.readers.ReaderColumnSelection">Method</a></li>
 </ul>
 <ul class="subNavList">
 <li>Detail:&nbsp;</li>
-<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
 <li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
 <li>Method</li>
 </ul>
@@ -86,62 +86,36 @@
 <!-- ========= END OF TOP NAVBAR ========= -->
 <!-- ======== START OF CLASS DATA ======== -->
 <div class="header">
-<div class="subTitle">org.apache.sysds.runtime.compress.cocode</div>
-<h2 title="Class PlanningCoCoder.GroupableColInfo" class="title">Class PlanningCoCoder.GroupableColInfo</h2>
+<div class="subTitle">org.apache.sysds.runtime.compress.readers</div>
+<h2 title="Class ReaderColumnSelectionBitSet" class="title">Class ReaderColumnSelectionBitSet</h2>
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
 <li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
-<li>org.apache.sysds.runtime.compress.cocode.PlanningCoCoder.GroupableColInfo</li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelection.html" title="class in org.apache.sysds.runtime.compress.readers">org.apache.sysds.runtime.compress.readers.ReaderColumnSelection</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.sysds.runtime.compress.readers.ReaderColumnSelectionBitSet</li>
+</ul>
+</li>
 </ul>
 </li>
 </ul>
 <div class="description">
 <ul class="blockList">
 <li class="blockList">
-<dl>
-<dt>Enclosing class:</dt>
-<dd><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCoder</a></dd>
-</dl>
 <hr>
 <br>
-<pre>public static class <span class="typeNameLabel">PlanningCoCoder.GroupableColInfo</span>
-extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<pre>public class <span class="typeNameLabel">ReaderColumnSelectionBitSet</span>
+extends <a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelection.html" title="class in org.apache.sysds.runtime.compress.readers">ReaderColumnSelection</a></pre>
 </li>
 </ul>
 </div>
 <div class="summary">
 <ul class="blockList">
 <li class="blockList">
-<!-- =========== FIELD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="field.summary">
-<!--   -->
-</a>
-<h3>Field Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
-<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Field and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>double</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html#cardRatio">cardRatio</a></span></code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>int</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html#nrDistinct">nrDistinct</a></span></code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>long</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html#size">size</a></span></code>&nbsp;</td>
-</tr>
-</table>
-</li>
-</ul>
 <!-- ======== CONSTRUCTOR SUMMARY ======== -->
 <ul class="blockList">
 <li class="blockList"><a name="constructor.summary">
@@ -154,9 +128,9 @@
 <th class="colOne" scope="col">Constructor and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html#GroupableColInfo-double-long-int-">GroupableColInfo</a></span>(double&nbsp;lcardRatio,
-                long&nbsp;lsize,
-                int&nbsp;cardinality)</code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionBitSet.html#ReaderColumnSelectionBitSet-java.util.BitSet-int-int:A-">ReaderColumnSelectionBitSet</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/BitSet.html?is-external=true" title="class or interface in java.util">BitSet</a>&nbsp;data,
+                           int&nbsp;rows,
+                           int[]&nbsp;colIndices)</code>&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -168,6 +142,13 @@
 </a>
 <h3>Method Summary</h3>
 <ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.compress.readers.ReaderColumnSelection">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.compress.readers.<a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelection.html" title="class in org.apache.sysds.runtime.compress.readers">ReaderColumnSelection</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelection.html#createCompressedReader-org.apache.sysds.runtime.compress.CompressedMatrixBlock-int:A-">createCompressedReader</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelection.html#createReader-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-boolean-">createReader</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelection.html#getCurrentRowIndex--">getCurrentRowIndex</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelection.html#nextRow--">nextRow</a></code></li>
+</ul>
+<ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
@@ -182,56 +163,21 @@
 <div class="details">
 <ul class="blockList">
 <li class="blockList">
-<!-- ============ FIELD DETAIL =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="field.detail">
-<!--   -->
-</a>
-<h3>Field Detail</h3>
-<a name="cardRatio">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>cardRatio</h4>
-<pre>public final&nbsp;double cardRatio</pre>
-</li>
-</ul>
-<a name="size">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>size</h4>
-<pre>public final&nbsp;long size</pre>
-</li>
-</ul>
-<a name="nrDistinct">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>nrDistinct</h4>
-<pre>public final&nbsp;int nrDistinct</pre>
-</li>
-</ul>
-</li>
-</ul>
 <!-- ========= CONSTRUCTOR DETAIL ======== -->
 <ul class="blockList">
 <li class="blockList"><a name="constructor.detail">
 <!--   -->
 </a>
 <h3>Constructor Detail</h3>
-<a name="GroupableColInfo-double-long-int-">
+<a name="ReaderColumnSelectionBitSet-java.util.BitSet-int-int:A-">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>GroupableColInfo</h4>
-<pre>public&nbsp;GroupableColInfo(double&nbsp;lcardRatio,
-                        long&nbsp;lsize,
-                        int&nbsp;cardinality)</pre>
+<h4>ReaderColumnSelectionBitSet</h4>
+<pre>public&nbsp;ReaderColumnSelectionBitSet(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/BitSet.html?is-external=true" title="class or interface in java.util">BitSet</a>&nbsp;data,
+                                   int&nbsp;rows,
+                                   int[]&nbsp;colIndices)</pre>
 </li>
 </ul>
 </li>
@@ -253,7 +199,7 @@
 <li><a href="../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="package-summary.html">Package</a></li>
 <li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/PlanningCoCoder.GroupableColInfo.html">Use</a></li>
+<li><a href="class-use/ReaderColumnSelectionBitSet.html">Use</a></li>
 <li><a href="package-tree.html">Tree</a></li>
 <li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
 <li><a href="../../../../../../index-all.html">Index</a></li>
@@ -262,12 +208,12 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.html" title="class in org.apache.sysds.runtime.compress.cocode"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.PartitionerType.html" title="enum in org.apache.sysds.runtime.compress.cocode"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelection.html" title="class in org.apache.sysds.runtime.compress.readers"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionDenseMultiBlock.html" title="class in org.apache.sysds.runtime.compress.readers"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html" target="_top">Frames</a></li>
-<li><a href="PlanningCoCoder.GroupableColInfo.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionBitSet.html" target="_top">Frames</a></li>
+<li><a href="ReaderColumnSelectionBitSet.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
 <li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -288,13 +234,13 @@
 <ul class="subNavList">
 <li>Summary:&nbsp;</li>
 <li>Nested&nbsp;|&nbsp;</li>
-<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
 <li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#methods.inherited.from.class.java.lang.Object">Method</a></li>
+<li><a href="#methods.inherited.from.class.org.apache.sysds.runtime.compress.readers.ReaderColumnSelection">Method</a></li>
 </ul>
 <ul class="subNavList">
 <li>Detail:&nbsp;</li>
-<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
 <li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
 <li>Method</li>
 </ul>
@@ -303,6 +249,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html b/docs/api/java/org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionDenseMultiBlock.html
similarity index 61%
copy from docs/api/java/org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html
copy to docs/api/java/org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionDenseMultiBlock.html
index e68b451..2fc6936 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionDenseMultiBlock.html
@@ -4,7 +4,7 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>PlanningCoCoder.GroupableColInfo (SystemDS 2.1.0-SNAPSHOT API)</title>
+<title>ReaderColumnSelectionDenseMultiBlock (SystemDS 2.1.0-SNAPSHOT API)</title>
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="PlanningCoCoder.GroupableColInfo (SystemDS 2.1.0-SNAPSHOT API)";
+            parent.document.title="ReaderColumnSelectionDenseMultiBlock (SystemDS 2.1.0-SNAPSHOT API)";
         }
     }
     catch(err) {
@@ -34,7 +34,7 @@
 <li><a href="../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="package-summary.html">Package</a></li>
 <li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/PlanningCoCoder.GroupableColInfo.html">Use</a></li>
+<li><a href="class-use/ReaderColumnSelectionDenseMultiBlock.html">Use</a></li>
 <li><a href="package-tree.html">Tree</a></li>
 <li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
 <li><a href="../../../../../../index-all.html">Index</a></li>
@@ -43,12 +43,12 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.html" title="class in org.apache.sysds.runtime.compress.cocode"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.PartitionerType.html" title="enum in org.apache.sysds.runtime.compress.cocode"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionBitSet.html" title="class in org.apache.sysds.runtime.compress.readers"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionDenseMultiBlockTransposed.html" title="class in org.apache.sysds.runtime.compress.readers"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html" target="_top">Frames</a></li>
-<li><a href="PlanningCoCoder.GroupableColInfo.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionDenseMultiBlock.html" target="_top">Frames</a></li>
+<li><a href="ReaderColumnSelectionDenseMultiBlock.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
 <li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -69,13 +69,13 @@
 <ul class="subNavList">
 <li>Summary:&nbsp;</li>
 <li>Nested&nbsp;|&nbsp;</li>
-<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
 <li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#methods.inherited.from.class.java.lang.Object">Method</a></li>
+<li><a href="#methods.inherited.from.class.org.apache.sysds.runtime.compress.readers.ReaderColumnSelection">Method</a></li>
 </ul>
 <ul class="subNavList">
 <li>Detail:&nbsp;</li>
-<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
 <li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
 <li>Method</li>
 </ul>
@@ -86,62 +86,36 @@
 <!-- ========= END OF TOP NAVBAR ========= -->
 <!-- ======== START OF CLASS DATA ======== -->
 <div class="header">
-<div class="subTitle">org.apache.sysds.runtime.compress.cocode</div>
-<h2 title="Class PlanningCoCoder.GroupableColInfo" class="title">Class PlanningCoCoder.GroupableColInfo</h2>
+<div class="subTitle">org.apache.sysds.runtime.compress.readers</div>
+<h2 title="Class ReaderColumnSelectionDenseMultiBlock" class="title">Class ReaderColumnSelectionDenseMultiBlock</h2>
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
 <li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
-<li>org.apache.sysds.runtime.compress.cocode.PlanningCoCoder.GroupableColInfo</li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelection.html" title="class in org.apache.sysds.runtime.compress.readers">org.apache.sysds.runtime.compress.readers.ReaderColumnSelection</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.sysds.runtime.compress.readers.ReaderColumnSelectionDenseMultiBlock</li>
+</ul>
+</li>
 </ul>
 </li>
 </ul>
 <div class="description">
 <ul class="blockList">
 <li class="blockList">
-<dl>
-<dt>Enclosing class:</dt>
-<dd><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCoder</a></dd>
-</dl>
 <hr>
 <br>
-<pre>public static class <span class="typeNameLabel">PlanningCoCoder.GroupableColInfo</span>
-extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<pre>public class <span class="typeNameLabel">ReaderColumnSelectionDenseMultiBlock</span>
+extends <a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelection.html" title="class in org.apache.sysds.runtime.compress.readers">ReaderColumnSelection</a></pre>
 </li>
 </ul>
 </div>
 <div class="summary">
 <ul class="blockList">
 <li class="blockList">
-<!-- =========== FIELD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="field.summary">
-<!--   -->
-</a>
-<h3>Field Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
-<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Field and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>double</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html#cardRatio">cardRatio</a></span></code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>int</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html#nrDistinct">nrDistinct</a></span></code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>long</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html#size">size</a></span></code>&nbsp;</td>
-</tr>
-</table>
-</li>
-</ul>
 <!-- ======== CONSTRUCTOR SUMMARY ======== -->
 <ul class="blockList">
 <li class="blockList"><a name="constructor.summary">
@@ -154,9 +128,8 @@
 <th class="colOne" scope="col">Constructor and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html#GroupableColInfo-double-long-int-">GroupableColInfo</a></span>(double&nbsp;lcardRatio,
-                long&nbsp;lsize,
-                int&nbsp;cardinality)</code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionDenseMultiBlock.html#ReaderColumnSelectionDenseMultiBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">ReaderColumnSelectionDenseMultiBlock</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;data,
+                                    int[]&nbsp;colIndices)</code>&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -168,6 +141,13 @@
 </a>
 <h3>Method Summary</h3>
 <ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.compress.readers.ReaderColumnSelection">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.compress.readers.<a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelection.html" title="class in org.apache.sysds.runtime.compress.readers">ReaderColumnSelection</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelection.html#createCompressedReader-org.apache.sysds.runtime.compress.CompressedMatrixBlock-int:A-">createCompressedReader</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelection.html#createReader-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-boolean-">createReader</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelection.html#getCurrentRowIndex--">getCurrentRowIndex</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelection.html#nextRow--">nextRow</a></code></li>
+</ul>
+<ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
@@ -182,56 +162,20 @@
 <div class="details">
 <ul class="blockList">
 <li class="blockList">
-<!-- ============ FIELD DETAIL =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="field.detail">
-<!--   -->
-</a>
-<h3>Field Detail</h3>
-<a name="cardRatio">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>cardRatio</h4>
-<pre>public final&nbsp;double cardRatio</pre>
-</li>
-</ul>
-<a name="size">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>size</h4>
-<pre>public final&nbsp;long size</pre>
-</li>
-</ul>
-<a name="nrDistinct">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>nrDistinct</h4>
-<pre>public final&nbsp;int nrDistinct</pre>
-</li>
-</ul>
-</li>
-</ul>
 <!-- ========= CONSTRUCTOR DETAIL ======== -->
 <ul class="blockList">
 <li class="blockList"><a name="constructor.detail">
 <!--   -->
 </a>
 <h3>Constructor Detail</h3>
-<a name="GroupableColInfo-double-long-int-">
+<a name="ReaderColumnSelectionDenseMultiBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>GroupableColInfo</h4>
-<pre>public&nbsp;GroupableColInfo(double&nbsp;lcardRatio,
-                        long&nbsp;lsize,
-                        int&nbsp;cardinality)</pre>
+<h4>ReaderColumnSelectionDenseMultiBlock</h4>
+<pre>public&nbsp;ReaderColumnSelectionDenseMultiBlock(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;data,
+                                            int[]&nbsp;colIndices)</pre>
 </li>
 </ul>
 </li>
@@ -253,7 +197,7 @@
 <li><a href="../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="package-summary.html">Package</a></li>
 <li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/PlanningCoCoder.GroupableColInfo.html">Use</a></li>
+<li><a href="class-use/ReaderColumnSelectionDenseMultiBlock.html">Use</a></li>
 <li><a href="package-tree.html">Tree</a></li>
 <li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
 <li><a href="../../../../../../index-all.html">Index</a></li>
@@ -262,12 +206,12 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.html" title="class in org.apache.sysds.runtime.compress.cocode"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.PartitionerType.html" title="enum in org.apache.sysds.runtime.compress.cocode"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionBitSet.html" title="class in org.apache.sysds.runtime.compress.readers"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionDenseMultiBlockTransposed.html" title="class in org.apache.sysds.runtime.compress.readers"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html" target="_top">Frames</a></li>
-<li><a href="PlanningCoCoder.GroupableColInfo.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionDenseMultiBlock.html" target="_top">Frames</a></li>
+<li><a href="ReaderColumnSelectionDenseMultiBlock.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
 <li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -288,13 +232,13 @@
 <ul class="subNavList">
 <li>Summary:&nbsp;</li>
 <li>Nested&nbsp;|&nbsp;</li>
-<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
 <li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#methods.inherited.from.class.java.lang.Object">Method</a></li>
+<li><a href="#methods.inherited.from.class.org.apache.sysds.runtime.compress.readers.ReaderColumnSelection">Method</a></li>
 </ul>
 <ul class="subNavList">
 <li>Detail:&nbsp;</li>
-<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
 <li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
 <li>Method</li>
 </ul>
@@ -303,6 +247,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html b/docs/api/java/org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionDenseMultiBlockTransposed.html
similarity index 61%
copy from docs/api/java/org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html
copy to docs/api/java/org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionDenseMultiBlockTransposed.html
index e68b451..6293dde 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionDenseMultiBlockTransposed.html
@@ -4,7 +4,7 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>PlanningCoCoder.GroupableColInfo (SystemDS 2.1.0-SNAPSHOT API)</title>
+<title>ReaderColumnSelectionDenseMultiBlockTransposed (SystemDS 2.1.0-SNAPSHOT API)</title>
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="PlanningCoCoder.GroupableColInfo (SystemDS 2.1.0-SNAPSHOT API)";
+            parent.document.title="ReaderColumnSelectionDenseMultiBlockTransposed (SystemDS 2.1.0-SNAPSHOT API)";
         }
     }
     catch(err) {
@@ -34,7 +34,7 @@
 <li><a href="../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="package-summary.html">Package</a></li>
 <li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/PlanningCoCoder.GroupableColInfo.html">Use</a></li>
+<li><a href="class-use/ReaderColumnSelectionDenseMultiBlockTransposed.html">Use</a></li>
 <li><a href="package-tree.html">Tree</a></li>
 <li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
 <li><a href="../../../../../../index-all.html">Index</a></li>
@@ -43,12 +43,12 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.html" title="class in org.apache.sysds.runtime.compress.cocode"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.PartitionerType.html" title="enum in org.apache.sysds.runtime.compress.cocode"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionDenseMultiBlock.html" title="class in org.apache.sysds.runtime.compress.readers"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionDenseSingleBlock.html" title="class in org.apache.sysds.runtime.compress.readers"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html" target="_top">Frames</a></li>
-<li><a href="PlanningCoCoder.GroupableColInfo.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionDenseMultiBlockTransposed.html" target="_top">Frames</a></li>
+<li><a href="ReaderColumnSelectionDenseMultiBlockTransposed.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
 <li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -69,13 +69,13 @@
 <ul class="subNavList">
 <li>Summary:&nbsp;</li>
 <li>Nested&nbsp;|&nbsp;</li>
-<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
 <li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#methods.inherited.from.class.java.lang.Object">Method</a></li>
+<li><a href="#methods.inherited.from.class.org.apache.sysds.runtime.compress.readers.ReaderColumnSelection">Method</a></li>
 </ul>
 <ul class="subNavList">
 <li>Detail:&nbsp;</li>
-<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
 <li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
 <li>Method</li>
 </ul>
@@ -86,62 +86,36 @@
 <!-- ========= END OF TOP NAVBAR ========= -->
 <!-- ======== START OF CLASS DATA ======== -->
 <div class="header">
-<div class="subTitle">org.apache.sysds.runtime.compress.cocode</div>
-<h2 title="Class PlanningCoCoder.GroupableColInfo" class="title">Class PlanningCoCoder.GroupableColInfo</h2>
+<div class="subTitle">org.apache.sysds.runtime.compress.readers</div>
+<h2 title="Class ReaderColumnSelectionDenseMultiBlockTransposed" class="title">Class ReaderColumnSelectionDenseMultiBlockTransposed</h2>
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
 <li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
-<li>org.apache.sysds.runtime.compress.cocode.PlanningCoCoder.GroupableColInfo</li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelection.html" title="class in org.apache.sysds.runtime.compress.readers">org.apache.sysds.runtime.compress.readers.ReaderColumnSelection</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.sysds.runtime.compress.readers.ReaderColumnSelectionDenseMultiBlockTransposed</li>
+</ul>
+</li>
 </ul>
 </li>
 </ul>
 <div class="description">
 <ul class="blockList">
 <li class="blockList">
-<dl>
-<dt>Enclosing class:</dt>
-<dd><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCoder</a></dd>
-</dl>
 <hr>
 <br>
-<pre>public static class <span class="typeNameLabel">PlanningCoCoder.GroupableColInfo</span>
-extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<pre>public class <span class="typeNameLabel">ReaderColumnSelectionDenseMultiBlockTransposed</span>
+extends <a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelection.html" title="class in org.apache.sysds.runtime.compress.readers">ReaderColumnSelection</a></pre>
 </li>
 </ul>
 </div>
 <div class="summary">
 <ul class="blockList">
 <li class="blockList">
-<!-- =========== FIELD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="field.summary">
-<!--   -->
-</a>
-<h3>Field Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
-<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Field and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>double</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html#cardRatio">cardRatio</a></span></code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>int</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html#nrDistinct">nrDistinct</a></span></code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>long</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html#size">size</a></span></code>&nbsp;</td>
-</tr>
-</table>
-</li>
-</ul>
 <!-- ======== CONSTRUCTOR SUMMARY ======== -->
 <ul class="blockList">
 <li class="blockList"><a name="constructor.summary">
@@ -154,9 +128,8 @@
 <th class="colOne" scope="col">Constructor and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html#GroupableColInfo-double-long-int-">GroupableColInfo</a></span>(double&nbsp;lcardRatio,
-                long&nbsp;lsize,
-                int&nbsp;cardinality)</code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionDenseMultiBlockTransposed.html#ReaderColumnSelectionDenseMultiBlockTransposed-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">ReaderColumnSelectionDenseMultiBlockTransposed</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;data,
+                                              int[]&nbsp;colIndices)</code>&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -168,6 +141,13 @@
 </a>
 <h3>Method Summary</h3>
 <ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.compress.readers.ReaderColumnSelection">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.compress.readers.<a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelection.html" title="class in org.apache.sysds.runtime.compress.readers">ReaderColumnSelection</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelection.html#createCompressedReader-org.apache.sysds.runtime.compress.CompressedMatrixBlock-int:A-">createCompressedReader</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelection.html#createReader-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-boolean-">createReader</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelection.html#getCurrentRowIndex--">getCurrentRowIndex</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelection.html#nextRow--">nextRow</a></code></li>
+</ul>
+<ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
@@ -182,56 +162,20 @@
 <div class="details">
 <ul class="blockList">
 <li class="blockList">
-<!-- ============ FIELD DETAIL =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="field.detail">
-<!--   -->
-</a>
-<h3>Field Detail</h3>
-<a name="cardRatio">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>cardRatio</h4>
-<pre>public final&nbsp;double cardRatio</pre>
-</li>
-</ul>
-<a name="size">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>size</h4>
-<pre>public final&nbsp;long size</pre>
-</li>
-</ul>
-<a name="nrDistinct">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>nrDistinct</h4>
-<pre>public final&nbsp;int nrDistinct</pre>
-</li>
-</ul>
-</li>
-</ul>
 <!-- ========= CONSTRUCTOR DETAIL ======== -->
 <ul class="blockList">
 <li class="blockList"><a name="constructor.detail">
 <!--   -->
 </a>
 <h3>Constructor Detail</h3>
-<a name="GroupableColInfo-double-long-int-">
+<a name="ReaderColumnSelectionDenseMultiBlockTransposed-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>GroupableColInfo</h4>
-<pre>public&nbsp;GroupableColInfo(double&nbsp;lcardRatio,
-                        long&nbsp;lsize,
-                        int&nbsp;cardinality)</pre>
+<h4>ReaderColumnSelectionDenseMultiBlockTransposed</h4>
+<pre>public&nbsp;ReaderColumnSelectionDenseMultiBlockTransposed(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;data,
+                                                      int[]&nbsp;colIndices)</pre>
 </li>
 </ul>
 </li>
@@ -253,7 +197,7 @@
 <li><a href="../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="package-summary.html">Package</a></li>
 <li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/PlanningCoCoder.GroupableColInfo.html">Use</a></li>
+<li><a href="class-use/ReaderColumnSelectionDenseMultiBlockTransposed.html">Use</a></li>
 <li><a href="package-tree.html">Tree</a></li>
 <li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
 <li><a href="../../../../../../index-all.html">Index</a></li>
@@ -262,12 +206,12 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.html" title="class in org.apache.sysds.runtime.compress.cocode"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.PartitionerType.html" title="enum in org.apache.sysds.runtime.compress.cocode"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionDenseMultiBlock.html" title="class in org.apache.sysds.runtime.compress.readers"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionDenseSingleBlock.html" title="class in org.apache.sysds.runtime.compress.readers"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html" target="_top">Frames</a></li>
-<li><a href="PlanningCoCoder.GroupableColInfo.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionDenseMultiBlockTransposed.html" target="_top">Frames</a></li>
+<li><a href="ReaderColumnSelectionDenseMultiBlockTransposed.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
 <li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -288,13 +232,13 @@
 <ul class="subNavList">
 <li>Summary:&nbsp;</li>
 <li>Nested&nbsp;|&nbsp;</li>
-<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
 <li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#methods.inherited.from.class.java.lang.Object">Method</a></li>
+<li><a href="#methods.inherited.from.class.org.apache.sysds.runtime.compress.readers.ReaderColumnSelection">Method</a></li>
 </ul>
 <ul class="subNavList">
 <li>Detail:&nbsp;</li>
-<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
 <li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
 <li>Method</li>
 </ul>
@@ -303,6 +247,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html b/docs/api/java/org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionDenseSingleBlock.html
similarity index 61%
copy from docs/api/java/org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html
copy to docs/api/java/org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionDenseSingleBlock.html
index e68b451..d5bd745 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionDenseSingleBlock.html
@@ -4,7 +4,7 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>PlanningCoCoder.GroupableColInfo (SystemDS 2.1.0-SNAPSHOT API)</title>
+<title>ReaderColumnSelectionDenseSingleBlock (SystemDS 2.1.0-SNAPSHOT API)</title>
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="PlanningCoCoder.GroupableColInfo (SystemDS 2.1.0-SNAPSHOT API)";
+            parent.document.title="ReaderColumnSelectionDenseSingleBlock (SystemDS 2.1.0-SNAPSHOT API)";
         }
     }
     catch(err) {
@@ -34,7 +34,7 @@
 <li><a href="../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="package-summary.html">Package</a></li>
 <li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/PlanningCoCoder.GroupableColInfo.html">Use</a></li>
+<li><a href="class-use/ReaderColumnSelectionDenseSingleBlock.html">Use</a></li>
 <li><a href="package-tree.html">Tree</a></li>
 <li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
 <li><a href="../../../../../../index-all.html">Index</a></li>
@@ -43,12 +43,12 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.html" title="class in org.apache.sysds.runtime.compress.cocode"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.PartitionerType.html" title="enum in org.apache.sysds.runtime.compress.cocode"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionDenseMultiBlockTransposed.html" title="class in org.apache.sysds.runtime.compress.readers"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionDenseSingleBlockTransposed.html" title="class in org.apache.sysds.runtime.compress.readers"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html" target="_top">Frames</a></li>
-<li><a href="PlanningCoCoder.GroupableColInfo.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionDenseSingleBlock.html" target="_top">Frames</a></li>
+<li><a href="ReaderColumnSelectionDenseSingleBlock.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
 <li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -69,13 +69,13 @@
 <ul class="subNavList">
 <li>Summary:&nbsp;</li>
 <li>Nested&nbsp;|&nbsp;</li>
-<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
 <li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#methods.inherited.from.class.java.lang.Object">Method</a></li>
+<li><a href="#methods.inherited.from.class.org.apache.sysds.runtime.compress.readers.ReaderColumnSelection">Method</a></li>
 </ul>
 <ul class="subNavList">
 <li>Detail:&nbsp;</li>
-<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
 <li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
 <li>Method</li>
 </ul>
@@ -86,62 +86,36 @@
 <!-- ========= END OF TOP NAVBAR ========= -->
 <!-- ======== START OF CLASS DATA ======== -->
 <div class="header">
-<div class="subTitle">org.apache.sysds.runtime.compress.cocode</div>
-<h2 title="Class PlanningCoCoder.GroupableColInfo" class="title">Class PlanningCoCoder.GroupableColInfo</h2>
+<div class="subTitle">org.apache.sysds.runtime.compress.readers</div>
+<h2 title="Class ReaderColumnSelectionDenseSingleBlock" class="title">Class ReaderColumnSelectionDenseSingleBlock</h2>
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
 <li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
-<li>org.apache.sysds.runtime.compress.cocode.PlanningCoCoder.GroupableColInfo</li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelection.html" title="class in org.apache.sysds.runtime.compress.readers">org.apache.sysds.runtime.compress.readers.ReaderColumnSelection</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.sysds.runtime.compress.readers.ReaderColumnSelectionDenseSingleBlock</li>
+</ul>
+</li>
 </ul>
 </li>
 </ul>
 <div class="description">
 <ul class="blockList">
 <li class="blockList">
-<dl>
-<dt>Enclosing class:</dt>
-<dd><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCoder</a></dd>
-</dl>
 <hr>
 <br>
-<pre>public static class <span class="typeNameLabel">PlanningCoCoder.GroupableColInfo</span>
-extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<pre>public class <span class="typeNameLabel">ReaderColumnSelectionDenseSingleBlock</span>
+extends <a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelection.html" title="class in org.apache.sysds.runtime.compress.readers">ReaderColumnSelection</a></pre>
 </li>
 </ul>
 </div>
 <div class="summary">
 <ul class="blockList">
 <li class="blockList">
-<!-- =========== FIELD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="field.summary">
-<!--   -->
-</a>
-<h3>Field Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
-<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Field and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>double</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html#cardRatio">cardRatio</a></span></code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>int</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html#nrDistinct">nrDistinct</a></span></code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>long</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html#size">size</a></span></code>&nbsp;</td>
-</tr>
-</table>
-</li>
-</ul>
 <!-- ======== CONSTRUCTOR SUMMARY ======== -->
 <ul class="blockList">
 <li class="blockList"><a name="constructor.summary">
@@ -154,9 +128,8 @@
 <th class="colOne" scope="col">Constructor and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html#GroupableColInfo-double-long-int-">GroupableColInfo</a></span>(double&nbsp;lcardRatio,
-                long&nbsp;lsize,
-                int&nbsp;cardinality)</code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionDenseSingleBlock.html#ReaderColumnSelectionDenseSingleBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">ReaderColumnSelectionDenseSingleBlock</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;data,
+                                     int[]&nbsp;colIndices)</code>&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -168,6 +141,13 @@
 </a>
 <h3>Method Summary</h3>
 <ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.compress.readers.ReaderColumnSelection">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.compress.readers.<a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelection.html" title="class in org.apache.sysds.runtime.compress.readers">ReaderColumnSelection</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelection.html#createCompressedReader-org.apache.sysds.runtime.compress.CompressedMatrixBlock-int:A-">createCompressedReader</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelection.html#createReader-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-boolean-">createReader</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelection.html#getCurrentRowIndex--">getCurrentRowIndex</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelection.html#nextRow--">nextRow</a></code></li>
+</ul>
+<ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
@@ -182,56 +162,20 @@
 <div class="details">
 <ul class="blockList">
 <li class="blockList">
-<!-- ============ FIELD DETAIL =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="field.detail">
-<!--   -->
-</a>
-<h3>Field Detail</h3>
-<a name="cardRatio">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>cardRatio</h4>
-<pre>public final&nbsp;double cardRatio</pre>
-</li>
-</ul>
-<a name="size">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>size</h4>
-<pre>public final&nbsp;long size</pre>
-</li>
-</ul>
-<a name="nrDistinct">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>nrDistinct</h4>
-<pre>public final&nbsp;int nrDistinct</pre>
-</li>
-</ul>
-</li>
-</ul>
 <!-- ========= CONSTRUCTOR DETAIL ======== -->
 <ul class="blockList">
 <li class="blockList"><a name="constructor.detail">
 <!--   -->
 </a>
 <h3>Constructor Detail</h3>
-<a name="GroupableColInfo-double-long-int-">
+<a name="ReaderColumnSelectionDenseSingleBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>GroupableColInfo</h4>
-<pre>public&nbsp;GroupableColInfo(double&nbsp;lcardRatio,
-                        long&nbsp;lsize,
-                        int&nbsp;cardinality)</pre>
+<h4>ReaderColumnSelectionDenseSingleBlock</h4>
+<pre>public&nbsp;ReaderColumnSelectionDenseSingleBlock(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;data,
+                                             int[]&nbsp;colIndices)</pre>
 </li>
 </ul>
 </li>
@@ -253,7 +197,7 @@
 <li><a href="../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="package-summary.html">Package</a></li>
 <li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/PlanningCoCoder.GroupableColInfo.html">Use</a></li>
+<li><a href="class-use/ReaderColumnSelectionDenseSingleBlock.html">Use</a></li>
 <li><a href="package-tree.html">Tree</a></li>
 <li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
 <li><a href="../../../../../../index-all.html">Index</a></li>
@@ -262,12 +206,12 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.html" title="class in org.apache.sysds.runtime.compress.cocode"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.PartitionerType.html" title="enum in org.apache.sysds.runtime.compress.cocode"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionDenseMultiBlockTransposed.html" title="class in org.apache.sysds.runtime.compress.readers"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionDenseSingleBlockTransposed.html" title="class in org.apache.sysds.runtime.compress.readers"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html" target="_top">Frames</a></li>
-<li><a href="PlanningCoCoder.GroupableColInfo.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionDenseSingleBlock.html" target="_top">Frames</a></li>
+<li><a href="ReaderColumnSelectionDenseSingleBlock.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
 <li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -288,13 +232,13 @@
 <ul class="subNavList">
 <li>Summary:&nbsp;</li>
 <li>Nested&nbsp;|&nbsp;</li>
-<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
 <li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#methods.inherited.from.class.java.lang.Object">Method</a></li>
+<li><a href="#methods.inherited.from.class.org.apache.sysds.runtime.compress.readers.ReaderColumnSelection">Method</a></li>
 </ul>
 <ul class="subNavList">
 <li>Detail:&nbsp;</li>
-<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
 <li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
 <li>Method</li>
 </ul>
@@ -303,6 +247,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html b/docs/api/java/org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionDenseSingleBlockTransposed.html
similarity index 61%
copy from docs/api/java/org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html
copy to docs/api/java/org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionDenseSingleBlockTransposed.html
index e68b451..6088c23 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionDenseSingleBlockTransposed.html
@@ -4,7 +4,7 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>PlanningCoCoder.GroupableColInfo (SystemDS 2.1.0-SNAPSHOT API)</title>
+<title>ReaderColumnSelectionDenseSingleBlockTransposed (SystemDS 2.1.0-SNAPSHOT API)</title>
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="PlanningCoCoder.GroupableColInfo (SystemDS 2.1.0-SNAPSHOT API)";
+            parent.document.title="ReaderColumnSelectionDenseSingleBlockTransposed (SystemDS 2.1.0-SNAPSHOT API)";
         }
     }
     catch(err) {
@@ -34,7 +34,7 @@
 <li><a href="../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="package-summary.html">Package</a></li>
 <li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/PlanningCoCoder.GroupableColInfo.html">Use</a></li>
+<li><a href="class-use/ReaderColumnSelectionDenseSingleBlockTransposed.html">Use</a></li>
 <li><a href="package-tree.html">Tree</a></li>
 <li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
 <li><a href="../../../../../../index-all.html">Index</a></li>
@@ -43,12 +43,12 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.html" title="class in org.apache.sysds.runtime.compress.cocode"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.PartitionerType.html" title="enum in org.apache.sysds.runtime.compress.cocode"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionDenseSingleBlock.html" title="class in org.apache.sysds.runtime.compress.readers"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionSparse.html" title="class in org.apache.sysds.runtime.compress.readers"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html" target="_top">Frames</a></li>
-<li><a href="PlanningCoCoder.GroupableColInfo.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionDenseSingleBlockTransposed.html" target="_top">Frames</a></li>
+<li><a href="ReaderColumnSelectionDenseSingleBlockTransposed.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
 <li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -69,13 +69,13 @@
 <ul class="subNavList">
 <li>Summary:&nbsp;</li>
 <li>Nested&nbsp;|&nbsp;</li>
-<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
 <li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#methods.inherited.from.class.java.lang.Object">Method</a></li>
+<li><a href="#methods.inherited.from.class.org.apache.sysds.runtime.compress.readers.ReaderColumnSelection">Method</a></li>
 </ul>
 <ul class="subNavList">
 <li>Detail:&nbsp;</li>
-<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
 <li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
 <li>Method</li>
 </ul>
@@ -86,62 +86,36 @@
 <!-- ========= END OF TOP NAVBAR ========= -->
 <!-- ======== START OF CLASS DATA ======== -->
 <div class="header">
-<div class="subTitle">org.apache.sysds.runtime.compress.cocode</div>
-<h2 title="Class PlanningCoCoder.GroupableColInfo" class="title">Class PlanningCoCoder.GroupableColInfo</h2>
+<div class="subTitle">org.apache.sysds.runtime.compress.readers</div>
+<h2 title="Class ReaderColumnSelectionDenseSingleBlockTransposed" class="title">Class ReaderColumnSelectionDenseSingleBlockTransposed</h2>
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
 <li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
-<li>org.apache.sysds.runtime.compress.cocode.PlanningCoCoder.GroupableColInfo</li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelection.html" title="class in org.apache.sysds.runtime.compress.readers">org.apache.sysds.runtime.compress.readers.ReaderColumnSelection</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.sysds.runtime.compress.readers.ReaderColumnSelectionDenseSingleBlockTransposed</li>
+</ul>
+</li>
 </ul>
 </li>
 </ul>
 <div class="description">
 <ul class="blockList">
 <li class="blockList">
-<dl>
-<dt>Enclosing class:</dt>
-<dd><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCoder</a></dd>
-</dl>
 <hr>
 <br>
-<pre>public static class <span class="typeNameLabel">PlanningCoCoder.GroupableColInfo</span>
-extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<pre>public class <span class="typeNameLabel">ReaderColumnSelectionDenseSingleBlockTransposed</span>
+extends <a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelection.html" title="class in org.apache.sysds.runtime.compress.readers">ReaderColumnSelection</a></pre>
 </li>
 </ul>
 </div>
 <div class="summary">
 <ul class="blockList">
 <li class="blockList">
-<!-- =========== FIELD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="field.summary">
-<!--   -->
-</a>
-<h3>Field Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
-<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Field and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>double</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html#cardRatio">cardRatio</a></span></code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>int</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html#nrDistinct">nrDistinct</a></span></code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>long</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html#size">size</a></span></code>&nbsp;</td>
-</tr>
-</table>
-</li>
-</ul>
 <!-- ======== CONSTRUCTOR SUMMARY ======== -->
 <ul class="blockList">
 <li class="blockList"><a name="constructor.summary">
@@ -154,9 +128,8 @@
 <th class="colOne" scope="col">Constructor and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html#GroupableColInfo-double-long-int-">GroupableColInfo</a></span>(double&nbsp;lcardRatio,
-                long&nbsp;lsize,
-                int&nbsp;cardinality)</code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionDenseSingleBlockTransposed.html#ReaderColumnSelectionDenseSingleBlockTransposed-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">ReaderColumnSelectionDenseSingleBlockTransposed</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;data,
+                                               int[]&nbsp;colIndexes)</code>&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -168,6 +141,13 @@
 </a>
 <h3>Method Summary</h3>
 <ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.compress.readers.ReaderColumnSelection">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.compress.readers.<a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelection.html" title="class in org.apache.sysds.runtime.compress.readers">ReaderColumnSelection</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelection.html#createCompressedReader-org.apache.sysds.runtime.compress.CompressedMatrixBlock-int:A-">createCompressedReader</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelection.html#createReader-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-boolean-">createReader</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelection.html#getCurrentRowIndex--">getCurrentRowIndex</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelection.html#nextRow--">nextRow</a></code></li>
+</ul>
+<ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
@@ -182,56 +162,20 @@
 <div class="details">
 <ul class="blockList">
 <li class="blockList">
-<!-- ============ FIELD DETAIL =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="field.detail">
-<!--   -->
-</a>
-<h3>Field Detail</h3>
-<a name="cardRatio">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>cardRatio</h4>
-<pre>public final&nbsp;double cardRatio</pre>
-</li>
-</ul>
-<a name="size">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>size</h4>
-<pre>public final&nbsp;long size</pre>
-</li>
-</ul>
-<a name="nrDistinct">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>nrDistinct</h4>
-<pre>public final&nbsp;int nrDistinct</pre>
-</li>
-</ul>
-</li>
-</ul>
 <!-- ========= CONSTRUCTOR DETAIL ======== -->
 <ul class="blockList">
 <li class="blockList"><a name="constructor.detail">
 <!--   -->
 </a>
 <h3>Constructor Detail</h3>
-<a name="GroupableColInfo-double-long-int-">
+<a name="ReaderColumnSelectionDenseSingleBlockTransposed-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>GroupableColInfo</h4>
-<pre>public&nbsp;GroupableColInfo(double&nbsp;lcardRatio,
-                        long&nbsp;lsize,
-                        int&nbsp;cardinality)</pre>
+<h4>ReaderColumnSelectionDenseSingleBlockTransposed</h4>
+<pre>public&nbsp;ReaderColumnSelectionDenseSingleBlockTransposed(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;data,
+                                                       int[]&nbsp;colIndexes)</pre>
 </li>
 </ul>
 </li>
@@ -253,7 +197,7 @@
 <li><a href="../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="package-summary.html">Package</a></li>
 <li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/PlanningCoCoder.GroupableColInfo.html">Use</a></li>
+<li><a href="class-use/ReaderColumnSelectionDenseSingleBlockTransposed.html">Use</a></li>
 <li><a href="package-tree.html">Tree</a></li>
 <li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
 <li><a href="../../../../../../index-all.html">Index</a></li>
@@ -262,12 +206,12 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.html" title="class in org.apache.sysds.runtime.compress.cocode"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.PartitionerType.html" title="enum in org.apache.sysds.runtime.compress.cocode"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionDenseSingleBlock.html" title="class in org.apache.sysds.runtime.compress.readers"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionSparse.html" title="class in org.apache.sysds.runtime.compress.readers"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html" target="_top">Frames</a></li>
-<li><a href="PlanningCoCoder.GroupableColInfo.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionDenseSingleBlockTransposed.html" target="_top">Frames</a></li>
+<li><a href="ReaderColumnSelectionDenseSingleBlockTransposed.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
 <li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -288,13 +232,13 @@
 <ul class="subNavList">
 <li>Summary:&nbsp;</li>
 <li>Nested&nbsp;|&nbsp;</li>
-<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
 <li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#methods.inherited.from.class.java.lang.Object">Method</a></li>
+<li><a href="#methods.inherited.from.class.org.apache.sysds.runtime.compress.readers.ReaderColumnSelection">Method</a></li>
 </ul>
 <ul class="subNavList">
 <li>Detail:&nbsp;</li>
-<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
 <li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
 <li>Method</li>
 </ul>
@@ -303,6 +247,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/ReaderColumnSelectionSparse.html b/docs/api/java/org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionSparse.html
similarity index 64%
rename from docs/api/java/org/apache/sysds/runtime/compress/ReaderColumnSelectionSparse.html
rename to docs/api/java/org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionSparse.html
index fb6622f..175b41f 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/ReaderColumnSelectionSparse.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionSparse.html
@@ -5,8 +5,8 @@
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 <title>ReaderColumnSelectionSparse (SystemDS 2.1.0-SNAPSHOT API)</title>
-<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../script.js"></script>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
 <body>
 <script type="text/javascript"><!--
@@ -31,27 +31,27 @@
 <!--   -->
 </a>
 <ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="package-summary.html">Package</a></li>
 <li class="navBarCell1Rev">Class</li>
 <li><a href="class-use/ReaderColumnSelectionSparse.html">Use</a></li>
 <li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../help-doc.html">Help</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
 </ul>
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelectionDenseSample.html" title="class in org.apache.sysds.runtime.compress"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li>Next&nbsp;Class</li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionDenseSingleBlockTransposed.html" title="class in org.apache.sysds.runtime.compress.readers"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionSparseTransposed.html" title="class in org.apache.sysds.runtime.compress.readers"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../index.html?org/apache/sysds/runtime/compress/ReaderColumnSelectionSparse.html" target="_top">Frames</a></li>
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionSparse.html" target="_top">Frames</a></li>
 <li><a href="ReaderColumnSelectionSparse.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
 </ul>
 <div>
 <script type="text/javascript"><!--
@@ -71,7 +71,7 @@
 <li>Nested&nbsp;|&nbsp;</li>
 <li>Field&nbsp;|&nbsp;</li>
 <li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#methods.inherited.from.class.org.apache.sysds.runtime.compress.ReaderColumnSelection">Method</a></li>
+<li><a href="#methods.inherited.from.class.org.apache.sysds.runtime.compress.readers.ReaderColumnSelection">Method</a></li>
 </ul>
 <ul class="subNavList">
 <li>Detail:&nbsp;</li>
@@ -86,7 +86,7 @@
 <!-- ========= END OF TOP NAVBAR ========= -->
 <!-- ======== START OF CLASS DATA ======== -->
 <div class="header">
-<div class="subTitle">org.apache.sysds.runtime.compress</div>
+<div class="subTitle">org.apache.sysds.runtime.compress.readers</div>
 <h2 title="Class ReaderColumnSelectionSparse" class="title">Class ReaderColumnSelectionSparse</h2>
 </div>
 <div class="contentContainer">
@@ -94,10 +94,10 @@
 <li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
-<li><a href="../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelection.html" title="class in org.apache.sysds.runtime.compress">org.apache.sysds.runtime.compress.ReaderColumnSelection</a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelection.html" title="class in org.apache.sysds.runtime.compress.readers">org.apache.sysds.runtime.compress.readers.ReaderColumnSelection</a></li>
 <li>
 <ul class="inheritance">
-<li>org.apache.sysds.runtime.compress.ReaderColumnSelectionSparse</li>
+<li>org.apache.sysds.runtime.compress.readers.ReaderColumnSelectionSparse</li>
 </ul>
 </li>
 </ul>
@@ -109,7 +109,7 @@
 <hr>
 <br>
 <pre>public class <span class="typeNameLabel">ReaderColumnSelectionSparse</span>
-extends <a href="../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelection.html" title="class in org.apache.sysds.runtime.compress">ReaderColumnSelection</a></pre>
+extends <a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelection.html" title="class in org.apache.sysds.runtime.compress.readers">ReaderColumnSelection</a></pre>
 <div class="block">Used to extract the values at certain indexes from each row in a sparse matrix
  
  Keeps returning all-zeros arrays until reaching the last possible index. The current compression algorithm treats the
@@ -132,9 +132,8 @@
 <th class="colOne" scope="col">Constructor and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelectionSparse.html#ReaderColumnSelectionSparse-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-org.apache.sysds.runtime.compress.CompressionSettings-">ReaderColumnSelectionSparse</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;data,
-                           int[]&nbsp;colIndexes,
-                           <a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;compSettings)</code>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionSparse.html#ReaderColumnSelectionSparse-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">ReaderColumnSelectionSparse</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;data,
+                           int[]&nbsp;colIndexes)</code>
 <div class="block">Reader of sparse matrix blocks for compression.</div>
 </td>
 </tr>
@@ -148,11 +147,11 @@
 </a>
 <h3>Method Summary</h3>
 <ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.compress.ReaderColumnSelection">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.compress.readers.ReaderColumnSelection">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.compress.<a href="../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelection.html" title="class in org.apache.sysds.runtime.compress">ReaderColumnSelection</a></h3>
-<code><a href="../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelection.html#getCurrentRowIndex--">getCurrentRowIndex</a>, <a href="../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelection.html#nextRow--">nextRow</a>, <a href="../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelection.html#reset--">reset</a></code></li>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.compress.readers.<a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelection.html" title="class in org.apache.sysds.runtime.compress.readers">ReaderColumnSelection</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelection.html#createCompressedReader-org.apache.sysds.runtime.compress.CompressedMatrixBlock-int:A-">createCompressedReader</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelection.html#createReader-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-boolean-">createReader</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelection.html#getCurrentRowIndex--">getCurrentRowIndex</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelection.html#nextRow--">nextRow</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -175,23 +174,21 @@
 <!--   -->
 </a>
 <h3>Constructor Detail</h3>
-<a name="ReaderColumnSelectionSparse-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-org.apache.sysds.runtime.compress.CompressionSettings-">
+<a name="ReaderColumnSelectionSparse-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>ReaderColumnSelectionSparse</h4>
-<pre>public&nbsp;ReaderColumnSelectionSparse(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;data,
-                                   int[]&nbsp;colIndexes,
-                                   <a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;compSettings)</pre>
+<pre>public&nbsp;ReaderColumnSelectionSparse(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;data,
+                                   int[]&nbsp;colIndexes)</pre>
 <div class="block">Reader of sparse matrix blocks for compression.
  
- This reader should not be used if the input data is not transposed and sparse</div>
+ This reader should not be used if the input data is not sparse</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>data</code> - The transposed and sparse matrix</dd>
 <dd><code>colIndexes</code> - The column indexes to combine</dd>
-<dd><code>compSettings</code> - The compression settings.</dd>
 </dl>
 </li>
 </ul>
@@ -211,27 +208,27 @@
 <!--   -->
 </a>
 <ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="package-summary.html">Package</a></li>
 <li class="navBarCell1Rev">Class</li>
 <li><a href="class-use/ReaderColumnSelectionSparse.html">Use</a></li>
 <li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../help-doc.html">Help</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
 </ul>
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelectionDenseSample.html" title="class in org.apache.sysds.runtime.compress"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li>Next&nbsp;Class</li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionDenseSingleBlockTransposed.html" title="class in org.apache.sysds.runtime.compress.readers"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionSparseTransposed.html" title="class in org.apache.sysds.runtime.compress.readers"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../index.html?org/apache/sysds/runtime/compress/ReaderColumnSelectionSparse.html" target="_top">Frames</a></li>
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionSparse.html" target="_top">Frames</a></li>
 <li><a href="ReaderColumnSelectionSparse.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
 </ul>
 <div>
 <script type="text/javascript"><!--
@@ -251,7 +248,7 @@
 <li>Nested&nbsp;|&nbsp;</li>
 <li>Field&nbsp;|&nbsp;</li>
 <li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#methods.inherited.from.class.org.apache.sysds.runtime.compress.ReaderColumnSelection">Method</a></li>
+<li><a href="#methods.inherited.from.class.org.apache.sysds.runtime.compress.readers.ReaderColumnSelection">Method</a></li>
 </ul>
 <ul class="subNavList">
 <li>Detail:&nbsp;</li>
@@ -264,6 +261,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionSparseTransposed.html b/docs/api/java/org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionSparseTransposed.html
new file mode 100644
index 0000000..a9702ab
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionSparseTransposed.html
@@ -0,0 +1,266 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>ReaderColumnSelectionSparseTransposed (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="ReaderColumnSelectionSparseTransposed (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ReaderColumnSelectionSparseTransposed.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionSparse.html" title="class in org.apache.sysds.runtime.compress.readers"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderCompressedSelection.html" title="class in org.apache.sysds.runtime.compress.readers"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionSparseTransposed.html" target="_top">Frames</a></li>
+<li><a href="ReaderColumnSelectionSparseTransposed.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#methods.inherited.from.class.org.apache.sysds.runtime.compress.readers.ReaderColumnSelection">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li>Method</li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.sysds.runtime.compress.readers</div>
+<h2 title="Class ReaderColumnSelectionSparseTransposed" class="title">Class ReaderColumnSelectionSparseTransposed</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelection.html" title="class in org.apache.sysds.runtime.compress.readers">org.apache.sysds.runtime.compress.readers.ReaderColumnSelection</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.sysds.runtime.compress.readers.ReaderColumnSelectionSparseTransposed</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">ReaderColumnSelectionSparseTransposed</span>
+extends <a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelection.html" title="class in org.apache.sysds.runtime.compress.readers">ReaderColumnSelection</a></pre>
+<div class="block">Used to extract the values at certain indexes from each row in a sparse matrix
+ 
+ Keeps returning all-zeros arrays until reaching the last possible index. The current compression algorithm treats the
+ zero-value in a sparse matrix like any other value.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionSparseTransposed.html#ReaderColumnSelectionSparseTransposed-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">ReaderColumnSelectionSparseTransposed</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;data,
+                                     int[]&nbsp;colIndexes)</code>
+<div class="block">Reader of sparse matrix blocks for compression.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.compress.readers.ReaderColumnSelection">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.compress.readers.<a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelection.html" title="class in org.apache.sysds.runtime.compress.readers">ReaderColumnSelection</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelection.html#createCompressedReader-org.apache.sysds.runtime.compress.CompressedMatrixBlock-int:A-">createCompressedReader</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelection.html#createReader-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-boolean-">createReader</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelection.html#getCurrentRowIndex--">getCurrentRowIndex</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelection.html#nextRow--">nextRow</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="ReaderColumnSelectionSparseTransposed-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>ReaderColumnSelectionSparseTransposed</h4>
+<pre>public&nbsp;ReaderColumnSelectionSparseTransposed(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;data,
+                                             int[]&nbsp;colIndexes)</pre>
+<div class="block">Reader of sparse matrix blocks for compression.
+ 
+ This reader should not be used if the input data is not transposed and sparse</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>data</code> - The transposed and sparse matrix</dd>
+<dd><code>colIndexes</code> - The column indexes to combine</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ReaderColumnSelectionSparseTransposed.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionSparse.html" title="class in org.apache.sysds.runtime.compress.readers"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderCompressedSelection.html" title="class in org.apache.sysds.runtime.compress.readers"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionSparseTransposed.html" target="_top">Frames</a></li>
+<li><a href="ReaderColumnSelectionSparseTransposed.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#methods.inherited.from.class.org.apache.sysds.runtime.compress.readers.ReaderColumnSelection">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li>Method</li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/readers/ReaderCompressedSelection.html b/docs/api/java/org/apache/sysds/runtime/compress/readers/ReaderCompressedSelection.html
new file mode 100644
index 0000000..42634aa
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/compress/readers/ReaderCompressedSelection.html
@@ -0,0 +1,210 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>ReaderCompressedSelection (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="ReaderCompressedSelection (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ReaderCompressedSelection.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionSparseTransposed.html" title="class in org.apache.sysds.runtime.compress.readers"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/readers/ReaderCompressedSelection.html" target="_top">Frames</a></li>
+<li><a href="ReaderCompressedSelection.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#methods.inherited.from.class.org.apache.sysds.runtime.compress.readers.ReaderColumnSelection">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li>Method</li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.sysds.runtime.compress.readers</div>
+<h2 title="Class ReaderCompressedSelection" class="title">Class ReaderCompressedSelection</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelection.html" title="class in org.apache.sysds.runtime.compress.readers">org.apache.sysds.runtime.compress.readers.ReaderColumnSelection</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.sysds.runtime.compress.readers.ReaderCompressedSelection</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">ReaderCompressedSelection</span>
+extends <a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelection.html" title="class in org.apache.sysds.runtime.compress.readers">ReaderColumnSelection</a></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.compress.readers.ReaderColumnSelection">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.compress.readers.<a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelection.html" title="class in org.apache.sysds.runtime.compress.readers">ReaderColumnSelection</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelection.html#createCompressedReader-org.apache.sysds.runtime.compress.CompressedMatrixBlock-int:A-">createCompressedReader</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelection.html#createReader-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-boolean-">createReader</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelection.html#getCurrentRowIndex--">getCurrentRowIndex</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelection.html#nextRow--">nextRow</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ReaderCompressedSelection.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionSparseTransposed.html" title="class in org.apache.sysds.runtime.compress.readers"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/readers/ReaderCompressedSelection.html" target="_top">Frames</a></li>
+<li><a href="ReaderCompressedSelection.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#methods.inherited.from.class.org.apache.sysds.runtime.compress.readers.ReaderColumnSelection">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li>Method</li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/readers/class-use/ReaderColumnSelection.html b/docs/api/java/org/apache/sysds/runtime/compress/readers/class-use/ReaderColumnSelection.html
new file mode 100644
index 0000000..4f8de4a
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/compress/readers/class-use/ReaderColumnSelection.html
@@ -0,0 +1,221 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.sysds.runtime.compress.readers.ReaderColumnSelection (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.sysds.runtime.compress.readers.ReaderColumnSelection (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelection.html" title="class in org.apache.sysds.runtime.compress.readers">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/readers/class-use/ReaderColumnSelection.html" target="_top">Frames</a></li>
+<li><a href="ReaderColumnSelection.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.sysds.runtime.compress.readers.ReaderColumnSelection" class="title">Uses of Class<br>org.apache.sysds.runtime.compress.readers.ReaderColumnSelection</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelection.html" title="class in org.apache.sysds.runtime.compress.readers">ReaderColumnSelection</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.compress.readers">org.apache.sysds.runtime.compress.readers</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.sysds.runtime.compress.readers">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelection.html" title="class in org.apache.sysds.runtime.compress.readers">ReaderColumnSelection</a> in <a href="../../../../../../../org/apache/sysds/runtime/compress/readers/package-summary.html">org.apache.sysds.runtime.compress.readers</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subclasses, and an explanation">
+<caption><span>Subclasses of <a href="../../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelection.html" title="class in org.apache.sysds.runtime.compress.readers">ReaderColumnSelection</a> in <a href="../../../../../../../org/apache/sysds/runtime/compress/readers/package-summary.html">org.apache.sysds.runtime.compress.readers</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionBitSet.html" title="class in org.apache.sysds.runtime.compress.readers">ReaderColumnSelectionBitSet</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionDenseMultiBlock.html" title="class in org.apache.sysds.runtime.compress.readers">ReaderColumnSelectionDenseMultiBlock</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionDenseMultiBlockTransposed.html" title="class in org.apache.sysds.runtime.compress.readers">ReaderColumnSelectionDenseMultiBlockTransposed</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionDenseSingleBlock.html" title="class in org.apache.sysds.runtime.compress.readers">ReaderColumnSelectionDenseSingleBlock</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionDenseSingleBlockTransposed.html" title="class in org.apache.sysds.runtime.compress.readers">ReaderColumnSelectionDenseSingleBlockTransposed</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionSparse.html" title="class in org.apache.sysds.runtime.compress.readers">ReaderColumnSelectionSparse</a></span></code>
+<div class="block">Used to extract the values at certain indexes from each row in a sparse matrix
+ 
+ Keeps returning all-zeros arrays until reaching the last possible index.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionSparseTransposed.html" title="class in org.apache.sysds.runtime.compress.readers">ReaderColumnSelectionSparseTransposed</a></span></code>
+<div class="block">Used to extract the values at certain indexes from each row in a sparse matrix
+ 
+ Keeps returning all-zeros arrays until reaching the last possible index.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/readers/ReaderCompressedSelection.html" title="class in org.apache.sysds.runtime.compress.readers">ReaderCompressedSelection</a></span></code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/compress/readers/package-summary.html">org.apache.sysds.runtime.compress.readers</a> that return <a href="../../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelection.html" title="class in org.apache.sysds.runtime.compress.readers">ReaderColumnSelection</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelection.html" title="class in org.apache.sysds.runtime.compress.readers">ReaderColumnSelection</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ReaderColumnSelection.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelection.html#createCompressedReader-org.apache.sysds.runtime.compress.CompressedMatrixBlock-int:A-">createCompressedReader</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;compBlock,
+                      int[]&nbsp;colIndices)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelection.html" title="class in org.apache.sysds.runtime.compress.readers">ReaderColumnSelection</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ReaderColumnSelection.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelection.html#createReader-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-boolean-">createReader</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;rawBlock,
+            int[]&nbsp;colIndices,
+            boolean&nbsp;transposed)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelection.html" title="class in org.apache.sysds.runtime.compress.readers">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/readers/class-use/ReaderColumnSelection.html" target="_top">Frames</a></li>
+<li><a href="ReaderColumnSelection.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/lib/class-use/LibBinaryCellOp.html b/docs/api/java/org/apache/sysds/runtime/compress/readers/class-use/ReaderColumnSelectionBitSet.html
similarity index 76%
copy from docs/api/java/org/apache/sysds/runtime/compress/lib/class-use/LibBinaryCellOp.html
copy to docs/api/java/org/apache/sysds/runtime/compress/readers/class-use/ReaderColumnSelectionBitSet.html
index e62dd8b..1eb912b 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/lib/class-use/LibBinaryCellOp.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/readers/class-use/ReaderColumnSelectionBitSet.html
@@ -4,7 +4,7 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.sysds.runtime.compress.lib.LibBinaryCellOp (SystemDS 2.1.0-SNAPSHOT API)</title>
+<title>Uses of Class org.apache.sysds.runtime.compress.readers.ReaderColumnSelectionBitSet (SystemDS 2.1.0-SNAPSHOT API)</title>
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.sysds.runtime.compress.lib.LibBinaryCellOp (SystemDS 2.1.0-SNAPSHOT API)";
+            parent.document.title="Uses of Class org.apache.sysds.runtime.compress.readers.ReaderColumnSelectionBitSet (SystemDS 2.1.0-SNAPSHOT API)";
         }
     }
     catch(err) {
@@ -33,7 +33,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/LibBinaryCellOp.html" title="class in org.apache.sysds.runtime.compress.lib">Class</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionBitSet.html" title="class in org.apache.sysds.runtime.compress.readers">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -47,8 +47,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/lib/class-use/LibBinaryCellOp.html" target="_top">Frames</a></li>
-<li><a href="LibBinaryCellOp.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/readers/class-use/ReaderColumnSelectionBitSet.html" target="_top">Frames</a></li>
+<li><a href="ReaderColumnSelectionBitSet.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -70,9 +70,9 @@
 </a></div>
 <!-- ========= END OF TOP NAVBAR ========= -->
 <div class="header">
-<h2 title="Uses of Class org.apache.sysds.runtime.compress.lib.LibBinaryCellOp" class="title">Uses of Class<br>org.apache.sysds.runtime.compress.lib.LibBinaryCellOp</h2>
+<h2 title="Uses of Class org.apache.sysds.runtime.compress.readers.ReaderColumnSelectionBitSet" class="title">Uses of Class<br>org.apache.sysds.runtime.compress.readers.ReaderColumnSelectionBitSet</h2>
 </div>
-<div class="classUseContainer">No usage of org.apache.sysds.runtime.compress.lib.LibBinaryCellOp</div>
+<div class="classUseContainer">No usage of org.apache.sysds.runtime.compress.readers.ReaderColumnSelectionBitSet</div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
 <!--   -->
@@ -84,7 +84,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/LibBinaryCellOp.html" title="class in org.apache.sysds.runtime.compress.lib">Class</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionBitSet.html" title="class in org.apache.sysds.runtime.compress.readers">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -98,8 +98,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/lib/class-use/LibBinaryCellOp.html" target="_top">Frames</a></li>
-<li><a href="LibBinaryCellOp.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/readers/class-use/ReaderColumnSelectionBitSet.html" target="_top">Frames</a></li>
+<li><a href="ReaderColumnSelectionBitSet.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/lib/class-use/LibBinaryCellOp.html b/docs/api/java/org/apache/sysds/runtime/compress/readers/class-use/ReaderColumnSelectionDenseMultiBlock.html
similarity index 75%
copy from docs/api/java/org/apache/sysds/runtime/compress/lib/class-use/LibBinaryCellOp.html
copy to docs/api/java/org/apache/sysds/runtime/compress/readers/class-use/ReaderColumnSelectionDenseMultiBlock.html
index e62dd8b..8c5cf3d 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/lib/class-use/LibBinaryCellOp.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/readers/class-use/ReaderColumnSelectionDenseMultiBlock.html
@@ -4,7 +4,7 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.sysds.runtime.compress.lib.LibBinaryCellOp (SystemDS 2.1.0-SNAPSHOT API)</title>
+<title>Uses of Class org.apache.sysds.runtime.compress.readers.ReaderColumnSelectionDenseMultiBlock (SystemDS 2.1.0-SNAPSHOT API)</title>
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.sysds.runtime.compress.lib.LibBinaryCellOp (SystemDS 2.1.0-SNAPSHOT API)";
+            parent.document.title="Uses of Class org.apache.sysds.runtime.compress.readers.ReaderColumnSelectionDenseMultiBlock (SystemDS 2.1.0-SNAPSHOT API)";
         }
     }
     catch(err) {
@@ -33,7 +33,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/LibBinaryCellOp.html" title="class in org.apache.sysds.runtime.compress.lib">Class</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionDenseMultiBlock.html" title="class in org.apache.sysds.runtime.compress.readers">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -47,8 +47,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/lib/class-use/LibBinaryCellOp.html" target="_top">Frames</a></li>
-<li><a href="LibBinaryCellOp.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/readers/class-use/ReaderColumnSelectionDenseMultiBlock.html" target="_top">Frames</a></li>
+<li><a href="ReaderColumnSelectionDenseMultiBlock.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -70,9 +70,9 @@
 </a></div>
 <!-- ========= END OF TOP NAVBAR ========= -->
 <div class="header">
-<h2 title="Uses of Class org.apache.sysds.runtime.compress.lib.LibBinaryCellOp" class="title">Uses of Class<br>org.apache.sysds.runtime.compress.lib.LibBinaryCellOp</h2>
+<h2 title="Uses of Class org.apache.sysds.runtime.compress.readers.ReaderColumnSelectionDenseMultiBlock" class="title">Uses of Class<br>org.apache.sysds.runtime.compress.readers.ReaderColumnSelectionDenseMultiBlock</h2>
 </div>
-<div class="classUseContainer">No usage of org.apache.sysds.runtime.compress.lib.LibBinaryCellOp</div>
+<div class="classUseContainer">No usage of org.apache.sysds.runtime.compress.readers.ReaderColumnSelectionDenseMultiBlock</div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
 <!--   -->
@@ -84,7 +84,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/LibBinaryCellOp.html" title="class in org.apache.sysds.runtime.compress.lib">Class</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionDenseMultiBlock.html" title="class in org.apache.sysds.runtime.compress.readers">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -98,8 +98,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/lib/class-use/LibBinaryCellOp.html" target="_top">Frames</a></li>
-<li><a href="LibBinaryCellOp.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/readers/class-use/ReaderColumnSelectionDenseMultiBlock.html" target="_top">Frames</a></li>
+<li><a href="ReaderColumnSelectionDenseMultiBlock.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/SparseRowIterator.html b/docs/api/java/org/apache/sysds/runtime/compress/readers/class-use/ReaderColumnSelectionDenseMultiBlockTransposed.html
similarity index 74%
copy from docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/SparseRowIterator.html
copy to docs/api/java/org/apache/sysds/runtime/compress/readers/class-use/ReaderColumnSelectionDenseMultiBlockTransposed.html
index 71993d3..5fe29f0 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/SparseRowIterator.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/readers/class-use/ReaderColumnSelectionDenseMultiBlockTransposed.html
@@ -4,7 +4,7 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.sysds.runtime.compress.colgroup.SparseRowIterator (SystemDS 2.1.0-SNAPSHOT API)</title>
+<title>Uses of Class org.apache.sysds.runtime.compress.readers.ReaderColumnSelectionDenseMultiBlockTransposed (SystemDS 2.1.0-SNAPSHOT API)</title>
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.sysds.runtime.compress.colgroup.SparseRowIterator (SystemDS 2.1.0-SNAPSHOT API)";
+            parent.document.title="Uses of Class org.apache.sysds.runtime.compress.readers.ReaderColumnSelectionDenseMultiBlockTransposed (SystemDS 2.1.0-SNAPSHOT API)";
         }
     }
     catch(err) {
@@ -33,7 +33,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/SparseRowIterator.html" title="class in org.apache.sysds.runtime.compress.colgroup">Class</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionDenseMultiBlockTransposed.html" title="class in org.apache.sysds.runtime.compress.readers">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -47,8 +47,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/class-use/SparseRowIterator.html" target="_top">Frames</a></li>
-<li><a href="SparseRowIterator.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/readers/class-use/ReaderColumnSelectionDenseMultiBlockTransposed.html" target="_top">Frames</a></li>
+<li><a href="ReaderColumnSelectionDenseMultiBlockTransposed.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -70,9 +70,9 @@
 </a></div>
 <!-- ========= END OF TOP NAVBAR ========= -->
 <div class="header">
-<h2 title="Uses of Class org.apache.sysds.runtime.compress.colgroup.SparseRowIterator" class="title">Uses of Class<br>org.apache.sysds.runtime.compress.colgroup.SparseRowIterator</h2>
+<h2 title="Uses of Class org.apache.sysds.runtime.compress.readers.ReaderColumnSelectionDenseMultiBlockTransposed" class="title">Uses of Class<br>org.apache.sysds.runtime.compress.readers.ReaderColumnSelectionDenseMultiBlockTransposed</h2>
 </div>
-<div class="classUseContainer">No usage of org.apache.sysds.runtime.compress.colgroup.SparseRowIterator</div>
+<div class="classUseContainer">No usage of org.apache.sysds.runtime.compress.readers.ReaderColumnSelectionDenseMultiBlockTransposed</div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
 <!--   -->
@@ -84,7 +84,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/SparseRowIterator.html" title="class in org.apache.sysds.runtime.compress.colgroup">Class</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionDenseMultiBlockTransposed.html" title="class in org.apache.sysds.runtime.compress.readers">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -98,8 +98,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/class-use/SparseRowIterator.html" target="_top">Frames</a></li>
-<li><a href="SparseRowIterator.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/readers/class-use/ReaderColumnSelectionDenseMultiBlockTransposed.html" target="_top">Frames</a></li>
+<li><a href="ReaderColumnSelectionDenseMultiBlockTransposed.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/lib/class-use/LibBinaryCellOp.html b/docs/api/java/org/apache/sysds/runtime/compress/readers/class-use/ReaderColumnSelectionDenseSingleBlock.html
similarity index 75%
copy from docs/api/java/org/apache/sysds/runtime/compress/lib/class-use/LibBinaryCellOp.html
copy to docs/api/java/org/apache/sysds/runtime/compress/readers/class-use/ReaderColumnSelectionDenseSingleBlock.html
index e62dd8b..3b5f681 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/lib/class-use/LibBinaryCellOp.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/readers/class-use/ReaderColumnSelectionDenseSingleBlock.html
@@ -4,7 +4,7 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.sysds.runtime.compress.lib.LibBinaryCellOp (SystemDS 2.1.0-SNAPSHOT API)</title>
+<title>Uses of Class org.apache.sysds.runtime.compress.readers.ReaderColumnSelectionDenseSingleBlock (SystemDS 2.1.0-SNAPSHOT API)</title>
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.sysds.runtime.compress.lib.LibBinaryCellOp (SystemDS 2.1.0-SNAPSHOT API)";
+            parent.document.title="Uses of Class org.apache.sysds.runtime.compress.readers.ReaderColumnSelectionDenseSingleBlock (SystemDS 2.1.0-SNAPSHOT API)";
         }
     }
     catch(err) {
@@ -33,7 +33,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/LibBinaryCellOp.html" title="class in org.apache.sysds.runtime.compress.lib">Class</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionDenseSingleBlock.html" title="class in org.apache.sysds.runtime.compress.readers">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -47,8 +47,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/lib/class-use/LibBinaryCellOp.html" target="_top">Frames</a></li>
-<li><a href="LibBinaryCellOp.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/readers/class-use/ReaderColumnSelectionDenseSingleBlock.html" target="_top">Frames</a></li>
+<li><a href="ReaderColumnSelectionDenseSingleBlock.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -70,9 +70,9 @@
 </a></div>
 <!-- ========= END OF TOP NAVBAR ========= -->
 <div class="header">
-<h2 title="Uses of Class org.apache.sysds.runtime.compress.lib.LibBinaryCellOp" class="title">Uses of Class<br>org.apache.sysds.runtime.compress.lib.LibBinaryCellOp</h2>
+<h2 title="Uses of Class org.apache.sysds.runtime.compress.readers.ReaderColumnSelectionDenseSingleBlock" class="title">Uses of Class<br>org.apache.sysds.runtime.compress.readers.ReaderColumnSelectionDenseSingleBlock</h2>
 </div>
-<div class="classUseContainer">No usage of org.apache.sysds.runtime.compress.lib.LibBinaryCellOp</div>
+<div class="classUseContainer">No usage of org.apache.sysds.runtime.compress.readers.ReaderColumnSelectionDenseSingleBlock</div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
 <!--   -->
@@ -84,7 +84,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/LibBinaryCellOp.html" title="class in org.apache.sysds.runtime.compress.lib">Class</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionDenseSingleBlock.html" title="class in org.apache.sysds.runtime.compress.readers">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -98,8 +98,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/lib/class-use/LibBinaryCellOp.html" target="_top">Frames</a></li>
-<li><a href="LibBinaryCellOp.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/readers/class-use/ReaderColumnSelectionDenseSingleBlock.html" target="_top">Frames</a></li>
+<li><a href="ReaderColumnSelectionDenseSingleBlock.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/lib/class-use/LibBinaryCellOp.html b/docs/api/java/org/apache/sysds/runtime/compress/readers/class-use/ReaderColumnSelectionDenseSingleBlockTransposed.html
similarity index 73%
copy from docs/api/java/org/apache/sysds/runtime/compress/lib/class-use/LibBinaryCellOp.html
copy to docs/api/java/org/apache/sysds/runtime/compress/readers/class-use/ReaderColumnSelectionDenseSingleBlockTransposed.html
index e62dd8b..f75c80a 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/lib/class-use/LibBinaryCellOp.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/readers/class-use/ReaderColumnSelectionDenseSingleBlockTransposed.html
@@ -4,7 +4,7 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.sysds.runtime.compress.lib.LibBinaryCellOp (SystemDS 2.1.0-SNAPSHOT API)</title>
+<title>Uses of Class org.apache.sysds.runtime.compress.readers.ReaderColumnSelectionDenseSingleBlockTransposed (SystemDS 2.1.0-SNAPSHOT API)</title>
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.sysds.runtime.compress.lib.LibBinaryCellOp (SystemDS 2.1.0-SNAPSHOT API)";
+            parent.document.title="Uses of Class org.apache.sysds.runtime.compress.readers.ReaderColumnSelectionDenseSingleBlockTransposed (SystemDS 2.1.0-SNAPSHOT API)";
         }
     }
     catch(err) {
@@ -33,7 +33,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/LibBinaryCellOp.html" title="class in org.apache.sysds.runtime.compress.lib">Class</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionDenseSingleBlockTransposed.html" title="class in org.apache.sysds.runtime.compress.readers">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -47,8 +47,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/lib/class-use/LibBinaryCellOp.html" target="_top">Frames</a></li>
-<li><a href="LibBinaryCellOp.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/readers/class-use/ReaderColumnSelectionDenseSingleBlockTransposed.html" target="_top">Frames</a></li>
+<li><a href="ReaderColumnSelectionDenseSingleBlockTransposed.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -70,9 +70,9 @@
 </a></div>
 <!-- ========= END OF TOP NAVBAR ========= -->
 <div class="header">
-<h2 title="Uses of Class org.apache.sysds.runtime.compress.lib.LibBinaryCellOp" class="title">Uses of Class<br>org.apache.sysds.runtime.compress.lib.LibBinaryCellOp</h2>
+<h2 title="Uses of Class org.apache.sysds.runtime.compress.readers.ReaderColumnSelectionDenseSingleBlockTransposed" class="title">Uses of Class<br>org.apache.sysds.runtime.compress.readers.ReaderColumnSelectionDenseSingleBlockTransposed</h2>
 </div>
-<div class="classUseContainer">No usage of org.apache.sysds.runtime.compress.lib.LibBinaryCellOp</div>
+<div class="classUseContainer">No usage of org.apache.sysds.runtime.compress.readers.ReaderColumnSelectionDenseSingleBlockTransposed</div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
 <!--   -->
@@ -84,7 +84,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/LibBinaryCellOp.html" title="class in org.apache.sysds.runtime.compress.lib">Class</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionDenseSingleBlockTransposed.html" title="class in org.apache.sysds.runtime.compress.readers">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -98,8 +98,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/lib/class-use/LibBinaryCellOp.html" target="_top">Frames</a></li>
-<li><a href="LibBinaryCellOp.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/readers/class-use/ReaderColumnSelectionDenseSingleBlockTransposed.html" target="_top">Frames</a></li>
+<li><a href="ReaderColumnSelectionDenseSingleBlockTransposed.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/lib/class-use/LibBinaryCellOp.html b/docs/api/java/org/apache/sysds/runtime/compress/readers/class-use/ReaderColumnSelectionSparse.html
similarity index 76%
copy from docs/api/java/org/apache/sysds/runtime/compress/lib/class-use/LibBinaryCellOp.html
copy to docs/api/java/org/apache/sysds/runtime/compress/readers/class-use/ReaderColumnSelectionSparse.html
index e62dd8b..fcb5e2a 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/lib/class-use/LibBinaryCellOp.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/readers/class-use/ReaderColumnSelectionSparse.html
@@ -4,7 +4,7 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.sysds.runtime.compress.lib.LibBinaryCellOp (SystemDS 2.1.0-SNAPSHOT API)</title>
+<title>Uses of Class org.apache.sysds.runtime.compress.readers.ReaderColumnSelectionSparse (SystemDS 2.1.0-SNAPSHOT API)</title>
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.sysds.runtime.compress.lib.LibBinaryCellOp (SystemDS 2.1.0-SNAPSHOT API)";
+            parent.document.title="Uses of Class org.apache.sysds.runtime.compress.readers.ReaderColumnSelectionSparse (SystemDS 2.1.0-SNAPSHOT API)";
         }
     }
     catch(err) {
@@ -33,7 +33,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/LibBinaryCellOp.html" title="class in org.apache.sysds.runtime.compress.lib">Class</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionSparse.html" title="class in org.apache.sysds.runtime.compress.readers">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -47,8 +47,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/lib/class-use/LibBinaryCellOp.html" target="_top">Frames</a></li>
-<li><a href="LibBinaryCellOp.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/readers/class-use/ReaderColumnSelectionSparse.html" target="_top">Frames</a></li>
+<li><a href="ReaderColumnSelectionSparse.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -70,9 +70,9 @@
 </a></div>
 <!-- ========= END OF TOP NAVBAR ========= -->
 <div class="header">
-<h2 title="Uses of Class org.apache.sysds.runtime.compress.lib.LibBinaryCellOp" class="title">Uses of Class<br>org.apache.sysds.runtime.compress.lib.LibBinaryCellOp</h2>
+<h2 title="Uses of Class org.apache.sysds.runtime.compress.readers.ReaderColumnSelectionSparse" class="title">Uses of Class<br>org.apache.sysds.runtime.compress.readers.ReaderColumnSelectionSparse</h2>
 </div>
-<div class="classUseContainer">No usage of org.apache.sysds.runtime.compress.lib.LibBinaryCellOp</div>
+<div class="classUseContainer">No usage of org.apache.sysds.runtime.compress.readers.ReaderColumnSelectionSparse</div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
 <!--   -->
@@ -84,7 +84,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/LibBinaryCellOp.html" title="class in org.apache.sysds.runtime.compress.lib">Class</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionSparse.html" title="class in org.apache.sysds.runtime.compress.readers">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -98,8 +98,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/lib/class-use/LibBinaryCellOp.html" target="_top">Frames</a></li>
-<li><a href="LibBinaryCellOp.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/readers/class-use/ReaderColumnSelectionSparse.html" target="_top">Frames</a></li>
+<li><a href="ReaderColumnSelectionSparse.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/lib/class-use/LibBinaryCellOp.html b/docs/api/java/org/apache/sysds/runtime/compress/readers/class-use/ReaderColumnSelectionSparseTransposed.html
similarity index 75%
copy from docs/api/java/org/apache/sysds/runtime/compress/lib/class-use/LibBinaryCellOp.html
copy to docs/api/java/org/apache/sysds/runtime/compress/readers/class-use/ReaderColumnSelectionSparseTransposed.html
index e62dd8b..9c34321 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/lib/class-use/LibBinaryCellOp.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/readers/class-use/ReaderColumnSelectionSparseTransposed.html
@@ -4,7 +4,7 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.sysds.runtime.compress.lib.LibBinaryCellOp (SystemDS 2.1.0-SNAPSHOT API)</title>
+<title>Uses of Class org.apache.sysds.runtime.compress.readers.ReaderColumnSelectionSparseTransposed (SystemDS 2.1.0-SNAPSHOT API)</title>
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.sysds.runtime.compress.lib.LibBinaryCellOp (SystemDS 2.1.0-SNAPSHOT API)";
+            parent.document.title="Uses of Class org.apache.sysds.runtime.compress.readers.ReaderColumnSelectionSparseTransposed (SystemDS 2.1.0-SNAPSHOT API)";
         }
     }
     catch(err) {
@@ -33,7 +33,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/LibBinaryCellOp.html" title="class in org.apache.sysds.runtime.compress.lib">Class</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionSparseTransposed.html" title="class in org.apache.sysds.runtime.compress.readers">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -47,8 +47,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/lib/class-use/LibBinaryCellOp.html" target="_top">Frames</a></li>
-<li><a href="LibBinaryCellOp.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/readers/class-use/ReaderColumnSelectionSparseTransposed.html" target="_top">Frames</a></li>
+<li><a href="ReaderColumnSelectionSparseTransposed.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -70,9 +70,9 @@
 </a></div>
 <!-- ========= END OF TOP NAVBAR ========= -->
 <div class="header">
-<h2 title="Uses of Class org.apache.sysds.runtime.compress.lib.LibBinaryCellOp" class="title">Uses of Class<br>org.apache.sysds.runtime.compress.lib.LibBinaryCellOp</h2>
+<h2 title="Uses of Class org.apache.sysds.runtime.compress.readers.ReaderColumnSelectionSparseTransposed" class="title">Uses of Class<br>org.apache.sysds.runtime.compress.readers.ReaderColumnSelectionSparseTransposed</h2>
 </div>
-<div class="classUseContainer">No usage of org.apache.sysds.runtime.compress.lib.LibBinaryCellOp</div>
+<div class="classUseContainer">No usage of org.apache.sysds.runtime.compress.readers.ReaderColumnSelectionSparseTransposed</div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
 <!--   -->
@@ -84,7 +84,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/LibBinaryCellOp.html" title="class in org.apache.sysds.runtime.compress.lib">Class</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionSparseTransposed.html" title="class in org.apache.sysds.runtime.compress.readers">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -98,8 +98,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/lib/class-use/LibBinaryCellOp.html" target="_top">Frames</a></li>
-<li><a href="LibBinaryCellOp.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/readers/class-use/ReaderColumnSelectionSparseTransposed.html" target="_top">Frames</a></li>
+<li><a href="ReaderColumnSelectionSparseTransposed.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/lib/class-use/LibBinaryCellOp.html b/docs/api/java/org/apache/sysds/runtime/compress/readers/class-use/ReaderCompressedSelection.html
similarity index 77%
copy from docs/api/java/org/apache/sysds/runtime/compress/lib/class-use/LibBinaryCellOp.html
copy to docs/api/java/org/apache/sysds/runtime/compress/readers/class-use/ReaderCompressedSelection.html
index e62dd8b..c64a700 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/lib/class-use/LibBinaryCellOp.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/readers/class-use/ReaderCompressedSelection.html
@@ -4,7 +4,7 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.sysds.runtime.compress.lib.LibBinaryCellOp (SystemDS 2.1.0-SNAPSHOT API)</title>
+<title>Uses of Class org.apache.sysds.runtime.compress.readers.ReaderCompressedSelection (SystemDS 2.1.0-SNAPSHOT API)</title>
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.sysds.runtime.compress.lib.LibBinaryCellOp (SystemDS 2.1.0-SNAPSHOT API)";
+            parent.document.title="Uses of Class org.apache.sysds.runtime.compress.readers.ReaderCompressedSelection (SystemDS 2.1.0-SNAPSHOT API)";
         }
     }
     catch(err) {
@@ -33,7 +33,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/LibBinaryCellOp.html" title="class in org.apache.sysds.runtime.compress.lib">Class</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/readers/ReaderCompressedSelection.html" title="class in org.apache.sysds.runtime.compress.readers">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -47,8 +47,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/lib/class-use/LibBinaryCellOp.html" target="_top">Frames</a></li>
-<li><a href="LibBinaryCellOp.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/readers/class-use/ReaderCompressedSelection.html" target="_top">Frames</a></li>
+<li><a href="ReaderCompressedSelection.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -70,9 +70,9 @@
 </a></div>
 <!-- ========= END OF TOP NAVBAR ========= -->
 <div class="header">
-<h2 title="Uses of Class org.apache.sysds.runtime.compress.lib.LibBinaryCellOp" class="title">Uses of Class<br>org.apache.sysds.runtime.compress.lib.LibBinaryCellOp</h2>
+<h2 title="Uses of Class org.apache.sysds.runtime.compress.readers.ReaderCompressedSelection" class="title">Uses of Class<br>org.apache.sysds.runtime.compress.readers.ReaderCompressedSelection</h2>
 </div>
-<div class="classUseContainer">No usage of org.apache.sysds.runtime.compress.lib.LibBinaryCellOp</div>
+<div class="classUseContainer">No usage of org.apache.sysds.runtime.compress.readers.ReaderCompressedSelection</div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
 <!--   -->
@@ -84,7 +84,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/LibBinaryCellOp.html" title="class in org.apache.sysds.runtime.compress.lib">Class</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/readers/ReaderCompressedSelection.html" title="class in org.apache.sysds.runtime.compress.readers">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -98,8 +98,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/lib/class-use/LibBinaryCellOp.html" target="_top">Frames</a></li>
-<li><a href="LibBinaryCellOp.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/readers/class-use/ReaderCompressedSelection.html" target="_top">Frames</a></li>
+<li><a href="ReaderCompressedSelection.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/readers/package-frame.html b/docs/api/java/org/apache/sysds/runtime/compress/readers/package-frame.html
new file mode 100644
index 0000000..bbca0d2
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/compress/readers/package-frame.html
@@ -0,0 +1,28 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.sysds.runtime.compress.readers (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<h1 class="bar"><a href="../../../../../../org/apache/sysds/runtime/compress/readers/package-summary.html" target="classFrame">org.apache.sysds.runtime.compress.readers</a></h1>
+<div class="indexContainer">
+<h2 title="Classes">Classes</h2>
+<ul title="Classes">
+<li><a href="ReaderColumnSelection.html" title="class in org.apache.sysds.runtime.compress.readers" target="classFrame">ReaderColumnSelection</a></li>
+<li><a href="ReaderColumnSelectionBitSet.html" title="class in org.apache.sysds.runtime.compress.readers" target="classFrame">ReaderColumnSelectionBitSet</a></li>
+<li><a href="ReaderColumnSelectionDenseMultiBlock.html" title="class in org.apache.sysds.runtime.compress.readers" target="classFrame">ReaderColumnSelectionDenseMultiBlock</a></li>
+<li><a href="ReaderColumnSelectionDenseMultiBlockTransposed.html" title="class in org.apache.sysds.runtime.compress.readers" target="classFrame">ReaderColumnSelectionDenseMultiBlockTransposed</a></li>
+<li><a href="ReaderColumnSelectionDenseSingleBlock.html" title="class in org.apache.sysds.runtime.compress.readers" target="classFrame">ReaderColumnSelectionDenseSingleBlock</a></li>
+<li><a href="ReaderColumnSelectionDenseSingleBlockTransposed.html" title="class in org.apache.sysds.runtime.compress.readers" target="classFrame">ReaderColumnSelectionDenseSingleBlockTransposed</a></li>
+<li><a href="ReaderColumnSelectionSparse.html" title="class in org.apache.sysds.runtime.compress.readers" target="classFrame">ReaderColumnSelectionSparse</a></li>
+<li><a href="ReaderColumnSelectionSparseTransposed.html" title="class in org.apache.sysds.runtime.compress.readers" target="classFrame">ReaderColumnSelectionSparseTransposed</a></li>
+<li><a href="ReaderCompressedSelection.html" title="class in org.apache.sysds.runtime.compress.readers" target="classFrame">ReaderCompressedSelection</a></li>
+</ul>
+</div>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/readers/package-summary.html b/docs/api/java/org/apache/sysds/runtime/compress/readers/package-summary.html
new file mode 100644
index 0000000..e676866
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/compress/readers/package-summary.html
@@ -0,0 +1,185 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.sysds.runtime.compress.readers (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.sysds.runtime.compress.readers (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/lib/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/utils/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/readers/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Package" class="title">Package&nbsp;org.apache.sysds.runtime.compress.readers</h1>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
+<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Class</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelection.html" title="class in org.apache.sysds.runtime.compress.readers">ReaderColumnSelection</a></td>
+<td class="colLast">
+<div class="block">Base class for all column selection readers.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionBitSet.html" title="class in org.apache.sysds.runtime.compress.readers">ReaderColumnSelectionBitSet</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionDenseMultiBlock.html" title="class in org.apache.sysds.runtime.compress.readers">ReaderColumnSelectionDenseMultiBlock</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionDenseMultiBlockTransposed.html" title="class in org.apache.sysds.runtime.compress.readers">ReaderColumnSelectionDenseMultiBlockTransposed</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionDenseSingleBlock.html" title="class in org.apache.sysds.runtime.compress.readers">ReaderColumnSelectionDenseSingleBlock</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionDenseSingleBlockTransposed.html" title="class in org.apache.sysds.runtime.compress.readers">ReaderColumnSelectionDenseSingleBlockTransposed</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionSparse.html" title="class in org.apache.sysds.runtime.compress.readers">ReaderColumnSelectionSparse</a></td>
+<td class="colLast">
+<div class="block">Used to extract the values at certain indexes from each row in a sparse matrix
+ 
+ Keeps returning all-zeros arrays until reaching the last possible index.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionSparseTransposed.html" title="class in org.apache.sysds.runtime.compress.readers">ReaderColumnSelectionSparseTransposed</a></td>
+<td class="colLast">
+<div class="block">Used to extract the values at certain indexes from each row in a sparse matrix
+ 
+ Keeps returning all-zeros arrays until reaching the last possible index.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderCompressedSelection.html" title="class in org.apache.sysds.runtime.compress.readers">ReaderCompressedSelection</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/lib/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/utils/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/readers/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/readers/package-tree.html b/docs/api/java/org/apache/sysds/runtime/compress/readers/package-tree.html
new file mode 100644
index 0000000..d020593
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/compress/readers/package-tree.html
@@ -0,0 +1,149 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.sysds.runtime.compress.readers Class Hierarchy (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.sysds.runtime.compress.readers Class Hierarchy (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/lib/package-tree.html">Prev</a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/utils/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/readers/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 class="title">Hierarchy For Package org.apache.sysds.runtime.compress.readers</h1>
+<span class="packageHierarchyLabel">Package Hierarchies:</span>
+<ul class="horizontal">
+<li><a href="../../../../../../overview-tree.html">All Packages</a></li>
+</ul>
+</div>
+<div class="contentContainer">
+<h2 title="Class Hierarchy">Class Hierarchy</h2>
+<ul>
+<li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
+<ul>
+<li type="circle">org.apache.sysds.runtime.compress.readers.<a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelection.html" title="class in org.apache.sysds.runtime.compress.readers"><span class="typeNameLink">ReaderColumnSelection</span></a>
+<ul>
+<li type="circle">org.apache.sysds.runtime.compress.readers.<a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionBitSet.html" title="class in org.apache.sysds.runtime.compress.readers"><span class="typeNameLink">ReaderColumnSelectionBitSet</span></a></li>
+<li type="circle">org.apache.sysds.runtime.compress.readers.<a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionDenseMultiBlock.html" title="class in org.apache.sysds.runtime.compress.readers"><span class="typeNameLink">ReaderColumnSelectionDenseMultiBlock</span></a></li>
+<li type="circle">org.apache.sysds.runtime.compress.readers.<a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionDenseMultiBlockTransposed.html" title="class in org.apache.sysds.runtime.compress.readers"><span class="typeNameLink">ReaderColumnSelectionDenseMultiBlockTransposed</span></a></li>
+<li type="circle">org.apache.sysds.runtime.compress.readers.<a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionDenseSingleBlock.html" title="class in org.apache.sysds.runtime.compress.readers"><span class="typeNameLink">ReaderColumnSelectionDenseSingleBlock</span></a></li>
+<li type="circle">org.apache.sysds.runtime.compress.readers.<a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionDenseSingleBlockTransposed.html" title="class in org.apache.sysds.runtime.compress.readers"><span class="typeNameLink">ReaderColumnSelectionDenseSingleBlockTransposed</span></a></li>
+<li type="circle">org.apache.sysds.runtime.compress.readers.<a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionSparse.html" title="class in org.apache.sysds.runtime.compress.readers"><span class="typeNameLink">ReaderColumnSelectionSparse</span></a></li>
+<li type="circle">org.apache.sysds.runtime.compress.readers.<a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionSparseTransposed.html" title="class in org.apache.sysds.runtime.compress.readers"><span class="typeNameLink">ReaderColumnSelectionSparseTransposed</span></a></li>
+<li type="circle">org.apache.sysds.runtime.compress.readers.<a href="../../../../../../org/apache/sysds/runtime/compress/readers/ReaderCompressedSelection.html" title="class in org.apache.sysds.runtime.compress.readers"><span class="typeNameLink">ReaderCompressedSelection</span></a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/lib/package-tree.html">Prev</a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/utils/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/readers/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/readers/package-use.html b/docs/api/java/org/apache/sysds/runtime/compress/readers/package-use.html
new file mode 100644
index 0000000..09f33f0
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/compress/readers/package-use.html
@@ -0,0 +1,160 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.sysds.runtime.compress.readers (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Package org.apache.sysds.runtime.compress.readers (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/readers/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Uses of Package org.apache.sysds.runtime.compress.readers" class="title">Uses of Package<br>org.apache.sysds.runtime.compress.readers</h1>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/sysds/runtime/compress/readers/package-summary.html">org.apache.sysds.runtime.compress.readers</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.compress.readers">org.apache.sysds.runtime.compress.readers</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.sysds.runtime.compress.readers">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../../org/apache/sysds/runtime/compress/readers/package-summary.html">org.apache.sysds.runtime.compress.readers</a> used by <a href="../../../../../../org/apache/sysds/runtime/compress/readers/package-summary.html">org.apache.sysds.runtime.compress.readers</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/compress/readers/class-use/ReaderColumnSelection.html#org.apache.sysds.runtime.compress.readers">ReaderColumnSelection</a>
+<div class="block">Base class for all column selection readers.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/readers/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/utils/ABitmap.BitmapType.html b/docs/api/java/org/apache/sysds/runtime/compress/utils/ABitmap.BitmapType.html
index d6e98f2..1a9726b 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/utils/ABitmap.BitmapType.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/utils/ABitmap.BitmapType.html
@@ -341,6 +341,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/utils/ABitmap.html b/docs/api/java/org/apache/sysds/runtime/compress/utils/ABitmap.html
index 49cc448..03c1964 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/utils/ABitmap.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/utils/ABitmap.html
@@ -436,6 +436,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/utils/Bitmap.html b/docs/api/java/org/apache/sysds/runtime/compress/utils/Bitmap.html
index d0bed4b..df9968c 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/utils/Bitmap.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/utils/Bitmap.html
@@ -405,6 +405,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/utils/BitmapLossy.html b/docs/api/java/org/apache/sysds/runtime/compress/utils/BitmapLossy.html
index 3038aaa..7a59eed 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/utils/BitmapLossy.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/utils/BitmapLossy.html
@@ -50,7 +50,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../../org/apache/sysds/runtime/compress/utils/Bitmap.html" title="class in org.apache.sysds.runtime.compress.utils"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/utils/ColumnGroupIterator.html" title="class in org.apache.sysds.runtime.compress.utils"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/utils/CustomHashMap.html" title="class in org.apache.sysds.runtime.compress.utils"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/utils/BitmapLossy.html" target="_top">Frames</a></li>
@@ -430,7 +430,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../../org/apache/sysds/runtime/compress/utils/Bitmap.html" title="class in org.apache.sysds.runtime.compress.utils"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/utils/ColumnGroupIterator.html" title="class in org.apache.sysds.runtime.compress.utils"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/utils/CustomHashMap.html" title="class in org.apache.sysds.runtime.compress.utils"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/utils/BitmapLossy.html" target="_top">Frames</a></li>
@@ -470,6 +470,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/utils/CustomHashMap.html b/docs/api/java/org/apache/sysds/runtime/compress/utils/CustomHashMap.html
index 21414cc..305ba13 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/utils/CustomHashMap.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/utils/CustomHashMap.html
@@ -18,8 +18,8 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var methods = {"i0":10,"i1":9,"i2":10};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
 var tableTab = "tableTab";
@@ -49,7 +49,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/utils/ColumnGroupIterator.html" title="class in org.apache.sysds.runtime.compress.utils"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/utils/BitmapLossy.html" title="class in org.apache.sysds.runtime.compress.utils"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../../org/apache/sysds/runtime/compress/utils/DblArray.html" title="class in org.apache.sysds.runtime.compress.utils"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -146,12 +146,23 @@
 </a>
 <h3>Method Summary</h3>
 <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/utils/CustomHashMap.html" title="class in org.apache.sysds.runtime.compress.utils">CustomHashMap</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/CustomHashMap.html#joinHashMap-org.apache.sysds.runtime.compress.utils.CustomHashMap-">joinHashMap</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/utils/CustomHashMap.html" title="class in org.apache.sysds.runtime.compress.utils">CustomHashMap</a>&nbsp;that)</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/compress/utils/CustomHashMap.html" title="class in org.apache.sysds.runtime.compress.utils">CustomHashMap</a>[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/CustomHashMap.html#joinHashMaps-org.apache.sysds.runtime.compress.utils.CustomHashMap:A-org.apache.sysds.runtime.compress.utils.CustomHashMap:A-">joinHashMaps</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/utils/CustomHashMap.html" title="class in org.apache.sysds.runtime.compress.utils">CustomHashMap</a>[]&nbsp;left,
+            <a href="../../../../../../org/apache/sysds/runtime/compress/utils/CustomHashMap.html" title="class in org.apache.sysds.runtime.compress.utils">CustomHashMap</a>[]&nbsp;right)</code>
+<div class="block">Joins the two lists of hashmaps together to form one list containing element wise joins of the hashmaps.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/CustomHashMap.html#size--">size</a></span>()</code>&nbsp;</td>
 </tr>
@@ -197,12 +208,43 @@
 <a name="size--">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>size</h4>
 <pre>public&nbsp;int&nbsp;size()</pre>
 </li>
 </ul>
+<a name="joinHashMaps-org.apache.sysds.runtime.compress.utils.CustomHashMap:A-org.apache.sysds.runtime.compress.utils.CustomHashMap:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>joinHashMaps</h4>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/utils/CustomHashMap.html" title="class in org.apache.sysds.runtime.compress.utils">CustomHashMap</a>[]&nbsp;joinHashMaps(<a href="../../../../../../org/apache/sysds/runtime/compress/utils/CustomHashMap.html" title="class in org.apache.sysds.runtime.compress.utils">CustomHashMap</a>[]&nbsp;left,
+                                           <a href="../../../../../../org/apache/sysds/runtime/compress/utils/CustomHashMap.html" title="class in org.apache.sysds.runtime.compress.utils">CustomHashMap</a>[]&nbsp;right)</pre>
+<div class="block">Joins the two lists of hashmaps together to form one list containing element wise joins of the hashmaps.
+ 
+ Also note that the join modifies the left hand side hash map such that it contains the joined values. All values
+ in the right hand side is appended to the left hand side, such that the order of the elements is constant after
+ the join.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>left</code> - The left side hashmaps</dd>
+<dd><code>right</code> - The right side hashmaps</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The element-wise join of the two hashmaps.</dd>
+</dl>
+</li>
+</ul>
+<a name="joinHashMap-org.apache.sysds.runtime.compress.utils.CustomHashMap-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>joinHashMap</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/utils/CustomHashMap.html" title="class in org.apache.sysds.runtime.compress.utils">CustomHashMap</a>&nbsp;joinHashMap(<a href="../../../../../../org/apache/sysds/runtime/compress/utils/CustomHashMap.html" title="class in org.apache.sysds.runtime.compress.utils">CustomHashMap</a>&nbsp;that)</pre>
+</li>
+</ul>
 </li>
 </ul>
 </li>
@@ -231,7 +273,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/utils/ColumnGroupIterator.html" title="class in org.apache.sysds.runtime.compress.utils"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/utils/BitmapLossy.html" title="class in org.apache.sysds.runtime.compress.utils"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../../org/apache/sysds/runtime/compress/utils/DblArray.html" title="class in org.apache.sysds.runtime.compress.utils"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -272,6 +314,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/utils/DblArray.html b/docs/api/java/org/apache/sysds/runtime/compress/utils/DblArray.html
index 667cac6..9e53dc4 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/utils/DblArray.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/utils/DblArray.html
@@ -356,6 +356,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/utils/DblArrayIntListHashMap.DArrayIListEntry.html b/docs/api/java/org/apache/sysds/runtime/compress/utils/DblArrayIntListHashMap.DArrayIListEntry.html
index 24ba2ec..39b8a95 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/utils/DblArrayIntListHashMap.DArrayIListEntry.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/utils/DblArrayIntListHashMap.DArrayIListEntry.html
@@ -387,6 +387,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/utils/DblArrayIntListHashMap.html b/docs/api/java/org/apache/sysds/runtime/compress/utils/DblArrayIntListHashMap.html
index 575f6fd..649ba39 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/utils/DblArrayIntListHashMap.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/utils/DblArrayIntListHashMap.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -196,18 +196,23 @@
 </tr>
 <tr id="i0" class="altColor">
 <td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/DblArrayIntListHashMap.html#appendValue-org.apache.sysds.runtime.compress.utils.DblArray-int-">appendValue</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/utils/DblArray.html" title="class in org.apache.sysds.runtime.compress.utils">DblArray</a>&nbsp;key,
+           int&nbsp;value)</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/DblArrayIntListHashMap.html#appendValue-org.apache.sysds.runtime.compress.utils.DblArray-org.apache.sysds.runtime.compress.utils.IntArrayList-">appendValue</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/utils/DblArray.html" title="class in org.apache.sysds.runtime.compress.utils">DblArray</a>&nbsp;key,
            <a href="../../../../../../org/apache/sysds/runtime/compress/utils/IntArrayList.html" title="class in org.apache.sysds.runtime.compress.utils">IntArrayList</a>&nbsp;value)</code>&nbsp;</td>
 </tr>
-<tr id="i1" class="rowColor">
+<tr id="i2" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/utils/DblArrayIntListHashMap.DArrayIListEntry.html" title="class in org.apache.sysds.runtime.compress.utils">DblArrayIntListHashMap.DArrayIListEntry</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/DblArrayIntListHashMap.html#extractValues--">extractValues</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i2" class="altColor">
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/utils/IntArrayList.html" title="class in org.apache.sysds.runtime.compress.utils">IntArrayList</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/DblArrayIntListHashMap.html#get-org.apache.sysds.runtime.compress.utils.DblArray-">get</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/utils/DblArray.html" title="class in org.apache.sysds.runtime.compress.utils">DblArray</a>&nbsp;key)</code>&nbsp;</td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/DblArrayIntListHashMap.html#toString--">toString</a></span>()</code>&nbsp;</td>
 </tr>
@@ -217,7 +222,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.compress.utils.<a href="../../../../../../org/apache/sysds/runtime/compress/utils/CustomHashMap.html" title="class in org.apache.sysds.runtime.compress.utils">CustomHashMap</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/compress/utils/CustomHashMap.html#size--">size</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/compress/utils/CustomHashMap.html#joinHashMap-org.apache.sysds.runtime.compress.utils.CustomHashMap-">joinHashMap</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/utils/CustomHashMap.html#joinHashMaps-org.apache.sysds.runtime.compress.utils.CustomHashMap:A-org.apache.sysds.runtime.compress.utils.CustomHashMap:A-">joinHashMaps</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/utils/CustomHashMap.html#size--">size</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -302,6 +307,16 @@
                         <a href="../../../../../../org/apache/sysds/runtime/compress/utils/IntArrayList.html" title="class in org.apache.sysds.runtime.compress.utils">IntArrayList</a>&nbsp;value)</pre>
 </li>
 </ul>
+<a name="appendValue-org.apache.sysds.runtime.compress.utils.DblArray-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>appendValue</h4>
+<pre>public&nbsp;void&nbsp;appendValue(<a href="../../../../../../org/apache/sysds/runtime/compress/utils/DblArray.html" title="class in org.apache.sysds.runtime.compress.utils">DblArray</a>&nbsp;key,
+                        int&nbsp;value)</pre>
+</li>
+</ul>
 <a name="extractValues--">
 <!--   -->
 </a>
@@ -393,6 +408,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/utils/DoubleIntListHashMap.DIListEntry.html b/docs/api/java/org/apache/sysds/runtime/compress/utils/DoubleIntListHashMap.DIListEntry.html
index 5f90d88..1079877 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/utils/DoubleIntListHashMap.DIListEntry.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/utils/DoubleIntListHashMap.DIListEntry.html
@@ -387,6 +387,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/utils/DoubleIntListHashMap.html b/docs/api/java/org/apache/sysds/runtime/compress/utils/DoubleIntListHashMap.html
index a8a40eb..5cc1201 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/utils/DoubleIntListHashMap.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/utils/DoubleIntListHashMap.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -179,18 +179,23 @@
 </tr>
 <tr id="i0" class="altColor">
 <td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/DoubleIntListHashMap.html#appendValue-double-int-">appendValue</a></span>(double&nbsp;key,
+           int&nbsp;value)</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/DoubleIntListHashMap.html#appendValue-double-org.apache.sysds.runtime.compress.utils.IntArrayList-">appendValue</a></span>(double&nbsp;key,
            <a href="../../../../../../org/apache/sysds/runtime/compress/utils/IntArrayList.html" title="class in org.apache.sysds.runtime.compress.utils">IntArrayList</a>&nbsp;value)</code>&nbsp;</td>
 </tr>
-<tr id="i1" class="rowColor">
+<tr id="i2" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/utils/DoubleIntListHashMap.DIListEntry.html" title="class in org.apache.sysds.runtime.compress.utils">DoubleIntListHashMap.DIListEntry</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/DoubleIntListHashMap.html#extractValues--">extractValues</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i2" class="altColor">
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/utils/IntArrayList.html" title="class in org.apache.sysds.runtime.compress.utils">IntArrayList</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/DoubleIntListHashMap.html#get-double-">get</a></span>(double&nbsp;key)</code>&nbsp;</td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/DoubleIntListHashMap.html#toString--">toString</a></span>()</code>&nbsp;</td>
 </tr>
@@ -200,7 +205,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.compress.utils.<a href="../../../../../../org/apache/sysds/runtime/compress/utils/CustomHashMap.html" title="class in org.apache.sysds.runtime.compress.utils">CustomHashMap</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/compress/utils/CustomHashMap.html#size--">size</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/compress/utils/CustomHashMap.html#joinHashMap-org.apache.sysds.runtime.compress.utils.CustomHashMap-">joinHashMap</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/utils/CustomHashMap.html#joinHashMaps-org.apache.sysds.runtime.compress.utils.CustomHashMap:A-org.apache.sysds.runtime.compress.utils.CustomHashMap:A-">joinHashMaps</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/utils/CustomHashMap.html#size--">size</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -268,6 +273,16 @@
                         <a href="../../../../../../org/apache/sysds/runtime/compress/utils/IntArrayList.html" title="class in org.apache.sysds.runtime.compress.utils">IntArrayList</a>&nbsp;value)</pre>
 </li>
 </ul>
+<a name="appendValue-double-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>appendValue</h4>
+<pre>public&nbsp;void&nbsp;appendValue(double&nbsp;key,
+                        int&nbsp;value)</pre>
+</li>
+</ul>
 <a name="extractValues--">
 <!--   -->
 </a>
@@ -359,6 +374,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/utils/IntArrayList.html b/docs/api/java/org/apache/sysds/runtime/compress/utils/IntArrayList.html
index 51b27c2..43f0084 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/utils/IntArrayList.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/utils/IntArrayList.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -50,7 +50,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../../org/apache/sysds/runtime/compress/utils/DoubleIntListHashMap.DIListEntry.html" title="class in org.apache.sysds.runtime.compress.utils"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/utils/LinearAlgebraUtils.html" title="class in org.apache.sysds.runtime.compress.utils"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/utils/IntIntMap.html" title="class in org.apache.sysds.runtime.compress.utils"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/utils/IntArrayList.html" target="_top">Frames</a></li>
@@ -169,9 +169,13 @@
 </tr>
 <tr id="i3" class="rowColor">
 <td class="colFirst"><code>int</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/IntArrayList.html#size--">size</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/IntArrayList.html#get-int-">get</a></span>(int&nbsp;index)</code>&nbsp;</td>
 </tr>
 <tr id="i4" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/IntArrayList.html#size--">size</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/IntArrayList.html#toString--">toString</a></span>()</code>&nbsp;</td>
 </tr>
@@ -265,6 +269,15 @@
 </dl>
 </li>
 </ul>
+<a name="get-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>get</h4>
+<pre>public&nbsp;int&nbsp;get(int&nbsp;index)</pre>
+</li>
+</ul>
 <a name="extractValues-boolean-">
 <!--   -->
 </a>
@@ -316,7 +329,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../../org/apache/sysds/runtime/compress/utils/DoubleIntListHashMap.DIListEntry.html" title="class in org.apache.sysds.runtime.compress.utils"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/utils/LinearAlgebraUtils.html" title="class in org.apache.sysds.runtime.compress.utils"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/utils/IntIntMap.html" title="class in org.apache.sysds.runtime.compress.utils"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/utils/IntArrayList.html" target="_top">Frames</a></li>
@@ -356,6 +369,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/DenseRowIterator.html b/docs/api/java/org/apache/sysds/runtime/compress/utils/IntIntMap.html
similarity index 62%
rename from docs/api/java/org/apache/sysds/runtime/compress/colgroup/DenseRowIterator.html
rename to docs/api/java/org/apache/sysds/runtime/compress/utils/IntIntMap.html
index 858b58c..a17c1b6 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/DenseRowIterator.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/utils/IntIntMap.html
@@ -4,7 +4,7 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DenseRowIterator (SystemDS 2.1.0-SNAPSHOT API)</title>
+<title>IntIntMap (SystemDS 2.1.0-SNAPSHOT API)</title>
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,13 +12,13 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DenseRowIterator (SystemDS 2.1.0-SNAPSHOT API)";
+            parent.document.title="IntIntMap (SystemDS 2.1.0-SNAPSHOT API)";
         }
     }
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -40,7 +40,7 @@
 <li><a href="../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="package-summary.html">Package</a></li>
 <li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/DenseRowIterator.html">Use</a></li>
+<li><a href="class-use/IntIntMap.html">Use</a></li>
 <li><a href="package-tree.html">Tree</a></li>
 <li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
 <li><a href="../../../../../../index-all.html">Index</a></li>
@@ -49,12 +49,12 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/utils/IntArrayList.html" title="class in org.apache.sysds.runtime.compress.utils"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/utils/LinearAlgebraUtils.html" title="class in org.apache.sysds.runtime.compress.utils"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/DenseRowIterator.html" target="_top">Frames</a></li>
-<li><a href="DenseRowIterator.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/utils/IntIntMap.html" target="_top">Frames</a></li>
+<li><a href="IntIntMap.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
 <li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -92,29 +92,30 @@
 <!-- ========= END OF TOP NAVBAR ========= -->
 <!-- ======== START OF CLASS DATA ======== -->
 <div class="header">
-<div class="subTitle">org.apache.sysds.runtime.compress.colgroup</div>
-<h2 title="Class DenseRowIterator" class="title">Class DenseRowIterator</h2>
+<div class="subTitle">org.apache.sysds.runtime.compress.utils</div>
+<h2 title="Class IntIntMap" class="title">Class IntIntMap</h2>
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
 <li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
-<li>org.apache.sysds.runtime.compress.colgroup.DenseRowIterator</li>
+<li>org.apache.sysds.runtime.compress.utils.IntIntMap</li>
 </ul>
 </li>
 </ul>
 <div class="description">
 <ul class="blockList">
 <li class="blockList">
-<dl>
-<dt>All Implemented Interfaces:</dt>
-<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;double[]&gt;</dd>
-</dl>
 <hr>
 <br>
-<pre>public class <span class="typeNameLabel">DenseRowIterator</span>
+<pre>public class <span class="typeNameLabel">IntIntMap</span>
 extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block">This int it map supports incrementing entries and only this. it is designed to support counting how to multiply the
+ individual cells together in a compressed compressed multiplication.
+ 
+ Inspiration from http://java-performance.info/implementing-world-fastest-java-int-to-int-hash-map/
+ https://github.com/mikvor/hashmapTest/blob/master/src/main/java/map/intint/IntIntMap4a.java</div>
 </li>
 </ul>
 </div>
@@ -133,10 +134,8 @@
 <th class="colOne" scope="col">Constructor and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/DenseRowIterator.html#DenseRowIterator-int-int-java.util.List-int-">DenseRowIterator</a></span>(int&nbsp;rl,
-                int&nbsp;ru,
-                <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>&gt;&nbsp;colGroups,
-                int&nbsp;clen)</code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/IntIntMap.html#IntIntMap-int-float-">IntIntMap</a></span>(int&nbsp;size,
+         float&nbsp;fillFactor)</code>&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -154,12 +153,29 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
-<td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/DenseRowIterator.html#hasNext--">hasNext</a></span>()</code>&nbsp;</td>
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/IntIntMap.html#getCapacity--">getCapacity</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i1" class="rowColor">
-<td class="colFirst"><code>double[]</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/DenseRowIterator.html#next--">next</a></span>()</code>&nbsp;</td>
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/IntIntMap.html#getFreeValue--">getFreeValue</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>int[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/IntIntMap.html#getMap--">getMap</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/IntIntMap.html#inc-int-">inc</a></span>(int&nbsp;key)</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/IntIntMap.html#inc-int-int-">inc</a></span>(int&nbsp;key,
+   int&nbsp;v)</code>&nbsp;</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/IntIntMap.html#toString--">toString</a></span>()</code>&nbsp;</td>
 </tr>
 </table>
 <ul class="blockList">
@@ -167,14 +183,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
-<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
-</ul>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.java.util.Iterator">
-<!--   -->
-</a>
-<h3>Methods inherited from interface&nbsp;java.util.<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a></h3>
-<code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true#forEachRemaining-java.util.function.Consumer-" title="class or interface in java.util">forEachRemaining</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true#remove--" title="class or interface in java.util">remove</a></code></li>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -190,16 +199,14 @@
 <!--   -->
 </a>
 <h3>Constructor Detail</h3>
-<a name="DenseRowIterator-int-int-java.util.List-int-">
+<a name="IntIntMap-int-float-">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>DenseRowIterator</h4>
-<pre>public&nbsp;DenseRowIterator(int&nbsp;rl,
-                        int&nbsp;ru,
-                        <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>&gt;&nbsp;colGroups,
-                        int&nbsp;clen)</pre>
+<h4>IntIntMap</h4>
+<pre>public&nbsp;IntIntMap(int&nbsp;size,
+                 float&nbsp;fillFactor)</pre>
 </li>
 </ul>
 </li>
@@ -210,25 +217,62 @@
 <!--   -->
 </a>
 <h3>Method Detail</h3>
-<a name="next--">
+<a name="getCapacity--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>next</h4>
-<pre>public&nbsp;double[]&nbsp;next()</pre>
+<h4>getCapacity</h4>
+<pre>public&nbsp;int&nbsp;getCapacity()</pre>
 </li>
 </ul>
-<a name="hasNext--">
+<a name="getFreeValue--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getFreeValue</h4>
+<pre>public&nbsp;int&nbsp;getFreeValue()</pre>
+</li>
+</ul>
+<a name="getMap--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getMap</h4>
+<pre>public&nbsp;int[]&nbsp;getMap()</pre>
+</li>
+</ul>
+<a name="inc-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>inc</h4>
+<pre>public&nbsp;void&nbsp;inc(int&nbsp;key)</pre>
+</li>
+</ul>
+<a name="inc-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>inc</h4>
+<pre>public&nbsp;void&nbsp;inc(int&nbsp;key,
+                int&nbsp;v)</pre>
+</li>
+</ul>
+<a name="toString--">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>hasNext</h4>
-<pre>public&nbsp;boolean&nbsp;hasNext()</pre>
+<h4>toString</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
 <dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true#hasNext--" title="class or interface in java.util">hasNext</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;T&gt;</code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
 </dl>
 </li>
 </ul>
@@ -251,7 +295,7 @@
 <li><a href="../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="package-summary.html">Package</a></li>
 <li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/DenseRowIterator.html">Use</a></li>
+<li><a href="class-use/IntIntMap.html">Use</a></li>
 <li><a href="package-tree.html">Tree</a></li>
 <li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
 <li><a href="../../../../../../index-all.html">Index</a></li>
@@ -260,12 +304,12 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/utils/IntArrayList.html" title="class in org.apache.sysds.runtime.compress.utils"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/utils/LinearAlgebraUtils.html" title="class in org.apache.sysds.runtime.compress.utils"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/DenseRowIterator.html" target="_top">Frames</a></li>
-<li><a href="DenseRowIterator.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/utils/IntIntMap.html" target="_top">Frames</a></li>
+<li><a href="IntIntMap.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
 <li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -301,6 +345,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/utils/LinearAlgebraUtils.html b/docs/api/java/org/apache/sysds/runtime/compress/utils/LinearAlgebraUtils.html
index f377685..5885560 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/utils/LinearAlgebraUtils.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/utils/LinearAlgebraUtils.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":9,"i11":9,"i12":9,"i13":9,"i14":9,"i15":9,"i16":9,"i17":9,"i18":9};
+var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":9,"i11":9,"i12":9,"i13":9,"i14":9,"i15":9,"i16":9,"i17":9};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -49,7 +49,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/utils/IntArrayList.html" title="class in org.apache.sysds.runtime.compress.utils"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/utils/IntIntMap.html" title="class in org.apache.sysds.runtime.compress.utils"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li>Next&nbsp;Class</li>
 </ul>
 <ul class="navList">
@@ -241,6 +241,16 @@
 </tr>
 <tr id="i12" class="altColor">
 <td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/LinearAlgebraUtils.html#vectListAdd-double:A-double:A-int-int-int:A-int-int-">vectListAdd</a></span>(double[]&nbsp;preAggregatedValues,
+           double[]&nbsp;c,
+           int&nbsp;rl,
+           int&nbsp;ru,
+           int[]&nbsp;outputColumns,
+           int&nbsp;cut,
+           int&nbsp;n)</code>&nbsp;</td>
+</tr>
+<tr id="i13" class="rowColor">
+<td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/LinearAlgebraUtils.html#vectListAdd-double:A-double:A-int-int-int-int-int-int-">vectListAdd</a></span>(double[]&nbsp;values,
            double[]&nbsp;c,
            int&nbsp;rl,
@@ -252,32 +262,8 @@
 <div class="block">Adds the values list into all rows of c within row and col range.</div>
 </td>
 </tr>
-<tr id="i13" class="rowColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/LinearAlgebraUtils.html#vectListAddDDC-double:A-double:A-byte:A-int-int-int-int-int-int-">vectListAddDDC</a></span>(double[]&nbsp;values,
-              double[]&nbsp;c,
-              byte[]&nbsp;bix,
-              int&nbsp;rl,
-              int&nbsp;ru,
-              int&nbsp;cl,
-              int&nbsp;cu,
-              int&nbsp;cut,
-              int&nbsp;numVals)</code>&nbsp;</td>
-</tr>
 <tr id="i14" class="altColor">
 <td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/LinearAlgebraUtils.html#vectListAddDDC-double:A-double:A-char:A-int-int-int-int-int-int-">vectListAddDDC</a></span>(double[]&nbsp;values,
-              double[]&nbsp;c,
-              char[]&nbsp;bix,
-              int&nbsp;rl,
-              int&nbsp;ru,
-              int&nbsp;cl,
-              int&nbsp;cu,
-              int&nbsp;cut,
-              int&nbsp;numVals)</code>&nbsp;</td>
-</tr>
-<tr id="i15" class="rowColor">
-<td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/LinearAlgebraUtils.html#vectMultiplyAdd-double-double:A-double:A-int:A-int-int-int-">vectMultiplyAdd</a></span>(double&nbsp;aval,
                double[]&nbsp;b,
                double[]&nbsp;c,
@@ -286,7 +272,7 @@
                int&nbsp;ci,
                int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i16" class="altColor">
+<tr id="i15" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/LinearAlgebraUtils.html#vectMultiplyAdd-double-double:A-double:A-int-int-int-">vectMultiplyAdd</a></span>(double&nbsp;aval,
                double[]&nbsp;b,
@@ -295,7 +281,7 @@
                int&nbsp;ci,
                int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i17" class="rowColor">
+<tr id="i16" class="altColor">
 <td class="colFirst"><code>static double</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/LinearAlgebraUtils.html#vectSum-double:A-char:A-int-int-int-">vectSum</a></span>(double[]&nbsp;a,
        char[]&nbsp;bix,
@@ -303,7 +289,7 @@
        int&nbsp;bi,
        int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i18" class="altColor">
+<tr id="i17" class="rowColor">
 <td class="colFirst"><code>static double</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/LinearAlgebraUtils.html#vectSum-double:A-int-int-">vectSum</a></span>(double[]&nbsp;a,
        int&nbsp;ai,
@@ -479,40 +465,6 @@
                                int&nbsp;off)</pre>
 </li>
 </ul>
-<a name="vectListAddDDC-double:A-double:A-byte:A-int-int-int-int-int-int-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>vectListAddDDC</h4>
-<pre>public static&nbsp;void&nbsp;vectListAddDDC(double[]&nbsp;values,
-                                  double[]&nbsp;c,
-                                  byte[]&nbsp;bix,
-                                  int&nbsp;rl,
-                                  int&nbsp;ru,
-                                  int&nbsp;cl,
-                                  int&nbsp;cu,
-                                  int&nbsp;cut,
-                                  int&nbsp;numVals)</pre>
-</li>
-</ul>
-<a name="vectListAddDDC-double:A-double:A-char:A-int-int-int-int-int-int-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>vectListAddDDC</h4>
-<pre>public static&nbsp;void&nbsp;vectListAddDDC(double[]&nbsp;values,
-                                  double[]&nbsp;c,
-                                  char[]&nbsp;bix,
-                                  int&nbsp;rl,
-                                  int&nbsp;ru,
-                                  int&nbsp;cl,
-                                  int&nbsp;cu,
-                                  int&nbsp;cut,
-                                  int&nbsp;numVals)</pre>
-</li>
-</ul>
 <a name="vectListAdd-double:A-double:A-int-int-int-int-int-int-">
 <!--   -->
 </a>
@@ -541,6 +493,21 @@
 </dl>
 </li>
 </ul>
+<a name="vectListAdd-double:A-double:A-int-int-int:A-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>vectListAdd</h4>
+<pre>public static&nbsp;void&nbsp;vectListAdd(double[]&nbsp;preAggregatedValues,
+                               double[]&nbsp;c,
+                               int&nbsp;rl,
+                               int&nbsp;ru,
+                               int[]&nbsp;outputColumns,
+                               int&nbsp;cut,
+                               int&nbsp;n)</pre>
+</li>
+</ul>
 <a name="vectListAdd-double:A-double:A-byte:A-int-int-">
 <!--   -->
 </a>
@@ -656,7 +623,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/utils/IntArrayList.html" title="class in org.apache.sysds.runtime.compress.utils"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/utils/IntIntMap.html" title="class in org.apache.sysds.runtime.compress.utils"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li>Next&nbsp;Class</li>
 </ul>
 <ul class="navList">
@@ -697,6 +664,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/utils/class-use/ABitmap.BitmapType.html b/docs/api/java/org/apache/sysds/runtime/compress/utils/class-use/ABitmap.BitmapType.html
index b05d473..3a63e49 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/utils/class-use/ABitmap.BitmapType.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/utils/class-use/ABitmap.BitmapType.html
@@ -181,6 +181,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/utils/class-use/ABitmap.html b/docs/api/java/org/apache/sysds/runtime/compress/utils/class-use/ABitmap.html
index 2c4fdd1..ef82d2a 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/utils/class-use/ABitmap.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/utils/class-use/ABitmap.html
@@ -83,21 +83,21 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><a href="#org.apache.sysds.runtime.compress">org.apache.sysds.runtime.compress</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.compress.colgroup">org.apache.sysds.runtime.compress.colgroup</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.compress.estim">org.apache.sysds.runtime.compress.estim</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.compress.estim.sample">org.apache.sysds.runtime.compress.estim.sample</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.compress.lib">org.apache.sysds.runtime.compress.lib</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
 <tr class="altColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.compress.utils">org.apache.sysds.runtime.compress.utils</a></td>
 <td class="colLast">&nbsp;</td>
@@ -107,28 +107,6 @@
 </li>
 <li class="blockList">
 <ul class="blockList">
-<li class="blockList"><a name="org.apache.sysds.runtime.compress">
-<!--   -->
-</a>
-<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils">ABitmap</a> in <a href="../../../../../../../org/apache/sysds/runtime/compress/package-summary.html">org.apache.sysds.runtime.compress</a></h3>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/compress/package-summary.html">org.apache.sysds.runtime.compress</a> that return <a href="../../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils">ABitmap</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils">ABitmap</a></code></td>
-<td class="colLast"><span class="typeNameLabel">BitmapEncoder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/BitmapEncoder.html#extractBitmap-int:A-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.compress.CompressionSettings-">extractBitmap</a></span>(int[]&nbsp;colIndices,
-             <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;rawBlock,
-             <a href="../../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;compSettings)</code>
-<div class="block">Generate uncompressed bitmaps for a set of columns in an uncompressed matrix block.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
 <li class="blockList"><a name="org.apache.sysds.runtime.compress.colgroup">
 <!--   -->
 </a>
@@ -141,11 +119,11 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupFactory.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupFactory.html#compress-int:A-int-org.apache.sysds.runtime.compress.utils.ABitmap-org.apache.sysds.runtime.compress.colgroup.ColGroup.CompressionType-org.apache.sysds.runtime.compress.CompressionSettings-org.apache.sysds.runtime.matrix.data.MatrixBlock-">compress</a></span>(int[]&nbsp;colIndexes,
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupFactory.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupFactory.html#compress-int:A-int-org.apache.sysds.runtime.compress.utils.ABitmap-org.apache.sysds.runtime.compress.colgroup.AColGroup.CompressionType-org.apache.sysds.runtime.compress.CompressionSettings-org.apache.sysds.runtime.matrix.data.MatrixBlock-">compress</a></span>(int[]&nbsp;colIndexes,
         int&nbsp;rlen,
         <a href="../../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils">ABitmap</a>&nbsp;ubm,
-        <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>&nbsp;compType,
+        <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a>&nbsp;compType,
         <a href="../../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;cs,
         <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;rawMatrixBlock)</code>
 <div class="block">Method for compressing an ColGroup.</div>
@@ -167,7 +145,8 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/estim/EstimationFactors.html" title="class in org.apache.sysds.runtime.compress.estim">EstimationFactors</a></code></td>
-<td class="colLast"><span class="typeNameLabel">CompressedSizeEstimator.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimator.html#estimateCompressedColGroupSize-org.apache.sysds.runtime.compress.utils.ABitmap-">estimateCompressedColGroupSize</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils">ABitmap</a>&nbsp;ubm)</code>
+<td class="colLast"><span class="typeNameLabel">CompressedSizeEstimator.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimator.html#estimateCompressedColGroupSize-org.apache.sysds.runtime.compress.utils.ABitmap-int:A-">estimateCompressedColGroupSize</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils">ABitmap</a>&nbsp;ubm,
+                              int[]&nbsp;colIndexes)</code>
 <div class="block">Method used to extract the CompressedSizeEstimationFactors from an constructed UncompressedBitmap.</div>
 </td>
 </tr>
@@ -197,6 +176,40 @@
 </tbody>
 </table>
 </li>
+<li class="blockList"><a name="org.apache.sysds.runtime.compress.lib">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils">ABitmap</a> in <a href="../../../../../../../org/apache/sysds/runtime/compress/lib/package-summary.html">org.apache.sysds.runtime.compress.lib</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/compress/lib/package-summary.html">org.apache.sysds.runtime.compress.lib</a> that return <a href="../../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils">ABitmap</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils">ABitmap</a></code></td>
+<td class="colLast"><span class="typeNameLabel">BitmapEncoder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/BitmapEncoder.html#extractBitmap-int:A-int-java.util.BitSet-org.apache.sysds.runtime.compress.CompressionSettings-">extractBitmap</a></span>(int[]&nbsp;colIndices,
+             int&nbsp;rows,
+             <a href="https://docs.oracle.com/javase/8/docs/api/java/util/BitSet.html?is-external=true" title="class or interface in java.util">BitSet</a>&nbsp;rawBlock,
+             <a href="../../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;compSettings)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils">ABitmap</a></code></td>
+<td class="colLast"><span class="typeNameLabel">BitmapLossyEncoder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/BitmapLossyEncoder.html#extractMapFromCompressedSingleColumn-org.apache.sysds.runtime.compress.CompressedMatrixBlock-int-double-double-">extractMapFromCompressedSingleColumn</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;m,
+                                    int&nbsp;columnId,
+                                    double&nbsp;min,
+                                    double&nbsp;max)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils">ABitmap</a></code></td>
+<td class="colLast"><span class="typeNameLabel">BitmapLossyEncoder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/BitmapLossyEncoder.html#makeBitmapLossy-org.apache.sysds.runtime.compress.utils.Bitmap-">makeBitmapLossy</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/utils/Bitmap.html" title="class in org.apache.sysds.runtime.compress.utils">Bitmap</a>&nbsp;ubm)</code>
+<div class="block">Given a Bitmap try to make a lossy version of the same bitmap.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
 <li class="blockList"><a name="org.apache.sysds.runtime.compress.utils">
 <!--   -->
 </a>
@@ -274,6 +287,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/utils/class-use/Bitmap.html b/docs/api/java/org/apache/sysds/runtime/compress/utils/class-use/Bitmap.html
index d7e5c32..c98b918 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/utils/class-use/Bitmap.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/utils/class-use/Bitmap.html
@@ -86,6 +86,10 @@
 <td class="colFirst"><a href="#org.apache.sysds.runtime.compress.estim.sample">org.apache.sysds.runtime.compress.estim.sample</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.compress.lib">org.apache.sysds.runtime.compress.lib</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
 </tbody>
 </table>
 </li>
@@ -121,6 +125,43 @@
 </tbody>
 </table>
 </li>
+<li class="blockList"><a name="org.apache.sysds.runtime.compress.lib">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/compress/utils/Bitmap.html" title="class in org.apache.sysds.runtime.compress.utils">Bitmap</a> in <a href="../../../../../../../org/apache/sysds/runtime/compress/lib/package-summary.html">org.apache.sysds.runtime.compress.lib</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/compress/lib/package-summary.html">org.apache.sysds.runtime.compress.lib</a> that return <a href="../../../../../../../org/apache/sysds/runtime/compress/utils/Bitmap.html" title="class in org.apache.sysds.runtime.compress.utils">Bitmap</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/compress/utils/Bitmap.html" title="class in org.apache.sysds.runtime.compress.utils">Bitmap</a></code></td>
+<td class="colLast"><span class="typeNameLabel">BitmapEncoder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/BitmapEncoder.html#extractBitmap-int:A-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-">extractBitmap</a></span>(int[]&nbsp;colIndices,
+             <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;rawBlock,
+             boolean&nbsp;transposed)</code>
+<div class="block">Generate uncompressed bitmaps for a set of columns in an uncompressed matrix block.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/compress/lib/package-summary.html">org.apache.sysds.runtime.compress.lib</a> with parameters of type <a href="../../../../../../../org/apache/sysds/runtime/compress/utils/Bitmap.html" title="class in org.apache.sysds.runtime.compress.utils">Bitmap</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils">ABitmap</a></code></td>
+<td class="colLast"><span class="typeNameLabel">BitmapLossyEncoder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/BitmapLossyEncoder.html#makeBitmapLossy-org.apache.sysds.runtime.compress.utils.Bitmap-">makeBitmapLossy</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/utils/Bitmap.html" title="class in org.apache.sysds.runtime.compress.utils">Bitmap</a>&nbsp;ubm)</code>
+<div class="block">Given a Bitmap try to make a lossy version of the same bitmap.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
 </ul>
 </li>
 </ul>
@@ -172,6 +213,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/utils/class-use/BitmapLossy.html b/docs/api/java/org/apache/sysds/runtime/compress/utils/class-use/BitmapLossy.html
index 62c20d0..b327f6f 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/utils/class-use/BitmapLossy.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/utils/class-use/BitmapLossy.html
@@ -158,6 +158,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/utils/class-use/ColumnGroupIterator.html b/docs/api/java/org/apache/sysds/runtime/compress/utils/class-use/ColumnGroupIterator.html
deleted file mode 100644
index be003b5..0000000
--- a/docs/api/java/org/apache/sysds/runtime/compress/utils/class-use/ColumnGroupIterator.html
+++ /dev/null
@@ -1,125 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc -->
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.sysds.runtime.compress.utils.ColumnGroupIterator (SystemDS 2.1.0-SNAPSHOT API)</title>
-<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.sysds.runtime.compress.utils.ColumnGroupIterator (SystemDS 2.1.0-SNAPSHOT API)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/compress/utils/ColumnGroupIterator.html" title="class in org.apache.sysds.runtime.compress.utils">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../package-tree.html">Tree</a></li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/utils/class-use/ColumnGroupIterator.html" target="_top">Frames</a></li>
-<li><a href="ColumnGroupIterator.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class org.apache.sysds.runtime.compress.utils.ColumnGroupIterator" class="title">Uses of Class<br>org.apache.sysds.runtime.compress.utils.ColumnGroupIterator</h2>
-</div>
-<div class="classUseContainer">No usage of org.apache.sysds.runtime.compress.utils.ColumnGroupIterator</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/compress/utils/ColumnGroupIterator.html" title="class in org.apache.sysds.runtime.compress.utils">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../package-tree.html">Tree</a></li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/utils/class-use/ColumnGroupIterator.html" target="_top">Frames</a></li>
-<li><a href="ColumnGroupIterator.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
-</body>
-</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/utils/class-use/CustomHashMap.html b/docs/api/java/org/apache/sysds/runtime/compress/utils/class-use/CustomHashMap.html
index 04a311b..4918a3a 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/utils/class-use/CustomHashMap.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/utils/class-use/CustomHashMap.html
@@ -117,6 +117,53 @@
 </tr>
 </tbody>
 </table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/compress/utils/package-summary.html">org.apache.sysds.runtime.compress.utils</a> that return <a href="../../../../../../../org/apache/sysds/runtime/compress/utils/CustomHashMap.html" title="class in org.apache.sysds.runtime.compress.utils">CustomHashMap</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/utils/CustomHashMap.html" title="class in org.apache.sysds.runtime.compress.utils">CustomHashMap</a></code></td>
+<td class="colLast"><span class="typeNameLabel">CustomHashMap.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/utils/CustomHashMap.html#joinHashMap-org.apache.sysds.runtime.compress.utils.CustomHashMap-">joinHashMap</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/utils/CustomHashMap.html" title="class in org.apache.sysds.runtime.compress.utils">CustomHashMap</a>&nbsp;that)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/compress/utils/CustomHashMap.html" title="class in org.apache.sysds.runtime.compress.utils">CustomHashMap</a>[]</code></td>
+<td class="colLast"><span class="typeNameLabel">CustomHashMap.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/utils/CustomHashMap.html#joinHashMaps-org.apache.sysds.runtime.compress.utils.CustomHashMap:A-org.apache.sysds.runtime.compress.utils.CustomHashMap:A-">joinHashMaps</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/utils/CustomHashMap.html" title="class in org.apache.sysds.runtime.compress.utils">CustomHashMap</a>[]&nbsp;left,
+            <a href="../../../../../../../org/apache/sysds/runtime/compress/utils/CustomHashMap.html" title="class in org.apache.sysds.runtime.compress.utils">CustomHashMap</a>[]&nbsp;right)</code>
+<div class="block">Joins the two lists of hashmaps together to form one list containing element wise joins of the hashmaps.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/compress/utils/package-summary.html">org.apache.sysds.runtime.compress.utils</a> with parameters of type <a href="../../../../../../../org/apache/sysds/runtime/compress/utils/CustomHashMap.html" title="class in org.apache.sysds.runtime.compress.utils">CustomHashMap</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/utils/CustomHashMap.html" title="class in org.apache.sysds.runtime.compress.utils">CustomHashMap</a></code></td>
+<td class="colLast"><span class="typeNameLabel">CustomHashMap.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/utils/CustomHashMap.html#joinHashMap-org.apache.sysds.runtime.compress.utils.CustomHashMap-">joinHashMap</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/utils/CustomHashMap.html" title="class in org.apache.sysds.runtime.compress.utils">CustomHashMap</a>&nbsp;that)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/compress/utils/CustomHashMap.html" title="class in org.apache.sysds.runtime.compress.utils">CustomHashMap</a>[]</code></td>
+<td class="colLast"><span class="typeNameLabel">CustomHashMap.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/utils/CustomHashMap.html#joinHashMaps-org.apache.sysds.runtime.compress.utils.CustomHashMap:A-org.apache.sysds.runtime.compress.utils.CustomHashMap:A-">joinHashMaps</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/utils/CustomHashMap.html" title="class in org.apache.sysds.runtime.compress.utils">CustomHashMap</a>[]&nbsp;left,
+            <a href="../../../../../../../org/apache/sysds/runtime/compress/utils/CustomHashMap.html" title="class in org.apache.sysds.runtime.compress.utils">CustomHashMap</a>[]&nbsp;right)</code>
+<div class="block">Joins the two lists of hashmaps together to form one list containing element wise joins of the hashmaps.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/compress/utils/CustomHashMap.html" title="class in org.apache.sysds.runtime.compress.utils">CustomHashMap</a>[]</code></td>
+<td class="colLast"><span class="typeNameLabel">CustomHashMap.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/utils/CustomHashMap.html#joinHashMaps-org.apache.sysds.runtime.compress.utils.CustomHashMap:A-org.apache.sysds.runtime.compress.utils.CustomHashMap:A-">joinHashMaps</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/utils/CustomHashMap.html" title="class in org.apache.sysds.runtime.compress.utils">CustomHashMap</a>[]&nbsp;left,
+            <a href="../../../../../../../org/apache/sysds/runtime/compress/utils/CustomHashMap.html" title="class in org.apache.sysds.runtime.compress.utils">CustomHashMap</a>[]&nbsp;right)</code>
+<div class="block">Joins the two lists of hashmaps together to form one list containing element wise joins of the hashmaps.</div>
+</td>
+</tr>
+</tbody>
+</table>
 </li>
 </ul>
 </li>
@@ -169,6 +216,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/utils/class-use/DblArray.html b/docs/api/java/org/apache/sysds/runtime/compress/utils/class-use/DblArray.html
index ad913c1..4998e44 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/utils/class-use/DblArray.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/utils/class-use/DblArray.html
@@ -83,7 +83,7 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><a href="#org.apache.sysds.runtime.compress">org.apache.sysds.runtime.compress</a></td>
+<td class="colFirst"><a href="#org.apache.sysds.runtime.compress.readers">org.apache.sysds.runtime.compress.readers</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
@@ -95,12 +95,12 @@
 </li>
 <li class="blockList">
 <ul class="blockList">
-<li class="blockList"><a name="org.apache.sysds.runtime.compress">
+<li class="blockList"><a name="org.apache.sysds.runtime.compress.readers">
 <!--   -->
 </a>
-<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/compress/utils/DblArray.html" title="class in org.apache.sysds.runtime.compress.utils">DblArray</a> in <a href="../../../../../../../org/apache/sysds/runtime/compress/package-summary.html">org.apache.sysds.runtime.compress</a></h3>
+<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/compress/utils/DblArray.html" title="class in org.apache.sysds.runtime.compress.utils">DblArray</a> in <a href="../../../../../../../org/apache/sysds/runtime/compress/readers/package-summary.html">org.apache.sysds.runtime.compress.readers</a></h3>
 <table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/compress/package-summary.html">org.apache.sysds.runtime.compress</a> that return <a href="../../../../../../../org/apache/sysds/runtime/compress/utils/DblArray.html" title="class in org.apache.sysds.runtime.compress.utils">DblArray</a></span><span class="tabEnd">&nbsp;</span></caption>
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/compress/readers/package-summary.html">org.apache.sysds.runtime.compress.readers</a> that return <a href="../../../../../../../org/apache/sysds/runtime/compress/utils/DblArray.html" title="class in org.apache.sysds.runtime.compress.utils">DblArray</a></span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
 <th class="colLast" scope="col">Method and Description</th>
@@ -108,7 +108,7 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/utils/DblArray.html" title="class in org.apache.sysds.runtime.compress.utils">DblArray</a></code></td>
-<td class="colLast"><span class="typeNameLabel">ReaderColumnSelection.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelection.html#nextRow--">nextRow</a></span>()</code>
+<td class="colLast"><span class="typeNameLabel">ReaderColumnSelection.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelection.html#nextRow--">nextRow</a></span>()</code>
 <div class="block">Gets the next row, null when no more rows.</div>
 </td>
 </tr>
@@ -141,14 +141,19 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">DblArrayIntListHashMap.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/utils/DblArrayIntListHashMap.html#appendValue-org.apache.sysds.runtime.compress.utils.DblArray-int-">appendValue</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/utils/DblArray.html" title="class in org.apache.sysds.runtime.compress.utils">DblArray</a>&nbsp;key,
+           int&nbsp;value)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">DblArrayIntListHashMap.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/utils/DblArrayIntListHashMap.html#appendValue-org.apache.sysds.runtime.compress.utils.DblArray-org.apache.sysds.runtime.compress.utils.IntArrayList-">appendValue</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/utils/DblArray.html" title="class in org.apache.sysds.runtime.compress.utils">DblArray</a>&nbsp;key,
            <a href="../../../../../../../org/apache/sysds/runtime/compress/utils/IntArrayList.html" title="class in org.apache.sysds.runtime.compress.utils">IntArrayList</a>&nbsp;value)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/utils/IntArrayList.html" title="class in org.apache.sysds.runtime.compress.utils">IntArrayList</a></code></td>
 <td class="colLast"><span class="typeNameLabel">DblArrayIntListHashMap.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/utils/DblArrayIntListHashMap.html#get-org.apache.sysds.runtime.compress.utils.DblArray-">get</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/utils/DblArray.html" title="class in org.apache.sysds.runtime.compress.utils">DblArray</a>&nbsp;key)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">DblArray.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/utils/DblArray.html#isZero-org.apache.sysds.runtime.compress.utils.DblArray-">isZero</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/utils/DblArray.html" title="class in org.apache.sysds.runtime.compress.utils">DblArray</a>&nbsp;val)</code>&nbsp;</td>
 </tr>
@@ -221,6 +226,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/utils/class-use/DblArrayIntListHashMap.DArrayIListEntry.html b/docs/api/java/org/apache/sysds/runtime/compress/utils/class-use/DblArrayIntListHashMap.DArrayIListEntry.html
index f102d6f..4d4e03f 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/utils/class-use/DblArrayIntListHashMap.DArrayIListEntry.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/utils/class-use/DblArrayIntListHashMap.DArrayIListEntry.html
@@ -191,6 +191,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/utils/class-use/DblArrayIntListHashMap.html b/docs/api/java/org/apache/sysds/runtime/compress/utils/class-use/DblArrayIntListHashMap.html
index ad6280b..a7b0ebf 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/utils/class-use/DblArrayIntListHashMap.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/utils/class-use/DblArrayIntListHashMap.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/utils/class-use/DoubleIntListHashMap.DIListEntry.html b/docs/api/java/org/apache/sysds/runtime/compress/utils/class-use/DoubleIntListHashMap.DIListEntry.html
index c22ebea..e56a526 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/utils/class-use/DoubleIntListHashMap.DIListEntry.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/utils/class-use/DoubleIntListHashMap.DIListEntry.html
@@ -191,6 +191,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/utils/class-use/DoubleIntListHashMap.html b/docs/api/java/org/apache/sysds/runtime/compress/utils/class-use/DoubleIntListHashMap.html
index 0c1ad45..8819d3d 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/utils/class-use/DoubleIntListHashMap.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/utils/class-use/DoubleIntListHashMap.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/utils/class-use/IntArrayList.html b/docs/api/java/org/apache/sysds/runtime/compress/utils/class-use/IntArrayList.html
index cd1ebf1..917baca 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/utils/class-use/IntArrayList.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/utils/class-use/IntArrayList.html
@@ -83,6 +83,10 @@
 </tr>
 <tbody>
 <tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.compress.colgroup.tree">org.apache.sysds.runtime.compress.colgroup.tree</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.compress.utils">org.apache.sysds.runtime.compress.utils</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
@@ -91,6 +95,47 @@
 </li>
 <li class="blockList">
 <ul class="blockList">
+<li class="blockList"><a name="org.apache.sysds.runtime.compress.colgroup.tree">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/compress/utils/IntArrayList.html" title="class in org.apache.sysds.runtime.compress.utils">IntArrayList</a> in <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/package-summary.html">org.apache.sysds.runtime.compress.colgroup.tree</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/package-summary.html">org.apache.sysds.runtime.compress.colgroup.tree</a> with parameters of type <a href="../../../../../../../org/apache/sysds/runtime/compress/utils/IntArrayList.html" title="class in org.apache.sysds.runtime.compress.utils">IntArrayList</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">AInsertionSorter.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/AInsertionSorter.html#insert-org.apache.sysds.runtime.compress.utils.IntArrayList:A-">insert</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/utils/IntArrayList.html" title="class in org.apache.sysds.runtime.compress.utils">IntArrayList</a>[]&nbsp;offsets)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">Naive.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/Naive.html#insert-org.apache.sysds.runtime.compress.utils.IntArrayList:A-">insert</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/utils/IntArrayList.html" title="class in org.apache.sysds.runtime.compress.utils">IntArrayList</a>[]&nbsp;offsets)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">MaterializeSort.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/MaterializeSort.html#insert-org.apache.sysds.runtime.compress.utils.IntArrayList:A-">insert</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/utils/IntArrayList.html" title="class in org.apache.sysds.runtime.compress.utils">IntArrayList</a>[]&nbsp;offsets)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">AInsertionSorter.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/AInsertionSorter.html#insert-org.apache.sysds.runtime.compress.utils.IntArrayList:A-int-">insert</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/utils/IntArrayList.html" title="class in org.apache.sysds.runtime.compress.utils">IntArrayList</a>[]&nbsp;offsets,
+      int&nbsp;negativeIndex)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">Naive.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/Naive.html#insert-org.apache.sysds.runtime.compress.utils.IntArrayList:A-int-">insert</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/utils/IntArrayList.html" title="class in org.apache.sysds.runtime.compress.utils">IntArrayList</a>[]&nbsp;offsets,
+      int&nbsp;negativeIndex)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">MaterializeSort.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/MaterializeSort.html#insert-org.apache.sysds.runtime.compress.utils.IntArrayList:A-int-">insert</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/utils/IntArrayList.html" title="class in org.apache.sysds.runtime.compress.utils">IntArrayList</a>[]&nbsp;offsets,
+      int&nbsp;negativeIndex)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
 <li class="blockList"><a name="org.apache.sysds.runtime.compress.utils">
 <!--   -->
 </a>
@@ -246,6 +291,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/lib/class-use/LibScalar.html b/docs/api/java/org/apache/sysds/runtime/compress/utils/class-use/IntIntMap.html
similarity index 80%
rename from docs/api/java/org/apache/sysds/runtime/compress/lib/class-use/LibScalar.html
rename to docs/api/java/org/apache/sysds/runtime/compress/utils/class-use/IntIntMap.html
index ba0747d..b49617d 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/lib/class-use/LibScalar.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/utils/class-use/IntIntMap.html
@@ -4,7 +4,7 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.sysds.runtime.compress.lib.LibScalar (SystemDS 2.1.0-SNAPSHOT API)</title>
+<title>Uses of Class org.apache.sysds.runtime.compress.utils.IntIntMap (SystemDS 2.1.0-SNAPSHOT API)</title>
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.sysds.runtime.compress.lib.LibScalar (SystemDS 2.1.0-SNAPSHOT API)";
+            parent.document.title="Uses of Class org.apache.sysds.runtime.compress.utils.IntIntMap (SystemDS 2.1.0-SNAPSHOT API)";
         }
     }
     catch(err) {
@@ -33,7 +33,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/LibScalar.html" title="class in org.apache.sysds.runtime.compress.lib">Class</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/utils/IntIntMap.html" title="class in org.apache.sysds.runtime.compress.utils">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -47,8 +47,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/lib/class-use/LibScalar.html" target="_top">Frames</a></li>
-<li><a href="LibScalar.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/utils/class-use/IntIntMap.html" target="_top">Frames</a></li>
+<li><a href="IntIntMap.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -70,9 +70,9 @@
 </a></div>
 <!-- ========= END OF TOP NAVBAR ========= -->
 <div class="header">
-<h2 title="Uses of Class org.apache.sysds.runtime.compress.lib.LibScalar" class="title">Uses of Class<br>org.apache.sysds.runtime.compress.lib.LibScalar</h2>
+<h2 title="Uses of Class org.apache.sysds.runtime.compress.utils.IntIntMap" class="title">Uses of Class<br>org.apache.sysds.runtime.compress.utils.IntIntMap</h2>
 </div>
-<div class="classUseContainer">No usage of org.apache.sysds.runtime.compress.lib.LibScalar</div>
+<div class="classUseContainer">No usage of org.apache.sysds.runtime.compress.utils.IntIntMap</div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
 <!--   -->
@@ -84,7 +84,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/LibScalar.html" title="class in org.apache.sysds.runtime.compress.lib">Class</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/utils/IntIntMap.html" title="class in org.apache.sysds.runtime.compress.utils">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -98,8 +98,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/lib/class-use/LibScalar.html" target="_top">Frames</a></li>
-<li><a href="LibScalar.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/utils/class-use/IntIntMap.html" target="_top">Frames</a></li>
+<li><a href="IntIntMap.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/utils/class-use/LinearAlgebraUtils.html b/docs/api/java/org/apache/sysds/runtime/compress/utils/class-use/LinearAlgebraUtils.html
index 3f04599..459d322 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/utils/class-use/LinearAlgebraUtils.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/utils/class-use/LinearAlgebraUtils.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/utils/package-frame.html b/docs/api/java/org/apache/sysds/runtime/compress/utils/package-frame.html
index 4553f22..f1f0e7b 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/utils/package-frame.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/utils/package-frame.html
@@ -16,12 +16,12 @@
 <li><a href="ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils" target="classFrame">ABitmap</a></li>
 <li><a href="Bitmap.html" title="class in org.apache.sysds.runtime.compress.utils" target="classFrame">Bitmap</a></li>
 <li><a href="BitmapLossy.html" title="class in org.apache.sysds.runtime.compress.utils" target="classFrame">BitmapLossy</a></li>
-<li><a href="ColumnGroupIterator.html" title="class in org.apache.sysds.runtime.compress.utils" target="classFrame">ColumnGroupIterator</a></li>
 <li><a href="CustomHashMap.html" title="class in org.apache.sysds.runtime.compress.utils" target="classFrame">CustomHashMap</a></li>
 <li><a href="DblArray.html" title="class in org.apache.sysds.runtime.compress.utils" target="classFrame">DblArray</a></li>
 <li><a href="DblArrayIntListHashMap.html" title="class in org.apache.sysds.runtime.compress.utils" target="classFrame">DblArrayIntListHashMap</a></li>
 <li><a href="DoubleIntListHashMap.html" title="class in org.apache.sysds.runtime.compress.utils" target="classFrame">DoubleIntListHashMap</a></li>
 <li><a href="IntArrayList.html" title="class in org.apache.sysds.runtime.compress.utils" target="classFrame">IntArrayList</a></li>
+<li><a href="IntIntMap.html" title="class in org.apache.sysds.runtime.compress.utils" target="classFrame">IntIntMap</a></li>
 <li><a href="LinearAlgebraUtils.html" title="class in org.apache.sysds.runtime.compress.utils" target="classFrame">LinearAlgebraUtils</a></li>
 </ul>
 <h2 title="Enums">Enums</h2>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/utils/package-summary.html b/docs/api/java/org/apache/sysds/runtime/compress/utils/package-summary.html
index bf022af..39e7c29 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/utils/package-summary.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/utils/package-summary.html
@@ -43,7 +43,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/lib/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/readers/package-summary.html">Prev&nbsp;Package</a></li>
 <li><a href="../../../../../../org/apache/sysds/runtime/controlprogram/package-summary.html">Next&nbsp;Package</a></li>
 </ul>
 <ul class="navList">
@@ -99,40 +99,42 @@
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/ColumnGroupIterator.html" title="class in org.apache.sysds.runtime.compress.utils">ColumnGroupIterator</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-<tr class="altColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/CustomHashMap.html" title="class in org.apache.sysds.runtime.compress.utils">CustomHashMap</a></td>
 <td class="colLast">
 <div class="block">This class provides a memory-efficient base for Custom HashMaps for restricted use cases.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/DblArray.html" title="class in org.apache.sysds.runtime.compress.utils">DblArray</a></td>
 <td class="colLast">
 <div class="block">Helper class used for bitmap extraction.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/DblArrayIntListHashMap.html" title="class in org.apache.sysds.runtime.compress.utils">DblArrayIntListHashMap</a></td>
 <td class="colLast">
 <div class="block">This class provides a memory-efficient replacement for <code>HashMap&lt;DblArray,IntArrayList&gt;</code> for restricted use
  cases.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/DoubleIntListHashMap.html" title="class in org.apache.sysds.runtime.compress.utils">DoubleIntListHashMap</a></td>
 <td class="colLast">
 <div class="block">This class provides a memory-efficient replacement for <code>HashMap&lt;Double,IntArrayList&gt;</code> for restricted use cases.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/IntArrayList.html" title="class in org.apache.sysds.runtime.compress.utils">IntArrayList</a></td>
 <td class="colLast">
 <div class="block">This class provides a memory-efficient replacement for <code>ArrayList&lt;Integer&gt;</code> for restricted use cases.</div>
 </td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/IntIntMap.html" title="class in org.apache.sysds.runtime.compress.utils">IntIntMap</a></td>
+<td class="colLast">
+<div class="block">This int it map supports incrementing entries and only this.</div>
+</td>
+</tr>
 <tr class="rowColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/LinearAlgebraUtils.html" title="class in org.apache.sysds.runtime.compress.utils">LinearAlgebraUtils</a></td>
 <td class="colLast">
@@ -180,7 +182,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/lib/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/readers/package-summary.html">Prev&nbsp;Package</a></li>
 <li><a href="../../../../../../org/apache/sysds/runtime/controlprogram/package-summary.html">Next&nbsp;Package</a></li>
 </ul>
 <ul class="navList">
@@ -206,6 +208,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/utils/package-tree.html b/docs/api/java/org/apache/sysds/runtime/compress/utils/package-tree.html
index c49a4f8..d18067e 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/utils/package-tree.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/utils/package-tree.html
@@ -43,7 +43,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/lib/package-tree.html">Prev</a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/readers/package-tree.html">Prev</a></li>
 <li><a href="../../../../../../org/apache/sysds/runtime/controlprogram/package-tree.html">Next</a></li>
 </ul>
 <ul class="navList">
@@ -87,7 +87,6 @@
 <li type="circle">org.apache.sysds.runtime.compress.utils.<a href="../../../../../../org/apache/sysds/runtime/compress/utils/BitmapLossy.html" title="class in org.apache.sysds.runtime.compress.utils"><span class="typeNameLink">BitmapLossy</span></a></li>
 </ul>
 </li>
-<li type="circle">org.apache.sysds.runtime.compress.utils.<a href="../../../../../../org/apache/sysds/runtime/compress/utils/ColumnGroupIterator.html" title="class in org.apache.sysds.runtime.compress.utils"><span class="typeNameLink">ColumnGroupIterator</span></a> (implements java.util.<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;E&gt;)</li>
 <li type="circle">org.apache.sysds.runtime.compress.utils.<a href="../../../../../../org/apache/sysds/runtime/compress/utils/CustomHashMap.html" title="class in org.apache.sysds.runtime.compress.utils"><span class="typeNameLink">CustomHashMap</span></a>
 <ul>
 <li type="circle">org.apache.sysds.runtime.compress.utils.<a href="../../../../../../org/apache/sysds/runtime/compress/utils/DblArrayIntListHashMap.html" title="class in org.apache.sysds.runtime.compress.utils"><span class="typeNameLink">DblArrayIntListHashMap</span></a></li>
@@ -98,6 +97,7 @@
 <li type="circle">org.apache.sysds.runtime.compress.utils.<a href="../../../../../../org/apache/sysds/runtime/compress/utils/DblArrayIntListHashMap.DArrayIListEntry.html" title="class in org.apache.sysds.runtime.compress.utils"><span class="typeNameLink">DblArrayIntListHashMap.DArrayIListEntry</span></a> (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.util.<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html?is-external=true" title="class or interface in java.util">Comparator</a>&lt;T&gt;)</li>
 <li type="circle">org.apache.sysds.runtime.compress.utils.<a href="../../../../../../org/apache/sysds/runtime/compress/utils/DoubleIntListHashMap.DIListEntry.html" title="class in org.apache.sysds.runtime.compress.utils"><span class="typeNameLink">DoubleIntListHashMap.DIListEntry</span></a> (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.util.<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html?is-external=true" title="class or interface in java.util">Comparator</a>&lt;T&gt;)</li>
 <li type="circle">org.apache.sysds.runtime.compress.utils.<a href="../../../../../../org/apache/sysds/runtime/compress/utils/IntArrayList.html" title="class in org.apache.sysds.runtime.compress.utils"><span class="typeNameLink">IntArrayList</span></a></li>
+<li type="circle">org.apache.sysds.runtime.compress.utils.<a href="../../../../../../org/apache/sysds/runtime/compress/utils/IntIntMap.html" title="class in org.apache.sysds.runtime.compress.utils"><span class="typeNameLink">IntIntMap</span></a></li>
 <li type="circle">org.apache.sysds.runtime.compress.utils.<a href="../../../../../../org/apache/sysds/runtime/compress/utils/LinearAlgebraUtils.html" title="class in org.apache.sysds.runtime.compress.utils"><span class="typeNameLink">LinearAlgebraUtils</span></a></li>
 </ul>
 </li>
@@ -136,7 +136,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/lib/package-tree.html">Prev</a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/readers/package-tree.html">Prev</a></li>
 <li><a href="../../../../../../org/apache/sysds/runtime/controlprogram/package-tree.html">Next</a></li>
 </ul>
 <ul class="navList">
@@ -162,6 +162,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/utils/package-use.html b/docs/api/java/org/apache/sysds/runtime/compress/utils/package-use.html
index 78abea6..24af23d 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/utils/package-use.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/utils/package-use.html
@@ -83,11 +83,11 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><a href="#org.apache.sysds.runtime.compress">org.apache.sysds.runtime.compress</a></td>
+<td class="colFirst"><a href="#org.apache.sysds.runtime.compress.colgroup">org.apache.sysds.runtime.compress.colgroup</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><a href="#org.apache.sysds.runtime.compress.colgroup">org.apache.sysds.runtime.compress.colgroup</a></td>
+<td class="colFirst"><a href="#org.apache.sysds.runtime.compress.colgroup.tree">org.apache.sysds.runtime.compress.colgroup.tree</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor">
@@ -99,28 +99,16 @@
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><a href="#org.apache.sysds.runtime.compress.utils">org.apache.sysds.runtime.compress.utils</a></td>
+<td class="colFirst"><a href="#org.apache.sysds.runtime.compress.lib">org.apache.sysds.runtime.compress.lib</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-</tbody>
-</table>
-</li>
-<li class="blockList"><a name="org.apache.sysds.runtime.compress">
-<!--   -->
-</a>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
-<caption><span>Classes in <a href="../../../../../../org/apache/sysds/runtime/compress/utils/package-summary.html">org.apache.sysds.runtime.compress.utils</a> used by <a href="../../../../../../org/apache/sysds/runtime/compress/package-summary.html">org.apache.sysds.runtime.compress</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Class and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/class-use/ABitmap.html#org.apache.sysds.runtime.compress">ABitmap</a>&nbsp;</td>
-</tr>
 <tr class="rowColor">
-<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/class-use/DblArray.html#org.apache.sysds.runtime.compress">DblArray</a>
-<div class="block">Helper class used for bitmap extraction.</div>
-</td>
+<td class="colFirst"><a href="#org.apache.sysds.runtime.compress.readers">org.apache.sysds.runtime.compress.readers</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.compress.utils">org.apache.sysds.runtime.compress.utils</a></td>
+<td class="colLast">&nbsp;</td>
 </tr>
 </tbody>
 </table>
@@ -145,6 +133,23 @@
 </tbody>
 </table>
 </li>
+<li class="blockList"><a name="org.apache.sysds.runtime.compress.colgroup.tree">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../../org/apache/sysds/runtime/compress/utils/package-summary.html">org.apache.sysds.runtime.compress.utils</a> used by <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/tree/package-summary.html">org.apache.sysds.runtime.compress.colgroup.tree</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/class-use/IntArrayList.html#org.apache.sysds.runtime.compress.colgroup.tree">IntArrayList</a>
+<div class="block">This class provides a memory-efficient replacement for <code>ArrayList&lt;Integer&gt;</code> for restricted use cases.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
 <li class="blockList"><a name="org.apache.sysds.runtime.compress.estim">
 <!--   -->
 </a>
@@ -180,6 +185,43 @@
 </tbody>
 </table>
 </li>
+<li class="blockList"><a name="org.apache.sysds.runtime.compress.lib">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../../org/apache/sysds/runtime/compress/utils/package-summary.html">org.apache.sysds.runtime.compress.utils</a> used by <a href="../../../../../../org/apache/sysds/runtime/compress/lib/package-summary.html">org.apache.sysds.runtime.compress.lib</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/class-use/ABitmap.html#org.apache.sysds.runtime.compress.lib">ABitmap</a>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/class-use/Bitmap.html#org.apache.sysds.runtime.compress.lib">Bitmap</a>
+<div class="block">Uncompressed representation of one or more columns in bitmap format.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.sysds.runtime.compress.readers">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../../org/apache/sysds/runtime/compress/utils/package-summary.html">org.apache.sysds.runtime.compress.utils</a> used by <a href="../../../../../../org/apache/sysds/runtime/compress/readers/package-summary.html">org.apache.sysds.runtime.compress.readers</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/class-use/DblArray.html#org.apache.sysds.runtime.compress.readers">DblArray</a>
+<div class="block">Helper class used for bitmap extraction.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
 <li class="blockList"><a name="org.apache.sysds.runtime.compress.utils">
 <!--   -->
 </a>
@@ -268,6 +310,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/BasicProgramBlock.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/BasicProgramBlock.html
index 6aa8801..41805ce 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/BasicProgramBlock.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/BasicProgramBlock.html
@@ -187,8 +187,7 @@
 <tr id="i3" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/controlprogram/ProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ProgramBlock</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/controlprogram/BasicProgramBlock.html#getChildBlocks--">getChildBlocks</a></span>()</code>
-<div class="block">Get the list of child program blocks if nested;
- otherwise this method returns null.</div>
+<div class="block">Get the list of child program blocks if nested; otherwise this method returns null.</div>
 </td>
 </tr>
 <tr id="i4" class="altColor">
@@ -206,8 +205,7 @@
 <tr id="i7" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/controlprogram/BasicProgramBlock.html#isNested--">isNested</a></span>()</code>
-<div class="block">Indicates if the program block is nested, i.e., 
- if it contains other program blocks (e.g., loops).</div>
+<div class="block">Indicates if the program block is nested, i.e., if it contains other program blocks (e.g., loops).</div>
 </td>
 </tr>
 <tr id="i8" class="altColor">
@@ -329,8 +327,7 @@
 <h4>getChildBlocks</h4>
 <pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/controlprogram/ProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ProgramBlock</a>&gt;&nbsp;getChildBlocks()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/controlprogram/ProgramBlock.html#getChildBlocks--">ProgramBlock</a></code></span></div>
-<div class="block">Get the list of child program blocks if nested;
- otherwise this method returns null.</div>
+<div class="block">Get the list of child program blocks if nested; otherwise this method returns null.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/sysds/runtime/controlprogram/ProgramBlock.html#getChildBlocks--">getChildBlocks</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/controlprogram/ProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ProgramBlock</a></code></dd>
@@ -347,8 +344,7 @@
 <h4>isNested</h4>
 <pre>public&nbsp;boolean&nbsp;isNested()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/controlprogram/ProgramBlock.html#isNested--">ProgramBlock</a></code></span></div>
-<div class="block">Indicates if the program block is nested, i.e., 
- if it contains other program blocks (e.g., loops).</div>
+<div class="block">Indicates if the program block is nested, i.e., if it contains other program blocks (e.g., loops).</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/sysds/runtime/controlprogram/ProgramBlock.html#isNested--">isNested</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/controlprogram/ProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ProgramBlock</a></code></dd>
@@ -443,6 +439,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/ForProgramBlock.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/ForProgramBlock.html
index fcdf9a4..f2227a8 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/ForProgramBlock.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/ForProgramBlock.html
@@ -188,8 +188,7 @@
 <tr id="i2" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/controlprogram/ProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ProgramBlock</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/controlprogram/ForProgramBlock.html#getChildBlocks--">getChildBlocks</a></span>()</code>
-<div class="block">Get the list of child program blocks if nested;
- otherwise this method returns null.</div>
+<div class="block">Get the list of child program blocks if nested; otherwise this method returns null.</div>
 </td>
 </tr>
 <tr id="i3" class="rowColor">
@@ -211,8 +210,7 @@
 <tr id="i7" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/controlprogram/ForProgramBlock.html#isNested--">isNested</a></span>()</code>
-<div class="block">Indicates if the program block is nested, i.e., 
- if it contains other program blocks (e.g., loops).</div>
+<div class="block">Indicates if the program block is nested, i.e., if it contains other program blocks (e.g., loops).</div>
 </td>
 </tr>
 <tr id="i8" class="altColor">
@@ -378,8 +376,7 @@
 <h4>getChildBlocks</h4>
 <pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/controlprogram/ProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ProgramBlock</a>&gt;&nbsp;getChildBlocks()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/controlprogram/ProgramBlock.html#getChildBlocks--">ProgramBlock</a></code></span></div>
-<div class="block">Get the list of child program blocks if nested;
- otherwise this method returns null.</div>
+<div class="block">Get the list of child program blocks if nested; otherwise this method returns null.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/sysds/runtime/controlprogram/ProgramBlock.html#getChildBlocks--">getChildBlocks</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/controlprogram/ProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ProgramBlock</a></code></dd>
@@ -396,8 +393,7 @@
 <h4>isNested</h4>
 <pre>public&nbsp;boolean&nbsp;isNested()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/controlprogram/ProgramBlock.html#isNested--">ProgramBlock</a></code></span></div>
-<div class="block">Indicates if the program block is nested, i.e., 
- if it contains other program blocks (e.g., loops).</div>
+<div class="block">Indicates if the program block is nested, i.e., if it contains other program blocks (e.g., loops).</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/sysds/runtime/controlprogram/ProgramBlock.html#isNested--">isNested</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/controlprogram/ProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ProgramBlock</a></code></dd>
@@ -505,6 +501,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/FunctionProgramBlock.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/FunctionProgramBlock.html
index b358f40..9abbe88 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/FunctionProgramBlock.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/FunctionProgramBlock.html
@@ -205,8 +205,7 @@
 <tr id="i3" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/controlprogram/ProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ProgramBlock</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/controlprogram/FunctionProgramBlock.html#getChildBlocks--">getChildBlocks</a></span>()</code>
-<div class="block">Get the list of child program blocks if nested;
- otherwise this method returns null.</div>
+<div class="block">Get the list of child program blocks if nested; otherwise this method returns null.</div>
 </td>
 </tr>
 <tr id="i4" class="altColor">
@@ -228,8 +227,7 @@
 <tr id="i8" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/controlprogram/FunctionProgramBlock.html#isNested--">isNested</a></span>()</code>
-<div class="block">Indicates if the program block is nested, i.e., 
- if it contains other program blocks (e.g., loops).</div>
+<div class="block">Indicates if the program block is nested, i.e., if it contains other program blocks (e.g., loops).</div>
 </td>
 </tr>
 <tr id="i9" class="rowColor">
@@ -399,8 +397,7 @@
 <h4>getChildBlocks</h4>
 <pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/controlprogram/ProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ProgramBlock</a>&gt;&nbsp;getChildBlocks()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/controlprogram/ProgramBlock.html#getChildBlocks--">ProgramBlock</a></code></span></div>
-<div class="block">Get the list of child program blocks if nested;
- otherwise this method returns null.</div>
+<div class="block">Get the list of child program blocks if nested; otherwise this method returns null.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/sysds/runtime/controlprogram/ProgramBlock.html#getChildBlocks--">getChildBlocks</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/controlprogram/ProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ProgramBlock</a></code></dd>
@@ -417,8 +414,7 @@
 <h4>isNested</h4>
 <pre>public&nbsp;boolean&nbsp;isNested()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/controlprogram/ProgramBlock.html#isNested--">ProgramBlock</a></code></span></div>
-<div class="block">Indicates if the program block is nested, i.e., 
- if it contains other program blocks (e.g., loops).</div>
+<div class="block">Indicates if the program block is nested, i.e., if it contains other program blocks (e.g., loops).</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/sysds/runtime/controlprogram/ProgramBlock.html#isNested--">isNested</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/controlprogram/ProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ProgramBlock</a></code></dd>
@@ -575,6 +571,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/IfProgramBlock.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/IfProgramBlock.html
index d3b198e..0f60c34 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/IfProgramBlock.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/IfProgramBlock.html
@@ -188,8 +188,7 @@
 <tr id="i3" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/controlprogram/ProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ProgramBlock</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/controlprogram/IfProgramBlock.html#getChildBlocks--">getChildBlocks</a></span>()</code>
-<div class="block">Get the list of child program blocks if nested;
- otherwise this method returns null.</div>
+<div class="block">Get the list of child program blocks if nested; otherwise this method returns null.</div>
 </td>
 </tr>
 <tr id="i4" class="altColor">
@@ -207,8 +206,7 @@
 <tr id="i7" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/controlprogram/IfProgramBlock.html#isNested--">isNested</a></span>()</code>
-<div class="block">Indicates if the program block is nested, i.e., 
- if it contains other program blocks (e.g., loops).</div>
+<div class="block">Indicates if the program block is nested, i.e., if it contains other program blocks (e.g., loops).</div>
 </td>
 </tr>
 <tr id="i8" class="altColor">
@@ -365,8 +363,7 @@
 <h4>getChildBlocks</h4>
 <pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/controlprogram/ProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ProgramBlock</a>&gt;&nbsp;getChildBlocks()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/controlprogram/ProgramBlock.html#getChildBlocks--">ProgramBlock</a></code></span></div>
-<div class="block">Get the list of child program blocks if nested;
- otherwise this method returns null.</div>
+<div class="block">Get the list of child program blocks if nested; otherwise this method returns null.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/sysds/runtime/controlprogram/ProgramBlock.html#getChildBlocks--">getChildBlocks</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/controlprogram/ProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ProgramBlock</a></code></dd>
@@ -383,8 +380,7 @@
 <h4>isNested</h4>
 <pre>public&nbsp;boolean&nbsp;isNested()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/controlprogram/ProgramBlock.html#isNested--">ProgramBlock</a></code></span></div>
-<div class="block">Indicates if the program block is nested, i.e., 
- if it contains other program blocks (e.g., loops).</div>
+<div class="block">Indicates if the program block is nested, i.e., if it contains other program blocks (e.g., loops).</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/sysds/runtime/controlprogram/ProgramBlock.html#isNested--">isNested</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/controlprogram/ProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ProgramBlock</a></code></dd>
@@ -501,6 +497,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/LocalVariableMap.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/LocalVariableMap.html
index 2e6ebfa..2db99ac 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/LocalVariableMap.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/LocalVariableMap.html
@@ -549,6 +549,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/ParForProgramBlock.PDataPartitionFormat.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/ParForProgramBlock.PDataPartitionFormat.html
index 34fddbc..75d1686 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/ParForProgramBlock.PDataPartitionFormat.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/ParForProgramBlock.PDataPartitionFormat.html
@@ -437,6 +437,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/ParForProgramBlock.PDataPartitioner.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/ParForProgramBlock.PDataPartitioner.html
index 6235c82..b7d0ee5 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/ParForProgramBlock.PDataPartitioner.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/ParForProgramBlock.PDataPartitioner.html
@@ -365,6 +365,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/ParForProgramBlock.PExecMode.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/ParForProgramBlock.PExecMode.html
index 094eccf..b33d8c2 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/ParForProgramBlock.PExecMode.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/ParForProgramBlock.PExecMode.html
@@ -365,6 +365,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/ParForProgramBlock.POptMode.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/ParForProgramBlock.POptMode.html
index 3d1dabe..716128e 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/ParForProgramBlock.POptMode.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/ParForProgramBlock.POptMode.html
@@ -365,6 +365,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/ParForProgramBlock.PResultMerge.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/ParForProgramBlock.PResultMerge.html
index 303c0b2..fd51860 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/ParForProgramBlock.PResultMerge.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/ParForProgramBlock.PResultMerge.html
@@ -390,6 +390,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/ParForProgramBlock.PTaskPartitioner.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/ParForProgramBlock.PTaskPartitioner.html
index fa1d9cc..755dddc 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/ParForProgramBlock.PTaskPartitioner.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/ParForProgramBlock.PTaskPartitioner.html
@@ -401,6 +401,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/ParForProgramBlock.PartitionFormat.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/ParForProgramBlock.PartitionFormat.html
index 14553a2..763d885 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/ParForProgramBlock.PartitionFormat.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/ParForProgramBlock.PartitionFormat.html
@@ -487,6 +487,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/ParForProgramBlock.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/ParForProgramBlock.html
index be3a4f7..aed1e69 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/ParForProgramBlock.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/ParForProgramBlock.html
@@ -700,11 +700,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>ALLOW_BROADCAST_INPUTS</h4>
-<pre>public static final&nbsp;boolean ALLOW_BROADCAST_INPUTS</pre>
-<dl>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../../constant-values.html#org.apache.sysds.runtime.controlprogram.ParForProgramBlock.ALLOW_BROADCAST_INPUTS">Constant Field Values</a></dd>
-</dl>
+<pre>public static&nbsp;boolean ALLOW_BROADCAST_INPUTS</pre>
 </li>
 </ul>
 <a name="PARFOR_FNAME_PREFIX">
@@ -1196,6 +1192,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/Program.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/Program.html
index 0e7d67f..e834745 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/Program.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/Program.html
@@ -572,6 +572,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/ProgramBlock.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/ProgramBlock.html
index 4c3f3c6..ae0527c 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/ProgramBlock.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/ProgramBlock.html
@@ -225,8 +225,7 @@
 <tr id="i4" class="altColor">
 <td class="colFirst"><code>abstract <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/controlprogram/ProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ProgramBlock</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/controlprogram/ProgramBlock.html#getChildBlocks--">getChildBlocks</a></span>()</code>
-<div class="block">Get the list of child program blocks if nested;
- otherwise this method returns null.</div>
+<div class="block">Get the list of child program blocks if nested; otherwise this method returns null.</div>
 </td>
 </tr>
 <tr id="i5" class="rowColor">
@@ -268,8 +267,7 @@
 <tr id="i14" class="altColor">
 <td class="colFirst"><code>abstract boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/controlprogram/ProgramBlock.html#isNested--">isNested</a></span>()</code>
-<div class="block">Indicates if the program block is nested, i.e., 
- if it contains other program blocks (e.g., loops).</div>
+<div class="block">Indicates if the program block is nested, i.e., if it contains other program blocks (e.g., loops).</div>
 </td>
 </tr>
 <tr id="i15" class="rowColor">
@@ -544,8 +542,7 @@
 <li class="blockList">
 <h4>getChildBlocks</h4>
 <pre>public abstract&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/controlprogram/ProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ProgramBlock</a>&gt;&nbsp;getChildBlocks()</pre>
-<div class="block">Get the list of child program blocks if nested;
- otherwise this method returns null.</div>
+<div class="block">Get the list of child program blocks if nested; otherwise this method returns null.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>list of program blocks</dd>
@@ -559,8 +556,7 @@
 <li class="blockList">
 <h4>isNested</h4>
 <pre>public abstract&nbsp;boolean&nbsp;isNested()</pre>
-<div class="block">Indicates if the program block is nested, i.e., 
- if it contains other program blocks (e.g., loops).</div>
+<div class="block">Indicates if the program block is nested, i.e., if it contains other program blocks (e.g., loops).</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>true if nested</dd>
@@ -780,9 +776,8 @@
 <div class="block">Set parse information.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>parseInfo</code> - parse information, such as beginning line position, beginning
-            column position, ending line position, ending column position,
-            text, and filename</dd>
+<dd><code>parseInfo</code> - parse information, such as beginning line position, beginning column position, ending line
+                  position, ending column position, text, and filename</dd>
 </dl>
 </li>
 </ul>
@@ -855,6 +850,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/WhileProgramBlock.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/WhileProgramBlock.html
index 379093e..e9afbef 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/WhileProgramBlock.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/WhileProgramBlock.html
@@ -184,8 +184,7 @@
 <tr id="i2" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/controlprogram/ProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ProgramBlock</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/controlprogram/WhileProgramBlock.html#getChildBlocks--">getChildBlocks</a></span>()</code>
-<div class="block">Get the list of child program blocks if nested;
- otherwise this method returns null.</div>
+<div class="block">Get the list of child program blocks if nested; otherwise this method returns null.</div>
 </td>
 </tr>
 <tr id="i3" class="rowColor">
@@ -195,8 +194,7 @@
 <tr id="i4" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/controlprogram/WhileProgramBlock.html#isNested--">isNested</a></span>()</code>
-<div class="block">Indicates if the program block is nested, i.e., 
- if it contains other program blocks (e.g., loops).</div>
+<div class="block">Indicates if the program block is nested, i.e., if it contains other program blocks (e.g., loops).</div>
 </td>
 </tr>
 <tr id="i5" class="rowColor">
@@ -300,8 +298,7 @@
 <h4>getChildBlocks</h4>
 <pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/controlprogram/ProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ProgramBlock</a>&gt;&nbsp;getChildBlocks()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/controlprogram/ProgramBlock.html#getChildBlocks--">ProgramBlock</a></code></span></div>
-<div class="block">Get the list of child program blocks if nested;
- otherwise this method returns null.</div>
+<div class="block">Get the list of child program blocks if nested; otherwise this method returns null.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/sysds/runtime/controlprogram/ProgramBlock.html#getChildBlocks--">getChildBlocks</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/controlprogram/ProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ProgramBlock</a></code></dd>
@@ -318,8 +315,7 @@
 <h4>isNested</h4>
 <pre>public&nbsp;boolean&nbsp;isNested()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/controlprogram/ProgramBlock.html#isNested--">ProgramBlock</a></code></span></div>
-<div class="block">Indicates if the program block is nested, i.e., 
- if it contains other program blocks (e.g., loops).</div>
+<div class="block">Indicates if the program block is nested, i.e., if it contains other program blocks (e.g., loops).</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/sysds/runtime/controlprogram/ProgramBlock.html#isNested--">isNested</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/controlprogram/ProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ProgramBlock</a></code></dd>
@@ -436,6 +432,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/ByteBuffer.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/ByteBuffer.html
index e694db2..32d8467 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/ByteBuffer.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/ByteBuffer.html
@@ -396,6 +396,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html
index 87afad8..b09ce73 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6,"i8":6,"i9":6};
+var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6,"i8":6,"i9":6,"i10":6};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -105,7 +105,7 @@
 </dl>
 <dl>
 <dt>All Known Implementing Classes:</dt>
-<dd><a href="../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">AbstractCompressedMatrixBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/data/TensorBlock.html" title="class in org.apache.sysds.runtime.data">TensorBlock</a></dd>
+<dd><a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/data/TensorBlock.html" title="class in org.apache.sysds.runtime.data">TensorBlock</a></dd>
 </dl>
 <hr>
 <br>
@@ -138,26 +138,30 @@
 </td>
 </tr>
 <tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html#getDataCharacteristics--">getDataCharacteristics</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html#getExactSerializedSize--">getExactSerializedSize</a></span>()</code>
 <div class="block">Get the exact serialized size in bytes of the cache block.</div>
 </td>
 </tr>
-<tr id="i2" class="altColor">
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html#getInMemorySize--">getInMemorySize</a></span>()</code>
 <div class="block">Get the in-memory size in bytes of the cache block.</div>
 </td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html#getNumColumns--">getNumColumns</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html#getNumRows--">getNumRows</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html#isShallowSerialize--">isShallowSerialize</a></span>()</code>
 <div class="block">Indicates if the cache block is subject to shallow serialized,
@@ -165,7 +169,7 @@
  are almost identical allowing to avoid unnecessary deep serialize.</div>
 </td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html#isShallowSerialize-boolean-">isShallowSerialize</a></span>(boolean&nbsp;inclConvert)</code>
 <div class="block">Indicates if the cache block is subject to shallow serialized,
@@ -173,14 +177,14 @@
  are almost identical allowing to avoid unnecessary deep serialize.</div>
 </td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html#merge-org.apache.sysds.runtime.controlprogram.caching.CacheBlock-boolean-">merge</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html" title="interface in org.apache.sysds.runtime.controlprogram.caching">CacheBlock</a>&nbsp;that,
      boolean&nbsp;appendOnly)</code>
 <div class="block">Merge the given block into the current block.</div>
 </td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html" title="interface in org.apache.sysds.runtime.controlprogram.caching">CacheBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html#slice-int-int-int-int-org.apache.sysds.runtime.controlprogram.caching.CacheBlock-">slice</a></span>(int&nbsp;rl,
      int&nbsp;ru,
@@ -190,7 +194,7 @@
 <div class="block">Slice a sub block out of the current block and write into the given output block.</div>
 </td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i10" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html#toShallowSerializeBlock--">toShallowSerializeBlock</a></span>()</code>
 <div class="block">Converts a cache block that is not shallow serializable into
@@ -237,6 +241,15 @@
 <pre>int&nbsp;getNumColumns()</pre>
 </li>
 </ul>
+<a name="getDataCharacteristics--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getDataCharacteristics</h4>
+<pre><a href="../../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a>&nbsp;getDataCharacteristics()</pre>
+</li>
+</ul>
 <a name="getInMemorySize--">
 <!--   -->
 </a>
@@ -434,6 +447,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/CacheBlockFactory.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/CacheBlockFactory.html
index de23a37..195b29b 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/CacheBlockFactory.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/CacheBlockFactory.html
@@ -295,6 +295,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/CacheDataInput.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/CacheDataInput.html
index 4674e4f..085db04 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/CacheDataInput.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/CacheDataInput.html
@@ -632,6 +632,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/CacheDataOutput.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/CacheDataOutput.html
index acae60f..d810f21 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/CacheDataOutput.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/CacheDataOutput.html
@@ -627,6 +627,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/CacheStatistics.Stat.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/CacheStatistics.Stat.html
index acda7e2..1c288e8 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/CacheStatistics.Stat.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/CacheStatistics.Stat.html
@@ -151,29 +151,35 @@
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheStatistics.Stat.html#CACHE_HITS_HDFS">CACHE_HITS_HDFS</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheStatistics.Stat.html#CACHE_HITS_LIN">CACHE_HITS_LIN</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheStatistics.Stat.html#CACHE_HITS_MEM">CACHE_HITS_MEM</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheStatistics.Stat.html#CACHE_TIME_ACQM">CACHE_TIME_ACQM</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheStatistics.Stat.html#CACHE_TIME_ACQR">CACHE_TIME_ACQR</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheStatistics.Stat.html#CACHE_TIME_EXP">CACHE_TIME_EXP</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheStatistics.Stat.html#CACHE_TIME_RLS">CACHE_TIME_RLS</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheStatistics.Stat.html#CACHE_WRITES_FS">CACHE_WRITES_FS</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheStatistics.Stat.html#CACHE_WRITES_FSBUFF">CACHE_WRITES_FSBUFF</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheStatistics.Stat.html#CACHE_WRITES_HDFS">CACHE_WRITES_HDFS</a></span></code>&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheStatistics.Stat.html#CACHE_WRITES_LIN">CACHE_WRITES_LIN</a></span></code>&nbsp;</td>
+</tr>
 </table>
 </li>
 </ul>
@@ -267,6 +273,15 @@
 <pre>public static final&nbsp;<a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheStatistics.Stat.html" title="enum in org.apache.sysds.runtime.controlprogram.caching">CacheStatistics.Stat</a> CACHE_HITS_HDFS</pre>
 </li>
 </ul>
+<a name="CACHE_HITS_LIN">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>CACHE_HITS_LIN</h4>
+<pre>public static final&nbsp;<a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheStatistics.Stat.html" title="enum in org.apache.sysds.runtime.controlprogram.caching">CacheStatistics.Stat</a> CACHE_HITS_LIN</pre>
+</li>
+</ul>
 <a name="CACHE_WRITES_FSBUFF">
 <!--   -->
 </a>
@@ -294,6 +309,15 @@
 <pre>public static final&nbsp;<a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheStatistics.Stat.html" title="enum in org.apache.sysds.runtime.controlprogram.caching">CacheStatistics.Stat</a> CACHE_WRITES_HDFS</pre>
 </li>
 </ul>
+<a name="CACHE_WRITES_LIN">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>CACHE_WRITES_LIN</h4>
+<pre>public static final&nbsp;<a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheStatistics.Stat.html" title="enum in org.apache.sysds.runtime.controlprogram.caching">CacheStatistics.Stat</a> CACHE_WRITES_LIN</pre>
+</li>
+</ul>
 <a name="CACHE_TIME_ACQR">
 <!--   -->
 </a>
@@ -449,6 +473,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/CacheStatistics.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/CacheStatistics.html
index be78754..d5aef08 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/CacheStatistics.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/CacheStatistics.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":9,"i11":9,"i12":9,"i13":9,"i14":9,"i15":9,"i16":9,"i17":9,"i18":9,"i19":9,"i20":9,"i21":9,"i22":9,"i23":9,"i24":9,"i25":9,"i26":9,"i27":9,"i28":9,"i29":9,"i30":9,"i31":9,"i32":9};
+var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":9,"i11":9,"i12":9,"i13":9,"i14":9,"i15":9,"i16":9,"i17":9,"i18":9,"i19":9,"i20":9,"i21":9,"i22":9,"i23":9,"i24":9,"i25":9,"i26":9,"i27":9,"i28":9,"i29":9,"i30":9,"i31":9,"i32":9,"i33":9,"i34":9,"i35":9,"i36":9,"i37":9,"i38":9};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -223,86 +223,110 @@
 </tr>
 <tr id="i12" class="altColor">
 <td class="colFirst"><code>static long</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheStatistics.html#getMemHits--">getMemHits</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheStatistics.html#getLinHits--">getLinHits</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i13" class="rowColor">
 <td class="colFirst"><code>static long</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheStatistics.html#getReleaseTime--">getReleaseTime</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheStatistics.html#getLinWrites--">getLinWrites</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i14" class="altColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheStatistics.html#incrementAcquireMTime-long-">incrementAcquireMTime</a></span>(long&nbsp;delta)</code>&nbsp;</td>
+<td class="colFirst"><code>static long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheStatistics.html#getMemHits--">getMemHits</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i15" class="rowColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheStatistics.html#incrementAcquireRTime-long-">incrementAcquireRTime</a></span>(long&nbsp;delta)</code>&nbsp;</td>
+<td class="colFirst"><code>static long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheStatistics.html#getReleaseTime--">getReleaseTime</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i16" class="altColor">
 <td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheStatistics.html#incrementExportTime-long-">incrementExportTime</a></span>(long&nbsp;delta)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheStatistics.html#incrementAcquireMTime-long-">incrementAcquireMTime</a></span>(long&nbsp;delta)</code>&nbsp;</td>
 </tr>
 <tr id="i17" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheStatistics.html#incrementFSBuffHits--">incrementFSBuffHits</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheStatistics.html#incrementAcquireRTime-long-">incrementAcquireRTime</a></span>(long&nbsp;delta)</code>&nbsp;</td>
 </tr>
 <tr id="i18" class="altColor">
 <td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheStatistics.html#incrementFSBuffHits-int-">incrementFSBuffHits</a></span>(int&nbsp;delta)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheStatistics.html#incrementExportTime-long-">incrementExportTime</a></span>(long&nbsp;delta)</code>&nbsp;</td>
 </tr>
 <tr id="i19" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheStatistics.html#incrementFSBuffWrites--">incrementFSBuffWrites</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheStatistics.html#incrementFSBuffHits--">incrementFSBuffHits</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i20" class="altColor">
 <td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheStatistics.html#incrementFSBuffWrites-int-">incrementFSBuffWrites</a></span>(int&nbsp;delta)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheStatistics.html#incrementFSBuffHits-int-">incrementFSBuffHits</a></span>(int&nbsp;delta)</code>&nbsp;</td>
 </tr>
 <tr id="i21" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheStatistics.html#incrementFSHits--">incrementFSHits</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheStatistics.html#incrementFSBuffWrites--">incrementFSBuffWrites</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i22" class="altColor">
 <td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheStatistics.html#incrementFSHits-int-">incrementFSHits</a></span>(int&nbsp;delta)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheStatistics.html#incrementFSBuffWrites-int-">incrementFSBuffWrites</a></span>(int&nbsp;delta)</code>&nbsp;</td>
 </tr>
 <tr id="i23" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheStatistics.html#incrementFSWrites--">incrementFSWrites</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheStatistics.html#incrementFSHits--">incrementFSHits</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i24" class="altColor">
 <td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheStatistics.html#incrementFSWrites-int-">incrementFSWrites</a></span>(int&nbsp;delta)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheStatistics.html#incrementFSHits-int-">incrementFSHits</a></span>(int&nbsp;delta)</code>&nbsp;</td>
 </tr>
 <tr id="i25" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheStatistics.html#incrementHDFSHits--">incrementHDFSHits</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheStatistics.html#incrementFSWrites--">incrementFSWrites</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i26" class="altColor">
 <td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheStatistics.html#incrementHDFSHits-int-">incrementHDFSHits</a></span>(int&nbsp;delta)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheStatistics.html#incrementFSWrites-int-">incrementFSWrites</a></span>(int&nbsp;delta)</code>&nbsp;</td>
 </tr>
 <tr id="i27" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheStatistics.html#incrementHDFSWrites--">incrementHDFSWrites</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheStatistics.html#incrementHDFSHits--">incrementHDFSHits</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i28" class="altColor">
 <td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheStatistics.html#incrementHDFSWrites-int-">incrementHDFSWrites</a></span>(int&nbsp;delta)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheStatistics.html#incrementHDFSHits-int-">incrementHDFSHits</a></span>(int&nbsp;delta)</code>&nbsp;</td>
 </tr>
 <tr id="i29" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheStatistics.html#incrementMemHits--">incrementMemHits</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheStatistics.html#incrementHDFSWrites--">incrementHDFSWrites</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i30" class="altColor">
 <td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheStatistics.html#incrementMemHits-int-">incrementMemHits</a></span>(int&nbsp;delta)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheStatistics.html#incrementHDFSWrites-int-">incrementHDFSWrites</a></span>(int&nbsp;delta)</code>&nbsp;</td>
 </tr>
 <tr id="i31" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheStatistics.html#incrementReleaseTime-long-">incrementReleaseTime</a></span>(long&nbsp;delta)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheStatistics.html#incrementLinHits--">incrementLinHits</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i32" class="altColor">
 <td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheStatistics.html#incrementLinHits-int-">incrementLinHits</a></span>(int&nbsp;delta)</code>&nbsp;</td>
+</tr>
+<tr id="i33" class="rowColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheStatistics.html#incrementLinWrites--">incrementLinWrites</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i34" class="altColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheStatistics.html#incrementLinWrites-int-">incrementLinWrites</a></span>(int&nbsp;delta)</code>&nbsp;</td>
+</tr>
+<tr id="i35" class="rowColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheStatistics.html#incrementMemHits--">incrementMemHits</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i36" class="altColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheStatistics.html#incrementMemHits-int-">incrementMemHits</a></span>(int&nbsp;delta)</code>&nbsp;</td>
+</tr>
+<tr id="i37" class="rowColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheStatistics.html#incrementReleaseTime-long-">incrementReleaseTime</a></span>(long&nbsp;delta)</code>&nbsp;</td>
+</tr>
+<tr id="i38" class="altColor">
+<td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheStatistics.html#reset--">reset</a></span>()</code>&nbsp;</td>
 </tr>
 </table>
@@ -461,6 +485,33 @@
 <pre>public static&nbsp;long&nbsp;getHDFSHits()</pre>
 </li>
 </ul>
+<a name="incrementLinHits--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>incrementLinHits</h4>
+<pre>public static&nbsp;void&nbsp;incrementLinHits()</pre>
+</li>
+</ul>
+<a name="incrementLinHits-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>incrementLinHits</h4>
+<pre>public static&nbsp;void&nbsp;incrementLinHits(int&nbsp;delta)</pre>
+</li>
+</ul>
+<a name="getLinHits--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getLinHits</h4>
+<pre>public static&nbsp;long&nbsp;getLinHits()</pre>
+</li>
+</ul>
 <a name="incrementFSBuffWrites--">
 <!--   -->
 </a>
@@ -542,6 +593,33 @@
 <pre>public static&nbsp;long&nbsp;getHDFSWrites()</pre>
 </li>
 </ul>
+<a name="incrementLinWrites--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>incrementLinWrites</h4>
+<pre>public static&nbsp;void&nbsp;incrementLinWrites()</pre>
+</li>
+</ul>
+<a name="incrementLinWrites-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>incrementLinWrites</h4>
+<pre>public static&nbsp;void&nbsp;incrementLinWrites(int&nbsp;delta)</pre>
+</li>
+</ul>
+<a name="getLinWrites--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getLinWrites</h4>
+<pre>public static&nbsp;long&nbsp;getLinWrites()</pre>
+</li>
+</ul>
 <a name="incrementAcquireRTime-long-">
 <!--   -->
 </a>
@@ -710,6 +788,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/CacheableData.CacheStatus.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/CacheableData.CacheStatus.html
index e420ca9..3b13756 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/CacheableData.CacheStatus.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/CacheableData.CacheStatus.html
@@ -390,6 +390,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/CacheableData.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/CacheableData.html
index ea46538..24c7ffe 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/CacheableData.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/CacheableData.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":9,"i4":9,"i5":9,"i6":10,"i7":10,"i8":9,"i9":9,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":9,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":9,"i34":9,"i35":10,"i36":9,"i37":10,"i38":10,"i39":10,"i40":10,"i41":10,"i42":10,"i43":6,"i44":10,"i45":10,"i46":10,"i47":10,"i48":10,"i49":10,"i50":10,"i51":10,"i52":10,"i53":10,"i54":10,"i55":10,"i56":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":9,"i4":9,"i5":9,"i6":10,"i7":10,"i8":9,"i9":9,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":9,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":9,"i36":9,"i37":9,"i38":10,"i39":9,"i40":10,"i41":10,"i42":10,"i43":10,"i44":10,"i45":10,"i46":6,"i47":10,"i48":10,"i49":10,"i50":10,"i51":10,"i52":10,"i53":10,"i54":10,"i55":10,"i56":10,"i57":10,"i58":10,"i59":10,"i60":10,"i61":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -189,29 +189,33 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#CACHING_BUFFER_PAGECACHE">CACHING_BUFFER_PAGECACHE</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#CACHING_ASYNC_SERIALIZE">CACHING_ASYNC_SERIALIZE</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><code>static boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#CACHING_BUFFER_PAGECACHE">CACHING_BUFFER_PAGECACHE</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/LazyWriteBuffer.RPolicy.html" title="enum in org.apache.sysds.runtime.controlprogram.caching">LazyWriteBuffer.RPolicy</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#CACHING_BUFFER_POLICY">CACHING_BUFFER_POLICY</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static double</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#CACHING_BUFFER_SIZE">CACHING_BUFFER_SIZE</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#CACHING_COUNTER_GROUP_NAME">CACHING_COUNTER_GROUP_NAME</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#CACHING_EVICTION_FILEEXTENSION">CACHING_EVICTION_FILEEXTENSION</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#CACHING_THRESHOLD">CACHING_THRESHOLD</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#CACHING_WRITE_CACHE_ON_READ">CACHING_WRITE_CACHE_ON_READ</a></span></code>&nbsp;</td>
 </tr>
@@ -342,87 +346,99 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#getBroadcastSize--">getBroadcastSize</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i20" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#getCacheLineage--">getCacheLineage</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i21" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#getDataCharacteristics--">getDataCharacteristics</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i21" class="rowColor">
+<tr id="i22" class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#getDataSize--">getDataSize</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i22" class="altColor">
+<tr id="i23" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#getDebugName--">getDebugName</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i23" class="rowColor">
+<tr id="i24" class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationMap</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#getFedMapping--">getFedMapping</a></span>()</code>
 <div class="block">Gets the mapping of indices ranges to federated objects.</div>
 </td>
 </tr>
-<tr id="i24" class="altColor">
+<tr id="i25" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/io/FileFormatProperties.html" title="class in org.apache.sysds.runtime.io">FileFormatProperties</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#getFileFormatProperties--">getFileFormatProperties</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i25" class="rowColor">
+<tr id="i26" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#getFileName--">getFileName</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i26" class="altColor">
+<tr id="i27" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">GPUObject</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#getGPUObject-org.apache.sysds.runtime.instructions.gpu.context.GPUContext-">getGPUObject</a></span>(<a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUContext.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">GPUContext</a>&nbsp;gCtx)</code>&nbsp;</td>
 </tr>
-<tr id="i27" class="rowColor">
+<tr id="i28" class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/meta/MetaData.html" title="class in org.apache.sysds.runtime.meta">MetaData</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#getMetaData--">getMetaData</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i28" class="altColor">
+<tr id="i29" class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#getNumColumns--">getNumColumns</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i29" class="rowColor">
+<tr id="i30" class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#getNumRows--">getNumRows</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i30" class="altColor">
+<tr id="i31" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/data/RDDObject.html" title="class in org.apache.sysds.runtime.instructions.spark.data">RDDObject</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#getRDDHandle--">getRDDHandle</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i31" class="rowColor">
+<tr id="i32" class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.CacheStatus.html" title="enum in org.apache.sysds.runtime.controlprogram.caching">CacheableData.CacheStatus</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#getStatus--">getStatus</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i32" class="altColor">
+<tr id="i33" class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#getUniqueID--">getUniqueID</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i33" class="rowColor">
+<tr id="i34" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#hasValidLineage--">hasValidLineage</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i35" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#initCaching--">initCaching</a></span>()</code>
 <div class="block">Inits caching with the default uuid of DMLScript</div>
 </td>
 </tr>
-<tr id="i34" class="altColor">
+<tr id="i36" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#initCaching-java.lang.String-">initCaching</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;uuid)</code>
 <div class="block">Creates the DML-script-specific caching working dir.</div>
 </td>
 </tr>
-<tr id="i35" class="rowColor">
+<tr id="i37" class="rowColor">
+<td class="colFirst"><code>static boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#isBelowCachingThreshold-org.apache.sysds.runtime.controlprogram.caching.CacheBlock-">isBelowCachingThreshold</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html" title="interface in org.apache.sysds.runtime.controlprogram.caching">CacheBlock</a>&nbsp;data)</code>&nbsp;</td>
+</tr>
+<tr id="i38" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#isCached-boolean-">isCached</a></span>(boolean&nbsp;inclCachedNoWrite)</code>&nbsp;</td>
 </tr>
-<tr id="i36" class="altColor">
+<tr id="i39" class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#isCachingActive--">isCachingActive</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i37" class="rowColor">
+<tr id="i40" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#isCleanupEnabled--">isCleanupEnabled</a></span>()</code>
 <div class="block">Indicates if cleanup of the associated data object 
  is enabled on clearData().</div>
 </td>
 </tr>
-<tr id="i38" class="altColor">
+<tr id="i41" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#isDirty--">isDirty</a></span>()</code>
 <div class="block"><code>true</code> if the in-memory or evicted matrix may be different from
@@ -430,83 +446,91 @@
  matrices are supposed to be the same.</div>
 </td>
 </tr>
-<tr id="i39" class="rowColor">
+<tr id="i42" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#isFederated--">isFederated</a></span>()</code>
 <div class="block">Check if object is federated.</div>
 </td>
 </tr>
-<tr id="i40" class="altColor">
+<tr id="i43" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#isFederated-org.apache.sysds.runtime.controlprogram.federated.FederationMap.FType-">isFederated</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.FType.html" title="enum in org.apache.sysds.runtime.controlprogram.federated">FederationMap.FType</a>&nbsp;type)</code>&nbsp;</td>
 </tr>
-<tr id="i41" class="rowColor">
+<tr id="i44" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#isHDFSFileExists--">isHDFSFileExists</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i42" class="altColor">
+<tr id="i45" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#moveData-java.lang.String-java.lang.String-">moveData</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;fName,
         <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;outputFormat)</code>&nbsp;</td>
 </tr>
-<tr id="i43" class="rowColor">
+<tr id="i46" class="altColor">
 <td class="colFirst"><code>abstract void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#refreshMetaData--">refreshMetaData</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i44" class="altColor">
+<tr id="i47" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#release--">release</a></span>()</code>
 <div class="block">Releases the shared ("read-only") or exclusive ("write") lock.</div>
 </td>
 </tr>
-<tr id="i45" class="rowColor">
+<tr id="i48" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#removeGPUObject-org.apache.sysds.runtime.instructions.gpu.context.GPUContext-">removeGPUObject</a></span>(<a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUContext.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">GPUContext</a>&nbsp;gCtx)</code>&nbsp;</td>
+</tr>
+<tr id="i49" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#removeMetaData--">removeMetaData</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i46" class="altColor">
+<tr id="i50" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#setBroadcastHandle-org.apache.sysds.runtime.instructions.spark.data.BroadcastObject-">setBroadcastHandle</a></span>(<a href="../../../../../../org/apache/sysds/runtime/instructions/spark/data/BroadcastObject.html" title="class in org.apache.sysds.runtime.instructions.spark.data">BroadcastObject</a>&nbsp;bc)</code>&nbsp;</td>
 </tr>
-<tr id="i47" class="rowColor">
+<tr id="i51" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#setCacheLineage-org.apache.sysds.runtime.lineage.LineageItem-">setCacheLineage</a></span>(<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;li)</code>&nbsp;</td>
+</tr>
+<tr id="i52" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#setDirty-boolean-">setDirty</a></span>(boolean&nbsp;flag)</code>&nbsp;</td>
 </tr>
-<tr id="i48" class="altColor">
+<tr id="i53" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#setEmptyStatus--">setEmptyStatus</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i49" class="rowColor">
+<tr id="i54" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#setFedMapping-org.apache.sysds.runtime.controlprogram.federated.FederationMap-">setFedMapping</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationMap</a>&nbsp;fedMapping)</code>
 <div class="block">Sets the mapping of indices ranges to federated objects.</div>
 </td>
 </tr>
-<tr id="i50" class="altColor">
+<tr id="i55" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#setFileFormatProperties-org.apache.sysds.runtime.io.FileFormatProperties-">setFileFormatProperties</a></span>(<a href="../../../../../../org/apache/sysds/runtime/io/FileFormatProperties.html" title="class in org.apache.sysds.runtime.io">FileFormatProperties</a>&nbsp;props)</code>&nbsp;</td>
 </tr>
-<tr id="i51" class="rowColor">
+<tr id="i56" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#setFileName-java.lang.String-">setFileName</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;file)</code>&nbsp;</td>
 </tr>
-<tr id="i52" class="altColor">
+<tr id="i57" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#setGPUObject-org.apache.sysds.runtime.instructions.gpu.context.GPUContext-org.apache.sysds.runtime.instructions.gpu.context.GPUObject-">setGPUObject</a></span>(<a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUContext.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">GPUContext</a>&nbsp;gCtx,
             <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">GPUObject</a>&nbsp;gObj)</code>&nbsp;</td>
 </tr>
-<tr id="i53" class="rowColor">
+<tr id="i58" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#setHDFSFileExists-boolean-">setHDFSFileExists</a></span>(boolean&nbsp;flag)</code>&nbsp;</td>
 </tr>
-<tr id="i54" class="altColor">
+<tr id="i59" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#setMetaData-org.apache.sysds.runtime.meta.MetaData-">setMetaData</a></span>(<a href="../../../../../../org/apache/sysds/runtime/meta/MetaData.html" title="class in org.apache.sysds.runtime.meta">MetaData</a>&nbsp;md)</code>&nbsp;</td>
 </tr>
-<tr id="i55" class="rowColor">
+<tr id="i60" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#setRDDHandle-org.apache.sysds.runtime.instructions.spark.data.RDDObject-">setRDDHandle</a></span>(<a href="../../../../../../org/apache/sysds/runtime/instructions/spark/data/RDDObject.html" title="class in org.apache.sysds.runtime.instructions.spark.data">RDDObject</a>&nbsp;rdd)</code>&nbsp;</td>
 </tr>
-<tr id="i56" class="altColor">
+<tr id="i61" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#toString--">toString</a></span>()</code>&nbsp;</td>
 </tr>
@@ -635,6 +659,19 @@
 </dl>
 </li>
 </ul>
+<a name="CACHING_ASYNC_SERIALIZE">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>CACHING_ASYNC_SERIALIZE</h4>
+<pre>public static final&nbsp;boolean CACHING_ASYNC_SERIALIZE</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../../constant-values.html#org.apache.sysds.runtime.controlprogram.caching.CacheableData.CACHING_ASYNC_SERIALIZE">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
 <a name="cacheEvictionLocalFilePath">
 <!--   -->
 </a>
@@ -863,6 +900,33 @@
 <pre>public abstract&nbsp;void&nbsp;refreshMetaData()</pre>
 </li>
 </ul>
+<a name="getCacheLineage--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getCacheLineage</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;getCacheLineage()</pre>
+</li>
+</ul>
+<a name="setCacheLineage-org.apache.sysds.runtime.lineage.LineageItem-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setCacheLineage</h4>
+<pre>public&nbsp;void&nbsp;setCacheLineage(<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;li)</pre>
+</li>
+</ul>
+<a name="hasValidLineage--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>hasValidLineage</h4>
+<pre>public&nbsp;boolean&nbsp;hasValidLineage()</pre>
+</li>
+</ul>
 <a name="isFederated--">
 <!--   -->
 </a>
@@ -969,6 +1033,15 @@
                          <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">GPUObject</a>&nbsp;gObj)</pre>
 </li>
 </ul>
+<a name="removeGPUObject-org.apache.sysds.runtime.instructions.gpu.context.GPUContext-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>removeGPUObject</h4>
+<pre>public&nbsp;void&nbsp;removeGPUObject(<a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUContext.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">GPUContext</a>&nbsp;gCtx)</pre>
+</li>
+</ul>
 <a name="acquireReadAndRelease--">
 <!--   -->
 </a>
@@ -1168,6 +1241,15 @@
  Must be defined by a subclass, never called by users.</div>
 </li>
 </ul>
+<a name="isBelowCachingThreshold-org.apache.sysds.runtime.controlprogram.caching.CacheBlock-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isBelowCachingThreshold</h4>
+<pre>public static&nbsp;boolean&nbsp;isBelowCachingThreshold(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html" title="interface in org.apache.sysds.runtime.controlprogram.caching">CacheBlock</a>&nbsp;data)</pre>
+</li>
+</ul>
 <a name="getDataSize--">
 <!--   -->
 </a>
@@ -1402,6 +1484,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/FrameObject.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/FrameObject.html
index 0cdb651..51a776b 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/FrameObject.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/FrameObject.html
@@ -161,7 +161,7 @@
 <!--   -->
 </a>
 <h3>Fields inherited from class&nbsp;org.apache.sysds.runtime.controlprogram.caching.<a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html" title="class in org.apache.sysds.runtime.controlprogram.caching">CacheableData</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#cacheEvictionLocalFilePath">cacheEvictionLocalFilePath</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#cacheEvictionLocalFilePrefix">cacheEvictionLocalFilePrefix</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#CACHING_ASYNC_FILECLEANUP">CACHING_ASYNC_FILECLEANUP</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#CACHING_BUFFER_PAGECACHE">CACHING_BUFFER_PAGECACHE</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#CACHING_BUFFER_POLICY">CACHING_BUFFER_POLICY</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#CACHING_BUFFER_SIZE">CACHING_BUFFER_SIZE</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#CACHING_COUNTER_GROUP_NAME">CACHING_COUNTER_GROUP_NAME</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#CACHING_EVICTION_FILEEXTENSION">CACHING_EVICTION_FILEEXTENSION</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#CACHING_THRESHOLD">CACHING_THRESHOLD</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#CACHING_WRITE_CACHE_ON_READ">CACHING_WRITE_CACHE_ON_READ</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#cacheEvictionLocalFilePath">cacheEvictionLocalFilePath</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#cacheEvictionLocalFilePrefix">cacheEvictionLocalFilePrefix</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#CACHING_ASYNC_FILECLEANUP">CACHING_ASYNC_FILECLEANUP</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#CACHING_ASYNC_SERIALIZE">CACHING_ASYNC_SERIALIZE</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#CACHING_BUFFER_PAGECACHE">CACHING_BUFFER_PAGECACHE</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#CACHING_BUFFER_POLICY">CACHING_BUFFER_POLICY</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#CACHING_BUFFER_SIZE">CACHING_BUFFER_SIZE</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#CACHING_COUNTER_GROUP_NAME">CACHING_COUNTER_GROUP_NAME</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#CACHING_EVICTION_FILEEXTENSION">CACHING_EVICTION_FILEEXTENSION</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#CACHING_THRESHOLD">CACHING_THRESHOLD</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#CACHING_WRITE_CACHE_ON_READ">CACHING_WRITE_CACHE_ON_READ</a></code></li>
 </ul>
 </li>
 </ul>
@@ -252,7 +252,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.controlprogram.caching.<a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html" title="class in org.apache.sysds.runtime.controlprogram.caching">CacheableData</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#acquireModify-T-">acquireModify</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#acquireRead--">acquireRead</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#acquireReadAndRelease--">acquireReadAndRelease</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#addBroadcastSize-long-">addBroadcastSize</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#cleanupCacheDir--">cleanupCacheDir</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#cleanupCacheDir-boolean-">cleanupCacheDir</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#clearData--">clearData</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#clearData-long-">clearData</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#disableCaching--">disableCaching</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#enableCaching--">enableCaching</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#enableCleanup-boolean-">enableCleanup</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#exportData--">exportData</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#exportData-int-">exportData</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#exportData-java.lang.String-java.lang.String-">exportData</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#exportData-java.lang.String-java.lang.String-org.apache.sysds.runtime.io.FileFormatProperties-">exportData</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#exportData-java.lang.String-java.lang.String-int-org.apache.sysds.runtime.io.FileFormatProperties-">exportData</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#exportData-java.lang.String-java.lang.String-int-org.apache.sysds.runtime.io.FileFormatProperties-java.lang.String-">exportData</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#freeEvictedBlob--">freeEvictedBlob</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#getBroadcastHandle--">getBroadcastHandle</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#getBroadcastSize--">getBroadcastSize</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#getDataCharacteristics--">getDataCharacteristics</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#getDataSize--">getDataSize</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#getDebugName--">getDebugName</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#getFedMapping--">getFedMapping</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#getFileFormatProperties--">getFileFormatProperties</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#getFileName--">getFileName</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#getGPUObject-org.apache.sysds.runtime.instructions.gpu.context.GPUContext-">getGPUObject</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#getMetaData--">getMetaData</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#getRDDHandle--">getRDDHandle</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#getStatus--">getStatus</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#getUniqueID--">getUniqueID</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#initCaching--">initCaching</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#initCaching-java.lang.String-">initCaching</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#isCached-boolean-">isCached</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#isCachingActive--">isCachingActive</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#isCleanupEnabled--">isCleanupEnabled</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#isDirty--">isDirty</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#isFederated--">isFederated</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#isFederated-org.apache.sysds.runtime.controlprogram.federated.FederationMap.FType-">isFederated</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#isHDFSFileExists--">isHDFSFileExists</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#moveData-java.lang.String-java.lang.String-">moveData</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#release--">release</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#removeMetaData--">removeMetaData</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#setBroadcastHandle-org.apache.sysds.runtime.instructions.spark.data.BroadcastObject-">setBroadcastHandle</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#setDirty-boolean-">setDirty</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#setEmptyStatus--">setEmptyStatus</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#setFedMapping-org.apache.sysds.runtime.controlprogram.federated.FederationMap-">setFedMapping</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#setFileFormatProperties-org.apache.sysds.runtime.io.FileFormatProperties-">setFileFormatProperties</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#setFileName-java.lang.String-">setFileName</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#setGPUObject-org.apache.sysds.runtime.instructions.gpu.context.GPUContext-org.apache.sysds.runtime.instructions.gpu.context.GPUObject-">setGPUObject</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#setHDFSFileExists-boolean-">setHDFSFileExists</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#setMetaData-org.apache.sysds.runtime.meta.MetaData-">setMetaData</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#setRDDHandle-org.apache.sysds.runtime.instructions.spark.data.RDDObject-">setRDDHandle</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#toString--">toString</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#acquireModify-T-">acquireModify</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#acquireRead--">acquireRead</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#acquireReadAndRelease--">acquireReadAndRelease</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#addBroadcastSize-long-">addBroadcastSize</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#cleanupCacheDir--">cleanupCacheDir</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#cleanupCacheDir-boolean-">cleanupCacheDir</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#clearData--">clearData</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#clearData-long-">clearData</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#disableCaching--">disableCaching</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#enableCaching--">enableCaching</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#enableCleanup-boolean-">enableCleanup</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#exportData--">exportData</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#exportData-int-">exportData</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#exportData-java.lang.String-java.lang.String-">exportData</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#exportData-java.lang.String-java.lang.String-org.apache.sysds.runtime.io.FileFormatProperties-">exportData</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#exportData-java.lang.String-java.lang.String-int-org.apache.sysds.runtime.io.FileFormatProperties-">exportData</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#exportData-java.lang.String-java.lang.String-int-org.apache.sysds.runtime.io.FileFormatProperties-java.lang.String-">exportData</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#freeEvictedBlob--">freeEvictedBlob</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#getBroadcastHandle--">getBroadcastHandle</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#getBroadcastSize--">getBroadcastSize</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#getCacheLineage--">getCacheLineage</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#getDataCharacteristics--">getDataCharacteristics</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#getDataSize--">getDataSize</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#getDebugName--">getDebugName</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#getFedMapping--">getFedMapping</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#getFileFormatProperties--">getFileFormatProperties</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#getFileName--">getFileName</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#getGPUObject-org.apache.sysds.runtime.instructions.gpu.context.GPUContext-">getGPUObject</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#getMetaData--">getMetaData</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#getRDDHandle--">getRDDHandle</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#getStatus--">getStatus</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#getUniqueID--">getUniqueID</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#hasValidLineage--">hasValidLineage</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#initCaching--">initCaching</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#initCaching-java.lang.String-">initCaching</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#isBelowCachingThreshold-org.apache.sysds.runtime.controlprogram.caching.CacheBlock-">isBelowCachingThreshold</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#isCached-boolean-">isCached</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#isCachingActive--">isCachingActive</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#isCleanupEnabled--">isCleanupEnabled</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#isDirty--">isDirty</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#isFederated--">isFederated</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#isFederated-org.apache.sysds.runtime.controlprogram.federated.FederationMap.FType-">isFederated</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#isHDFSFileExists--">isHDFSFileExists</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#moveData-java.lang.String-java.lang.String-">moveData</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#release--">release</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#removeGPUObject-org.apache.sysds.runtime.instructions.gpu.context.GPUContext-">removeGPUObject</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#removeMetaData--">removeMetaData</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#setBroadcastHandle-org.apache.sysds.runtime.instructions.spark.data.BroadcastObject-">setBroadcastHandle</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#setCacheLineage-org.apache.sysds.runtime.lineage.LineageItem-">setCacheLineage</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#setDirty-boolean-">setDirty</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#setEmptyStatus--">setEmptyStatus</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#setFedMapping-org.apache.sysds.runtime.controlprogram.federated.FederationMap-">setFedMapping</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#setFileFormatProperties-org.apache.sysds.runtime.io.FileFormatProperties-">setFileFormatProperties</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#setFileName-java.lang.String-">setFileName</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#setGPUObject-org.apache.sysds.runtime.instructions.gpu.context.GPUContext-org.apache.sysds.runtime.instructions.gpu.context.GPUObject-">setGPUObject</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#setHDFSFileExists-boolean-">setHDFSFileExists</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#setMetaData-org.apache.sysds.runtime.meta.MetaData-">setMetaData</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#setRDDHandle-org.apache.sysds.runtime.instructions.spark.data.RDDObject-">setRDDHandle</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#toString--">toString</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.cp.Data">
@@ -504,6 +504,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/LazyWriteBuffer.RPolicy.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/LazyWriteBuffer.RPolicy.html
index 1939389..2280804 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/LazyWriteBuffer.RPolicy.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/LazyWriteBuffer.RPolicy.html
@@ -341,6 +341,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/LazyWriteBuffer.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/LazyWriteBuffer.html
index a4c00ae..69479e3 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/LazyWriteBuffer.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/LazyWriteBuffer.html
@@ -473,6 +473,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/MatrixObject.UpdateType.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/MatrixObject.UpdateType.html
index 2177b2e..02b3116 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/MatrixObject.UpdateType.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/MatrixObject.UpdateType.html
@@ -366,6 +366,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html
index 7aa63dd..cf3673a 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html
@@ -179,7 +179,7 @@
 <!--   -->
 </a>
 <h3>Fields inherited from class&nbsp;org.apache.sysds.runtime.controlprogram.caching.<a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html" title="class in org.apache.sysds.runtime.controlprogram.caching">CacheableData</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#cacheEvictionLocalFilePath">cacheEvictionLocalFilePath</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#cacheEvictionLocalFilePrefix">cacheEvictionLocalFilePrefix</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#CACHING_ASYNC_FILECLEANUP">CACHING_ASYNC_FILECLEANUP</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#CACHING_BUFFER_PAGECACHE">CACHING_BUFFER_PAGECACHE</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#CACHING_BUFFER_POLICY">CACHING_BUFFER_POLICY</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#CACHING_BUFFER_SIZE">CACHING_BUFFER_SIZE</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#CACHING_COUNTER_GROUP_NAME">CACHING_COUNTER_GROUP_NAME</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#CACHING_EVICTION_FILEEXTENSION">CACHING_EVICTION_FILEEXTENSION</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#CACHING_THRESHOLD">CACHING_THRESHOLD</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#CACHING_WRITE_CACHE_ON_READ">CACHING_WRITE_CACHE_ON_READ</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#cacheEvictionLocalFilePath">cacheEvictionLocalFilePath</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#cacheEvictionLocalFilePrefix">cacheEvictionLocalFilePrefix</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#CACHING_ASYNC_FILECLEANUP">CACHING_ASYNC_FILECLEANUP</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#CACHING_ASYNC_SERIALIZE">CACHING_ASYNC_SERIALIZE</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#CACHING_BUFFER_PAGECACHE">CACHING_BUFFER_PAGECACHE</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#CACHING_BUFFER_POLICY">CACHING_BUFFER_POLICY</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#CACHING_BUFFER_SIZE">CACHING_BUFFER_SIZE</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#CACHING_COUNTER_GROUP_NAME">CACHING_COUNTER_GROUP_NAME</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#CACHING_EVICTION_FILEEXTENSION">CACHING_EVICTION_FILEEXTENSION</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#CACHING_THRESHOLD">CACHING_THRESHOLD</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#CACHING_WRITE_CACHE_ON_READ">CACHING_WRITE_CACHE_ON_READ</a></code></li>
 </ul>
 </li>
 </ul>
@@ -212,6 +212,15 @@
 <div class="block">Constructor that takes the value type, HDFS filename and associated metadata.</div>
 </td>
 </tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html#MatrixObject-org.apache.sysds.common.Types.ValueType-java.lang.String-org.apache.sysds.runtime.meta.MetaData-org.apache.sysds.runtime.matrix.data.MatrixBlock-">MatrixObject</a></span>(<a href="../../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
+            <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;file,
+            <a href="../../../../../../org/apache/sysds/runtime/meta/MetaData.html" title="class in org.apache.sysds.runtime.meta">MetaData</a>&nbsp;mtd,
+            <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;data)</code>
+<div class="block">Constructor that takes the value type, HDFS filename and associated metadata and a MatrixBlock
+ used for creation after serialization</div>
+</td>
+</tr>
 </table>
 </li>
 </ul>
@@ -316,7 +325,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.controlprogram.caching.<a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html" title="class in org.apache.sysds.runtime.controlprogram.caching">CacheableData</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#acquireModify-T-">acquireModify</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#acquireRead--">acquireRead</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#acquireReadAndRelease--">acquireReadAndRelease</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#addBroadcastSize-long-">addBroadcastSize</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#cleanupCacheDir--">cleanupCacheDir</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#cleanupCacheDir-boolean-">cleanupCacheDir</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#clearData--">clearData</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#clearData-long-">clearData</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#disableCaching--">disableCaching</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#enableCaching--">enableCaching</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#enableCleanup-boolean-">enableCleanup</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#exportData--">exportData</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#exportData-int-">exportData</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#exportData-java.lang.String-java.lang.String-">exportData</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#exportData-java.lang.String-java.lang.String-org.apache.sysds.runtime.io.FileFormatProperties-">exportData</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#exportData-java.lang.String-java.lang.String-int-org.apache.sysds.runtime.io.FileFormatProperties-">exportData</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#exportData-java.lang.String-java.lang.String-int-org.apache.sysds.runtime.io.FileFormatProperties-java.lang.String-">exportData</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#freeEvictedBlob--">freeEvictedBlob</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#getBroadcastHandle--">getBroadcastHandle</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#getBroadcastSize--">getBroadcastSize</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#getDataCharacteristics--">getDataCharacteristics</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#getDataSize--">getDataSize</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#getDebugName--">getDebugName</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#getFedMapping--">getFedMapping</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#getFileFormatProperties--">getFileFormatProperties</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#getFileName--">getFileName</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#getGPUObject-org.apache.sysds.runtime.instructions.gpu.context.GPUContext-">getGPUObject</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#getMetaData--">getMetaData</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#getNumColumns--">getNumColumns</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#getNumRows--">getNumRows</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#getRDDHandle--">getRDDHandle</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#getStatus--">getStatus</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#getUniqueID--">getUniqueID</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#initCaching--">initCaching</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#initCaching-java.lang.String-">initCaching</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#isCached-boolean-">isCached</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#isCachingActive--">isCachingActive</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#isCleanupEnabled--">isCleanupEnabled</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#isDirty--">isDirty</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#isFederated--">isFederated</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#isFederated-org.apache.sysds.runtime.controlprogram.federated.FederationMap.FType-">isFederated</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#isHDFSFileExists--">isHDFSFileExists</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#moveData-java.lang.String-java.lang.String-">moveData</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#release--">release</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#removeMetaData--">removeMetaData</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#setBroadcastHandle-org.apache.sysds.runtime.instructions.spark.data.BroadcastObject-">setBroadcastHandle</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#setDirty-boolean-">setDirty</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#setEmptyStatus--">setEmptyStatus</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#setFedMapping-org.apache.sysds.runtime.controlprogram.federated.FederationMap-">setFedMapping</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#setFileFormatProperties-org.apache.sysds.runtime.io.FileFormatProperties-">setFileFormatProperties</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#setFileName-java.lang.String-">setFileName</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#setGPUObject-org.apache.sysds.runtime.instructions.gpu.context.GPUContext-org.apache.sysds.runtime.instructions.gpu.context.GPUObject-">setGPUObject</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#setHDFSFileExists-boolean-">setHDFSFileExists</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#setMetaData-org.apache.sysds.runtime.meta.MetaData-">setMetaData</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#setRDDHandle-org.apache.sysds.runtime.instructions.spark.data.RDDObject-">setRDDHandle</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#toString--">toString</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#acquireModify-T-">acquireModify</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#acquireRead--">acquireRead</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#acquireReadAndRelease--">acquireReadAndRelease</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#addBroadcastSize-long-">addBroadcastSize</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#cleanupCacheDir--">cleanupCacheDir</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#cleanupCacheDir-boolean-">cleanupCacheDir</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#clearData--">clearData</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#clearData-long-">clearData</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#disableCaching--">disableCaching</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#enableCaching--">enableCaching</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#enableCleanup-boolean-">enableCleanup</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#exportData--">exportData</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#exportData-int-">exportData</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#exportData-java.lang.String-java.lang.String-">exportData</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#exportData-java.lang.String-java.lang.String-org.apache.sysds.runtime.io.FileFormatProperties-">exportData</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#exportData-java.lang.String-java.lang.String-int-org.apache.sysds.runtime.io.FileFormatProperties-">exportData</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#exportData-java.lang.String-java.lang.String-int-org.apache.sysds.runtime.io.FileFormatProperties-java.lang.String-">exportData</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#freeEvictedBlob--">freeEvictedBlob</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#getBroadcastHandle--">getBroadcastHandle</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#getBroadcastSize--">getBroadcastSize</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#getCacheLineage--">getCacheLineage</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#getDataCharacteristics--">getDataCharacteristics</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#getDataSize--">getDataSize</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#getDebugName--">getDebugName</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#getFedMapping--">getFedMapping</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#getFileFormatProperties--">getFileFormatProperties</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#getFileName--">getFileName</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#getGPUObject-org.apache.sysds.runtime.instructions.gpu.context.GPUContext-">getGPUObject</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#getMetaData--">getMetaData</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#getNumColumns--">getNumColumns</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#getNumRows--">getNumRows</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#getRDDHandle--">getRDDHandle</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#getStatus--">getStatus</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#getUniqueID--">getUniqueID</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#hasValidLineage--">hasValidLineage</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#initCaching--">initCaching</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#initCaching-java.lang.String-">initCaching</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#isBelowCachingThreshold-org.apache.sysds.runtime.controlprogram.caching.CacheBlock-">isBelowCachingThreshold</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#isCached-boolean-">isCached</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#isCachingActive--">isCachingActive</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#isCleanupEnabled--">isCleanupEnabled</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#isDirty--">isDirty</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#isFederated--">isFederated</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#isFederated-org.apache.sysds.runtime.controlprogram.federated.FederationMap.FType-">isFederated</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#isHDFSFileExists--">isHDFSFileExists</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#moveData-java.lang.String-java.lang.String-">moveData</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#release--">release</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#removeGPUObject-org.apache.sysds.runtime.instructions.gpu.context.GPUContext-">removeGPUObject</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#removeMetaData--">removeMetaData</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#setBroadcastHandle-org.apache.sysds.runtime.instructions.spark.data.BroadcastObject-">setBroadcastHandle</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#setCacheLineage-org.apache.sysds.runtime.lineage.LineageItem-">setCacheLineage</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#setDirty-boolean-">setDirty</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#setEmptyStatus--">setEmptyStatus</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#setFedMapping-org.apache.sysds.runtime.controlprogram.federated.FederationMap-">setFedMapping</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#setFileFormatProperties-org.apache.sysds.runtime.io.FileFormatProperties-">setFileFormatProperties</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#setFileName-java.lang.String-">setFileName</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#setGPUObject-org.apache.sysds.runtime.instructions.gpu.context.GPUContext-org.apache.sysds.runtime.instructions.gpu.context.GPUObject-">setGPUObject</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#setHDFSFileExists-boolean-">setHDFSFileExists</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#setMetaData-org.apache.sysds.runtime.meta.MetaData-">setMetaData</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#setRDDHandle-org.apache.sysds.runtime.instructions.spark.data.RDDObject-">setRDDHandle</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#toString--">toString</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.cp.Data">
@@ -380,6 +389,27 @@
 </dl>
 </li>
 </ul>
+<a name="MatrixObject-org.apache.sysds.common.Types.ValueType-java.lang.String-org.apache.sysds.runtime.meta.MetaData-org.apache.sysds.runtime.matrix.data.MatrixBlock-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>MatrixObject</h4>
+<pre>public&nbsp;MatrixObject(<a href="../../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
+                    <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;file,
+                    <a href="../../../../../../org/apache/sysds/runtime/meta/MetaData.html" title="class in org.apache.sysds.runtime.meta">MetaData</a>&nbsp;mtd,
+                    <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;data)</pre>
+<div class="block">Constructor that takes the value type, HDFS filename and associated metadata and a MatrixBlock
+ used for creation after serialization</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>vt</code> - value type</dd>
+<dd><code>file</code> - file name</dd>
+<dd><code>mtd</code> - metadata</dd>
+<dd><code>data</code> - matrix block data</dd>
+</dl>
+</li>
+</ul>
 <a name="MatrixObject-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-">
 <!--   -->
 </a>
@@ -665,6 +695,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/PageCache.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/PageCache.html
index f565a18..fba3f73 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/PageCache.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/PageCache.html
@@ -306,6 +306,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/TensorObject.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/TensorObject.html
index a5b750b..da27474 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/TensorObject.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/TensorObject.html
@@ -50,7 +50,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/PageCache.html" title="class in org.apache.sysds.runtime.controlprogram.caching"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li>Next&nbsp;Class</li>
+<li><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/UnifiedMemoryManager.html" title="class in org.apache.sysds.runtime.controlprogram.caching"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/sysds/runtime/controlprogram/caching/TensorObject.html" target="_top">Frames</a></li>
@@ -161,7 +161,7 @@
 <!--   -->
 </a>
 <h3>Fields inherited from class&nbsp;org.apache.sysds.runtime.controlprogram.caching.<a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html" title="class in org.apache.sysds.runtime.controlprogram.caching">CacheableData</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#cacheEvictionLocalFilePath">cacheEvictionLocalFilePath</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#cacheEvictionLocalFilePrefix">cacheEvictionLocalFilePrefix</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#CACHING_ASYNC_FILECLEANUP">CACHING_ASYNC_FILECLEANUP</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#CACHING_BUFFER_PAGECACHE">CACHING_BUFFER_PAGECACHE</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#CACHING_BUFFER_POLICY">CACHING_BUFFER_POLICY</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#CACHING_BUFFER_SIZE">CACHING_BUFFER_SIZE</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#CACHING_COUNTER_GROUP_NAME">CACHING_COUNTER_GROUP_NAME</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#CACHING_EVICTION_FILEEXTENSION">CACHING_EVICTION_FILEEXTENSION</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#CACHING_THRESHOLD">CACHING_THRESHOLD</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#CACHING_WRITE_CACHE_ON_READ">CACHING_WRITE_CACHE_ON_READ</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#cacheEvictionLocalFilePath">cacheEvictionLocalFilePath</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#cacheEvictionLocalFilePrefix">cacheEvictionLocalFilePrefix</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#CACHING_ASYNC_FILECLEANUP">CACHING_ASYNC_FILECLEANUP</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#CACHING_ASYNC_SERIALIZE">CACHING_ASYNC_SERIALIZE</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#CACHING_BUFFER_PAGECACHE">CACHING_BUFFER_PAGECACHE</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#CACHING_BUFFER_POLICY">CACHING_BUFFER_POLICY</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#CACHING_BUFFER_SIZE">CACHING_BUFFER_SIZE</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#CACHING_COUNTER_GROUP_NAME">CACHING_COUNTER_GROUP_NAME</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#CACHING_EVICTION_FILEEXTENSION">CACHING_EVICTION_FILEEXTENSION</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#CACHING_THRESHOLD">CACHING_THRESHOLD</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#CACHING_WRITE_CACHE_ON_READ">CACHING_WRITE_CACHE_ON_READ</a></code></li>
 </ul>
 </li>
 </ul>
@@ -229,7 +229,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.controlprogram.caching.<a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html" title="class in org.apache.sysds.runtime.controlprogram.caching">CacheableData</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#acquireModify-T-">acquireModify</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#acquireRead--">acquireRead</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#acquireReadAndRelease--">acquireReadAndRelease</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#addBroadcastSize-long-">addBroadcastSize</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#cleanupCacheDir--">cleanupCacheDir</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#cleanupCacheDir-boolean-">cleanupCacheDir</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#clearData--">clearData</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#clearData-long-">clearData</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#disableCaching--">disableCaching</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#enableCaching--">enableCaching</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#enableCleanup-boolean-">enableCleanup</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#exportData--">exportData</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#exportData-int-">exportData</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#exportData-java.lang.String-java.lang.String-">exportData</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#exportData-java.lang.String-java.lang.String-org.apache.sysds.runtime.io.FileFormatProperties-">exportData</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#exportData-java.lang.String-java.lang.String-int-org.apache.sysds.runtime.io.FileFormatProperties-">exportData</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#exportData-java.lang.String-java.lang.String-int-org.apache.sysds.runtime.io.FileFormatProperties-java.lang.String-">exportData</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#freeEvictedBlob--">freeEvictedBlob</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#getBroadcastHandle--">getBroadcastHandle</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#getBroadcastSize--">getBroadcastSize</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#getDataCharacteristics--">getDataCharacteristics</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#getDataSize--">getDataSize</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#getDebugName--">getDebugName</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#getFedMapping--">getFedMapping</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#getFileFormatProperties--">getFileFormatProperties</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#getFileName--">getFileName</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#getGPUObject-org.apache.sysds.runtime.instructions.gpu.context.GPUContext-">getGPUObject</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#getMetaData--">getMetaData</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#getRDDHandle--">getRDDHandle</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#getStatus--">getStatus</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#getUniqueID--">getUniqueID</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#initCaching--">initCaching</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#initCaching-java.lang.String-">initCaching</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#isCached-boolean-">isCached</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#isCachingActive--">isCachingActive</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#isCleanupEnabled--">isCleanupEnabled</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#isDirty--">isDirty</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#isFederated--">isFederated</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#isFederated-org.apache.sysds.runtime.controlprogram.federated.FederationMap.FType-">isFederated</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#isHDFSFileExists--">isHDFSFileExists</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#moveData-java.lang.String-java.lang.String-">moveData</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#release--">release</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#removeMetaData--">removeMetaData</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#setBroadcastHandle-org.apache.sysds.runtime.instructions.spark.data.BroadcastObject-">setBroadcastHandle</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#setDirty-boolean-">setDirty</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#setEmptyStatus--">setEmptyStatus</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#setFedMapping-org.apache.sysds.runtime.controlprogram.federated.FederationMap-">setFedMapping</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#setFileFormatProperties-org.apache.sysds.runtime.io.FileFormatProperties-">setFileFormatProperties</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#setFileName-java.lang.String-">setFileName</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#setGPUObject-org.apache.sysds.runtime.instructions.gpu.context.GPUContext-org.apache.sysds.runtime.instructions.gpu.context.GPUObject-">setGPUObject</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#setHDFSFileExists-boolean-">setHDFSFileExists</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#setMetaData-org.apache.sysds.runtime.meta.MetaData-">setMetaData</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#setRDDHandle-org.apache.sysds.runtime.instructions.spark.data.RDDObject-">setRDDHandle</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#toString--">toString</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#acquireModify-T-">acquireModify</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#acquireRead--">acquireRead</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#acquireReadAndRelease--">acquireReadAndRelease</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#addBroadcastSize-long-">addBroadcastSize</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#cleanupCacheDir--">cleanupCacheDir</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#cleanupCacheDir-boolean-">cleanupCacheDir</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#clearData--">clearData</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#clearData-long-">clearData</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#disableCaching--">disableCaching</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#enableCaching--">enableCaching</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#enableCleanup-boolean-">enableCleanup</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#exportData--">exportData</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#exportData-int-">exportData</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#exportData-java.lang.String-java.lang.String-">exportData</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#exportData-java.lang.String-java.lang.String-org.apache.sysds.runtime.io.FileFormatProperties-">exportData</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#exportData-java.lang.String-java.lang.String-int-org.apache.sysds.runtime.io.FileFormatProperties-">exportData</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#exportData-java.lang.String-java.lang.String-int-org.apache.sysds.runtime.io.FileFormatProperties-java.lang.String-">exportData</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#freeEvictedBlob--">freeEvictedBlob</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#getBroadcastHandle--">getBroadcastHandle</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#getBroadcastSize--">getBroadcastSize</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#getCacheLineage--">getCacheLineage</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#getDataCharacteristics--">getDataCharacteristics</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#getDataSize--">getDataSize</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#getDebugName--">getDebugName</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#getFedMapping--">getFedMapping</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#getFileFormatProperties--">getFileFormatProperties</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#getFileName--">getFileName</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#getGPUObject-org.apache.sysds.runtime.instructions.gpu.context.GPUContext-">getGPUObject</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#getMetaData--">getMetaData</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#getRDDHandle--">getRDDHandle</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#getStatus--">getStatus</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#getUniqueID--">getUniqueID</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#hasValidLineage--">hasValidLineage</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#initCaching--">initCaching</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#initCaching-java.lang.String-">initCaching</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#isBelowCachingThreshold-org.apache.sysds.runtime.controlprogram.caching.CacheBlock-">isBelowCachingThreshold</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#isCached-boolean-">isCached</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#isCachingActive--">isCachingActive</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#isCleanupEnabled--">isCleanupEnabled</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#isDirty--">isDirty</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#isFederated--">isFederated</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#isFederated-org.apache.sysds.runtime.controlprogram.federated.FederationMap.FType-">isFederated</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#isHDFSFileExists--">isHDFSFileExists</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#moveData-java.lang.String-java.lang.String-">moveData</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#release--">release</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#removeGPUObject-org.apache.sysds.runtime.instructions.gpu.context.GPUContext-">removeGPUObject</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#removeMetaData--">removeMetaData</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#setBroadcastHandle-org.apache.sysds.runtime.instructions.spark.data.BroadcastObject-">setBroadcastHandle</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#setCacheLineage-org.apache.sysds.runtime.lineage.LineageItem-">setCacheLineage</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#setDirty-boolean-">setDirty</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#setEmptyStatus--">setEmptyStatus</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#setFedMapping-org.apache.sysds.runtime.controlprogram.federated.FederationMap-">setFedMapping</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#setFileFormatProperties-org.apache.sysds.runtime.io.FileFormatProperties-">setFileFormatProperties</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#setFileName-java.lang.String-">setFileName</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#setGPUObject-org.apache.sysds.runtime.instructions.gpu.context.GPUContext-org.apache.sysds.runtime.instructions.gpu.context.GPUObject-">setGPUObject</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#setHDFSFileExists-boolean-">setHDFSFileExists</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#setMetaData-org.apache.sysds.runtime.meta.MetaData-">setMetaData</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#setRDDHandle-org.apache.sysds.runtime.instructions.spark.data.RDDObject-">setRDDHandle</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#toString--">toString</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.cp.Data">
@@ -387,7 +387,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/PageCache.html" title="class in org.apache.sysds.runtime.controlprogram.caching"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li>Next&nbsp;Class</li>
+<li><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/UnifiedMemoryManager.html" title="class in org.apache.sysds.runtime.controlprogram.caching"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/sysds/runtime/controlprogram/caching/TensorObject.html" target="_top">Frames</a></li>
@@ -427,6 +427,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/UnifiedMemoryManager.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/UnifiedMemoryManager.html
new file mode 100644
index 0000000..455a423
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/UnifiedMemoryManager.html
@@ -0,0 +1,454 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>UnifiedMemoryManager (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="UnifiedMemoryManager (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/UnifiedMemoryManager.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/TensorObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/controlprogram/caching/UnifiedMemoryManager.html" target="_top">Frames</a></li>
+<li><a href="UnifiedMemoryManager.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.sysds.runtime.controlprogram.caching</div>
+<h2 title="Class UnifiedMemoryManager" class="title">Class UnifiedMemoryManager</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.sysds.runtime.controlprogram.caching.UnifiedMemoryManager</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">UnifiedMemoryManager</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block">Unified Memory Manager - Initial Design
+ 
+ Motivation:
+ The Unified Memory Manager, henceforth UMM, will act as a central manager of in-memory
+ matrix (uncompressed and compressed), frame, and tensor blocks within SystemDS control
+ program. So far, operation memory (70%) and buffer pool memory (15%, LazyWriteBuffer)
+ are managed independently, which causes unnecessary evictions. New components like the
+ LineageCache also use and manage statically provisioned memory areas. Ultimately, the
+ UMM aims to eliminate these shortcomings by providing a central, potentially thread-local,
+ memory management.
+
+ Memory Areas:
+ Initially, the UMM only handles CacheBlock objects (e.g., MatrixBlock, FrameBlock, and
+ TensorBlock), and manages two memory areas:
+   (1) operation memory (pinned cache blocks and reserved memory) and
+   (2) dirty objects (dirty cache blocks that need to be written to local FS before eviction)
+ 
+ The UMM is configured with a capacity (absolute size in byte). Relative to this capacity,
+ the operations and buffer pool memory areas each will have a min and max amount of memory
+ they can occupy, meaning that the boundary for the areas can shift dynamically depending
+ on the current load. Most importantly, though, dirty objects must not be counted twice
+ when pinning such an object for an operation. The min/max constraints are not exposed but
+ configured internally. An good starting point are the following constraints (relative to
+ JVM max heap size):
+ ___________________________
+ | operations  | 0%  | 70% | (pin requests always accepted)
+ | buffer pool | 15% | 85% | (eviction on demand)
+
+ Object Lifecycle:
+ The UMM will also need to keep track of the current state of individual cache blocks, for
+ which it will have a few member variables. A queue similar to the current EvictionQueue is
+ used to add/remove entries with LRU as its eviction policy. In general, there are three
+ properties of object status to consider:
+  (1) Non-dirty/dirty: non-dirty objects have a representation on HDFS or can be recomputed
+      from lineage trace (e.g., rand/seq outputs), while dirty objects need to be preserved.
+  (2) FS Persisted: on eviction, dirty objects need to be written to local file system.
+      As long the local file representation exist, dirty objects can simply be dropped.
+  (3) Pinned/unpinned: For operations, objects are pinned into memory to guard against
+      eviction. All pin requests have to be accepted, and once a non-dirty object is released
+      (unpinned) it can be dropped without persisting it to local FS.
+
+ Thread-safeness:
+ Initially, the UMM will be used in an instance-based manner. For global visibility and
+ use in parallel for loops, the UMM would need to provide a static, synchronized API, but
+ this constitutes a source of severe contention. In the future, we will consider a design
+ with thread-local UMMs for the individual parfor workers.
+
+ Testing:
+ The UMM will be developed bottom up, and thus initially tested via component tests for
+ evaluating the eviction behavior for sequences of API requests.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/UnifiedMemoryManager.html#UnifiedMemoryManager-long-">UnifiedMemoryManager</a></span>(long&nbsp;capacity)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/UnifiedMemoryManager.html#delete-java.lang.String-">delete</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key)</code>
+<div class="block">Removes a cache block associated with the given key from all memory
+ areas, and deletes evicted representations (files in local FS).</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/UnifiedMemoryManager.html#deleteAll--">deleteAll</a></span>()</code>
+<div class="block">Removes all cache blocks from all memory areas and deletes all evicted
+ representations (files in local FS).</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html" title="interface in org.apache.sysds.runtime.controlprogram.caching">CacheBlock</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/UnifiedMemoryManager.html#pin-java.lang.String-org.apache.sysds.runtime.controlprogram.caching.CacheBlock-boolean-">pin</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key,
+   <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html" title="interface in org.apache.sysds.runtime.controlprogram.caching">CacheBlock</a>&nbsp;block,
+   boolean&nbsp;dirty)</code>
+<div class="block">Pins a cache block into operation memory.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/UnifiedMemoryManager.html#pin-java.lang.String-long-boolean-">pin</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key,
+   long&nbsp;size,
+   boolean&nbsp;dirty)</code>
+<div class="block">Pins a virtual cache block into operation memory, by making a size reservation.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/UnifiedMemoryManager.html#unpin-java.lang.String-">unpin</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key)</code>
+<div class="block">Unpins (releases) a cache block from operation memory.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/UnifiedMemoryManager.html#unpin-java.lang.String-org.apache.sysds.runtime.controlprogram.caching.CacheBlock-">unpin</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key,
+     <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html" title="interface in org.apache.sysds.runtime.controlprogram.caching">CacheBlock</a>&nbsp;block)</code>
+<div class="block">Unpins (releases) a cache block from operation memory.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="UnifiedMemoryManager-long-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>UnifiedMemoryManager</h4>
+<pre>public&nbsp;UnifiedMemoryManager(long&nbsp;capacity)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="pin-java.lang.String-org.apache.sysds.runtime.controlprogram.caching.CacheBlock-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>pin</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html" title="interface in org.apache.sysds.runtime.controlprogram.caching">CacheBlock</a>&nbsp;pin(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key,
+                      <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html" title="interface in org.apache.sysds.runtime.controlprogram.caching">CacheBlock</a>&nbsp;block,
+                      boolean&nbsp;dirty)</pre>
+<div class="block">Pins a cache block into operation memory.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>key</code> - unique identifier and local FS filename for eviction</dd>
+<dd><code>block</code> - cache block if not under UMM control, null otherwise</dd>
+<dd><code>dirty</code> - indicator if block is dirty (subject to buffer pool management)</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>pinned cache block, potentially restored from local FS</dd>
+</dl>
+</li>
+</ul>
+<a name="pin-java.lang.String-long-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>pin</h4>
+<pre>public&nbsp;void&nbsp;pin(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key,
+                long&nbsp;size,
+                boolean&nbsp;dirty)</pre>
+<div class="block">Pins a virtual cache block into operation memory, by making a size reservation.
+ The provided size is an upper bound of the actual object size, and can be
+ updated on unpin (once the actual cache block is provided).</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>key</code> - unique identifier and local FS filename for eviction</dd>
+<dd><code>size</code> - memory reservation in operation area</dd>
+<dd><code>dirty</code> - indicator if block is dirty (subject to buffer pool management)</dd>
+</dl>
+</li>
+</ul>
+<a name="unpin-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>unpin</h4>
+<pre>public&nbsp;void&nbsp;unpin(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key)</pre>
+<div class="block">Unpins (releases) a cache block from operation memory. Dirty objects
+ are logically moved back to the buffer pool area.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>key</code> - unique identifier and local FS filename for eviction</dd>
+</dl>
+</li>
+</ul>
+<a name="unpin-java.lang.String-org.apache.sysds.runtime.controlprogram.caching.CacheBlock-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>unpin</h4>
+<pre>public&nbsp;void&nbsp;unpin(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key,
+                  <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html" title="interface in org.apache.sysds.runtime.controlprogram.caching">CacheBlock</a>&nbsp;block)</pre>
+<div class="block">Unpins (releases) a cache block from operation memory. If the size of
+ the provided cache block differs from the UMM meta data, the UMM meta
+ data is updated. Use cases include update-in-place operations and
+ size reservations via worst-case upper bound estimates.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>key</code> - unique identifier and local FS filename for eviction</dd>
+<dd><code>block</code> - cache block which may be under UMM control, if null ignored</dd>
+</dl>
+</li>
+</ul>
+<a name="delete-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>delete</h4>
+<pre>public&nbsp;void&nbsp;delete(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key)</pre>
+<div class="block">Removes a cache block associated with the given key from all memory
+ areas, and deletes evicted representations (files in local FS). The
+ local file system deletes can happen asynchronously.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>key</code> - unique identifier and local FS filename for eviction</dd>
+</dl>
+</li>
+</ul>
+<a name="deleteAll--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>deleteAll</h4>
+<pre>public&nbsp;void&nbsp;deleteAll()</pre>
+<div class="block">Removes all cache blocks from all memory areas and deletes all evicted
+ representations (files in local FS). All internally thread pools must be
+ shut down in a gracefully manner (e.g., wait for pending deletes).</div>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/UnifiedMemoryManager.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/TensorObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/controlprogram/caching/UnifiedMemoryManager.html" target="_top">Frames</a></li>
+<li><a href="UnifiedMemoryManager.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/class-use/ByteBuffer.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/class-use/ByteBuffer.html
index e1b9f6c..ed4fcc5 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/class-use/ByteBuffer.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/class-use/ByteBuffer.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/class-use/CacheBlock.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/class-use/CacheBlock.html
index c532a74..1ccf143 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/class-use/CacheBlock.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/class-use/CacheBlock.html
@@ -132,10 +132,6 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">AbstractCompressedMatrixBlock</a></span></code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></span></code>&nbsp;</td>
 </tr>
 </tbody>
@@ -149,7 +145,7 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#slice-int-int-int-int-boolean-org.apache.sysds.runtime.controlprogram.caching.CacheBlock-">slice</a></span>(int&nbsp;rl,
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#slice-int-int-int-int-boolean-org.apache.sysds.runtime.controlprogram.caching.CacheBlock-">slice</a></span>(int&nbsp;rl,
      int&nbsp;ru,
      int&nbsp;cl,
      int&nbsp;cu,
@@ -195,11 +191,19 @@
 <td class="colLast"><span class="typeNameLabel">CacheBlockFactory.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlockFactory.html#newInstance-int-">newInstance</a></span>(int&nbsp;code)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html" title="interface in org.apache.sysds.runtime.controlprogram.caching">CacheBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">UnifiedMemoryManager.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/UnifiedMemoryManager.html#pin-java.lang.String-org.apache.sysds.runtime.controlprogram.caching.CacheBlock-boolean-">pin</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key,
+   <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html" title="interface in org.apache.sysds.runtime.controlprogram.caching">CacheBlock</a>&nbsp;block,
+   boolean&nbsp;dirty)</code>
+<div class="block">Pins a cache block into operation memory.</div>
+</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html" title="interface in org.apache.sysds.runtime.controlprogram.caching">CacheBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">LazyWriteBuffer.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/LazyWriteBuffer.html#readBlock-java.lang.String-boolean-">readBlock</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;fname,
          boolean&nbsp;matrix)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html" title="interface in org.apache.sysds.runtime.controlprogram.caching">CacheBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">CacheBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html#slice-int-int-int-int-org.apache.sysds.runtime.controlprogram.caching.CacheBlock-">slice</a></span>(int&nbsp;rl,
      int&nbsp;ru,
@@ -232,18 +236,30 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
+<td class="colLast"><span class="typeNameLabel">CacheableData.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#isBelowCachingThreshold-org.apache.sysds.runtime.controlprogram.caching.CacheBlock-">isBelowCachingThreshold</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html" title="interface in org.apache.sysds.runtime.controlprogram.caching">CacheBlock</a>&nbsp;data)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">ByteBuffer.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/ByteBuffer.html#isValidCapacity-long-org.apache.sysds.runtime.controlprogram.caching.CacheBlock-">isValidCapacity</a></span>(long&nbsp;size,
                <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html" title="interface in org.apache.sysds.runtime.controlprogram.caching">CacheBlock</a>&nbsp;cb)</code>
 <div class="block">Determines if byte buffer can hold the given size given this specific cache block.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">CacheBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html#merge-org.apache.sysds.runtime.controlprogram.caching.CacheBlock-boolean-">merge</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html" title="interface in org.apache.sysds.runtime.controlprogram.caching">CacheBlock</a>&nbsp;that,
      boolean&nbsp;appendOnly)</code>
 <div class="block">Merge the given block into the current block.</div>
 </td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html" title="interface in org.apache.sysds.runtime.controlprogram.caching">CacheBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">UnifiedMemoryManager.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/UnifiedMemoryManager.html#pin-java.lang.String-org.apache.sysds.runtime.controlprogram.caching.CacheBlock-boolean-">pin</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key,
+   <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html" title="interface in org.apache.sysds.runtime.controlprogram.caching">CacheBlock</a>&nbsp;block,
+   boolean&nbsp;dirty)</code>
+<div class="block">Pins a cache block into operation memory.</div>
+</td>
+</tr>
 <tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">ByteBuffer.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/ByteBuffer.html#serializeBlock-org.apache.sysds.runtime.controlprogram.caching.CacheBlock-">serializeBlock</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html" title="interface in org.apache.sysds.runtime.controlprogram.caching">CacheBlock</a>&nbsp;cb)</code>&nbsp;</td>
@@ -259,6 +275,13 @@
 </td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">UnifiedMemoryManager.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/UnifiedMemoryManager.html#unpin-java.lang.String-org.apache.sysds.runtime.controlprogram.caching.CacheBlock-">unpin</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key,
+     <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html" title="interface in org.apache.sysds.runtime.controlprogram.caching">CacheBlock</a>&nbsp;block)</code>
+<div class="block">Unpins (releases) a cache block from operation memory.</div>
+</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><span class="typeNameLabel">LazyWriteBuffer.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/LazyWriteBuffer.html#writeBlock-java.lang.String-org.apache.sysds.runtime.controlprogram.caching.CacheBlock-">writeBlock</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;fname,
           <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html" title="interface in org.apache.sysds.runtime.controlprogram.caching">CacheBlock</a>&nbsp;cb)</code>&nbsp;</td>
@@ -485,7 +508,10 @@
             int&nbsp;blen,
             int&nbsp;iix,
             int&nbsp;jix,
-            <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html" title="interface in org.apache.sysds.runtime.controlprogram.caching">CacheBlock</a>&nbsp;in)</code>&nbsp;</td>
+            <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html" title="interface in org.apache.sysds.runtime.controlprogram.caching">CacheBlock</a>&nbsp;in)</code>
+<div class="block">Slice used in broadcasting matrix blocks for spark, since this slice up a given matrix
+ into blocks.</div>
+</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
@@ -607,6 +633,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/class-use/CacheBlockFactory.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/class-use/CacheBlockFactory.html
index b9abdc9..7718e0c 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/class-use/CacheBlockFactory.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/class-use/CacheBlockFactory.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/class-use/CacheDataInput.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/class-use/CacheDataInput.html
index 0ccf8dd..d617900 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/class-use/CacheDataInput.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/class-use/CacheDataInput.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/class-use/CacheDataOutput.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/class-use/CacheDataOutput.html
index b5b0922..97b6eca 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/class-use/CacheDataOutput.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/class-use/CacheDataOutput.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/class-use/CacheStatistics.Stat.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/class-use/CacheStatistics.Stat.html
index e8a80d6..92277bf 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/class-use/CacheStatistics.Stat.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/class-use/CacheStatistics.Stat.html
@@ -169,6 +169,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/class-use/CacheStatistics.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/class-use/CacheStatistics.html
index 7fad289..7edc094 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/class-use/CacheStatistics.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/class-use/CacheStatistics.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/class-use/CacheableData.CacheStatus.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/class-use/CacheableData.CacheStatus.html
index cc4591a..8153896 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/class-use/CacheableData.CacheStatus.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/class-use/CacheableData.CacheStatus.html
@@ -173,6 +173,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/class-use/CacheableData.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/class-use/CacheableData.html
index 7efac59..df92617 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/class-use/CacheableData.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/class-use/CacheableData.html
@@ -204,7 +204,9 @@
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRequest.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRequest</a>[]</code></td>
 <td class="colLast"><span class="typeNameLabel">FederationMap.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html#broadcastSliced-org.apache.sysds.runtime.controlprogram.caching.CacheableData-boolean-">broadcastSliced</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html" title="class in org.apache.sysds.runtime.controlprogram.caching">CacheableData</a>&lt;?&gt;&nbsp;data,
-               boolean&nbsp;transposed)</code>&nbsp;</td>
+               boolean&nbsp;transposed)</code>
+<div class="block">Creates separate slices of an input data object according to the index ranges of federated data.</div>
+</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationMap</a></code></td>
@@ -260,6 +262,20 @@
 </tr>
 </tbody>
 </table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/package-summary.html">org.apache.sysds.runtime.instructions.fed</a> with parameters of type <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html" title="class in org.apache.sysds.runtime.controlprogram.caching">CacheableData</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><span class="typeNameLabel">InitFEDInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/InitFEDInstruction.html#federateMatrix-org.apache.sysds.runtime.controlprogram.caching.CacheableData-java.util.List-">federateMatrix</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html" title="class in org.apache.sysds.runtime.controlprogram.caching">CacheableData</a>&lt;?&gt;&nbsp;output,
+              <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.commons.lang3.tuple.Pair&lt;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRange.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRange</a>,<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedData.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedData</a>&gt;&gt;&nbsp;workers)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
 </li>
 <li class="blockList"><a name="org.apache.sysds.runtime.instructions.spark.data">
 <!--   -->
@@ -330,6 +346,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/class-use/FrameObject.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/class-use/FrameObject.html
index 87f3e05..f0b544a 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/class-use/FrameObject.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/class-use/FrameObject.html
@@ -373,7 +373,7 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code>void</code></td>
+<td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">InitFEDInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/InitFEDInstruction.html#federateFrame-org.apache.sysds.runtime.controlprogram.caching.FrameObject-java.util.List-">federateFrame</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/FrameObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">FrameObject</a>&nbsp;output,
              <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.commons.lang3.tuple.Pair&lt;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRange.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRange</a>,<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedData.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedData</a>&gt;&gt;&nbsp;workers)</code>&nbsp;</td>
 </tr>
@@ -431,6 +431,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/class-use/LazyWriteBuffer.RPolicy.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/class-use/LazyWriteBuffer.RPolicy.html
index 5c48417..b0688ad 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/class-use/LazyWriteBuffer.RPolicy.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/class-use/LazyWriteBuffer.RPolicy.html
@@ -182,6 +182,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/class-use/LazyWriteBuffer.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/class-use/LazyWriteBuffer.html
index 11bd8f1..1fa97d6 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/class-use/LazyWriteBuffer.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/class-use/LazyWriteBuffer.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/class-use/MatrixObject.UpdateType.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/class-use/MatrixObject.UpdateType.html
index 8c8c18a..c526965 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/class-use/MatrixObject.UpdateType.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/class-use/MatrixObject.UpdateType.html
@@ -226,7 +226,7 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#leftIndexingOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-int-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType-">leftIndexingOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;rhsMatrix,
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#leftIndexingOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-int-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType-">leftIndexingOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;rhsMatrix,
                       int&nbsp;rl,
                       int&nbsp;ru,
                       int&nbsp;cl,
@@ -236,7 +236,7 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#leftIndexingOperations-org.apache.sysds.runtime.instructions.cp.ScalarObject-int-int-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType-">leftIndexingOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&nbsp;scalar,
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#leftIndexingOperations-org.apache.sysds.runtime.instructions.cp.ScalarObject-int-int-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType-">leftIndexingOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&nbsp;scalar,
                       int&nbsp;rl,
                       int&nbsp;cl,
                       <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
@@ -438,6 +438,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/class-use/MatrixObject.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/class-use/MatrixObject.html
index a64a3ac..ec3c90f 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/class-use/MatrixObject.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/class-use/MatrixObject.html
@@ -91,38 +91,50 @@
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.codegen">org.apache.sysds.runtime.codegen</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.controlprogram.caching">org.apache.sysds.runtime.controlprogram.caching</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.controlprogram.context">org.apache.sysds.runtime.controlprogram.context</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.controlprogram.paramserv">org.apache.sysds.runtime.controlprogram.paramserv</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.controlprogram.paramserv.dp">org.apache.sysds.runtime.controlprogram.paramserv.dp</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.controlprogram.parfor">org.apache.sysds.runtime.controlprogram.parfor</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.controlprogram.parfor.opt">org.apache.sysds.runtime.controlprogram.parfor.opt</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.fed">org.apache.sysds.runtime.instructions.fed</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.gpu.context">org.apache.sysds.runtime.instructions.gpu.context</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.spark.utils">org.apache.sysds.runtime.instructions.spark.utils</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
 <tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.lineage">org.apache.sysds.runtime.lineage</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.matrix.data">org.apache.sysds.runtime.matrix.data</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
@@ -361,6 +373,121 @@
 </tbody>
 </table>
 </li>
+<li class="blockList"><a name="org.apache.sysds.runtime.codegen">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a> in <a href="../../../../../../../org/apache/sysds/runtime/codegen/package-summary.html">org.apache.sysds.runtime.codegen</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/codegen/package-summary.html">org.apache.sysds.runtime.codegen</a> that return <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a></code></td>
+<td class="colLast"><span class="typeNameLabel">SpoofCUDACellwise.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDACellwise.html#execute-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-java.util.ArrayList-java.util.ArrayList-java.lang.String-">execute</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
+       <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&gt;&nbsp;inputs,
+       <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&gt;&nbsp;scalarObjects,
+       <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;outputName)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a></code></td>
+<td class="colLast"><span class="typeNameLabel">SpoofCUDAOperator.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html#execute-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-java.util.ArrayList-java.util.ArrayList-java.lang.String-">execute</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
+       <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&gt;&nbsp;inputs,
+       <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&gt;&nbsp;scalarObjects,
+       <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;outputName)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a></code></td>
+<td class="colLast"><span class="typeNameLabel">SpoofCUDARowwise.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDARowwise.html#execute-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-java.util.ArrayList-java.util.ArrayList-java.lang.String-">execute</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
+       <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&gt;&nbsp;inputs,
+       <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&gt;&nbsp;scalarObjects,
+       <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;outputName)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/codegen/package-summary.html">org.apache.sysds.runtime.codegen</a> with parameters of type <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>default long[]</code></td>
+<td class="colLast"><span class="typeNameLabel">SpoofCUDAOperator.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html#prepareOutputPointers-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-boolean-">prepareOutputPointers</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
+                     <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;output,
+                     boolean&nbsp;sparseOut)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Method parameters in <a href="../../../../../../../org/apache/sysds/runtime/codegen/package-summary.html">org.apache.sysds.runtime.codegen</a> with type arguments of type <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a></code></td>
+<td class="colLast"><span class="typeNameLabel">SpoofCUDACellwise.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDACellwise.html#execute-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-java.util.ArrayList-java.util.ArrayList-">execute</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
+       <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&gt;&nbsp;inputs,
+       <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&gt;&nbsp;scalarObjects)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a></code></td>
+<td class="colLast"><span class="typeNameLabel">SpoofCUDAOperator.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html#execute-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-java.util.ArrayList-java.util.ArrayList-">execute</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
+       <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&gt;&nbsp;inputs,
+       <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&gt;&nbsp;scalarObjects)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a></code></td>
+<td class="colLast"><span class="typeNameLabel">SpoofCUDARowwise.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDARowwise.html#execute-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-java.util.ArrayList-java.util.ArrayList-">execute</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
+       <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&gt;&nbsp;inputs,
+       <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&gt;&nbsp;scalarObjects)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a></code></td>
+<td class="colLast"><span class="typeNameLabel">SpoofCUDACellwise.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDACellwise.html#execute-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-java.util.ArrayList-java.util.ArrayList-java.lang.String-">execute</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
+       <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&gt;&nbsp;inputs,
+       <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&gt;&nbsp;scalarObjects,
+       <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;outputName)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a></code></td>
+<td class="colLast"><span class="typeNameLabel">SpoofCUDAOperator.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html#execute-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-java.util.ArrayList-java.util.ArrayList-java.lang.String-">execute</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
+       <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&gt;&nbsp;inputs,
+       <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&gt;&nbsp;scalarObjects,
+       <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;outputName)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a></code></td>
+<td class="colLast"><span class="typeNameLabel">SpoofCUDARowwise.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDARowwise.html#execute-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-java.util.ArrayList-java.util.ArrayList-java.lang.String-">execute</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
+       <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&gt;&nbsp;inputs,
+       <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&gt;&nbsp;scalarObjects,
+       <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;outputName)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static boolean</code></td>
+<td class="colLast"><span class="typeNameLabel">SpoofRowwise.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/codegen/SpoofRowwise.html#hasMatrixObjectSideInput-java.util.ArrayList-">hasMatrixObjectSideInput</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&gt;&nbsp;inputs)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>default long[]</code></td>
+<td class="colLast"><span class="typeNameLabel">SpoofCUDAOperator.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html#prepareInputPointers-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-java.util.ArrayList-int-">prepareInputPointers</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
+                    <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&gt;&nbsp;inputs,
+                    int&nbsp;offset)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>default long[]</code></td>
+<td class="colLast"><span class="typeNameLabel">SpoofCUDAOperator.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html#prepareSideInputPointers-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-java.util.ArrayList-int-boolean-">prepareSideInputPointers</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
+                        <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&gt;&nbsp;inputs,
+                        int&nbsp;offset,
+                        boolean&nbsp;tB1)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
 <li class="blockList"><a name="org.apache.sysds.runtime.controlprogram.caching">
 <!--   -->
 </a>
@@ -455,6 +582,14 @@
 <td class="colLast"><span class="typeNameLabel">SparkExecutionContext.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/SparkExecutionContext.html#getBroadcastForMatrixObject-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-">getBroadcastForMatrixObject</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;mo)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><span class="typeNameLabel">ExecutionContext.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getGPUDensePointerAddress-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-">getGPUDensePointerAddress</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;obj)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/CSRPointer.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">CSRPointer</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ExecutionContext.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getGPUSparsePointerAddress-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-">getGPUSparsePointerAddress</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;obj)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code>org.apache.spark.api.java.JavaPairRDD&lt;?,?&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">SparkExecutionContext.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/SparkExecutionContext.html#getRDDHandleForMatrixObject-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-org.apache.sysds.common.Types.FileFormat-">getRDDHandleForMatrixObject</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;mo,
                            <a href="../../../../../../../org/apache/sysds/common/Types.FileFormat.html" title="enum in org.apache.sysds.common">Types.FileFormat</a>&nbsp;fmt)</code>&nbsp;</td>
@@ -519,10 +654,23 @@
 </tr>
 <tbody>
 <tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/LocalParamServer.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv">LocalParamServer</a></code></td>
+<td class="colLast"><span class="typeNameLabel">LocalParamServer.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/LocalParamServer.html#create-org.apache.sysds.runtime.instructions.cp.ListObject-java.lang.String-org.apache.sysds.parser.Statement.PSUpdateType-org.apache.sysds.parser.Statement.PSFrequency-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-int-java.lang.String-int-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-">create</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ListObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ListObject</a>&nbsp;model,
+      <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;aggFunc,
+      <a href="../../../../../../../org/apache/sysds/parser/Statement.PSUpdateType.html" title="enum in org.apache.sysds.parser">Statement.PSUpdateType</a>&nbsp;updateType,
+      <a href="../../../../../../../org/apache/sysds/parser/Statement.PSFrequency.html" title="enum in org.apache.sysds.parser">Statement.PSFrequency</a>&nbsp;freq,
+      <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
+      int&nbsp;workerNum,
+      <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;valFunc,
+      int&nbsp;numBatchesPerEpoch,
+      <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;valFeatures,
+      <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;valLabels)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a></code></td>
 <td class="colLast"><span class="typeNameLabel">ParamservUtils.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/ParamservUtils.html#createShallowCopy-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-">createShallowCopy</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;mo)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static org.apache.spark.api.java.JavaPairRDD&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,scala.Tuple2&lt;<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>,<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&gt;&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">ParamservUtils.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/ParamservUtils.html#doPartitionOnSpark-org.apache.sysds.runtime.controlprogram.context.SparkExecutionContext-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-org.apache.sysds.parser.Statement.PSScheme-int-">doPartitionOnSpark</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/SparkExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">SparkExecutionContext</a>&nbsp;sec,
                   <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;features,
@@ -530,15 +678,15 @@
                   <a href="../../../../../../../org/apache/sysds/parser/Statement.PSScheme.html" title="enum in org.apache.sysds.parser">Statement.PSScheme</a>&nbsp;scheme,
                   int&nbsp;workerNum)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">PSWorker.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/PSWorker.html#setFeatures-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-">setFeatures</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;features)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">PSWorker.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/PSWorker.html#setLabels-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-">setLabels</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;labels)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a></code></td>
 <td class="colLast"><span class="typeNameLabel">ParamservUtils.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/ParamservUtils.html#sliceMatrix-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-long-long-">sliceMatrix</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;mo,
            long&nbsp;rl,
@@ -562,6 +710,14 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">DataPartitionFederatedScheme.Result.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.Result.html#Z:Z_pFeatures">_pFeatures</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">DataPartitionFederatedScheme.Result.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.Result.html#Z:Z_pLabels">_pLabels</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">DataPartitionLocalScheme.Result.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionLocalScheme.Result.html#pFeatures">pFeatures</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
@@ -570,6 +726,56 @@
 </tr>
 </tbody>
 </table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/package-summary.html">org.apache.sysds.runtime.controlprogram.paramserv.dp</a> with parameters of type <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.Result.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionFederatedScheme.Result</a></code></td>
+<td class="colLast"><span class="typeNameLabel">FederatedDataPartitioner.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/FederatedDataPartitioner.html#doPartitioning-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-">doPartitioning</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;features,
+              <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;labels)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.Result.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionFederatedScheme.Result</a></code></td>
+<td class="colLast"><span class="typeNameLabel">SubsampleToMinFederatedScheme.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/SubsampleToMinFederatedScheme.html#partition-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-int-">partition</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;features,
+         <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;labels,
+         int&nbsp;seed)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.Result.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionFederatedScheme.Result</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ReplicateToMaxFederatedScheme.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/ReplicateToMaxFederatedScheme.html#partition-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-int-">partition</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;features,
+         <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;labels,
+         int&nbsp;seed)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>abstract <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.Result.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionFederatedScheme.Result</a></code></td>
+<td class="colLast"><span class="typeNameLabel">DataPartitionFederatedScheme.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.html#partition-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-int-">partition</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;features,
+         <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;labels,
+         int&nbsp;seed)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.Result.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionFederatedScheme.Result</a></code></td>
+<td class="colLast"><span class="typeNameLabel">BalanceToAvgFederatedScheme.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/BalanceToAvgFederatedScheme.html#partition-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-int-">partition</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;features,
+         <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;labels,
+         int&nbsp;seed)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.Result.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionFederatedScheme.Result</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ShuffleFederatedScheme.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/ShuffleFederatedScheme.html#partition-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-int-">partition</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;features,
+         <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;labels,
+         int&nbsp;seed)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.Result.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionFederatedScheme.Result</a></code></td>
+<td class="colLast"><span class="typeNameLabel">KeepDataOnWorkerFederatedScheme.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/KeepDataOnWorkerFederatedScheme.html#partition-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-int-">partition</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;features,
+         <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;labels,
+         int&nbsp;seed)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
 <table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
 <caption><span>Constructor parameters in <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/package-summary.html">org.apache.sysds.runtime.controlprogram.paramserv.dp</a> with type arguments of type <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a></span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
@@ -584,6 +790,20 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionLocalScheme.Result.html#Result-java.util.List-java.util.List-">Result</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&gt;&nbsp;pFeatures,
       <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&gt;&nbsp;pLabels)</code>&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.Result.html#Result-java.util.List-java.util.List-int-org.apache.sysds.runtime.controlprogram.paramserv.dp.DataPartitionFederatedScheme.BalanceMetrics-java.util.List-">Result</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&gt;&nbsp;pFeatures,
+      <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&gt;&nbsp;pLabels,
+      int&nbsp;workerNum,
+      <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.BalanceMetrics.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionFederatedScheme.BalanceMetrics</a>&nbsp;balanceMetrics,
+      <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a>&gt;&nbsp;weightingFactors)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.Result.html#Result-java.util.List-java.util.List-int-org.apache.sysds.runtime.controlprogram.paramserv.dp.DataPartitionFederatedScheme.BalanceMetrics-java.util.List-">Result</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&gt;&nbsp;pFeatures,
+      <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&gt;&nbsp;pLabels,
+      int&nbsp;workerNum,
+      <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.BalanceMetrics.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionFederatedScheme.BalanceMetrics</a>&nbsp;balanceMetrics,
+      <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a>&gt;&nbsp;weightingFactors)</code>&nbsp;</td>
+</tr>
 </tbody>
 </table>
 </li>
@@ -824,14 +1044,14 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>static void</code></td>
-<td class="colLast"><span class="typeNameLabel">MultiReturnParameterizedBuiltinFEDInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/MultiReturnParameterizedBuiltinFEDInstruction.html#encodeFederatedFrames-org.apache.sysds.runtime.controlprogram.federated.FederationMap-org.apache.sysds.runtime.transform.encode.Encoder-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-">encodeFederatedFrames</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationMap</a>&nbsp;fedMapping,
-                     <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&nbsp;globalEncoder,
+<td class="colLast"><span class="typeNameLabel">MultiReturnParameterizedBuiltinFEDInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/MultiReturnParameterizedBuiltinFEDInstruction.html#encodeFederatedFrames-org.apache.sysds.runtime.controlprogram.federated.FederationMap-org.apache.sysds.runtime.transform.encode.MultiColumnEncoder-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-">encodeFederatedFrames</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationMap</a>&nbsp;fedMapping,
+                     <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a>&nbsp;globalencoder,
                      <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;transformedMat)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">InitFEDInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/InitFEDInstruction.html#federateMatrix-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-java.util.List-">federateMatrix</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;output,
-              <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.commons.lang3.tuple.Pair&lt;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRange.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRange</a>,<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedData.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedData</a>&gt;&gt;&nbsp;workers)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">UnaryMatrixFEDInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/UnaryMatrixFEDInstruction.html#processCumulativeInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-">processCumulativeInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
+                            <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;mo1)</code>&nbsp;</td>
 </tr>
 </tbody>
 </table>
@@ -853,6 +1073,69 @@
 <div class="block">Instantiates a new <a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html" title="class in org.apache.sysds.runtime.instructions.gpu.context"><code>GPUObject</code></a> initialized with the given <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching"><code>MatrixObject</code></a>.</div>
 </td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">GPUObject</a></code></td>
+<td class="colLast"><span class="typeNameLabel">GPUContext.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUContext.html#shallowCopyGPUObject-org.apache.sysds.runtime.instructions.gpu.context.GPUObject-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-">shallowCopyGPUObject</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">GPUObject</a>&nbsp;source,
+                    <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;mo)</code>
+<div class="block">Shallow copy the given source <a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html" title="class in org.apache.sysds.runtime.instructions.gpu.context"><code>GPUObject</code></a> to a new <a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html" title="class in org.apache.sysds.runtime.instructions.gpu.context"><code>GPUObject</code></a> and 
+ assign that to the given <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching"><code>MatrixObject</code></a>.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/package-summary.html">org.apache.sysds.runtime.instructions.gpu.context</a> with parameters of type <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html#GPUObject-org.apache.sysds.runtime.instructions.gpu.context.GPUContext-org.apache.sysds.runtime.instructions.gpu.context.GPUObject-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-">GPUObject</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUContext.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">GPUContext</a>&nbsp;gCtx,
+         <a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">GPUObject</a>&nbsp;that,
+         <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;mat)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.sysds.runtime.instructions.spark.utils">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a> in <a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/utils/package-summary.html">org.apache.sysds.runtime.instructions.spark.utils</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/utils/package-summary.html">org.apache.sysds.runtime.instructions.spark.utils</a> with parameters of type <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>static long</code></td>
+<td class="colLast"><span class="typeNameLabel">SparkUtils.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/utils/SparkUtils.html#getNonZeros-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-">getNonZeros</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;mo)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><span class="typeNameLabel">SparkUtils.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/utils/SparkUtils.html#postprocessUltraSparseOutput-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-org.apache.sysds.runtime.meta.DataCharacteristics-">postprocessUltraSparseOutput</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;mo,
+                            <a href="../../../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a>&nbsp;mcOut)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.sysds.runtime.lineage">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a> in <a href="../../../../../../../org/apache/sysds/runtime/lineage/package-summary.html">org.apache.sysds.runtime.lineage</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/lineage/package-summary.html">org.apache.sysds.runtime.lineage</a> with parameters of type <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedResponse</a></code></td>
+<td class="colLast"><span class="typeNameLabel">LineageItemUtils.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/lineage/LineageItemUtils.html#setUDFResponse-org.apache.sysds.runtime.controlprogram.federated.FederatedUDF-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-">setUDFResponse</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedUDF.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedUDF</a>&nbsp;udf,
+              <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;mo)</code>&nbsp;</td>
+</tr>
 </tbody>
 </table>
 </li>
@@ -1633,6 +1916,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/class-use/PageCache.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/class-use/PageCache.html
index 2a84960..48a0c08 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/class-use/PageCache.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/class-use/PageCache.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/class-use/TensorObject.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/class-use/TensorObject.html
index f94ce04..c85ad97 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/class-use/TensorObject.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/class-use/TensorObject.html
@@ -202,6 +202,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/EncoderComposite.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/class-use/UnifiedMemoryManager.html
similarity index 74%
copy from docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/EncoderComposite.html
copy to docs/api/java/org/apache/sysds/runtime/controlprogram/caching/class-use/UnifiedMemoryManager.html
index 33a7472..5c05be0 100644
--- a/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/EncoderComposite.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/class-use/UnifiedMemoryManager.html
@@ -4,7 +4,7 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.sysds.runtime.transform.encode.EncoderComposite (SystemDS 2.1.0-SNAPSHOT API)</title>
+<title>Uses of Class org.apache.sysds.runtime.controlprogram.caching.UnifiedMemoryManager (SystemDS 2.1.0-SNAPSHOT API)</title>
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.sysds.runtime.transform.encode.EncoderComposite (SystemDS 2.1.0-SNAPSHOT API)";
+            parent.document.title="Uses of Class org.apache.sysds.runtime.controlprogram.caching.UnifiedMemoryManager (SystemDS 2.1.0-SNAPSHOT API)";
         }
     }
     catch(err) {
@@ -33,7 +33,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">Class</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/UnifiedMemoryManager.html" title="class in org.apache.sysds.runtime.controlprogram.caching">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -47,8 +47,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/transform/encode/class-use/EncoderComposite.html" target="_top">Frames</a></li>
-<li><a href="EncoderComposite.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/controlprogram/caching/class-use/UnifiedMemoryManager.html" target="_top">Frames</a></li>
+<li><a href="UnifiedMemoryManager.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -70,9 +70,9 @@
 </a></div>
 <!-- ========= END OF TOP NAVBAR ========= -->
 <div class="header">
-<h2 title="Uses of Class org.apache.sysds.runtime.transform.encode.EncoderComposite" class="title">Uses of Class<br>org.apache.sysds.runtime.transform.encode.EncoderComposite</h2>
+<h2 title="Uses of Class org.apache.sysds.runtime.controlprogram.caching.UnifiedMemoryManager" class="title">Uses of Class<br>org.apache.sysds.runtime.controlprogram.caching.UnifiedMemoryManager</h2>
 </div>
-<div class="classUseContainer">No usage of org.apache.sysds.runtime.transform.encode.EncoderComposite</div>
+<div class="classUseContainer">No usage of org.apache.sysds.runtime.controlprogram.caching.UnifiedMemoryManager</div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
 <!--   -->
@@ -84,7 +84,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">Class</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/UnifiedMemoryManager.html" title="class in org.apache.sysds.runtime.controlprogram.caching">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -98,8 +98,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/transform/encode/class-use/EncoderComposite.html" target="_top">Frames</a></li>
-<li><a href="EncoderComposite.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/controlprogram/caching/class-use/UnifiedMemoryManager.html" target="_top">Frames</a></li>
+<li><a href="UnifiedMemoryManager.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/package-frame.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/package-frame.html
index 50130f0..23b15d8 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/package-frame.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/package-frame.html
@@ -28,6 +28,7 @@
 <li><a href="MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching" target="classFrame">MatrixObject</a></li>
 <li><a href="PageCache.html" title="class in org.apache.sysds.runtime.controlprogram.caching" target="classFrame">PageCache</a></li>
 <li><a href="TensorObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching" target="classFrame">TensorObject</a></li>
+<li><a href="UnifiedMemoryManager.html" title="class in org.apache.sysds.runtime.controlprogram.caching" target="classFrame">UnifiedMemoryManager</a></li>
 </ul>
 <h2 title="Enums">Enums</h2>
 <ul title="Enums">
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/package-summary.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/package-summary.html
index d0458f3..a51582d 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/package-summary.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/package-summary.html
@@ -158,6 +158,17 @@
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/TensorObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">TensorObject</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/UnifiedMemoryManager.html" title="class in org.apache.sysds.runtime.controlprogram.caching">UnifiedMemoryManager</a></td>
+<td class="colLast">
+<div class="block">Unified Memory Manager - Initial Design
+ 
+ Motivation:
+ The Unified Memory Manager, henceforth UMM, will act as a central manager of in-memory
+ matrix (uncompressed and compressed), frame, and tensor blocks within SystemDS control
+ program.</div>
+</td>
+</tr>
 </tbody>
 </table>
 </li>
@@ -239,6 +250,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/package-tree.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/package-tree.html
index 7df7720..0b5c918 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/package-tree.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/package-tree.html
@@ -99,6 +99,7 @@
 </li>
 <li type="circle">org.apache.sysds.runtime.controlprogram.caching.<a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/LazyWriteBuffer.html" title="class in org.apache.sysds.runtime.controlprogram.caching"><span class="typeNameLink">LazyWriteBuffer</span></a></li>
 <li type="circle">org.apache.sysds.runtime.controlprogram.caching.<a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/PageCache.html" title="class in org.apache.sysds.runtime.controlprogram.caching"><span class="typeNameLink">PageCache</span></a></li>
+<li type="circle">org.apache.sysds.runtime.controlprogram.caching.<a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/UnifiedMemoryManager.html" title="class in org.apache.sysds.runtime.controlprogram.caching"><span class="typeNameLink">UnifiedMemoryManager</span></a></li>
 </ul>
 </li>
 </ul>
@@ -173,6 +174,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/package-use.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/package-use.html
index c52d57d..e7ab9bf 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/package-use.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/package-use.html
@@ -99,62 +99,74 @@
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.codegen">org.apache.sysds.runtime.codegen</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.compress">org.apache.sysds.runtime.compress</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.controlprogram.caching">org.apache.sysds.runtime.controlprogram.caching</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.controlprogram.context">org.apache.sysds.runtime.controlprogram.context</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.controlprogram.federated">org.apache.sysds.runtime.controlprogram.federated</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.controlprogram.paramserv">org.apache.sysds.runtime.controlprogram.paramserv</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.controlprogram.paramserv.dp">org.apache.sysds.runtime.controlprogram.paramserv.dp</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.controlprogram.parfor">org.apache.sysds.runtime.controlprogram.parfor</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.controlprogram.parfor.opt">org.apache.sysds.runtime.controlprogram.parfor.opt</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.data">org.apache.sysds.runtime.data</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.cp">org.apache.sysds.runtime.instructions.cp</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.fed">org.apache.sysds.runtime.instructions.fed</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.gpu.context">org.apache.sysds.runtime.instructions.gpu.context</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.spark.data">org.apache.sysds.runtime.instructions.spark.data</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.spark.utils">org.apache.sysds.runtime.instructions.spark.utils</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
 <tr class="rowColor">
-<td class="colFirst"><a href="#org.apache.sysds.runtime.matrix.data">org.apache.sysds.runtime.matrix.data</a></td>
+<td class="colFirst"><a href="#org.apache.sysds.runtime.lineage">org.apache.sysds.runtime.lineage</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.matrix.data">org.apache.sysds.runtime.matrix.data</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.util">org.apache.sysds.runtime.util</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
@@ -228,6 +240,23 @@
 </tbody>
 </table>
 </li>
+<li class="blockList"><a name="org.apache.sysds.runtime.codegen">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/package-summary.html">org.apache.sysds.runtime.controlprogram.caching</a> used by <a href="../../../../../../org/apache/sysds/runtime/codegen/package-summary.html">org.apache.sysds.runtime.codegen</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/class-use/MatrixObject.html#org.apache.sysds.runtime.codegen">MatrixObject</a>
+<div class="block">Represents a matrix in control program.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
 <li class="blockList"><a name="org.apache.sysds.runtime.compress">
 <!--   -->
 </a>
@@ -528,6 +557,40 @@
 </tbody>
 </table>
 </li>
+<li class="blockList"><a name="org.apache.sysds.runtime.instructions.spark.utils">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/package-summary.html">org.apache.sysds.runtime.controlprogram.caching</a> used by <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/utils/package-summary.html">org.apache.sysds.runtime.instructions.spark.utils</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/class-use/MatrixObject.html#org.apache.sysds.runtime.instructions.spark.utils">MatrixObject</a>
+<div class="block">Represents a matrix in control program.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.sysds.runtime.lineage">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/package-summary.html">org.apache.sysds.runtime.controlprogram.caching</a> used by <a href="../../../../../../org/apache/sysds/runtime/lineage/package-summary.html">org.apache.sysds.runtime.lineage</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/class-use/MatrixObject.html#org.apache.sysds.runtime.lineage">MatrixObject</a>
+<div class="block">Represents a matrix in control program.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
 <li class="blockList"><a name="org.apache.sysds.runtime.matrix.data">
 <!--   -->
 </a>
@@ -619,6 +682,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/class-use/BasicProgramBlock.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/class-use/BasicProgramBlock.html
index 151ca5b..489f566 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/class-use/BasicProgramBlock.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/class-use/BasicProgramBlock.html
@@ -189,6 +189,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/class-use/ForProgramBlock.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/class-use/ForProgramBlock.html
index 9458ae1..9ce0afc 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/class-use/ForProgramBlock.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/class-use/ForProgramBlock.html
@@ -251,6 +251,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/class-use/FunctionProgramBlock.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/class-use/FunctionProgramBlock.html
index ee4e962..6ed1c6c 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/class-use/FunctionProgramBlock.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/class-use/FunctionProgramBlock.html
@@ -250,6 +250,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/class-use/IfProgramBlock.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/class-use/IfProgramBlock.html
index 4c7c470..021fea3 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/class-use/IfProgramBlock.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/class-use/IfProgramBlock.html
@@ -211,6 +211,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/class-use/LocalVariableMap.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/class-use/LocalVariableMap.html
index c448cc9..6ddaa0d 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/class-use/LocalVariableMap.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/class-use/LocalVariableMap.html
@@ -406,9 +406,10 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static void</code></td>
-<td class="colLast"><span class="typeNameLabel">Recompiler.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/recompile/Recompiler.html#recompileProgramBlockHierarchy-java.util.ArrayList-org.apache.sysds.runtime.controlprogram.LocalVariableMap-long-org.apache.sysds.hops.recompile.Recompiler.ResetType-">recompileProgramBlockHierarchy</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/controlprogram/ProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ProgramBlock</a>&gt;&nbsp;pbs,
+<td class="colLast"><span class="typeNameLabel">Recompiler.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/recompile/Recompiler.html#recompileProgramBlockHierarchy-java.util.ArrayList-org.apache.sysds.runtime.controlprogram.LocalVariableMap-long-boolean-org.apache.sysds.hops.recompile.Recompiler.ResetType-">recompileProgramBlockHierarchy</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/controlprogram/ProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ProgramBlock</a>&gt;&nbsp;pbs,
                               <a href="../../../../../../org/apache/sysds/runtime/controlprogram/LocalVariableMap.html" title="class in org.apache.sysds.runtime.controlprogram">LocalVariableMap</a>&nbsp;vars,
                               long&nbsp;tid,
+                              boolean&nbsp;inplace,
                               <a href="../../../../../../org/apache/sysds/hops/recompile/Recompiler.ResetType.html" title="enum in org.apache.sysds.hops.recompile">Recompiler.ResetType</a>&nbsp;resetRecompile)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
@@ -588,6 +589,15 @@
                       <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;aggFunc,
                       int&nbsp;k)</code>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ParamservUtils.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/ParamservUtils.html#createExecutionContext-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.lang.String-java.lang.String-int-boolean-">createExecutionContext</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
+                      <a href="../../../../../../org/apache/sysds/runtime/controlprogram/LocalVariableMap.html" title="class in org.apache.sysds.runtime.controlprogram">LocalVariableMap</a>&nbsp;varsMap,
+                      <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;updFunc,
+                      <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;aggFunc,
+                      int&nbsp;k,
+                      boolean&nbsp;forceExecTypeCP)</code>&nbsp;</td>
+</tr>
 </tbody>
 </table>
 </li>
@@ -862,6 +872,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/class-use/ParForProgramBlock.PDataPartitionFormat.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/class-use/ParForProgramBlock.PDataPartitionFormat.html
index 86f707e..f2d60da 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/class-use/ParForProgramBlock.PDataPartitionFormat.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/class-use/ParForProgramBlock.PDataPartitionFormat.html
@@ -275,6 +275,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/class-use/ParForProgramBlock.PDataPartitioner.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/class-use/ParForProgramBlock.PDataPartitioner.html
index 1d5bef3..057b061 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/class-use/ParForProgramBlock.PDataPartitioner.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/class-use/ParForProgramBlock.PDataPartitioner.html
@@ -182,6 +182,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/class-use/ParForProgramBlock.PExecMode.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/class-use/ParForProgramBlock.PExecMode.html
index 70909fc..c6b1463 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/class-use/ParForProgramBlock.PExecMode.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/class-use/ParForProgramBlock.PExecMode.html
@@ -208,6 +208,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/class-use/ParForProgramBlock.POptMode.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/class-use/ParForProgramBlock.POptMode.html
index d811fe6..24db964 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/class-use/ParForProgramBlock.POptMode.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/class-use/ParForProgramBlock.POptMode.html
@@ -227,6 +227,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/class-use/ParForProgramBlock.PResultMerge.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/class-use/ParForProgramBlock.PResultMerge.html
index 743ed0a..c85d908 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/class-use/ParForProgramBlock.PResultMerge.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/class-use/ParForProgramBlock.PResultMerge.html
@@ -182,6 +182,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/class-use/ParForProgramBlock.PTaskPartitioner.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/class-use/ParForProgramBlock.PTaskPartitioner.html
index e555440..3cece85 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/class-use/ParForProgramBlock.PTaskPartitioner.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/class-use/ParForProgramBlock.PTaskPartitioner.html
@@ -182,6 +182,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/class-use/ParForProgramBlock.PartitionFormat.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/class-use/ParForProgramBlock.PartitionFormat.html
index dd97159..2bd4f3d 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/class-use/ParForProgramBlock.PartitionFormat.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/class-use/ParForProgramBlock.PartitionFormat.html
@@ -297,6 +297,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/class-use/ParForProgramBlock.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/class-use/ParForProgramBlock.html
index 63f082f..45870e7 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/class-use/ParForProgramBlock.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/class-use/ParForProgramBlock.html
@@ -264,6 +264,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/class-use/Program.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/class-use/Program.html
index 12e79c8..95f1f58 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/class-use/Program.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/class-use/Program.html
@@ -464,6 +464,12 @@
 <td class="colLast"><span class="typeNameLabel">ProgramConverter.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/util/ProgramConverter.html#parseProgram-java.lang.String-int-">parseProgram</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;in,
             int&nbsp;id)</code>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/controlprogram/Program.html" title="class in org.apache.sysds.runtime.controlprogram">Program</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ProgramConverter.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/util/ProgramConverter.html#parseProgram-java.lang.String-int-boolean-">parseProgram</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;in,
+            int&nbsp;id,
+            boolean&nbsp;opt)</code>&nbsp;</td>
+</tr>
 </tbody>
 </table>
 <table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
@@ -549,6 +555,13 @@
 <td class="colLast"><span class="typeNameLabel">ProgramConverter.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/util/ProgramConverter.html#createShallowCopyForProgramBlock-org.apache.sysds.runtime.controlprogram.ForProgramBlock-org.apache.sysds.runtime.controlprogram.Program-">createShallowCopyForProgramBlock</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/ForProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ForProgramBlock</a>&nbsp;fpb,
                                 <a href="../../../../../../org/apache/sysds/runtime/controlprogram/Program.html" title="class in org.apache.sysds.runtime.controlprogram">Program</a>&nbsp;prog)</code>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ProgramConverter.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/util/ProgramConverter.html#serializeProgram-org.apache.sysds.runtime.controlprogram.Program-java.util.ArrayList-java.util.HashMap-boolean-">serializeProgram</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/Program.html" title="class in org.apache.sysds.runtime.controlprogram">Program</a>&nbsp;prog,
+                <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/controlprogram/ProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ProgramBlock</a>&gt;&nbsp;pbs,
+                <a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,byte[]&gt;&nbsp;clsMap,
+                boolean&nbsp;opt)</code>&nbsp;</td>
+</tr>
 </tbody>
 </table>
 </li>
@@ -653,6 +666,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/class-use/ProgramBlock.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/class-use/ProgramBlock.html
index f340afc..e626fa9 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/class-use/ProgramBlock.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/class-use/ProgramBlock.html
@@ -219,6 +219,13 @@
  only regenerates lops and instructions.</div>
 </td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><span class="typeNameLabel">Recompiler.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/recompile/Recompiler.html#rRecompileProgramBlock2Forced-org.apache.sysds.runtime.controlprogram.ProgramBlock-long-java.util.HashSet-org.apache.sysds.lops.LopProperties.ExecType-">rRecompileProgramBlock2Forced</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/ProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ProgramBlock</a>&nbsp;pb,
+                             long&nbsp;tid,
+                             <a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashSet.html?is-external=true" title="class or interface in java.util">HashSet</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;fnStack,
+                             <a href="../../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
+</tr>
 </tbody>
 </table>
 <table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
@@ -230,9 +237,10 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>static void</code></td>
-<td class="colLast"><span class="typeNameLabel">Recompiler.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/recompile/Recompiler.html#recompileProgramBlockHierarchy-java.util.ArrayList-org.apache.sysds.runtime.controlprogram.LocalVariableMap-long-org.apache.sysds.hops.recompile.Recompiler.ResetType-">recompileProgramBlockHierarchy</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/controlprogram/ProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ProgramBlock</a>&gt;&nbsp;pbs,
+<td class="colLast"><span class="typeNameLabel">Recompiler.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/recompile/Recompiler.html#recompileProgramBlockHierarchy-java.util.ArrayList-org.apache.sysds.runtime.controlprogram.LocalVariableMap-long-boolean-org.apache.sysds.hops.recompile.Recompiler.ResetType-">recompileProgramBlockHierarchy</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/controlprogram/ProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ProgramBlock</a>&gt;&nbsp;pbs,
                               <a href="../../../../../../org/apache/sysds/runtime/controlprogram/LocalVariableMap.html" title="class in org.apache.sysds.runtime.controlprogram">LocalVariableMap</a>&nbsp;vars,
                               long&nbsp;tid,
+                              boolean&nbsp;inplace,
                               <a href="../../../../../../org/apache/sysds/hops/recompile/Recompiler.ResetType.html" title="enum in org.apache.sysds.hops.recompile">Recompiler.ResetType</a>&nbsp;resetRecompile)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
@@ -350,8 +358,7 @@
 <tr class="rowColor">
 <td class="colFirst"><code>abstract <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/controlprogram/ProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ProgramBlock</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">ProgramBlock.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/ProgramBlock.html#getChildBlocks--">getChildBlocks</a></span>()</code>
-<div class="block">Get the list of child program blocks if nested;
- otherwise this method returns null.</div>
+<div class="block">Get the list of child program blocks if nested; otherwise this method returns null.</div>
 </td>
 </tr>
 <tr class="altColor">
@@ -447,6 +454,12 @@
 <td class="colLast"><span class="typeNameLabel">ParamservUtils.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/ParamservUtils.html#recompileProgramBlocks-int-java.util.List-">recompileProgramBlocks</a></span>(int&nbsp;k,
                       <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/controlprogram/ProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ProgramBlock</a>&gt;&nbsp;pbs)</code>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><span class="typeNameLabel">ParamservUtils.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/ParamservUtils.html#recompileProgramBlocks-int-java.util.List-boolean-">recompileProgramBlocks</a></span>(int&nbsp;k,
+                      <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/controlprogram/ProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ProgramBlock</a>&gt;&nbsp;pbs,
+                      boolean&nbsp;forceExecTypeCP)</code>&nbsp;</td>
+</tr>
 </tbody>
 </table>
 </li>
@@ -770,6 +783,13 @@
  specified parallel worker in order to avoid conflicts between parworkers.</div>
 </td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ProgramConverter.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/util/ProgramConverter.html#serializeProgram-org.apache.sysds.runtime.controlprogram.Program-java.util.ArrayList-java.util.HashMap-boolean-">serializeProgram</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/Program.html" title="class in org.apache.sysds.runtime.controlprogram">Program</a>&nbsp;prog,
+                <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/controlprogram/ProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ProgramBlock</a>&gt;&nbsp;pbs,
+                <a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,byte[]&gt;&nbsp;clsMap,
+                boolean&nbsp;opt)</code>&nbsp;</td>
+</tr>
 </tbody>
 </table>
 </li>
@@ -842,6 +862,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/class-use/WhileProgramBlock.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/class-use/WhileProgramBlock.html
index 0593c8e..b285949 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/class-use/WhileProgramBlock.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/class-use/WhileProgramBlock.html
@@ -187,6 +187,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html
index 40920a4..0082b1b 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":9,"i6":9,"i7":9,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10,"i37":10,"i38":10,"i39":10,"i40":10,"i41":10,"i42":10,"i43":10,"i44":10,"i45":10,"i46":10,"i47":10,"i48":10,"i49":10,"i50":10,"i51":10,"i52":10,"i53":10,"i54":10,"i55":10,"i56":10,"i57":10,"i58":10,"i59":10,"i60":10,"i61":10,"i62":10,"i63":10,"i64":10,"i65":10,"i66":10,"i67":10,"i68":10,"i69":10,"i70":10,"i71":10,"i72":10,"i73":10,"i74":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":9,"i6":9,"i7":9,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10,"i37":10,"i38":10,"i39":10,"i40":10,"i41":10,"i42":10,"i43":10,"i44":10,"i45":10,"i46":10,"i47":10,"i48":10,"i49":10,"i50":10,"i51":10,"i52":10,"i53":10,"i54":10,"i55":10,"i56":10,"i57":10,"i58":10,"i59":10,"i60":10,"i61":10,"i62":10,"i63":10,"i64":10,"i65":10,"i66":10,"i67":10,"i68":10,"i69":10,"i70":10,"i71":10,"i72":10,"i73":10,"i74":10,"i75":10,"i76":10,"i77":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -233,82 +233,90 @@
 </td>
 </tr>
 <tr id="i17" class="rowColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getGPUDensePointerAddress-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-">getGPUDensePointerAddress</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;obj)</code>&nbsp;</td>
+</tr>
+<tr id="i18" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/context/CSRPointer.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">CSRPointer</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getGPUSparsePointerAddress-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-">getGPUSparsePointerAddress</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;obj)</code>&nbsp;</td>
+</tr>
+<tr id="i19" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/lineage/Lineage.html" title="class in org.apache.sysds.runtime.lineage">Lineage</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getLineage--">getLineage</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i18" class="altColor">
+<tr id="i20" class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getLineageItem-org.apache.sysds.runtime.instructions.cp.CPOperand-">getLineageItem</a></span>(<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;input)</code>&nbsp;</td>
 </tr>
-<tr id="i19" class="rowColor">
+<tr id="i21" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ListObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ListObject</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getListObject-org.apache.sysds.runtime.instructions.cp.CPOperand-">getListObject</a></span>(<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;input)</code>&nbsp;</td>
 </tr>
-<tr id="i20" class="altColor">
+<tr id="i22" class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ListObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ListObject</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getListObject-java.lang.String-">getListObject</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>&nbsp;</td>
 </tr>
-<tr id="i21" class="rowColor">
+<tr id="i23" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getMatrixInput-java.lang.String-">getMatrixInput</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;varName)</code>
 <div class="block">Pins a matrix variable into memory and returns the internal matrix block.</div>
 </td>
 </tr>
-<tr id="i22" class="altColor">
+<tr id="i24" class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getMatrixInputForGPUInstruction-java.lang.String-java.lang.String-">getMatrixInputForGPUInstruction</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;varName,
                                <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;opcode)</code>&nbsp;</td>
 </tr>
-<tr id="i23" class="rowColor">
+<tr id="i25" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getMatrixInputs-org.apache.sysds.runtime.instructions.cp.CPOperand:A-">getMatrixInputs</a></span>(<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>[]&nbsp;inputs)</code>&nbsp;</td>
 </tr>
-<tr id="i24" class="altColor">
+<tr id="i26" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getMatrixInputs-org.apache.sysds.runtime.instructions.cp.CPOperand:A-boolean-">getMatrixInputs</a></span>(<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>[]&nbsp;inputs,
                boolean&nbsp;includeList)</code>&nbsp;</td>
 </tr>
-<tr id="i25" class="rowColor">
+<tr id="i27" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getMatrixObject-org.apache.sysds.runtime.instructions.cp.CPOperand-">getMatrixObject</a></span>(<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;input)</code>&nbsp;</td>
 </tr>
-<tr id="i26" class="altColor">
+<tr id="i28" class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getMatrixObject-java.lang.String-">getMatrixObject</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;varname)</code>&nbsp;</td>
 </tr>
-<tr id="i27" class="rowColor">
+<tr id="i29" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/meta/MetaData.html" title="class in org.apache.sysds.runtime.meta">MetaData</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getMetaData-java.lang.String-">getMetaData</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;varname)</code>&nbsp;</td>
 </tr>
-<tr id="i28" class="altColor">
+<tr id="i30" class="altColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getNumGPUContexts--">getNumGPUContexts</a></span>()</code>
 <div class="block">Gets the number of GPUContexts</div>
 </td>
 </tr>
-<tr id="i29" class="rowColor">
+<tr id="i31" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getOrCreateLineageItem-org.apache.sysds.runtime.instructions.cp.CPOperand-">getOrCreateLineageItem</a></span>(<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;input)</code>&nbsp;</td>
 </tr>
-<tr id="i30" class="altColor">
+<tr id="i32" class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/controlprogram/Program.html" title="class in org.apache.sysds.runtime.controlprogram">Program</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getProgram--">getProgram</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i31" class="rowColor">
+<tr id="i33" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getScalarInput-org.apache.sysds.runtime.instructions.cp.CPOperand-">getScalarInput</a></span>(<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;input)</code>&nbsp;</td>
 </tr>
-<tr id="i32" class="altColor">
+<tr id="i34" class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getScalarInput-java.lang.String-org.apache.sysds.common.Types.ValueType-boolean-">getScalarInput</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
               <a href="../../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
               boolean&nbsp;isLiteral)</code>&nbsp;</td>
 </tr>
-<tr id="i33" class="rowColor">
+<tr id="i35" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getScalarInputs-org.apache.sysds.runtime.instructions.cp.CPOperand:A-">getScalarInputs</a></span>(<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>[]&nbsp;inputs)</code>&nbsp;</td>
 </tr>
-<tr id="i34" class="altColor">
+<tr id="i36" class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/Pair.html" title="class in org.apache.sysds.runtime.matrix.data">Pair</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getSparseMatrixOutputForGPUInstruction-java.lang.String-long-long-long-">getSparseMatrixOutputForGPUInstruction</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;varName,
                                       long&nbsp;numRows,
@@ -317,57 +325,57 @@
 <div class="block">Allocates a sparse matrix in CSR format on the GPU.</div>
 </td>
 </tr>
-<tr id="i35" class="rowColor">
+<tr id="i37" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/data/TensorBlock.html" title="class in org.apache.sysds.runtime.data">TensorBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getTensorInput-java.lang.String-">getTensorInput</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;varName)</code>
 <div class="block">Pins a matrix variable into memory and returns the internal matrix block.</div>
 </td>
 </tr>
-<tr id="i36" class="altColor">
+<tr id="i38" class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/TensorObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">TensorObject</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getTensorObject-java.lang.String-">getTensorObject</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;varname)</code>&nbsp;</td>
 </tr>
-<tr id="i37" class="rowColor">
+<tr id="i39" class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getTID--">getTID</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i38" class="altColor">
+<tr id="i40" class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/Data.html" title="class in org.apache.sysds.runtime.instructions.cp">Data</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getVariable-org.apache.sysds.runtime.instructions.cp.CPOperand-">getVariable</a></span>(<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;operand)</code>&nbsp;</td>
 </tr>
-<tr id="i39" class="rowColor">
+<tr id="i41" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/Data.html" title="class in org.apache.sysds.runtime.instructions.cp">Data</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getVariable-java.lang.String-">getVariable</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>&nbsp;</td>
 </tr>
-<tr id="i40" class="altColor">
+<tr id="i42" class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/controlprogram/LocalVariableMap.html" title="class in org.apache.sysds.runtime.controlprogram">LocalVariableMap</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getVariables--">getVariables</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i41" class="rowColor">
+<tr id="i43" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getVarList--">getVarList</a></span>()</code>
 <div class="block">NOTE: No order guaranteed, so keep same list for pin and unpin.</div>
 </td>
 </tr>
-<tr id="i42" class="altColor">
+<tr id="i44" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getVarListPartitioned--">getVarListPartitioned</a></span>()</code>
 <div class="block">NOTE: No order guaranteed, so keep same list for pin and unpin.</div>
 </td>
 </tr>
-<tr id="i43" class="rowColor">
+<tr id="i45" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#isAutoCreateVars--">isAutoCreateVars</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i44" class="altColor">
+<tr id="i46" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#isFrameObject-java.lang.String-">isFrameObject</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;varname)</code>&nbsp;</td>
 </tr>
-<tr id="i45" class="rowColor">
+<tr id="i47" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#isMatrixObject-java.lang.String-">isMatrixObject</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;varname)</code>&nbsp;</td>
 </tr>
-<tr id="i46" class="altColor">
+<tr id="i48" class="altColor">
 <td class="colFirst"><code>boolean[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#pinVariables-java.util.List-">pinVariables</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;varList)</code>
 <div class="block">Pin a given list of variables i.e., set the "clean up" state in
@@ -376,132 +384,138 @@
  deleted (through rmvar instructions).</div>
 </td>
 </tr>
-<tr id="i47" class="rowColor">
+<tr id="i49" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#releaseCacheableData-java.lang.String-">releaseCacheableData</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;varname)</code>&nbsp;</td>
 </tr>
-<tr id="i48" class="altColor">
+<tr id="i50" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#releaseFrameInput-java.lang.String-">releaseFrameInput</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;varName)</code>
 <div class="block">Unpins a currently pinned frame variable.</div>
 </td>
 </tr>
-<tr id="i49" class="rowColor">
+<tr id="i51" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#releaseMatrixInput-java.lang.String...-">releaseMatrixInput</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;varNames)</code>&nbsp;</td>
 </tr>
-<tr id="i50" class="altColor">
+<tr id="i52" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#releaseMatrixInput-java.lang.String-">releaseMatrixInput</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;varName)</code>
 <div class="block">Unpins a currently pinned matrix variable and update fine-grained statistics.</div>
 </td>
 </tr>
-<tr id="i51" class="rowColor">
+<tr id="i53" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#releaseMatrixInputForGPUInstruction-java.lang.String-">releaseMatrixInputForGPUInstruction</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;varName)</code>&nbsp;</td>
 </tr>
-<tr id="i52" class="altColor">
+<tr id="i54" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#releaseMatrixInputs-org.apache.sysds.runtime.instructions.cp.CPOperand:A-">releaseMatrixInputs</a></span>(<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>[]&nbsp;inputs)</code>&nbsp;</td>
 </tr>
-<tr id="i53" class="rowColor">
+<tr id="i55" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#releaseMatrixInputs-org.apache.sysds.runtime.instructions.cp.CPOperand:A-boolean-">releaseMatrixInputs</a></span>(<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>[]&nbsp;inputs,
                    boolean&nbsp;includeList)</code>&nbsp;</td>
 </tr>
-<tr id="i54" class="altColor">
+<tr id="i56" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#releaseMatrixOutputForGPUInstruction-java.lang.String-">releaseMatrixOutputForGPUInstruction</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;varName)</code>&nbsp;</td>
 </tr>
-<tr id="i55" class="rowColor">
+<tr id="i57" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#releaseTensorInput-java.lang.String...-">releaseTensorInput</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;varNames)</code>&nbsp;</td>
 </tr>
-<tr id="i56" class="altColor">
+<tr id="i58" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#releaseTensorInput-java.lang.String-">releaseTensorInput</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;varName)</code>&nbsp;</td>
 </tr>
-<tr id="i57" class="rowColor">
+<tr id="i59" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/Data.html" title="class in org.apache.sysds.runtime.instructions.cp">Data</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#removeVariable-java.lang.String-">removeVariable</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>&nbsp;</td>
 </tr>
-<tr id="i58" class="altColor">
+<tr id="i60" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#setAutoCreateVars-boolean-">setAutoCreateVars</a></span>(boolean&nbsp;flag)</code>&nbsp;</td>
 </tr>
-<tr id="i59" class="rowColor">
+<tr id="i61" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#setFrameOutput-java.lang.String-org.apache.sysds.runtime.matrix.data.FrameBlock-">setFrameOutput</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;varName,
               <a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;outputData)</code>&nbsp;</td>
 </tr>
-<tr id="i60" class="altColor">
+<tr id="i62" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#setGPUContexts-java.util.List-">setGPUContexts</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUContext.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">GPUContext</a>&gt;&nbsp;gpuContexts)</code>
 <div class="block">Sets the list of GPUContexts</div>
 </td>
 </tr>
-<tr id="i61" class="rowColor">
+<tr id="i63" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#setLineage-org.apache.sysds.runtime.lineage.Lineage-">setLineage</a></span>(<a href="../../../../../../org/apache/sysds/runtime/lineage/Lineage.html" title="class in org.apache.sysds.runtime.lineage">Lineage</a>&nbsp;lineage)</code>&nbsp;</td>
 </tr>
-<tr id="i62" class="altColor">
+<tr id="i64" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#setMatrixOutput-java.lang.String-org.apache.sysds.runtime.matrix.data.MatrixBlock-">setMatrixOutput</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;varName,
                <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;outputData)</code>&nbsp;</td>
 </tr>
-<tr id="i63" class="rowColor">
+<tr id="i65" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#setMatrixOutput-java.lang.String-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType-">setMatrixOutput</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;varName,
                <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;outputData,
                <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.UpdateType.html" title="enum in org.apache.sysds.runtime.controlprogram.caching">MatrixObject.UpdateType</a>&nbsp;flag)</code>&nbsp;</td>
 </tr>
-<tr id="i64" class="altColor">
+<tr id="i66" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#setMatrixOutputAndLineage-java.lang.String-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.lineage.LineageItem-">setMatrixOutputAndLineage</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;varName,
+                         <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;outputData,
+                         <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;li)</code>&nbsp;</td>
+</tr>
+<tr id="i67" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#setMetaData-java.lang.String-long-long-">setMetaData</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;varName,
            long&nbsp;nrows,
            long&nbsp;ncols)</code>&nbsp;</td>
 </tr>
-<tr id="i65" class="rowColor">
+<tr id="i68" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#setMetaData-java.lang.String-org.apache.sysds.runtime.meta.MetaData-">setMetaData</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;fname,
            <a href="../../../../../../org/apache/sysds/runtime/meta/MetaData.html" title="class in org.apache.sysds.runtime.meta">MetaData</a>&nbsp;md)</code>&nbsp;</td>
 </tr>
-<tr id="i66" class="altColor">
+<tr id="i69" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#setProgram-org.apache.sysds.runtime.controlprogram.Program-">setProgram</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/Program.html" title="class in org.apache.sysds.runtime.controlprogram">Program</a>&nbsp;prog)</code>&nbsp;</td>
 </tr>
-<tr id="i67" class="rowColor">
+<tr id="i70" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#setScalarOutput-java.lang.String-org.apache.sysds.runtime.instructions.cp.ScalarObject-">setScalarOutput</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;varName,
                <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&nbsp;so)</code>&nbsp;</td>
 </tr>
-<tr id="i68" class="altColor">
+<tr id="i71" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#setTensorOutput-java.lang.String-org.apache.sysds.runtime.data.TensorBlock-">setTensorOutput</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;varName,
                <a href="../../../../../../org/apache/sysds/runtime/data/TensorBlock.html" title="class in org.apache.sysds.runtime.data">TensorBlock</a>&nbsp;outputData)</code>&nbsp;</td>
 </tr>
-<tr id="i69" class="rowColor">
+<tr id="i72" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#setTID-long-">setTID</a></span>(long&nbsp;tid)</code>&nbsp;</td>
 </tr>
-<tr id="i70" class="altColor">
+<tr id="i73" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#setVariable-java.lang.String-org.apache.sysds.runtime.instructions.cp.Data-">setVariable</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
            <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/Data.html" title="class in org.apache.sysds.runtime.instructions.cp">Data</a>&nbsp;val)</code>&nbsp;</td>
 </tr>
-<tr id="i71" class="rowColor">
+<tr id="i74" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#setVariables-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">setVariables</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/LocalVariableMap.html" title="class in org.apache.sysds.runtime.controlprogram">LocalVariableMap</a>&nbsp;vars)</code>&nbsp;</td>
 </tr>
-<tr id="i72" class="altColor">
+<tr id="i75" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#toString--">toString</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i73" class="rowColor">
+<tr id="i76" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#traceLineage-org.apache.sysds.runtime.instructions.Instruction-">traceLineage</a></span>(<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a>&nbsp;inst)</code>&nbsp;</td>
 </tr>
-<tr id="i74" class="altColor">
+<tr id="i77" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#unpinVariables-java.util.List-boolean:A-">unpinVariables</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;varList,
               boolean[]&nbsp;varsState)</code>
@@ -975,6 +989,24 @@
 </dl>
 </li>
 </ul>
+<a name="getGPUDensePointerAddress-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getGPUDensePointerAddress</h4>
+<pre>public&nbsp;long&nbsp;getGPUDensePointerAddress(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;obj)</pre>
+</li>
+</ul>
+<a name="getGPUSparsePointerAddress-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getGPUSparsePointerAddress</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/context/CSRPointer.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">CSRPointer</a>&nbsp;getGPUSparsePointerAddress(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;obj)</pre>
+</li>
+</ul>
 <a name="getMatrixInputForGPUInstruction-java.lang.String-java.lang.String-">
 <!--   -->
 </a>
@@ -1132,6 +1164,17 @@
                             <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;outputData)</pre>
 </li>
 </ul>
+<a name="setMatrixOutputAndLineage-java.lang.String-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.lineage.LineageItem-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setMatrixOutputAndLineage</h4>
+<pre>public&nbsp;void&nbsp;setMatrixOutputAndLineage(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;varName,
+                                      <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;outputData,
+                                      <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;li)</pre>
+</li>
+</ul>
 <a name="setMatrixOutput-java.lang.String-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType-">
 <!--   -->
 </a>
@@ -1442,6 +1485,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/context/ExecutionContextFactory.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/context/ExecutionContextFactory.html
index 74dcbe0..e115a35 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/context/ExecutionContextFactory.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/context/ExecutionContextFactory.html
@@ -327,6 +327,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/context/SparkExecutionContext.SparkClusterConfig.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/context/SparkExecutionContext.SparkClusterConfig.html
index b5cad51..970cda7 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/context/SparkExecutionContext.SparkClusterConfig.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/context/SparkExecutionContext.SparkClusterConfig.html
@@ -358,6 +358,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/context/SparkExecutionContext.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/context/SparkExecutionContext.html
index 77be362..73c9707 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/context/SparkExecutionContext.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/context/SparkExecutionContext.html
@@ -515,7 +515,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.controlprogram.context.<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#allocateGPUMatrixObject-java.lang.String-long-long-">allocateGPUMatrixObject</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#cleanupDataObject-org.apache.sysds.runtime.instructions.cp.Data-">cleanupDataObject</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#containsVariable-org.apache.sysds.runtime.instructions.cp.CPOperand-">containsVariable</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#containsVariable-java.lang.String-">containsVariable</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#createCacheableData-org.apache.sysds.runtime.controlprogram.caching.CacheBlock-">createCacheableData</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#createFrameObject-org.apache.sysds.runtime.matrix.data.FrameBlock-">createFrameObject</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#createMatrixObject-org.apache.sysds.runtime.matrix.data.MatrixBlock-">createMatrixObject</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getCacheableData-org.apache.sysds.runtime.instructions.cp.CPOperand-">getCacheableData</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getCacheableData-java.lang.String-">getCacheableData</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getDataCharacteristics-java.lang.String-">getDataCharacteristics</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getDenseMatrixOutputForGPUInstruction-java.lang.String-long-long-">getDenseMatrixOutputForGPUInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getFrameInput-java.lang.String-">getFrameInput</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getFrameObject-org.apache.sysds.runtime.instructions.cp.CPOperand-">getFrameObject</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getFrameObject-java.lang.String-">getFrameObject</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getGPUContext-int-">getGPUContext</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getGPUContexts--">getGPUContexts</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getLineage--">getLineage</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getLineageItem-org.apache.sysds.runtime.instructions.cp.CPOperand-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getListObject-org.apache.sysds.runtime.instructions.cp.CPOperand-">getListObject</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getListObject-java.lang.String-">getListObject</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getMatrixInput-java.lang.String-">getMatrixInput</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getMatrixInputForGPUInstruction-java.lang.String-java.lang.String-">getMatrixInputForGPUInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getMatrixInputs-org.apache.sysds.runtime.instructions.cp.CPOperand:A-">getMatrixInputs</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getMatrixInputs-org.apache.sysds.runtime.instructions.cp.CPOperand:A-boolean-">getMatrixInputs</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getMatrixObject-org.apache.sysds.runtime.instructions.cp.CPOperand-">getMatrixObject</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getMatrixObject-java.lang.String-">getMatrixObject</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getMetaData-java.lang.String-">getMetaData</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getNumGPUContexts--">getNumGPUContexts</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getOrCreateLineageItem-org.apache.sysds.runtime.instructions.cp.CPOperand-">getOrCreateLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getProgram--">getProgram</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getScalarInput-org.apache.sysds.runtime.instructions.cp.CPOperand-">getScalarInput</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getScalarInput-java.lang.String-org.apache.sysds.common.Types.ValueType-boolean-">getScalarInput</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getScalarInputs-org.apache.sysds.runtime.instructions.cp.CPOperand:A-">getScalarInputs</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getSparseMatrixOutputForGPUInstruction-java.lang.String-long-long-long-">getSparseMatrixOutputForGPUInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getTensorInput-java.lang.String-">getTensorInput</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getTensorObject-java.lang.String-">getTensorObject</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getTID--">getTID</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getVariable-org.apache.sysds.runtime.instructions.cp.CPOperand-">getVariable</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getVariable-java.lang.String-">getVariable</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getVariables--">getVariables</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getVarList--">getVarList</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getVarListPartitioned--">getVarListPartitioned</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#isAutoCreateVars--">isAutoCreateVars</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#isFrameObject-java.lang.String-">isFrameObject</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#isMatrixObject-java.lang.String-">isMatrixObject</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#pinVariables-java.util.List-">pinVariables</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#releaseCacheableData-java.lang.String-">releaseCacheableData</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#releaseFrameInput-java.lang.String-">releaseFrameInput</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#releaseMatrixInput-java.lang.String...-">releaseMatrixInput</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#releaseMatrixInput-java.lang.String-">releaseMatrixInput</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#releaseMatrixInputForGPUInstruction-java.lang.String-">releaseMatrixInputForGPUInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#releaseMatrixInputs-org.apache.sysds.runtime.instructions.cp.CPOperand:A-">releaseMatrixInputs</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#releaseMatrixInputs-org.apache.sysds.runtime.instructions.cp.CPOperand:A-boolean-">releaseMatrixInputs</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#releaseMatrixOutputForGPUInstruction-java.lang.String-">releaseMatrixOutputForGPUInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#releaseTensorInput-java.lang.String...-">releaseTensorInput</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#releaseTensorInput-java.lang.String-">releaseTensorInput</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#removeVariable-java.lang.String-">removeVariable</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#setAutoCreateVars-boolean-">setAutoCreateVars</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#setFrameOutput-java.lang.String-org.apache.sysds.runtime.matrix.data.FrameBlock-">setFrameOutput</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#setGPUContexts-java.util.List-">setGPUContexts</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#setLineage-org.apache.sysds.runtime.lineage.Lineage-">setLineage</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#setMatrixOutput-java.lang.String-org.apache.sysds.runtime.matrix.data.MatrixBlock-">setMatrixOutput</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#setMatrixOutput-java.lang.String-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType-">setMatrixOutput</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#setMetaData-java.lang.String-long-long-">setMetaData</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#setMetaData-java.lang.String-org.apache.sysds.runtime.meta.MetaData-">setMetaData</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#setProgram-org.apache.sysds.runtime.controlprogram.Program-">setProgram</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#setScalarOutput-java.lang.String-org.apache.sysds.runtime.instructions.cp.ScalarObject-">setScalarOutput</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#setTensorOutput-java.lang.String-org.apache.sysds.runtime.data.TensorBlock-">setTensorOutput</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#setTID-long-">setTID</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#setVariable-java.lang.String-org.apache.sysds.runtime.instructions.cp.Data-">setVariable</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#setVariables-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">setVariables</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#traceLineage-org.apache.sysds.runtime.instructions.Instruction-">traceLineage</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#unpinVariables-java.util.List-boolean:A-">unpinVariables</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#allocateGPUMatrixObject-java.lang.String-long-long-">allocateGPUMatrixObject</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#cleanupDataObject-org.apache.sysds.runtime.instructions.cp.Data-">cleanupDataObject</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#containsVariable-org.apache.sysds.runtime.instructions.cp.CPOperand-">containsVariable</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#containsVariable-java.lang.String-">containsVariable</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#createCacheableData-org.apache.sysds.runtime.controlprogram.caching.CacheBlock-">createCacheableData</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#createFrameObject-org.apache.sysds.runtime.matrix.data.FrameBlock-">createFrameObject</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#createMatrixObject-org.apache.sysds.runtime.matrix.data.MatrixBlock-">createMatrixObject</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getCacheableData-org.apache.sysds.runtime.instructions.cp.CPOperand-">getCacheableData</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getCacheableData-java.lang.String-">getCacheableData</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getDataCharacteristics-java.lang.String-">getDataCharacteristics</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getDenseMatrixOutputForGPUInstruction-java.lang.String-long-long-">getDenseMatrixOutputForGPUInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getFrameInput-java.lang.String-">getFrameInput</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getFrameObject-org.apache.sysds.runtime.instructions.cp.CPOperand-">getFrameObject</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getFrameObject-java.lang.String-">getFrameObject</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getGPUContext-int-">getGPUContext</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getGPUContexts--">getGPUContexts</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getGPUDensePointerAddress-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-">getGPUDensePointerAddress</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getGPUSparsePointerAddress-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-">getGPUSparsePointerAddress</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getLineage--">getLineage</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getLineageItem-org.apache.sysds.runtime.instructions.cp.CPOperand-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getListObject-org.apache.sysds.runtime.instructions.cp.CPOperand-">getListObject</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getListObject-java.lang.String-">getListObject</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getMatrixInput-java.lang.String-">getMatrixInput</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getMatrixInputForGPUInstruction-java.lang.String-java.lang.String-">getMatrixInputForGPUInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getMatrixInputs-org.apache.sysds.runtime.instructions.cp.CPOperand:A-">getMatrixInputs</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getMatrixInputs-org.apache.sysds.runtime.instructions.cp.CPOperand:A-boolean-">getMatrixInputs</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getMatrixObject-org.apache.sysds.runtime.instructions.cp.CPOperand-">getMatrixObject</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getMatrixObject-java.lang.String-">getMatrixObject</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getMetaData-java.lang.String-">getMetaData</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getNumGPUContexts--">getNumGPUContexts</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getOrCreateLineageItem-org.apache.sysds.runtime.instructions.cp.CPOperand-">getOrCreateLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getProgram--">getProgram</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getScalarInput-org.apache.sysds.runtime.instructions.cp.CPOperand-">getScalarInput</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getScalarInput-java.lang.String-org.apache.sysds.common.Types.ValueType-boolean-">getScalarInput</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getScalarInputs-org.apache.sysds.runtime.instructions.cp.CPOperand:A-">getScalarInputs</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getSparseMatrixOutputForGPUInstruction-java.lang.String-long-long-long-">getSparseMatrixOutputForGPUInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getTensorInput-java.lang.String-">getTensorInput</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getTensorObject-java.lang.String-">getTensorObject</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getTID--">getTID</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getVariable-org.apache.sysds.runtime.instructions.cp.CPOperand-">getVariable</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getVariable-java.lang.String-">getVariable</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getVariables--">getVariables</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getVarList--">getVarList</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getVarListPartitioned--">getVarListPartitioned</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#isAutoCreateVars--">isAutoCreateVars</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#isFrameObject-java.lang.String-">isFrameObject</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#isMatrixObject-java.lang.String-">isMatrixObject</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#pinVariables-java.util.List-">pinVariables</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#releaseCacheableData-java.lang.String-">releaseCacheableData</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#releaseFrameInput-java.lang.String-">releaseFrameInput</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#releaseMatrixInput-java.lang.String...-">releaseMatrixInput</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#releaseMatrixInput-java.lang.String-">releaseMatrixInput</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#releaseMatrixInputForGPUInstruction-java.lang.String-">releaseMatrixInputForGPUInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#releaseMatrixInputs-org.apache.sysds.runtime.instructions.cp.CPOperand:A-">releaseMatrixInputs</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#releaseMatrixInputs-org.apache.sysds.runtime.instructions.cp.CPOperand:A-boolean-">releaseMatrixInputs</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#releaseMatrixOutputForGPUInstruction-java.lang.String-">releaseMatrixOutputForGPUInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#releaseTensorInput-java.lang.String...-">releaseTensorInput</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#releaseTensorInput-java.lang.String-">releaseTensorInput</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#removeVariable-java.lang.String-">removeVariable</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#setAutoCreateVars-boolean-">setAutoCreateVars</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#setFrameOutput-java.lang.String-org.apache.sysds.runtime.matrix.data.FrameBlock-">setFrameOutput</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#setGPUContexts-java.util.List-">setGPUContexts</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#setLineage-org.apache.sysds.runtime.lineage.Lineage-">setLineage</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#setMatrixOutput-java.lang.String-org.apache.sysds.runtime.matrix.data.MatrixBlock-">setMatrixOutput</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#setMatrixOutput-java.lang.String-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType-">setMatrixOutput</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#setMatrixOutputAndLineage-java.lang.String-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.lineage.LineageItem-">setMatrixOutputAndLineage</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#setMetaData-java.lang.String-long-long-">setMetaData</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#setMetaData-java.lang.String-org.apache.sysds.runtime.meta.MetaData-">setMetaData</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#setProgram-org.apache.sysds.runtime.controlprogram.Program-">setProgram</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#setScalarOutput-java.lang.String-org.apache.sysds.runtime.instructions.cp.ScalarObject-">setScalarOutput</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#setTensorOutput-java.lang.String-org.apache.sysds.runtime.data.TensorBlock-">setTensorOutput</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#setTID-long-">setTID</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#setVariable-java.lang.String-org.apache.sysds.runtime.instructions.cp.Data-">setVariable</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#setVariables-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">setVariables</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#traceLineage-org.apache.sysds.runtime.instructions.Instruction-">traceLineage</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#unpinVariables-java.util.List-boolean:A-">unpinVariables</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -1350,6 +1350,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/context/class-use/ExecutionContext.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/context/class-use/ExecutionContext.html
index 96c675d..106b1d3 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/context/class-use/ExecutionContext.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/context/class-use/ExecutionContext.html
@@ -99,66 +99,70 @@
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.codegen">org.apache.sysds.runtime.codegen</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.controlprogram">org.apache.sysds.runtime.controlprogram</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.controlprogram.context">org.apache.sysds.runtime.controlprogram.context</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.controlprogram.federated">org.apache.sysds.runtime.controlprogram.federated</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.controlprogram.paramserv">org.apache.sysds.runtime.controlprogram.paramserv</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.controlprogram.parfor">org.apache.sysds.runtime.controlprogram.parfor</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.controlprogram.parfor.opt">org.apache.sysds.runtime.controlprogram.parfor.opt</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.instructions">org.apache.sysds.runtime.instructions</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.cp">org.apache.sysds.runtime.instructions.cp</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.cpfile">org.apache.sysds.runtime.instructions.cpfile</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.fed">org.apache.sysds.runtime.instructions.fed</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.gpu">org.apache.sysds.runtime.instructions.gpu</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.spark">org.apache.sysds.runtime.instructions.spark</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.lineage">org.apache.sysds.runtime.lineage</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.matrix.data">org.apache.sysds.runtime.matrix.data</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.privacy.propagation">org.apache.sysds.runtime.privacy.propagation</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.util">org.apache.sysds.runtime.util</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
@@ -257,24 +261,9 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static void</code></td>
-<td class="colLast"><span class="typeNameLabel">Recompiler.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/hops/recompile/Recompiler.html#executeInMemoryFrameReblock-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-java.lang.String-java.lang.String-">executeInMemoryFrameReblock</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
-                           <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;varin,
-                           <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;varout)</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><span class="typeNameLabel">Recompiler.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/hops/recompile/Recompiler.html#executeInMemoryMatrixReblock-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-java.lang.String-java.lang.String-">executeInMemoryMatrixReblock</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
-                            <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;varin,
-                            <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;varout)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a>&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">Recompiler.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/hops/recompile/Recompiler.html#recompileHopsDag-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.hops.recompile.RecompileStatus-boolean-boolean-long-">recompileHopsDag</a></span>(<a href="../../../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop,
-                <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
-                <a href="../../../../../../../org/apache/sysds/hops/recompile/RecompileStatus.html" title="class in org.apache.sysds.hops.recompile">RecompileStatus</a>&nbsp;status,
-                boolean&nbsp;inplace,
-                boolean&nbsp;replaceLit,
-                long&nbsp;tid)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">Recompiler.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/hops/recompile/Recompiler.html#executeInMemoryReblock-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-java.lang.String-java.lang.String-">executeInMemoryReblock</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
+                      <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;varin,
+                      <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;varout)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a>&gt;</code></td>
@@ -297,6 +286,101 @@
 </tbody>
 </table>
 </li>
+<li class="blockList"><a name="org.apache.sysds.runtime.codegen">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a> in <a href="../../../../../../../org/apache/sysds/runtime/codegen/package-summary.html">org.apache.sysds.runtime.codegen</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/codegen/package-summary.html">org.apache.sysds.runtime.codegen</a> with parameters of type <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>abstract int</code></td>
+<td class="colLast"><span class="typeNameLabel">SpoofCUDAOperator.PrecisionProxy.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.PrecisionProxy.html#exec-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.runtime.codegen.SpoofCUDAOperator-int-long:A-long:A-long:A-java.util.ArrayList-long-">exec</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
+    <a href="../../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html" title="interface in org.apache.sysds.runtime.codegen">SpoofCUDAOperator</a>&nbsp;op,
+    int&nbsp;opID,
+    long[]&nbsp;in,
+    long[]&nbsp;sides,
+    long[]&nbsp;out,
+    <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&gt;&nbsp;scalarObjects,
+    long&nbsp;grix)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a></code></td>
+<td class="colLast"><span class="typeNameLabel">SpoofCUDACellwise.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDACellwise.html#execute-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-java.util.ArrayList-java.util.ArrayList-">execute</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
+       <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&gt;&nbsp;inputs,
+       <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&gt;&nbsp;scalarObjects)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a></code></td>
+<td class="colLast"><span class="typeNameLabel">SpoofCUDAOperator.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html#execute-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-java.util.ArrayList-java.util.ArrayList-">execute</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
+       <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&gt;&nbsp;inputs,
+       <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&gt;&nbsp;scalarObjects)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a></code></td>
+<td class="colLast"><span class="typeNameLabel">SpoofCUDARowwise.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDARowwise.html#execute-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-java.util.ArrayList-java.util.ArrayList-">execute</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
+       <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&gt;&nbsp;inputs,
+       <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&gt;&nbsp;scalarObjects)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a></code></td>
+<td class="colLast"><span class="typeNameLabel">SpoofCUDACellwise.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDACellwise.html#execute-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-java.util.ArrayList-java.util.ArrayList-java.lang.String-">execute</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
+       <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&gt;&nbsp;inputs,
+       <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&gt;&nbsp;scalarObjects,
+       <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;outputName)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a></code></td>
+<td class="colLast"><span class="typeNameLabel">SpoofCUDAOperator.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html#execute-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-java.util.ArrayList-java.util.ArrayList-java.lang.String-">execute</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
+       <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&gt;&nbsp;inputs,
+       <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&gt;&nbsp;scalarObjects,
+       <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;outputName)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a></code></td>
+<td class="colLast"><span class="typeNameLabel">SpoofCUDARowwise.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDARowwise.html#execute-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-java.util.ArrayList-java.util.ArrayList-java.lang.String-">execute</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
+       <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&gt;&nbsp;inputs,
+       <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&gt;&nbsp;scalarObjects,
+       <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;outputName)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>default long[]</code></td>
+<td class="colLast"><span class="typeNameLabel">SpoofCUDAOperator.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html#prepareInputPointers-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-java.util.ArrayList-int-">prepareInputPointers</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
+                    <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&gt;&nbsp;inputs,
+                    int&nbsp;offset)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>default long[]</code></td>
+<td class="colLast"><span class="typeNameLabel">SpoofCUDAOperator.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html#prepareOutputPointers-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-boolean-">prepareOutputPointers</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
+                     <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;output,
+                     boolean&nbsp;sparseOut)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>default long[]</code></td>
+<td class="colLast"><span class="typeNameLabel">SpoofCUDAOperator.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html#prepareSideInputPointers-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-java.util.ArrayList-int-boolean-">prepareSideInputPointers</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
+                        <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&gt;&nbsp;inputs,
+                        int&nbsp;offset,
+                        boolean&nbsp;tB1)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">SpoofCUDACellwise.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDACellwise.html#releaseScalarGPUMemory-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">releaseScalarGPUMemory</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">SpoofCUDAOperator.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html#releaseScalarGPUMemory-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">releaseScalarGPUMemory</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">SpoofCUDARowwise.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDARowwise.html#releaseScalarGPUMemory-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">releaseScalarGPUMemory</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
 <li class="blockList"><a name="org.apache.sysds.runtime.controlprogram">
 <!--   -->
 </a>
@@ -462,6 +546,15 @@
                       int&nbsp;k)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ParamservUtils.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/ParamservUtils.html#createExecutionContext-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.lang.String-java.lang.String-int-boolean-">createExecutionContext</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
+                      <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/LocalVariableMap.html" title="class in org.apache.sysds.runtime.controlprogram">LocalVariableMap</a>&nbsp;varsMap,
+                      <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;updFunc,
+                      <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;aggFunc,
+                      int&nbsp;k,
+                      boolean&nbsp;forceExecTypeCP)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a></code></td>
 <td class="colLast"><span class="typeNameLabel">SparkPSBody.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/SparkPSBody.html#getEc--">getEc</a></span>()</code>&nbsp;</td>
 </tr>
@@ -531,11 +624,16 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/LocalParamServer.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv">LocalParamServer</a></code></td>
-<td class="colLast"><span class="typeNameLabel">LocalParamServer.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/LocalParamServer.html#create-org.apache.sysds.runtime.instructions.cp.ListObject-java.lang.String-org.apache.sysds.parser.Statement.PSUpdateType-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-int-">create</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ListObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ListObject</a>&nbsp;model,
+<td class="colLast"><span class="typeNameLabel">LocalParamServer.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/LocalParamServer.html#create-org.apache.sysds.runtime.instructions.cp.ListObject-java.lang.String-org.apache.sysds.parser.Statement.PSUpdateType-org.apache.sysds.parser.Statement.PSFrequency-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-int-java.lang.String-int-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-">create</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ListObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ListObject</a>&nbsp;model,
       <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;aggFunc,
       <a href="../../../../../../../org/apache/sysds/parser/Statement.PSUpdateType.html" title="enum in org.apache.sysds.parser">Statement.PSUpdateType</a>&nbsp;updateType,
+      <a href="../../../../../../../org/apache/sysds/parser/Statement.PSFrequency.html" title="enum in org.apache.sysds.parser">Statement.PSFrequency</a>&nbsp;freq,
       <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
-      int&nbsp;workerNum)</code>&nbsp;</td>
+      int&nbsp;workerNum,
+      <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;valFunc,
+      int&nbsp;numBatchesPerEpoch,
+      <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;valFeatures,
+      <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;valLabels)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a></code></td>
@@ -546,6 +644,15 @@
                       int&nbsp;k)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ParamservUtils.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/ParamservUtils.html#createExecutionContext-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.lang.String-java.lang.String-int-boolean-">createExecutionContext</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
+                      <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/LocalVariableMap.html" title="class in org.apache.sysds.runtime.controlprogram">LocalVariableMap</a>&nbsp;varsMap,
+                      <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;updFunc,
+                      <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;aggFunc,
+                      int&nbsp;k,
+                      boolean&nbsp;forceExecTypeCP)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">SparkPSBody.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/SparkPSBody.html#setEc-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">setEc</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
@@ -558,6 +665,18 @@
 </tr>
 <tbody>
 <tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/FederatedPSControlThread.html#FederatedPSControlThread-int-java.lang.String-org.apache.sysds.parser.Statement.PSFrequency-org.apache.sysds.parser.Statement.PSRuntimeBalancing-boolean-int-long-int-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.runtime.controlprogram.paramserv.ParamServer-">FederatedPSControlThread</a></span>(int&nbsp;workerID,
+                        <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;updFunc,
+                        <a href="../../../../../../../org/apache/sysds/parser/Statement.PSFrequency.html" title="enum in org.apache.sysds.parser">Statement.PSFrequency</a>&nbsp;freq,
+                        <a href="../../../../../../../org/apache/sysds/parser/Statement.PSRuntimeBalancing.html" title="enum in org.apache.sysds.parser">Statement.PSRuntimeBalancing</a>&nbsp;runtimeBalancing,
+                        boolean&nbsp;weighting,
+                        int&nbsp;epochs,
+                        long&nbsp;batchSize,
+                        int&nbsp;numBatchesPerGlobalEpoch,
+                        <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
+                        <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/ParamServer.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv">ParamServer</a>&nbsp;ps)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/LocalPSWorker.html#LocalPSWorker-int-java.lang.String-org.apache.sysds.parser.Statement.PSFrequency-int-long-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.runtime.controlprogram.paramserv.ParamServer-">LocalPSWorker</a></span>(int&nbsp;workerID,
              <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;updFunc,
              <a href="../../../../../../../org/apache/sysds/parser/Statement.PSFrequency.html" title="enum in org.apache.sysds.parser">Statement.PSFrequency</a>&nbsp;freq,
@@ -566,7 +685,7 @@
              <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
              <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/ParamServer.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv">ParamServer</a>&nbsp;ps)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/SparkPSBody.html#SparkPSBody-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">SparkPSBody</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
 </tbody>
@@ -602,12 +721,13 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/parfor/RemoteParForJobReturn.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">RemoteParForJobReturn</a></code></td>
-<td class="colLast"><span class="typeNameLabel">RemoteParForSpark.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/parfor/RemoteParForSpark.html#runJob-long-java.lang.String-java.util.HashMap-java.util.List-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-java.util.ArrayList-boolean-int-boolean-">runJob</a></span>(long&nbsp;pfid,
+<td class="colLast"><span class="typeNameLabel">RemoteParForSpark.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/parfor/RemoteParForSpark.html#runJob-long-java.lang.String-java.util.HashMap-java.util.List-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-java.util.Set-java.util.List-boolean-int-boolean-">runJob</a></span>(long&nbsp;pfid,
       <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;prog,
       <a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,byte[]&gt;&nbsp;clsMap,
       <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/parfor/Task.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">Task</a>&gt;&nbsp;tasks,
       <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
-      <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/parser/ParForStatementBlock.ResultVar.html" title="class in org.apache.sysds.parser">ParForStatementBlock.ResultVar</a>&gt;&nbsp;resultVars,
+      <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;brVars,
+      <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/sysds/parser/ParForStatementBlock.ResultVar.html" title="class in org.apache.sysds.parser">ParForStatementBlock.ResultVar</a>&gt;&nbsp;resultVars,
       boolean&nbsp;cpCaching,
       int&nbsp;numMappers,
       boolean&nbsp;topLevelPF)</code>&nbsp;</td>
@@ -813,44 +933,52 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>org.apache.commons.lang3.tuple.Pair&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">ParameterizedBuiltinCPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ParameterizedBuiltinCPInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">FrameIndexingCPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/FrameIndexingCPInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>org.apache.commons.lang3.tuple.Pair&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">ParameterizedBuiltinCPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ParameterizedBuiltinCPInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>org.apache.commons.lang3.tuple.Pair&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">VariableCPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/VariableCPInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>org.apache.commons.lang3.tuple.Pair&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">MatrixBuiltinNaryCPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/MatrixBuiltinNaryCPInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>org.apache.commons.lang3.tuple.Pair&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">DataGenCPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/DataGenCPInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>org.apache.commons.lang3.tuple.Pair&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">CtableCPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CtableCPInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>org.apache.commons.lang3.tuple.Pair&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">ComputationCPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>org.apache.commons.lang3.tuple.Pair&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">ListIndexingCPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ListIndexingCPInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>org.apache.commons.lang3.tuple.Pair[]</code></td>
 <td class="colLast"><span class="typeNameLabel">MultiReturnBuiltinCPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/MultiReturnBuiltinCPInstruction.html#getLineageItems-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItems</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>org.apache.commons.lang3.tuple.Pair[]</code></td>
 <td class="colLast"><span class="typeNameLabel">MultiReturnParameterizedBuiltinCPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/MultiReturnParameterizedBuiltinCPInstruction.html#getLineageItems-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItems</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html" title="class in org.apache.sysds.runtime.controlprogram.caching">CacheableData</a>&lt;?&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">ParameterizedBuiltinCPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ParameterizedBuiltinCPInstruction.html#getTarget-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getTarget</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><span class="typeNameLabel">SpoofCPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/SpoofCPInstruction.html#isFederated-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">isFederated</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
+</tr>
 <tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">FunctionCallCPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/FunctionCallCPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
@@ -905,181 +1033,185 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">BinaryFrameMatrixCPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/BinaryFrameMatrixCPInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">DeCompressionCPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/DeCompressionCPInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">BinaryFrameMatrixCPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/BinaryFrameMatrixCPInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">BinaryMatrixMatrixCPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/BinaryMatrixMatrixCPInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">ReshapeCPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ReshapeCPInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">MMTSJCPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/MMTSJCPInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">SqlCPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/SqlCPInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">EvalNaryCPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/EvalNaryCPInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">SpoofCPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/SpoofCPInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">MMChainCPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/MMChainCPInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">TernaryCPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/TernaryCPInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">QuantilePickCPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/QuantilePickCPInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">AggregateUnaryCPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/AggregateUnaryCPInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">FunctionCallCPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/FunctionCallCPInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">MatrixAppendCPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/MatrixAppendCPInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">QuaternaryCPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/QuaternaryCPInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">UnaryScalarCPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/UnaryScalarCPInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">FrameIndexingCPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/FrameIndexingCPInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">UnaryMatrixCPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/UnaryMatrixCPInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">DnnCPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/DnnCPInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">QuantileSortCPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/QuantileSortCPInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">UaggOuterChainCPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/UaggOuterChainCPInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">MultiReturnBuiltinCPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/MultiReturnBuiltinCPInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">UnaryFrameCPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/UnaryFrameCPInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">ParameterizedBuiltinCPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ParameterizedBuiltinCPInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">CompressionCPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CompressionCPInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">VariableCPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/VariableCPInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">FrameAppendCPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/FrameAppendCPInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">CentralMomentCPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CentralMomentCPInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">PMMJCPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/PMMJCPInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>abstract void</code></td>
 <td class="colLast"><span class="typeNameLabel">CPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">BinaryTensorTensorCPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/BinaryTensorTensorCPInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">AggregateTernaryCPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/AggregateTernaryCPInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">BinaryScalarScalarCPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/BinaryScalarScalarCPInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">ListAppendRemoveCPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ListAppendRemoveCPInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">StringInitCPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/StringInitCPInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">MatrixBuiltinNaryCPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/MatrixBuiltinNaryCPInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">MultiReturnParameterizedBuiltinCPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/MultiReturnParameterizedBuiltinCPInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">DataGenCPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/DataGenCPInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">ReorgCPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ReorgCPInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">CtableCPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CtableCPInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">BinaryFrameFrameCPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/BinaryFrameFrameCPInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">CovarianceCPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CovarianceCPInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">ListIndexingCPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ListIndexingCPInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">BinaryFrameScalarCPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/BinaryFrameScalarCPInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">DnnCPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/DnnCPInstruction.html#processReluBackwardInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processReluBackwardInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">VariableCPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/VariableCPInstruction.html#processRmvarInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-java.lang.String-">processRmvarInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
                        <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;varname)</code>
@@ -1122,7 +1254,9 @@
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></code></td>
 <td class="colLast"><span class="typeNameLabel">FEDInstructionUtils.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstructionUtils.html#checkAndReplaceCP-org.apache.sysds.runtime.instructions.Instruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">checkAndReplaceCP</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a>&nbsp;inst,
-                 <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
+                 <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>
+<div class="block">Check and replace CP instructions with federated instructions if the instruction match criteria.</div>
+</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></code></td>
@@ -1145,10 +1279,52 @@
        <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/Data.html" title="class in org.apache.sysds.runtime.instructions.cp">Data</a>...&nbsp;data)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedResponse</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ReorgFEDInstruction.Rdiag.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.Rdiag.html#execute-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.runtime.instructions.cp.Data...-">execute</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
+       <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/Data.html" title="class in org.apache.sysds.runtime.instructions.cp">Data</a>...&nbsp;data)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedResponse</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ReorgFEDInstruction.DiagMatrix.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.DiagMatrix.html#execute-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.runtime.instructions.cp.Data...-">execute</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
+       <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/Data.html" title="class in org.apache.sysds.runtime.instructions.cp">Data</a>...&nbsp;data)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>org.apache.commons.lang3.tuple.Pair&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">MultiReturnParameterizedBuiltinFEDInstruction.CreateFrameEncoder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/MultiReturnParameterizedBuiltinFEDInstruction.CreateFrameEncoder.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>org.apache.commons.lang3.tuple.Pair&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">MultiReturnParameterizedBuiltinFEDInstruction.ExecuteFrameEncoder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/MultiReturnParameterizedBuiltinFEDInstruction.ExecuteFrameEncoder.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>org.apache.commons.lang3.tuple.Pair&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">ParameterizedBuiltinFEDInstruction.DecodeMatrix.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/ParameterizedBuiltinFEDInstruction.DecodeMatrix.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>org.apache.commons.lang3.tuple.Pair&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">ReshapeFEDInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/ReshapeFEDInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code>org.apache.commons.lang3.tuple.Pair&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">ComputationFEDInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><code>org.apache.commons.lang3.tuple.Pair&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">VariableFEDInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/VariableFEDInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>org.apache.commons.lang3.tuple.Pair&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">ReorgFEDInstruction.Rdiag.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.Rdiag.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>org.apache.commons.lang3.tuple.Pair&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">ReorgFEDInstruction.DiagMatrix.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.DiagMatrix.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>org.apache.commons.lang3.tuple.Pair&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">InitFEDInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/InitFEDInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html" title="class in org.apache.sysds.runtime.controlprogram.caching">CacheableData</a>&lt;?&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">ParameterizedBuiltinFEDInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/ParameterizedBuiltinFEDInstruction.html#getTarget-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getTarget</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
@@ -1158,20 +1334,45 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">AggregateBinaryFEDInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/AggregateBinaryFEDInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">UnaryMatrixFEDInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/UnaryMatrixFEDInstruction.html#processCumulativeInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-">processCumulativeInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
+                            <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;mo1)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">MMChainFEDInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/MMChainFEDInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">AggregateBinaryFEDInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/AggregateBinaryFEDInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">AppendFEDInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/AppendFEDInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">MMChainFEDInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/MMChainFEDInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">SpoofFEDInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/SpoofFEDInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">QuantilePickFEDInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/QuantilePickFEDInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">AppendFEDInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/AppendFEDInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">TsmmFEDInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/TsmmFEDInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">CentralMomentFEDInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/CentralMomentFEDInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">QuaternaryWUMMFEDInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryWUMMFEDInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">UnaryMatrixFEDInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/UnaryMatrixFEDInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
+</tr>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">AggregateUnaryFEDInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/AggregateUnaryFEDInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
@@ -1190,16 +1391,60 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">ReorgFEDInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">ReshapeFEDInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/ReshapeFEDInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">InitFEDInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/InitFEDInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">AggregateTernaryFEDInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/AggregateTernaryFEDInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">CovarianceFEDInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/CovarianceFEDInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">VariableFEDInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/VariableFEDInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">TernaryFEDInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/TernaryFEDInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">ReorgFEDInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">QuaternaryWSLossFEDInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryWSLossFEDInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">IndexingFEDInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/IndexingFEDInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">InitFEDInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/InitFEDInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">BinaryMatrixScalarFEDInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/BinaryMatrixScalarFEDInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">QuaternaryWSigmoidFEDInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryWSigmoidFEDInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">QuaternaryWDivMMFEDInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryWDivMMFEDInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">QuantileSortFEDInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/QuantileSortFEDInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">QuaternaryWCeMMFEDInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryWCeMMFEDInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
+</tr>
 </tbody>
 </table>
 </li>
@@ -1215,6 +1460,44 @@
 </tr>
 <tbody>
 <tr class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><span class="typeNameLabel">SpoofCUDAInstruction.SinglePrecision.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.SinglePrecision.html#exec-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.runtime.codegen.SpoofCUDAOperator-int-long:A-long:A-long:A-java.util.ArrayList-long-">exec</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
+    <a href="../../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html" title="interface in org.apache.sysds.runtime.codegen">SpoofCUDAOperator</a>&nbsp;op,
+    int&nbsp;opID,
+    long[]&nbsp;in,
+    long[]&nbsp;sides,
+    long[]&nbsp;out,
+    <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&gt;&nbsp;scalarObjects,
+    long&nbsp;grix)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><span class="typeNameLabel">SpoofCUDAInstruction.DoublePrecision.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.DoublePrecision.html#exec-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.runtime.codegen.SpoofCUDAOperator-int-long:A-long:A-long:A-java.util.ArrayList-long-">exec</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
+    <a href="../../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html" title="interface in org.apache.sysds.runtime.codegen">SpoofCUDAOperator</a>&nbsp;op,
+    int&nbsp;opID,
+    long[]&nbsp;in,
+    long[]&nbsp;sides,
+    long[]&nbsp;out,
+    <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&gt;&nbsp;scalarObjects,
+    long&nbsp;grix)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>org.apache.commons.lang3.tuple.Pair&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">MatrixReshapeGPUInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/MatrixReshapeGPUInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>org.apache.commons.lang3.tuple.Pair&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">MatrixIndexingGPUInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/MatrixIndexingGPUInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>org.apache.commons.lang3.tuple.Pair&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">GPUInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>org.apache.commons.lang3.tuple.Pair&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">SpoofCUDAInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">GPUInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
@@ -1296,6 +1579,10 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">SpoofCUDAInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">DnnGPUInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/DnnGPUInstruction.html#processReLUBackwardInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processReLUBackwardInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
 </tbody>
@@ -1333,89 +1620,97 @@
 <td class="colLast"><span class="typeNameLabel">BuiltinNarySPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/BuiltinNarySPInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><span class="typeNameLabel">SpoofSPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/SpoofSPInstruction.html#isFederated-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">isFederated</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">SPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></code></td>
 <td class="colLast"><span class="typeNameLabel">SPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">ReorgSPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/ReorgSPInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">CtableSPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/CtableSPInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">BinaryFrameFrameSPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/BinaryFrameFrameSPInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">DnnSPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/DnnSPInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">PmmSPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/PmmSPInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">BinaryTensorTensorSPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/BinaryTensorTensorSPInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">BinaryFrameScalarSPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/BinaryFrameScalarSPInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">BinUaggChainSPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/BinUaggChainSPInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">CompressionSPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/CompressionSPInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">WriteSPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/WriteSPInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">UnaryFrameSPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/UnaryFrameSPInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">BinaryMatrixBVectorSPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/BinaryMatrixBVectorSPInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">MatrixReshapeSPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/MatrixReshapeSPInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">CSVReblockSPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/CSVReblockSPInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">SpoofSPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/SpoofSPInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">UnaryMatrixSPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/UnaryMatrixSPInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">BinaryMatrixScalarSPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/BinaryMatrixScalarSPInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">CumulativeAggregateSPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/CumulativeAggregateSPInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">MapmmSPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/MapmmSPInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">DeCompressionSPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/DeCompressionSPInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
+</tr>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">UaggOuterChainSPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/UaggOuterChainSPInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
@@ -1646,17 +1941,37 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static void</code></td>
+<td class="colLast"><span class="typeNameLabel">LineageEstimator.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/lineage/LineageEstimator.html#processFunc-java.util.List-org.apache.sysds.runtime.lineage.LineageItem:A-java.lang.String-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-long-">processFunc</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/sysds/parser/DataIdentifier.html" title="class in org.apache.sysds.parser">DataIdentifier</a>&gt;&nbsp;outputs,
+           <a href="../../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>[]&nbsp;liInputs,
+           <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+           <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
+           long&nbsp;computetime)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><span class="typeNameLabel">LineageEstimator.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/lineage/LineageEstimator.html#processSingleInst-org.apache.sysds.runtime.instructions.Instruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-long-">processSingleInst</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a>&nbsp;inst,
+                 <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
+                 long&nbsp;starttime)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">LineageCache.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/lineage/LineageCache.html#putMatrix-org.apache.sysds.runtime.instructions.Instruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-long-">putMatrix</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a>&nbsp;inst,
          <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
          long&nbsp;computetime)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static void</code></td>
+<td class="colLast"><span class="typeNameLabel">LineageCache.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/lineage/LineageCache.html#putValue-org.apache.sysds.runtime.controlprogram.federated.FederatedUDF-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-long-">putValue</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedUDF.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedUDF</a>&nbsp;udf,
+        <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
+        long&nbsp;computetime)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">LineageCache.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/lineage/LineageCache.html#putValue-org.apache.sysds.runtime.instructions.Instruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-long-">putValue</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a>&nbsp;inst,
         <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
         long&nbsp;starttime)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">LineageCache.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/lineage/LineageCache.html#putValue-java.util.List-org.apache.sysds.runtime.lineage.LineageItem:A-java.lang.String-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-long-">putValue</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/sysds/parser/DataIdentifier.html" title="class in org.apache.sysds.parser">DataIdentifier</a>&gt;&nbsp;outputs,
         <a href="../../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>[]&nbsp;liInputs,
@@ -1664,16 +1979,21 @@
         <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
         long&nbsp;computetime)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">LineageItemUtils.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/lineage/LineageItemUtils.html#replaceDagLeaves-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.runtime.lineage.LineageItem-org.apache.sysds.runtime.instructions.cp.CPOperand:A-">replaceDagLeaves</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
                 <a href="../../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;root,
                 <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>[]&nbsp;newLeaves)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">LineageDedupUtils.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/lineage/LineageDedupUtils.html#replaceLineage-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">replaceLineage</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedResponse</a></code></td>
+<td class="colLast"><span class="typeNameLabel">LineageCache.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/lineage/LineageCache.html#reuse-org.apache.sysds.runtime.controlprogram.federated.FederatedUDF-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">reuse</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedUDF.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedUDF</a>&nbsp;udf,
+     <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
+</tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">LineageCache.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/lineage/LineageCache.html#reuse-org.apache.sysds.runtime.instructions.Instruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">reuse</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a>&nbsp;inst,
@@ -1721,18 +2041,23 @@
                      <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><span class="typeNameLabel">LineageItemUtils.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/lineage/LineageItemUtils.html#traceFedUDF-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.runtime.controlprogram.federated.FederatedUDF-">traceFedUDF</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
+           <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedUDF.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedUDF</a>&nbsp;udf)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">LineageDedupBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/lineage/LineageDedupBlock.html#traceIfProgramBlock-org.apache.sysds.runtime.controlprogram.IfProgramBlock-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-java.util.Collection-">traceIfProgramBlock</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/IfProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">IfProgramBlock</a>&nbsp;ipb,
                    <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
                    <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.Entry.html?is-external=true" title="class or interface in java.util">Map.Entry</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../../org/apache/sysds/runtime/lineage/LineageMap.html" title="class in org.apache.sysds.runtime.lineage">LineageMap</a>&gt;&gt;&nbsp;paths)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">LineageDedupBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/lineage/LineageDedupBlock.html#traceProgramBlock-org.apache.sysds.runtime.controlprogram.ProgramBlock-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-java.util.Collection-">traceProgramBlock</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/ProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ProgramBlock</a>&nbsp;pb,
                  <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
                  <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.Entry.html?is-external=true" title="class or interface in java.util">Map.Entry</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../../org/apache/sysds/runtime/lineage/LineageMap.html" title="class in org.apache.sysds.runtime.lineage">LineageMap</a>&gt;&gt;&nbsp;paths)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">LineageDedupBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/lineage/LineageDedupBlock.html#traceProgramBlocks-java.util.ArrayList-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">traceProgramBlocks</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/ProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ProgramBlock</a>&gt;&nbsp;pbs,
                   <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
@@ -2244,25 +2569,30 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></code></td>
-<td class="colLast"><span class="typeNameLabel">PrivacyPropagator.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/privacy/propagation/PrivacyPropagator.html#preprocessBinaryCPInstruction-org.apache.sysds.runtime.instructions.cp.BinaryCPInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessBinaryCPInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/BinaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">BinaryCPInstruction</a>&nbsp;inst,
+<td class="colLast"><span class="typeNameLabel">PrivacyPropagator.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/privacy/propagation/PrivacyPropagator.html#preprocessAppendCPInstruction-org.apache.sysds.runtime.instructions.cp.AppendCPInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessAppendCPInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/AppendCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">AppendCPInstruction</a>&nbsp;inst,
                              <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></code></td>
+<td class="colLast"><span class="typeNameLabel">PrivacyPropagator.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/privacy/propagation/PrivacyPropagator.html#preprocessBinaryCPInstruction-org.apache.sysds.runtime.instructions.cp.BinaryCPInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessBinaryCPInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/BinaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">BinaryCPInstruction</a>&nbsp;inst,
+                             <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></code></td>
 <td class="colLast"><span class="typeNameLabel">PrivacyPropagator.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/privacy/propagation/PrivacyPropagator.html#preprocessBuiltinNary-org.apache.sysds.runtime.instructions.cp.BuiltinNaryCPInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessBuiltinNary</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/BuiltinNaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">BuiltinNaryCPInstruction</a>&nbsp;inst,
                      <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></code></td>
 <td class="colLast"><span class="typeNameLabel">PrivacyPropagator.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/privacy/propagation/PrivacyPropagator.html#preprocessCPInstructionFineGrained-org.apache.sysds.runtime.instructions.cp.CPInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessCPInstructionFineGrained</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">CPInstruction</a>&nbsp;inst,
                                   <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></code></td>
 <td class="colLast"><span class="typeNameLabel">PrivacyPropagator.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/privacy/propagation/PrivacyPropagator.html#preprocessExternal-org.apache.sysds.runtime.instructions.cp.FunctionCallCPInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessExternal</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/FunctionCallCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">FunctionCallCPInstruction</a>&nbsp;inst,
                   <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></code></td>
 <td class="colLast"><span class="typeNameLabel">PrivacyPropagator.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/privacy/propagation/PrivacyPropagator.html#preprocessInstruction-org.apache.sysds.runtime.instructions.Instruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a>&nbsp;inst,
                      <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>
@@ -2270,39 +2600,39 @@
  in case the privacy constraints of the input are activated.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></code></td>
 <td class="colLast"><span class="typeNameLabel">PrivacyPropagator.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/privacy/propagation/PrivacyPropagator.html#preprocessInstructionSimple-org.apache.sysds.runtime.instructions.Instruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstructionSimple</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a>&nbsp;inst,
                            <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>
 <div class="block">Throw exception if privacy constraints are activated or return instruction if privacy is not activated</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></code></td>
 <td class="colLast"><span class="typeNameLabel">PrivacyPropagator.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/privacy/propagation/PrivacyPropagator.html#preprocessMultiReturn-org.apache.sysds.runtime.instructions.cp.ComputationCPInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessMultiReturn</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ComputationCPInstruction</a>&nbsp;inst,
                      <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></code></td>
 <td class="colLast"><span class="typeNameLabel">PrivacyPropagator.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/privacy/propagation/PrivacyPropagator.html#preprocessParameterizedBuiltin-org.apache.sysds.runtime.instructions.cp.ParameterizedBuiltinCPInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessParameterizedBuiltin</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ParameterizedBuiltinCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ParameterizedBuiltinCPInstruction</a>&nbsp;inst,
                               <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></code></td>
 <td class="colLast"><span class="typeNameLabel">PrivacyPropagator.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/privacy/propagation/PrivacyPropagator.html#preprocessQuaternary-org.apache.sysds.runtime.instructions.cp.QuaternaryCPInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessQuaternary</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/QuaternaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">QuaternaryCPInstruction</a>&nbsp;inst,
                     <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></code></td>
 <td class="colLast"><span class="typeNameLabel">PrivacyPropagator.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/privacy/propagation/PrivacyPropagator.html#preprocessTernaryCPInstruction-org.apache.sysds.runtime.instructions.cp.ComputationCPInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessTernaryCPInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ComputationCPInstruction</a>&nbsp;inst,
                               <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></code></td>
 <td class="colLast"><span class="typeNameLabel">PrivacyPropagator.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/privacy/propagation/PrivacyPropagator.html#preprocessUnaryCPInstruction-org.apache.sysds.runtime.instructions.cp.UnaryCPInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessUnaryCPInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/UnaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">UnaryCPInstruction</a>&nbsp;inst,
                             <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></code></td>
 <td class="colLast"><span class="typeNameLabel">PrivacyPropagator.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/privacy/propagation/PrivacyPropagator.html#preprocessVariableCPInstruction-org.apache.sysds.runtime.instructions.cp.VariableCPInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessVariableCPInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/VariableCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">VariableCPInstruction</a>&nbsp;inst,
                                <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
@@ -2401,6 +2731,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/context/class-use/ExecutionContextFactory.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/context/class-use/ExecutionContextFactory.html
index 09ab05f..f234293 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/context/class-use/ExecutionContextFactory.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/context/class-use/ExecutionContextFactory.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/context/class-use/SparkExecutionContext.SparkClusterConfig.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/context/class-use/SparkExecutionContext.SparkClusterConfig.html
index 14faa94..164e43f 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/context/class-use/SparkExecutionContext.SparkClusterConfig.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/context/class-use/SparkExecutionContext.SparkClusterConfig.html
@@ -162,6 +162,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/context/class-use/SparkExecutionContext.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/context/class-use/SparkExecutionContext.html
index 09edb40..62697b7 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/context/class-use/SparkExecutionContext.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/context/class-use/SparkExecutionContext.html
@@ -304,6 +304,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/context/package-summary.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/context/package-summary.html
index 697196f..aae19db 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/context/package-summary.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/context/package-summary.html
@@ -153,6 +153,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/context/package-tree.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/context/package-tree.html
index 9fb032e..66b23a7 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/context/package-tree.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/context/package-tree.html
@@ -139,6 +139,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/context/package-use.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/context/package-use.html
index b3befb8..ebd2114 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/context/package-use.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/context/package-use.html
@@ -99,74 +99,78 @@
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.codegen">org.apache.sysds.runtime.codegen</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.controlprogram">org.apache.sysds.runtime.controlprogram</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.controlprogram.context">org.apache.sysds.runtime.controlprogram.context</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.controlprogram.federated">org.apache.sysds.runtime.controlprogram.federated</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.controlprogram.paramserv">org.apache.sysds.runtime.controlprogram.paramserv</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.controlprogram.paramserv.dp">org.apache.sysds.runtime.controlprogram.paramserv.dp</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.controlprogram.parfor">org.apache.sysds.runtime.controlprogram.parfor</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.controlprogram.parfor.opt">org.apache.sysds.runtime.controlprogram.parfor.opt</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.instructions">org.apache.sysds.runtime.instructions</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.cp">org.apache.sysds.runtime.instructions.cp</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.cpfile">org.apache.sysds.runtime.instructions.cpfile</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.fed">org.apache.sysds.runtime.instructions.fed</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.gpu">org.apache.sysds.runtime.instructions.gpu</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.spark">org.apache.sysds.runtime.instructions.spark</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.spark.utils">org.apache.sysds.runtime.instructions.spark.utils</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.lineage">org.apache.sysds.runtime.lineage</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.matrix.data">org.apache.sysds.runtime.matrix.data</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.privacy.propagation">org.apache.sysds.runtime.privacy.propagation</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.util">org.apache.sysds.runtime.util</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
@@ -236,6 +240,21 @@
 </tbody>
 </table>
 </li>
+<li class="blockList"><a name="org.apache.sysds.runtime.codegen">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/package-summary.html">org.apache.sysds.runtime.controlprogram.context</a> used by <a href="../../../../../../org/apache/sysds/runtime/codegen/package-summary.html">org.apache.sysds.runtime.codegen</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/class-use/ExecutionContext.html#org.apache.sysds.runtime.codegen">ExecutionContext</a>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
 <li class="blockList"><a name="org.apache.sysds.runtime.controlprogram">
 <!--   -->
 </a>
@@ -567,6 +586,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/ExecutionContextMap.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/ExecutionContextMap.html
index b3dc23a..f50fad7 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/ExecutionContextMap.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/ExecutionContextMap.html
@@ -280,6 +280,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/FederatedData.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/FederatedData.html
index c29a803..fc2a8a7 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/FederatedData.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/FederatedData.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":10,"i2":10,"i3":9,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":9,"i10":10};
+var methods = {"i0":9,"i1":10,"i2":10,"i3":9,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":9,"i11":10,"i12":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -137,6 +137,12 @@
              <a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a>&nbsp;address,
              <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;filepath)</code>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedData.html#FederatedData-org.apache.sysds.common.Types.DataType-java.net.InetSocketAddress-java.lang.String-long-">FederatedData</a></span>(<a href="../../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dataType,
+             <a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a>&nbsp;address,
+             <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;filepath,
+             long&nbsp;varID)</code>&nbsp;</td>
+</tr>
 </table>
 </li>
 </ul>
@@ -178,36 +184,44 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedData.html#getAddress--">getAddress</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i5" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedData.html#getDataType--">getDataType</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i6" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedData.html#getFilepath--">getFilepath</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedData.html#getVarID--">getVarID</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedResponse</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedData.html#initFederatedData-long-">initFederatedData</a></span>(long&nbsp;id)</code>&nbsp;</td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedData.html#isInitialized--">isInitialized</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i10" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedData.html#resetFederatedSites--">resetFederatedSites</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedData.html#setVarID-long-">setVarID</a></span>(long&nbsp;varID)</code>&nbsp;</td>
 </tr>
+<tr id="i12" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedData.html#toString--">toString</a></span>()</code>&nbsp;</td>
+</tr>
 </table>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
-<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -226,7 +240,7 @@
 <a name="FederatedData-org.apache.sysds.common.Types.DataType-java.net.InetSocketAddress-java.lang.String-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>FederatedData</h4>
 <pre>public&nbsp;FederatedData(<a href="../../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dataType,
@@ -234,6 +248,18 @@
                      <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;filepath)</pre>
 </li>
 </ul>
+<a name="FederatedData-org.apache.sysds.common.Types.DataType-java.net.InetSocketAddress-java.lang.String-long-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>FederatedData</h4>
+<pre>public&nbsp;FederatedData(<a href="../../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dataType,
+                     <a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a>&nbsp;address,
+                     <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;filepath,
+                     long&nbsp;varID)</pre>
+</li>
+</ul>
 </li>
 </ul>
 <!-- ============ METHOD DETAIL ========== -->
@@ -278,6 +304,15 @@
 <pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getFilepath()</pre>
 </li>
 </ul>
+<a name="getDataType--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getDataType</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;getDataType()</pre>
+</li>
+</ul>
 <a name="isInitialized--">
 <!--   -->
 </a>
@@ -328,7 +363,8 @@
 <li class="blockList">
 <h4>executeFederatedOperation</h4>
 <pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedResponse</a>&gt;&nbsp;executeFederatedOperation(<a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a>&nbsp;address,
-                                                                  <a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRequest.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRequest</a>...&nbsp;request)</pre>
+                                                                  <a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRequest.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRequest</a>...&nbsp;request)
+                                                           throws <a href="https://docs.oracle.com/javase/8/docs/api/javax/net/ssl/SSLException.html?is-external=true" title="class or interface in javax.net.ssl">SSLException</a></pre>
 <div class="block">Executes an federated operation on a federated worker.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -336,6 +372,8 @@
 <dd><code>request</code> - the requested operation</dd>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the response</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/javax/net/ssl/SSLException.html?is-external=true" title="class or interface in javax.net.ssl">SSLException</a></code> - Throws an SSL exception if the ssl construction fails.</dd>
 </dl>
 </li>
 </ul>
@@ -351,12 +389,25 @@
 <a name="resetFederatedSites--">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>resetFederatedSites</h4>
 <pre>public static&nbsp;void&nbsp;resetFederatedSites()</pre>
 </li>
 </ul>
+<a name="toString--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>toString</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>
@@ -426,6 +477,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/FederatedLocalData.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/FederatedLocalData.html
index f20bd52..0b1b7c7 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/FederatedLocalData.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/FederatedLocalData.html
@@ -168,14 +168,14 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.controlprogram.federated.<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedData.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedData</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedData.html#clearFederatedWorkers--">clearFederatedWorkers</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedData.html#executeFederatedOperation-java.net.InetSocketAddress-org.apache.sysds.runtime.controlprogram.federated.FederatedRequest...-">executeFederatedOperation</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedData.html#getAddress--">getAddress</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedData.html#getFilepath--">getFilepath</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedData.html#getVarID--">getVarID</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedData.html#initFederatedData-long-">initFederatedData</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedData.html#isInitialized--">isInitialized</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedData.html#resetFederatedSites--">resetFederatedSites</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedData.html#setVarID-long-">setVarID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedData.html#clearFederatedWorkers--">clearFederatedWorkers</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedData.html#executeFederatedOperation-java.net.InetSocketAddress-org.apache.sysds.runtime.controlprogram.federated.FederatedRequest...-">executeFederatedOperation</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedData.html#getAddress--">getAddress</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedData.html#getDataType--">getDataType</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedData.html#getFilepath--">getFilepath</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedData.html#getVarID--">getVarID</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedData.html#initFederatedData-long-">initFederatedData</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedData.html#isInitialized--">isInitialized</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedData.html#resetFederatedSites--">resetFederatedSites</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedData.html#setVarID-long-">setVarID</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedData.html#toString--">toString</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
-<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -310,6 +310,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/FederatedRange.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/FederatedRange.html
index 5a9de9e..a7e3e01 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/FederatedRange.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/FederatedRange.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -173,49 +173,57 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRange.html#compareTo-org.apache.sysds.runtime.controlprogram.federated.FederatedRange-">compareTo</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRange.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRange</a>&nbsp;o)</code>&nbsp;</td>
 </tr>
 <tr id="i2" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRange.html#equals-java.lang.Object-">equals</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;o)</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code>long[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRange.html#getBeginDims--">getBeginDims</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code>int[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRange.html#getBeginDimsInt--">getBeginDimsInt</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>long[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRange.html#getEndDims--">getEndDims</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>int[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRange.html#getEndDimsInt--">getEndDimsInt</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRange.html#getSize--">getSize</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRange.html#getSize-int-">getSize</a></span>(int&nbsp;dim)</code>&nbsp;</td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRange.html#hashCode--">hashCode</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i10" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRange.html#setBeginDim-int-long-">setBeginDim</a></span>(int&nbsp;dim,
            long&nbsp;value)</code>&nbsp;</td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRange.html#setEndDim-int-long-">setEndDim</a></span>(int&nbsp;dim,
          long&nbsp;value)</code>&nbsp;</td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i12" class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRange.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRange</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRange.html#shift-long-long-">shift</a></span>(long&nbsp;rshift,
      long&nbsp;cshift)</code>&nbsp;</td>
 </tr>
-<tr id="i11" class="rowColor">
+<tr id="i13" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRange.html#toString--">toString</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i12" class="altColor">
+<tr id="i14" class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRange.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRange</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRange.html#transpose--">transpose</a></span>()</code>&nbsp;</td>
 </tr>
@@ -225,7 +233,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
-<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -390,6 +398,32 @@
 </dl>
 </li>
 </ul>
+<a name="equals-java.lang.Object-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>equals</h4>
+<pre>public&nbsp;boolean&nbsp;equals(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;o)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="hashCode--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>hashCode</h4>
+<pre>public&nbsp;int&nbsp;hashCode()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
+</dl>
+</li>
+</ul>
 <a name="shift-long-long-">
 <!--   -->
 </a>
@@ -487,6 +521,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/FederatedRequest.RequestType.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/FederatedRequest.RequestType.html
index dc417ad..8c36492 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/FederatedRequest.RequestType.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/FederatedRequest.RequestType.html
@@ -389,6 +389,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/FederatedRequest.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/FederatedRequest.html
index 380d92d..41137f9 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/FederatedRequest.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/FederatedRequest.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -206,37 +206,45 @@
 </tr>
 <tr id="i4" class="altColor">
 <td class="colFirst"><code>long</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRequest.html#getID--">getID</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRequest.html#getChecksum-int-">getChecksum</a></span>(int&nbsp;i)</code>&nbsp;</td>
 </tr>
 <tr id="i5" class="rowColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRequest.html#getID--">getID</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRequest.html#getNumParams--">getNumParams</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRequest.html#getParam-int-">getParam</a></span>(int&nbsp;i)</code>&nbsp;</td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRequest.html#getTID--">getTID</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRequest.RequestType.html" title="enum in org.apache.sysds.runtime.controlprogram.federated">FederatedRequest.RequestType</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRequest.html#getType--">getType</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i10" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRequest.html#setCheckPrivacy--">setCheckPrivacy</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRequest.html#setCheckPrivacy-boolean-">setCheckPrivacy</a></span>(boolean&nbsp;checkPrivacy)</code>&nbsp;</td>
 </tr>
-<tr id="i11" class="rowColor">
+<tr id="i12" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRequest.html#setChecksum--">setChecksum</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i13" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRequest.html#setTID-long-">setTID</a></span>(long&nbsp;tid)</code>&nbsp;</td>
 </tr>
-<tr id="i12" class="altColor">
+<tr id="i14" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRequest.html#toString--">toString</a></span>()</code>&nbsp;</td>
 </tr>
@@ -419,6 +427,24 @@
 <pre>public&nbsp;boolean&nbsp;checkPrivacy()</pre>
 </li>
 </ul>
+<a name="setChecksum--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setChecksum</h4>
+<pre>public&nbsp;void&nbsp;setChecksum()</pre>
+</li>
+</ul>
+<a name="getChecksum-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getChecksum</h4>
+<pre>public&nbsp;long&nbsp;getChecksum(int&nbsp;i)</pre>
+</li>
+</ul>
 <a name="toString--">
 <!--   -->
 </a>
@@ -501,6 +527,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.ResponseType.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.ResponseType.html
index b02bd4d..faea76a 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.ResponseType.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.ResponseType.html
@@ -353,6 +353,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html
index f7ae2d0..5032707 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html
@@ -412,6 +412,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/FederatedUDF.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/FederatedUDF.html
index 10fa0bf..4093aae 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/FederatedUDF.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/FederatedUDF.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":6,"i1":10};
+var methods = {"i0":6,"i1":10,"i2":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -109,17 +109,17 @@
 <li class="blockList">
 <dl>
 <dt>All Implemented Interfaces:</dt>
-<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></dd>
+<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a></dd>
 </dl>
 <dl>
 <dt>Direct Known Subclasses:</dt>
-<dd><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/MultiReturnParameterizedBuiltinFEDInstruction.CreateFrameEncoder.html" title="class in org.apache.sysds.runtime.instructions.fed">MultiReturnParameterizedBuiltinFEDInstruction.CreateFrameEncoder</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/MultiReturnParameterizedBuiltinFEDInstruction.ExecuteFrameEncoder.html" title="class in org.apache.sysds.runtime.instructions.fed">MultiReturnParameterizedBuiltinFEDInstruction.ExecuteFrameEncoder</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ParameterizedBuiltinFEDInstruction.DecodeMatrix.html" title="class in org.apache.sysds.runtime.instructions.fed">ParameterizedBuiltinFEDInstruction.DecodeMatrix</a></dd>
+<dd><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/MultiReturnParameterizedBuiltinFEDInstruction.CreateFrameEncoder.html" title="class in org.apache.sysds.runtime.instructions.fed">MultiReturnParameterizedBuiltinFEDInstruction.CreateFrameEncoder</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/MultiReturnParameterizedBuiltinFEDInstruction.ExecuteFrameEncoder.html" title="class in org.apache.sysds.runtime.instructions.fed">MultiReturnParameterizedBuiltinFEDInstruction.ExecuteFrameEncoder</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ParameterizedBuiltinFEDInstruction.DecodeMatrix.html" title="class in org.apache.sysds.runtime.instructions.fed">ParameterizedBuiltinFEDInstruction.DecodeMatrix</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.DiagMatrix.html" title="class in org.apache.sysds.runtime.instructions.fed">ReorgFEDInstruction.DiagMatrix</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.Rdiag.html" title="class in org.apache.sysds.runtime.instructions.fed">ReorgFEDInstruction.Rdiag</a></dd>
 </dl>
 <hr>
 <br>
 <pre>public abstract class <span class="typeNameLabel">FederatedUDF</span>
 extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
-implements <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></pre>
+implements <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../../serialized-form.html#org.apache.sysds.runtime.controlprogram.federated.FederatedUDF">Serialized Form</a></dd>
@@ -155,6 +155,10 @@
 <td class="colFirst"><code>long[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedUDF.html#getInputIDs--">getInputIDs</a></span>()</code>&nbsp;</td>
 </tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedUDF.html#getOutputIds--">getOutputIds</a></span>()</code>&nbsp;</td>
+</tr>
 </table>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -163,6 +167,13 @@
 <h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
 <code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.lineage.LineageTraceable">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.sysds.runtime.lineage.<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#getLineageItems-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItems</a>, <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#hasSingleLineage--">hasSingleLineage</a></code></li>
+</ul>
 </li>
 </ul>
 </li>
@@ -186,6 +197,15 @@
 <pre>public final&nbsp;long[]&nbsp;getInputIDs()</pre>
 </li>
 </ul>
+<a name="getOutputIds--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getOutputIds</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&nbsp;getOutputIds()</pre>
+</li>
+</ul>
 <a name="execute-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.runtime.instructions.cp.Data...-">
 <!--   -->
 </a>
@@ -278,6 +298,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/FederatedWorker.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/FederatedWorker.html
index 6a0731f..8ab8956 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/FederatedWorker.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/FederatedWorker.html
@@ -195,7 +195,14 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>run</h4>
-<pre>public&nbsp;void&nbsp;run()</pre>
+<pre>public&nbsp;void&nbsp;run()
+         throws <a href="https://docs.oracle.com/javase/8/docs/api/java/security/cert/CertificateException.html?is-external=true" title="class or interface in java.security.cert">CertificateException</a>,
+                <a href="https://docs.oracle.com/javase/8/docs/api/javax/net/ssl/SSLException.html?is-external=true" title="class or interface in javax.net.ssl">SSLException</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/security/cert/CertificateException.html?is-external=true" title="class or interface in java.security.cert">CertificateException</a></code></dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/javax/net/ssl/SSLException.html?is-external=true" title="class or interface in javax.net.ssl">SSLException</a></code></dd>
+</dl>
 </li>
 </ul>
 </li>
@@ -267,6 +274,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/FederatedWorkerHandler.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/FederatedWorkerHandler.html
index 8b6bbb4..c9c0492 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/FederatedWorkerHandler.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/FederatedWorkerHandler.html
@@ -361,6 +361,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/FederatedWorkerHandlerException.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/FederatedWorkerHandlerException.html
index fb4403a..2589a3b 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/FederatedWorkerHandlerException.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/FederatedWorkerHandlerException.html
@@ -156,7 +156,10 @@
 </tr>
 <tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedWorkerHandlerException.html#FederatedWorkerHandlerException-java.lang.String-java.lang.Throwable-">FederatedWorkerHandlerException</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;msg,
-                               <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&nbsp;t)</code>&nbsp;</td>
+                               <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&nbsp;t)</code>
+<div class="block">Create new instance of FederatedWorkerHandlerException with a message
+ and a throwable representing the original cause of the exception.</div>
+</td>
 </tr>
 </table>
 </li>
@@ -217,6 +220,15 @@
 <h4>FederatedWorkerHandlerException</h4>
 <pre>public&nbsp;FederatedWorkerHandlerException(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;msg,
                                        <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&nbsp;t)</pre>
+<div class="block">Create new instance of FederatedWorkerHandlerException with a message
+ and a throwable representing the original cause of the exception.
+ This constructor should not be used unless the throwable @param t
+ does not expose any private data in any use case.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>msg</code> - message describing the exception</dd>
+<dd><code>t</code> - throwable representing the original cause of the exception</dd>
+</dl>
 </li>
 </ul>
 </li>
@@ -288,6 +300,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/FederationMap.FType.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/FederationMap.FType.html
index e4bdbaf..322ced5 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/FederationMap.FType.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/FederationMap.FType.html
@@ -18,8 +18,8 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":9};
-var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":9,"i4":9};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
 var tableTab = "tableTab";
@@ -145,9 +145,12 @@
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.FType.html#COL">COL</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.FType.html#OTHER">OTHER</a></span></code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.FType.html#FULL">FULL</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.FType.html#OTHER">OTHER</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.FType.html#ROW">ROW</a></span></code>&nbsp;</td>
 </tr>
 </table>
@@ -160,18 +163,30 @@
 </a>
 <h3>Method Summary</h3>
 <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.FType.html#isColPartitioned--">isColPartitioned</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.FType.html#isRowPartitioned--">isRowPartitioned</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.FType.html#isType-org.apache.sysds.runtime.controlprogram.federated.FederationMap.FType-">isType</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.FType.html" title="enum in org.apache.sysds.runtime.controlprogram.federated">FederationMap.FType</a>&nbsp;t)</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.FType.html" title="enum in org.apache.sysds.runtime.controlprogram.federated">FederationMap.FType</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.FType.html#valueOf-java.lang.String-">valueOf</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
 <div class="block">Returns the enum constant of this type with the specified name.</div>
 </td>
 </tr>
-<tr id="i1" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.FType.html" title="enum in org.apache.sysds.runtime.controlprogram.federated">FederationMap.FType</a>[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.FType.html#values--">values</a></span>()</code>
 <div class="block">Returns an array containing the constants of this enum type, in
@@ -225,6 +240,15 @@
 <pre>public static final&nbsp;<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.FType.html" title="enum in org.apache.sysds.runtime.controlprogram.federated">FederationMap.FType</a> COL</pre>
 </li>
 </ul>
+<a name="FULL">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>FULL</h4>
+<pre>public static final&nbsp;<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.FType.html" title="enum in org.apache.sysds.runtime.controlprogram.federated">FederationMap.FType</a> FULL</pre>
+</li>
+</ul>
 <a name="OTHER">
 <!--   -->
 </a>
@@ -265,7 +289,7 @@
 <a name="valueOf-java.lang.String-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>valueOf</h4>
 <pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.FType.html" title="enum in org.apache.sysds.runtime.controlprogram.federated">FederationMap.FType</a>&nbsp;valueOf(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
@@ -284,6 +308,33 @@
 </dl>
 </li>
 </ul>
+<a name="isRowPartitioned--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isRowPartitioned</h4>
+<pre>public&nbsp;boolean&nbsp;isRowPartitioned()</pre>
+</li>
+</ul>
+<a name="isColPartitioned--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isColPartitioned</h4>
+<pre>public&nbsp;boolean&nbsp;isColPartitioned()</pre>
+</li>
+</ul>
+<a name="isType-org.apache.sysds.runtime.controlprogram.federated.FederationMap.FType-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>isType</h4>
+<pre>public&nbsp;boolean&nbsp;isType(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.FType.html" title="enum in org.apache.sysds.runtime.controlprogram.federated">FederationMap.FType</a>&nbsp;t)</pre>
+</li>
+</ul>
 </li>
 </ul>
 </li>
@@ -353,6 +404,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/FederationMap.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/FederationMap.html
index 10283db..0518ec4 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/FederationMap.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/FederationMap.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -191,7 +191,9 @@
 <tr id="i3" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRequest.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRequest</a>[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html#broadcastSliced-org.apache.sysds.runtime.controlprogram.caching.CacheableData-boolean-">broadcastSliced</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html" title="class in org.apache.sysds.runtime.controlprogram.caching">CacheableData</a>&lt;?&gt;&nbsp;data,
-               boolean&nbsp;transposed)</code>&nbsp;</td>
+               boolean&nbsp;transposed)</code>
+<div class="block">Creates separate slices of an input data object according to the index ranges of federated data.</div>
+</td>
 </tr>
 <tr id="i4" class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRequest.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRequest</a></code></td>
@@ -200,83 +202,114 @@
 </tr>
 <tr id="i5" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationMap</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html#copyWithNewID--">copyWithNewID</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html#clone--">clone</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i6" class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationMap</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html#copyWithNewID-long-">copyWithNewID</a></span>(long&nbsp;id)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html#copyWithNewID--">copyWithNewID</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i7" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationMap</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html#copyWithNewID-long-">copyWithNewID</a></span>(long&nbsp;id)</code>&nbsp;</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationMap</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html#copyWithNewID-long-long-">copyWithNewID</a></span>(long&nbsp;id,
              long&nbsp;clen)</code>&nbsp;</td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html#execCleanup-long-long...-">execCleanup</a></span>(long&nbsp;tid,
            long...&nbsp;id)</code>&nbsp;</td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i10" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedResponse</a>&gt;[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html#execute-long-boolean-org.apache.sysds.runtime.controlprogram.federated.FederatedRequest...-">execute</a></span>(long&nbsp;tid,
        boolean&nbsp;wait,
        <a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRequest.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRequest</a>...&nbsp;fr)</code>&nbsp;</td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedResponse</a>&gt;[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html#execute-long-boolean-org.apache.sysds.runtime.controlprogram.federated.FederatedRequest:A-org.apache.sysds.runtime.controlprogram.federated.FederatedRequest...-">execute</a></span>(long&nbsp;tid,
        boolean&nbsp;wait,
        <a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRequest.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRequest</a>[]&nbsp;frSlices,
        <a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRequest.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRequest</a>...&nbsp;fr)</code>&nbsp;</td>
 </tr>
-<tr id="i11" class="rowColor">
+<tr id="i12" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedResponse</a>&gt;[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html#execute-long-boolean-org.apache.sysds.runtime.controlprogram.federated.FederatedRequest:A-org.apache.sysds.runtime.controlprogram.federated.FederatedRequest:A-org.apache.sysds.runtime.controlprogram.federated.FederatedRequest...-">execute</a></span>(long&nbsp;tid,
+       boolean&nbsp;wait,
+       <a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRequest.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRequest</a>[]&nbsp;frSlices1,
+       <a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRequest.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRequest</a>[]&nbsp;frSlices2,
+       <a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRequest.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRequest</a>...&nbsp;fr)</code>&nbsp;</td>
+</tr>
+<tr id="i13" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedResponse</a>&gt;[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html#execute-long-org.apache.sysds.runtime.controlprogram.federated.FederatedRequest...-">execute</a></span>(long&nbsp;tid,
        <a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRequest.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRequest</a>...&nbsp;fr)</code>&nbsp;</td>
 </tr>
-<tr id="i12" class="altColor">
+<tr id="i14" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedResponse</a>&gt;[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html#execute-long-org.apache.sysds.runtime.controlprogram.federated.FederatedRequest:A-org.apache.sysds.runtime.controlprogram.federated.FederatedRequest...-">execute</a></span>(long&nbsp;tid,
        <a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRequest.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRequest</a>[]&nbsp;frSlices,
        <a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRequest.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRequest</a>...&nbsp;fr)</code>&nbsp;</td>
 </tr>
-<tr id="i13" class="rowColor">
+<tr id="i15" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedResponse</a>&gt;[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html#executeMultipleSlices-long-boolean-org.apache.sysds.runtime.controlprogram.federated.FederatedRequest:A:A-org.apache.sysds.runtime.controlprogram.federated.FederatedRequest:A-">executeMultipleSlices</a></span>(long&nbsp;tid,
+                     boolean&nbsp;wait,
+                     <a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRequest.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRequest</a>[][]&nbsp;frSlices,
+                     <a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRequest.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRequest</a>[]&nbsp;fr)</code>&nbsp;</td>
+</tr>
+<tr id="i16" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationMap</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html#filter-org.apache.sysds.runtime.util.IndexRange-">filter</a></span>(<a href="../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixrange)</code>&nbsp;</td>
+</tr>
+<tr id="i17" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html#forEachParallel-java.util.function.BiFunction-">forEachParallel</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/BiFunction.html?is-external=true" title="class or interface in java.util.function">BiFunction</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRange.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRange</a>,<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedData.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedData</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;forEachFunction)</code>
 <div class="block">Execute a function for each <code>FederatedRange</code> + <code>FederatedData</code> pair.</div>
 </td>
 </tr>
-<tr id="i14" class="altColor">
+<tr id="i18" class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRange.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRange</a>[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html#getFederatedRanges--">getFederatedRanges</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i15" class="rowColor">
+<tr id="i19" class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html#getID--">getID</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i16" class="altColor">
+<tr id="i20" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRange.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRange</a>,<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedData.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedData</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html#getMap--">getMap</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i21" class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html#getMaxIndexInRange-int-">getMaxIndexInRange</a></span>(int&nbsp;dim)</code>&nbsp;</td>
 </tr>
-<tr id="i17" class="rowColor">
+<tr id="i22" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html#getSize--">getSize</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i23" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.FType.html" title="enum in org.apache.sysds.runtime.controlprogram.federated">FederationMap.FType</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html#getType--">getType</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i18" class="altColor">
+<tr id="i24" class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationMap</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html#identCopy-long-long-">identCopy</a></span>(long&nbsp;tid,
          long&nbsp;id)</code>&nbsp;</td>
 </tr>
-<tr id="i19" class="rowColor">
+<tr id="i25" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html#isAligned-org.apache.sysds.runtime.controlprogram.federated.FederationMap-boolean-">isAligned</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationMap</a>&nbsp;that,
          boolean&nbsp;transposed)</code>&nbsp;</td>
 </tr>
-<tr id="i20" class="altColor">
+<tr id="i26" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html#isInitialized--">isInitialized</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i21" class="rowColor">
+<tr id="i27" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationMap</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html#mapParallel-long-java.util.function.BiFunction-">mapParallel</a></span>(long&nbsp;newVarID,
            <a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/BiFunction.html?is-external=true" title="class or interface in java.util.function">BiFunction</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRange.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRange</a>,<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedData.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedData</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;mappingFunction)</code>
@@ -284,15 +317,23 @@
  their new form by directly changing both <code>FederatedRange</code> and <code>FederatedData</code>.</div>
 </td>
 </tr>
-<tr id="i22" class="altColor">
+<tr id="i28" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.commons.lang3.tuple.Pair&lt;<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRange.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRange</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedResponse</a>&gt;&gt;&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html#requestFederatedData--">requestFederatedData</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i23" class="rowColor">
+<tr id="i29" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html#reverseFedMap--">reverseFedMap</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i30" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html#setType-org.apache.sysds.runtime.controlprogram.federated.FederationMap.FType-">setType</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.FType.html" title="enum in org.apache.sysds.runtime.controlprogram.federated">FederationMap.FType</a>&nbsp;type)</code>&nbsp;</td>
 </tr>
-<tr id="i24" class="altColor">
+<tr id="i31" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html#toString--">toString</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i32" class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationMap</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html#transpose--">transpose</a></span>()</code>&nbsp;</td>
 </tr>
@@ -302,7 +343,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
-<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -392,6 +433,15 @@
 <pre>public&nbsp;void&nbsp;setType(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.FType.html" title="enum in org.apache.sysds.runtime.controlprogram.federated">FederationMap.FType</a>&nbsp;type)</pre>
 </li>
 </ul>
+<a name="getSize--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getSize</h4>
+<pre>public&nbsp;int&nbsp;getSize()</pre>
+</li>
+</ul>
 <a name="getFederatedRanges--">
 <!--   -->
 </a>
@@ -401,6 +451,15 @@
 <pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRange.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRange</a>[]&nbsp;getFederatedRanges()</pre>
 </li>
 </ul>
+<a name="getMap--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getMap</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRange.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRange</a>,<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedData.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedData</a>&gt;&nbsp;getMap()</pre>
+</li>
+</ul>
 <a name="broadcast-org.apache.sysds.runtime.controlprogram.caching.CacheableData-">
 <!--   -->
 </a>
@@ -427,6 +486,15 @@
 <h4>broadcastSliced</h4>
 <pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRequest.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRequest</a>[]&nbsp;broadcastSliced(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html" title="class in org.apache.sysds.runtime.controlprogram.caching">CacheableData</a>&lt;?&gt;&nbsp;data,
                                           boolean&nbsp;transposed)</pre>
+<div class="block">Creates separate slices of an input data object according to the index ranges of federated data. Theses slices
+ are then wrapped in separate federated requests for broadcasting.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>data</code> - input data object (matrix, tensor, frame)</dd>
+<dd><code>transposed</code> - false: slice according to federated data, true: slice according to transposed federated data</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>array of federated requests corresponding to federated data</dd>
+</dl>
 </li>
 </ul>
 <a name="isAligned-org.apache.sysds.runtime.controlprogram.federated.FederationMap-boolean-">
@@ -483,6 +551,31 @@
                                            <a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRequest.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRequest</a>...&nbsp;fr)</pre>
 </li>
 </ul>
+<a name="execute-long-boolean-org.apache.sysds.runtime.controlprogram.federated.FederatedRequest:A-org.apache.sysds.runtime.controlprogram.federated.FederatedRequest:A-org.apache.sysds.runtime.controlprogram.federated.FederatedRequest...-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>execute</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedResponse</a>&gt;[]&nbsp;execute(long&nbsp;tid,
+                                           boolean&nbsp;wait,
+                                           <a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRequest.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRequest</a>[]&nbsp;frSlices1,
+                                           <a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRequest.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRequest</a>[]&nbsp;frSlices2,
+                                           <a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRequest.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRequest</a>...&nbsp;fr)</pre>
+</li>
+</ul>
+<a name="executeMultipleSlices-long-boolean-org.apache.sysds.runtime.controlprogram.federated.FederatedRequest:A:A-org.apache.sysds.runtime.controlprogram.federated.FederatedRequest:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>executeMultipleSlices</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedResponse</a>&gt;[]&nbsp;executeMultipleSlices(long&nbsp;tid,
+                                                         boolean&nbsp;wait,
+                                                         <a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRequest.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRequest</a>[][]&nbsp;frSlices,
+                                                         <a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRequest.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRequest</a>[]&nbsp;fr)</pre>
+</li>
+</ul>
 <a name="requestFederatedData--">
 <!--   -->
 </a>
@@ -598,7 +691,7 @@
 <a name="mapParallel-long-java.util.function.BiFunction-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>mapParallel</h4>
 <pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationMap</a>&nbsp;mapParallel(long&nbsp;newVarID,
@@ -616,6 +709,50 @@
 </dl>
 </li>
 </ul>
+<a name="filter-org.apache.sysds.runtime.util.IndexRange-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>filter</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationMap</a>&nbsp;filter(<a href="../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixrange)</pre>
+</li>
+</ul>
+<a name="reverseFedMap--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>reverseFedMap</h4>
+<pre>public&nbsp;void&nbsp;reverseFedMap()</pre>
+</li>
+</ul>
+<a name="toString--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>toString</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="clone--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>clone</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationMap</a>&nbsp;clone()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>
@@ -685,6 +822,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/FederationUtils.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/FederationUtils.html
index f71af43..d2fbb82 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/FederationUtils.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/FederationUtils.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":9,"i11":9};
+var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":9,"i11":9,"i12":9,"i13":9,"i14":9,"i15":9,"i16":9,"i17":9,"i18":9};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -158,50 +158,99 @@
 </tr>
 <tr id="i2" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationUtils.html#aggMatrix-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-java.util.concurrent.Future:A-java.util.concurrent.Future:A-org.apache.sysds.runtime.controlprogram.federated.FederationMap-">aggMatrix</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;aop,
+         <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedResponse</a>&gt;[]&nbsp;ffr,
+         <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedResponse</a>&gt;[]&nbsp;meanFfr,
+         <a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationMap</a>&nbsp;map)</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationUtils.html#aggMean-java.util.concurrent.Future:A-org.apache.sysds.runtime.controlprogram.federated.FederationMap-">aggMean</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedResponse</a>&gt;[]&nbsp;ffr,
        <a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationMap</a>&nbsp;map)</code>&nbsp;</td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationUtils.html#aggMinMax-java.util.concurrent.Future:A-boolean-boolean-java.util.Optional-">aggMinMax</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedResponse</a>&gt;[]&nbsp;ffr,
          boolean&nbsp;isMin,
          boolean&nbsp;isScalar,
          <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.FType.html" title="enum in org.apache.sysds.runtime.controlprogram.federated">FederationMap.FType</a>&gt;&nbsp;fedType)</code>&nbsp;</td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationUtils.html#aggMinMaxIndex-java.util.concurrent.Future:A-boolean-org.apache.sysds.runtime.controlprogram.federated.FederationMap-">aggMinMaxIndex</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedResponse</a>&gt;[]&nbsp;ffr,
+              boolean&nbsp;isMin,
+              <a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationMap</a>&nbsp;map)</code>&nbsp;</td>
+</tr>
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationUtils.html#aggScalar-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-java.util.concurrent.Future:A-">aggScalar</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;aop,
          <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedResponse</a>&gt;[]&nbsp;ffr)</code>&nbsp;</td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationUtils.html#aggScalar-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-java.util.concurrent.Future:A-org.apache.sysds.runtime.controlprogram.federated.FederationMap-">aggScalar</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;aop,
+         <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedResponse</a>&gt;[]&nbsp;ffr,
+         <a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationMap</a>&nbsp;map)</code>&nbsp;</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationUtils.html#aggScalar-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-java.util.concurrent.Future:A-java.util.concurrent.Future:A-org.apache.sysds.runtime.controlprogram.federated.FederationMap-">aggScalar</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;aop,
+         <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedResponse</a>&gt;[]&nbsp;ffr,
+         <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedResponse</a>&gt;[]&nbsp;meanFfr,
+         <a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationMap</a>&nbsp;map)</code>&nbsp;</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationUtils.html#aggVar-java.util.concurrent.Future:A-java.util.concurrent.Future:A-org.apache.sysds.runtime.controlprogram.federated.FederationMap-boolean-boolean-">aggVar</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedResponse</a>&gt;[]&nbsp;ffr,
+      <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedResponse</a>&gt;[]&nbsp;meanFfr,
+      <a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationMap</a>&nbsp;map,
+      boolean&nbsp;isRowAggregate,
+      boolean&nbsp;isScalar)</code>&nbsp;</td>
+</tr>
+<tr id="i10" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationUtils.html#bind-java.util.concurrent.Future:A-boolean-">bind</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedResponse</a>&gt;[]&nbsp;ffr,
     boolean&nbsp;cbind)</code>&nbsp;</td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i11" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRequest.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRequest</a>[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationUtils.html#callInstruction-java.lang.String:A-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand:A-long:A-">callInstruction</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;inst,
+               <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;varOldOut,
+               <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>[]&nbsp;varOldIn,
+               long[]&nbsp;varNewIn)</code>&nbsp;</td>
+</tr>
+<tr id="i12" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRequest.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRequest</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationUtils.html#callInstruction-java.lang.String-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand:A-long:A-">callInstruction</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;inst,
                <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;varOldOut,
                <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>[]&nbsp;varOldIn,
                long[]&nbsp;varNewIn)</code>&nbsp;</td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i13" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRequest.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRequest</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationUtils.html#callInstruction-java.lang.String-org.apache.sysds.runtime.instructions.cp.CPOperand-long-org.apache.sysds.runtime.instructions.cp.CPOperand:A-long:A-">callInstruction</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;inst,
+               <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;varOldOut,
+               long&nbsp;outputId,
+               <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>[]&nbsp;varOldIn,
+               long[]&nbsp;varNewIn)</code>&nbsp;</td>
+</tr>
+<tr id="i14" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationMap</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationUtils.html#federateLocalData-org.apache.sysds.runtime.controlprogram.caching.CacheableData-">federateLocalData</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html" title="class in org.apache.sysds.runtime.controlprogram.caching">CacheableData</a>&lt;?&gt;&nbsp;data)</code>&nbsp;</td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i15" class="rowColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationUtils.html#getNextFedDataID--">getNextFedDataID</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i16" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationUtils.html#getResults-java.util.concurrent.Future:A-">getResults</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedResponse</a>&gt;[]&nbsp;ffr)</code>&nbsp;</td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i17" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationUtils.html#resetFedDataID--">resetFedDataID</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i11" class="rowColor">
+<tr id="i18" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationUtils.html#waitFor-java.util.List-">waitFor</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedResponse</a>&gt;&gt;&nbsp;responses)</code>&nbsp;</td>
 </tr>
@@ -274,6 +323,31 @@
                                                long[]&nbsp;varNewIn)</pre>
 </li>
 </ul>
+<a name="callInstruction-java.lang.String:A-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand:A-long:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>callInstruction</h4>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRequest.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRequest</a>[]&nbsp;callInstruction(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;inst,
+                                                 <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;varOldOut,
+                                                 <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>[]&nbsp;varOldIn,
+                                                 long[]&nbsp;varNewIn)</pre>
+</li>
+</ul>
+<a name="callInstruction-java.lang.String-org.apache.sysds.runtime.instructions.cp.CPOperand-long-org.apache.sysds.runtime.instructions.cp.CPOperand:A-long:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>callInstruction</h4>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRequest.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRequest</a>&nbsp;callInstruction(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;inst,
+                                               <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;varOldOut,
+                                               long&nbsp;outputId,
+                                               <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>[]&nbsp;varOldIn,
+                                               long[]&nbsp;varNewIn)</pre>
+</li>
+</ul>
 <a name="aggAdd-java.util.concurrent.Future:A-">
 <!--   -->
 </a>
@@ -324,6 +398,63 @@
                                     <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.FType.html" title="enum in org.apache.sysds.runtime.controlprogram.federated">FederationMap.FType</a>&gt;&nbsp;fedType)</pre>
 </li>
 </ul>
+<a name="aggMinMaxIndex-java.util.concurrent.Future:A-boolean-org.apache.sysds.runtime.controlprogram.federated.FederationMap-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>aggMinMaxIndex</h4>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;aggMinMaxIndex(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedResponse</a>&gt;[]&nbsp;ffr,
+                                         boolean&nbsp;isMin,
+                                         <a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationMap</a>&nbsp;map)</pre>
+</li>
+</ul>
+<a name="aggVar-java.util.concurrent.Future:A-java.util.concurrent.Future:A-org.apache.sysds.runtime.controlprogram.federated.FederationMap-boolean-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>aggVar</h4>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;aggVar(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedResponse</a>&gt;[]&nbsp;ffr,
+                                 <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedResponse</a>&gt;[]&nbsp;meanFfr,
+                                 <a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationMap</a>&nbsp;map,
+                                 boolean&nbsp;isRowAggregate,
+                                 boolean&nbsp;isScalar)</pre>
+</li>
+</ul>
+<a name="aggScalar-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-java.util.concurrent.Future:A-java.util.concurrent.Future:A-org.apache.sysds.runtime.controlprogram.federated.FederationMap-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>aggScalar</h4>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&nbsp;aggScalar(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;aop,
+                                     <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedResponse</a>&gt;[]&nbsp;ffr,
+                                     <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedResponse</a>&gt;[]&nbsp;meanFfr,
+                                     <a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationMap</a>&nbsp;map)</pre>
+</li>
+</ul>
+<a name="aggMatrix-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-java.util.concurrent.Future:A-java.util.concurrent.Future:A-org.apache.sysds.runtime.controlprogram.federated.FederationMap-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>aggMatrix</h4>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;aggMatrix(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;aop,
+                                    <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedResponse</a>&gt;[]&nbsp;ffr,
+                                    <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedResponse</a>&gt;[]&nbsp;meanFfr,
+                                    <a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationMap</a>&nbsp;map)</pre>
+</li>
+</ul>
+<a name="waitFor-java.util.List-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>waitFor</h4>
+<pre>public static&nbsp;void&nbsp;waitFor(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedResponse</a>&gt;&gt;&nbsp;responses)</pre>
+</li>
+</ul>
 <a name="aggScalar-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-java.util.concurrent.Future:A-">
 <!--   -->
 </a>
@@ -334,6 +465,17 @@
                                      <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedResponse</a>&gt;[]&nbsp;ffr)</pre>
 </li>
 </ul>
+<a name="aggScalar-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-java.util.concurrent.Future:A-org.apache.sysds.runtime.controlprogram.federated.FederationMap-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>aggScalar</h4>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&nbsp;aggScalar(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;aop,
+                                     <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedResponse</a>&gt;[]&nbsp;ffr,
+                                     <a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationMap</a>&nbsp;map)</pre>
+</li>
+</ul>
 <a name="aggMatrix-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-java.util.concurrent.Future:A-org.apache.sysds.runtime.controlprogram.federated.FederationMap-">
 <!--   -->
 </a>
@@ -345,15 +487,6 @@
                                     <a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationMap</a>&nbsp;map)</pre>
 </li>
 </ul>
-<a name="waitFor-java.util.List-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>waitFor</h4>
-<pre>public static&nbsp;void&nbsp;waitFor(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedResponse</a>&gt;&gt;&nbsp;responses)</pre>
-</li>
-</ul>
 <a name="federateLocalData-org.apache.sysds.runtime.controlprogram.caching.CacheableData-">
 <!--   -->
 </a>
@@ -432,6 +565,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/class-use/ExecutionContextMap.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/class-use/ExecutionContextMap.html
index de81913..dcc2826 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/class-use/ExecutionContextMap.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/class-use/ExecutionContextMap.html
@@ -158,6 +158,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/class-use/FederatedData.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/class-use/FederatedData.html
index 7c149ca..372755a 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/class-use/FederatedData.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/class-use/FederatedData.html
@@ -90,6 +90,10 @@
 <td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.fed">org.apache.sysds.runtime.instructions.fed</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.io">org.apache.sysds.runtime.io</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
 </tbody>
 </table>
 </li>
@@ -132,6 +136,19 @@
 </tbody>
 </table>
 <table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/package-summary.html">org.apache.sysds.runtime.controlprogram.federated</a> that return types with arguments of type <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedData.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedData</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRange.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRange</a>,<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedData.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedData</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">FederationMap.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html#getMap--">getMap</a></span>()</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
 <caption><span>Method parameters in <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/package-summary.html">org.apache.sysds.runtime.controlprogram.federated</a> with type arguments of type <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedData.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedData</a></span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
@@ -187,18 +204,41 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code>void</code></td>
+<td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">InitFEDInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/InitFEDInstruction.html#federateFrame-org.apache.sysds.runtime.controlprogram.caching.FrameObject-java.util.List-">federateFrame</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/FrameObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">FrameObject</a>&nbsp;output,
              <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.commons.lang3.tuple.Pair&lt;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRange.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRange</a>,<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedData.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedData</a>&gt;&gt;&nbsp;workers)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">InitFEDInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/InitFEDInstruction.html#federateMatrix-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-java.util.List-">federateMatrix</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;output,
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><span class="typeNameLabel">InitFEDInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/InitFEDInstruction.html#federateMatrix-org.apache.sysds.runtime.controlprogram.caching.CacheableData-java.util.List-">federateMatrix</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html" title="class in org.apache.sysds.runtime.controlprogram.caching">CacheableData</a>&lt;?&gt;&nbsp;output,
               <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.commons.lang3.tuple.Pair&lt;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRange.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRange</a>,<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedData.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedData</a>&gt;&gt;&nbsp;workers)</code>&nbsp;</td>
 </tr>
 </tbody>
 </table>
 </li>
+<li class="blockList"><a name="org.apache.sysds.runtime.io">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedData.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedData</a> in <a href="../../../../../../../org/apache/sysds/runtime/io/package-summary.html">org.apache.sysds.runtime.io</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/io/package-summary.html">org.apache.sysds.runtime.io</a> that return types with arguments of type <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedData.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedData</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.commons.lang3.tuple.Pair&lt;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRange.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRange</a>,<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedData.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedData</a>&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">ReaderWriterFederated.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/io/ReaderWriterFederated.html#read-java.lang.String-org.apache.sysds.runtime.meta.DataCharacteristics-">read</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;file,
+    <a href="../../../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a>&nbsp;mc)</code>
+<div class="block">Read a federated map from disk, It is not initialized before it is used in:
+ 
+ org.apache.sysds.runtime.instructions.fed.InitFEDInstruction</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
 </ul>
 </li>
 </ul>
@@ -250,6 +290,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/class-use/FederatedLocalData.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/class-use/FederatedLocalData.html
index af1697c..42ef673 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/class-use/FederatedLocalData.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/class-use/FederatedLocalData.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/class-use/FederatedRange.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/class-use/FederatedRange.html
index dbd713b..a23cec6 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/class-use/FederatedRange.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/class-use/FederatedRange.html
@@ -90,6 +90,10 @@
 <td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.fed">org.apache.sysds.runtime.instructions.fed</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.io">org.apache.sysds.runtime.io</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
 </tbody>
 </table>
 </li>
@@ -129,6 +133,10 @@
 </tr>
 <tbody>
 <tr class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRange.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRange</a>,<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedData.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedData</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">FederationMap.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html#getMap--">getMap</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.commons.lang3.tuple.Pair&lt;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRange.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRange</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedResponse</a>&gt;&gt;&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">FederationMap.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html#requestFederatedData--">requestFederatedData</a></span>()</code>&nbsp;</td>
 </tr>
@@ -220,18 +228,41 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code>void</code></td>
+<td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">InitFEDInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/InitFEDInstruction.html#federateFrame-org.apache.sysds.runtime.controlprogram.caching.FrameObject-java.util.List-">federateFrame</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/FrameObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">FrameObject</a>&nbsp;output,
              <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.commons.lang3.tuple.Pair&lt;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRange.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRange</a>,<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedData.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedData</a>&gt;&gt;&nbsp;workers)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">InitFEDInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/InitFEDInstruction.html#federateMatrix-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-java.util.List-">federateMatrix</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;output,
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><span class="typeNameLabel">InitFEDInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/InitFEDInstruction.html#federateMatrix-org.apache.sysds.runtime.controlprogram.caching.CacheableData-java.util.List-">federateMatrix</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html" title="class in org.apache.sysds.runtime.controlprogram.caching">CacheableData</a>&lt;?&gt;&nbsp;output,
               <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.commons.lang3.tuple.Pair&lt;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRange.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRange</a>,<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedData.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedData</a>&gt;&gt;&nbsp;workers)</code>&nbsp;</td>
 </tr>
 </tbody>
 </table>
 </li>
+<li class="blockList"><a name="org.apache.sysds.runtime.io">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRange.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRange</a> in <a href="../../../../../../../org/apache/sysds/runtime/io/package-summary.html">org.apache.sysds.runtime.io</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/io/package-summary.html">org.apache.sysds.runtime.io</a> that return types with arguments of type <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRange.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRange</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.commons.lang3.tuple.Pair&lt;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRange.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRange</a>,<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedData.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedData</a>&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">ReaderWriterFederated.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/io/ReaderWriterFederated.html#read-java.lang.String-org.apache.sysds.runtime.meta.DataCharacteristics-">read</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;file,
+    <a href="../../../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a>&nbsp;mc)</code>
+<div class="block">Read a federated map from disk, It is not initialized before it is used in:
+ 
+ org.apache.sysds.runtime.instructions.fed.InitFEDInstruction</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
 </ul>
 </li>
 </ul>
@@ -283,6 +314,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/class-use/FederatedRequest.RequestType.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/class-use/FederatedRequest.RequestType.html
index 1b1bbf9..4c95687 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/class-use/FederatedRequest.RequestType.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/class-use/FederatedRequest.RequestType.html
@@ -220,6 +220,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/class-use/FederatedRequest.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/class-use/FederatedRequest.html
index e31efab..4f2ac41 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/class-use/FederatedRequest.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/class-use/FederatedRequest.html
@@ -121,15 +121,32 @@
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRequest.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRequest</a>[]</code></td>
 <td class="colLast"><span class="typeNameLabel">FederationMap.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html#broadcastSliced-org.apache.sysds.runtime.controlprogram.caching.CacheableData-boolean-">broadcastSliced</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html" title="class in org.apache.sysds.runtime.controlprogram.caching">CacheableData</a>&lt;?&gt;&nbsp;data,
-               boolean&nbsp;transposed)</code>&nbsp;</td>
+               boolean&nbsp;transposed)</code>
+<div class="block">Creates separate slices of an input data object according to the index ranges of federated data.</div>
+</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRequest.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRequest</a>[]</code></td>
+<td class="colLast"><span class="typeNameLabel">FederationUtils.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationUtils.html#callInstruction-java.lang.String:A-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand:A-long:A-">callInstruction</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;inst,
+               <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;varOldOut,
+               <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>[]&nbsp;varOldIn,
+               long[]&nbsp;varNewIn)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRequest.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRequest</a></code></td>
 <td class="colLast"><span class="typeNameLabel">FederationUtils.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationUtils.html#callInstruction-java.lang.String-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand:A-long:A-">callInstruction</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;inst,
                <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;varOldOut,
                <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>[]&nbsp;varOldIn,
                long[]&nbsp;varNewIn)</code>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRequest.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRequest</a></code></td>
+<td class="colLast"><span class="typeNameLabel">FederationUtils.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationUtils.html#callInstruction-java.lang.String-org.apache.sysds.runtime.instructions.cp.CPOperand-long-org.apache.sysds.runtime.instructions.cp.CPOperand:A-long:A-">callInstruction</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;inst,
+               <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;varOldOut,
+               long&nbsp;outputId,
+               <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>[]&nbsp;varOldIn,
+               long[]&nbsp;varNewIn)</code>&nbsp;</td>
+</tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRequest.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRequest</a></code></td>
 <td class="colLast"><span class="typeNameLabel">FederationMap.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html#cleanup-long-long...-">cleanup</a></span>(long&nbsp;tid,
@@ -170,15 +187,33 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedResponse</a>&gt;[]</code></td>
+<td class="colLast"><span class="typeNameLabel">FederationMap.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html#execute-long-boolean-org.apache.sysds.runtime.controlprogram.federated.FederatedRequest:A-org.apache.sysds.runtime.controlprogram.federated.FederatedRequest:A-org.apache.sysds.runtime.controlprogram.federated.FederatedRequest...-">execute</a></span>(long&nbsp;tid,
+       boolean&nbsp;wait,
+       <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRequest.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRequest</a>[]&nbsp;frSlices1,
+       <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRequest.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRequest</a>[]&nbsp;frSlices2,
+       <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRequest.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRequest</a>...&nbsp;fr)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedResponse</a>&gt;[]</code></td>
+<td class="colLast"><span class="typeNameLabel">FederationMap.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html#execute-long-boolean-org.apache.sysds.runtime.controlprogram.federated.FederatedRequest:A-org.apache.sysds.runtime.controlprogram.federated.FederatedRequest:A-org.apache.sysds.runtime.controlprogram.federated.FederatedRequest...-">execute</a></span>(long&nbsp;tid,
+       boolean&nbsp;wait,
+       <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRequest.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRequest</a>[]&nbsp;frSlices1,
+       <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRequest.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRequest</a>[]&nbsp;frSlices2,
+       <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRequest.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRequest</a>...&nbsp;fr)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedResponse</a>&gt;[]</code></td>
+<td class="colLast"><span class="typeNameLabel">FederationMap.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html#execute-long-boolean-org.apache.sysds.runtime.controlprogram.federated.FederatedRequest:A-org.apache.sysds.runtime.controlprogram.federated.FederatedRequest:A-org.apache.sysds.runtime.controlprogram.federated.FederatedRequest...-">execute</a></span>(long&nbsp;tid,
+       boolean&nbsp;wait,
+       <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRequest.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRequest</a>[]&nbsp;frSlices1,
+       <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRequest.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRequest</a>[]&nbsp;frSlices2,
+       <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRequest.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRequest</a>...&nbsp;fr)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedResponse</a>&gt;[]</code></td>
 <td class="colLast"><span class="typeNameLabel">FederationMap.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html#execute-long-org.apache.sysds.runtime.controlprogram.federated.FederatedRequest...-">execute</a></span>(long&nbsp;tid,
        <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRequest.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRequest</a>...&nbsp;fr)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
-<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedResponse</a>&gt;[]</code></td>
-<td class="colLast"><span class="typeNameLabel">FederationMap.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html#execute-long-org.apache.sysds.runtime.controlprogram.federated.FederatedRequest:A-org.apache.sysds.runtime.controlprogram.federated.FederatedRequest...-">execute</a></span>(long&nbsp;tid,
-       <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRequest.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRequest</a>[]&nbsp;frSlices,
-       <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRequest.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRequest</a>...&nbsp;fr)</code>&nbsp;</td>
-</tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedResponse</a>&gt;[]</code></td>
 <td class="colLast"><span class="typeNameLabel">FederationMap.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html#execute-long-org.apache.sysds.runtime.controlprogram.federated.FederatedRequest:A-org.apache.sysds.runtime.controlprogram.federated.FederatedRequest...-">execute</a></span>(long&nbsp;tid,
@@ -186,20 +221,40 @@
        <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRequest.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRequest</a>...&nbsp;fr)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedResponse</a>&gt;[]</code></td>
+<td class="colLast"><span class="typeNameLabel">FederationMap.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html#execute-long-org.apache.sysds.runtime.controlprogram.federated.FederatedRequest:A-org.apache.sysds.runtime.controlprogram.federated.FederatedRequest...-">execute</a></span>(long&nbsp;tid,
+       <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRequest.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRequest</a>[]&nbsp;frSlices,
+       <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRequest.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRequest</a>...&nbsp;fr)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedResponse</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">FederatedData.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedData.html#executeFederatedOperation-org.apache.sysds.runtime.controlprogram.federated.FederatedRequest...-">executeFederatedOperation</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRequest.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRequest</a>...&nbsp;request)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedResponse</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">FederatedLocalData.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedLocalData.html#executeFederatedOperation-org.apache.sysds.runtime.controlprogram.federated.FederatedRequest...-">executeFederatedOperation</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRequest.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRequest</a>...&nbsp;request)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedResponse</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">FederatedData.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedData.html#executeFederatedOperation-java.net.InetSocketAddress-org.apache.sysds.runtime.controlprogram.federated.FederatedRequest...-">executeFederatedOperation</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a>&nbsp;address,
                          <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRequest.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRequest</a>...&nbsp;request)</code>
 <div class="block">Executes an federated operation on a federated worker.</div>
 </td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedResponse</a>&gt;[]</code></td>
+<td class="colLast"><span class="typeNameLabel">FederationMap.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html#executeMultipleSlices-long-boolean-org.apache.sysds.runtime.controlprogram.federated.FederatedRequest:A:A-org.apache.sysds.runtime.controlprogram.federated.FederatedRequest:A-">executeMultipleSlices</a></span>(long&nbsp;tid,
+                     boolean&nbsp;wait,
+                     <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRequest.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRequest</a>[][]&nbsp;frSlices,
+                     <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRequest.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRequest</a>[]&nbsp;fr)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedResponse</a>&gt;[]</code></td>
+<td class="colLast"><span class="typeNameLabel">FederationMap.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html#executeMultipleSlices-long-boolean-org.apache.sysds.runtime.controlprogram.federated.FederatedRequest:A:A-org.apache.sysds.runtime.controlprogram.federated.FederatedRequest:A-">executeMultipleSlices</a></span>(long&nbsp;tid,
+                     boolean&nbsp;wait,
+                     <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRequest.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRequest</a>[][]&nbsp;frSlices,
+                     <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRequest.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRequest</a>[]&nbsp;fr)</code>&nbsp;</td>
+</tr>
 </tbody>
 </table>
 </li>
@@ -254,6 +309,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/class-use/FederatedResponse.ResponseType.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/class-use/FederatedResponse.ResponseType.html
index 824cc31..8e0e3bd 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/class-use/FederatedResponse.ResponseType.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/class-use/FederatedResponse.ResponseType.html
@@ -188,6 +188,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/class-use/FederatedResponse.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/class-use/FederatedResponse.html
index b07434e..a084a55 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/class-use/FederatedResponse.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/class-use/FederatedResponse.html
@@ -90,6 +90,10 @@
 <td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.fed">org.apache.sysds.runtime.instructions.fed</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.lineage">org.apache.sysds.runtime.lineage</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
 </tbody>
 </table>
 </li>
@@ -193,6 +197,40 @@
 <td class="colLast"><span class="typeNameLabel">ParameterizedBuiltinFEDInstruction.DecodeMatrix.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/ParameterizedBuiltinFEDInstruction.DecodeMatrix.html#execute-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.runtime.instructions.cp.Data...-">execute</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
        <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/Data.html" title="class in org.apache.sysds.runtime.instructions.cp">Data</a>...&nbsp;data)</code>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedResponse</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ReorgFEDInstruction.Rdiag.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.Rdiag.html#execute-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.runtime.instructions.cp.Data...-">execute</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
+       <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/Data.html" title="class in org.apache.sysds.runtime.instructions.cp">Data</a>...&nbsp;data)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedResponse</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ReorgFEDInstruction.DiagMatrix.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.DiagMatrix.html#execute-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.runtime.instructions.cp.Data...-">execute</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
+       <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/Data.html" title="class in org.apache.sysds.runtime.instructions.cp">Data</a>...&nbsp;data)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.sysds.runtime.lineage">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedResponse</a> in <a href="../../../../../../../org/apache/sysds/runtime/lineage/package-summary.html">org.apache.sysds.runtime.lineage</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/lineage/package-summary.html">org.apache.sysds.runtime.lineage</a> that return <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedResponse</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedResponse</a></code></td>
+<td class="colLast"><span class="typeNameLabel">LineageCache.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/lineage/LineageCache.html#reuse-org.apache.sysds.runtime.controlprogram.federated.FederatedUDF-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">reuse</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedUDF.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedUDF</a>&nbsp;udf,
+     <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedResponse</a></code></td>
+<td class="colLast"><span class="typeNameLabel">LineageItemUtils.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/lineage/LineageItemUtils.html#setUDFResponse-org.apache.sysds.runtime.controlprogram.federated.FederatedUDF-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-">setUDFResponse</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedUDF.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedUDF</a>&nbsp;udf,
+              <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;mo)</code>&nbsp;</td>
+</tr>
 </tbody>
 </table>
 </li>
@@ -247,6 +285,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/class-use/FederatedUDF.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/class-use/FederatedUDF.html
index 637a0b4..68e62bd 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/class-use/FederatedUDF.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/class-use/FederatedUDF.html
@@ -86,6 +86,10 @@
 <td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.fed">org.apache.sysds.runtime.instructions.fed</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.lineage">org.apache.sysds.runtime.lineage</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
 </tbody>
 </table>
 </li>
@@ -114,6 +118,49 @@
 <td class="colFirst"><code>static class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/ParameterizedBuiltinFEDInstruction.DecodeMatrix.html" title="class in org.apache.sysds.runtime.instructions.fed">ParameterizedBuiltinFEDInstruction.DecodeMatrix</a></span></code>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.DiagMatrix.html" title="class in org.apache.sysds.runtime.instructions.fed">ReorgFEDInstruction.DiagMatrix</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.Rdiag.html" title="class in org.apache.sysds.runtime.instructions.fed">ReorgFEDInstruction.Rdiag</a></span></code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.sysds.runtime.lineage">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedUDF.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedUDF</a> in <a href="../../../../../../../org/apache/sysds/runtime/lineage/package-summary.html">org.apache.sysds.runtime.lineage</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/lineage/package-summary.html">org.apache.sysds.runtime.lineage</a> with parameters of type <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedUDF.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedUDF</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><span class="typeNameLabel">LineageCache.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/lineage/LineageCache.html#putValue-org.apache.sysds.runtime.controlprogram.federated.FederatedUDF-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-long-">putValue</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedUDF.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedUDF</a>&nbsp;udf,
+        <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
+        long&nbsp;computetime)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedResponse</a></code></td>
+<td class="colLast"><span class="typeNameLabel">LineageCache.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/lineage/LineageCache.html#reuse-org.apache.sysds.runtime.controlprogram.federated.FederatedUDF-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">reuse</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedUDF.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedUDF</a>&nbsp;udf,
+     <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedResponse</a></code></td>
+<td class="colLast"><span class="typeNameLabel">LineageItemUtils.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/lineage/LineageItemUtils.html#setUDFResponse-org.apache.sysds.runtime.controlprogram.federated.FederatedUDF-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-">setUDFResponse</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedUDF.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedUDF</a>&nbsp;udf,
+              <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;mo)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><span class="typeNameLabel">LineageItemUtils.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/lineage/LineageItemUtils.html#traceFedUDF-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.runtime.controlprogram.federated.FederatedUDF-">traceFedUDF</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
+           <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedUDF.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedUDF</a>&nbsp;udf)</code>&nbsp;</td>
+</tr>
 </tbody>
 </table>
 </li>
@@ -168,6 +215,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/class-use/FederatedWorker.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/class-use/FederatedWorker.html
index 54ab5e9..93b50df 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/class-use/FederatedWorker.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/class-use/FederatedWorker.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/class-use/FederatedWorkerHandler.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/class-use/FederatedWorkerHandler.html
index 67f0c47..4a7690e 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/class-use/FederatedWorkerHandler.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/class-use/FederatedWorkerHandler.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/class-use/FederatedWorkerHandlerException.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/class-use/FederatedWorkerHandlerException.html
index ad7cf08..bc038e5 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/class-use/FederatedWorkerHandlerException.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/class-use/FederatedWorkerHandlerException.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/class-use/FederationMap.FType.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/class-use/FederationMap.FType.html
index f51a7fd..9257e15 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/class-use/FederationMap.FType.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/class-use/FederationMap.FType.html
@@ -151,6 +151,10 @@
 </tr>
 <tbody>
 <tr class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><span class="typeNameLabel">FederationMap.FType.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.FType.html#isType-org.apache.sysds.runtime.controlprogram.federated.FederationMap.FType-">isType</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.FType.html" title="enum in org.apache.sysds.runtime.controlprogram.federated">FederationMap.FType</a>&nbsp;t)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">FederationMap.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html#setType-org.apache.sysds.runtime.controlprogram.federated.FederationMap.FType-">setType</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.FType.html" title="enum in org.apache.sysds.runtime.controlprogram.federated">FederationMap.FType</a>&nbsp;type)</code>&nbsp;</td>
 </tr>
@@ -237,6 +241,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/class-use/FederationMap.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/class-use/FederationMap.html
index 225be15..bc628ba 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/class-use/FederationMap.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/class-use/FederationMap.html
@@ -94,6 +94,10 @@
 <td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.fed">org.apache.sysds.runtime.instructions.fed</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.io">org.apache.sysds.runtime.io</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
 </tbody>
 </table>
 </li>
@@ -153,21 +157,29 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationMap</a></code></td>
-<td class="colLast"><span class="typeNameLabel">FederationMap.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html#copyWithNewID--">copyWithNewID</a></span>()</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">FederationMap.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html#clone--">clone</a></span>()</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationMap</a></code></td>
-<td class="colLast"><span class="typeNameLabel">FederationMap.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html#copyWithNewID-long-">copyWithNewID</a></span>(long&nbsp;id)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">FederationMap.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html#copyWithNewID--">copyWithNewID</a></span>()</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationMap</a></code></td>
+<td class="colLast"><span class="typeNameLabel">FederationMap.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html#copyWithNewID-long-">copyWithNewID</a></span>(long&nbsp;id)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationMap</a></code></td>
 <td class="colLast"><span class="typeNameLabel">FederationMap.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html#copyWithNewID-long-long-">copyWithNewID</a></span>(long&nbsp;id,
              long&nbsp;clen)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationMap</a></code></td>
 <td class="colLast"><span class="typeNameLabel">FederationUtils.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationUtils.html#federateLocalData-org.apache.sysds.runtime.controlprogram.caching.CacheableData-">federateLocalData</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html" title="class in org.apache.sysds.runtime.controlprogram.caching">CacheableData</a>&lt;?&gt;&nbsp;data)</code>&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationMap</a></code></td>
+<td class="colLast"><span class="typeNameLabel">FederationMap.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html#filter-org.apache.sysds.runtime.util.IndexRange-">filter</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixrange)</code>&nbsp;</td>
+</tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationMap</a></code></td>
 <td class="colLast"><span class="typeNameLabel">FederationMap.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html#identCopy-long-long-">identCopy</a></span>(long&nbsp;tid,
@@ -202,16 +214,50 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">FederationUtils.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationUtils.html#aggMatrix-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-java.util.concurrent.Future:A-java.util.concurrent.Future:A-org.apache.sysds.runtime.controlprogram.federated.FederationMap-">aggMatrix</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;aop,
+         <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedResponse</a>&gt;[]&nbsp;ffr,
+         <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedResponse</a>&gt;[]&nbsp;meanFfr,
+         <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationMap</a>&nbsp;map)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">FederationUtils.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationUtils.html#aggMean-java.util.concurrent.Future:A-org.apache.sysds.runtime.controlprogram.federated.FederationMap-">aggMean</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedResponse</a>&gt;[]&nbsp;ffr,
        <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationMap</a>&nbsp;map)</code>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">FederationUtils.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationUtils.html#aggMinMaxIndex-java.util.concurrent.Future:A-boolean-org.apache.sysds.runtime.controlprogram.federated.FederationMap-">aggMinMaxIndex</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedResponse</a>&gt;[]&nbsp;ffr,
+              boolean&nbsp;isMin,
+              <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationMap</a>&nbsp;map)</code>&nbsp;</td>
+</tr>
 <tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a></code></td>
+<td class="colLast"><span class="typeNameLabel">FederationUtils.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationUtils.html#aggScalar-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-java.util.concurrent.Future:A-org.apache.sysds.runtime.controlprogram.federated.FederationMap-">aggScalar</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;aop,
+         <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedResponse</a>&gt;[]&nbsp;ffr,
+         <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationMap</a>&nbsp;map)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a></code></td>
+<td class="colLast"><span class="typeNameLabel">FederationUtils.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationUtils.html#aggScalar-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-java.util.concurrent.Future:A-java.util.concurrent.Future:A-org.apache.sysds.runtime.controlprogram.federated.FederationMap-">aggScalar</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;aop,
+         <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedResponse</a>&gt;[]&nbsp;ffr,
+         <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedResponse</a>&gt;[]&nbsp;meanFfr,
+         <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationMap</a>&nbsp;map)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">FederationUtils.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationUtils.html#aggVar-java.util.concurrent.Future:A-java.util.concurrent.Future:A-org.apache.sysds.runtime.controlprogram.federated.FederationMap-boolean-boolean-">aggVar</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedResponse</a>&gt;[]&nbsp;ffr,
+      <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedResponse</a>&gt;[]&nbsp;meanFfr,
+      <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationMap</a>&nbsp;map,
+      boolean&nbsp;isRowAggregate,
+      boolean&nbsp;isScalar)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationMap</a></code></td>
 <td class="colLast"><span class="typeNameLabel">FederationMap.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html#bind-long-long-org.apache.sysds.runtime.controlprogram.federated.FederationMap-">bind</a></span>(long&nbsp;rOffset,
     long&nbsp;cOffset,
     <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationMap</a>&nbsp;that)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">FederationMap.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html#isAligned-org.apache.sysds.runtime.controlprogram.federated.FederationMap-boolean-">isAligned</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationMap</a>&nbsp;that,
          boolean&nbsp;transposed)</code>&nbsp;</td>
@@ -232,13 +278,34 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>static void</code></td>
-<td class="colLast"><span class="typeNameLabel">MultiReturnParameterizedBuiltinFEDInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/MultiReturnParameterizedBuiltinFEDInstruction.html#encodeFederatedFrames-org.apache.sysds.runtime.controlprogram.federated.FederationMap-org.apache.sysds.runtime.transform.encode.Encoder-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-">encodeFederatedFrames</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationMap</a>&nbsp;fedMapping,
-                     <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&nbsp;globalEncoder,
+<td class="colLast"><span class="typeNameLabel">MultiReturnParameterizedBuiltinFEDInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/MultiReturnParameterizedBuiltinFEDInstruction.html#encodeFederatedFrames-org.apache.sysds.runtime.controlprogram.federated.FederationMap-org.apache.sysds.runtime.transform.encode.MultiColumnEncoder-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-">encodeFederatedFrames</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationMap</a>&nbsp;fedMapping,
+                     <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a>&nbsp;globalencoder,
                      <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;transformedMat)</code>&nbsp;</td>
 </tr>
 </tbody>
 </table>
 </li>
+<li class="blockList"><a name="org.apache.sysds.runtime.io">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationMap</a> in <a href="../../../../../../../org/apache/sysds/runtime/io/package-summary.html">org.apache.sysds.runtime.io</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/io/package-summary.html">org.apache.sysds.runtime.io</a> with parameters of type <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationMap</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><span class="typeNameLabel">ReaderWriterFederated.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/io/ReaderWriterFederated.html#write-java.lang.String-org.apache.sysds.runtime.controlprogram.federated.FederationMap-">write</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;file,
+     <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationMap</a>&nbsp;fedMap)</code>
+<div class="block">TODO add writing to each of the federated locations so that they also save their matrices.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
 </ul>
 </li>
 </ul>
@@ -290,6 +357,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/class-use/FederationUtils.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/class-use/FederationUtils.html
index e3fbbc2..a82e8b6 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/class-use/FederationUtils.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/class-use/FederationUtils.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/package-summary.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/package-summary.html
index 19a719f..e68e5e6 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/package-summary.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/package-summary.html
@@ -218,6 +218,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/package-tree.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/package-tree.html
index 8c2e094..5bbe9b6 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/package-tree.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/package-tree.html
@@ -99,7 +99,7 @@
 <li type="circle">org.apache.sysds.runtime.controlprogram.federated.<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRange.html" title="class in org.apache.sysds.runtime.controlprogram.federated"><span class="typeNameLink">FederatedRange</span></a> (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;)</li>
 <li type="circle">org.apache.sysds.runtime.controlprogram.federated.<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRequest.html" title="class in org.apache.sysds.runtime.controlprogram.federated"><span class="typeNameLink">FederatedRequest</span></a> (implements java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)</li>
 <li type="circle">org.apache.sysds.runtime.controlprogram.federated.<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html" title="class in org.apache.sysds.runtime.controlprogram.federated"><span class="typeNameLink">FederatedResponse</span></a> (implements java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)</li>
-<li type="circle">org.apache.sysds.runtime.controlprogram.federated.<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedUDF.html" title="class in org.apache.sysds.runtime.controlprogram.federated"><span class="typeNameLink">FederatedUDF</span></a> (implements java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)</li>
+<li type="circle">org.apache.sysds.runtime.controlprogram.federated.<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedUDF.html" title="class in org.apache.sysds.runtime.controlprogram.federated"><span class="typeNameLink">FederatedUDF</span></a> (implements org.apache.sysds.runtime.lineage.<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a>, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)</li>
 <li type="circle">org.apache.sysds.runtime.controlprogram.federated.<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedWorker.html" title="class in org.apache.sysds.runtime.controlprogram.federated"><span class="typeNameLink">FederatedWorker</span></a></li>
 <li type="circle">org.apache.sysds.runtime.controlprogram.federated.<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html" title="class in org.apache.sysds.runtime.controlprogram.federated"><span class="typeNameLink">FederationMap</span></a></li>
 <li type="circle">org.apache.sysds.runtime.controlprogram.federated.<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationUtils.html" title="class in org.apache.sysds.runtime.controlprogram.federated"><span class="typeNameLink">FederationUtils</span></a></li>
@@ -181,6 +181,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/package-use.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/package-use.html
index a4ffa76..8135bab 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/package-use.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/package-use.html
@@ -95,6 +95,14 @@
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.io">org.apache.sysds.runtime.io</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.lineage">org.apache.sysds.runtime.lineage</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.utils">org.apache.sysds.utils</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
@@ -185,6 +193,45 @@
 </tbody>
 </table>
 </li>
+<li class="blockList"><a name="org.apache.sysds.runtime.io">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/package-summary.html">org.apache.sysds.runtime.controlprogram.federated</a> used by <a href="../../../../../../org/apache/sysds/runtime/io/package-summary.html">org.apache.sysds.runtime.io</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/class-use/FederatedData.html#org.apache.sysds.runtime.io">FederatedData</a>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/class-use/FederatedRange.html#org.apache.sysds.runtime.io">FederatedRange</a>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/class-use/FederationMap.html#org.apache.sysds.runtime.io">FederationMap</a>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.sysds.runtime.lineage">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/package-summary.html">org.apache.sysds.runtime.controlprogram.federated</a> used by <a href="../../../../../../org/apache/sysds/runtime/lineage/package-summary.html">org.apache.sysds.runtime.lineage</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/class-use/FederatedResponse.html#org.apache.sysds.runtime.lineage">FederatedResponse</a>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/class-use/FederatedUDF.html#org.apache.sysds.runtime.lineage">FederatedUDF</a>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
 <li class="blockList"><a name="org.apache.sysds.utils">
 <!--   -->
 </a>
@@ -249,6 +296,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/package-summary.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/package-summary.html
index 03c9f70..2557435 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/package-summary.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/package-summary.html
@@ -217,6 +217,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/package-tree.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/package-tree.html
index 70d61e4..ece012a 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/package-tree.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/package-tree.html
@@ -165,6 +165,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/package-use.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/package-use.html
index 74da0d1..5cc782c 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/package-use.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/package-use.html
@@ -665,6 +665,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/FederatedPSControlThread.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/FederatedPSControlThread.html
new file mode 100644
index 0000000..f89c71e
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/FederatedPSControlThread.html
@@ -0,0 +1,376 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>FederatedPSControlThread (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="FederatedPSControlThread (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/FederatedPSControlThread.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev&nbsp;Class</li>
+<li><a href="../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/LocalParamServer.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/controlprogram/paramserv/FederatedPSControlThread.html" target="_top">Frames</a></li>
+<li><a href="FederatedPSControlThread.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.sysds.runtime.controlprogram.paramserv</div>
+<h2 title="Class FederatedPSControlThread" class="title">Class FederatedPSControlThread</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/PSWorker.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv">org.apache.sysds.runtime.controlprogram.paramserv.PSWorker</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.sysds.runtime.controlprogram.paramserv.FederatedPSControlThread</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Callable.html?is-external=true" title="class or interface in java.util.concurrent">Callable</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">FederatedPSControlThread</span>
+extends <a href="../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/PSWorker.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv">PSWorker</a>
+implements <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Callable.html?is-external=true" title="class or interface in java.util.concurrent">Callable</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../../serialized-form.html#org.apache.sysds.runtime.controlprogram.paramserv.FederatedPSControlThread">Serialized Form</a></dd>
+</dl>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/FederatedPSControlThread.html#FederatedPSControlThread-int-java.lang.String-org.apache.sysds.parser.Statement.PSFrequency-org.apache.sysds.parser.Statement.PSRuntimeBalancing-boolean-int-long-int-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.runtime.controlprogram.paramserv.ParamServer-">FederatedPSControlThread</a></span>(int&nbsp;workerID,
+                        <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;updFunc,
+                        <a href="../../../../../../org/apache/sysds/parser/Statement.PSFrequency.html" title="enum in org.apache.sysds.parser">Statement.PSFrequency</a>&nbsp;freq,
+                        <a href="../../../../../../org/apache/sysds/parser/Statement.PSRuntimeBalancing.html" title="enum in org.apache.sysds.parser">Statement.PSRuntimeBalancing</a>&nbsp;runtimeBalancing,
+                        boolean&nbsp;weighting,
+                        int&nbsp;epochs,
+                        long&nbsp;batchSize,
+                        int&nbsp;numBatchesPerGlobalEpoch,
+                        <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
+                        <a href="../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/ParamServer.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv">ParamServer</a>&nbsp;ps)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/FederatedPSControlThread.html#call--">call</a></span>()</code>
+<div class="block">Entry point of the functionality</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/FederatedPSControlThread.html#getWorkerName--">getWorkerName</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/FederatedPSControlThread.html#setup-double-">setup</a></span>(double&nbsp;weightingFactor)</code>
+<div class="block">Sets up the federated worker and control thread</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/FederatedPSControlThread.html#teardown--">teardown</a></span>()</code>
+<div class="block">cleans up the execution context of the federated worker</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.controlprogram.paramserv.PSWorker">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.controlprogram.paramserv.<a href="../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/PSWorker.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv">PSWorker</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/PSWorker.html#getFeatures--">getFeatures</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/PSWorker.html#getLabels--">getLabels</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/PSWorker.html#setFeatures-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-">setFeatures</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/PSWorker.html#setLabels-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-">setLabels</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="FederatedPSControlThread-int-java.lang.String-org.apache.sysds.parser.Statement.PSFrequency-org.apache.sysds.parser.Statement.PSRuntimeBalancing-boolean-int-long-int-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.runtime.controlprogram.paramserv.ParamServer-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>FederatedPSControlThread</h4>
+<pre>public&nbsp;FederatedPSControlThread(int&nbsp;workerID,
+                                <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;updFunc,
+                                <a href="../../../../../../org/apache/sysds/parser/Statement.PSFrequency.html" title="enum in org.apache.sysds.parser">Statement.PSFrequency</a>&nbsp;freq,
+                                <a href="../../../../../../org/apache/sysds/parser/Statement.PSRuntimeBalancing.html" title="enum in org.apache.sysds.parser">Statement.PSRuntimeBalancing</a>&nbsp;runtimeBalancing,
+                                boolean&nbsp;weighting,
+                                int&nbsp;epochs,
+                                long&nbsp;batchSize,
+                                int&nbsp;numBatchesPerGlobalEpoch,
+                                <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
+                                <a href="../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/ParamServer.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv">ParamServer</a>&nbsp;ps)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="setup-double-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setup</h4>
+<pre>public&nbsp;void&nbsp;setup(double&nbsp;weightingFactor)</pre>
+<div class="block">Sets up the federated worker and control thread</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>weightingFactor</code> - Gradients from this worker will be multiplied by this factor if weighting is enabled</dd>
+</dl>
+</li>
+</ul>
+<a name="teardown--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>teardown</h4>
+<pre>public&nbsp;void&nbsp;teardown()</pre>
+<div class="block">cleans up the execution context of the federated worker</div>
+</li>
+</ul>
+<a name="call--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>call</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&nbsp;call()
+          throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
+<div class="block">Entry point of the functionality</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Callable.html?is-external=true#call--" title="class or interface in java.util.concurrent">call</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Callable.html?is-external=true" title="class or interface in java.util.concurrent">Callable</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>void</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code> - incase the execution fails</dd>
+</dl>
+</li>
+</ul>
+<a name="getWorkerName--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getWorkerName</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getWorkerName()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/PSWorker.html#getWorkerName--">getWorkerName</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/PSWorker.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv">PSWorker</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/FederatedPSControlThread.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev&nbsp;Class</li>
+<li><a href="../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/LocalParamServer.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/controlprogram/paramserv/FederatedPSControlThread.html" target="_top">Frames</a></li>
+<li><a href="FederatedPSControlThread.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/LocalPSWorker.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/LocalPSWorker.html
index 01c602b..ca38333 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/LocalPSWorker.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/LocalPSWorker.html
@@ -328,6 +328,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/LocalParamServer.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/LocalParamServer.html
index 2b48d79..cdc1cf5 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/LocalParamServer.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/LocalParamServer.html
@@ -49,7 +49,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li>Prev&nbsp;Class</li>
+<li><a href="../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/FederatedPSControlThread.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/LocalPSWorker.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -153,11 +153,16 @@
 </tr>
 <tr id="i0" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/LocalParamServer.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv">LocalParamServer</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/LocalParamServer.html#create-org.apache.sysds.runtime.instructions.cp.ListObject-java.lang.String-org.apache.sysds.parser.Statement.PSUpdateType-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-int-">create</a></span>(<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ListObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ListObject</a>&nbsp;model,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/LocalParamServer.html#create-org.apache.sysds.runtime.instructions.cp.ListObject-java.lang.String-org.apache.sysds.parser.Statement.PSUpdateType-org.apache.sysds.parser.Statement.PSFrequency-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-int-java.lang.String-int-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-">create</a></span>(<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ListObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ListObject</a>&nbsp;model,
       <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;aggFunc,
       <a href="../../../../../../org/apache/sysds/parser/Statement.PSUpdateType.html" title="enum in org.apache.sysds.parser">Statement.PSUpdateType</a>&nbsp;updateType,
+      <a href="../../../../../../org/apache/sysds/parser/Statement.PSFrequency.html" title="enum in org.apache.sysds.parser">Statement.PSFrequency</a>&nbsp;freq,
       <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
-      int&nbsp;workerNum)</code>&nbsp;</td>
+      int&nbsp;workerNum,
+      <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;valFunc,
+      int&nbsp;numBatchesPerEpoch,
+      <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;valFeatures,
+      <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;valLabels)</code>&nbsp;</td>
 </tr>
 <tr id="i1" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ListObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ListObject</a></code></td>
@@ -174,7 +179,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.controlprogram.paramserv.<a href="../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/ParamServer.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv">ParamServer</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/ParamServer.html#getResult--">getResult</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/ParamServer.html#getAggInst--">getAggInst</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/ParamServer.html#getResult--">getResult</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -214,7 +219,7 @@
 <!--   -->
 </a>
 <h3>Method Detail</h3>
-<a name="create-org.apache.sysds.runtime.instructions.cp.ListObject-java.lang.String-org.apache.sysds.parser.Statement.PSUpdateType-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-int-">
+<a name="create-org.apache.sysds.runtime.instructions.cp.ListObject-java.lang.String-org.apache.sysds.parser.Statement.PSUpdateType-org.apache.sysds.parser.Statement.PSFrequency-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-int-java.lang.String-int-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-">
 <!--   -->
 </a>
 <ul class="blockList">
@@ -223,8 +228,13 @@
 <pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/LocalParamServer.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv">LocalParamServer</a>&nbsp;create(<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ListObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ListObject</a>&nbsp;model,
                                       <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;aggFunc,
                                       <a href="../../../../../../org/apache/sysds/parser/Statement.PSUpdateType.html" title="enum in org.apache.sysds.parser">Statement.PSUpdateType</a>&nbsp;updateType,
+                                      <a href="../../../../../../org/apache/sysds/parser/Statement.PSFrequency.html" title="enum in org.apache.sysds.parser">Statement.PSFrequency</a>&nbsp;freq,
                                       <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
-                                      int&nbsp;workerNum)</pre>
+                                      int&nbsp;workerNum,
+                                      <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;valFunc,
+                                      int&nbsp;numBatchesPerEpoch,
+                                      <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;valFeatures,
+                                      <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;valLabels)</pre>
 </li>
 </ul>
 <a name="push-int-org.apache.sysds.runtime.instructions.cp.ListObject-">
@@ -282,7 +292,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li>Prev&nbsp;Class</li>
+<li><a href="../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/FederatedPSControlThread.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/LocalPSWorker.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -323,6 +333,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/PSWorker.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/PSWorker.html
index 9b2d0aa..8f6ba95 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/PSWorker.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/PSWorker.html
@@ -113,7 +113,7 @@
 </dl>
 <dl>
 <dt>Direct Known Subclasses:</dt>
-<dd><a href="../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/LocalPSWorker.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv">LocalPSWorker</a></dd>
+<dd><a href="../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/FederatedPSControlThread.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv">FederatedPSControlThread</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/LocalPSWorker.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv">LocalPSWorker</a></dd>
 </dl>
 <hr>
 <br>
@@ -298,6 +298,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/ParamServer.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/ParamServer.html
index db552ae..d5f7142 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/ParamServer.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/ParamServer.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":6,"i2":6};
+var methods = {"i0":10,"i1":10,"i2":6,"i3":6};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -134,14 +134,18 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/FunctionCallCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">FunctionCallCPInstruction</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/ParamServer.html#getAggInst--">getAggInst</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ListObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ListObject</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/ParamServer.html#getResult--">getResult</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i1" class="rowColor">
+<tr id="i2" class="altColor">
 <td class="colFirst"><code>abstract <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ListObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ListObject</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/ParamServer.html#pull-int-">pull</a></span>(int&nbsp;workerID)</code>&nbsp;</td>
 </tr>
-<tr id="i2" class="altColor">
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code>abstract void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/ParamServer.html#push-int-org.apache.sysds.runtime.instructions.cp.ListObject-">push</a></span>(int&nbsp;workerID,
     <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ListObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ListObject</a>&nbsp;value)</code>&nbsp;</td>
@@ -190,12 +194,21 @@
 <a name="getResult--">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>getResult</h4>
 <pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ListObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ListObject</a>&nbsp;getResult()</pre>
 </li>
 </ul>
+<a name="getAggInst--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getAggInst</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/FunctionCallCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">FunctionCallCPInstruction</a>&nbsp;getAggInst()</pre>
+</li>
+</ul>
 </li>
 </ul>
 </li>
@@ -265,6 +278,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/ParamservUtils.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/ParamservUtils.html
index 7ba3855..890df97 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/ParamservUtils.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/ParamservUtils.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":9,"i11":9,"i12":9,"i13":9,"i14":9,"i15":9,"i16":9,"i17":9,"i18":9,"i19":9,"i20":9,"i21":9};
+var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":9,"i11":9,"i12":9,"i13":9,"i14":9,"i15":9,"i16":9,"i17":9,"i18":9,"i19":9,"i20":9,"i21":9,"i22":9,"i23":9,"i24":9,"i25":9};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -259,10 +259,19 @@
                       int&nbsp;k)</code>&nbsp;</td>
 </tr>
 <tr id="i14" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/ParamservUtils.html#createExecutionContext-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.lang.String-java.lang.String-int-boolean-">createExecutionContext</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
+                      <a href="../../../../../../org/apache/sysds/runtime/controlprogram/LocalVariableMap.html" title="class in org.apache.sysds.runtime.controlprogram">LocalVariableMap</a>&nbsp;varsMap,
+                      <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;updFunc,
+                      <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;aggFunc,
+                      int&nbsp;k,
+                      boolean&nbsp;forceExecTypeCP)</code>&nbsp;</td>
+</tr>
+<tr id="i15" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/ParamservUtils.html#createShallowCopy-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-">createShallowCopy</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;mo)</code>&nbsp;</td>
 </tr>
-<tr id="i15" class="rowColor">
+<tr id="i16" class="altColor">
 <td class="colFirst"><code>static org.apache.spark.api.java.JavaPairRDD&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,scala.Tuple2&lt;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>,<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&gt;&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/ParamservUtils.html#doPartitionOnSpark-org.apache.sysds.runtime.controlprogram.context.SparkExecutionContext-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-org.apache.sysds.parser.Statement.PSScheme-int-">doPartitionOnSpark</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/SparkExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">SparkExecutionContext</a>&nbsp;sec,
                   <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;features,
@@ -270,28 +279,50 @@
                   <a href="../../../../../../org/apache/sysds/parser/Statement.PSScheme.html" title="enum in org.apache.sysds.parser">Statement.PSScheme</a>&nbsp;scheme,
                   int&nbsp;workerNum)</code>&nbsp;</td>
 </tr>
-<tr id="i16" class="altColor">
+<tr id="i17" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/ParamservUtils.html#generatePermutation-int-long-">generatePermutation</a></span>(int&nbsp;numEntries,
                    long&nbsp;seed)</code>
 <div class="block">Generate the permutation</div>
 </td>
 </tr>
-<tr id="i17" class="rowColor">
+<tr id="i18" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/ParamservUtils.html#generateReplicationMatrix-int-int-long-">generateReplicationMatrix</a></span>(int&nbsp;nsamples,
+                         int&nbsp;nrows,
+                         long&nbsp;seed)</code>
+<div class="block">Generates a matrix which when left multiplied with the input matrix will replicate n data rows</div>
+</td>
+</tr>
+<tr id="i19" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/ParamservUtils.html#generateSubsampleMatrix-int-int-long-">generateSubsampleMatrix</a></span>(int&nbsp;nsamples,
+                       int&nbsp;nrows,
+                       long&nbsp;seed)</code>
+<div class="block">Generates a matrix which when left multiplied with the input matrix will subsample</div>
+</td>
+</tr>
+<tr id="i20" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/ParamservUtils.html#newMatrixObject-org.apache.sysds.runtime.matrix.data.MatrixBlock-">newMatrixObject</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mb)</code>&nbsp;</td>
 </tr>
-<tr id="i18" class="altColor">
+<tr id="i21" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/ParamservUtils.html#newMatrixObject-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-">newMatrixObject</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mb,
                boolean&nbsp;cleanup)</code>&nbsp;</td>
 </tr>
-<tr id="i19" class="rowColor">
+<tr id="i22" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/ParamservUtils.html#recompileProgramBlocks-int-java.util.List-">recompileProgramBlocks</a></span>(int&nbsp;k,
                       <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/controlprogram/ProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ProgramBlock</a>&gt;&nbsp;pbs)</code>&nbsp;</td>
 </tr>
-<tr id="i20" class="altColor">
+<tr id="i23" class="rowColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/ParamservUtils.html#recompileProgramBlocks-int-java.util.List-boolean-">recompileProgramBlocks</a></span>(int&nbsp;k,
+                      <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/controlprogram/ProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ProgramBlock</a>&gt;&nbsp;pbs,
+                      boolean&nbsp;forceExecTypeCP)</code>&nbsp;</td>
+</tr>
+<tr id="i24" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/ParamservUtils.html#sliceMatrix-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-long-long-">sliceMatrix</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;mo,
            long&nbsp;rl,
@@ -299,7 +330,7 @@
 <div class="block">Slice the matrix</div>
 </td>
 </tr>
-<tr id="i21" class="rowColor">
+<tr id="i25" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/ParamservUtils.html#sliceMatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-long-long-">sliceMatrixBlock</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mb,
                 long&nbsp;rl,
@@ -566,6 +597,46 @@
 </dl>
 </li>
 </ul>
+<a name="generateSubsampleMatrix-int-int-long-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>generateSubsampleMatrix</h4>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;generateSubsampleMatrix(int&nbsp;nsamples,
+                                                  int&nbsp;nrows,
+                                                  long&nbsp;seed)</pre>
+<div class="block">Generates a matrix which when left multiplied with the input matrix will subsample</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>nsamples</code> - number of samples</dd>
+<dd><code>nrows</code> - number of rows in input matrix</dd>
+<dd><code>seed</code> - seed used to generate random number</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>subsample matrix</dd>
+</dl>
+</li>
+</ul>
+<a name="generateReplicationMatrix-int-int-long-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>generateReplicationMatrix</h4>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;generateReplicationMatrix(int&nbsp;nsamples,
+                                                    int&nbsp;nrows,
+                                                    long&nbsp;seed)</pre>
+<div class="block">Generates a matrix which when left multiplied with the input matrix will replicate n data rows</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>nsamples</code> - number of samples</dd>
+<dd><code>nrows</code> - number of rows in input matrix</dd>
+<dd><code>seed</code> - seed used to generate random number</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>replication matrix</dd>
+</dl>
+</li>
+</ul>
 <a name="createExecutionContext-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.lang.String-java.lang.String-int-">
 <!--   -->
 </a>
@@ -579,6 +650,20 @@
                                                       int&nbsp;k)</pre>
 </li>
 </ul>
+<a name="createExecutionContext-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.lang.String-java.lang.String-int-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>createExecutionContext</h4>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;createExecutionContext(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
+                                                      <a href="../../../../../../org/apache/sysds/runtime/controlprogram/LocalVariableMap.html" title="class in org.apache.sysds.runtime.controlprogram">LocalVariableMap</a>&nbsp;varsMap,
+                                                      <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;updFunc,
+                                                      <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;aggFunc,
+                                                      int&nbsp;k,
+                                                      boolean&nbsp;forceExecTypeCP)</pre>
+</li>
+</ul>
 <a name="copyExecutionContext-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-int-">
 <!--   -->
 </a>
@@ -599,6 +684,17 @@
                                           <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/controlprogram/ProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ProgramBlock</a>&gt;&nbsp;pbs)</pre>
 </li>
 </ul>
+<a name="recompileProgramBlocks-int-java.util.List-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>recompileProgramBlocks</h4>
+<pre>public static&nbsp;void&nbsp;recompileProgramBlocks(int&nbsp;k,
+                                          <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/controlprogram/ProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ProgramBlock</a>&gt;&nbsp;pbs,
+                                          boolean&nbsp;forceExecTypeCP)</pre>
+</li>
+</ul>
 <a name="cbindMatrix-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">
 <!--   -->
 </a>
@@ -751,6 +847,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/SparkPSBody.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/SparkPSBody.html
index 4834513..cc3dc23 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/SparkPSBody.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/SparkPSBody.html
@@ -293,6 +293,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/SparkPSProxy.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/SparkPSProxy.html
index 4aaf9fb..b558bbc 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/SparkPSProxy.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/SparkPSProxy.html
@@ -168,7 +168,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.controlprogram.paramserv.<a href="../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/ParamServer.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv">ParamServer</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/ParamServer.html#getResult--">getResult</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/ParamServer.html#getAggInst--">getAggInst</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/ParamServer.html#getResult--">getResult</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -306,6 +306,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/SparkPSWorker.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/SparkPSWorker.html
index 8a14a55..adbf0b2 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/SparkPSWorker.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/SparkPSWorker.html
@@ -356,6 +356,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/EncoderComposite.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/class-use/FederatedPSControlThread.html
similarity index 73%
copy from docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/EncoderComposite.html
copy to docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/class-use/FederatedPSControlThread.html
index 33a7472..1937246 100644
--- a/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/EncoderComposite.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/class-use/FederatedPSControlThread.html
@@ -4,7 +4,7 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.sysds.runtime.transform.encode.EncoderComposite (SystemDS 2.1.0-SNAPSHOT API)</title>
+<title>Uses of Class org.apache.sysds.runtime.controlprogram.paramserv.FederatedPSControlThread (SystemDS 2.1.0-SNAPSHOT API)</title>
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.sysds.runtime.transform.encode.EncoderComposite (SystemDS 2.1.0-SNAPSHOT API)";
+            parent.document.title="Uses of Class org.apache.sysds.runtime.controlprogram.paramserv.FederatedPSControlThread (SystemDS 2.1.0-SNAPSHOT API)";
         }
     }
     catch(err) {
@@ -33,7 +33,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">Class</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/FederatedPSControlThread.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -47,8 +47,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/transform/encode/class-use/EncoderComposite.html" target="_top">Frames</a></li>
-<li><a href="EncoderComposite.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/controlprogram/paramserv/class-use/FederatedPSControlThread.html" target="_top">Frames</a></li>
+<li><a href="FederatedPSControlThread.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -70,9 +70,9 @@
 </a></div>
 <!-- ========= END OF TOP NAVBAR ========= -->
 <div class="header">
-<h2 title="Uses of Class org.apache.sysds.runtime.transform.encode.EncoderComposite" class="title">Uses of Class<br>org.apache.sysds.runtime.transform.encode.EncoderComposite</h2>
+<h2 title="Uses of Class org.apache.sysds.runtime.controlprogram.paramserv.FederatedPSControlThread" class="title">Uses of Class<br>org.apache.sysds.runtime.controlprogram.paramserv.FederatedPSControlThread</h2>
 </div>
-<div class="classUseContainer">No usage of org.apache.sysds.runtime.transform.encode.EncoderComposite</div>
+<div class="classUseContainer">No usage of org.apache.sysds.runtime.controlprogram.paramserv.FederatedPSControlThread</div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
 <!--   -->
@@ -84,7 +84,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">Class</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/FederatedPSControlThread.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -98,8 +98,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/transform/encode/class-use/EncoderComposite.html" target="_top">Frames</a></li>
-<li><a href="EncoderComposite.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/controlprogram/paramserv/class-use/FederatedPSControlThread.html" target="_top">Frames</a></li>
+<li><a href="FederatedPSControlThread.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/class-use/LocalPSWorker.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/class-use/LocalPSWorker.html
index 36c8d94..6636d8f 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/class-use/LocalPSWorker.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/class-use/LocalPSWorker.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/class-use/LocalParamServer.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/class-use/LocalParamServer.html
index 9b21d6d..e22c813 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/class-use/LocalParamServer.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/class-use/LocalParamServer.html
@@ -108,11 +108,16 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/LocalParamServer.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv">LocalParamServer</a></code></td>
-<td class="colLast"><span class="typeNameLabel">LocalParamServer.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/LocalParamServer.html#create-org.apache.sysds.runtime.instructions.cp.ListObject-java.lang.String-org.apache.sysds.parser.Statement.PSUpdateType-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-int-">create</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ListObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ListObject</a>&nbsp;model,
+<td class="colLast"><span class="typeNameLabel">LocalParamServer.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/LocalParamServer.html#create-org.apache.sysds.runtime.instructions.cp.ListObject-java.lang.String-org.apache.sysds.parser.Statement.PSUpdateType-org.apache.sysds.parser.Statement.PSFrequency-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-int-java.lang.String-int-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-">create</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ListObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ListObject</a>&nbsp;model,
       <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;aggFunc,
       <a href="../../../../../../../org/apache/sysds/parser/Statement.PSUpdateType.html" title="enum in org.apache.sysds.parser">Statement.PSUpdateType</a>&nbsp;updateType,
+      <a href="../../../../../../../org/apache/sysds/parser/Statement.PSFrequency.html" title="enum in org.apache.sysds.parser">Statement.PSFrequency</a>&nbsp;freq,
       <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
-      int&nbsp;workerNum)</code>&nbsp;</td>
+      int&nbsp;workerNum,
+      <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;valFunc,
+      int&nbsp;numBatchesPerEpoch,
+      <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;valFeatures,
+      <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;valLabels)</code>&nbsp;</td>
 </tr>
 </tbody>
 </table>
@@ -190,6 +195,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/class-use/PSWorker.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/class-use/PSWorker.html
index 23df19a..b9760ab 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/class-use/PSWorker.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/class-use/PSWorker.html
@@ -104,10 +104,14 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/LocalPSWorker.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv">LocalPSWorker</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/FederatedPSControlThread.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv">FederatedPSControlThread</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/LocalPSWorker.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv">LocalPSWorker</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/SparkPSWorker.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv">SparkPSWorker</a></span></code>&nbsp;</td>
 </tr>
 </tbody>
@@ -164,6 +168,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/class-use/ParamServer.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/class-use/ParamServer.html
index c024f11..b57da06 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/class-use/ParamServer.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/class-use/ParamServer.html
@@ -119,6 +119,18 @@
 </tr>
 <tbody>
 <tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/FederatedPSControlThread.html#FederatedPSControlThread-int-java.lang.String-org.apache.sysds.parser.Statement.PSFrequency-org.apache.sysds.parser.Statement.PSRuntimeBalancing-boolean-int-long-int-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.runtime.controlprogram.paramserv.ParamServer-">FederatedPSControlThread</a></span>(int&nbsp;workerID,
+                        <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;updFunc,
+                        <a href="../../../../../../../org/apache/sysds/parser/Statement.PSFrequency.html" title="enum in org.apache.sysds.parser">Statement.PSFrequency</a>&nbsp;freq,
+                        <a href="../../../../../../../org/apache/sysds/parser/Statement.PSRuntimeBalancing.html" title="enum in org.apache.sysds.parser">Statement.PSRuntimeBalancing</a>&nbsp;runtimeBalancing,
+                        boolean&nbsp;weighting,
+                        int&nbsp;epochs,
+                        long&nbsp;batchSize,
+                        int&nbsp;numBatchesPerGlobalEpoch,
+                        <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
+                        <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/ParamServer.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv">ParamServer</a>&nbsp;ps)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/LocalPSWorker.html#LocalPSWorker-int-java.lang.String-org.apache.sysds.parser.Statement.PSFrequency-int-long-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.runtime.controlprogram.paramserv.ParamServer-">LocalPSWorker</a></span>(int&nbsp;workerID,
              <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;updFunc,
              <a href="../../../../../../../org/apache/sysds/parser/Statement.PSFrequency.html" title="enum in org.apache.sysds.parser">Statement.PSFrequency</a>&nbsp;freq,
@@ -181,6 +193,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/class-use/ParamservUtils.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/class-use/ParamservUtils.html
index f5f4586..205cad9 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/class-use/ParamservUtils.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/class-use/ParamservUtils.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/class-use/SparkPSBody.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/class-use/SparkPSBody.html
index a72c27d..6eb2a2f 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/class-use/SparkPSBody.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/class-use/SparkPSBody.html
@@ -175,6 +175,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/class-use/SparkPSProxy.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/class-use/SparkPSProxy.html
index 793bc23..e68334c 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/class-use/SparkPSProxy.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/class-use/SparkPSProxy.html
@@ -162,6 +162,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/class-use/SparkPSWorker.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/class-use/SparkPSWorker.html
index 826d4a5..dfd20b5 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/class-use/SparkPSWorker.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/class-use/SparkPSWorker.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/BalanceToAvgFederatedScheme.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/BalanceToAvgFederatedScheme.html
new file mode 100644
index 0000000..af21484
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/BalanceToAvgFederatedScheme.html
@@ -0,0 +1,308 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>BalanceToAvgFederatedScheme (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="BalanceToAvgFederatedScheme (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/BalanceToAvgFederatedScheme.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev&nbsp;Class</li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionerSparkAggregator.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/controlprogram/paramserv/dp/BalanceToAvgFederatedScheme.html" target="_top">Frames</a></li>
+<li><a href="BalanceToAvgFederatedScheme.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.controlprogram.paramserv.dp.DataPartitionFederatedScheme">Nested</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.sysds.runtime.controlprogram.paramserv.dp</div>
+<h2 title="Class BalanceToAvgFederatedScheme" class="title">Class BalanceToAvgFederatedScheme</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">org.apache.sysds.runtime.controlprogram.paramserv.dp.DataPartitionFederatedScheme</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.sysds.runtime.controlprogram.paramserv.dp.BalanceToAvgFederatedScheme</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">BalanceToAvgFederatedScheme</span>
+extends <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionFederatedScheme</a></pre>
+<div class="block">Balance to Avg Federated scheme
+
+ When the parameter server runs in federated mode it cannot pull in the data which is already on the workers.
+ Therefore, a UDF is sent to manipulate the data locally. In this case the global average number of examples is taken
+ and the worker subsamples or replicates data to match that number of examples. See the other federated schemes.
+
+ Then all entries in the federation map of the input matrix are separated into MatrixObjects and returned as a list.
+ Only supports row federated matrices atm.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!--   -->
+</a>
+<h3>Nested Class Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.sysds.runtime.controlprogram.paramserv.dp.DataPartitionFederatedScheme">
+<!--   -->
+</a>
+<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.sysds.runtime.controlprogram.paramserv.dp.<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionFederatedScheme</a></h3>
+<code><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.BalanceMetrics.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionFederatedScheme.BalanceMetrics</a>, <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.Result.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionFederatedScheme.Result</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/BalanceToAvgFederatedScheme.html#BalanceToAvgFederatedScheme--">BalanceToAvgFederatedScheme</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.Result.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionFederatedScheme.Result</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/BalanceToAvgFederatedScheme.html#partition-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-int-">partition</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;features,
+         <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;labels,
+         int&nbsp;seed)</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="BalanceToAvgFederatedScheme--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>BalanceToAvgFederatedScheme</h4>
+<pre>public&nbsp;BalanceToAvgFederatedScheme()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="partition-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-int-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>partition</h4>
+<pre>public&nbsp;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.Result.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionFederatedScheme.Result</a>&nbsp;partition(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;features,
+                                                     <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;labels,
+                                                     int&nbsp;seed)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.html#partition-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-int-">partition</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionFederatedScheme</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/BalanceToAvgFederatedScheme.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev&nbsp;Class</li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionerSparkAggregator.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/controlprogram/paramserv/dp/BalanceToAvgFederatedScheme.html" target="_top">Frames</a></li>
+<li><a href="BalanceToAvgFederatedScheme.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.controlprogram.paramserv.dp.DataPartitionFederatedScheme">Nested</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/DCLocalScheme.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/DCLocalScheme.html
index 3c892d3..99fcde4 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/DCLocalScheme.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/DCLocalScheme.html
@@ -315,6 +315,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/DCSparkScheme.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/DCSparkScheme.html
index 92224bf..3a7a79f 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/DCSparkScheme.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/DCSparkScheme.html
@@ -259,6 +259,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/DRLocalScheme.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/DRLocalScheme.html
index d221037..89e08da 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/DRLocalScheme.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/DRLocalScheme.html
@@ -299,6 +299,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/DRRLocalScheme.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/DRRLocalScheme.html
index 4f378a3..270e0a1 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/DRRLocalScheme.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/DRRLocalScheme.html
@@ -316,6 +316,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/DRRSparkScheme.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/DRRSparkScheme.html
index b88e915..b7ea5c4 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/DRRSparkScheme.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/DRRSparkScheme.html
@@ -257,6 +257,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/DRSparkScheme.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/DRSparkScheme.html
index 6c24449..9b50936 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/DRSparkScheme.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/DRSparkScheme.html
@@ -50,7 +50,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DRRSparkScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/LocalDataPartitioner.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/FederatedDataPartitioner.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../../index.html?org/apache/sysds/runtime/controlprogram/paramserv/dp/DRSparkScheme.html" target="_top">Frames</a></li>
@@ -219,7 +219,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DRRSparkScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/LocalDataPartitioner.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/FederatedDataPartitioner.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../../index.html?org/apache/sysds/runtime/controlprogram/paramserv/dp/DRSparkScheme.html" target="_top">Frames</a></li>
@@ -259,6 +259,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.BalanceMetrics.html
similarity index 62%
rename from docs/api/java/org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html
rename to docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.BalanceMetrics.html
index e68b451..a8dc455 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.BalanceMetrics.html
@@ -4,15 +4,15 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>PlanningCoCoder.GroupableColInfo (SystemDS 2.1.0-SNAPSHOT API)</title>
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
+<title>DataPartitionFederatedScheme.BalanceMetrics (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
 <body>
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="PlanningCoCoder.GroupableColInfo (SystemDS 2.1.0-SNAPSHOT API)";
+            parent.document.title="DataPartitionFederatedScheme.BalanceMetrics (SystemDS 2.1.0-SNAPSHOT API)";
         }
     }
     catch(err) {
@@ -31,27 +31,27 @@
 <!--   -->
 </a>
 <ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="package-summary.html">Package</a></li>
 <li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/PlanningCoCoder.GroupableColInfo.html">Use</a></li>
+<li><a href="class-use/DataPartitionFederatedScheme.BalanceMetrics.html">Use</a></li>
 <li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
 </ul>
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.html" title="class in org.apache.sysds.runtime.compress.cocode"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.PartitionerType.html" title="enum in org.apache.sysds.runtime.compress.cocode"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.Result.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html" target="_top">Frames</a></li>
-<li><a href="PlanningCoCoder.GroupableColInfo.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.BalanceMetrics.html" target="_top">Frames</a></li>
+<li><a href="DataPartitionFederatedScheme.BalanceMetrics.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
 </ul>
 <div>
 <script type="text/javascript"><!--
@@ -86,15 +86,15 @@
 <!-- ========= END OF TOP NAVBAR ========= -->
 <!-- ======== START OF CLASS DATA ======== -->
 <div class="header">
-<div class="subTitle">org.apache.sysds.runtime.compress.cocode</div>
-<h2 title="Class PlanningCoCoder.GroupableColInfo" class="title">Class PlanningCoCoder.GroupableColInfo</h2>
+<div class="subTitle">org.apache.sysds.runtime.controlprogram.paramserv.dp</div>
+<h2 title="Class DataPartitionFederatedScheme.BalanceMetrics" class="title">Class DataPartitionFederatedScheme.BalanceMetrics</h2>
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
 <li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
-<li>org.apache.sysds.runtime.compress.cocode.PlanningCoCoder.GroupableColInfo</li>
+<li>org.apache.sysds.runtime.controlprogram.paramserv.dp.DataPartitionFederatedScheme.BalanceMetrics</li>
 </ul>
 </li>
 </ul>
@@ -103,11 +103,11 @@
 <li class="blockList">
 <dl>
 <dt>Enclosing class:</dt>
-<dd><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCoder</a></dd>
+<dd><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionFederatedScheme</a></dd>
 </dl>
 <hr>
 <br>
-<pre>public static class <span class="typeNameLabel">PlanningCoCoder.GroupableColInfo</span>
+<pre>public static final class <span class="typeNameLabel">DataPartitionFederatedScheme.BalanceMetrics</span>
 extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 </li>
 </ul>
@@ -128,16 +128,16 @@
 <th class="colLast" scope="col">Field and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>double</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html#cardRatio">cardRatio</a></span></code>&nbsp;</td>
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.BalanceMetrics.html#Z:Z_avgRows">_avgRows</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>int</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html#nrDistinct">nrDistinct</a></span></code>&nbsp;</td>
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.BalanceMetrics.html#Z:Z_maxRows">_maxRows</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>long</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html#size">size</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.BalanceMetrics.html#Z:Z_minRows">_minRows</a></span></code>&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -154,9 +154,9 @@
 <th class="colOne" scope="col">Constructor and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html#GroupableColInfo-double-long-int-">GroupableColInfo</a></span>(double&nbsp;lcardRatio,
-                long&nbsp;lsize,
-                int&nbsp;cardinality)</code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.BalanceMetrics.html#BalanceMetrics-long-long-long-">BalanceMetrics</a></span>(long&nbsp;minRows,
+              long&nbsp;avgRows,
+              long&nbsp;maxRows)</code>&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -188,31 +188,31 @@
 <!--   -->
 </a>
 <h3>Field Detail</h3>
-<a name="cardRatio">
+<a name="Z:Z_minRows">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>cardRatio</h4>
-<pre>public final&nbsp;double cardRatio</pre>
+<h4>_minRows</h4>
+<pre>public final&nbsp;long _minRows</pre>
 </li>
 </ul>
-<a name="size">
+<a name="Z:Z_avgRows">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>size</h4>
-<pre>public final&nbsp;long size</pre>
+<h4>_avgRows</h4>
+<pre>public final&nbsp;long _avgRows</pre>
 </li>
 </ul>
-<a name="nrDistinct">
+<a name="Z:Z_maxRows">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>nrDistinct</h4>
-<pre>public final&nbsp;int nrDistinct</pre>
+<h4>_maxRows</h4>
+<pre>public final&nbsp;long _maxRows</pre>
 </li>
 </ul>
 </li>
@@ -223,15 +223,15 @@
 <!--   -->
 </a>
 <h3>Constructor Detail</h3>
-<a name="GroupableColInfo-double-long-int-">
+<a name="BalanceMetrics-long-long-long-">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>GroupableColInfo</h4>
-<pre>public&nbsp;GroupableColInfo(double&nbsp;lcardRatio,
-                        long&nbsp;lsize,
-                        int&nbsp;cardinality)</pre>
+<h4>BalanceMetrics</h4>
+<pre>public&nbsp;BalanceMetrics(long&nbsp;minRows,
+                      long&nbsp;avgRows,
+                      long&nbsp;maxRows)</pre>
 </li>
 </ul>
 </li>
@@ -250,27 +250,27 @@
 <!--   -->
 </a>
 <ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="package-summary.html">Package</a></li>
 <li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/PlanningCoCoder.GroupableColInfo.html">Use</a></li>
+<li><a href="class-use/DataPartitionFederatedScheme.BalanceMetrics.html">Use</a></li>
 <li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
 </ul>
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.html" title="class in org.apache.sysds.runtime.compress.cocode"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.PartitionerType.html" title="enum in org.apache.sysds.runtime.compress.cocode"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.Result.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html" target="_top">Frames</a></li>
-<li><a href="PlanningCoCoder.GroupableColInfo.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.BalanceMetrics.html" target="_top">Frames</a></li>
+<li><a href="DataPartitionFederatedScheme.BalanceMetrics.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
 </ul>
 <div>
 <script type="text/javascript"><!--
@@ -303,6 +303,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.Result.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.Result.html
new file mode 100644
index 0000000..fd28f95
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.Result.html
@@ -0,0 +1,338 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>DataPartitionFederatedScheme.Result (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="DataPartitionFederatedScheme.Result (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/DataPartitionFederatedScheme.Result.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.BalanceMetrics.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionLocalScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.Result.html" target="_top">Frames</a></li>
+<li><a href="DataPartitionFederatedScheme.Result.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#methods.inherited.from.class.java.lang.Object">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li>Method</li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.sysds.runtime.controlprogram.paramserv.dp</div>
+<h2 title="Class DataPartitionFederatedScheme.Result" class="title">Class DataPartitionFederatedScheme.Result</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.sysds.runtime.controlprogram.paramserv.dp.DataPartitionFederatedScheme.Result</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>Enclosing class:</dt>
+<dd><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionFederatedScheme</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public static final class <span class="typeNameLabel">DataPartitionFederatedScheme.Result</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!--   -->
+</a>
+<h3>Field Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
+<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.BalanceMetrics.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionFederatedScheme.BalanceMetrics</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.Result.html#Z:Z_balanceMetrics">_balanceMetrics</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.Result.html#Z:Z_pFeatures">_pFeatures</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.Result.html#Z:Z_pLabels">_pLabels</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.Result.html#Z:Z_weightingFactors">_weightingFactors</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.Result.html#Z:Z_workerNum">_workerNum</a></span></code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.Result.html#Result-java.util.List-java.util.List-int-org.apache.sysds.runtime.controlprogram.paramserv.dp.DataPartitionFederatedScheme.BalanceMetrics-java.util.List-">Result</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&gt;&nbsp;pFeatures,
+      <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&gt;&nbsp;pLabels,
+      int&nbsp;workerNum,
+      <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.BalanceMetrics.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionFederatedScheme.BalanceMetrics</a>&nbsp;balanceMetrics,
+      <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a>&gt;&nbsp;weightingFactors)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ FIELD DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.detail">
+<!--   -->
+</a>
+<h3>Field Detail</h3>
+<a name="Z:Z_pFeatures">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>_pFeatures</h4>
+<pre>public final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&gt; _pFeatures</pre>
+</li>
+</ul>
+<a name="Z:Z_pLabels">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>_pLabels</h4>
+<pre>public final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&gt; _pLabels</pre>
+</li>
+</ul>
+<a name="Z:Z_workerNum">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>_workerNum</h4>
+<pre>public final&nbsp;int _workerNum</pre>
+</li>
+</ul>
+<a name="Z:Z_balanceMetrics">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>_balanceMetrics</h4>
+<pre>public final&nbsp;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.BalanceMetrics.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionFederatedScheme.BalanceMetrics</a> _balanceMetrics</pre>
+</li>
+</ul>
+<a name="Z:Z_weightingFactors">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>_weightingFactors</h4>
+<pre>public final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a>&gt; _weightingFactors</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="Result-java.util.List-java.util.List-int-org.apache.sysds.runtime.controlprogram.paramserv.dp.DataPartitionFederatedScheme.BalanceMetrics-java.util.List-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>Result</h4>
+<pre>public&nbsp;Result(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&gt;&nbsp;pFeatures,
+              <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&gt;&nbsp;pLabels,
+              int&nbsp;workerNum,
+              <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.BalanceMetrics.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionFederatedScheme.BalanceMetrics</a>&nbsp;balanceMetrics,
+              <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a>&gt;&nbsp;weightingFactors)</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/DataPartitionFederatedScheme.Result.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.BalanceMetrics.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionLocalScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.Result.html" target="_top">Frames</a></li>
+<li><a href="DataPartitionFederatedScheme.Result.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#methods.inherited.from.class.java.lang.Object">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li>Method</li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.html
new file mode 100644
index 0000000..6525ccd
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.html
@@ -0,0 +1,303 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>DataPartitionFederatedScheme (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="DataPartitionFederatedScheme (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/DataPartitionFederatedScheme.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionerSparkMapper.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.BalanceMetrics.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.html" target="_top">Frames</a></li>
+<li><a href="DataPartitionFederatedScheme.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.sysds.runtime.controlprogram.paramserv.dp</div>
+<h2 title="Class DataPartitionFederatedScheme" class="title">Class DataPartitionFederatedScheme</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.sysds.runtime.controlprogram.paramserv.dp.DataPartitionFederatedScheme</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>Direct Known Subclasses:</dt>
+<dd><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/BalanceToAvgFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">BalanceToAvgFederatedScheme</a>, <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/KeepDataOnWorkerFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">KeepDataOnWorkerFederatedScheme</a>, <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/ReplicateToMaxFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">ReplicateToMaxFederatedScheme</a>, <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/ShuffleFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">ShuffleFederatedScheme</a>, <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/SubsampleToMinFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">SubsampleToMinFederatedScheme</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public abstract class <span class="typeNameLabel">DataPartitionFederatedScheme</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!--   -->
+</a>
+<h3>Nested Class Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
+<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.BalanceMetrics.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionFederatedScheme.BalanceMetrics</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.Result.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionFederatedScheme.Result</a></span></code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.html#DataPartitionFederatedScheme--">DataPartitionFederatedScheme</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>abstract <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.Result.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionFederatedScheme.Result</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.html#partition-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-int-">partition</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;features,
+         <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;labels,
+         int&nbsp;seed)</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="DataPartitionFederatedScheme--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>DataPartitionFederatedScheme</h4>
+<pre>public&nbsp;DataPartitionFederatedScheme()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="partition-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-int-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>partition</h4>
+<pre>public abstract&nbsp;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.Result.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionFederatedScheme.Result</a>&nbsp;partition(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;features,
+                                                              <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;labels,
+                                                              int&nbsp;seed)</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/DataPartitionFederatedScheme.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionerSparkMapper.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.BalanceMetrics.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.html" target="_top">Frames</a></li>
+<li><a href="DataPartitionFederatedScheme.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionLocalScheme.Result.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionLocalScheme.Result.html
index dca6f1d..cce229b 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionLocalScheme.Result.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionLocalScheme.Result.html
@@ -288,6 +288,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionLocalScheme.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionLocalScheme.html
index bc47686..21140e6 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionLocalScheme.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionLocalScheme.html
@@ -49,7 +49,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionerSparkMapper.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.Result.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionLocalScheme.Result.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -253,7 +253,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionerSparkMapper.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.Result.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionLocalScheme.Result.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -294,6 +294,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionSparkScheme.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionSparkScheme.html
index dac7cf3..e486cb0 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionSparkScheme.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionSparkScheme.html
@@ -286,6 +286,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionerSparkAggregator.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionerSparkAggregator.html
index 6b60a57..c995cd7 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionerSparkAggregator.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionerSparkAggregator.html
@@ -49,7 +49,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li>Prev&nbsp;Class</li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/BalanceToAvgFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionerSparkMapper.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -263,7 +263,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li>Prev&nbsp;Class</li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/BalanceToAvgFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionerSparkMapper.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -304,6 +304,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionerSparkMapper.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionerSparkMapper.html
index bfa0740..074b916 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionerSparkMapper.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionerSparkMapper.html
@@ -50,7 +50,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionerSparkAggregator.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionLocalScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../../index.html?org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionerSparkMapper.html" target="_top">Frames</a></li>
@@ -256,7 +256,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionerSparkAggregator.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionLocalScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../../index.html?org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionerSparkMapper.html" target="_top">Frames</a></li>
@@ -296,6 +296,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/FederatedDataPartitioner.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/FederatedDataPartitioner.html
new file mode 100644
index 0000000..98cccdf
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/FederatedDataPartitioner.html
@@ -0,0 +1,276 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>FederatedDataPartitioner (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="FederatedDataPartitioner (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/FederatedDataPartitioner.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DRSparkScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/KeepDataOnWorkerFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/controlprogram/paramserv/dp/FederatedDataPartitioner.html" target="_top">Frames</a></li>
+<li><a href="FederatedDataPartitioner.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.sysds.runtime.controlprogram.paramserv.dp</div>
+<h2 title="Class FederatedDataPartitioner" class="title">Class FederatedDataPartitioner</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.sysds.runtime.controlprogram.paramserv.dp.FederatedDataPartitioner</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">FederatedDataPartitioner</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/FederatedDataPartitioner.html#FederatedDataPartitioner-org.apache.sysds.parser.Statement.FederatedPSScheme-int-">FederatedDataPartitioner</a></span>(<a href="../../../../../../../org/apache/sysds/parser/Statement.FederatedPSScheme.html" title="enum in org.apache.sysds.parser">Statement.FederatedPSScheme</a>&nbsp;scheme,
+                        int&nbsp;seed)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.Result.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionFederatedScheme.Result</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/FederatedDataPartitioner.html#doPartitioning-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-">doPartitioning</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;features,
+              <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;labels)</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="FederatedDataPartitioner-org.apache.sysds.parser.Statement.FederatedPSScheme-int-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>FederatedDataPartitioner</h4>
+<pre>public&nbsp;FederatedDataPartitioner(<a href="../../../../../../../org/apache/sysds/parser/Statement.FederatedPSScheme.html" title="enum in org.apache.sysds.parser">Statement.FederatedPSScheme</a>&nbsp;scheme,
+                                int&nbsp;seed)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="doPartitioning-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>doPartitioning</h4>
+<pre>public&nbsp;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.Result.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionFederatedScheme.Result</a>&nbsp;doPartitioning(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;features,
+                                                          <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;labels)</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/FederatedDataPartitioner.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DRSparkScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/KeepDataOnWorkerFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/controlprogram/paramserv/dp/FederatedDataPartitioner.html" target="_top">Frames</a></li>
+<li><a href="FederatedDataPartitioner.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/KeepDataOnWorkerFederatedScheme.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/KeepDataOnWorkerFederatedScheme.html
new file mode 100644
index 0000000..b37a983
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/KeepDataOnWorkerFederatedScheme.html
@@ -0,0 +1,305 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>KeepDataOnWorkerFederatedScheme (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="KeepDataOnWorkerFederatedScheme (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/KeepDataOnWorkerFederatedScheme.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/FederatedDataPartitioner.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/LocalDataPartitioner.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/controlprogram/paramserv/dp/KeepDataOnWorkerFederatedScheme.html" target="_top">Frames</a></li>
+<li><a href="KeepDataOnWorkerFederatedScheme.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.controlprogram.paramserv.dp.DataPartitionFederatedScheme">Nested</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.sysds.runtime.controlprogram.paramserv.dp</div>
+<h2 title="Class KeepDataOnWorkerFederatedScheme" class="title">Class KeepDataOnWorkerFederatedScheme</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">org.apache.sysds.runtime.controlprogram.paramserv.dp.DataPartitionFederatedScheme</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.sysds.runtime.controlprogram.paramserv.dp.KeepDataOnWorkerFederatedScheme</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">KeepDataOnWorkerFederatedScheme</span>
+extends <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionFederatedScheme</a></pre>
+<div class="block">Keep Data on Worker Federated scheme
+
+ When the parameter server runs in federated mode it cannot pull in the data which is already on the workers.
+ All entries in the federation map of the input matrix are separated into MatrixObjects and returned as a list.
+ Only supports row federated matrices atm.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!--   -->
+</a>
+<h3>Nested Class Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.sysds.runtime.controlprogram.paramserv.dp.DataPartitionFederatedScheme">
+<!--   -->
+</a>
+<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.sysds.runtime.controlprogram.paramserv.dp.<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionFederatedScheme</a></h3>
+<code><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.BalanceMetrics.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionFederatedScheme.BalanceMetrics</a>, <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.Result.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionFederatedScheme.Result</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/KeepDataOnWorkerFederatedScheme.html#KeepDataOnWorkerFederatedScheme--">KeepDataOnWorkerFederatedScheme</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.Result.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionFederatedScheme.Result</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/KeepDataOnWorkerFederatedScheme.html#partition-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-int-">partition</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;features,
+         <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;labels,
+         int&nbsp;seed)</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="KeepDataOnWorkerFederatedScheme--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>KeepDataOnWorkerFederatedScheme</h4>
+<pre>public&nbsp;KeepDataOnWorkerFederatedScheme()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="partition-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-int-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>partition</h4>
+<pre>public&nbsp;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.Result.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionFederatedScheme.Result</a>&nbsp;partition(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;features,
+                                                     <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;labels,
+                                                     int&nbsp;seed)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.html#partition-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-int-">partition</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionFederatedScheme</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/KeepDataOnWorkerFederatedScheme.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/FederatedDataPartitioner.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/LocalDataPartitioner.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/controlprogram/paramserv/dp/KeepDataOnWorkerFederatedScheme.html" target="_top">Frames</a></li>
+<li><a href="KeepDataOnWorkerFederatedScheme.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.controlprogram.paramserv.dp.DataPartitionFederatedScheme">Nested</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/LocalDataPartitioner.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/LocalDataPartitioner.html
index b8092ff..33ab1cd 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/LocalDataPartitioner.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/LocalDataPartitioner.html
@@ -49,7 +49,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DRSparkScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/KeepDataOnWorkerFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/ORLocalScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -230,7 +230,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DRSparkScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/KeepDataOnWorkerFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/ORLocalScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -271,6 +271,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/ORLocalScheme.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/ORLocalScheme.html
index 859fb33..badccd6 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/ORLocalScheme.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/ORLocalScheme.html
@@ -315,6 +315,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/ORSparkScheme.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/ORSparkScheme.html
index 1a65190..a882963 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/ORSparkScheme.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/ORSparkScheme.html
@@ -50,7 +50,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/ORLocalScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/SparkDataPartitioner.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/ReplicateToMaxFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../../index.html?org/apache/sysds/runtime/controlprogram/paramserv/dp/ORSparkScheme.html" target="_top">Frames</a></li>
@@ -217,7 +217,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/ORLocalScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/SparkDataPartitioner.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/ReplicateToMaxFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../../index.html?org/apache/sysds/runtime/controlprogram/paramserv/dp/ORSparkScheme.html" target="_top">Frames</a></li>
@@ -257,6 +257,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/ReplicateToMaxFederatedScheme.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/ReplicateToMaxFederatedScheme.html
new file mode 100644
index 0000000..e1738ba
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/ReplicateToMaxFederatedScheme.html
@@ -0,0 +1,309 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>ReplicateToMaxFederatedScheme (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="ReplicateToMaxFederatedScheme (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ReplicateToMaxFederatedScheme.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/ORSparkScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/ShuffleFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/controlprogram/paramserv/dp/ReplicateToMaxFederatedScheme.html" target="_top">Frames</a></li>
+<li><a href="ReplicateToMaxFederatedScheme.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.controlprogram.paramserv.dp.DataPartitionFederatedScheme">Nested</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.sysds.runtime.controlprogram.paramserv.dp</div>
+<h2 title="Class ReplicateToMaxFederatedScheme" class="title">Class ReplicateToMaxFederatedScheme</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">org.apache.sysds.runtime.controlprogram.paramserv.dp.DataPartitionFederatedScheme</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.sysds.runtime.controlprogram.paramserv.dp.ReplicateToMaxFederatedScheme</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">ReplicateToMaxFederatedScheme</span>
+extends <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionFederatedScheme</a></pre>
+<div class="block">Replicate to Max Federated scheme
+
+ When the parameter server runs in federated mode it cannot pull in the data which is already on the workers.
+ Therefore, a UDF is sent to manipulate the data locally. In this case the global maximum number of examples is taken
+ and the worker replicates data to match that number of examples. The generation is done by multiplying with a
+ Permutation Matrix with a global seed. These selected examples are appended to the original data.
+
+ Then all entries in the federation map of the input matrix are separated into MatrixObjects and returned as a list.
+ Only supports row federated matrices atm.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!--   -->
+</a>
+<h3>Nested Class Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.sysds.runtime.controlprogram.paramserv.dp.DataPartitionFederatedScheme">
+<!--   -->
+</a>
+<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.sysds.runtime.controlprogram.paramserv.dp.<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionFederatedScheme</a></h3>
+<code><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.BalanceMetrics.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionFederatedScheme.BalanceMetrics</a>, <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.Result.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionFederatedScheme.Result</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/ReplicateToMaxFederatedScheme.html#ReplicateToMaxFederatedScheme--">ReplicateToMaxFederatedScheme</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.Result.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionFederatedScheme.Result</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/ReplicateToMaxFederatedScheme.html#partition-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-int-">partition</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;features,
+         <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;labels,
+         int&nbsp;seed)</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="ReplicateToMaxFederatedScheme--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>ReplicateToMaxFederatedScheme</h4>
+<pre>public&nbsp;ReplicateToMaxFederatedScheme()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="partition-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-int-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>partition</h4>
+<pre>public&nbsp;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.Result.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionFederatedScheme.Result</a>&nbsp;partition(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;features,
+                                                     <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;labels,
+                                                     int&nbsp;seed)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.html#partition-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-int-">partition</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionFederatedScheme</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ReplicateToMaxFederatedScheme.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/ORSparkScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/ShuffleFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/controlprogram/paramserv/dp/ReplicateToMaxFederatedScheme.html" target="_top">Frames</a></li>
+<li><a href="ReplicateToMaxFederatedScheme.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.controlprogram.paramserv.dp.DataPartitionFederatedScheme">Nested</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/ShuffleFederatedScheme.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/ShuffleFederatedScheme.html
new file mode 100644
index 0000000..1284d47
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/ShuffleFederatedScheme.html
@@ -0,0 +1,308 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>ShuffleFederatedScheme (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="ShuffleFederatedScheme (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ShuffleFederatedScheme.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/ReplicateToMaxFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/SparkDataPartitioner.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/controlprogram/paramserv/dp/ShuffleFederatedScheme.html" target="_top">Frames</a></li>
+<li><a href="ShuffleFederatedScheme.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.controlprogram.paramserv.dp.DataPartitionFederatedScheme">Nested</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.sysds.runtime.controlprogram.paramserv.dp</div>
+<h2 title="Class ShuffleFederatedScheme" class="title">Class ShuffleFederatedScheme</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">org.apache.sysds.runtime.controlprogram.paramserv.dp.DataPartitionFederatedScheme</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.sysds.runtime.controlprogram.paramserv.dp.ShuffleFederatedScheme</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">ShuffleFederatedScheme</span>
+extends <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionFederatedScheme</a></pre>
+<div class="block">Shuffle Federated scheme
+
+ When the parameter server runs in federated mode it cannot pull in the data which is already on the workers.
+ Therefore, a UDF is sent to manipulate the data locally. In this case it is shuffled by generating a permutation
+ matrix with a global seed and doing a mat mult.
+
+ Then all entries in the federation map of the input matrix are separated into MatrixObjects and returned as a list.
+ Only supports row federated matrices atm.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!--   -->
+</a>
+<h3>Nested Class Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.sysds.runtime.controlprogram.paramserv.dp.DataPartitionFederatedScheme">
+<!--   -->
+</a>
+<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.sysds.runtime.controlprogram.paramserv.dp.<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionFederatedScheme</a></h3>
+<code><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.BalanceMetrics.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionFederatedScheme.BalanceMetrics</a>, <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.Result.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionFederatedScheme.Result</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/ShuffleFederatedScheme.html#ShuffleFederatedScheme--">ShuffleFederatedScheme</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.Result.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionFederatedScheme.Result</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/ShuffleFederatedScheme.html#partition-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-int-">partition</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;features,
+         <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;labels,
+         int&nbsp;seed)</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="ShuffleFederatedScheme--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>ShuffleFederatedScheme</h4>
+<pre>public&nbsp;ShuffleFederatedScheme()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="partition-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-int-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>partition</h4>
+<pre>public&nbsp;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.Result.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionFederatedScheme.Result</a>&nbsp;partition(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;features,
+                                                     <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;labels,
+                                                     int&nbsp;seed)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.html#partition-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-int-">partition</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionFederatedScheme</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ShuffleFederatedScheme.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/ReplicateToMaxFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/SparkDataPartitioner.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/controlprogram/paramserv/dp/ShuffleFederatedScheme.html" target="_top">Frames</a></li>
+<li><a href="ShuffleFederatedScheme.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.controlprogram.paramserv.dp.DataPartitionFederatedScheme">Nested</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/SparkDataPartitioner.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/SparkDataPartitioner.html
index dce5140..f84d635 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/SparkDataPartitioner.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/SparkDataPartitioner.html
@@ -49,8 +49,8 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/ORSparkScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li>Next&nbsp;Class</li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/ShuffleFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/SubsampleToMinFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../../index.html?org/apache/sysds/runtime/controlprogram/paramserv/dp/SparkDataPartitioner.html" target="_top">Frames</a></li>
@@ -207,8 +207,8 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/ORSparkScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li>Next&nbsp;Class</li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/ShuffleFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/SubsampleToMinFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../../index.html?org/apache/sysds/runtime/controlprogram/paramserv/dp/SparkDataPartitioner.html" target="_top">Frames</a></li>
@@ -248,6 +248,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/SubsampleToMinFederatedScheme.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/SubsampleToMinFederatedScheme.html
new file mode 100644
index 0000000..2df9021
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/SubsampleToMinFederatedScheme.html
@@ -0,0 +1,309 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>SubsampleToMinFederatedScheme (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="SubsampleToMinFederatedScheme (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/SubsampleToMinFederatedScheme.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/SparkDataPartitioner.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/controlprogram/paramserv/dp/SubsampleToMinFederatedScheme.html" target="_top">Frames</a></li>
+<li><a href="SubsampleToMinFederatedScheme.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.controlprogram.paramserv.dp.DataPartitionFederatedScheme">Nested</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.sysds.runtime.controlprogram.paramserv.dp</div>
+<h2 title="Class SubsampleToMinFederatedScheme" class="title">Class SubsampleToMinFederatedScheme</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">org.apache.sysds.runtime.controlprogram.paramserv.dp.DataPartitionFederatedScheme</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.sysds.runtime.controlprogram.paramserv.dp.SubsampleToMinFederatedScheme</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">SubsampleToMinFederatedScheme</span>
+extends <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionFederatedScheme</a></pre>
+<div class="block">Subsample to Min Federated scheme
+
+ When the parameter server runs in federated mode it cannot pull in the data which is already on the workers.
+ Therefore, a UDF is sent to manipulate the data locally. In this case the global minimum number of examples is taken
+ and the worker subsamples data to match that number of examples. The subsampling is done by multiplying with a
+ Permutation Matrix with a global seed.
+
+ Then all entries in the federation map of the input matrix are separated into MatrixObjects and returned as a list.
+ Only supports row federated matrices atm.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!--   -->
+</a>
+<h3>Nested Class Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.sysds.runtime.controlprogram.paramserv.dp.DataPartitionFederatedScheme">
+<!--   -->
+</a>
+<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.sysds.runtime.controlprogram.paramserv.dp.<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionFederatedScheme</a></h3>
+<code><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.BalanceMetrics.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionFederatedScheme.BalanceMetrics</a>, <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.Result.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionFederatedScheme.Result</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/SubsampleToMinFederatedScheme.html#SubsampleToMinFederatedScheme--">SubsampleToMinFederatedScheme</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.Result.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionFederatedScheme.Result</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/SubsampleToMinFederatedScheme.html#partition-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-int-">partition</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;features,
+         <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;labels,
+         int&nbsp;seed)</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="SubsampleToMinFederatedScheme--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>SubsampleToMinFederatedScheme</h4>
+<pre>public&nbsp;SubsampleToMinFederatedScheme()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="partition-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-int-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>partition</h4>
+<pre>public&nbsp;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.Result.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionFederatedScheme.Result</a>&nbsp;partition(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;features,
+                                                     <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;labels,
+                                                     int&nbsp;seed)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.html#partition-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-int-">partition</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionFederatedScheme</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/SubsampleToMinFederatedScheme.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/SparkDataPartitioner.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/controlprogram/paramserv/dp/SubsampleToMinFederatedScheme.html" target="_top">Frames</a></li>
+<li><a href="SubsampleToMinFederatedScheme.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.controlprogram.paramserv.dp.DataPartitionFederatedScheme">Nested</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/BalanceToAvgFederatedScheme.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/BalanceToAvgFederatedScheme.html
new file mode 100644
index 0000000..abae6c1
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/BalanceToAvgFederatedScheme.html
@@ -0,0 +1,125 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.sysds.runtime.controlprogram.paramserv.dp.BalanceToAvgFederatedScheme (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.sysds.runtime.controlprogram.paramserv.dp.BalanceToAvgFederatedScheme (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/BalanceToAvgFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../../index.html?org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/BalanceToAvgFederatedScheme.html" target="_top">Frames</a></li>
+<li><a href="BalanceToAvgFederatedScheme.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.sysds.runtime.controlprogram.paramserv.dp.BalanceToAvgFederatedScheme" class="title">Uses of Class<br>org.apache.sysds.runtime.controlprogram.paramserv.dp.BalanceToAvgFederatedScheme</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.sysds.runtime.controlprogram.paramserv.dp.BalanceToAvgFederatedScheme</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/BalanceToAvgFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../../index.html?org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/BalanceToAvgFederatedScheme.html" target="_top">Frames</a></li>
+<li><a href="BalanceToAvgFederatedScheme.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/DCLocalScheme.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/DCLocalScheme.html
index 85cf22f..d2bd05f 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/DCLocalScheme.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/DCLocalScheme.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/DCSparkScheme.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/DCSparkScheme.html
index 8ec188c..494df4b 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/DCSparkScheme.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/DCSparkScheme.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/DRLocalScheme.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/DRLocalScheme.html
index 2502869..cdb7e2b 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/DRLocalScheme.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/DRLocalScheme.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/DRRLocalScheme.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/DRRLocalScheme.html
index 9381f3e..9821287 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/DRRLocalScheme.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/DRRLocalScheme.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/DRRSparkScheme.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/DRRSparkScheme.html
index 85074e7..534e920 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/DRRSparkScheme.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/DRRSparkScheme.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/DRSparkScheme.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/DRSparkScheme.html
index 14eeeeb..50a0232 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/DRSparkScheme.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/DRSparkScheme.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/DataPartitionFederatedScheme.BalanceMetrics.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/DataPartitionFederatedScheme.BalanceMetrics.html
new file mode 100644
index 0000000..b424cf4
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/DataPartitionFederatedScheme.BalanceMetrics.html
@@ -0,0 +1,180 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.sysds.runtime.controlprogram.paramserv.dp.DataPartitionFederatedScheme.BalanceMetrics (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.sysds.runtime.controlprogram.paramserv.dp.DataPartitionFederatedScheme.BalanceMetrics (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.BalanceMetrics.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../../index.html?org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/DataPartitionFederatedScheme.BalanceMetrics.html" target="_top">Frames</a></li>
+<li><a href="DataPartitionFederatedScheme.BalanceMetrics.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.sysds.runtime.controlprogram.paramserv.dp.DataPartitionFederatedScheme.BalanceMetrics" class="title">Uses of Class<br>org.apache.sysds.runtime.controlprogram.paramserv.dp.DataPartitionFederatedScheme.BalanceMetrics</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.BalanceMetrics.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionFederatedScheme.BalanceMetrics</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.controlprogram.paramserv.dp">org.apache.sysds.runtime.controlprogram.paramserv.dp</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.sysds.runtime.controlprogram.paramserv.dp">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.BalanceMetrics.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionFederatedScheme.BalanceMetrics</a> in <a href="../../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/package-summary.html">org.apache.sysds.runtime.controlprogram.paramserv.dp</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing fields, and an explanation">
+<caption><span>Fields in <a href="../../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/package-summary.html">org.apache.sysds.runtime.controlprogram.paramserv.dp</a> declared as <a href="../../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.BalanceMetrics.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionFederatedScheme.BalanceMetrics</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.BalanceMetrics.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionFederatedScheme.BalanceMetrics</a></code></td>
+<td class="colLast"><span class="typeNameLabel">DataPartitionFederatedScheme.Result.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.Result.html#Z:Z_balanceMetrics">_balanceMetrics</a></span></code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/package-summary.html">org.apache.sysds.runtime.controlprogram.paramserv.dp</a> with parameters of type <a href="../../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.BalanceMetrics.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionFederatedScheme.BalanceMetrics</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.Result.html#Result-java.util.List-java.util.List-int-org.apache.sysds.runtime.controlprogram.paramserv.dp.DataPartitionFederatedScheme.BalanceMetrics-java.util.List-">Result</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&gt;&nbsp;pFeatures,
+      <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&gt;&nbsp;pLabels,
+      int&nbsp;workerNum,
+      <a href="../../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.BalanceMetrics.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionFederatedScheme.BalanceMetrics</a>&nbsp;balanceMetrics,
+      <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a>&gt;&nbsp;weightingFactors)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.BalanceMetrics.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../../index.html?org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/DataPartitionFederatedScheme.BalanceMetrics.html" target="_top">Frames</a></li>
+<li><a href="DataPartitionFederatedScheme.BalanceMetrics.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/DataPartitionFederatedScheme.Result.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/DataPartitionFederatedScheme.Result.html
new file mode 100644
index 0000000..2c92e66
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/DataPartitionFederatedScheme.Result.html
@@ -0,0 +1,202 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.sysds.runtime.controlprogram.paramserv.dp.DataPartitionFederatedScheme.Result (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.sysds.runtime.controlprogram.paramserv.dp.DataPartitionFederatedScheme.Result (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.Result.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../../index.html?org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/DataPartitionFederatedScheme.Result.html" target="_top">Frames</a></li>
+<li><a href="DataPartitionFederatedScheme.Result.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.sysds.runtime.controlprogram.paramserv.dp.DataPartitionFederatedScheme.Result" class="title">Uses of Class<br>org.apache.sysds.runtime.controlprogram.paramserv.dp.DataPartitionFederatedScheme.Result</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.Result.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionFederatedScheme.Result</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.controlprogram.paramserv.dp">org.apache.sysds.runtime.controlprogram.paramserv.dp</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.sysds.runtime.controlprogram.paramserv.dp">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.Result.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionFederatedScheme.Result</a> in <a href="../../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/package-summary.html">org.apache.sysds.runtime.controlprogram.paramserv.dp</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/package-summary.html">org.apache.sysds.runtime.controlprogram.paramserv.dp</a> that return <a href="../../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.Result.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionFederatedScheme.Result</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.Result.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionFederatedScheme.Result</a></code></td>
+<td class="colLast"><span class="typeNameLabel">FederatedDataPartitioner.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/FederatedDataPartitioner.html#doPartitioning-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-">doPartitioning</a></span>(<a href="../../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;features,
+              <a href="../../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;labels)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.Result.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionFederatedScheme.Result</a></code></td>
+<td class="colLast"><span class="typeNameLabel">SubsampleToMinFederatedScheme.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/SubsampleToMinFederatedScheme.html#partition-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-int-">partition</a></span>(<a href="../../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;features,
+         <a href="../../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;labels,
+         int&nbsp;seed)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.Result.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionFederatedScheme.Result</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ReplicateToMaxFederatedScheme.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/ReplicateToMaxFederatedScheme.html#partition-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-int-">partition</a></span>(<a href="../../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;features,
+         <a href="../../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;labels,
+         int&nbsp;seed)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>abstract <a href="../../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.Result.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionFederatedScheme.Result</a></code></td>
+<td class="colLast"><span class="typeNameLabel">DataPartitionFederatedScheme.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.html#partition-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-int-">partition</a></span>(<a href="../../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;features,
+         <a href="../../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;labels,
+         int&nbsp;seed)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.Result.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionFederatedScheme.Result</a></code></td>
+<td class="colLast"><span class="typeNameLabel">BalanceToAvgFederatedScheme.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/BalanceToAvgFederatedScheme.html#partition-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-int-">partition</a></span>(<a href="../../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;features,
+         <a href="../../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;labels,
+         int&nbsp;seed)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.Result.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionFederatedScheme.Result</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ShuffleFederatedScheme.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/ShuffleFederatedScheme.html#partition-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-int-">partition</a></span>(<a href="../../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;features,
+         <a href="../../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;labels,
+         int&nbsp;seed)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.Result.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionFederatedScheme.Result</a></code></td>
+<td class="colLast"><span class="typeNameLabel">KeepDataOnWorkerFederatedScheme.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/KeepDataOnWorkerFederatedScheme.html#partition-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-int-">partition</a></span>(<a href="../../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;features,
+         <a href="../../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;labels,
+         int&nbsp;seed)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.Result.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../../index.html?org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/DataPartitionFederatedScheme.Result.html" target="_top">Frames</a></li>
+<li><a href="DataPartitionFederatedScheme.Result.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/DataPartitionFederatedScheme.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/DataPartitionFederatedScheme.html
new file mode 100644
index 0000000..90eaebf
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/DataPartitionFederatedScheme.html
@@ -0,0 +1,201 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.sysds.runtime.controlprogram.paramserv.dp.DataPartitionFederatedScheme (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.sysds.runtime.controlprogram.paramserv.dp.DataPartitionFederatedScheme (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../../index.html?org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/DataPartitionFederatedScheme.html" target="_top">Frames</a></li>
+<li><a href="DataPartitionFederatedScheme.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.sysds.runtime.controlprogram.paramserv.dp.DataPartitionFederatedScheme" class="title">Uses of Class<br>org.apache.sysds.runtime.controlprogram.paramserv.dp.DataPartitionFederatedScheme</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionFederatedScheme</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.controlprogram.paramserv.dp">org.apache.sysds.runtime.controlprogram.paramserv.dp</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.sysds.runtime.controlprogram.paramserv.dp">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionFederatedScheme</a> in <a href="../../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/package-summary.html">org.apache.sysds.runtime.controlprogram.paramserv.dp</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subclasses, and an explanation">
+<caption><span>Subclasses of <a href="../../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionFederatedScheme</a> in <a href="../../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/package-summary.html">org.apache.sysds.runtime.controlprogram.paramserv.dp</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/BalanceToAvgFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">BalanceToAvgFederatedScheme</a></span></code>
+<div class="block">Balance to Avg Federated scheme
+
+ When the parameter server runs in federated mode it cannot pull in the data which is already on the workers.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/KeepDataOnWorkerFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">KeepDataOnWorkerFederatedScheme</a></span></code>
+<div class="block">Keep Data on Worker Federated scheme
+
+ When the parameter server runs in federated mode it cannot pull in the data which is already on the workers.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/ReplicateToMaxFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">ReplicateToMaxFederatedScheme</a></span></code>
+<div class="block">Replicate to Max Federated scheme
+
+ When the parameter server runs in federated mode it cannot pull in the data which is already on the workers.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/ShuffleFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">ShuffleFederatedScheme</a></span></code>
+<div class="block">Shuffle Federated scheme
+
+ When the parameter server runs in federated mode it cannot pull in the data which is already on the workers.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/SubsampleToMinFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">SubsampleToMinFederatedScheme</a></span></code>
+<div class="block">Subsample to Min Federated scheme
+
+ When the parameter server runs in federated mode it cannot pull in the data which is already on the workers.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../../index.html?org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/DataPartitionFederatedScheme.html" target="_top">Frames</a></li>
+<li><a href="DataPartitionFederatedScheme.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/DataPartitionLocalScheme.Result.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/DataPartitionLocalScheme.Result.html
index af6418e..48f6529 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/DataPartitionLocalScheme.Result.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/DataPartitionLocalScheme.Result.html
@@ -192,6 +192,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/DataPartitionLocalScheme.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/DataPartitionLocalScheme.html
index 27e0950..08142a8 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/DataPartitionLocalScheme.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/DataPartitionLocalScheme.html
@@ -192,6 +192,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/DataPartitionSparkScheme.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/DataPartitionSparkScheme.html
index 7deec9b..294f5c2 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/DataPartitionSparkScheme.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/DataPartitionSparkScheme.html
@@ -182,6 +182,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/DataPartitionerSparkAggregator.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/DataPartitionerSparkAggregator.html
index dfef30f..5c7d3be 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/DataPartitionerSparkAggregator.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/DataPartitionerSparkAggregator.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/DataPartitionerSparkMapper.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/DataPartitionerSparkMapper.html
index fe7282d..de13956 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/DataPartitionerSparkMapper.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/DataPartitionerSparkMapper.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/FederatedDataPartitioner.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/FederatedDataPartitioner.html
new file mode 100644
index 0000000..03a2e7a
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/FederatedDataPartitioner.html
@@ -0,0 +1,125 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.sysds.runtime.controlprogram.paramserv.dp.FederatedDataPartitioner (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.sysds.runtime.controlprogram.paramserv.dp.FederatedDataPartitioner (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/FederatedDataPartitioner.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../../index.html?org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/FederatedDataPartitioner.html" target="_top">Frames</a></li>
+<li><a href="FederatedDataPartitioner.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.sysds.runtime.controlprogram.paramserv.dp.FederatedDataPartitioner" class="title">Uses of Class<br>org.apache.sysds.runtime.controlprogram.paramserv.dp.FederatedDataPartitioner</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.sysds.runtime.controlprogram.paramserv.dp.FederatedDataPartitioner</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/FederatedDataPartitioner.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../../index.html?org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/FederatedDataPartitioner.html" target="_top">Frames</a></li>
+<li><a href="FederatedDataPartitioner.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/KeepDataOnWorkerFederatedScheme.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/KeepDataOnWorkerFederatedScheme.html
new file mode 100644
index 0000000..e7ea1be
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/KeepDataOnWorkerFederatedScheme.html
@@ -0,0 +1,125 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.sysds.runtime.controlprogram.paramserv.dp.KeepDataOnWorkerFederatedScheme (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.sysds.runtime.controlprogram.paramserv.dp.KeepDataOnWorkerFederatedScheme (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/KeepDataOnWorkerFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../../index.html?org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/KeepDataOnWorkerFederatedScheme.html" target="_top">Frames</a></li>
+<li><a href="KeepDataOnWorkerFederatedScheme.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.sysds.runtime.controlprogram.paramserv.dp.KeepDataOnWorkerFederatedScheme" class="title">Uses of Class<br>org.apache.sysds.runtime.controlprogram.paramserv.dp.KeepDataOnWorkerFederatedScheme</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.sysds.runtime.controlprogram.paramserv.dp.KeepDataOnWorkerFederatedScheme</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/KeepDataOnWorkerFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../../index.html?org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/KeepDataOnWorkerFederatedScheme.html" target="_top">Frames</a></li>
+<li><a href="KeepDataOnWorkerFederatedScheme.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/LocalDataPartitioner.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/LocalDataPartitioner.html
index 43bb9a8..87afa1a 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/LocalDataPartitioner.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/LocalDataPartitioner.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/ORLocalScheme.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/ORLocalScheme.html
index 2ee683b..90e9279 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/ORLocalScheme.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/ORLocalScheme.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/ORSparkScheme.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/ORSparkScheme.html
index 2125ca5..3958963 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/ORSparkScheme.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/ORSparkScheme.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/ReplicateToMaxFederatedScheme.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/ReplicateToMaxFederatedScheme.html
new file mode 100644
index 0000000..d864c61
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/ReplicateToMaxFederatedScheme.html
@@ -0,0 +1,125 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.sysds.runtime.controlprogram.paramserv.dp.ReplicateToMaxFederatedScheme (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.sysds.runtime.controlprogram.paramserv.dp.ReplicateToMaxFederatedScheme (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/ReplicateToMaxFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../../index.html?org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/ReplicateToMaxFederatedScheme.html" target="_top">Frames</a></li>
+<li><a href="ReplicateToMaxFederatedScheme.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.sysds.runtime.controlprogram.paramserv.dp.ReplicateToMaxFederatedScheme" class="title">Uses of Class<br>org.apache.sysds.runtime.controlprogram.paramserv.dp.ReplicateToMaxFederatedScheme</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.sysds.runtime.controlprogram.paramserv.dp.ReplicateToMaxFederatedScheme</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/ReplicateToMaxFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../../index.html?org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/ReplicateToMaxFederatedScheme.html" target="_top">Frames</a></li>
+<li><a href="ReplicateToMaxFederatedScheme.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/ShuffleFederatedScheme.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/ShuffleFederatedScheme.html
new file mode 100644
index 0000000..f6e0608
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/ShuffleFederatedScheme.html
@@ -0,0 +1,125 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.sysds.runtime.controlprogram.paramserv.dp.ShuffleFederatedScheme (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.sysds.runtime.controlprogram.paramserv.dp.ShuffleFederatedScheme (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/ShuffleFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../../index.html?org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/ShuffleFederatedScheme.html" target="_top">Frames</a></li>
+<li><a href="ShuffleFederatedScheme.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.sysds.runtime.controlprogram.paramserv.dp.ShuffleFederatedScheme" class="title">Uses of Class<br>org.apache.sysds.runtime.controlprogram.paramserv.dp.ShuffleFederatedScheme</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.sysds.runtime.controlprogram.paramserv.dp.ShuffleFederatedScheme</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/ShuffleFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../../index.html?org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/ShuffleFederatedScheme.html" target="_top">Frames</a></li>
+<li><a href="ShuffleFederatedScheme.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/SparkDataPartitioner.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/SparkDataPartitioner.html
index a858b25..040233f 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/SparkDataPartitioner.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/SparkDataPartitioner.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/SubsampleToMinFederatedScheme.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/SubsampleToMinFederatedScheme.html
new file mode 100644
index 0000000..7f11c5b
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/SubsampleToMinFederatedScheme.html
@@ -0,0 +1,125 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.sysds.runtime.controlprogram.paramserv.dp.SubsampleToMinFederatedScheme (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.sysds.runtime.controlprogram.paramserv.dp.SubsampleToMinFederatedScheme (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/SubsampleToMinFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../../index.html?org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/SubsampleToMinFederatedScheme.html" target="_top">Frames</a></li>
+<li><a href="SubsampleToMinFederatedScheme.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.sysds.runtime.controlprogram.paramserv.dp.SubsampleToMinFederatedScheme" class="title">Uses of Class<br>org.apache.sysds.runtime.controlprogram.paramserv.dp.SubsampleToMinFederatedScheme</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.sysds.runtime.controlprogram.paramserv.dp.SubsampleToMinFederatedScheme</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/SubsampleToMinFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../../index.html?org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/SubsampleToMinFederatedScheme.html" target="_top">Frames</a></li>
+<li><a href="SubsampleToMinFederatedScheme.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/package-frame.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/package-frame.html
index db4feec..69cccab 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/package-frame.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/package-frame.html
@@ -13,8 +13,12 @@
 <div class="indexContainer">
 <h2 title="Classes">Classes</h2>
 <ul title="Classes">
+<li><a href="BalanceToAvgFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp" target="classFrame">BalanceToAvgFederatedScheme</a></li>
 <li><a href="DataPartitionerSparkAggregator.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp" target="classFrame">DataPartitionerSparkAggregator</a></li>
 <li><a href="DataPartitionerSparkMapper.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp" target="classFrame">DataPartitionerSparkMapper</a></li>
+<li><a href="DataPartitionFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp" target="classFrame">DataPartitionFederatedScheme</a></li>
+<li><a href="DataPartitionFederatedScheme.BalanceMetrics.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp" target="classFrame">DataPartitionFederatedScheme.BalanceMetrics</a></li>
+<li><a href="DataPartitionFederatedScheme.Result.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp" target="classFrame">DataPartitionFederatedScheme.Result</a></li>
 <li><a href="DataPartitionLocalScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp" target="classFrame">DataPartitionLocalScheme</a></li>
 <li><a href="DataPartitionSparkScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp" target="classFrame">DataPartitionSparkScheme</a></li>
 <li><a href="DCLocalScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp" target="classFrame">DCLocalScheme</a></li>
@@ -23,10 +27,15 @@
 <li><a href="DRRLocalScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp" target="classFrame">DRRLocalScheme</a></li>
 <li><a href="DRRSparkScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp" target="classFrame">DRRSparkScheme</a></li>
 <li><a href="DRSparkScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp" target="classFrame">DRSparkScheme</a></li>
+<li><a href="FederatedDataPartitioner.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp" target="classFrame">FederatedDataPartitioner</a></li>
+<li><a href="KeepDataOnWorkerFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp" target="classFrame">KeepDataOnWorkerFederatedScheme</a></li>
 <li><a href="LocalDataPartitioner.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp" target="classFrame">LocalDataPartitioner</a></li>
 <li><a href="ORLocalScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp" target="classFrame">ORLocalScheme</a></li>
 <li><a href="ORSparkScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp" target="classFrame">ORSparkScheme</a></li>
+<li><a href="ReplicateToMaxFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp" target="classFrame">ReplicateToMaxFederatedScheme</a></li>
+<li><a href="ShuffleFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp" target="classFrame">ShuffleFederatedScheme</a></li>
 <li><a href="SparkDataPartitioner.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp" target="classFrame">SparkDataPartitioner</a></li>
+<li><a href="SubsampleToMinFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp" target="classFrame">SubsampleToMinFederatedScheme</a></li>
 </ul>
 </div>
 </body>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/package-summary.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/package-summary.html
index 2e702fb..4481205 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/package-summary.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/package-summary.html
@@ -83,13 +83,33 @@
 </tr>
 <tbody>
 <tr class="altColor">
+<td class="colFirst"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/BalanceToAvgFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">BalanceToAvgFederatedScheme</a></td>
+<td class="colLast">
+<div class="block">Balance to Avg Federated scheme
+
+ When the parameter server runs in federated mode it cannot pull in the data which is already on the workers.</div>
+</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionerSparkAggregator.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionerSparkAggregator</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionerSparkMapper.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionerSparkMapper</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionFederatedScheme</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.BalanceMetrics.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionFederatedScheme.BalanceMetrics</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.Result.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionFederatedScheme.Result</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
 <tr class="altColor">
 <td class="colFirst"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionLocalScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionLocalScheme</a></td>
 <td class="colLast">&nbsp;</td>
@@ -147,6 +167,18 @@
 </td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/FederatedDataPartitioner.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">FederatedDataPartitioner</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/KeepDataOnWorkerFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">KeepDataOnWorkerFederatedScheme</a></td>
+<td class="colLast">
+<div class="block">Keep Data on Worker Federated scheme
+
+ When the parameter server runs in federated mode it cannot pull in the data which is already on the workers.</div>
+</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/LocalDataPartitioner.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">LocalDataPartitioner</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
@@ -165,9 +197,33 @@
 </td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/ReplicateToMaxFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">ReplicateToMaxFederatedScheme</a></td>
+<td class="colLast">
+<div class="block">Replicate to Max Federated scheme
+
+ When the parameter server runs in federated mode it cannot pull in the data which is already on the workers.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/ShuffleFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">ShuffleFederatedScheme</a></td>
+<td class="colLast">
+<div class="block">Shuffle Federated scheme
+
+ When the parameter server runs in federated mode it cannot pull in the data which is already on the workers.</div>
+</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/SparkDataPartitioner.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">SparkDataPartitioner</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/SubsampleToMinFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">SubsampleToMinFederatedScheme</a></td>
+<td class="colLast">
+<div class="block">Subsample to Min Federated scheme
+
+ When the parameter server runs in federated mode it cannot pull in the data which is already on the workers.</div>
+</td>
+</tr>
 </tbody>
 </table>
 </li>
@@ -220,6 +276,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/package-tree.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/package-tree.html
index d27d695..4f29b07 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/package-tree.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/package-tree.html
@@ -83,6 +83,17 @@
 <ul>
 <li type="circle">org.apache.sysds.runtime.controlprogram.paramserv.dp.<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionerSparkAggregator.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">DataPartitionerSparkAggregator</span></a> (implements org.apache.spark.api.java.function.PairFunction&lt;T,K,V&gt;, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)</li>
 <li type="circle">org.apache.sysds.runtime.controlprogram.paramserv.dp.<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionerSparkMapper.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">DataPartitionerSparkMapper</span></a> (implements org.apache.spark.api.java.function.PairFlatMapFunction&lt;T,K,V&gt;, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)</li>
+<li type="circle">org.apache.sysds.runtime.controlprogram.paramserv.dp.<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">DataPartitionFederatedScheme</span></a>
+<ul>
+<li type="circle">org.apache.sysds.runtime.controlprogram.paramserv.dp.<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/BalanceToAvgFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">BalanceToAvgFederatedScheme</span></a></li>
+<li type="circle">org.apache.sysds.runtime.controlprogram.paramserv.dp.<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/KeepDataOnWorkerFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">KeepDataOnWorkerFederatedScheme</span></a></li>
+<li type="circle">org.apache.sysds.runtime.controlprogram.paramserv.dp.<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/ReplicateToMaxFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">ReplicateToMaxFederatedScheme</span></a></li>
+<li type="circle">org.apache.sysds.runtime.controlprogram.paramserv.dp.<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/ShuffleFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">ShuffleFederatedScheme</span></a></li>
+<li type="circle">org.apache.sysds.runtime.controlprogram.paramserv.dp.<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/SubsampleToMinFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">SubsampleToMinFederatedScheme</span></a></li>
+</ul>
+</li>
+<li type="circle">org.apache.sysds.runtime.controlprogram.paramserv.dp.<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.BalanceMetrics.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">DataPartitionFederatedScheme.BalanceMetrics</span></a></li>
+<li type="circle">org.apache.sysds.runtime.controlprogram.paramserv.dp.<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.Result.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">DataPartitionFederatedScheme.Result</span></a></li>
 <li type="circle">org.apache.sysds.runtime.controlprogram.paramserv.dp.<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionLocalScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">DataPartitionLocalScheme</span></a>
 <ul>
 <li type="circle">org.apache.sysds.runtime.controlprogram.paramserv.dp.<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/DCLocalScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">DCLocalScheme</span></a></li>
@@ -100,6 +111,7 @@
 <li type="circle">org.apache.sysds.runtime.controlprogram.paramserv.dp.<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/ORSparkScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">ORSparkScheme</span></a></li>
 </ul>
 </li>
+<li type="circle">org.apache.sysds.runtime.controlprogram.paramserv.dp.<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/FederatedDataPartitioner.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">FederatedDataPartitioner</span></a></li>
 <li type="circle">org.apache.sysds.runtime.controlprogram.paramserv.dp.<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/LocalDataPartitioner.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">LocalDataPartitioner</span></a></li>
 <li type="circle">org.apache.sysds.runtime.controlprogram.paramserv.dp.<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/SparkDataPartitioner.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">SparkDataPartitioner</span></a> (implements java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)</li>
 </ul>
@@ -153,6 +165,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/package-use.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/package-use.html
index 9583423..1b71903 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/package-use.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/dp/package-use.html
@@ -99,12 +99,21 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colOne"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/DataPartitionLocalScheme.html#org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionLocalScheme</a>&nbsp;</td>
+<td class="colOne"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/DataPartitionFederatedScheme.html#org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionFederatedScheme</a>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colOne"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/DataPartitionLocalScheme.Result.html#org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionLocalScheme.Result</a>&nbsp;</td>
+<td class="colOne"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/DataPartitionFederatedScheme.BalanceMetrics.html#org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionFederatedScheme.BalanceMetrics</a>&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colOne"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/DataPartitionFederatedScheme.Result.html#org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionFederatedScheme.Result</a>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/DataPartitionLocalScheme.html#org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionLocalScheme</a>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/DataPartitionLocalScheme.Result.html#org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionLocalScheme.Result</a>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/dp/class-use/DataPartitionSparkScheme.html#org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionSparkScheme</a>&nbsp;</td>
 </tr>
 </tbody>
@@ -159,6 +168,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/package-frame.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/package-frame.html
index d3dfed3..57c529b 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/package-frame.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/package-frame.html
@@ -13,6 +13,7 @@
 <div class="indexContainer">
 <h2 title="Classes">Classes</h2>
 <ul title="Classes">
+<li><a href="FederatedPSControlThread.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv" target="classFrame">FederatedPSControlThread</a></li>
 <li><a href="LocalParamServer.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv" target="classFrame">LocalParamServer</a></li>
 <li><a href="LocalPSWorker.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv" target="classFrame">LocalPSWorker</a></li>
 <li><a href="ParamServer.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv" target="classFrame">ParamServer</a></li>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/package-summary.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/package-summary.html
index 36792d6..9169751 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/package-summary.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/package-summary.html
@@ -83,36 +83,40 @@
 </tr>
 <tbody>
 <tr class="altColor">
+<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/FederatedPSControlThread.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv">FederatedPSControlThread</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/LocalParamServer.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv">LocalParamServer</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/LocalPSWorker.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv">LocalPSWorker</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/ParamServer.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv">ParamServer</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/ParamservUtils.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv">ParamservUtils</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/PSWorker.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv">PSWorker</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/SparkPSBody.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv">SparkPSBody</a></td>
 <td class="colLast">
 <div class="block">Wrapper class containing all needed for launching spark remote worker</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/SparkPSProxy.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv">SparkPSProxy</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/SparkPSWorker.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv">SparkPSWorker</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
@@ -168,6 +172,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/package-tree.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/package-tree.html
index 58ff5bf..647347e 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/package-tree.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/package-tree.html
@@ -90,6 +90,7 @@
 <li type="circle">org.apache.sysds.runtime.controlprogram.paramserv.<a href="../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/ParamservUtils.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv"><span class="typeNameLink">ParamservUtils</span></a></li>
 <li type="circle">org.apache.sysds.runtime.controlprogram.paramserv.<a href="../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/PSWorker.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv"><span class="typeNameLink">PSWorker</span></a> (implements java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
+<li type="circle">org.apache.sysds.runtime.controlprogram.paramserv.<a href="../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/FederatedPSControlThread.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv"><span class="typeNameLink">FederatedPSControlThread</span></a> (implements java.util.concurrent.<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Callable.html?is-external=true" title="class or interface in java.util.concurrent">Callable</a>&lt;V&gt;)</li>
 <li type="circle">org.apache.sysds.runtime.controlprogram.paramserv.<a href="../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/LocalPSWorker.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv"><span class="typeNameLink">LocalPSWorker</span></a> (implements java.util.concurrent.<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Callable.html?is-external=true" title="class or interface in java.util.concurrent">Callable</a>&lt;V&gt;)
 <ul>
 <li type="circle">org.apache.sysds.runtime.controlprogram.paramserv.<a href="../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/SparkPSWorker.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv"><span class="typeNameLink">SparkPSWorker</span></a> (implements org.apache.spark.api.java.function.VoidFunction&lt;T&gt;)</li>
@@ -149,6 +150,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/package-use.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/package-use.html
index 47a4b01..77a2821 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/package-use.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/package-use.html
@@ -205,6 +205,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/rpc/PSRpcCall.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/rpc/PSRpcCall.html
index 819ce72..935cd91 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/rpc/PSRpcCall.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/rpc/PSRpcCall.html
@@ -374,6 +374,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/rpc/PSRpcFactory.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/rpc/PSRpcFactory.html
index 6110804..6f7d2c4 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/rpc/PSRpcFactory.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/rpc/PSRpcFactory.html
@@ -304,6 +304,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/rpc/PSRpcHandler.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/rpc/PSRpcHandler.html
index eb45737..13e41da 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/rpc/PSRpcHandler.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/rpc/PSRpcHandler.html
@@ -270,6 +270,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/rpc/PSRpcObject.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/rpc/PSRpcObject.html
index afca8c5..be9e850 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/rpc/PSRpcObject.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/rpc/PSRpcObject.html
@@ -351,6 +351,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/rpc/PSRpcResponse.Type.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/rpc/PSRpcResponse.Type.html
index 2d6493d..ff1ebef 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/rpc/PSRpcResponse.Type.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/rpc/PSRpcResponse.Type.html
@@ -353,6 +353,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/rpc/PSRpcResponse.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/rpc/PSRpcResponse.html
index a6de301..9b9d49f 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/rpc/PSRpcResponse.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/rpc/PSRpcResponse.html
@@ -403,6 +403,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/rpc/class-use/PSRpcCall.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/rpc/class-use/PSRpcCall.html
index b794c5f..d17fdf9 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/rpc/class-use/PSRpcCall.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/rpc/class-use/PSRpcCall.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/rpc/class-use/PSRpcFactory.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/rpc/class-use/PSRpcFactory.html
index 31fac9e..24a2ddb 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/rpc/class-use/PSRpcFactory.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/rpc/class-use/PSRpcFactory.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/rpc/class-use/PSRpcHandler.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/rpc/class-use/PSRpcHandler.html
index 620170a..e3a6799 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/rpc/class-use/PSRpcHandler.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/rpc/class-use/PSRpcHandler.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/rpc/class-use/PSRpcObject.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/rpc/class-use/PSRpcObject.html
index 428b4e8..858bafd 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/rpc/class-use/PSRpcObject.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/rpc/class-use/PSRpcObject.html
@@ -164,6 +164,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/rpc/class-use/PSRpcResponse.Type.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/rpc/class-use/PSRpcResponse.Type.html
index 169057e..8532902 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/rpc/class-use/PSRpcResponse.Type.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/rpc/class-use/PSRpcResponse.Type.html
@@ -184,6 +184,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/rpc/class-use/PSRpcResponse.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/rpc/class-use/PSRpcResponse.html
index 5d4bf88..4442d88 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/rpc/class-use/PSRpcResponse.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/rpc/class-use/PSRpcResponse.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/rpc/package-summary.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/rpc/package-summary.html
index 19d90ea..e8a8793 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/rpc/package-summary.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/rpc/package-summary.html
@@ -169,6 +169,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/rpc/package-tree.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/rpc/package-tree.html
index 7c23eb1..a66aac4 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/rpc/package-tree.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/rpc/package-tree.html
@@ -156,6 +156,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/rpc/package-use.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/rpc/package-use.html
index 029e411..fdbe288 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/rpc/package-use.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/rpc/package-use.html
@@ -156,6 +156,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/CachedReuseVariables.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/CachedReuseVariables.html
index c4acebb..3dddced 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/CachedReuseVariables.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/CachedReuseVariables.html
@@ -301,6 +301,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/DataPartitioner.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/DataPartitioner.html
index 07c3c65..35f1230 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/DataPartitioner.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/DataPartitioner.html
@@ -320,6 +320,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/DataPartitionerLocal.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/DataPartitionerLocal.html
index c9b5e78..d572551 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/DataPartitionerLocal.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/DataPartitionerLocal.html
@@ -359,6 +359,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/DataPartitionerRemoteSpark.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/DataPartitionerRemoteSpark.html
index 91db7b0..44cae9a 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/DataPartitionerRemoteSpark.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/DataPartitionerRemoteSpark.html
@@ -254,6 +254,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/DataPartitionerRemoteSparkMapper.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/DataPartitionerRemoteSparkMapper.html
index 9913241..0fd3a7f 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/DataPartitionerRemoteSparkMapper.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/DataPartitionerRemoteSparkMapper.html
@@ -305,6 +305,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/DataPartitionerRemoteSparkReducer.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/DataPartitionerRemoteSparkReducer.html
index c06daba..d6c0da0 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/DataPartitionerRemoteSparkReducer.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/DataPartitionerRemoteSparkReducer.html
@@ -287,6 +287,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/LocalParWorker.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/LocalParWorker.html
index 13eba2c..bb06bee 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/LocalParWorker.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/LocalParWorker.html
@@ -328,6 +328,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/LocalTaskQueue.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/LocalTaskQueue.html
index 3a3729b..9b8655d 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/LocalTaskQueue.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/LocalTaskQueue.html
@@ -398,6 +398,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/ParForBody.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/ParForBody.html
index 7ca5b69..94b08ae 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/ParForBody.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/ParForBody.html
@@ -362,6 +362,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/ParWorker.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/ParWorker.html
index 59a6c6b..45eb249 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/ParWorker.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/ParWorker.html
@@ -346,6 +346,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/RemoteDPParForSpark.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/RemoteDPParForSpark.html
index a9feba7..8950dd4 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/RemoteDPParForSpark.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/RemoteDPParForSpark.html
@@ -293,6 +293,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/RemoteDPParForSparkWorker.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/RemoteDPParForSparkWorker.html
index 3301e12..d2cd9fe 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/RemoteDPParForSparkWorker.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/RemoteDPParForSparkWorker.html
@@ -315,6 +315,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/RemoteParForJobReturn.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/RemoteParForJobReturn.html
index d45934f..98dfbf3 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/RemoteParForJobReturn.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/RemoteParForJobReturn.html
@@ -346,6 +346,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/RemoteParForSpark.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/RemoteParForSpark.html
index b370ef9..4b2452cc 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/RemoteParForSpark.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/RemoteParForSpark.html
@@ -158,12 +158,13 @@
 </tr>
 <tr id="i0" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/controlprogram/parfor/RemoteParForJobReturn.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">RemoteParForJobReturn</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/parfor/RemoteParForSpark.html#runJob-long-java.lang.String-java.util.HashMap-java.util.List-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-java.util.ArrayList-boolean-int-boolean-">runJob</a></span>(long&nbsp;pfid,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/parfor/RemoteParForSpark.html#runJob-long-java.lang.String-java.util.HashMap-java.util.List-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-java.util.Set-java.util.List-boolean-int-boolean-">runJob</a></span>(long&nbsp;pfid,
       <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;prog,
       <a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,byte[]&gt;&nbsp;clsMap,
       <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/controlprogram/parfor/Task.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">Task</a>&gt;&nbsp;tasks,
       <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
-      <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../org/apache/sysds/parser/ParForStatementBlock.ResultVar.html" title="class in org.apache.sysds.parser">ParForStatementBlock.ResultVar</a>&gt;&nbsp;resultVars,
+      <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;brVars,
+      <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/parser/ParForStatementBlock.ResultVar.html" title="class in org.apache.sysds.parser">ParForStatementBlock.ResultVar</a>&gt;&nbsp;resultVars,
       boolean&nbsp;cpCaching,
       int&nbsp;numMappers,
       boolean&nbsp;topLevelPF)</code>&nbsp;</td>
@@ -207,7 +208,7 @@
 <!--   -->
 </a>
 <h3>Method Detail</h3>
-<a name="runJob-long-java.lang.String-java.util.HashMap-java.util.List-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-java.util.ArrayList-boolean-int-boolean-">
+<a name="runJob-long-java.lang.String-java.util.HashMap-java.util.List-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-java.util.Set-java.util.List-boolean-int-boolean-">
 <!--   -->
 </a>
 <ul class="blockListLast">
@@ -218,7 +219,8 @@
                                            <a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,byte[]&gt;&nbsp;clsMap,
                                            <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/controlprogram/parfor/Task.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">Task</a>&gt;&nbsp;tasks,
                                            <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
-                                           <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../org/apache/sysds/parser/ParForStatementBlock.ResultVar.html" title="class in org.apache.sysds.parser">ParForStatementBlock.ResultVar</a>&gt;&nbsp;resultVars,
+                                           <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;brVars,
+                                           <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/parser/ParForStatementBlock.ResultVar.html" title="class in org.apache.sysds.parser">ParForStatementBlock.ResultVar</a>&gt;&nbsp;resultVars,
                                            boolean&nbsp;cpCaching,
                                            int&nbsp;numMappers,
                                            boolean&nbsp;topLevelPF)</pre>
@@ -293,6 +295,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/RemoteParForSparkWorker.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/RemoteParForSparkWorker.html
index 1a30f6c..0ed95d6 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/RemoteParForSparkWorker.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/RemoteParForSparkWorker.html
@@ -324,6 +324,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/RemoteParForUtils.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/RemoteParForUtils.html
index c70809a..1ab919c 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/RemoteParForUtils.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/RemoteParForUtils.html
@@ -480,6 +480,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/ResultMerge.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/ResultMerge.html
index 3547b05..a2dcff9 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/ResultMerge.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/ResultMerge.html
@@ -322,6 +322,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/ResultMergeLocalAutomatic.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/ResultMergeLocalAutomatic.html
index 0992e38..e49a281 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/ResultMergeLocalAutomatic.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/ResultMergeLocalAutomatic.html
@@ -325,6 +325,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/ResultMergeLocalFile.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/ResultMergeLocalFile.html
index b6c3a7b..0ca23f5 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/ResultMergeLocalFile.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/ResultMergeLocalFile.html
@@ -369,6 +369,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/ResultMergeLocalMemory.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/ResultMergeLocalMemory.html
index 8d54bd0..0215ad9 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/ResultMergeLocalMemory.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/ResultMergeLocalMemory.html
@@ -328,6 +328,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/ResultMergeRemoteGrouping.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/ResultMergeRemoteGrouping.html
index 2c694b8..4060f4d 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/ResultMergeRemoteGrouping.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/ResultMergeRemoteGrouping.html
@@ -262,6 +262,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/ResultMergeRemoteSorting.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/ResultMergeRemoteSorting.html
index 9b0e6a7..07f71c8 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/ResultMergeRemoteSorting.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/ResultMergeRemoteSorting.html
@@ -262,6 +262,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/ResultMergeRemoteSpark.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/ResultMergeRemoteSpark.html
index 8e14899..3ac6930 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/ResultMergeRemoteSpark.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/ResultMergeRemoteSpark.html
@@ -331,6 +331,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/ResultMergeRemoteSparkWCompare.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/ResultMergeRemoteSparkWCompare.html
index c53f6f4..7a38501 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/ResultMergeRemoteSparkWCompare.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/ResultMergeRemoteSparkWCompare.html
@@ -340,6 +340,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/ResultMergeTaggedMatrixIndexes.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/ResultMergeTaggedMatrixIndexes.html
index b980a2f..deb1a43 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/ResultMergeTaggedMatrixIndexes.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/ResultMergeTaggedMatrixIndexes.html
@@ -395,6 +395,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/Task.TaskType.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/Task.TaskType.html
index f709656..e6b71dc 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/Task.TaskType.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/Task.TaskType.html
@@ -341,6 +341,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/Task.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/Task.html
index 79cd7bb..20acd53 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/Task.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/Task.html
@@ -492,6 +492,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/TaskPartitioner.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/TaskPartitioner.html
index 096542e..73202d3 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/TaskPartitioner.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/TaskPartitioner.html
@@ -286,6 +286,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/TaskPartitionerFactoring.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/TaskPartitionerFactoring.html
index 70596bc..c4011c4 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/TaskPartitionerFactoring.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/TaskPartitionerFactoring.html
@@ -339,6 +339,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/TaskPartitionerFactoringCmax.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/TaskPartitionerFactoringCmax.html
index 715ab12..621f995 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/TaskPartitionerFactoringCmax.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/TaskPartitionerFactoringCmax.html
@@ -271,6 +271,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/TaskPartitionerFactoringCmin.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/TaskPartitionerFactoringCmin.html
index 0032bb9..8acbf87 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/TaskPartitionerFactoringCmin.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/TaskPartitionerFactoringCmin.html
@@ -270,6 +270,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/TaskPartitionerFixedsize.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/TaskPartitionerFixedsize.html
index 089aa7f..62684b4 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/TaskPartitionerFixedsize.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/TaskPartitionerFixedsize.html
@@ -331,6 +331,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/TaskPartitionerNaive.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/TaskPartitionerNaive.html
index a6371e9..ee68014 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/TaskPartitionerNaive.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/TaskPartitionerNaive.html
@@ -268,6 +268,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/TaskPartitionerStatic.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/TaskPartitionerStatic.html
index 8e6c31b..4040d6c 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/TaskPartitionerStatic.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/TaskPartitionerStatic.html
@@ -270,6 +270,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/CachedReuseVariables.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/CachedReuseVariables.html
index a221990..61cd277 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/CachedReuseVariables.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/CachedReuseVariables.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/DataPartitioner.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/DataPartitioner.html
index 9bd4234..863d885 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/DataPartitioner.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/DataPartitioner.html
@@ -168,6 +168,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/DataPartitionerLocal.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/DataPartitionerLocal.html
index 7864c2d..97ceb77 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/DataPartitionerLocal.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/DataPartitionerLocal.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/DataPartitionerRemoteSpark.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/DataPartitionerRemoteSpark.html
index 280fb5a..d36143b 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/DataPartitionerRemoteSpark.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/DataPartitionerRemoteSpark.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/DataPartitionerRemoteSparkMapper.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/DataPartitionerRemoteSparkMapper.html
index cb10ac1..4c5a29b 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/DataPartitionerRemoteSparkMapper.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/DataPartitionerRemoteSparkMapper.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/DataPartitionerRemoteSparkReducer.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/DataPartitionerRemoteSparkReducer.html
index 0647a55..e95bd00 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/DataPartitionerRemoteSparkReducer.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/DataPartitionerRemoteSparkReducer.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/LocalParWorker.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/LocalParWorker.html
index e3d5e61..3cd521a 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/LocalParWorker.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/LocalParWorker.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/LocalTaskQueue.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/LocalTaskQueue.html
index 2d9d66f..3f85e09 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/LocalTaskQueue.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/LocalTaskQueue.html
@@ -187,6 +187,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/ParForBody.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/ParForBody.html
index 88cb28e..95e4c44 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/ParForBody.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/ParForBody.html
@@ -215,6 +215,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/ParWorker.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/ParWorker.html
index afc369a..186ef14 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/ParWorker.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/ParWorker.html
@@ -179,6 +179,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/RemoteDPParForSpark.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/RemoteDPParForSpark.html
index dcbd499..1eaaa3e 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/RemoteDPParForSpark.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/RemoteDPParForSpark.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/RemoteDPParForSparkWorker.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/RemoteDPParForSparkWorker.html
index dc8898d..7679aff 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/RemoteDPParForSparkWorker.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/RemoteDPParForSparkWorker.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/RemoteParForJobReturn.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/RemoteParForJobReturn.html
index 1fdb82d..42e402f 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/RemoteParForJobReturn.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/RemoteParForJobReturn.html
@@ -104,12 +104,13 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/parfor/RemoteParForJobReturn.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">RemoteParForJobReturn</a></code></td>
-<td class="colLast"><span class="typeNameLabel">RemoteParForSpark.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/parfor/RemoteParForSpark.html#runJob-long-java.lang.String-java.util.HashMap-java.util.List-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-java.util.ArrayList-boolean-int-boolean-">runJob</a></span>(long&nbsp;pfid,
+<td class="colLast"><span class="typeNameLabel">RemoteParForSpark.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/parfor/RemoteParForSpark.html#runJob-long-java.lang.String-java.util.HashMap-java.util.List-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-java.util.Set-java.util.List-boolean-int-boolean-">runJob</a></span>(long&nbsp;pfid,
       <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;prog,
       <a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,byte[]&gt;&nbsp;clsMap,
       <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/parfor/Task.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">Task</a>&gt;&nbsp;tasks,
       <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
-      <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/parser/ParForStatementBlock.ResultVar.html" title="class in org.apache.sysds.parser">ParForStatementBlock.ResultVar</a>&gt;&nbsp;resultVars,
+      <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;brVars,
+      <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/sysds/parser/ParForStatementBlock.ResultVar.html" title="class in org.apache.sysds.parser">ParForStatementBlock.ResultVar</a>&gt;&nbsp;resultVars,
       boolean&nbsp;cpCaching,
       int&nbsp;numMappers,
       boolean&nbsp;topLevelPF)</code>&nbsp;</td>
@@ -184,6 +185,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/RemoteParForSpark.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/RemoteParForSpark.html
index 95d2d8e..f23978d 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/RemoteParForSpark.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/RemoteParForSpark.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/RemoteParForSparkWorker.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/RemoteParForSparkWorker.html
index e6f7d0c..a13f307 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/RemoteParForSparkWorker.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/RemoteParForSparkWorker.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/RemoteParForUtils.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/RemoteParForUtils.html
index 797123c..9c6fd02 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/RemoteParForUtils.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/RemoteParForUtils.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/ResultMerge.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/ResultMerge.html
index 389bc8f..0794f0c 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/ResultMerge.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/ResultMerge.html
@@ -183,6 +183,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/ResultMergeLocalAutomatic.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/ResultMergeLocalAutomatic.html
index 14656dd..cb5269a 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/ResultMergeLocalAutomatic.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/ResultMergeLocalAutomatic.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/ResultMergeLocalFile.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/ResultMergeLocalFile.html
index 107efa7..df39c41 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/ResultMergeLocalFile.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/ResultMergeLocalFile.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/ResultMergeLocalMemory.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/ResultMergeLocalMemory.html
index bf74c4b..2f6a6e3 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/ResultMergeLocalMemory.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/ResultMergeLocalMemory.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/ResultMergeRemoteGrouping.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/ResultMergeRemoteGrouping.html
index d5be37d..e4f4276 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/ResultMergeRemoteGrouping.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/ResultMergeRemoteGrouping.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/ResultMergeRemoteSorting.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/ResultMergeRemoteSorting.html
index 10b5ad4..7419e61 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/ResultMergeRemoteSorting.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/ResultMergeRemoteSorting.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/ResultMergeRemoteSpark.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/ResultMergeRemoteSpark.html
index d3bc235..dbf96c1 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/ResultMergeRemoteSpark.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/ResultMergeRemoteSpark.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/ResultMergeRemoteSparkWCompare.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/ResultMergeRemoteSparkWCompare.html
index 806eb6c..a4f21ce 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/ResultMergeRemoteSparkWCompare.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/ResultMergeRemoteSparkWCompare.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/ResultMergeTaggedMatrixIndexes.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/ResultMergeTaggedMatrixIndexes.html
index ebf8199..04e9712 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/ResultMergeTaggedMatrixIndexes.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/ResultMergeTaggedMatrixIndexes.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/Task.TaskType.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/Task.TaskType.html
index 6de9d4c..69bd3c2 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/Task.TaskType.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/Task.TaskType.html
@@ -185,6 +185,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/Task.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/Task.html
index 64fcdb9..47622ba 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/Task.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/Task.html
@@ -168,12 +168,13 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/parfor/RemoteParForJobReturn.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">RemoteParForJobReturn</a></code></td>
-<td class="colLast"><span class="typeNameLabel">RemoteParForSpark.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/parfor/RemoteParForSpark.html#runJob-long-java.lang.String-java.util.HashMap-java.util.List-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-java.util.ArrayList-boolean-int-boolean-">runJob</a></span>(long&nbsp;pfid,
+<td class="colLast"><span class="typeNameLabel">RemoteParForSpark.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/parfor/RemoteParForSpark.html#runJob-long-java.lang.String-java.util.HashMap-java.util.List-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-java.util.Set-java.util.List-boolean-int-boolean-">runJob</a></span>(long&nbsp;pfid,
       <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;prog,
       <a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,byte[]&gt;&nbsp;clsMap,
       <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/parfor/Task.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">Task</a>&gt;&nbsp;tasks,
       <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
-      <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/parser/ParForStatementBlock.ResultVar.html" title="class in org.apache.sysds.parser">ParForStatementBlock.ResultVar</a>&gt;&nbsp;resultVars,
+      <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;brVars,
+      <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/sysds/parser/ParForStatementBlock.ResultVar.html" title="class in org.apache.sysds.parser">ParForStatementBlock.ResultVar</a>&gt;&nbsp;resultVars,
       boolean&nbsp;cpCaching,
       int&nbsp;numMappers,
       boolean&nbsp;topLevelPF)</code>&nbsp;</td>
@@ -248,6 +249,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/TaskPartitioner.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/TaskPartitioner.html
index 5a2f711..66ffa09 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/TaskPartitioner.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/TaskPartitioner.html
@@ -197,6 +197,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/TaskPartitionerFactoring.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/TaskPartitionerFactoring.html
index 1489c5a..175bcdd 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/TaskPartitionerFactoring.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/TaskPartitionerFactoring.html
@@ -169,6 +169,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/TaskPartitionerFactoringCmax.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/TaskPartitionerFactoringCmax.html
index 05c8430..9505200 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/TaskPartitionerFactoringCmax.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/TaskPartitionerFactoringCmax.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/TaskPartitionerFactoringCmin.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/TaskPartitionerFactoringCmin.html
index 170285b..07c2b89 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/TaskPartitionerFactoringCmin.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/TaskPartitionerFactoringCmin.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/TaskPartitionerFixedsize.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/TaskPartitionerFixedsize.html
index bb2d741..c1e590f 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/TaskPartitionerFixedsize.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/TaskPartitionerFixedsize.html
@@ -170,6 +170,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/TaskPartitionerNaive.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/TaskPartitionerNaive.html
index bcc35bc..70e2a38 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/TaskPartitionerNaive.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/TaskPartitionerNaive.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/TaskPartitionerStatic.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/TaskPartitionerStatic.html
index ba95273..6583a54 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/TaskPartitionerStatic.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/class-use/TaskPartitionerStatic.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/CostEstimator.DataFormat.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/CostEstimator.DataFormat.html
index 37a98d2..99201aa 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/CostEstimator.DataFormat.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/CostEstimator.DataFormat.html
@@ -341,6 +341,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/CostEstimator.ExcludeType.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/CostEstimator.ExcludeType.html
index 5dc3ded..8928327 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/CostEstimator.ExcludeType.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/CostEstimator.ExcludeType.html
@@ -353,6 +353,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/CostEstimator.TestMeasure.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/CostEstimator.TestMeasure.html
index 0b17c4c..055e7fb 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/CostEstimator.TestMeasure.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/CostEstimator.TestMeasure.html
@@ -341,6 +341,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/CostEstimator.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/CostEstimator.html
index ee0d796..79490d8 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/CostEstimator.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/CostEstimator.html
@@ -540,6 +540,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/CostEstimatorHops.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/CostEstimatorHops.html
index 899fc19..be503cb 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/CostEstimatorHops.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/CostEstimatorHops.html
@@ -387,6 +387,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/CostEstimatorRuntime.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/CostEstimatorRuntime.html
index 4be6a78..2fd9ec8 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/CostEstimatorRuntime.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/CostEstimatorRuntime.html
@@ -360,6 +360,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/OptNode.ExecType.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/OptNode.ExecType.html
index c86c7a7..6f29302 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/OptNode.ExecType.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/OptNode.ExecType.html
@@ -354,6 +354,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/OptNode.NodeType.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/OptNode.NodeType.html
index 905ea8e..9799078 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/OptNode.NodeType.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/OptNode.NodeType.html
@@ -426,6 +426,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/OptNode.ParamType.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/OptNode.ParamType.html
index a0a7d89..106deba 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/OptNode.ParamType.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/OptNode.ParamType.html
@@ -437,6 +437,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/OptNode.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/OptNode.html
index a30826c..0278ead 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/OptNode.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/OptNode.html
@@ -864,6 +864,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/OptNodeStatistics.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/OptNodeStatistics.html
index 3fc41e5..e25fa28 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/OptNodeStatistics.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/OptNodeStatistics.html
@@ -507,6 +507,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/OptTree.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/OptTree.html
index d327ac3..7c1636d 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/OptTree.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/OptTree.html
@@ -381,6 +381,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/OptTreeConverter.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/OptTreeConverter.html
index 6bd4ba9..9e9ff9b 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/OptTreeConverter.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/OptTreeConverter.html
@@ -571,6 +571,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/OptTreePlanChecker.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/OptTreePlanChecker.html
index de7131a..13d718c 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/OptTreePlanChecker.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/OptTreePlanChecker.html
@@ -271,6 +271,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/OptTreePlanMapping.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/OptTreePlanMapping.html
index 987cdc3..95f3f45 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/OptTreePlanMapping.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/OptTreePlanMapping.html
@@ -299,6 +299,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/OptTreePlanMappingAbstract.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/OptTreePlanMappingAbstract.html
index 499b3bc..4f8bad4 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/OptTreePlanMappingAbstract.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/OptTreePlanMappingAbstract.html
@@ -397,6 +397,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/OptTreePlanMappingRuntime.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/OptTreePlanMappingRuntime.html
index f3a4b1d..9cb3211 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/OptTreePlanMappingRuntime.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/OptTreePlanMappingRuntime.html
@@ -341,6 +341,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/OptimizationWrapper.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/OptimizationWrapper.html
index f4ea992..6e872bc 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/OptimizationWrapper.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/OptimizationWrapper.html
@@ -339,6 +339,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/Optimizer.CostModelType.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/Optimizer.CostModelType.html
index 2e1bf5c..f28f4ce 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/Optimizer.CostModelType.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/Optimizer.CostModelType.html
@@ -341,6 +341,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/Optimizer.PlanInputType.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/Optimizer.PlanInputType.html
index 75d0204..1dbd9cd 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/Optimizer.PlanInputType.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/Optimizer.PlanInputType.html
@@ -341,6 +341,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/Optimizer.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/Optimizer.html
index 2b42058..11dde64 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/Optimizer.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/Optimizer.html
@@ -352,6 +352,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/OptimizerConstrained.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/OptimizerConstrained.html
index 6613367..392f66d 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/OptimizerConstrained.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/OptimizerConstrained.html
@@ -376,6 +376,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/OptimizerHeuristic.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/OptimizerHeuristic.html
index b3a12f1..fc4cce2 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/OptimizerHeuristic.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/OptimizerHeuristic.html
@@ -376,6 +376,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/OptimizerRuleBased.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/OptimizerRuleBased.html
index c5eceda..e377f60 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/OptimizerRuleBased.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/OptimizerRuleBased.html
@@ -633,6 +633,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/ProgramRecompiler.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/ProgramRecompiler.html
index 181c5da..67d4f79 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/ProgramRecompiler.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/ProgramRecompiler.html
@@ -381,6 +381,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/class-use/CostEstimator.DataFormat.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/class-use/CostEstimator.DataFormat.html
index 1cb22ae..11105a7 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/class-use/CostEstimator.DataFormat.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/class-use/CostEstimator.DataFormat.html
@@ -215,6 +215,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/class-use/CostEstimator.ExcludeType.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/class-use/CostEstimator.ExcludeType.html
index b8e4816..73c242c 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/class-use/CostEstimator.ExcludeType.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/class-use/CostEstimator.ExcludeType.html
@@ -186,6 +186,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/class-use/CostEstimator.TestMeasure.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/class-use/CostEstimator.TestMeasure.html
index cf14ae5..503b198 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/class-use/CostEstimator.TestMeasure.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/class-use/CostEstimator.TestMeasure.html
@@ -244,6 +244,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/class-use/CostEstimator.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/class-use/CostEstimator.html
index 2562061..848aa88 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/class-use/CostEstimator.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/class-use/CostEstimator.html
@@ -205,6 +205,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/class-use/CostEstimatorHops.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/class-use/CostEstimatorHops.html
index d5de838..a8d8326 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/class-use/CostEstimatorHops.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/class-use/CostEstimatorHops.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/class-use/CostEstimatorRuntime.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/class-use/CostEstimatorRuntime.html
index dc3af89..77f7127 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/class-use/CostEstimatorRuntime.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/class-use/CostEstimatorRuntime.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/class-use/OptNode.ExecType.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/class-use/OptNode.ExecType.html
index 6960244..89ba3eb 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/class-use/OptNode.ExecType.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/class-use/OptNode.ExecType.html
@@ -202,6 +202,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/class-use/OptNode.NodeType.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/class-use/OptNode.NodeType.html
index 052843d..b2201d7 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/class-use/OptNode.NodeType.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/class-use/OptNode.NodeType.html
@@ -205,6 +205,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/class-use/OptNode.ParamType.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/class-use/OptNode.ParamType.html
index 3ba2146..bc4ceec 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/class-use/OptNode.ParamType.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/class-use/OptNode.ParamType.html
@@ -200,6 +200,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/class-use/OptNode.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/class-use/OptNode.html
index b4dabcd..6f1fc11 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/class-use/OptNode.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/class-use/OptNode.html
@@ -391,6 +391,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/class-use/OptNodeStatistics.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/class-use/OptNodeStatistics.html
index 663e098..40e359b 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/class-use/OptNodeStatistics.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/class-use/OptNodeStatistics.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/class-use/OptTree.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/class-use/OptTree.html
index d0d1bb5..d78f836 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/class-use/OptTree.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/class-use/OptTree.html
@@ -213,6 +213,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/class-use/OptTreeConverter.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/class-use/OptTreeConverter.html
index 074502c..daddcbe 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/class-use/OptTreeConverter.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/class-use/OptTreeConverter.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/class-use/OptTreePlanChecker.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/class-use/OptTreePlanChecker.html
index 8ac4674..5962512 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/class-use/OptTreePlanChecker.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/class-use/OptTreePlanChecker.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/class-use/OptTreePlanMapping.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/class-use/OptTreePlanMapping.html
index 099109a..ce1dd96 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/class-use/OptTreePlanMapping.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/class-use/OptTreePlanMapping.html
@@ -164,6 +164,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/class-use/OptTreePlanMappingAbstract.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/class-use/OptTreePlanMappingAbstract.html
index d971388..6f0c121 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/class-use/OptTreePlanMappingAbstract.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/class-use/OptTreePlanMappingAbstract.html
@@ -175,6 +175,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/class-use/OptTreePlanMappingRuntime.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/class-use/OptTreePlanMappingRuntime.html
index 36cbb53..67e3094 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/class-use/OptTreePlanMappingRuntime.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/class-use/OptTreePlanMappingRuntime.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/class-use/OptimizationWrapper.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/class-use/OptimizationWrapper.html
index 0a11492..f799474 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/class-use/OptimizationWrapper.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/class-use/OptimizationWrapper.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/class-use/Optimizer.CostModelType.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/class-use/Optimizer.CostModelType.html
index 787323e..1760606 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/class-use/Optimizer.CostModelType.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/class-use/Optimizer.CostModelType.html
@@ -181,6 +181,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/class-use/Optimizer.PlanInputType.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/class-use/Optimizer.PlanInputType.html
index b8a564a..92f57fd 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/class-use/Optimizer.PlanInputType.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/class-use/Optimizer.PlanInputType.html
@@ -217,6 +217,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/class-use/Optimizer.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/class-use/Optimizer.html
index 18ccf84..4d1b0b1 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/class-use/Optimizer.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/class-use/Optimizer.html
@@ -181,6 +181,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/class-use/OptimizerConstrained.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/class-use/OptimizerConstrained.html
index c8af43e..f5c2403 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/class-use/OptimizerConstrained.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/class-use/OptimizerConstrained.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/class-use/OptimizerHeuristic.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/class-use/OptimizerHeuristic.html
index 9651f51..4323022 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/class-use/OptimizerHeuristic.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/class-use/OptimizerHeuristic.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/class-use/OptimizerRuleBased.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/class-use/OptimizerRuleBased.html
index 748a9ed..42473b4 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/class-use/OptimizerRuleBased.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/class-use/OptimizerRuleBased.html
@@ -172,6 +172,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/class-use/ProgramRecompiler.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/class-use/ProgramRecompiler.html
index 10187f1..1a4b0a2 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/class-use/ProgramRecompiler.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/class-use/ProgramRecompiler.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/package-summary.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/package-summary.html
index a49d644..f919007 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/package-summary.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/package-summary.html
@@ -282,6 +282,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/package-tree.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/package-tree.html
index e2187c1..690985f 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/package-tree.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/package-tree.html
@@ -180,6 +180,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/package-use.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/package-use.html
index 14f3462..6ae400e 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/package-use.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/opt/package-use.html
@@ -214,6 +214,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/package-summary.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/package-summary.html
index c2bb170..fe06b92 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/package-summary.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/package-summary.html
@@ -347,6 +347,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/package-tree.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/package-tree.html
index dd8349b..039ec41 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/package-tree.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/package-tree.html
@@ -199,6 +199,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/package-use.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/package-use.html
index f8f6954..76e04fa 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/package-use.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/package-use.html
@@ -235,6 +235,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/stat/InfrastructureAnalyzer.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/stat/InfrastructureAnalyzer.html
index e571fc0..f08ce1b 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/stat/InfrastructureAnalyzer.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/stat/InfrastructureAnalyzer.html
@@ -651,6 +651,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/stat/Stat.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/stat/Stat.html
index 5925a9a..65f3efc 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/stat/Stat.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/stat/Stat.html
@@ -614,6 +614,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/stat/StatisticMonitor.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/stat/StatisticMonitor.html
index c14f156..0cd5968 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/stat/StatisticMonitor.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/stat/StatisticMonitor.html
@@ -372,6 +372,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/stat/Timing.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/stat/Timing.html
index ab65fd0..b2012cb 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/stat/Timing.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/stat/Timing.html
@@ -323,6 +323,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/stat/class-use/InfrastructureAnalyzer.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/stat/class-use/InfrastructureAnalyzer.html
index 30da92f..88df780 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/stat/class-use/InfrastructureAnalyzer.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/stat/class-use/InfrastructureAnalyzer.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/stat/class-use/Stat.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/stat/class-use/Stat.html
index eb0bf58..6dc62c6 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/stat/class-use/Stat.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/stat/class-use/Stat.html
@@ -194,6 +194,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/stat/class-use/StatisticMonitor.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/stat/class-use/StatisticMonitor.html
index fca8c4e..5781b19 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/stat/class-use/StatisticMonitor.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/stat/class-use/StatisticMonitor.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/stat/class-use/Timing.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/stat/class-use/Timing.html
index 99db157..578fff2 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/stat/class-use/Timing.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/stat/class-use/Timing.html
@@ -72,7 +72,47 @@
 <div class="header">
 <h2 title="Uses of Class org.apache.sysds.runtime.controlprogram.parfor.stat.Timing" class="title">Uses of Class<br>org.apache.sysds.runtime.controlprogram.parfor.stat.Timing</h2>
 </div>
-<div class="classUseContainer">No usage of org.apache.sysds.runtime.controlprogram.parfor.stat.Timing</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../../../org/apache/sysds/runtime/controlprogram/parfor/stat/Timing.html" title="class in org.apache.sysds.runtime.controlprogram.parfor.stat">Timing</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.utils">org.apache.sysds.utils</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.sysds.utils">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../../org/apache/sysds/runtime/controlprogram/parfor/stat/Timing.html" title="class in org.apache.sysds.runtime.controlprogram.parfor.stat">Timing</a> in <a href="../../../../../../../../org/apache/sysds/utils/package-summary.html">org.apache.sysds.utils</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../../org/apache/sysds/utils/package-summary.html">org.apache.sysds.utils</a> that return <a href="../../../../../../../../org/apache/sysds/runtime/controlprogram/parfor/stat/Timing.html" title="class in org.apache.sysds.runtime.controlprogram.parfor.stat">Timing</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../../../org/apache/sysds/runtime/controlprogram/parfor/stat/Timing.html" title="class in org.apache.sysds.runtime.controlprogram.parfor.stat">Timing</a></code></td>
+<td class="colLast"><span class="typeNameLabel">Statistics.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/utils/Statistics.html#getPSExecutionTimer--">getPSExecutionTimer</a></span>()</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
 <!--   -->
@@ -120,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/stat/package-summary.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/stat/package-summary.html
index 6130ce3..4eb2edc 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/stat/package-summary.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/stat/package-summary.html
@@ -170,6 +170,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/stat/package-tree.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/stat/package-tree.html
index 9936eb4..2f2e8e2 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/stat/package-tree.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/stat/package-tree.html
@@ -147,6 +147,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/stat/package-use.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/stat/package-use.html
index 2c501cb..547006e 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/stat/package-use.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/stat/package-use.html
@@ -86,6 +86,10 @@
 <td class="colFirst"><a href="#org.apache.sysds.runtime.controlprogram.parfor.stat">org.apache.sysds.runtime.controlprogram.parfor.stat</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.sysds.utils">org.apache.sysds.utils</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
 </tbody>
 </table>
 </li>
@@ -106,6 +110,23 @@
 </tbody>
 </table>
 </li>
+<li class="blockList"><a name="org.apache.sysds.utils">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/parfor/stat/package-summary.html">org.apache.sysds.runtime.controlprogram.parfor.stat</a> used by <a href="../../../../../../../org/apache/sysds/utils/package-summary.html">org.apache.sysds.utils</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/parfor/stat/class-use/Timing.html#org.apache.sysds.utils">Timing</a>
+<div class="block">Helper class for encapsulated time measurements.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
 </ul>
 </div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
@@ -155,6 +176,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/util/Cell.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/util/Cell.html
index 2fdc2a2..be216cf 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/util/Cell.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/util/Cell.html
@@ -340,6 +340,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/util/IDHandler.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/util/IDHandler.html
index 9671b62..952e428 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/util/IDHandler.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/util/IDHandler.html
@@ -333,6 +333,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/util/IDSequence.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/util/IDSequence.html
index 0ac2c78..3713515 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/util/IDSequence.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/util/IDSequence.html
@@ -340,6 +340,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/util/PairWritableBlock.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/util/PairWritableBlock.html
index a9ce2ae..d1df8d5 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/util/PairWritableBlock.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/util/PairWritableBlock.html
@@ -368,6 +368,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/util/PairWritableCell.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/util/PairWritableCell.html
index 672dc06..98e5e8e 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/util/PairWritableCell.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/util/PairWritableCell.html
@@ -354,6 +354,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/util/StagingFileUtils.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/util/StagingFileUtils.html
index ec0d27d..44c78de 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/util/StagingFileUtils.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/util/StagingFileUtils.html
@@ -468,6 +468,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/util/class-use/Cell.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/util/class-use/Cell.html
index d8372f0..5807144 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/util/class-use/Cell.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/util/class-use/Cell.html
@@ -174,6 +174,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/util/class-use/IDHandler.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/util/class-use/IDHandler.html
index eba071d..c16df1c 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/util/class-use/IDHandler.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/util/class-use/IDHandler.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/util/class-use/IDSequence.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/util/class-use/IDSequence.html
index c7e3aa0..b4543b2 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/util/class-use/IDSequence.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/util/class-use/IDSequence.html
@@ -165,6 +165,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/util/class-use/PairWritableBlock.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/util/class-use/PairWritableBlock.html
index b1a3f54..233908f 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/util/class-use/PairWritableBlock.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/util/class-use/PairWritableBlock.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/util/class-use/PairWritableCell.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/util/class-use/PairWritableCell.html
index 715c703..d0f5b8b 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/util/class-use/PairWritableCell.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/util/class-use/PairWritableCell.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/util/class-use/StagingFileUtils.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/util/class-use/StagingFileUtils.html
index ea55c01..5491e7b 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/util/class-use/StagingFileUtils.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/util/class-use/StagingFileUtils.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/util/package-summary.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/util/package-summary.html
index d350221..5cff5d1 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/util/package-summary.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/util/package-summary.html
@@ -172,6 +172,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/util/package-tree.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/util/package-tree.html
index 41e2393..2c55844 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/util/package-tree.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/util/package-tree.html
@@ -138,6 +138,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/util/package-use.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/util/package-use.html
index b1bac95..719ec9e 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/util/package-use.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/parfor/util/package-use.html
@@ -177,6 +177,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/data/BasicTensorBlock.html b/docs/api/java/org/apache/sysds/runtime/data/BasicTensorBlock.html
index 311079d..6e80267 100644
--- a/docs/api/java/org/apache/sysds/runtime/data/BasicTensorBlock.html
+++ b/docs/api/java/org/apache/sysds/runtime/data/BasicTensorBlock.html
@@ -937,6 +937,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/data/DataTensorBlock.html b/docs/api/java/org/apache/sysds/runtime/data/DataTensorBlock.html
index 0ca5ed2..8d9c089 100644
--- a/docs/api/java/org/apache/sysds/runtime/data/DataTensorBlock.html
+++ b/docs/api/java/org/apache/sysds/runtime/data/DataTensorBlock.html
@@ -665,6 +665,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/data/DenseBlock.Type.html b/docs/api/java/org/apache/sysds/runtime/data/DenseBlock.Type.html
index c719707..cab6d86 100644
--- a/docs/api/java/org/apache/sysds/runtime/data/DenseBlock.Type.html
+++ b/docs/api/java/org/apache/sysds/runtime/data/DenseBlock.Type.html
@@ -341,6 +341,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/data/DenseBlock.html b/docs/api/java/org/apache/sysds/runtime/data/DenseBlock.html
index 3f3599d..2acd288 100644
--- a/docs/api/java/org/apache/sysds/runtime/data/DenseBlock.html
+++ b/docs/api/java/org/apache/sysds/runtime/data/DenseBlock.html
@@ -18,8 +18,8 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6,"i8":10,"i9":10,"i10":6,"i11":10,"i12":6,"i13":6,"i14":6,"i15":6,"i16":6,"i17":6,"i18":6,"i19":6,"i20":10,"i21":10,"i22":6,"i23":6,"i24":6,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":6,"i31":10,"i32":6,"i33":6,"i34":6,"i35":6,"i36":6,"i37":6,"i38":6,"i39":10,"i40":6,"i41":10,"i42":10,"i43":10,"i44":10,"i45":6,"i46":10,"i47":6,"i48":6};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete Methods"]};
+var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":9,"i7":6,"i8":6,"i9":10,"i10":10,"i11":6,"i12":10,"i13":6,"i14":6,"i15":6,"i16":6,"i17":6,"i18":6,"i19":6,"i20":6,"i21":10,"i22":10,"i23":6,"i24":6,"i25":6,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":6,"i32":10,"i33":6,"i34":6,"i35":6,"i36":6,"i37":6,"i38":6,"i39":6,"i40":10,"i41":6,"i42":10,"i43":10,"i44":10,"i45":10,"i46":10,"i47":6,"i48":10,"i49":6,"i50":6};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
 var tableTab = "tableTab";
@@ -160,7 +160,7 @@
 </a>
 <h3>Method Summary</h3>
 <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
 <th class="colLast" scope="col">Method and Description</th>
@@ -208,56 +208,61 @@
 </td>
 </tr>
 <tr id="i6" class="altColor">
+<td class="colFirst"><code>static double</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#estimateMemory-long-long-">estimateMemory</a></span>(long&nbsp;nrows,
+              long&nbsp;ncols)</code>&nbsp;</td>
+</tr>
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code>abstract double</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#get-int:A-">get</a></span>(int[]&nbsp;ix)</code>
 <div class="block">Get the value of a given cell</div>
 </td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code>abstract double</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#get-int-int-">get</a></span>(int&nbsp;r,
    int&nbsp;c)</code>
 <div class="block">Get the value for a given row and column.</div>
 </td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#getCumODims-int-">getCumODims</a></span>(int&nbsp;i)</code>
 <div class="block">Get the ith cumulative dimensions size of the dense block, without row.</div>
 </td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i10" class="altColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#getDim-int-">getDim</a></span>(int&nbsp;i)</code>
 <div class="block">Get the ith dimensions size of the dense block.</div>
 </td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code>abstract long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#getLong-int:A-">getLong</a></span>(int[]&nbsp;ix)</code>
 <div class="block">Get the value of a given cell as long</div>
 </td>
 </tr>
-<tr id="i11" class="rowColor">
+<tr id="i12" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#getNextIndexes-int:A-">getNextIndexes</a></span>(int[]&nbsp;ix)</code>
 <div class="block">Calculates the next index array.</div>
 </td>
 </tr>
-<tr id="i12" class="altColor">
+<tr id="i13" class="rowColor">
 <td class="colFirst"><code>abstract <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#getString-int:A-">getString</a></span>(int[]&nbsp;ix)</code>
 <div class="block">Get the value of a given cell as a String</div>
 </td>
 </tr>
-<tr id="i13" class="rowColor">
+<tr id="i14" class="altColor">
 <td class="colFirst"><code>abstract void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#incr-int-int-">incr</a></span>(int&nbsp;r,
     int&nbsp;c)</code>
 <div class="block">Increments the given value for a given row and column.</div>
 </td>
 </tr>
-<tr id="i14" class="altColor">
+<tr id="i15" class="rowColor">
 <td class="colFirst"><code>abstract void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#incr-int-int-double-">incr</a></span>(int&nbsp;r,
     int&nbsp;c,
@@ -266,20 +271,20 @@
  by delta.</div>
 </td>
 </tr>
-<tr id="i15" class="rowColor">
+<tr id="i16" class="altColor">
 <td class="colFirst"><code>abstract int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#index-int-">index</a></span>(int&nbsp;r)</code>
 <div class="block">Get the block index for a given row.</div>
 </td>
 </tr>
-<tr id="i16" class="altColor">
+<tr id="i17" class="rowColor">
 <td class="colFirst"><code>abstract boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#isContiguous--">isContiguous</a></span>()</code>
 <div class="block">Indicates if the dense block has a single
  underlying block, i.e., if numBlocks==1.</div>
 </td>
 </tr>
-<tr id="i17" class="rowColor">
+<tr id="i18" class="altColor">
 <td class="colFirst"><code>abstract boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#isContiguous-int-int-">isContiguous</a></span>(int&nbsp;rl,
             int&nbsp;ru)</code>
@@ -287,45 +292,45 @@
  underlying block for the given row range.</div>
 </td>
 </tr>
-<tr id="i18" class="altColor">
+<tr id="i19" class="rowColor">
 <td class="colFirst"><code>abstract boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#isNumeric--">isNumeric</a></span>()</code>
 <div class="block">Indicates if the dense block is numeric.</div>
 </td>
 </tr>
-<tr id="i19" class="rowColor">
+<tr id="i20" class="altColor">
 <td class="colFirst"><code>abstract int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#numBlocks--">numBlocks</a></span>()</code>
 <div class="block">Get the number of allocated blocks.</div>
 </td>
 </tr>
-<tr id="i20" class="altColor">
+<tr id="i21" class="rowColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#numDims--">numDims</a></span>()</code>
 <div class="block">Get the number of dimensions.</div>
 </td>
 </tr>
-<tr id="i21" class="rowColor">
+<tr id="i22" class="altColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#numRows--">numRows</a></span>()</code>
 <div class="block">Get the number of rows.</div>
 </td>
 </tr>
-<tr id="i22" class="altColor">
+<tr id="i23" class="rowColor">
 <td class="colFirst"><code>abstract int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#pos-int-">pos</a></span>(int&nbsp;r)</code>
 <div class="block">Get the position for a given row within
  its associated block.</div>
 </td>
 </tr>
-<tr id="i23" class="rowColor">
+<tr id="i24" class="altColor">
 <td class="colFirst"><code>abstract int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#pos-int:A-">pos</a></span>(int[]&nbsp;ix)</code>
 <div class="block">Get the position for a given cell
  within the associated block.</div>
 </td>
 </tr>
-<tr id="i24" class="altColor">
+<tr id="i25" class="rowColor">
 <td class="colFirst"><code>abstract int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#pos-int-int-">pos</a></span>(int&nbsp;r,
    int&nbsp;c)</code>
@@ -333,40 +338,40 @@
  within the associated block.</div>
 </td>
 </tr>
-<tr id="i25" class="rowColor">
+<tr id="i26" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset--">reset</a></span>()</code>
 <div class="block">Resets the dense block by deleting non-zero values.</div>
 </td>
 </tr>
-<tr id="i26" class="altColor">
+<tr id="i27" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int:A-">reset</a></span>(int[]&nbsp;dims)</code>
 <div class="block">Resets the dense block by deleting non-zero values.</div>
 </td>
 </tr>
-<tr id="i27" class="rowColor">
+<tr id="i28" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int:A-double-">reset</a></span>(int[]&nbsp;dims,
      double&nbsp;v)</code>
 <div class="block">Resets the dense block by deleting non-zeros.</div>
 </td>
 </tr>
-<tr id="i28" class="altColor">
+<tr id="i29" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int-int-">reset</a></span>(int&nbsp;rlen,
      int&nbsp;clen)</code>
 <div class="block">Resets the dense block by deleting non-zeros.</div>
 </td>
 </tr>
-<tr id="i29" class="rowColor">
+<tr id="i30" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int-int:A-">reset</a></span>(int&nbsp;rlen,
      int[]&nbsp;odims)</code>
 <div class="block">Resets the dense block by deleting non-zeros.</div>
 </td>
 </tr>
-<tr id="i30" class="altColor">
+<tr id="i31" class="rowColor">
 <td class="colFirst"><code>abstract void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int-int:A-double-">reset</a></span>(int&nbsp;rlen,
      int[]&nbsp;odims,
@@ -374,7 +379,7 @@
 <div class="block">Resets the dense block by setting the given value.</div>
 </td>
 </tr>
-<tr id="i31" class="rowColor">
+<tr id="i32" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int-int-double-">reset</a></span>(int&nbsp;rlen,
      int&nbsp;clen,
@@ -382,47 +387,47 @@
 <div class="block">Resets the dense block by setting the given value.</div>
 </td>
 </tr>
-<tr id="i32" class="altColor">
+<tr id="i33" class="rowColor">
 <td class="colFirst"><code>abstract <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html" title="class in org.apache.sysds.runtime.data">DenseBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-org.apache.sysds.runtime.data.DenseBlock-">set</a></span>(<a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html" title="class in org.apache.sysds.runtime.data">DenseBlock</a>&nbsp;db)</code>
 <div class="block">Copy the given dense block.</div>
 </td>
 </tr>
-<tr id="i33" class="rowColor">
+<tr id="i34" class="altColor">
 <td class="colFirst"><code>abstract <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html" title="class in org.apache.sysds.runtime.data">DenseBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-double-">set</a></span>(double&nbsp;v)</code>
 <div class="block">Set the given value for the entire dense block (fill).</div>
 </td>
 </tr>
-<tr id="i34" class="altColor">
+<tr id="i35" class="rowColor">
 <td class="colFirst"><code>abstract <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html" title="class in org.apache.sysds.runtime.data">DenseBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-int:A-double-">set</a></span>(int[]&nbsp;ix,
    double&nbsp;v)</code>
 <div class="block">Set the specified cell to the given value.</div>
 </td>
 </tr>
-<tr id="i35" class="rowColor">
+<tr id="i36" class="altColor">
 <td class="colFirst"><code>abstract <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html" title="class in org.apache.sysds.runtime.data">DenseBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-int:A-long-">set</a></span>(int[]&nbsp;ix,
    long&nbsp;v)</code>
 <div class="block">Set the specified cell to the given value.</div>
 </td>
 </tr>
-<tr id="i36" class="altColor">
+<tr id="i37" class="rowColor">
 <td class="colFirst"><code>abstract <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html" title="class in org.apache.sysds.runtime.data">DenseBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-int:A-java.lang.String-">set</a></span>(int[]&nbsp;ix,
    <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;v)</code>
 <div class="block">Set the specified cell to the given value.</div>
 </td>
 </tr>
-<tr id="i37" class="rowColor">
+<tr id="i38" class="altColor">
 <td class="colFirst"><code>abstract <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html" title="class in org.apache.sysds.runtime.data">DenseBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-int-double:A-">set</a></span>(int&nbsp;r,
    double[]&nbsp;v)</code>
 <div class="block">Copy the given vector into the given row.</div>
 </td>
 </tr>
-<tr id="i38" class="altColor">
+<tr id="i39" class="rowColor">
 <td class="colFirst"><code>abstract <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html" title="class in org.apache.sysds.runtime.data">DenseBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-int-int-double-">set</a></span>(int&nbsp;r,
    int&nbsp;c,
@@ -430,7 +435,7 @@
 <div class="block">Set the given value for a given row and column.</div>
 </td>
 </tr>
-<tr id="i39" class="rowColor">
+<tr id="i40" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html" title="class in org.apache.sysds.runtime.data">DenseBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-int-int-int-int-org.apache.sysds.runtime.data.DenseBlock-">set</a></span>(int&nbsp;rl,
    int&nbsp;ru,
@@ -441,7 +446,7 @@
  index range.</div>
 </td>
 </tr>
-<tr id="i40" class="altColor">
+<tr id="i41" class="rowColor">
 <td class="colFirst"><code>abstract <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html" title="class in org.apache.sysds.runtime.data">DenseBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-int-int-int-int-double-">set</a></span>(int&nbsp;rl,
    int&nbsp;ru,
@@ -452,7 +457,7 @@
  dense block (fill).</div>
 </td>
 </tr>
-<tr id="i41" class="rowColor">
+<tr id="i42" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html" title="class in org.apache.sysds.runtime.data">DenseBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-int-org.apache.sysds.runtime.instructions.cp.KahanObject-">set</a></span>(int&nbsp;r,
    <a href="../../../../../org/apache/sysds/runtime/instructions/cp/KahanObject.html" title="class in org.apache.sysds.runtime.instructions.cp">KahanObject</a>&nbsp;kbuff)</code>
@@ -460,42 +465,48 @@
  into the given row.</div>
 </td>
 </tr>
-<tr id="i42" class="altColor">
+<tr id="i43" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html" title="class in org.apache.sysds.runtime.data">DenseBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-org.apache.sysds.runtime.instructions.cp.KahanObject-">set</a></span>(<a href="../../../../../org/apache/sysds/runtime/instructions/cp/KahanObject.html" title="class in org.apache.sysds.runtime.instructions.cp">KahanObject</a>&nbsp;kbuff)</code>
 <div class="block">Copy the given kahan object sum and correction.</div>
 </td>
 </tr>
-<tr id="i43" class="rowColor">
+<tr id="i44" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html" title="class in org.apache.sysds.runtime.data">DenseBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-java.lang.String-">set</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;s)</code>
 <div class="block">Set the given string for the entire dense block (fill).</div>
 </td>
 </tr>
-<tr id="i44" class="altColor">
+<tr id="i45" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#setDims-int:A-">setDims</a></span>(int[]&nbsp;dims)</code>
+<div class="block">Set the dimensions of the dense MatrixBlock.</div>
+</td>
+</tr>
+<tr id="i46" class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#size--">size</a></span>()</code>
 <div class="block">Get the length of the dense block as the product
  of all dimensions.</div>
 </td>
 </tr>
-<tr id="i45" class="rowColor">
+<tr id="i47" class="rowColor">
 <td class="colFirst"><code>abstract int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#size-int-">size</a></span>(int&nbsp;bix)</code>
 <div class="block">Get the length of the given block.</div>
 </td>
 </tr>
-<tr id="i46" class="altColor">
+<tr id="i48" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#toString--">toString</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i47" class="rowColor">
+<tr id="i49" class="rowColor">
 <td class="colFirst"><code>abstract double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#values-int-">values</a></span>(int&nbsp;r)</code>
 <div class="block">Get the allocated block for the given row.</div>
 </td>
 </tr>
-<tr id="i48" class="altColor">
+<tr id="i50" class="altColor">
 <td class="colFirst"><code>abstract double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#valuesAt-int-">valuesAt</a></span>(int&nbsp;bix)</code>
 <div class="block">Get an allocated block.</div>
@@ -667,6 +678,30 @@
 </dl>
 </li>
 </ul>
+<a name="estimateMemory-long-long-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>estimateMemory</h4>
+<pre>public static&nbsp;double&nbsp;estimateMemory(long&nbsp;nrows,
+                                    long&nbsp;ncols)</pre>
+</li>
+</ul>
+<a name="setDims-int:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setDims</h4>
+<pre>public&nbsp;void&nbsp;setDims(int[]&nbsp;dims)</pre>
+<div class="block">Set the dimensions of the dense MatrixBlock.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>dims</code> - The dimensions to set, first dimension is rows, second cols.</dd>
+</dl>
+</li>
+</ul>
 <a name="numRows--">
 <!--   -->
 </a>
@@ -1413,6 +1448,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/data/DenseBlockBool.html b/docs/api/java/org/apache/sysds/runtime/data/DenseBlockBool.html
index 2a7b9be..2f96b61 100644
--- a/docs/api/java/org/apache/sysds/runtime/data/DenseBlockBool.html
+++ b/docs/api/java/org/apache/sysds/runtime/data/DenseBlockBool.html
@@ -342,7 +342,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.data.<a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html" title="class in org.apache.sysds.runtime.data">DenseBlock</a></h3>
-<code><a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#getCumODims-int-">getCumODims</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#getDim-int-">getDim</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#getNextIndexes-int:A-">getNextIndexes</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#numDims--">numDims</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#numRows--">numRows</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset--">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int:A-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int:A-double-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int-int-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int-int:A-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int-int-double-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-int-org.apache.sysds.runtime.instructions.cp.KahanObject-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-org.apache.sysds.runtime.instructions.cp.KahanObject-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#size--">size</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#toString--">toString</a></code></li>
+<code><a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#estimateMemory-long-long-">estimateMemory</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#getCumODims-int-">getCumODims</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#getDim-int-">getDim</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#getNextIndexes-int:A-">getNextIndexes</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#numDims--">numDims</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#numRows--">numRows</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset--">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int:A-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int:A-double-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int-int-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int-int:A-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int-int-double-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-int-org.apache.sysds.runtime.instructions.cp.KahanObject-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-org.apache.sysds.runtime.instructions.cp.KahanObject-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#setDims-int:A-">setDims</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#size--">size</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#toString--">toString</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -886,6 +886,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/data/DenseBlockDRB.html b/docs/api/java/org/apache/sysds/runtime/data/DenseBlockDRB.html
index e8ac0ee..a83a015 100644
--- a/docs/api/java/org/apache/sysds/runtime/data/DenseBlockDRB.html
+++ b/docs/api/java/org/apache/sysds/runtime/data/DenseBlockDRB.html
@@ -277,7 +277,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.data.<a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html" title="class in org.apache.sysds.runtime.data">DenseBlock</a></h3>
-<code><a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#capacity--">capacity</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#get-int:A-">get</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#get-int-int-">get</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#getCumODims-int-">getCumODims</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#getDim-int-">getDim</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#getLong-int:A-">getLong</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#getNextIndexes-int:A-">getNextIndexes</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#getString-int:A-">getString</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#incr-int-int-">incr</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#incr-int-int-double-">incr</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#index-int-">index</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#isNumeric--">isNumeric</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#numDims--">numDims</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#numRows--">numRows</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset--">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int:A-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int:A-double-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int-int-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int-int:A-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int-int-double-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-org.apache.sysds.runtime.data.DenseBlock-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-int:A-double-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-int:A-long-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-int:A-java.lang.String-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-int-double:A-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-int-int-double-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-int-int-int-int-org.apache.sysds.runtime.data.DenseBlock-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-int-org.apache.sysds.runtime.instructions.cp.KahanObject-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-org.apache.sysds.runtime.instructions.cp.KahanObject-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-java.lang.String-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#size--">size</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#toString--">toString</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#values-int-">values</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#valuesAt-int-">valuesAt</a></code></li>
+<code><a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#capacity--">capacity</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#estimateMemory-long-long-">estimateMemory</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#get-int:A-">get</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#get-int-int-">get</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#getCumODims-int-">getCumODims</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#getDim-int-">getDim</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#getLong-int:A-">getLong</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#getNextIndexes-int:A-">getNextIndexes</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#getString-int:A-">getString</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#incr-int-int-">incr</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#incr-int-int-double-">incr</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#index-int-">index</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#isNumeric--">isNumeric</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#numDims--">numDims</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#numRows--">numRows</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset--">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int:A-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int:A-double-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int-int-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int-int:A-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int-int-double-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-org.apache.sysds.runtime.data.DenseBlock-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-int:A-double-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-int:A-long-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-int:A-java.lang.String-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-int-double:A-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-int-int-double-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-int-int-int-int-org.apache.sysds.runtime.data.DenseBlock-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-int-org.apache.sysds.runtime.instructions.cp.KahanObject-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-org.apache.sysds.runtime.instructions.cp.KahanObject-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-java.lang.String-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#setDims-int:A-">setDims</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#size--">size</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#toString--">toString</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#values-int-">values</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#valuesAt-int-">valuesAt</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -675,6 +675,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/data/DenseBlockFP32.html b/docs/api/java/org/apache/sysds/runtime/data/DenseBlockFP32.html
index a0ada3c..cfc5420 100644
--- a/docs/api/java/org/apache/sysds/runtime/data/DenseBlockFP32.html
+++ b/docs/api/java/org/apache/sysds/runtime/data/DenseBlockFP32.html
@@ -313,7 +313,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.data.<a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html" title="class in org.apache.sysds.runtime.data">DenseBlock</a></h3>
-<code><a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#getCumODims-int-">getCumODims</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#getDim-int-">getDim</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#getNextIndexes-int:A-">getNextIndexes</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#numDims--">numDims</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#numRows--">numRows</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset--">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int:A-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int:A-double-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int-int-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int-int:A-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int-int-double-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-int-int-int-int-org.apache.sysds.runtime.data.DenseBlock-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-int-org.apache.sysds.runtime.instructions.cp.KahanObject-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-org.apache.sysds.runtime.instructions.cp.KahanObject-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-java.lang.String-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#size--">size</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#toString--">toString</a></code></li>
+<code><a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#estimateMemory-long-long-">estimateMemory</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#getCumODims-int-">getCumODims</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#getDim-int-">getDim</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#getNextIndexes-int:A-">getNextIndexes</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#numDims--">numDims</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#numRows--">numRows</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset--">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int:A-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int:A-double-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int-int-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int-int:A-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int-int-double-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-int-int-int-int-org.apache.sysds.runtime.data.DenseBlock-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-int-org.apache.sysds.runtime.instructions.cp.KahanObject-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-org.apache.sysds.runtime.instructions.cp.KahanObject-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-java.lang.String-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#setDims-int:A-">setDims</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#size--">size</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#toString--">toString</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -778,6 +778,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/data/DenseBlockFP64.html b/docs/api/java/org/apache/sysds/runtime/data/DenseBlockFP64.html
index f4db234..79d6b99 100644
--- a/docs/api/java/org/apache/sysds/runtime/data/DenseBlockFP64.html
+++ b/docs/api/java/org/apache/sysds/runtime/data/DenseBlockFP64.html
@@ -18,8 +18,8 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var methods = {"i0":10,"i1":9,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
 var tableTab = "tableTab";
@@ -178,7 +178,7 @@
 </a>
 <h3>Method Summary</h3>
 <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
 <th class="colLast" scope="col">Method and Description</th>
@@ -190,38 +190,43 @@
 </td>
 </tr>
 <tr id="i1" class="rowColor">
+<td class="colFirst"><code>static double</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/DenseBlockFP64.html#estimateMemory-long-long-">estimateMemory</a></span>(long&nbsp;nrows,
+              long&nbsp;ncols)</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
 <td class="colFirst"><code>double</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/DenseBlockFP64.html#get-int:A-">get</a></span>(int[]&nbsp;ix)</code>
 <div class="block">Get the value of a given cell</div>
 </td>
 </tr>
-<tr id="i2" class="altColor">
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code>double</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/DenseBlockFP64.html#get-int-int-">get</a></span>(int&nbsp;r,
    int&nbsp;c)</code>
 <div class="block">Get the value for a given row and column.</div>
 </td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/DenseBlockFP64.html#getLong-int:A-">getLong</a></span>(int[]&nbsp;ix)</code>
 <div class="block">Get the value of a given cell as long</div>
 </td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/DenseBlockFP64.html#getString-int:A-">getString</a></span>(int[]&nbsp;ix)</code>
 <div class="block">Get the value of a given cell as a String</div>
 </td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/DenseBlockFP64.html#incr-int-int-">incr</a></span>(int&nbsp;r,
     int&nbsp;c)</code>
 <div class="block">Increments the given value for a given row and column.</div>
 </td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/DenseBlockFP64.html#incr-int-int-double-">incr</a></span>(int&nbsp;r,
     int&nbsp;c,
@@ -230,26 +235,26 @@
  by delta.</div>
 </td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/DenseBlockFP64.html#index-int-">index</a></span>(int&nbsp;r)</code>
 <div class="block">Get the block index for a given row.</div>
 </td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/DenseBlockFP64.html#isNumeric--">isNumeric</a></span>()</code>
 <div class="block">Indicates if the dense block is numeric.</div>
 </td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i10" class="altColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/DenseBlockFP64.html#pos-int-">pos</a></span>(int&nbsp;r)</code>
 <div class="block">Get the position for a given row within
  its associated block.</div>
 </td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/DenseBlockFP64.html#pos-int-int-">pos</a></span>(int&nbsp;r,
    int&nbsp;c)</code>
@@ -257,7 +262,7 @@
  within the associated block.</div>
 </td>
 </tr>
-<tr id="i11" class="rowColor">
+<tr id="i12" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/DenseBlockFP64.html#reset-int-int:A-double-">reset</a></span>(int&nbsp;rlen,
      int[]&nbsp;odims,
@@ -265,41 +270,41 @@
 <div class="block">Resets the dense block by setting the given value.</div>
 </td>
 </tr>
-<tr id="i12" class="altColor">
+<tr id="i13" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html" title="class in org.apache.sysds.runtime.data">DenseBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/DenseBlockFP64.html#set-org.apache.sysds.runtime.data.DenseBlock-">set</a></span>(<a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html" title="class in org.apache.sysds.runtime.data">DenseBlock</a>&nbsp;db)</code>
 <div class="block">Copy the given dense block.</div>
 </td>
 </tr>
-<tr id="i13" class="rowColor">
+<tr id="i14" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html" title="class in org.apache.sysds.runtime.data">DenseBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/DenseBlockFP64.html#set-int:A-double-">set</a></span>(int[]&nbsp;ix,
    double&nbsp;v)</code>
 <div class="block">Set the specified cell to the given value.</div>
 </td>
 </tr>
-<tr id="i14" class="altColor">
+<tr id="i15" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html" title="class in org.apache.sysds.runtime.data">DenseBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/DenseBlockFP64.html#set-int:A-long-">set</a></span>(int[]&nbsp;ix,
    long&nbsp;v)</code>
 <div class="block">Set the specified cell to the given value.</div>
 </td>
 </tr>
-<tr id="i15" class="rowColor">
+<tr id="i16" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html" title="class in org.apache.sysds.runtime.data">DenseBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/DenseBlockFP64.html#set-int:A-java.lang.String-">set</a></span>(int[]&nbsp;ix,
    <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;v)</code>
 <div class="block">Set the specified cell to the given value.</div>
 </td>
 </tr>
-<tr id="i16" class="altColor">
+<tr id="i17" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html" title="class in org.apache.sysds.runtime.data">DenseBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/DenseBlockFP64.html#set-int-double:A-">set</a></span>(int&nbsp;r,
    double[]&nbsp;v)</code>
 <div class="block">Copy the given vector into the given row.</div>
 </td>
 </tr>
-<tr id="i17" class="rowColor">
+<tr id="i18" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html" title="class in org.apache.sysds.runtime.data">DenseBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/DenseBlockFP64.html#set-int-int-double-">set</a></span>(int&nbsp;r,
    int&nbsp;c,
@@ -307,7 +312,7 @@
 <div class="block">Set the given value for a given row and column.</div>
 </td>
 </tr>
-<tr id="i18" class="altColor">
+<tr id="i19" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html" title="class in org.apache.sysds.runtime.data">DenseBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/DenseBlockFP64.html#set-int-int-int-int-org.apache.sysds.runtime.data.DenseBlock-">set</a></span>(int&nbsp;rl,
    int&nbsp;ru,
@@ -318,13 +323,13 @@
  index range.</div>
 </td>
 </tr>
-<tr id="i19" class="rowColor">
+<tr id="i20" class="altColor">
 <td class="colFirst"><code>double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/DenseBlockFP64.html#values-int-">values</a></span>(int&nbsp;r)</code>
 <div class="block">Get the allocated block for the given row.</div>
 </td>
 </tr>
-<tr id="i20" class="altColor">
+<tr id="i21" class="rowColor">
 <td class="colFirst"><code>double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/DenseBlockFP64.html#valuesAt-int-">valuesAt</a></span>(int&nbsp;bix)</code>
 <div class="block">Get an allocated block.</div>
@@ -343,7 +348,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.data.<a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html" title="class in org.apache.sysds.runtime.data">DenseBlock</a></h3>
-<code><a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#getCumODims-int-">getCumODims</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#getDim-int-">getDim</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#getNextIndexes-int:A-">getNextIndexes</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#numDims--">numDims</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#numRows--">numRows</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset--">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int:A-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int:A-double-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int-int-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int-int:A-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int-int-double-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-int-org.apache.sysds.runtime.instructions.cp.KahanObject-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-org.apache.sysds.runtime.instructions.cp.KahanObject-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-java.lang.String-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#size--">size</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#toString--">toString</a></code></li>
+<code><a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#getCumODims-int-">getCumODims</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#getDim-int-">getDim</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#getNextIndexes-int:A-">getNextIndexes</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#numDims--">numDims</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#numRows--">numRows</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset--">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int:A-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int:A-double-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int-int-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int-int:A-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int-int-double-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-int-org.apache.sysds.runtime.instructions.cp.KahanObject-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-org.apache.sysds.runtime.instructions.cp.KahanObject-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-java.lang.String-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#setDims-int:A-">setDims</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#size--">size</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#toString--">toString</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -431,6 +436,16 @@
 </dl>
 </li>
 </ul>
+<a name="estimateMemory-long-long-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>estimateMemory</h4>
+<pre>public static&nbsp;double&nbsp;estimateMemory(long&nbsp;nrows,
+                                    long&nbsp;ncols)</pre>
+</li>
+</ul>
 <a name="capacity--">
 <!--   -->
 </a>
@@ -890,6 +905,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/data/DenseBlockFactory.html b/docs/api/java/org/apache/sysds/runtime/data/DenseBlockFactory.html
index 0b9ab1d..44184ee 100644
--- a/docs/api/java/org/apache/sysds/runtime/data/DenseBlockFactory.html
+++ b/docs/api/java/org/apache/sysds/runtime/data/DenseBlockFactory.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":9,"i11":9,"i12":9,"i13":9};
+var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":9,"i11":9,"i12":9,"i13":9,"i14":9};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -209,10 +209,15 @@
                 int[]&nbsp;dims)</code>&nbsp;</td>
 </tr>
 <tr id="i12" class="altColor">
+<td class="colFirst"><code>static double</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/DenseBlockFactory.html#estimateSizeDenseInMemory-long-long-">estimateSizeDenseInMemory</a></span>(long&nbsp;nrows,
+                         long&nbsp;ncols)</code>&nbsp;</td>
+</tr>
+<tr id="i13" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.Type.html" title="enum in org.apache.sysds.runtime.data">DenseBlock.Type</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/DenseBlockFactory.html#getDenseBlockType-org.apache.sysds.runtime.data.DenseBlock-">getDenseBlockType</a></span>(<a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html" title="class in org.apache.sysds.runtime.data">DenseBlock</a>&nbsp;dblock)</code>&nbsp;</td>
 </tr>
-<tr id="i13" class="rowColor">
+<tr id="i14" class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/DenseBlockFactory.html#isDenseBlockType-org.apache.sysds.runtime.data.DenseBlock-org.apache.sysds.runtime.data.DenseBlock.Type-">isDenseBlockType</a></span>(<a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html" title="class in org.apache.sysds.runtime.data">DenseBlock</a>&nbsp;sblock,
                 <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.Type.html" title="enum in org.apache.sysds.runtime.data">DenseBlock.Type</a>&nbsp;type)</code>&nbsp;</td>
@@ -391,12 +396,22 @@
 <a name="getDenseBlockType-org.apache.sysds.runtime.data.DenseBlock-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>getDenseBlockType</h4>
 <pre>public static&nbsp;<a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.Type.html" title="enum in org.apache.sysds.runtime.data">DenseBlock.Type</a>&nbsp;getDenseBlockType(<a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html" title="class in org.apache.sysds.runtime.data">DenseBlock</a>&nbsp;dblock)</pre>
 </li>
 </ul>
+<a name="estimateSizeDenseInMemory-long-long-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>estimateSizeDenseInMemory</h4>
+<pre>public static&nbsp;double&nbsp;estimateSizeDenseInMemory(long&nbsp;nrows,
+                                               long&nbsp;ncols)</pre>
+</li>
+</ul>
 </li>
 </ul>
 </li>
@@ -466,6 +481,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/data/DenseBlockInt32.html b/docs/api/java/org/apache/sysds/runtime/data/DenseBlockInt32.html
index 09cd905..3d003c5 100644
--- a/docs/api/java/org/apache/sysds/runtime/data/DenseBlockInt32.html
+++ b/docs/api/java/org/apache/sysds/runtime/data/DenseBlockInt32.html
@@ -313,7 +313,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.data.<a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html" title="class in org.apache.sysds.runtime.data">DenseBlock</a></h3>
-<code><a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#getCumODims-int-">getCumODims</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#getDim-int-">getDim</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#getNextIndexes-int:A-">getNextIndexes</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#numDims--">numDims</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#numRows--">numRows</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset--">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int:A-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int:A-double-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int-int-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int-int:A-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int-int-double-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-int-int-int-int-org.apache.sysds.runtime.data.DenseBlock-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-int-org.apache.sysds.runtime.instructions.cp.KahanObject-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-org.apache.sysds.runtime.instructions.cp.KahanObject-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-java.lang.String-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#size--">size</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#toString--">toString</a></code></li>
+<code><a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#estimateMemory-long-long-">estimateMemory</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#getCumODims-int-">getCumODims</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#getDim-int-">getDim</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#getNextIndexes-int:A-">getNextIndexes</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#numDims--">numDims</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#numRows--">numRows</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset--">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int:A-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int:A-double-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int-int-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int-int:A-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int-int-double-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-int-int-int-int-org.apache.sysds.runtime.data.DenseBlock-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-int-org.apache.sysds.runtime.instructions.cp.KahanObject-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-org.apache.sysds.runtime.instructions.cp.KahanObject-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-java.lang.String-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#setDims-int:A-">setDims</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#size--">size</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#toString--">toString</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -778,6 +778,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/data/DenseBlockInt64.html b/docs/api/java/org/apache/sysds/runtime/data/DenseBlockInt64.html
index 5ebdb50..25b4650 100644
--- a/docs/api/java/org/apache/sysds/runtime/data/DenseBlockInt64.html
+++ b/docs/api/java/org/apache/sysds/runtime/data/DenseBlockInt64.html
@@ -313,7 +313,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.data.<a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html" title="class in org.apache.sysds.runtime.data">DenseBlock</a></h3>
-<code><a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#getCumODims-int-">getCumODims</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#getDim-int-">getDim</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#getNextIndexes-int:A-">getNextIndexes</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#numDims--">numDims</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#numRows--">numRows</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset--">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int:A-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int:A-double-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int-int-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int-int:A-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int-int-double-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-int-int-int-int-org.apache.sysds.runtime.data.DenseBlock-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-int-org.apache.sysds.runtime.instructions.cp.KahanObject-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-org.apache.sysds.runtime.instructions.cp.KahanObject-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-java.lang.String-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#size--">size</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#toString--">toString</a></code></li>
+<code><a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#estimateMemory-long-long-">estimateMemory</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#getCumODims-int-">getCumODims</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#getDim-int-">getDim</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#getNextIndexes-int:A-">getNextIndexes</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#numDims--">numDims</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#numRows--">numRows</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset--">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int:A-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int:A-double-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int-int-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int-int:A-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int-int-double-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-int-int-int-int-org.apache.sysds.runtime.data.DenseBlock-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-int-org.apache.sysds.runtime.instructions.cp.KahanObject-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-org.apache.sysds.runtime.instructions.cp.KahanObject-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-java.lang.String-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#setDims-int:A-">setDims</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#size--">size</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#toString--">toString</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -778,6 +778,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/data/DenseBlockLBool.html b/docs/api/java/org/apache/sysds/runtime/data/DenseBlockLBool.html
index 427d680..4458583 100644
--- a/docs/api/java/org/apache/sysds/runtime/data/DenseBlockLBool.html
+++ b/docs/api/java/org/apache/sysds/runtime/data/DenseBlockLBool.html
@@ -313,7 +313,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.data.<a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html" title="class in org.apache.sysds.runtime.data">DenseBlock</a></h3>
-<code><a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#getCumODims-int-">getCumODims</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#getDim-int-">getDim</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#getNextIndexes-int:A-">getNextIndexes</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#numDims--">numDims</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#numRows--">numRows</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset--">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int:A-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int:A-double-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int-int-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int-int:A-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int-int-double-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-int-int-int-int-org.apache.sysds.runtime.data.DenseBlock-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-int-org.apache.sysds.runtime.instructions.cp.KahanObject-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-org.apache.sysds.runtime.instructions.cp.KahanObject-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#size--">size</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#toString--">toString</a></code></li>
+<code><a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#estimateMemory-long-long-">estimateMemory</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#getCumODims-int-">getCumODims</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#getDim-int-">getDim</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#getNextIndexes-int:A-">getNextIndexes</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#numDims--">numDims</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#numRows--">numRows</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset--">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int:A-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int:A-double-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int-int-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int-int:A-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int-int-double-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-int-int-int-int-org.apache.sysds.runtime.data.DenseBlock-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-int-org.apache.sysds.runtime.instructions.cp.KahanObject-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-org.apache.sysds.runtime.instructions.cp.KahanObject-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#setDims-int:A-">setDims</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#size--">size</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#toString--">toString</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -776,6 +776,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/data/DenseBlockLDRB.html b/docs/api/java/org/apache/sysds/runtime/data/DenseBlockLDRB.html
index 9868ce3..c1ab740 100644
--- a/docs/api/java/org/apache/sysds/runtime/data/DenseBlockLDRB.html
+++ b/docs/api/java/org/apache/sysds/runtime/data/DenseBlockLDRB.html
@@ -285,7 +285,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.data.<a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html" title="class in org.apache.sysds.runtime.data">DenseBlock</a></h3>
-<code><a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#capacity--">capacity</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#get-int:A-">get</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#get-int-int-">get</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#getCumODims-int-">getCumODims</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#getDim-int-">getDim</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#getLong-int:A-">getLong</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#getNextIndexes-int:A-">getNextIndexes</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#getString-int:A-">getString</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#incr-int-int-">incr</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#incr-int-int-double-">incr</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#isContiguous--">isContiguous</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#isNumeric--">isNumeric</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#numBlocks--">numBlocks</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#numDims--">numDims</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#numRows--">numRows</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset--">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int:A-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int:A-double-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int-int-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int-int:A-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int-int-double-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-int:A-double-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-int:A-long-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-int:A-java.lang.String-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-int-int-double-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-int-int-int-int-org.apache.sysds.runtime.data.DenseBlock-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-int-org.apache.sysds.runtime.instructions.cp.KahanObject-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-org.apache.sysds.runtime.instructions.cp.KahanObject-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-java.lang.String-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#size--">size</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#toString--">toString</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#values-int-">values</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#valuesAt-int-">valuesAt</a></code></li>
+<code><a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#capacity--">capacity</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#estimateMemory-long-long-">estimateMemory</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#get-int:A-">get</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#get-int-int-">get</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#getCumODims-int-">getCumODims</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#getDim-int-">getDim</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#getLong-int:A-">getLong</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#getNextIndexes-int:A-">getNextIndexes</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#getString-int:A-">getString</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#incr-int-int-">incr</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#incr-int-int-double-">incr</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#isContiguous--">isContiguous</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#isNumeric--">isNumeric</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#numBlocks--">numBlocks</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#numDims--">numDims</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#numRows--">numRows</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset--">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int:A-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int:A-double-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int-int-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int-int:A-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int-int-double-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-int:A-double-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-int:A-long-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-int:A-java.lang.String-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-int-int-double-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-int-int-int-int-org.apache.sysds.runtime.data.DenseBlock-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-int-org.apache.sysds.runtime.instructions.cp.KahanObject-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-org.apache.sysds.runtime.instructions.cp.KahanObject-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-java.lang.String-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#setDims-int:A-">setDims</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#size--">size</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#toString--">toString</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#values-int-">values</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#valuesAt-int-">valuesAt</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -707,6 +707,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/data/DenseBlockLFP32.html b/docs/api/java/org/apache/sysds/runtime/data/DenseBlockLFP32.html
index 5c81133..4026a00 100644
--- a/docs/api/java/org/apache/sysds/runtime/data/DenseBlockLFP32.html
+++ b/docs/api/java/org/apache/sysds/runtime/data/DenseBlockLFP32.html
@@ -299,7 +299,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.data.<a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html" title="class in org.apache.sysds.runtime.data">DenseBlock</a></h3>
-<code><a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#getCumODims-int-">getCumODims</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#getDim-int-">getDim</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#getNextIndexes-int:A-">getNextIndexes</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#numDims--">numDims</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#numRows--">numRows</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset--">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int:A-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int:A-double-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int-int-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int-int:A-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int-int-double-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-int-int-int-int-org.apache.sysds.runtime.data.DenseBlock-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-int-org.apache.sysds.runtime.instructions.cp.KahanObject-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-org.apache.sysds.runtime.instructions.cp.KahanObject-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-java.lang.String-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#size--">size</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#toString--">toString</a></code></li>
+<code><a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#estimateMemory-long-long-">estimateMemory</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#getCumODims-int-">getCumODims</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#getDim-int-">getDim</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#getNextIndexes-int:A-">getNextIndexes</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#numDims--">numDims</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#numRows--">numRows</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset--">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int:A-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int:A-double-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int-int-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int-int:A-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int-int-double-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-int-int-int-int-org.apache.sysds.runtime.data.DenseBlock-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-int-org.apache.sysds.runtime.instructions.cp.KahanObject-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-org.apache.sysds.runtime.instructions.cp.KahanObject-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-java.lang.String-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#setDims-int:A-">setDims</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#size--">size</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#toString--">toString</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -721,6 +721,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/data/DenseBlockLFP64.html b/docs/api/java/org/apache/sysds/runtime/data/DenseBlockLFP64.html
index d633b9f..d04964c 100644
--- a/docs/api/java/org/apache/sysds/runtime/data/DenseBlockLFP64.html
+++ b/docs/api/java/org/apache/sysds/runtime/data/DenseBlockLFP64.html
@@ -299,7 +299,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.data.<a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html" title="class in org.apache.sysds.runtime.data">DenseBlock</a></h3>
-<code><a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#getCumODims-int-">getCumODims</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#getDim-int-">getDim</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#getNextIndexes-int:A-">getNextIndexes</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#numDims--">numDims</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#numRows--">numRows</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset--">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int:A-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int:A-double-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int-int-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int-int:A-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int-int-double-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-int-int-int-int-org.apache.sysds.runtime.data.DenseBlock-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-int-org.apache.sysds.runtime.instructions.cp.KahanObject-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-org.apache.sysds.runtime.instructions.cp.KahanObject-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-java.lang.String-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#size--">size</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#toString--">toString</a></code></li>
+<code><a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#estimateMemory-long-long-">estimateMemory</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#getCumODims-int-">getCumODims</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#getDim-int-">getDim</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#getNextIndexes-int:A-">getNextIndexes</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#numDims--">numDims</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#numRows--">numRows</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset--">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int:A-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int:A-double-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int-int-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int-int:A-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int-int-double-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-int-int-int-int-org.apache.sysds.runtime.data.DenseBlock-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-int-org.apache.sysds.runtime.instructions.cp.KahanObject-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-org.apache.sysds.runtime.instructions.cp.KahanObject-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-java.lang.String-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#setDims-int:A-">setDims</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#size--">size</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#toString--">toString</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -721,6 +721,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/data/DenseBlockLInt32.html b/docs/api/java/org/apache/sysds/runtime/data/DenseBlockLInt32.html
index 3ebc0cc..35f3300 100644
--- a/docs/api/java/org/apache/sysds/runtime/data/DenseBlockLInt32.html
+++ b/docs/api/java/org/apache/sysds/runtime/data/DenseBlockLInt32.html
@@ -299,7 +299,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.data.<a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html" title="class in org.apache.sysds.runtime.data">DenseBlock</a></h3>
-<code><a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#getCumODims-int-">getCumODims</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#getDim-int-">getDim</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#getNextIndexes-int:A-">getNextIndexes</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#numDims--">numDims</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#numRows--">numRows</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset--">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int:A-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int:A-double-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int-int-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int-int:A-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int-int-double-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-int-int-int-int-org.apache.sysds.runtime.data.DenseBlock-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-int-org.apache.sysds.runtime.instructions.cp.KahanObject-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-org.apache.sysds.runtime.instructions.cp.KahanObject-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-java.lang.String-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#size--">size</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#toString--">toString</a></code></li>
+<code><a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#estimateMemory-long-long-">estimateMemory</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#getCumODims-int-">getCumODims</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#getDim-int-">getDim</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#getNextIndexes-int:A-">getNextIndexes</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#numDims--">numDims</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#numRows--">numRows</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset--">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int:A-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int:A-double-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int-int-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int-int:A-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int-int-double-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-int-int-int-int-org.apache.sysds.runtime.data.DenseBlock-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-int-org.apache.sysds.runtime.instructions.cp.KahanObject-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-org.apache.sysds.runtime.instructions.cp.KahanObject-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-java.lang.String-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#setDims-int:A-">setDims</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#size--">size</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#toString--">toString</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -721,6 +721,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/data/DenseBlockLInt64.html b/docs/api/java/org/apache/sysds/runtime/data/DenseBlockLInt64.html
index 8a06dc9..69538ef 100644
--- a/docs/api/java/org/apache/sysds/runtime/data/DenseBlockLInt64.html
+++ b/docs/api/java/org/apache/sysds/runtime/data/DenseBlockLInt64.html
@@ -299,7 +299,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.data.<a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html" title="class in org.apache.sysds.runtime.data">DenseBlock</a></h3>
-<code><a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#getCumODims-int-">getCumODims</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#getDim-int-">getDim</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#getNextIndexes-int:A-">getNextIndexes</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#numDims--">numDims</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#numRows--">numRows</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset--">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int:A-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int:A-double-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int-int-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int-int:A-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int-int-double-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-int-int-int-int-org.apache.sysds.runtime.data.DenseBlock-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-int-org.apache.sysds.runtime.instructions.cp.KahanObject-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-org.apache.sysds.runtime.instructions.cp.KahanObject-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-java.lang.String-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#size--">size</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#toString--">toString</a></code></li>
+<code><a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#estimateMemory-long-long-">estimateMemory</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#getCumODims-int-">getCumODims</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#getDim-int-">getDim</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#getNextIndexes-int:A-">getNextIndexes</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#numDims--">numDims</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#numRows--">numRows</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset--">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int:A-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int:A-double-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int-int-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int-int:A-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int-int-double-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-int-int-int-int-org.apache.sysds.runtime.data.DenseBlock-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-int-org.apache.sysds.runtime.instructions.cp.KahanObject-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-org.apache.sysds.runtime.instructions.cp.KahanObject-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-java.lang.String-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#setDims-int:A-">setDims</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#size--">size</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#toString--">toString</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -721,6 +721,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/data/DenseBlockLString.html b/docs/api/java/org/apache/sysds/runtime/data/DenseBlockLString.html
index 3c9119a..5b85a0a 100644
--- a/docs/api/java/org/apache/sysds/runtime/data/DenseBlockLString.html
+++ b/docs/api/java/org/apache/sysds/runtime/data/DenseBlockLString.html
@@ -311,7 +311,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.data.<a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html" title="class in org.apache.sysds.runtime.data">DenseBlock</a></h3>
-<code><a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#getCumODims-int-">getCumODims</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#getDim-int-">getDim</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#getNextIndexes-int:A-">getNextIndexes</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#numDims--">numDims</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#numRows--">numRows</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset--">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int:A-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int:A-double-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int-int-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int-int:A-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int-int-double-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-int-int-int-int-org.apache.sysds.runtime.data.DenseBlock-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-int-org.apache.sysds.runtime.instructions.cp.KahanObject-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-org.apache.sysds.runtime.instructions.cp.KahanObject-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#size--">size</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#toString--">toString</a></code></li>
+<code><a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#estimateMemory-long-long-">estimateMemory</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#getCumODims-int-">getCumODims</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#getDim-int-">getDim</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#getNextIndexes-int:A-">getNextIndexes</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#numDims--">numDims</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#numRows--">numRows</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset--">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int:A-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int:A-double-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int-int-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int-int:A-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int-int-double-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-int-int-int-int-org.apache.sysds.runtime.data.DenseBlock-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-int-org.apache.sysds.runtime.instructions.cp.KahanObject-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-org.apache.sysds.runtime.instructions.cp.KahanObject-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#setDims-int:A-">setDims</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#size--">size</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#toString--">toString</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -772,6 +772,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/data/DenseBlockString.html b/docs/api/java/org/apache/sysds/runtime/data/DenseBlockString.html
index cde7808..d5c5abd 100644
--- a/docs/api/java/org/apache/sysds/runtime/data/DenseBlockString.html
+++ b/docs/api/java/org/apache/sysds/runtime/data/DenseBlockString.html
@@ -334,7 +334,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.data.<a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html" title="class in org.apache.sysds.runtime.data">DenseBlock</a></h3>
-<code><a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#getCumODims-int-">getCumODims</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#getDim-int-">getDim</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#getNextIndexes-int:A-">getNextIndexes</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#numDims--">numDims</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#numRows--">numRows</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset--">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int:A-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int:A-double-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int-int-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int-int:A-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int-int-double-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-int-int-int-int-org.apache.sysds.runtime.data.DenseBlock-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-int-org.apache.sysds.runtime.instructions.cp.KahanObject-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-org.apache.sysds.runtime.instructions.cp.KahanObject-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#size--">size</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#toString--">toString</a></code></li>
+<code><a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#estimateMemory-long-long-">estimateMemory</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#getCumODims-int-">getCumODims</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#getDim-int-">getDim</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#getNextIndexes-int:A-">getNextIndexes</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#numDims--">numDims</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#numRows--">numRows</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset--">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int:A-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int:A-double-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int-int-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int-int:A-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#reset-int-int-double-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-int-int-int-int-org.apache.sysds.runtime.data.DenseBlock-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-int-org.apache.sysds.runtime.instructions.cp.KahanObject-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#set-org.apache.sysds.runtime.instructions.cp.KahanObject-">set</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#setDims-int:A-">setDims</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#size--">size</a>, <a href="../../../../../org/apache/sysds/runtime/data/DenseBlock.html#toString--">toString</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -861,6 +861,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/data/IndexedTensorBlock.html b/docs/api/java/org/apache/sysds/runtime/data/IndexedTensorBlock.html
index ce46498..52c13f0 100644
--- a/docs/api/java/org/apache/sysds/runtime/data/IndexedTensorBlock.html
+++ b/docs/api/java/org/apache/sysds/runtime/data/IndexedTensorBlock.html
@@ -347,6 +347,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/data/LibTensorAgg.html b/docs/api/java/org/apache/sysds/runtime/data/LibTensorAgg.html
index d78b2d9..61f7980 100644
--- a/docs/api/java/org/apache/sysds/runtime/data/LibTensorAgg.html
+++ b/docs/api/java/org/apache/sysds/runtime/data/LibTensorAgg.html
@@ -354,6 +354,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/data/LibTensorBincell.html b/docs/api/java/org/apache/sysds/runtime/data/LibTensorBincell.html
index 89dadac..cb1de63 100644
--- a/docs/api/java/org/apache/sysds/runtime/data/LibTensorBincell.html
+++ b/docs/api/java/org/apache/sysds/runtime/data/LibTensorBincell.html
@@ -298,6 +298,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/data/LibTensorReorg.html b/docs/api/java/org/apache/sysds/runtime/data/LibTensorReorg.html
index b5a7a0e..37f93a5 100644
--- a/docs/api/java/org/apache/sysds/runtime/data/LibTensorReorg.html
+++ b/docs/api/java/org/apache/sysds/runtime/data/LibTensorReorg.html
@@ -284,6 +284,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/data/SparseBlock.Type.html b/docs/api/java/org/apache/sysds/runtime/data/SparseBlock.Type.html
index 0163074..856ac98 100644
--- a/docs/api/java/org/apache/sysds/runtime/data/SparseBlock.Type.html
+++ b/docs/api/java/org/apache/sysds/runtime/data/SparseBlock.Type.html
@@ -353,6 +353,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/data/SparseBlock.html b/docs/api/java/org/apache/sysds/runtime/data/SparseBlock.html
index 997ce65..dc00618 100644
--- a/docs/api/java/org/apache/sysds/runtime/data/SparseBlock.html
+++ b/docs/api/java/org/apache/sysds/runtime/data/SparseBlock.html
@@ -1331,6 +1331,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/data/SparseBlockCOO.html b/docs/api/java/org/apache/sysds/runtime/data/SparseBlockCOO.html
index b347427..4339b2b 100644
--- a/docs/api/java/org/apache/sysds/runtime/data/SparseBlockCOO.html
+++ b/docs/api/java/org/apache/sysds/runtime/data/SparseBlockCOO.html
@@ -267,9 +267,9 @@
 </tr>
 <tr id="i8" class="altColor">
 <td class="colFirst"><code>static long</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/SparseBlockCOO.html#estimateMemory-long-long-double-">estimateMemory</a></span>(long&nbsp;nrows,
-              long&nbsp;ncols,
-              double&nbsp;sparsity)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/SparseBlockCOO.html#estimateSizeInMemory-long-long-double-">estimateSizeInMemory</a></span>(long&nbsp;nrows,
+                    long&nbsp;ncols,
+                    double&nbsp;sparsity)</code>
 <div class="block">Get the estimated in-memory size of the sparse block in COO 
  with the given dimensions w/o accounting for overallocation.</div>
 </td>
@@ -601,15 +601,15 @@
 <!--   -->
 </a>
 <h3>Method Detail</h3>
-<a name="estimateMemory-long-long-double-">
+<a name="estimateSizeInMemory-long-long-double-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>estimateMemory</h4>
-<pre>public static&nbsp;long&nbsp;estimateMemory(long&nbsp;nrows,
-                                  long&nbsp;ncols,
-                                  double&nbsp;sparsity)</pre>
+<h4>estimateSizeInMemory</h4>
+<pre>public static&nbsp;long&nbsp;estimateSizeInMemory(long&nbsp;nrows,
+                                        long&nbsp;ncols,
+                                        double&nbsp;sparsity)</pre>
 <div class="block">Get the estimated in-memory size of the sparse block in COO 
  with the given dimensions w/o accounting for overallocation.</div>
 <dl>
@@ -1544,6 +1544,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/data/SparseBlockCSR.html b/docs/api/java/org/apache/sysds/runtime/data/SparseBlockCSR.html
index b17af44..1388980 100644
--- a/docs/api/java/org/apache/sysds/runtime/data/SparseBlockCSR.html
+++ b/docs/api/java/org/apache/sysds/runtime/data/SparseBlockCSR.html
@@ -291,9 +291,9 @@
 </tr>
 <tr id="i8" class="altColor">
 <td class="colFirst"><code>static long</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/SparseBlockCSR.html#estimateMemory-long-long-double-">estimateMemory</a></span>(long&nbsp;nrows,
-              long&nbsp;ncols,
-              double&nbsp;sparsity)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/SparseBlockCSR.html#estimateSizeInMemory-long-long-double-">estimateSizeInMemory</a></span>(long&nbsp;nrows,
+                    long&nbsp;ncols,
+                    double&nbsp;sparsity)</code>
 <div class="block">Get the estimated in-memory size of the sparse block in CSR 
  with the given dimensions w/o accounting for overallocation.</div>
 </td>
@@ -739,15 +739,15 @@
 </dl>
 </li>
 </ul>
-<a name="estimateMemory-long-long-double-">
+<a name="estimateSizeInMemory-long-long-double-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>estimateMemory</h4>
-<pre>public static&nbsp;long&nbsp;estimateMemory(long&nbsp;nrows,
-                                  long&nbsp;ncols,
-                                  double&nbsp;sparsity)</pre>
+<h4>estimateSizeInMemory</h4>
+<pre>public static&nbsp;long&nbsp;estimateSizeInMemory(long&nbsp;nrows,
+                                        long&nbsp;ncols,
+                                        double&nbsp;sparsity)</pre>
 <div class="block">Get the estimated in-memory size of the sparse block in CSR 
  with the given dimensions w/o accounting for overallocation.</div>
 <dl>
@@ -1671,6 +1671,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/data/SparseBlockFactory.html b/docs/api/java/org/apache/sysds/runtime/data/SparseBlockFactory.html
index 6b2a693..3481607 100644
--- a/docs/api/java/org/apache/sysds/runtime/data/SparseBlockFactory.html
+++ b/docs/api/java/org/apache/sysds/runtime/data/SparseBlockFactory.html
@@ -361,6 +361,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/data/SparseBlockMCSR.html b/docs/api/java/org/apache/sysds/runtime/data/SparseBlockMCSR.html
index 8b7650a..1d82b59 100644
--- a/docs/api/java/org/apache/sysds/runtime/data/SparseBlockMCSR.html
+++ b/docs/api/java/org/apache/sysds/runtime/data/SparseBlockMCSR.html
@@ -259,9 +259,9 @@
 </tr>
 <tr id="i8" class="altColor">
 <td class="colFirst"><code>static long</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/SparseBlockMCSR.html#estimateMemory-long-long-double-">estimateMemory</a></span>(long&nbsp;nrows,
-              long&nbsp;ncols,
-              double&nbsp;sparsity)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/SparseBlockMCSR.html#estimateSizeInMemory-long-long-double-">estimateSizeInMemory</a></span>(long&nbsp;nrows,
+                    long&nbsp;ncols,
+                    double&nbsp;sparsity)</code>
 <div class="block">Get the estimated in-memory size of the sparse block in MCSR 
  with the given dimensions w/o accounting for overallocation.</div>
 </td>
@@ -550,15 +550,15 @@
 <!--   -->
 </a>
 <h3>Method Detail</h3>
-<a name="estimateMemory-long-long-double-">
+<a name="estimateSizeInMemory-long-long-double-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>estimateMemory</h4>
-<pre>public static&nbsp;long&nbsp;estimateMemory(long&nbsp;nrows,
-                                  long&nbsp;ncols,
-                                  double&nbsp;sparsity)</pre>
+<h4>estimateSizeInMemory</h4>
+<pre>public static&nbsp;long&nbsp;estimateSizeInMemory(long&nbsp;nrows,
+                                        long&nbsp;ncols,
+                                        double&nbsp;sparsity)</pre>
 <div class="block">Get the estimated in-memory size of the sparse block in MCSR 
  with the given dimensions w/o accounting for overallocation.</div>
 <dl>
@@ -1399,6 +1399,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/data/SparseRow.html b/docs/api/java/org/apache/sysds/runtime/data/SparseRow.html
index 90e74c5..4cd36ec 100644
--- a/docs/api/java/org/apache/sysds/runtime/data/SparseRow.html
+++ b/docs/api/java/org/apache/sysds/runtime/data/SparseRow.html
@@ -539,6 +539,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/data/SparseRowScalar.html b/docs/api/java/org/apache/sysds/runtime/data/SparseRowScalar.html
index 2a28a21..c0fa7c0 100644
--- a/docs/api/java/org/apache/sysds/runtime/data/SparseRowScalar.html
+++ b/docs/api/java/org/apache/sysds/runtime/data/SparseRowScalar.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -193,20 +193,28 @@
 </td>
 </tr>
 <tr id="i4" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/SparseRowScalar.html#getIndex--">getIndex</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>double</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/SparseRowScalar.html#getValue--">getValue</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>int[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/SparseRowScalar.html#indexes--">indexes</a></span>()</code>
 <div class="block">Get the index array of non-zero entries, co-aligned
  with the array of values.</div>
 </td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/SparseRowScalar.html#isEmpty--">isEmpty</a></span>()</code>
 <div class="block">Indicates if the sparse row is empty, i.e., if is has 
  size zero.</div>
 </td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/SparseRowScalar.html#reset-int-int-">reset</a></span>(int&nbsp;estnns,
      int&nbsp;maxnns)</code>
@@ -214,7 +222,7 @@
  isEmpty are guaranteed to return 0 and true, respectively.</div>
 </td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/SparseRowScalar.html#set-int-double-">set</a></span>(int&nbsp;col,
    double&nbsp;v)</code>
@@ -222,20 +230,20 @@
  potential overwrites or deletes (set to value zero).</div>
 </td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i10" class="altColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/SparseRowScalar.html#size--">size</a></span>()</code>
 <div class="block">Get the number of non-zero values of the sparse row.</div>
 </td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/SparseRowScalar.html#sort--">sort</a></span>()</code>
 <div class="block">In-place sort of column-index value pairs in order to allow binary search
  after constant-time append was used for reading unordered sparse rows.</div>
 </td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i12" class="altColor">
 <td class="colFirst"><code>double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/SparseRowScalar.html#values--">values</a></span>()</code>
 <div class="block">Get the value array of non-zero entries, co-aligned 
@@ -497,7 +505,7 @@
 <a name="compact--">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>compact</h4>
 <pre>public&nbsp;void&nbsp;compact()</pre>
@@ -510,6 +518,24 @@
 </dl>
 </li>
 </ul>
+<a name="getIndex--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getIndex</h4>
+<pre>public&nbsp;int&nbsp;getIndex()</pre>
+</li>
+</ul>
+<a name="getValue--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getValue</h4>
+<pre>public&nbsp;double&nbsp;getValue()</pre>
+</li>
+</ul>
 </li>
 </ul>
 </li>
@@ -579,6 +605,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/data/SparseRowVector.html b/docs/api/java/org/apache/sysds/runtime/data/SparseRowVector.html
index bc6909c..e268306 100644
--- a/docs/api/java/org/apache/sysds/runtime/data/SparseRowVector.html
+++ b/docs/api/java/org/apache/sysds/runtime/data/SparseRowVector.html
@@ -168,10 +168,15 @@
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/SparseRowVector.html#SparseRowVector-int-">SparseRowVector</a></span>(int&nbsp;capacity)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/SparseRowVector.html#SparseRowVector-int-double:A-int-">SparseRowVector</a></span>(int&nbsp;nnz,
+               double[]&nbsp;v,
+               int&nbsp;vlen)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/SparseRowVector.html#SparseRowVector-int-int-">SparseRowVector</a></span>(int&nbsp;estnnz,
                int&nbsp;maxnnz)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/SparseRowVector.html#SparseRowVector-org.apache.sysds.runtime.data.SparseRow-">SparseRowVector</a></span>(<a href="../../../../../org/apache/sysds/runtime/data/SparseRow.html" title="class in org.apache.sysds.runtime.data">SparseRow</a>&nbsp;that)</code>&nbsp;</td>
 </tr>
 </table>
@@ -389,6 +394,17 @@
 <pre>public&nbsp;SparseRowVector(int&nbsp;capacity)</pre>
 </li>
 </ul>
+<a name="SparseRowVector-int-double:A-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>SparseRowVector</h4>
+<pre>public&nbsp;SparseRowVector(int&nbsp;nnz,
+                       double[]&nbsp;v,
+                       int&nbsp;vlen)</pre>
+</li>
+</ul>
 <a name="SparseRowVector-int-int-">
 <!--   -->
 </a>
@@ -806,6 +822,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/data/TensorBlock.html b/docs/api/java/org/apache/sysds/runtime/data/TensorBlock.html
index 9d97586..18121ea 100644
--- a/docs/api/java/org/apache/sysds/runtime/data/TensorBlock.html
+++ b/docs/api/java/org/apache/sysds/runtime/data/TensorBlock.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":9,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10,"i37":10,"i38":9,"i39":10,"i40":10,"i41":10,"i42":10,"i43":10,"i44":10,"i45":10,"i46":10,"i47":10,"i48":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":9,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10,"i37":10,"i38":10,"i39":9,"i40":10,"i41":10,"i42":10,"i43":10,"i44":10,"i45":10,"i46":10,"i47":10,"i48":10,"i49":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -276,106 +276,110 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html#getBasicTensor--">getBasicTensor</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i9" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html#getDataCharacteristics--">getDataCharacteristics</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i10" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/data/DataTensorBlock.html" title="class in org.apache.sysds.runtime.data">DataTensorBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html#getDataTensor--">getDataTensor</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html#getDim-int-">getDim</a></span>(int&nbsp;i)</code>&nbsp;</td>
 </tr>
-<tr id="i11" class="rowColor">
+<tr id="i12" class="altColor">
 <td class="colFirst"><code>int[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html#getDims--">getDims</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i12" class="altColor">
+<tr id="i13" class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html#getExactBlockDataSerializedSize-org.apache.sysds.runtime.data.BasicTensorBlock-">getExactBlockDataSerializedSize</a></span>(<a href="../../../../../org/apache/sysds/runtime/data/BasicTensorBlock.html" title="class in org.apache.sysds.runtime.data">BasicTensorBlock</a>&nbsp;bt)</code>
 <div class="block">Get the exact serialized size of a <code>BasicTensorBlock</code> if written by
  <code>TensorBlock.writeBlockData(DataOutput,BasicTensorBlock)</code>.</div>
 </td>
 </tr>
-<tr id="i13" class="rowColor">
+<tr id="i14" class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html#getExactSerializedSize--">getExactSerializedSize</a></span>()</code>
 <div class="block">Get the exact serialized size in bytes of the cache block.</div>
 </td>
 </tr>
-<tr id="i14" class="altColor">
+<tr id="i15" class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html#getInMemorySize--">getInMemorySize</a></span>()</code>
 <div class="block">Get the in-memory size in bytes of the cache block.</div>
 </td>
 </tr>
-<tr id="i15" class="rowColor">
+<tr id="i16" class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html#getLength--">getLength</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i16" class="altColor">
+<tr id="i17" class="rowColor">
 <td class="colFirst"><code>long[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html#getLongDims--">getLongDims</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i17" class="rowColor">
+<tr id="i18" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html#getNextIndexes-int:A-">getNextIndexes</a></span>(int[]&nbsp;ix)</code>
 <div class="block">Calculates the next index array.</div>
 </td>
 </tr>
-<tr id="i18" class="altColor">
+<tr id="i19" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html#getNextIndexes-int:A-int:A-">getNextIndexes</a></span>(int[]&nbsp;dims,
               int[]&nbsp;ix)</code>
 <div class="block">Calculates the next index array.</div>
 </td>
 </tr>
-<tr id="i19" class="rowColor">
+<tr id="i20" class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html#getNonZeros--">getNonZeros</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i20" class="altColor">
+<tr id="i21" class="rowColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html#getNumColumns--">getNumColumns</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i21" class="rowColor">
+<tr id="i22" class="altColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html#getNumDims--">getNumDims</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i22" class="altColor">
+<tr id="i23" class="rowColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html#getNumRows--">getNumRows</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i23" class="rowColor">
+<tr id="i24" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html#getSchema--">getSchema</a></span>()</code>
 <div class="block">Get the schema if this <code>TensorBlock</code> is heterogeneous.</div>
 </td>
 </tr>
-<tr id="i24" class="altColor">
+<tr id="i25" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html#getValueType--">getValueType</a></span>()</code>
 <div class="block">Get the <code>ValueType</code> if this <code>TensorBlock</code> is homogeneous.</div>
 </td>
 </tr>
-<tr id="i25" class="rowColor">
+<tr id="i26" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html#isAllocated--">isAllocated</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i26" class="altColor">
+<tr id="i27" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html#isBasic--">isBasic</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i27" class="rowColor">
+<tr id="i28" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html#isEmpty--">isEmpty</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i28" class="altColor">
+<tr id="i29" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html#isEmpty-boolean-">isEmpty</a></span>(boolean&nbsp;safe)</code>&nbsp;</td>
 </tr>
-<tr id="i29" class="rowColor">
+<tr id="i30" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html#isMatrix--">isMatrix</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i30" class="altColor">
+<tr id="i31" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html#isShallowSerialize--">isShallowSerialize</a></span>()</code>
 <div class="block">Indicates if the cache block is subject to shallow serialized,
@@ -383,7 +387,7 @@
  are almost identical allowing to avoid unnecessary deep serialize.</div>
 </td>
 </tr>
-<tr id="i31" class="rowColor">
+<tr id="i32" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html#isShallowSerialize-boolean-">isShallowSerialize</a></span>(boolean&nbsp;inclConvert)</code>
 <div class="block">Indicates if the cache block is subject to shallow serialized,
@@ -391,50 +395,50 @@
  are almost identical allowing to avoid unnecessary deep serialize.</div>
 </td>
 </tr>
-<tr id="i32" class="altColor">
+<tr id="i33" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html#isVector--">isVector</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i33" class="rowColor">
+<tr id="i34" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html#merge-org.apache.sysds.runtime.controlprogram.caching.CacheBlock-boolean-">merge</a></span>(<a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html" title="interface in org.apache.sysds.runtime.controlprogram.caching">CacheBlock</a>&nbsp;that,
      boolean&nbsp;appendOnly)</code>
 <div class="block">Merge the given block into the current block.</div>
 </td>
 </tr>
-<tr id="i34" class="altColor">
+<tr id="i35" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html#readExternal-java.io.ObjectInput-">readExternal</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectInput.html?is-external=true" title="class or interface in java.io">ObjectInput</a>&nbsp;in)</code>&nbsp;</td>
 </tr>
-<tr id="i35" class="rowColor">
+<tr id="i36" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html#readFields-java.io.DataInput-">readFields</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a>&nbsp;in)</code>&nbsp;</td>
 </tr>
-<tr id="i36" class="altColor">
+<tr id="i37" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html#reset--">reset</a></span>()</code>
 <div class="block">Reset all cells to 0.</div>
 </td>
 </tr>
-<tr id="i37" class="rowColor">
+<tr id="i38" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html#reset-int:A-">reset</a></span>(int[]&nbsp;dims)</code>
 <div class="block">Reset data with new dimensions.</div>
 </td>
 </tr>
-<tr id="i38" class="altColor">
+<tr id="i39" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html#resultValueType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.common.Types.ValueType-">resultValueType</a></span>(<a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;in1,
                <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;in2)</code>&nbsp;</td>
 </tr>
-<tr id="i39" class="rowColor">
+<tr id="i40" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html#set-int:A-java.lang.Object-">set</a></span>(int[]&nbsp;ix,
    <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;v)</code>
 <div class="block">Set a cell to the value given as an `Object`.</div>
 </td>
 </tr>
-<tr id="i40" class="altColor">
+<tr id="i41" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html#set-int-int-double-">set</a></span>(int&nbsp;r,
    int&nbsp;c,
@@ -442,22 +446,22 @@
 <div class="block">Set a cell in a 2-dimensional tensor.</div>
 </td>
 </tr>
-<tr id="i41" class="rowColor">
+<tr id="i42" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html#set-org.apache.sysds.runtime.matrix.data.MatrixBlock-">set</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;other)</code>&nbsp;</td>
 </tr>
-<tr id="i42" class="altColor">
+<tr id="i43" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html#set-java.lang.Object-">set</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;v)</code>&nbsp;</td>
 </tr>
-<tr id="i43" class="rowColor">
+<tr id="i44" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html" title="class in org.apache.sysds.runtime.data">TensorBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html#slice-int:A-org.apache.sysds.runtime.data.TensorBlock-">slice</a></span>(int[]&nbsp;offsets,
      <a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html" title="class in org.apache.sysds.runtime.data">TensorBlock</a>&nbsp;outBlock)</code>
 <div class="block">Slice the current block and write into the outBlock.</div>
 </td>
 </tr>
-<tr id="i44" class="altColor">
+<tr id="i45" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html" title="interface in org.apache.sysds.runtime.controlprogram.caching">CacheBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html#slice-int-int-int-int-org.apache.sysds.runtime.controlprogram.caching.CacheBlock-">slice</a></span>(int&nbsp;rl,
      int&nbsp;ru,
@@ -467,25 +471,25 @@
 <div class="block">Slice a sub block out of the current block and write into the given output block.</div>
 </td>
 </tr>
-<tr id="i45" class="rowColor">
+<tr id="i46" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html#toShallowSerializeBlock--">toShallowSerializeBlock</a></span>()</code>
 <div class="block">Converts a cache block that is not shallow serializable into
  a form that is shallow serializable.</div>
 </td>
 </tr>
-<tr id="i46" class="altColor">
+<tr id="i47" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html#write-java.io.DataOutput-">write</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataOutput.html?is-external=true" title="class or interface in java.io">DataOutput</a>&nbsp;out)</code>&nbsp;</td>
 </tr>
-<tr id="i47" class="rowColor">
+<tr id="i48" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html#writeBlockData-java.io.DataOutput-org.apache.sysds.runtime.data.BasicTensorBlock-">writeBlockData</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataOutput.html?is-external=true" title="class or interface in java.io">DataOutput</a>&nbsp;out,
               <a href="../../../../../org/apache/sysds/runtime/data/BasicTensorBlock.html" title="class in org.apache.sysds.runtime.data">BasicTensorBlock</a>&nbsp;bt)</code>
 <div class="block">Write a <code>BasicTensorBlock</code>.</div>
 </td>
 </tr>
-<tr id="i48" class="altColor">
+<tr id="i49" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html#writeExternal-java.io.ObjectOutput-">writeExternal</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectOutput.html?is-external=true" title="class or interface in java.io">ObjectOutput</a>&nbsp;out)</code>&nbsp;</td>
 </tr>
@@ -796,6 +800,19 @@
 </dl>
 </li>
 </ul>
+<a name="getDataCharacteristics--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getDataCharacteristics</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a>&nbsp;getDataCharacteristics()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html#getDataCharacteristics--">getDataCharacteristics</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html" title="interface in org.apache.sysds.runtime.controlprogram.caching">CacheBlock</a></code></dd>
+</dl>
+</li>
+</ul>
 <a name="getInMemorySize--">
 <!--   -->
 </a>
@@ -1395,6 +1412,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/data/TensorIndexes.html b/docs/api/java/org/apache/sysds/runtime/data/TensorIndexes.html
index c02fb74..c92825c 100644
--- a/docs/api/java/org/apache/sysds/runtime/data/TensorIndexes.html
+++ b/docs/api/java/org/apache/sysds/runtime/data/TensorIndexes.html
@@ -516,6 +516,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/data/class-use/BasicTensorBlock.html b/docs/api/java/org/apache/sysds/runtime/data/class-use/BasicTensorBlock.html
index 7508aa4..64984f1 100644
--- a/docs/api/java/org/apache/sysds/runtime/data/class-use/BasicTensorBlock.html
+++ b/docs/api/java/org/apache/sysds/runtime/data/class-use/BasicTensorBlock.html
@@ -408,6 +408,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/data/class-use/DataTensorBlock.html b/docs/api/java/org/apache/sysds/runtime/data/class-use/DataTensorBlock.html
index 7223122..afd5285 100644
--- a/docs/api/java/org/apache/sysds/runtime/data/class-use/DataTensorBlock.html
+++ b/docs/api/java/org/apache/sysds/runtime/data/class-use/DataTensorBlock.html
@@ -201,6 +201,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/data/class-use/DenseBlock.Type.html b/docs/api/java/org/apache/sysds/runtime/data/class-use/DenseBlock.Type.html
index d285fd6..f28dbff 100644
--- a/docs/api/java/org/apache/sysds/runtime/data/class-use/DenseBlock.Type.html
+++ b/docs/api/java/org/apache/sysds/runtime/data/class-use/DenseBlock.Type.html
@@ -193,6 +193,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/data/class-use/DenseBlock.html b/docs/api/java/org/apache/sysds/runtime/data/class-use/DenseBlock.html
index 46b420f..7e249a7 100644
--- a/docs/api/java/org/apache/sysds/runtime/data/class-use/DenseBlock.html
+++ b/docs/api/java/org/apache/sysds/runtime/data/class-use/DenseBlock.html
@@ -878,6 +878,10 @@
                       int&nbsp;cl,
                       int&nbsp;cu)</code>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">MatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#setDenseBlock-org.apache.sysds.runtime.data.DenseBlock-">setDenseBlock</a></span>(<a href="../../../../../../org/apache/sysds/runtime/data/DenseBlock.html" title="class in org.apache.sysds.runtime.data">DenseBlock</a>&nbsp;dblock)</code>&nbsp;</td>
+</tr>
 </tbody>
 </table>
 <table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
@@ -968,6 +972,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/data/class-use/DenseBlockBool.html b/docs/api/java/org/apache/sysds/runtime/data/class-use/DenseBlockBool.html
index e3fb092..a5bb08c 100644
--- a/docs/api/java/org/apache/sysds/runtime/data/class-use/DenseBlockBool.html
+++ b/docs/api/java/org/apache/sysds/runtime/data/class-use/DenseBlockBool.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/data/class-use/DenseBlockDRB.html b/docs/api/java/org/apache/sysds/runtime/data/class-use/DenseBlockDRB.html
index 4f592b4..e7a7b67 100644
--- a/docs/api/java/org/apache/sysds/runtime/data/class-use/DenseBlockDRB.html
+++ b/docs/api/java/org/apache/sysds/runtime/data/class-use/DenseBlockDRB.html
@@ -180,6 +180,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/data/class-use/DenseBlockFP32.html b/docs/api/java/org/apache/sysds/runtime/data/class-use/DenseBlockFP32.html
index 344712d..5bdb0cc 100644
--- a/docs/api/java/org/apache/sysds/runtime/data/class-use/DenseBlockFP32.html
+++ b/docs/api/java/org/apache/sysds/runtime/data/class-use/DenseBlockFP32.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/data/class-use/DenseBlockFP64.html b/docs/api/java/org/apache/sysds/runtime/data/class-use/DenseBlockFP64.html
index b566a71..8fc560a 100644
--- a/docs/api/java/org/apache/sysds/runtime/data/class-use/DenseBlockFP64.html
+++ b/docs/api/java/org/apache/sysds/runtime/data/class-use/DenseBlockFP64.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/data/class-use/DenseBlockFactory.html b/docs/api/java/org/apache/sysds/runtime/data/class-use/DenseBlockFactory.html
index 7943dfc..770ab32 100644
--- a/docs/api/java/org/apache/sysds/runtime/data/class-use/DenseBlockFactory.html
+++ b/docs/api/java/org/apache/sysds/runtime/data/class-use/DenseBlockFactory.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/data/class-use/DenseBlockInt32.html b/docs/api/java/org/apache/sysds/runtime/data/class-use/DenseBlockInt32.html
index 7fca1cc..022aa8e 100644
--- a/docs/api/java/org/apache/sysds/runtime/data/class-use/DenseBlockInt32.html
+++ b/docs/api/java/org/apache/sysds/runtime/data/class-use/DenseBlockInt32.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/data/class-use/DenseBlockInt64.html b/docs/api/java/org/apache/sysds/runtime/data/class-use/DenseBlockInt64.html
index 76af81b..8591aa0 100644
--- a/docs/api/java/org/apache/sysds/runtime/data/class-use/DenseBlockInt64.html
+++ b/docs/api/java/org/apache/sysds/runtime/data/class-use/DenseBlockInt64.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/data/class-use/DenseBlockLBool.html b/docs/api/java/org/apache/sysds/runtime/data/class-use/DenseBlockLBool.html
index 6283b72..ef6875d 100644
--- a/docs/api/java/org/apache/sysds/runtime/data/class-use/DenseBlockLBool.html
+++ b/docs/api/java/org/apache/sysds/runtime/data/class-use/DenseBlockLBool.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/data/class-use/DenseBlockLDRB.html b/docs/api/java/org/apache/sysds/runtime/data/class-use/DenseBlockLDRB.html
index 627451b..f50ec17 100644
--- a/docs/api/java/org/apache/sysds/runtime/data/class-use/DenseBlockLDRB.html
+++ b/docs/api/java/org/apache/sysds/runtime/data/class-use/DenseBlockLDRB.html
@@ -180,6 +180,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/data/class-use/DenseBlockLFP32.html b/docs/api/java/org/apache/sysds/runtime/data/class-use/DenseBlockLFP32.html
index c494366..02f3abc 100644
--- a/docs/api/java/org/apache/sysds/runtime/data/class-use/DenseBlockLFP32.html
+++ b/docs/api/java/org/apache/sysds/runtime/data/class-use/DenseBlockLFP32.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/data/class-use/DenseBlockLFP64.html b/docs/api/java/org/apache/sysds/runtime/data/class-use/DenseBlockLFP64.html
index 0574865..fcca9dd 100644
--- a/docs/api/java/org/apache/sysds/runtime/data/class-use/DenseBlockLFP64.html
+++ b/docs/api/java/org/apache/sysds/runtime/data/class-use/DenseBlockLFP64.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/data/class-use/DenseBlockLInt32.html b/docs/api/java/org/apache/sysds/runtime/data/class-use/DenseBlockLInt32.html
index 234f91c..7c35f1a 100644
--- a/docs/api/java/org/apache/sysds/runtime/data/class-use/DenseBlockLInt32.html
+++ b/docs/api/java/org/apache/sysds/runtime/data/class-use/DenseBlockLInt32.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/data/class-use/DenseBlockLInt64.html b/docs/api/java/org/apache/sysds/runtime/data/class-use/DenseBlockLInt64.html
index 7e74056..0cb454f 100644
--- a/docs/api/java/org/apache/sysds/runtime/data/class-use/DenseBlockLInt64.html
+++ b/docs/api/java/org/apache/sysds/runtime/data/class-use/DenseBlockLInt64.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/data/class-use/DenseBlockLString.html b/docs/api/java/org/apache/sysds/runtime/data/class-use/DenseBlockLString.html
index f3bee85..c92a371 100644
--- a/docs/api/java/org/apache/sysds/runtime/data/class-use/DenseBlockLString.html
+++ b/docs/api/java/org/apache/sysds/runtime/data/class-use/DenseBlockLString.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/data/class-use/DenseBlockString.html b/docs/api/java/org/apache/sysds/runtime/data/class-use/DenseBlockString.html
index 295966c..d727969 100644
--- a/docs/api/java/org/apache/sysds/runtime/data/class-use/DenseBlockString.html
+++ b/docs/api/java/org/apache/sysds/runtime/data/class-use/DenseBlockString.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/data/class-use/IndexedTensorBlock.html b/docs/api/java/org/apache/sysds/runtime/data/class-use/IndexedTensorBlock.html
index a1d2d5c..56a23bf 100644
--- a/docs/api/java/org/apache/sysds/runtime/data/class-use/IndexedTensorBlock.html
+++ b/docs/api/java/org/apache/sysds/runtime/data/class-use/IndexedTensorBlock.html
@@ -225,6 +225,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/data/class-use/LibTensorAgg.html b/docs/api/java/org/apache/sysds/runtime/data/class-use/LibTensorAgg.html
index 97d236f..62b8306 100644
--- a/docs/api/java/org/apache/sysds/runtime/data/class-use/LibTensorAgg.html
+++ b/docs/api/java/org/apache/sysds/runtime/data/class-use/LibTensorAgg.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/data/class-use/LibTensorBincell.html b/docs/api/java/org/apache/sysds/runtime/data/class-use/LibTensorBincell.html
index 8067a6f..942d52a 100644
--- a/docs/api/java/org/apache/sysds/runtime/data/class-use/LibTensorBincell.html
+++ b/docs/api/java/org/apache/sysds/runtime/data/class-use/LibTensorBincell.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/data/class-use/LibTensorReorg.html b/docs/api/java/org/apache/sysds/runtime/data/class-use/LibTensorReorg.html
index f6c39d4..813b9e5 100644
--- a/docs/api/java/org/apache/sysds/runtime/data/class-use/LibTensorReorg.html
+++ b/docs/api/java/org/apache/sysds/runtime/data/class-use/LibTensorReorg.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/data/class-use/SparseBlock.Type.html b/docs/api/java/org/apache/sysds/runtime/data/class-use/SparseBlock.Type.html
index a4040f2..3722571 100644
--- a/docs/api/java/org/apache/sysds/runtime/data/class-use/SparseBlock.Type.html
+++ b/docs/api/java/org/apache/sysds/runtime/data/class-use/SparseBlock.Type.html
@@ -303,6 +303,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/data/class-use/SparseBlock.html b/docs/api/java/org/apache/sysds/runtime/data/class-use/SparseBlock.html
index 604f147..b5edad9 100644
--- a/docs/api/java/org/apache/sysds/runtime/data/class-use/SparseBlock.html
+++ b/docs/api/java/org/apache/sysds/runtime/data/class-use/SparseBlock.html
@@ -119,23 +119,179 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code>double[]</code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupValue.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preaggValues-int-org.apache.sysds.runtime.data.SparseBlock-double:A-int-int-int-">preaggValues</a></span>(int&nbsp;numVals,
-            <a href="../../../../../../org/apache/sysds/runtime/data/SparseBlock.html" title="class in org.apache.sysds.runtime.data">SparseBlock</a>&nbsp;b,
-            double[]&nbsp;dictVals,
-            int&nbsp;cl,
-            int&nbsp;cu,
-            int&nbsp;cut)</code>&nbsp;</td>
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupRLE.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#leftMultBySparseMatrix-org.apache.sysds.runtime.data.SparseBlock-double:A-double:A-int-int-int-double:A-">leftMultBySparseMatrix</a></span>(<a href="../../../../../../org/apache/sysds/runtime/data/SparseBlock.html" title="class in org.apache.sysds.runtime.data">SparseBlock</a>&nbsp;sb,
+                      double[]&nbsp;c,
+                      double[]&nbsp;values,
+                      int&nbsp;numRows,
+                      int&nbsp;numCols,
+                      int&nbsp;row,
+                      double[]&nbsp;MaterializedRow)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupEmpty.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html#leftMultBySparseMatrix-org.apache.sysds.runtime.data.SparseBlock-double:A-double:A-int-int-int-double:A-">leftMultBySparseMatrix</a></span>(<a href="../../../../../../org/apache/sysds/runtime/data/SparseBlock.html" title="class in org.apache.sysds.runtime.data">SparseBlock</a>&nbsp;sb,
+                      double[]&nbsp;c,
+                      double[]&nbsp;values,
+                      int&nbsp;numRows,
+                      int&nbsp;numCols,
+                      int&nbsp;row,
+                      double[]&nbsp;MaterializedRow)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupConst.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#leftMultBySparseMatrix-org.apache.sysds.runtime.data.SparseBlock-double:A-double:A-int-int-int-double:A-">leftMultBySparseMatrix</a></span>(<a href="../../../../../../org/apache/sysds/runtime/data/SparseBlock.html" title="class in org.apache.sysds.runtime.data">SparseBlock</a>&nbsp;sb,
+                      double[]&nbsp;c,
+                      double[]&nbsp;values,
+                      int&nbsp;numRows,
+                      int&nbsp;numCols,
+                      int&nbsp;row,
+                      double[]&nbsp;MaterializedRow)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupSDCZeros.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#leftMultBySparseMatrix-org.apache.sysds.runtime.data.SparseBlock-double:A-double:A-int-int-int-double:A-">leftMultBySparseMatrix</a></span>(<a href="../../../../../../org/apache/sysds/runtime/data/SparseBlock.html" title="class in org.apache.sysds.runtime.data">SparseBlock</a>&nbsp;sb,
+                      double[]&nbsp;c,
+                      double[]&nbsp;values,
+                      int&nbsp;numRows,
+                      int&nbsp;numCols,
+                      int&nbsp;row,
+                      double[]&nbsp;MaterializedRow)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupDDC.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#leftMultBySparseMatrix-org.apache.sysds.runtime.data.SparseBlock-double:A-double:A-int-int-int-double:A-">leftMultBySparseMatrix</a></span>(<a href="../../../../../../org/apache/sysds/runtime/data/SparseBlock.html" title="class in org.apache.sysds.runtime.data">SparseBlock</a>&nbsp;sb,
+                      double[]&nbsp;c,
+                      double[]&nbsp;values,
+                      int&nbsp;numRows,
+                      int&nbsp;numCols,
+                      int&nbsp;row,
+                      double[]&nbsp;MaterializedRow)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupSDCSingle.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html#leftMultBySparseMatrix-org.apache.sysds.runtime.data.SparseBlock-double:A-double:A-int-int-int-double:A-">leftMultBySparseMatrix</a></span>(<a href="../../../../../../org/apache/sysds/runtime/data/SparseBlock.html" title="class in org.apache.sysds.runtime.data">SparseBlock</a>&nbsp;sb,
+                      double[]&nbsp;c,
+                      double[]&nbsp;values,
+                      int&nbsp;numRows,
+                      int&nbsp;numCols,
+                      int&nbsp;row,
+                      double[]&nbsp;MaterializedRow)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupSDC.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html#leftMultBySparseMatrix-org.apache.sysds.runtime.data.SparseBlock-double:A-double:A-int-int-int-double:A-">leftMultBySparseMatrix</a></span>(<a href="../../../../../../org/apache/sysds/runtime/data/SparseBlock.html" title="class in org.apache.sysds.runtime.data">SparseBlock</a>&nbsp;sb,
+                      double[]&nbsp;c,
+                      double[]&nbsp;values,
+                      int&nbsp;numRows,
+                      int&nbsp;numCols,
+                      int&nbsp;row,
+                      double[]&nbsp;MaterializedRow)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupUncompressed.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#leftMultBySparseMatrix-org.apache.sysds.runtime.data.SparseBlock-double:A-double:A-int-int-int-double:A-">leftMultBySparseMatrix</a></span>(<a href="../../../../../../org/apache/sysds/runtime/data/SparseBlock.html" title="class in org.apache.sysds.runtime.data">SparseBlock</a>&nbsp;sb,
+                      double[]&nbsp;c,
+                      double[]&nbsp;values,
+                      int&nbsp;numRows,
+                      int&nbsp;numCols,
+                      int&nbsp;row,
+                      double[]&nbsp;MaterializedRow)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>abstract void</code></td>
+<td class="colLast"><span class="typeNameLabel">AColGroup.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#leftMultBySparseMatrix-org.apache.sysds.runtime.data.SparseBlock-double:A-double:A-int-int-int-double:A-">leftMultBySparseMatrix</a></span>(<a href="../../../../../../org/apache/sysds/runtime/data/SparseBlock.html" title="class in org.apache.sysds.runtime.data">SparseBlock</a>&nbsp;sb,
+                      double[]&nbsp;result,
+                      double[]&nbsp;values,
+                      int&nbsp;numRows,
+                      int&nbsp;numCols,
+                      int&nbsp;row,
+                      double[]&nbsp;MaterializedRow)</code>
+<div class="block">Multiply with a sparse matrix on the left hand side, and add the values to the output result</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupSDCSingleZeros.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html#leftMultBySparseMatrix-org.apache.sysds.runtime.data.SparseBlock-double:A-double:A-int-int-int-double:A-">leftMultBySparseMatrix</a></span>(<a href="../../../../../../org/apache/sysds/runtime/data/SparseBlock.html" title="class in org.apache.sysds.runtime.data">SparseBlock</a>&nbsp;sb,
+                      double[]&nbsp;c,
+                      double[]&nbsp;values,
+                      int&nbsp;numRows,
+                      int&nbsp;numCols,
+                      int&nbsp;row,
+                      double[]&nbsp;MaterializedRow)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupOLE.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#leftMultBySparseMatrix-org.apache.sysds.runtime.data.SparseBlock-double:A-double:A-int-int-int-double:A-">leftMultBySparseMatrix</a></span>(<a href="../../../../../../org/apache/sysds/runtime/data/SparseBlock.html" title="class in org.apache.sysds.runtime.data">SparseBlock</a>&nbsp;sb,
+                      double[]&nbsp;c,
+                      double[]&nbsp;values,
+                      int&nbsp;numRows,
+                      int&nbsp;numCols,
+                      int&nbsp;row,
+                      double[]&nbsp;tmpA)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>double[]</code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupValue.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preaggValues-int-org.apache.sysds.runtime.data.SparseBlock-double:A-int-int-int-double:A-">preaggValues</a></span>(int&nbsp;numVals,
-            <a href="../../../../../../org/apache/sysds/runtime/data/SparseBlock.html" title="class in org.apache.sysds.runtime.data">SparseBlock</a>&nbsp;b,
-            double[]&nbsp;dictVals,
-            int&nbsp;cl,
-            int&nbsp;cu,
-            int&nbsp;cut,
-            double[]&nbsp;ret)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">ColGroupValue.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregate-org.apache.sysds.runtime.data.SparseBlock-">preAggregate</a></span>(<a href="../../../../../../org/apache/sysds/runtime/data/SparseBlock.html" title="class in org.apache.sysds.runtime.data">SparseBlock</a>&nbsp;sb)</code>
+<div class="block">Pre aggregate for left multiplication</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>double[]</code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupRLE.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#preAggregateSparse-org.apache.sysds.runtime.data.SparseBlock-int-">preAggregateSparse</a></span>(<a href="../../../../../../org/apache/sysds/runtime/data/SparseBlock.html" title="class in org.apache.sysds.runtime.data">SparseBlock</a>&nbsp;sb,
+                  int&nbsp;row)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>double[]</code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupEmpty.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html#preAggregateSparse-org.apache.sysds.runtime.data.SparseBlock-int-">preAggregateSparse</a></span>(<a href="../../../../../../org/apache/sysds/runtime/data/SparseBlock.html" title="class in org.apache.sysds.runtime.data">SparseBlock</a>&nbsp;sb,
+                  int&nbsp;row)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>double[]</code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupConst.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#preAggregateSparse-org.apache.sysds.runtime.data.SparseBlock-int-">preAggregateSparse</a></span>(<a href="../../../../../../org/apache/sysds/runtime/data/SparseBlock.html" title="class in org.apache.sysds.runtime.data">SparseBlock</a>&nbsp;sb,
+                  int&nbsp;row)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>double[]</code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupSDCZeros.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#preAggregateSparse-org.apache.sysds.runtime.data.SparseBlock-int-">preAggregateSparse</a></span>(<a href="../../../../../../org/apache/sysds/runtime/data/SparseBlock.html" title="class in org.apache.sysds.runtime.data">SparseBlock</a>&nbsp;sb,
+                  int&nbsp;row)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>double[]</code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupDDC.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#preAggregateSparse-org.apache.sysds.runtime.data.SparseBlock-int-">preAggregateSparse</a></span>(<a href="../../../../../../org/apache/sysds/runtime/data/SparseBlock.html" title="class in org.apache.sysds.runtime.data">SparseBlock</a>&nbsp;sb,
+                  int&nbsp;row)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>double[]</code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupSDCSingle.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html#preAggregateSparse-org.apache.sysds.runtime.data.SparseBlock-int-">preAggregateSparse</a></span>(<a href="../../../../../../org/apache/sysds/runtime/data/SparseBlock.html" title="class in org.apache.sysds.runtime.data">SparseBlock</a>&nbsp;sb,
+                  int&nbsp;row)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>double[]</code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupSDC.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html#preAggregateSparse-org.apache.sysds.runtime.data.SparseBlock-int-">preAggregateSparse</a></span>(<a href="../../../../../../org/apache/sysds/runtime/data/SparseBlock.html" title="class in org.apache.sysds.runtime.data">SparseBlock</a>&nbsp;sb,
+                  int&nbsp;row)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>abstract double[]</code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupValue.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateSparse-org.apache.sysds.runtime.data.SparseBlock-int-">preAggregateSparse</a></span>(<a href="../../../../../../org/apache/sysds/runtime/data/SparseBlock.html" title="class in org.apache.sysds.runtime.data">SparseBlock</a>&nbsp;sb,
+                  int&nbsp;row)</code>
+<div class="block">Pre aggregate for left multiplication of sparse vector or matrix.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>double[]</code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupSDCSingleZeros.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html#preAggregateSparse-org.apache.sysds.runtime.data.SparseBlock-int-">preAggregateSparse</a></span>(<a href="../../../../../../org/apache/sysds/runtime/data/SparseBlock.html" title="class in org.apache.sysds.runtime.data">SparseBlock</a>&nbsp;sb,
+                  int&nbsp;row)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>double[]</code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupOLE.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#preAggregateSparse-org.apache.sysds.runtime.data.SparseBlock-int-">preAggregateSparse</a></span>(<a href="../../../../../../org/apache/sysds/runtime/data/SparseBlock.html" title="class in org.apache.sysds.runtime.data">SparseBlock</a>&nbsp;sb,
+                  int&nbsp;row)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>double</code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupConst.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#preAggregateSparseSingle-org.apache.sysds.runtime.data.SparseBlock-int-">preAggregateSparseSingle</a></span>(<a href="../../../../../../org/apache/sysds/runtime/data/SparseBlock.html" title="class in org.apache.sysds.runtime.data">SparseBlock</a>&nbsp;sb,
+                        int&nbsp;row)</code>&nbsp;</td>
 </tr>
 </tbody>
 </table>
@@ -476,6 +632,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/data/class-use/SparseBlockCOO.html b/docs/api/java/org/apache/sysds/runtime/data/class-use/SparseBlockCOO.html
index b033e97..04563c6 100644
--- a/docs/api/java/org/apache/sysds/runtime/data/class-use/SparseBlockCOO.html
+++ b/docs/api/java/org/apache/sysds/runtime/data/class-use/SparseBlockCOO.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/data/class-use/SparseBlockCSR.html b/docs/api/java/org/apache/sysds/runtime/data/class-use/SparseBlockCSR.html
index 04320ed..516469f 100644
--- a/docs/api/java/org/apache/sysds/runtime/data/class-use/SparseBlockCSR.html
+++ b/docs/api/java/org/apache/sysds/runtime/data/class-use/SparseBlockCSR.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/data/class-use/SparseBlockFactory.html b/docs/api/java/org/apache/sysds/runtime/data/class-use/SparseBlockFactory.html
index e909a2a..a54850a 100644
--- a/docs/api/java/org/apache/sysds/runtime/data/class-use/SparseBlockFactory.html
+++ b/docs/api/java/org/apache/sysds/runtime/data/class-use/SparseBlockFactory.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/data/class-use/SparseBlockMCSR.html b/docs/api/java/org/apache/sysds/runtime/data/class-use/SparseBlockMCSR.html
index 11b6d13..60f36b5 100644
--- a/docs/api/java/org/apache/sysds/runtime/data/class-use/SparseBlockMCSR.html
+++ b/docs/api/java/org/apache/sysds/runtime/data/class-use/SparseBlockMCSR.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/data/class-use/SparseRow.html b/docs/api/java/org/apache/sysds/runtime/data/class-use/SparseRow.html
index bcb4334..7320f43 100644
--- a/docs/api/java/org/apache/sysds/runtime/data/class-use/SparseRow.html
+++ b/docs/api/java/org/apache/sysds/runtime/data/class-use/SparseRow.html
@@ -83,14 +83,6 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><a href="#org.apache.sysds.runtime.compress">org.apache.sysds.runtime.compress</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="#org.apache.sysds.runtime.compress.colgroup">org.apache.sysds.runtime.compress.colgroup</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.data">org.apache.sysds.runtime.data</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
@@ -103,125 +95,6 @@
 </li>
 <li class="blockList">
 <ul class="blockList">
-<li class="blockList"><a name="org.apache.sysds.runtime.compress">
-<!--   -->
-</a>
-<h3>Uses of <a href="../../../../../../org/apache/sysds/runtime/data/SparseRow.html" title="class in org.apache.sysds.runtime.data">SparseRow</a> in <a href="../../../../../../org/apache/sysds/runtime/compress/package-summary.html">org.apache.sysds.runtime.compress</a></h3>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../../../../../org/apache/sysds/runtime/compress/package-summary.html">org.apache.sysds.runtime.compress</a> that return types with arguments of type <a href="../../../../../../org/apache/sysds/runtime/data/SparseRow.html" title="class in org.apache.sysds.runtime.data">SparseRow</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/data/SparseRow.html" title="class in org.apache.sysds.runtime.data">SparseRow</a>&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#getSparseRowIterator-int-int-">getSparseRowIterator</a></span>(int&nbsp;rl,
-                    int&nbsp;ru)</code>&nbsp;</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList"><a name="org.apache.sysds.runtime.compress.colgroup">
-<!--   -->
-</a>
-<h3>Uses of <a href="../../../../../../org/apache/sysds/runtime/data/SparseRow.html" title="class in org.apache.sysds.runtime.data">SparseRow</a> in <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a></h3>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a> that return <a href="../../../../../../org/apache/sysds/runtime/data/SparseRow.html" title="class in org.apache.sysds.runtime.data">SparseRow</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/data/SparseRow.html" title="class in org.apache.sysds.runtime.data">SparseRow</a></code></td>
-<td class="colLast"><span class="typeNameLabel">SparseRowIterator.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/SparseRowIterator.html#next--">next</a></span>()</code>&nbsp;</td>
-</tr>
-</tbody>
-</table>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a> with parameters of type <a href="../../../../../../org/apache/sysds/runtime/data/SparseRow.html" title="class in org.apache.sysds.runtime.data">SparseRow</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupRLE.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#rightMultBySparseMatrix-org.apache.sysds.runtime.data.SparseRow:A-double:A-int-double:A-int-int-int-">rightMultBySparseMatrix</a></span>(<a href="../../../../../../org/apache/sysds/runtime/data/SparseRow.html" title="class in org.apache.sysds.runtime.data">SparseRow</a>[]&nbsp;rows,
-                       double[]&nbsp;c,
-                       int&nbsp;numVals,
-                       double[]&nbsp;dictVals,
-                       int&nbsp;nrColumns,
-                       int&nbsp;rl,
-                       int&nbsp;ru)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupConst.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#rightMultBySparseMatrix-org.apache.sysds.runtime.data.SparseRow:A-double:A-int-double:A-int-int-int-">rightMultBySparseMatrix</a></span>(<a href="../../../../../../org/apache/sysds/runtime/data/SparseRow.html" title="class in org.apache.sysds.runtime.data">SparseRow</a>[]&nbsp;rows,
-                       double[]&nbsp;c,
-                       int&nbsp;numVals,
-                       double[]&nbsp;dictVals,
-                       int&nbsp;nrColumns,
-                       int&nbsp;rl,
-                       int&nbsp;ru)</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupDDC1.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html#rightMultBySparseMatrix-org.apache.sysds.runtime.data.SparseRow:A-double:A-int-double:A-int-int-int-">rightMultBySparseMatrix</a></span>(<a href="../../../../../../org/apache/sysds/runtime/data/SparseRow.html" title="class in org.apache.sysds.runtime.data">SparseRow</a>[]&nbsp;rows,
-                       double[]&nbsp;c,
-                       int&nbsp;numVals,
-                       double[]&nbsp;dictVals,
-                       int&nbsp;nrColumns,
-                       int&nbsp;rl,
-                       int&nbsp;ru)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>abstract void</code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroup.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#rightMultBySparseMatrix-org.apache.sysds.runtime.data.SparseRow:A-double:A-int-double:A-int-int-int-">rightMultBySparseMatrix</a></span>(<a href="../../../../../../org/apache/sysds/runtime/data/SparseRow.html" title="class in org.apache.sysds.runtime.data">SparseRow</a>[]&nbsp;rows,
-                       double[]&nbsp;c,
-                       int&nbsp;numVals,
-                       double[]&nbsp;dictVals,
-                       int&nbsp;nrColumns,
-                       int&nbsp;rl,
-                       int&nbsp;ru)</code>
-<div class="block">Sparse right multiply by matrix, for which the compressed matrix is on the left and the uncompressed sparse is on
- the right.</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupUncompressed.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#rightMultBySparseMatrix-org.apache.sysds.runtime.data.SparseRow:A-double:A-int-double:A-int-int-int-">rightMultBySparseMatrix</a></span>(<a href="../../../../../../org/apache/sysds/runtime/data/SparseRow.html" title="class in org.apache.sysds.runtime.data">SparseRow</a>[]&nbsp;rows,
-                       double[]&nbsp;c,
-                       int&nbsp;numVals,
-                       double[]&nbsp;dictVals,
-                       int&nbsp;nrColumns,
-                       int&nbsp;rl,
-                       int&nbsp;ru)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupDDC2.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html#rightMultBySparseMatrix-org.apache.sysds.runtime.data.SparseRow:A-double:A-int-double:A-int-int-int-">rightMultBySparseMatrix</a></span>(<a href="../../../../../../org/apache/sysds/runtime/data/SparseRow.html" title="class in org.apache.sysds.runtime.data">SparseRow</a>[]&nbsp;rows,
-                       double[]&nbsp;c,
-                       int&nbsp;numVals,
-                       double[]&nbsp;dictVals,
-                       int&nbsp;nrColumns,
-                       int&nbsp;rl,
-                       int&nbsp;ru)</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupOLE.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#rightMultBySparseMatrix-org.apache.sysds.runtime.data.SparseRow:A-double:A-int-double:A-int-int-int-">rightMultBySparseMatrix</a></span>(<a href="../../../../../../org/apache/sysds/runtime/data/SparseRow.html" title="class in org.apache.sysds.runtime.data">SparseRow</a>[]&nbsp;rows,
-                       double[]&nbsp;c,
-                       int&nbsp;numVals,
-                       double[]&nbsp;dictVals,
-                       int&nbsp;nrColumns,
-                       int&nbsp;rl,
-                       int&nbsp;ru)</code>&nbsp;</td>
-</tr>
-</tbody>
-</table>
-</li>
 <li class="blockList"><a name="org.apache.sysds.runtime.data">
 <!--   -->
 </a>
@@ -426,6 +299,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/data/class-use/SparseRowScalar.html b/docs/api/java/org/apache/sysds/runtime/data/class-use/SparseRowScalar.html
index 1f1c536..a8e1807 100644
--- a/docs/api/java/org/apache/sysds/runtime/data/class-use/SparseRowScalar.html
+++ b/docs/api/java/org/apache/sysds/runtime/data/class-use/SparseRowScalar.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/data/class-use/SparseRowVector.html b/docs/api/java/org/apache/sysds/runtime/data/class-use/SparseRowVector.html
index dcd5854..7f260ed 100644
--- a/docs/api/java/org/apache/sysds/runtime/data/class-use/SparseRowVector.html
+++ b/docs/api/java/org/apache/sysds/runtime/data/class-use/SparseRowVector.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/data/class-use/TensorBlock.html b/docs/api/java/org/apache/sysds/runtime/data/class-use/TensorBlock.html
index f328b74..79d75c0 100644
--- a/docs/api/java/org/apache/sysds/runtime/data/class-use/TensorBlock.html
+++ b/docs/api/java/org/apache/sysds/runtime/data/class-use/TensorBlock.html
@@ -734,6 +734,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/data/class-use/TensorIndexes.html b/docs/api/java/org/apache/sysds/runtime/data/class-use/TensorIndexes.html
index ff655b1..254f6d2 100644
--- a/docs/api/java/org/apache/sysds/runtime/data/class-use/TensorIndexes.html
+++ b/docs/api/java/org/apache/sysds/runtime/data/class-use/TensorIndexes.html
@@ -451,6 +451,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/data/package-summary.html b/docs/api/java/org/apache/sysds/runtime/data/package-summary.html
index 6798a9e..7b35d2c 100644
--- a/docs/api/java/org/apache/sysds/runtime/data/package-summary.html
+++ b/docs/api/java/org/apache/sysds/runtime/data/package-summary.html
@@ -312,6 +312,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/data/package-tree.html b/docs/api/java/org/apache/sysds/runtime/data/package-tree.html
index ccd26d0..9e4f821 100644
--- a/docs/api/java/org/apache/sysds/runtime/data/package-tree.html
+++ b/docs/api/java/org/apache/sysds/runtime/data/package-tree.html
@@ -192,6 +192,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/data/package-use.html b/docs/api/java/org/apache/sysds/runtime/data/package-use.html
index 0db6fa5..85bf03c 100644
--- a/docs/api/java/org/apache/sysds/runtime/data/package-use.html
+++ b/docs/api/java/org/apache/sysds/runtime/data/package-use.html
@@ -87,46 +87,42 @@
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><a href="#org.apache.sysds.runtime.compress">org.apache.sysds.runtime.compress</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.compress.colgroup">org.apache.sysds.runtime.compress.colgroup</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.controlprogram.caching">org.apache.sysds.runtime.controlprogram.caching</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.controlprogram.context">org.apache.sysds.runtime.controlprogram.context</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.data">org.apache.sysds.runtime.data</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.spark">org.apache.sysds.runtime.instructions.spark</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.spark.functions">org.apache.sysds.runtime.instructions.spark.functions</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.spark.utils">org.apache.sysds.runtime.instructions.spark.utils</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.io">org.apache.sysds.runtime.io</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.matrix.data">org.apache.sysds.runtime.matrix.data</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.util">org.apache.sysds.runtime.util</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
@@ -151,24 +147,6 @@
 </tbody>
 </table>
 </li>
-<li class="blockList"><a name="org.apache.sysds.runtime.compress">
-<!--   -->
-</a>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
-<caption><span>Classes in <a href="../../../../../org/apache/sysds/runtime/data/package-summary.html">org.apache.sysds.runtime.data</a> used by <a href="../../../../../org/apache/sysds/runtime/compress/package-summary.html">org.apache.sysds.runtime.compress</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Class and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colOne"><a href="../../../../../org/apache/sysds/runtime/data/class-use/SparseRow.html#org.apache.sysds.runtime.compress">SparseRow</a>
-<div class="block">Base class for sparse row implementations such as sparse 
- row vectors and sparse scalars (single value per row).</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
 <li class="blockList"><a name="org.apache.sysds.runtime.compress.colgroup">
 <!--   -->
 </a>
@@ -183,12 +161,6 @@
 <div class="block">This SparseBlock is an abstraction for different sparse matrix formats.</div>
 </td>
 </tr>
-<tr class="rowColor">
-<td class="colOne"><a href="../../../../../org/apache/sysds/runtime/data/class-use/SparseRow.html#org.apache.sysds.runtime.compress.colgroup">SparseRow</a>
-<div class="block">Base class for sparse row implementations such as sparse 
- row vectors and sparse scalars (single value per row).</div>
-</td>
-</tr>
 </tbody>
 </table>
 </li>
@@ -502,6 +474,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/And.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/And.html
index 31a7384..3a1d27c 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/And.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/And.html
@@ -304,6 +304,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/BitwAnd.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/BitwAnd.html
index 4484bf3..5558082 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/BitwAnd.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/BitwAnd.html
@@ -304,6 +304,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/BitwOr.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/BitwOr.html
index c4c6f28..0f31745 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/BitwOr.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/BitwOr.html
@@ -304,6 +304,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/BitwShiftL.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/BitwShiftL.html
index 1951a21..96e1140 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/BitwShiftL.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/BitwShiftL.html
@@ -304,6 +304,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/BitwShiftR.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/BitwShiftR.html
index 699375d..1f98e1d 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/BitwShiftR.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/BitwShiftR.html
@@ -304,6 +304,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/BitwXor.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/BitwXor.html
index 3ff4be5..05b1509 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/BitwXor.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/BitwXor.html
@@ -304,6 +304,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/Builtin.BuiltinCode.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/Builtin.BuiltinCode.html
index 3fb5b57..216602a7 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/Builtin.BuiltinCode.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/Builtin.BuiltinCode.html
@@ -917,6 +917,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/Builtin.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/Builtin.html
index fa1792a..b318412 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/Builtin.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/Builtin.html
@@ -238,8 +238,8 @@
 </tr>
 <tr id="i8" class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/functionobjects/Builtin.html#isBuiltinCode-org.apache.sysds.runtime.functionobjects.ValueFunction-org.apache.sysds.runtime.functionobjects.Builtin.BuiltinCode-">isBuiltinCode</a></span>(<a href="../../../../../org/apache/sysds/runtime/functionobjects/ValueFunction.html" title="class in org.apache.sysds.runtime.functionobjects">ValueFunction</a>&nbsp;fn,
-             <a href="../../../../../org/apache/sysds/runtime/functionobjects/Builtin.BuiltinCode.html" title="enum in org.apache.sysds.runtime.functionobjects">Builtin.BuiltinCode</a>&nbsp;code)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/functionobjects/Builtin.html#isBuiltinCode-org.apache.sysds.runtime.functionobjects.ValueFunction-org.apache.sysds.runtime.functionobjects.Builtin.BuiltinCode...-">isBuiltinCode</a></span>(<a href="../../../../../org/apache/sysds/runtime/functionobjects/ValueFunction.html" title="class in org.apache.sysds.runtime.functionobjects">ValueFunction</a>&nbsp;fn,
+             <a href="../../../../../org/apache/sysds/runtime/functionobjects/Builtin.BuiltinCode.html" title="enum in org.apache.sysds.runtime.functionobjects">Builtin.BuiltinCode</a>...&nbsp;codes)</code>&nbsp;</td>
 </tr>
 <tr id="i9" class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
@@ -320,14 +320,14 @@
 <pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/functionobjects/Builtin.BuiltinCode.html" title="enum in org.apache.sysds.runtime.functionobjects">Builtin.BuiltinCode</a>&nbsp;getBuiltinCode()</pre>
 </li>
 </ul>
-<a name="isBuiltinCode-org.apache.sysds.runtime.functionobjects.ValueFunction-org.apache.sysds.runtime.functionobjects.Builtin.BuiltinCode-">
+<a name="isBuiltinCode-org.apache.sysds.runtime.functionobjects.ValueFunction-org.apache.sysds.runtime.functionobjects.Builtin.BuiltinCode...-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>isBuiltinCode</h4>
 <pre>public static&nbsp;boolean&nbsp;isBuiltinCode(<a href="../../../../../org/apache/sysds/runtime/functionobjects/ValueFunction.html" title="class in org.apache.sysds.runtime.functionobjects">ValueFunction</a>&nbsp;fn,
-                                    <a href="../../../../../org/apache/sysds/runtime/functionobjects/Builtin.BuiltinCode.html" title="enum in org.apache.sysds.runtime.functionobjects">Builtin.BuiltinCode</a>&nbsp;code)</pre>
+                                    <a href="../../../../../org/apache/sysds/runtime/functionobjects/Builtin.BuiltinCode.html" title="enum in org.apache.sysds.runtime.functionobjects">Builtin.BuiltinCode</a>...&nbsp;codes)</pre>
 </li>
 </ul>
 <a name="isBuiltinFnObject-java.lang.String-">
@@ -506,6 +506,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/CM.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/CM.html
index 45827f4..456dc1e 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/CM.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/CM.html
@@ -351,6 +351,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/COV.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/COV.html
index 1e900f5..fcfcb57 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/COV.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/COV.html
@@ -350,6 +350,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/CTable.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/CTable.html
index 4722430..6f2b737 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/CTable.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/CTable.html
@@ -368,6 +368,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/DiagIndex.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/DiagIndex.html
index 077a333..cde027f 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/DiagIndex.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/DiagIndex.html
@@ -349,6 +349,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/Divide.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/Divide.html
index a9e7225..94f9948 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/Divide.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/Divide.html
@@ -303,6 +303,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/Equals.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/Equals.html
index 6777e60..3a99d23 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/Equals.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/Equals.html
@@ -371,6 +371,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/FileFunction.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/FileFunction.html
index 7204d5a..81e3181 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/FileFunction.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/FileFunction.html
@@ -245,6 +245,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/FunctionObject.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/FunctionObject.html
index 0d256a1..48c13d6 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/FunctionObject.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/FunctionObject.html
@@ -450,6 +450,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/GreaterThan.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/GreaterThan.html
index 4a94cec..ac8345a 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/GreaterThan.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/GreaterThan.html
@@ -371,6 +371,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/GreaterThanEquals.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/GreaterThanEquals.html
index 1cd831e..17443ca 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/GreaterThanEquals.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/GreaterThanEquals.html
@@ -371,6 +371,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/IfElse.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/IfElse.html
index aa43a61..4569b48 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/IfElse.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/IfElse.html
@@ -307,6 +307,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/IndexFunction.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/IndexFunction.html
index 32e822d..d75e749 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/IndexFunction.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/IndexFunction.html
@@ -341,6 +341,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/IntegerDivide.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/IntegerDivide.html
index 5bd50bd..bdef779 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/IntegerDivide.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/IntegerDivide.html
@@ -303,6 +303,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/KahanFunction.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/KahanFunction.html
index 608c7eb..d9c9d54 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/KahanFunction.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/KahanFunction.html
@@ -347,6 +347,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/KahanPlus.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/KahanPlus.html
index 787fb25..e41a6df 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/KahanPlus.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/KahanPlus.html
@@ -359,6 +359,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/KahanPlusSq.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/KahanPlusSq.html
index cdbd775..f0c50b2 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/KahanPlusSq.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/KahanPlusSq.html
@@ -392,6 +392,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/LessThan.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/LessThan.html
index 361dd42..3743afa 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/LessThan.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/LessThan.html
@@ -371,6 +371,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/LessThanEquals.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/LessThanEquals.html
index 8dba117..7b110bc 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/LessThanEquals.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/LessThanEquals.html
@@ -371,6 +371,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/Mean.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/Mean.html
index 79f8ebd..4e64b5b 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/Mean.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/Mean.html
@@ -314,6 +314,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/Minus.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/Minus.html
index 3bb509e..8d4444e 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/Minus.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/Minus.html
@@ -304,6 +304,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/Minus1Multiply.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/Minus1Multiply.html
index cb0ad66..f1098e7 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/Minus1Multiply.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/Minus1Multiply.html
@@ -304,6 +304,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/MinusMultiply.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/MinusMultiply.html
index 08a1bca..dde2256 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/MinusMultiply.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/MinusMultiply.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":9,"i3":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":9,"i4":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -180,10 +180,14 @@
        double&nbsp;in3)</code>&nbsp;</td>
 </tr>
 <tr id="i2" class="altColor">
+<td class="colFirst"><code>double</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/functionobjects/MinusMultiply.html#getConstant--">getConstant</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/runtime/functionobjects/MinusMultiply.html" title="class in org.apache.sysds.runtime.functionobjects">MinusMultiply</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/functionobjects/MinusMultiply.html#getFnObject--">getFnObject</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/functionobjects/MinusMultiply.html#setOp2Constant-double-">setOp2Constant</a></span>(double&nbsp;cnt)</code>&nbsp;</td>
 </tr>
@@ -223,6 +227,15 @@
 <!--   -->
 </a>
 <h3>Method Detail</h3>
+<a name="getConstant--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getConstant</h4>
+<pre>public&nbsp;double&nbsp;getConstant()</pre>
+</li>
+</ul>
 <a name="getFnObject--">
 <!--   -->
 </a>
@@ -343,6 +356,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/MinusNz.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/MinusNz.html
index 957b2e8..9427bbb 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/MinusNz.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/MinusNz.html
@@ -304,6 +304,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/Modulus.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/Modulus.html
index 2a91eb3..9e3a502 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/Modulus.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/Modulus.html
@@ -308,6 +308,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/Multiply.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/Multiply.html
index daa9ce3..fa9459c 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/Multiply.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/Multiply.html
@@ -304,6 +304,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/Multiply2.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/Multiply2.html
index 775775f..34ca878 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/Multiply2.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/Multiply2.html
@@ -320,6 +320,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/Not.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/Not.html
index 10f1f54..8d8e767 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/Not.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/Not.html
@@ -299,6 +299,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/NotEquals.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/NotEquals.html
index 08ced7e..b3a5427 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/NotEquals.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/NotEquals.html
@@ -371,6 +371,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/OffsetColumnIndex.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/OffsetColumnIndex.html
index ae153e5..1cb1be0 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/OffsetColumnIndex.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/OffsetColumnIndex.html
@@ -349,6 +349,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/Or.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/Or.html
index 98adfcb..b24771f 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/Or.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/Or.html
@@ -304,6 +304,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/ParameterizedBuiltin.ParameterizedBuiltinCode.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/ParameterizedBuiltin.ParameterizedBuiltinCode.html
index d4453c0..7c31ff8 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/ParameterizedBuiltin.ParameterizedBuiltinCode.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/ParameterizedBuiltin.ParameterizedBuiltinCode.html
@@ -163,12 +163,15 @@
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/functionobjects/ParameterizedBuiltin.ParameterizedBuiltinCode.html#RMEMPTY">RMEMPTY</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/functionobjects/ParameterizedBuiltin.ParameterizedBuiltinCode.html#TRANSFORMAPPLY">TRANSFORMAPPLY</a></span></code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/functionobjects/ParameterizedBuiltin.ParameterizedBuiltinCode.html#TOKENIZE">TOKENIZE</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/functionobjects/ParameterizedBuiltin.ParameterizedBuiltinCode.html#TRANSFORMDECODE">TRANSFORMDECODE</a></span></code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/functionobjects/ParameterizedBuiltin.ParameterizedBuiltinCode.html#TRANSFORMAPPLY">TRANSFORMAPPLY</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/functionobjects/ParameterizedBuiltin.ParameterizedBuiltinCode.html#TRANSFORMDECODE">TRANSFORMDECODE</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/functionobjects/ParameterizedBuiltin.ParameterizedBuiltinCode.html#UPPER_TRI">UPPER_TRI</a></span></code>&nbsp;</td>
 </tr>
 </table>
@@ -291,6 +294,15 @@
 <pre>public static final&nbsp;<a href="../../../../../org/apache/sysds/runtime/functionobjects/ParameterizedBuiltin.ParameterizedBuiltinCode.html" title="enum in org.apache.sysds.runtime.functionobjects">ParameterizedBuiltin.ParameterizedBuiltinCode</a> UPPER_TRI</pre>
 </li>
 </ul>
+<a name="TOKENIZE">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>TOKENIZE</h4>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/sysds/runtime/functionobjects/ParameterizedBuiltin.ParameterizedBuiltinCode.html" title="enum in org.apache.sysds.runtime.functionobjects">ParameterizedBuiltin.ParameterizedBuiltinCode</a> TOKENIZE</pre>
+</li>
+</ul>
 <a name="TRANSFORMAPPLY">
 <!--   -->
 </a>
@@ -437,6 +449,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/ParameterizedBuiltin.ProbabilityDistributionCode.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/ParameterizedBuiltin.ProbabilityDistributionCode.html
index 23f75b8..5ea4031 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/ParameterizedBuiltin.ProbabilityDistributionCode.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/ParameterizedBuiltin.ProbabilityDistributionCode.html
@@ -389,6 +389,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/ParameterizedBuiltin.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/ParameterizedBuiltin.html
index de290e5..448b585 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/ParameterizedBuiltin.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/ParameterizedBuiltin.html
@@ -397,6 +397,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/Plus.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/Plus.html
index fe737b4..f99f76e 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/Plus.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/Plus.html
@@ -323,6 +323,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/PlusMultiply.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/PlusMultiply.html
index b036e6f..41ee523 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/PlusMultiply.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/PlusMultiply.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":9,"i3":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":9,"i4":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -180,10 +180,14 @@
        double&nbsp;in3)</code>&nbsp;</td>
 </tr>
 <tr id="i2" class="altColor">
+<td class="colFirst"><code>double</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/functionobjects/PlusMultiply.html#getConstant--">getConstant</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/runtime/functionobjects/PlusMultiply.html" title="class in org.apache.sysds.runtime.functionobjects">PlusMultiply</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/functionobjects/PlusMultiply.html#getFnObject--">getFnObject</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/functionobjects/PlusMultiply.html#setOp2Constant-double-">setOp2Constant</a></span>(double&nbsp;cnt)</code>&nbsp;</td>
 </tr>
@@ -232,6 +236,15 @@
 <pre>public static&nbsp;<a href="../../../../../org/apache/sysds/runtime/functionobjects/PlusMultiply.html" title="class in org.apache.sysds.runtime.functionobjects">PlusMultiply</a>&nbsp;getFnObject()</pre>
 </li>
 </ul>
+<a name="getConstant--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getConstant</h4>
+<pre>public&nbsp;double&nbsp;getConstant()</pre>
+</li>
+</ul>
 <a name="execute-double-double-double-">
 <!--   -->
 </a>
@@ -343,6 +356,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/Power.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/Power.html
index 0c41cf1..2f6d9ba 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/Power.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/Power.html
@@ -303,6 +303,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/Power2.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/Power2.html
index a0814fb..c47ad1b 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/Power2.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/Power2.html
@@ -320,6 +320,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/ReduceAll.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/ReduceAll.html
index e709b74..b853996 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/ReduceAll.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/ReduceAll.html
@@ -336,6 +336,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/ReduceCol.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/ReduceCol.html
index 81e9452..e74af4b 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/ReduceCol.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/ReduceCol.html
@@ -336,6 +336,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/ReduceDiag.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/ReduceDiag.html
index 112c2e9..c6dcc3b 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/ReduceDiag.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/ReduceDiag.html
@@ -336,6 +336,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/ReduceRow.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/ReduceRow.html
index c12894b..61528f1 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/ReduceRow.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/ReduceRow.html
@@ -336,6 +336,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/RevIndex.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/RevIndex.html
index f295ac0..79f524e 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/RevIndex.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/RevIndex.html
@@ -337,6 +337,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/SortIndex.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/SortIndex.html
index 087797f..f54eb25 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/SortIndex.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/SortIndex.html
@@ -418,6 +418,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/SwapIndex.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/SwapIndex.html
index b8aac1c..718390a 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/SwapIndex.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/SwapIndex.html
@@ -337,6 +337,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/TernaryValueFunction.ValueFunctionWithConstant.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/TernaryValueFunction.ValueFunctionWithConstant.html
index 633d1c7..5bf4322 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/TernaryValueFunction.ValueFunctionWithConstant.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/TernaryValueFunction.ValueFunctionWithConstant.html
@@ -225,6 +225,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/TernaryValueFunction.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/TernaryValueFunction.html
index e18a93c..1daef46 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/TernaryValueFunction.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/TernaryValueFunction.html
@@ -327,6 +327,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/ValueComparisonFunction.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/ValueComparisonFunction.html
index fcc6278..b4992ed 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/ValueComparisonFunction.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/ValueComparisonFunction.html
@@ -353,6 +353,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/ValueFunction.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/ValueFunction.html
index 37ea5f9..fcaa9d4 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/ValueFunction.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/ValueFunction.html
@@ -292,6 +292,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/Xor.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/Xor.html
index 6363cbc..1e38deb 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/Xor.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/Xor.html
@@ -304,6 +304,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/And.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/And.html
index 96eb82b..bbf304b 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/And.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/And.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/BitwAnd.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/BitwAnd.html
index 947157f..3d1b34a 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/BitwAnd.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/BitwAnd.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/BitwOr.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/BitwOr.html
index 2687a1e..29afa01 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/BitwOr.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/BitwOr.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/BitwShiftL.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/BitwShiftL.html
index f860421..17b1da0 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/BitwShiftL.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/BitwShiftL.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/BitwShiftR.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/BitwShiftR.html
index e411ec7..326347a 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/BitwShiftR.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/BitwShiftR.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/BitwXor.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/BitwXor.html
index d79ffa7..7ad66b3 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/BitwXor.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/BitwXor.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/Builtin.BuiltinCode.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/Builtin.BuiltinCode.html
index 88c151b..ecd4707 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/Builtin.BuiltinCode.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/Builtin.BuiltinCode.html
@@ -160,8 +160,8 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
-<td class="colLast"><span class="typeNameLabel">Builtin.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/functionobjects/Builtin.html#isBuiltinCode-org.apache.sysds.runtime.functionobjects.ValueFunction-org.apache.sysds.runtime.functionobjects.Builtin.BuiltinCode-">isBuiltinCode</a></span>(<a href="../../../../../../org/apache/sysds/runtime/functionobjects/ValueFunction.html" title="class in org.apache.sysds.runtime.functionobjects">ValueFunction</a>&nbsp;fn,
-             <a href="../../../../../../org/apache/sysds/runtime/functionobjects/Builtin.BuiltinCode.html" title="enum in org.apache.sysds.runtime.functionobjects">Builtin.BuiltinCode</a>&nbsp;code)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">Builtin.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/functionobjects/Builtin.html#isBuiltinCode-org.apache.sysds.runtime.functionobjects.ValueFunction-org.apache.sysds.runtime.functionobjects.Builtin.BuiltinCode...-">isBuiltinCode</a></span>(<a href="../../../../../../org/apache/sysds/runtime/functionobjects/ValueFunction.html" title="class in org.apache.sysds.runtime.functionobjects">ValueFunction</a>&nbsp;fn,
+             <a href="../../../../../../org/apache/sysds/runtime/functionobjects/Builtin.BuiltinCode.html" title="enum in org.apache.sysds.runtime.functionobjects">Builtin.BuiltinCode</a>...&nbsp;codes)</code>&nbsp;</td>
 </tr>
 </tbody>
 </table>
@@ -217,6 +217,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/Builtin.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/Builtin.html
index eb440ca..90a4f67 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/Builtin.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/Builtin.html
@@ -132,6 +132,28 @@
 <div class="block">Aggregates the columns into the target double array provided.</div>
 </td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><code>abstract double[]</code></td>
+<td class="colLast"><span class="typeNameLabel">ADictionary.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#aggregateTuples-org.apache.sysds.runtime.functionobjects.Builtin-int-">aggregateTuples</a></span>(<a href="../../../../../../org/apache/sysds/runtime/functionobjects/Builtin.html" title="class in org.apache.sysds.runtime.functionobjects">Builtin</a>&nbsp;fn,
+               int&nbsp;nCol)</code>
+<div class="block">Aggregate all entries in the rows.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>double[]</code></td>
+<td class="colLast"><span class="typeNameLabel">Dictionary.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html#aggregateTuples-org.apache.sysds.runtime.functionobjects.Builtin-int-">aggregateTuples</a></span>(<a href="../../../../../../org/apache/sysds/runtime/functionobjects/Builtin.html" title="class in org.apache.sysds.runtime.functionobjects">Builtin</a>&nbsp;fn,
+               int&nbsp;nCol)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>double[]</code></td>
+<td class="colLast"><span class="typeNameLabel">QDictionary.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html#aggregateTuples-org.apache.sysds.runtime.functionobjects.Builtin-int-">aggregateTuples</a></span>(<a href="../../../../../../org/apache/sysds/runtime/functionobjects/Builtin.html" title="class in org.apache.sysds.runtime.functionobjects">Builtin</a>&nbsp;fn,
+               int&nbsp;nCol)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>double</code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupUncompressed.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#computeMxx-double-org.apache.sysds.runtime.functionobjects.Builtin-">computeMxx</a></span>(double&nbsp;c,
+          <a href="../../../../../../org/apache/sysds/runtime/functionobjects/Builtin.html" title="class in org.apache.sysds.runtime.functionobjects">Builtin</a>&nbsp;builtin)</code>&nbsp;</td>
+</tr>
 </tbody>
 </table>
 </li>
@@ -208,6 +230,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/CM.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/CM.html
index b522909..fbed11b 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/CM.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/CM.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/COV.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/COV.html
index 3d1e296..8c65de0 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/COV.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/COV.html
@@ -193,6 +193,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/CTable.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/CTable.html
index 5f5e44f..effd3f1 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/CTable.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/CTable.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/DiagIndex.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/DiagIndex.html
index 1970817..9904cea 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/DiagIndex.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/DiagIndex.html
@@ -164,6 +164,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/Divide.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/Divide.html
index b40924d..086b8ae 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/Divide.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/Divide.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/Equals.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/Equals.html
index cdb0513..15b51e0 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/Equals.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/Equals.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/FileFunction.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/FileFunction.html
index ca53e37..d75b5c3 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/FileFunction.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/FileFunction.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/FunctionObject.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/FunctionObject.html
index 8c52a68..feedaee 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/FunctionObject.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/FunctionObject.html
@@ -425,6 +425,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/GreaterThan.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/GreaterThan.html
index 9b11032..fbf1c6a 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/GreaterThan.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/GreaterThan.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/GreaterThanEquals.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/GreaterThanEquals.html
index 01b776a..954bc62 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/GreaterThanEquals.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/GreaterThanEquals.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/IfElse.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/IfElse.html
index 30b720b..0af9530 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/IfElse.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/IfElse.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/IndexFunction.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/IndexFunction.html
index adc79c6..937dd37 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/IndexFunction.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/IndexFunction.html
@@ -273,6 +273,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/IntegerDivide.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/IntegerDivide.html
index 075981b..3f6ea6d 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/IntegerDivide.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/IntegerDivide.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/KahanFunction.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/KahanFunction.html
index 55b5d76..ab918c7 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/KahanFunction.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/KahanFunction.html
@@ -167,6 +167,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/KahanPlus.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/KahanPlus.html
index 1ff05b4..8c2d57d 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/KahanPlus.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/KahanPlus.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/KahanPlusSq.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/KahanPlusSq.html
index b723e9b..30b5930 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/KahanPlusSq.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/KahanPlusSq.html
@@ -162,6 +162,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/LessThan.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/LessThan.html
index 06f2555..41559a0 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/LessThan.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/LessThan.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/LessThanEquals.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/LessThanEquals.html
index 0444c29..d96f4b0 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/LessThanEquals.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/LessThanEquals.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/Mean.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/Mean.html
index fe3d873..e584040 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/Mean.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/Mean.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/Minus.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/Minus.html
index 0d35bb6..3d4fbbf 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/Minus.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/Minus.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/Minus1Multiply.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/Minus1Multiply.html
index a96a9eb..435cb0c 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/Minus1Multiply.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/Minus1Multiply.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/MinusMultiply.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/MinusMultiply.html
index c83dd0b..403f8bb 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/MinusMultiply.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/MinusMultiply.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/MinusNz.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/MinusNz.html
index 8273a03..e179ca7 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/MinusNz.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/MinusNz.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/Modulus.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/Modulus.html
index d5a5bea..7100e3c 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/Modulus.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/Modulus.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/Multiply.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/Multiply.html
index 751e637..bb46834 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/Multiply.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/Multiply.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/Multiply2.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/Multiply2.html
index 49de7b1..43bec14 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/Multiply2.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/Multiply2.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/Not.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/Not.html
index e7d7313..f3a5337 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/Not.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/Not.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/NotEquals.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/NotEquals.html
index 9625931..e789267 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/NotEquals.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/NotEquals.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/OffsetColumnIndex.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/OffsetColumnIndex.html
index 30842cb..eb29f51 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/OffsetColumnIndex.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/OffsetColumnIndex.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/Or.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/Or.html
index d67e6b2..065f816 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/Or.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/Or.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/ParameterizedBuiltin.ParameterizedBuiltinCode.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/ParameterizedBuiltin.ParameterizedBuiltinCode.html
index 647bce8..6cc9f78 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/ParameterizedBuiltin.ParameterizedBuiltinCode.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/ParameterizedBuiltin.ParameterizedBuiltinCode.html
@@ -195,6 +195,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/ParameterizedBuiltin.ProbabilityDistributionCode.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/ParameterizedBuiltin.ProbabilityDistributionCode.html
index 1cd6a55..4c72d1e 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/ParameterizedBuiltin.ProbabilityDistributionCode.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/ParameterizedBuiltin.ProbabilityDistributionCode.html
@@ -195,6 +195,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/ParameterizedBuiltin.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/ParameterizedBuiltin.html
index 6e91118..ecf89b6 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/ParameterizedBuiltin.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/ParameterizedBuiltin.html
@@ -165,6 +165,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/Plus.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/Plus.html
index c7cd892..66297aa 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/Plus.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/Plus.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/PlusMultiply.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/PlusMultiply.html
index a2e365f..5278456 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/PlusMultiply.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/PlusMultiply.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/Power.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/Power.html
index 709373c..789437b 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/Power.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/Power.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/Power2.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/Power2.html
index 8661a48..f8f5b2a 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/Power2.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/Power2.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/ReduceAll.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/ReduceAll.html
index 07df895..7e0b818 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/ReduceAll.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/ReduceAll.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/ReduceCol.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/ReduceCol.html
index a15c707..4cfd5c1 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/ReduceCol.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/ReduceCol.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/ReduceDiag.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/ReduceDiag.html
index a418952..95e39a0 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/ReduceDiag.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/ReduceDiag.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/ReduceRow.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/ReduceRow.html
index 20e0670..563cc7c 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/ReduceRow.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/ReduceRow.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/RevIndex.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/RevIndex.html
index 6f07690..a39f137 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/RevIndex.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/RevIndex.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/SortIndex.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/SortIndex.html
index 32d6d31..8f27738 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/SortIndex.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/SortIndex.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/SwapIndex.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/SwapIndex.html
index f41f351..05ce9d8 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/SwapIndex.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/SwapIndex.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/TernaryValueFunction.ValueFunctionWithConstant.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/TernaryValueFunction.ValueFunctionWithConstant.html
index 46b34ef..31f136b 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/TernaryValueFunction.ValueFunctionWithConstant.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/TernaryValueFunction.ValueFunctionWithConstant.html
@@ -164,6 +164,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/TernaryValueFunction.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/TernaryValueFunction.html
index 68ef550..98a9273 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/TernaryValueFunction.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/TernaryValueFunction.html
@@ -145,7 +145,8 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/operators/TernaryOperator.html#TernaryOperator-org.apache.sysds.runtime.functionobjects.TernaryValueFunction-">TernaryOperator</a></span>(<a href="../../../../../../org/apache/sysds/runtime/functionobjects/TernaryValueFunction.html" title="class in org.apache.sysds.runtime.functionobjects">TernaryValueFunction</a>&nbsp;p)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/operators/TernaryOperator.html#TernaryOperator-org.apache.sysds.runtime.functionobjects.TernaryValueFunction-int-">TernaryOperator</a></span>(<a href="../../../../../../org/apache/sysds/runtime/functionobjects/TernaryValueFunction.html" title="class in org.apache.sysds.runtime.functionobjects">TernaryValueFunction</a>&nbsp;p,
+               int&nbsp;numThreads)</code>&nbsp;</td>
 </tr>
 </tbody>
 </table>
@@ -201,6 +202,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/ValueComparisonFunction.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/ValueComparisonFunction.html
index 44c39f5..01b235f 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/ValueComparisonFunction.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/ValueComparisonFunction.html
@@ -180,6 +180,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/ValueFunction.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/ValueFunction.html
index f4a251d..1944011 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/ValueFunction.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/ValueFunction.html
@@ -137,25 +137,63 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code>abstract <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></code></td>
-<td class="colLast"><span class="typeNameLabel">ADictionary.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#applyBinaryRowOp-org.apache.sysds.runtime.functionobjects.ValueFunction-double:A-boolean-int:A-">applyBinaryRowOp</a></span>(<a href="../../../../../../org/apache/sysds/runtime/functionobjects/ValueFunction.html" title="class in org.apache.sysds.runtime.functionobjects">ValueFunction</a>&nbsp;fn,
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupValue.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#applyBinaryRowOp-org.apache.sysds.runtime.functionobjects.ValueFunction-double:A-boolean-boolean-">applyBinaryRowOp</a></span>(<a href="../../../../../../org/apache/sysds/runtime/functionobjects/ValueFunction.html" title="class in org.apache.sysds.runtime.functionobjects">ValueFunction</a>&nbsp;fn,
                 double[]&nbsp;v,
                 boolean&nbsp;sparseSafe,
-                int[]&nbsp;colIndexes)</code>&nbsp;</td>
+                boolean&nbsp;left)</code>
+<div class="block">Apply the binary row-wise operator to the dictionary, and copy it appropriately if needed.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ADictionary.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#applyBinaryRowOp-org.apache.sysds.runtime.functionobjects.ValueFunction-double:A-boolean-int:A-boolean-">applyBinaryRowOp</a></span>(<a href="../../../../../../org/apache/sysds/runtime/functionobjects/ValueFunction.html" title="class in org.apache.sysds.runtime.functionobjects">ValueFunction</a>&nbsp;fn,
+                double[]&nbsp;v,
+                boolean&nbsp;sparseSafe,
+                int[]&nbsp;colIndexes,
+                boolean&nbsp;left)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>abstract <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ADictionary.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#applyBinaryRowOpLeft-org.apache.sysds.runtime.functionobjects.ValueFunction-double:A-boolean-int:A-">applyBinaryRowOpLeft</a></span>(<a href="../../../../../../org/apache/sysds/runtime/functionobjects/ValueFunction.html" title="class in org.apache.sysds.runtime.functionobjects">ValueFunction</a>&nbsp;fn,
+                    double[]&nbsp;v,
+                    boolean&nbsp;sparseSafe,
+                    int[]&nbsp;colIndexes)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">Dictionary</a></code></td>
-<td class="colLast"><span class="typeNameLabel">Dictionary.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html#applyBinaryRowOp-org.apache.sysds.runtime.functionobjects.ValueFunction-double:A-boolean-int:A-">applyBinaryRowOp</a></span>(<a href="../../../../../../org/apache/sysds/runtime/functionobjects/ValueFunction.html" title="class in org.apache.sysds.runtime.functionobjects">ValueFunction</a>&nbsp;fn,
-                double[]&nbsp;v,
-                boolean&nbsp;sparseSafe,
-                int[]&nbsp;colIndexes)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">Dictionary.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html#applyBinaryRowOpLeft-org.apache.sysds.runtime.functionobjects.ValueFunction-double:A-boolean-int:A-">applyBinaryRowOpLeft</a></span>(<a href="../../../../../../org/apache/sysds/runtime/functionobjects/ValueFunction.html" title="class in org.apache.sysds.runtime.functionobjects">ValueFunction</a>&nbsp;fn,
+                    double[]&nbsp;v,
+                    boolean&nbsp;sparseSafe,
+                    int[]&nbsp;colIndexes)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">QDictionary</a></code></td>
-<td class="colLast"><span class="typeNameLabel">QDictionary.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html#applyBinaryRowOp-org.apache.sysds.runtime.functionobjects.ValueFunction-double:A-boolean-int:A-">applyBinaryRowOp</a></span>(<a href="../../../../../../org/apache/sysds/runtime/functionobjects/ValueFunction.html" title="class in org.apache.sysds.runtime.functionobjects">ValueFunction</a>&nbsp;fn,
-                double[]&nbsp;v,
-                boolean&nbsp;sparseSafe,
-                int[]&nbsp;colIndexes)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">QDictionary.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html#applyBinaryRowOpLeft-org.apache.sysds.runtime.functionobjects.ValueFunction-double:A-boolean-int:A-">applyBinaryRowOpLeft</a></span>(<a href="../../../../../../org/apache/sysds/runtime/functionobjects/ValueFunction.html" title="class in org.apache.sysds.runtime.functionobjects">ValueFunction</a>&nbsp;fn,
+                    double[]&nbsp;v,
+                    boolean&nbsp;sparseSafe,
+                    int[]&nbsp;colIndexes)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>abstract <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ADictionary.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#applyBinaryRowOpRight-org.apache.sysds.runtime.functionobjects.ValueFunction-double:A-boolean-int:A-">applyBinaryRowOpRight</a></span>(<a href="../../../../../../org/apache/sysds/runtime/functionobjects/ValueFunction.html" title="class in org.apache.sysds.runtime.functionobjects">ValueFunction</a>&nbsp;fn,
+                     double[]&nbsp;v,
+                     boolean&nbsp;sparseSafe,
+                     int[]&nbsp;colIndexes)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">Dictionary</a></code></td>
+<td class="colLast"><span class="typeNameLabel">Dictionary.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html#applyBinaryRowOpRight-org.apache.sysds.runtime.functionobjects.ValueFunction-double:A-boolean-int:A-">applyBinaryRowOpRight</a></span>(<a href="../../../../../../org/apache/sysds/runtime/functionobjects/ValueFunction.html" title="class in org.apache.sysds.runtime.functionobjects">ValueFunction</a>&nbsp;fn,
+                     double[]&nbsp;v,
+                     boolean&nbsp;sparseSafe,
+                     int[]&nbsp;colIndexes)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">QDictionary</a></code></td>
+<td class="colLast"><span class="typeNameLabel">QDictionary.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html#applyBinaryRowOpRight-org.apache.sysds.runtime.functionobjects.ValueFunction-double:A-boolean-int:A-">applyBinaryRowOpRight</a></span>(<a href="../../../../../../org/apache/sysds/runtime/functionobjects/ValueFunction.html" title="class in org.apache.sysds.runtime.functionobjects">ValueFunction</a>&nbsp;fn,
+                     double[]&nbsp;v,
+                     boolean&nbsp;sparseSafe,
+                     int[]&nbsp;colIndexes)</code>&nbsp;</td>
 </tr>
 </tbody>
 </table>
@@ -367,8 +405,8 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
-<td class="colLast"><span class="typeNameLabel">Builtin.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/functionobjects/Builtin.html#isBuiltinCode-org.apache.sysds.runtime.functionobjects.ValueFunction-org.apache.sysds.runtime.functionobjects.Builtin.BuiltinCode-">isBuiltinCode</a></span>(<a href="../../../../../../org/apache/sysds/runtime/functionobjects/ValueFunction.html" title="class in org.apache.sysds.runtime.functionobjects">ValueFunction</a>&nbsp;fn,
-             <a href="../../../../../../org/apache/sysds/runtime/functionobjects/Builtin.BuiltinCode.html" title="enum in org.apache.sysds.runtime.functionobjects">Builtin.BuiltinCode</a>&nbsp;code)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">Builtin.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/functionobjects/Builtin.html#isBuiltinCode-org.apache.sysds.runtime.functionobjects.ValueFunction-org.apache.sysds.runtime.functionobjects.Builtin.BuiltinCode...-">isBuiltinCode</a></span>(<a href="../../../../../../org/apache/sysds/runtime/functionobjects/ValueFunction.html" title="class in org.apache.sysds.runtime.functionobjects">ValueFunction</a>&nbsp;fn,
+             <a href="../../../../../../org/apache/sysds/runtime/functionobjects/Builtin.BuiltinCode.html" title="enum in org.apache.sysds.runtime.functionobjects">Builtin.BuiltinCode</a>...&nbsp;codes)</code>&nbsp;</td>
 </tr>
 </tbody>
 </table>
@@ -573,6 +611,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/Xor.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/Xor.html
index b7191db..c8a2e92 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/Xor.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/Xor.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/package-summary.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/package-summary.html
index 2675a2d..8103d06 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/package-summary.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/package-summary.html
@@ -412,6 +412,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/package-tree.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/package-tree.html
index 18285e5..8c606cb 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/package-tree.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/package-tree.html
@@ -221,6 +221,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/package-use.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/package-use.html
index 0a88d7b..c39aaf6 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/package-use.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/package-use.html
@@ -437,6 +437,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/CPInstructionParser.html b/docs/api/java/org/apache/sysds/runtime/instructions/CPInstructionParser.html
index 7f081c2..bbe1235 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/CPInstructionParser.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/CPInstructionParser.html
@@ -330,6 +330,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/FEDInstructionParser.html b/docs/api/java/org/apache/sysds/runtime/instructions/FEDInstructionParser.html
index f8ed1e9..061fa7f 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/FEDInstructionParser.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/FEDInstructionParser.html
@@ -330,6 +330,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/GPUInstructionParser.html b/docs/api/java/org/apache/sysds/runtime/instructions/GPUInstructionParser.html
index e07fb84..fbf006f 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/GPUInstructionParser.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/GPUInstructionParser.html
@@ -294,6 +294,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/Instruction.IType.html b/docs/api/java/org/apache/sysds/runtime/instructions/Instruction.IType.html
index fef145c..2077d3d 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/Instruction.IType.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/Instruction.IType.html
@@ -377,6 +377,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/Instruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/Instruction.html
index cbd5f86..11a60cd 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/Instruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/Instruction.html
@@ -840,6 +840,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/InstructionParser.html b/docs/api/java/org/apache/sysds/runtime/instructions/InstructionParser.html
index 85a8f33..4ccc61c 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/InstructionParser.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/InstructionParser.html
@@ -284,6 +284,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/InstructionUtils.html b/docs/api/java/org/apache/sysds/runtime/instructions/InstructionUtils.html
index 30587c2..f6e9722 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/InstructionUtils.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/InstructionUtils.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":9,"i11":9,"i12":9,"i13":9,"i14":9,"i15":9,"i16":9,"i17":9,"i18":9,"i19":9,"i20":9,"i21":9,"i22":9,"i23":9,"i24":9,"i25":9,"i26":9,"i27":9,"i28":9,"i29":9,"i30":9,"i31":9,"i32":9,"i33":9,"i34":9,"i35":9,"i36":9,"i37":9,"i38":9,"i39":9,"i40":9,"i41":9,"i42":9,"i43":9};
+var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":9,"i11":9,"i12":9,"i13":9,"i14":9,"i15":9,"i16":9,"i17":9,"i18":9,"i19":9,"i20":9,"i21":9,"i22":9,"i23":9,"i24":9,"i25":9,"i26":9,"i27":9,"i28":9,"i29":9,"i30":9,"i31":9,"i32":9,"i33":9,"i34":9,"i35":9,"i36":9,"i37":9,"i38":9,"i39":9,"i40":9,"i41":9,"i42":9,"i43":9,"i44":9,"i45":9,"i46":9,"i47":9,"i48":9,"i49":9};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -186,49 +186,74 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/instructions/InstructionUtils.html#concatStrings-java.lang.String...-">concatStrings</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;inputs)</code>&nbsp;</td>
 </tr>
 <tr id="i8" class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/common/Types.CorrectionLocationType.html" title="enum in org.apache.sysds.common">Types.CorrectionLocationType</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/instructions/InstructionUtils.html#deriveAggregateOperatorCorrectionLocation-java.lang.String-">deriveAggregateOperatorCorrectionLocation</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;opcode)</code>&nbsp;</td>
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/instructions/InstructionUtils.html#constructBinaryInstString-java.lang.String-java.lang.String-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-">constructBinaryInstString</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;instString,
+                         <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;opcode,
+                         <a href="../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;op1,
+                         <a href="../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;op2,
+                         <a href="../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;out)</code>&nbsp;</td>
 </tr>
 <tr id="i9" class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/instructions/InstructionUtils.html#deriveAggregateOperatorOpcode-java.lang.String-">deriveAggregateOperatorOpcode</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;opcode)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/instructions/InstructionUtils.html#constructTernaryString-java.lang.String-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-">constructTernaryString</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;instString,
+                      <a href="../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;op1,
+                      <a href="../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;op2,
+                      <a href="../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;op3,
+                      <a href="../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;out)</code>&nbsp;</td>
 </tr>
 <tr id="i10" class="altColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/instructions/InstructionUtils.html#createLiteralOperand-java.lang.String-org.apache.sysds.common.Types.ValueType-">createLiteralOperand</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;val,
+                    <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt)</code>&nbsp;</td>
+</tr>
+<tr id="i11" class="rowColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/instructions/InstructionUtils.html#createOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-">createOperand</a></span>(<a href="../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;operand)</code>&nbsp;</td>
+</tr>
+<tr id="i12" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/common/Types.CorrectionLocationType.html" title="enum in org.apache.sysds.common">Types.CorrectionLocationType</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/instructions/InstructionUtils.html#deriveAggregateOperatorCorrectionLocation-java.lang.String-">deriveAggregateOperatorCorrectionLocation</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;opcode)</code>&nbsp;</td>
+</tr>
+<tr id="i13" class="rowColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/instructions/InstructionUtils.html#deriveAggregateOperatorOpcode-java.lang.String-">deriveAggregateOperatorOpcode</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;opcode)</code>&nbsp;</td>
+</tr>
+<tr id="i14" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/common/Types.Direction.html" title="enum in org.apache.sysds.common">Types.Direction</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/instructions/InstructionUtils.html#getAggDirection-java.lang.String-">getAggDirection</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;opcode)</code>&nbsp;</td>
 </tr>
-<tr id="i11" class="rowColor">
+<tr id="i15" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/common/Types.AggOp.html" title="enum in org.apache.sysds.common">Types.AggOp</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/instructions/InstructionUtils.html#getAggOp-java.lang.String-">getAggOp</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;opcode)</code>&nbsp;</td>
 </tr>
-<tr id="i12" class="altColor">
+<tr id="i16" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/runtime/instructions/cp/CPInstruction.CPType.html" title="enum in org.apache.sysds.runtime.instructions.cp">CPInstruction.CPType</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/instructions/InstructionUtils.html#getCPType-java.lang.String-">getCPType</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</code>&nbsp;</td>
 </tr>
-<tr id="i13" class="rowColor">
+<tr id="i17" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/runtime/instructions/cp/CPInstruction.CPType.html" title="enum in org.apache.sysds.runtime.instructions.cp">CPInstruction.CPType</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/instructions/InstructionUtils.html#getCPTypeByOpcode-java.lang.String-">getCPTypeByOpcode</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;opcode)</code>&nbsp;</td>
 </tr>
-<tr id="i14" class="altColor">
+<tr id="i18" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/instructions/InstructionUtils.html#getExecType-java.lang.String-">getExecType</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</code>&nbsp;</td>
 </tr>
-<tr id="i15" class="rowColor">
+<tr id="i19" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.FEDType.html" title="enum in org.apache.sysds.runtime.instructions.fed">FEDInstruction.FEDType</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/instructions/InstructionUtils.html#getFEDType-java.lang.String-">getFEDType</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</code>&nbsp;</td>
 </tr>
-<tr id="i16" class="altColor">
+<tr id="i20" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.GPUINSTRUCTION_TYPE.html" title="enum in org.apache.sysds.runtime.instructions.gpu">GPUInstruction.GPUINSTRUCTION_TYPE</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/instructions/InstructionUtils.html#getGPUType-java.lang.String-">getGPUType</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</code>&nbsp;</td>
 </tr>
-<tr id="i17" class="rowColor">
+<tr id="i21" class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/instructions/InstructionUtils.html#getInstructionParts-java.lang.String-">getInstructionParts</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</code>
 <div class="block">Given an instruction string, strip-off the execution type and return 
  opcode and all input/output operands WITHOUT their data/value type.</div>
 </td>
 </tr>
-<tr id="i18" class="altColor">
+<tr id="i22" class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/instructions/InstructionUtils.html#getInstructionPartsWithValueType-java.lang.String-">getInstructionPartsWithValueType</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</code>
 <div class="block">Given an instruction string, this function strips-off the 
@@ -236,98 +261,104 @@
  which include the opcode as well as the input and output operands.</div>
 </td>
 </tr>
-<tr id="i19" class="rowColor">
+<tr id="i23" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/runtime/matrix/operators/AggregateBinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateBinaryOperator</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/instructions/InstructionUtils.html#getMatMultOperator-int-">getMatMultOperator</a></span>(int&nbsp;k)</code>&nbsp;</td>
 </tr>
-<tr id="i20" class="altColor">
+<tr id="i24" class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/instructions/InstructionUtils.html#getOpCode-java.lang.String-">getOpCode</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</code>&nbsp;</td>
 </tr>
-<tr id="i21" class="rowColor">
+<tr id="i25" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.SPType.html" title="enum in org.apache.sysds.runtime.instructions.spark">SPInstruction.SPType</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/instructions/InstructionUtils.html#getSPType-java.lang.String-">getSPType</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</code>&nbsp;</td>
 </tr>
-<tr id="i22" class="altColor">
+<tr id="i26" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.SPType.html" title="enum in org.apache.sysds.runtime.instructions.spark">SPInstruction.SPType</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/instructions/InstructionUtils.html#getSPTypeByOpcode-java.lang.String-">getSPTypeByOpcode</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;opcode)</code>&nbsp;</td>
 </tr>
-<tr id="i23" class="rowColor">
+<tr id="i27" class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/instructions/InstructionUtils.html#isBuiltinFunction-java.lang.String-">isBuiltinFunction</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;opcode)</code>&nbsp;</td>
 </tr>
-<tr id="i24" class="altColor">
+<tr id="i28" class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/instructions/InstructionUtils.html#isDistQuaternaryOpcode-java.lang.String-">isDistQuaternaryOpcode</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;opcode)</code>&nbsp;</td>
 </tr>
-<tr id="i25" class="rowColor">
+<tr id="i29" class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/instructions/InstructionUtils.html#isUnaryMetadata-java.lang.String-">isUnaryMetadata</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;opcode)</code>&nbsp;</td>
 </tr>
-<tr id="i26" class="altColor">
+<tr id="i30" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/runtime/matrix/operators/AggregateOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateOperator</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/instructions/InstructionUtils.html#parseAggregateOperator-java.lang.String-java.lang.String-">parseAggregateOperator</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;opcode,
                       <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;corrLoc)</code>&nbsp;</td>
 </tr>
-<tr id="i27" class="rowColor">
+<tr id="i31" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/runtime/matrix/operators/AggregateTernaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateTernaryOperator</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/instructions/InstructionUtils.html#parseAggregateTernaryOperator-java.lang.String-">parseAggregateTernaryOperator</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;opcode)</code>&nbsp;</td>
 </tr>
-<tr id="i28" class="altColor">
+<tr id="i32" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/runtime/matrix/operators/AggregateTernaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateTernaryOperator</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/instructions/InstructionUtils.html#parseAggregateTernaryOperator-java.lang.String-int-">parseAggregateTernaryOperator</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;opcode,
                              int&nbsp;numThreads)</code>&nbsp;</td>
 </tr>
-<tr id="i29" class="rowColor">
+<tr id="i33" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/instructions/InstructionUtils.html#parseAggregateUnaryRowIndexOperator-java.lang.String-int-int-">parseAggregateUnaryRowIndexOperator</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;opcode,
+                                   int&nbsp;numOutputs,
+                                   int&nbsp;numThreads)</code>&nbsp;</td>
+</tr>
+<tr id="i34" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/instructions/InstructionUtils.html#parseBasicAggregateUnaryOperator-java.lang.String-">parseBasicAggregateUnaryOperator</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;opcode)</code>&nbsp;</td>
 </tr>
-<tr id="i30" class="altColor">
+<tr id="i35" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/instructions/InstructionUtils.html#parseBasicAggregateUnaryOperator-java.lang.String-int-">parseBasicAggregateUnaryOperator</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;opcode,
                                 int&nbsp;numThreads)</code>&nbsp;</td>
 </tr>
-<tr id="i31" class="rowColor">
+<tr id="i36" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/instructions/InstructionUtils.html#parseBasicCumulativeAggregateUnaryOperator-org.apache.sysds.runtime.matrix.operators.UnaryOperator-">parseBasicCumulativeAggregateUnaryOperator</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/operators/UnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">UnaryOperator</a>&nbsp;uop)</code>&nbsp;</td>
 </tr>
-<tr id="i32" class="altColor">
+<tr id="i37" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/instructions/InstructionUtils.html#parseBinaryOperator-java.lang.String-">parseBinaryOperator</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;opcode)</code>&nbsp;</td>
 </tr>
-<tr id="i33" class="rowColor">
+<tr id="i38" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/instructions/InstructionUtils.html#parseBinaryOrBuiltinOperator-java.lang.String-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-">parseBinaryOrBuiltinOperator</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;opcode,
                             <a href="../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;in1,
                             <a href="../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;in2)</code>&nbsp;</td>
 </tr>
-<tr id="i34" class="altColor">
+<tr id="i39" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/instructions/InstructionUtils.html#parseCumulativeAggregateUnaryOperator-java.lang.String-">parseCumulativeAggregateUnaryOperator</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;opcode)</code>&nbsp;</td>
 </tr>
-<tr id="i35" class="rowColor">
+<tr id="i40" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/instructions/InstructionUtils.html#parseExtendedBinaryOperator-java.lang.String-">parseExtendedBinaryOperator</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;opcode)</code>&nbsp;</td>
 </tr>
-<tr id="i36" class="altColor">
+<tr id="i41" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/instructions/InstructionUtils.html#parseExtendedBinaryOrBuiltinOperator-java.lang.String-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-">parseExtendedBinaryOrBuiltinOperator</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;opcode,
                                     <a href="../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;in1,
                                     <a href="../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;in2)</code>&nbsp;</td>
 </tr>
-<tr id="i37" class="rowColor">
+<tr id="i42" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/instructions/InstructionUtils.html#parseGroupedAggOperator-java.lang.String-java.lang.String-">parseGroupedAggOperator</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;fn,
                        <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;other)</code>&nbsp;</td>
 </tr>
-<tr id="i38" class="altColor">
+<tr id="i43" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/instructions/InstructionUtils.html#parseScalarBinaryOperator-java.lang.String-boolean-">parseScalarBinaryOperator</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;opcode,
                          boolean&nbsp;arg1IsScalar)</code>
 <div class="block">scalar-matrix operator</div>
 </td>
 </tr>
-<tr id="i39" class="rowColor">
+<tr id="i44" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/instructions/InstructionUtils.html#parseScalarBinaryOperator-java.lang.String-boolean-double-">parseScalarBinaryOperator</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;opcode,
                          boolean&nbsp;arg1IsScalar,
@@ -335,21 +366,26 @@
 <div class="block">scalar-matrix operator</div>
 </td>
 </tr>
-<tr id="i40" class="altColor">
+<tr id="i45" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/runtime/matrix/operators/TernaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">TernaryOperator</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/instructions/InstructionUtils.html#parseTernaryOperator-java.lang.String-">parseTernaryOperator</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;opcode)</code>&nbsp;</td>
 </tr>
-<tr id="i41" class="rowColor">
+<tr id="i46" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/runtime/matrix/operators/TernaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">TernaryOperator</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/instructions/InstructionUtils.html#parseTernaryOperator-java.lang.String-int-">parseTernaryOperator</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;opcode,
+                    int&nbsp;numThreads)</code>&nbsp;</td>
+</tr>
+<tr id="i47" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/runtime/matrix/operators/UnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">UnaryOperator</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/instructions/InstructionUtils.html#parseUnaryOperator-java.lang.String-">parseUnaryOperator</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;opcode)</code>&nbsp;</td>
 </tr>
-<tr id="i42" class="altColor">
+<tr id="i48" class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/instructions/InstructionUtils.html#replaceOperand-java.lang.String-int-java.lang.String-">replaceOperand</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;instStr,
               int&nbsp;operand,
               <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;newValue)</code>&nbsp;</td>
 </tr>
-<tr id="i43" class="rowColor">
+<tr id="i49" class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/instructions/InstructionUtils.html#replaceOperandName-java.lang.String-">replaceOperandName</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;instStr)</code>&nbsp;</td>
 </tr>
@@ -593,6 +629,17 @@
                                                                       int&nbsp;numThreads)</pre>
 </li>
 </ul>
+<a name="parseAggregateUnaryRowIndexOperator-java.lang.String-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>parseAggregateUnaryRowIndexOperator</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;parseAggregateUnaryRowIndexOperator(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;opcode,
+                                                                         int&nbsp;numOutputs,
+                                                                         int&nbsp;numThreads)</pre>
+</li>
+</ul>
 <a name="parseAggregateTernaryOperator-java.lang.String-">
 <!--   -->
 </a>
@@ -689,6 +736,16 @@
 <pre>public static&nbsp;<a href="../../../../../org/apache/sysds/runtime/matrix/operators/TernaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">TernaryOperator</a>&nbsp;parseTernaryOperator(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;opcode)</pre>
 </li>
 </ul>
+<a name="parseTernaryOperator-java.lang.String-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>parseTernaryOperator</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/sysds/runtime/matrix/operators/TernaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">TernaryOperator</a>&nbsp;parseTernaryOperator(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;opcode,
+                                                   int&nbsp;numThreads)</pre>
+</li>
+</ul>
 <a name="parseScalarBinaryOperator-java.lang.String-boolean-">
 <!--   -->
 </a>
@@ -800,6 +857,25 @@
                                                <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;other)</pre>
 </li>
 </ul>
+<a name="createLiteralOperand-java.lang.String-org.apache.sysds.common.Types.ValueType-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>createLiteralOperand</h4>
+<pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;createLiteralOperand(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;val,
+                                          <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt)</pre>
+</li>
+</ul>
+<a name="createOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>createOperand</h4>
+<pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;createOperand(<a href="../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;operand)</pre>
+</li>
+</ul>
 <a name="replaceOperand-java.lang.String-int-java.lang.String-">
 <!--   -->
 </a>
@@ -841,12 +917,38 @@
 <a name="concatStrings-java.lang.String...-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>concatStrings</h4>
 <pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;concatStrings(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;inputs)</pre>
 </li>
 </ul>
+<a name="constructTernaryString-java.lang.String-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>constructTernaryString</h4>
+<pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;constructTernaryString(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;instString,
+                                            <a href="../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;op1,
+                                            <a href="../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;op2,
+                                            <a href="../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;op3,
+                                            <a href="../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;out)</pre>
+</li>
+</ul>
+<a name="constructBinaryInstString-java.lang.String-java.lang.String-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>constructBinaryInstString</h4>
+<pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;constructBinaryInstString(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;instString,
+                                               <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;opcode,
+                                               <a href="../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;op1,
+                                               <a href="../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;op2,
+                                               <a href="../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;out)</pre>
+</li>
+</ul>
 </li>
 </ul>
 </li>
@@ -916,6 +1018,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/SPInstructionParser.html b/docs/api/java/org/apache/sysds/runtime/instructions/SPInstructionParser.html
index 408f5f3..7aa86ae 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/SPInstructionParser.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/SPInstructionParser.html
@@ -330,6 +330,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/class-use/CPInstructionParser.html b/docs/api/java/org/apache/sysds/runtime/instructions/class-use/CPInstructionParser.html
index 633a11d..c13cfe4 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/class-use/CPInstructionParser.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/class-use/CPInstructionParser.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/class-use/FEDInstructionParser.html b/docs/api/java/org/apache/sysds/runtime/instructions/class-use/FEDInstructionParser.html
index 6919230..f3c05ce 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/class-use/FEDInstructionParser.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/class-use/FEDInstructionParser.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/class-use/GPUInstructionParser.html b/docs/api/java/org/apache/sysds/runtime/instructions/class-use/GPUInstructionParser.html
index 7c2d80b..5f5af3c 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/class-use/GPUInstructionParser.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/class-use/GPUInstructionParser.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/class-use/Instruction.IType.html b/docs/api/java/org/apache/sysds/runtime/instructions/class-use/Instruction.IType.html
index 136e40f..14a85af 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/class-use/Instruction.IType.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/class-use/Instruction.IType.html
@@ -261,6 +261,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/class-use/Instruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/class-use/Instruction.html
index 93282c0..9e38df8 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/class-use/Instruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/class-use/Instruction.html
@@ -246,15 +246,6 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a>&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">Recompiler.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/recompile/Recompiler.html#recompileHopsDag-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.hops.recompile.RecompileStatus-boolean-boolean-long-">recompileHopsDag</a></span>(<a href="../../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop,
-                <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
-                <a href="../../../../../../org/apache/sysds/hops/recompile/RecompileStatus.html" title="class in org.apache.sysds.hops.recompile">RecompileStatus</a>&nbsp;status,
-                boolean&nbsp;inplace,
-                boolean&nbsp;replaceLit,
-                long&nbsp;tid)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">Recompiler.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/recompile/Recompiler.html#recompileHopsDag-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-org.apache.sysds.hops.recompile.RecompileStatus-boolean-boolean-long-">recompileHopsDag</a></span>(<a href="../../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop,
                 <a href="../../../../../../org/apache/sysds/runtime/controlprogram/LocalVariableMap.html" title="class in org.apache.sysds.runtime.controlprogram">LocalVariableMap</a>&nbsp;vars,
                 <a href="../../../../../../org/apache/sysds/hops/recompile/RecompileStatus.html" title="class in org.apache.sysds.hops.recompile">RecompileStatus</a>&nbsp;status,
@@ -262,7 +253,7 @@
                 boolean&nbsp;replaceLit,
                 long&nbsp;tid)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">Recompiler.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/recompile/Recompiler.html#recompileHopsDag-org.apache.sysds.parser.StatementBlock-java.util.ArrayList-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.hops.recompile.RecompileStatus-boolean-boolean-long-">recompileHopsDag</a></span>(<a href="../../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&nbsp;sb,
                 <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&gt;&nbsp;hops,
@@ -272,7 +263,7 @@
                 boolean&nbsp;replaceLit,
                 long&nbsp;tid)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">Recompiler.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/recompile/Recompiler.html#recompileHopsDag-org.apache.sysds.parser.StatementBlock-java.util.ArrayList-org.apache.sysds.runtime.controlprogram.LocalVariableMap-org.apache.sysds.hops.recompile.RecompileStatus-boolean-boolean-long-">recompileHopsDag</a></span>(<a href="../../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&nbsp;sb,
                 <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&gt;&nbsp;hops,
@@ -282,24 +273,24 @@
                 boolean&nbsp;replaceLit,
                 long&nbsp;tid)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">Recompiler.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/recompile/Recompiler.html#recompileHopsDag2Forced-org.apache.sysds.hops.Hop-long-org.apache.sysds.lops.LopProperties.ExecType-">recompileHopsDag2Forced</a></span>(<a href="../../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop,
                        long&nbsp;tid,
                        <a href="../../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">Recompiler.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/recompile/Recompiler.html#recompileHopsDag2Forced-org.apache.sysds.parser.StatementBlock-java.util.ArrayList-long-org.apache.sysds.lops.LopProperties.ExecType-">recompileHopsDag2Forced</a></span>(<a href="../../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&nbsp;sb,
                        <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&gt;&nbsp;hops,
                        long&nbsp;tid,
                        <a href="../../../../../../org/apache/sysds/lops/LopProperties.ExecType.html" title="enum in org.apache.sysds.lops">LopProperties.ExecType</a>&nbsp;et)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">Recompiler.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/recompile/Recompiler.html#recompileHopsDagInstructions-org.apache.sysds.hops.Hop-">recompileHopsDagInstructions</a></span>(<a href="../../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">Recompiler.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/recompile/Recompiler.html#recompileHopsDagInstructions-org.apache.sysds.parser.StatementBlock-java.util.ArrayList-">recompileHopsDagInstructions</a></span>(<a href="../../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&nbsp;sb,
                             <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&gt;&nbsp;hops)</code>&nbsp;</td>
@@ -662,149 +653,153 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/DnnCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">DnnCPInstruction</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/DeCompressionCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">DeCompressionCPInstruction</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/DnnCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">DnnCPInstruction</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/EvalNaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">EvalNaryCPInstruction</a></span></code>
 <div class="block">Eval built-in function instruction
  Note: it supports only single matrix[double] output</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/FrameAppendCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">FrameAppendCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/FrameIndexingCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">FrameIndexingCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/FunctionCallCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">FunctionCallCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/IndexingCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">IndexingCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ListAppendRemoveCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ListAppendRemoveCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ListIndexingCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ListIndexingCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/MatrixAppendCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">MatrixAppendCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/MatrixBuiltinNaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">MatrixBuiltinNaryCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/MatrixIndexingCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">MatrixIndexingCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/MMChainCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">MMChainCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/MMTSJCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">MMTSJCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/MultiReturnBuiltinCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">MultiReturnBuiltinCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/MultiReturnParameterizedBuiltinCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">MultiReturnParameterizedBuiltinCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ParameterizedBuiltinCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ParameterizedBuiltinCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ParamservBuiltinCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ParamservBuiltinCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/PMMJCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">PMMJCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/QuantilePickCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">QuantilePickCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/QuantileSortCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">QuantileSortCPInstruction</a></span></code>
 <div class="block">This class supports two variants of sort operation on a 1-dimensional input matrix.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/QuaternaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">QuaternaryCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ReorgCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ReorgCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ReshapeCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ReshapeCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarAppendCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarAppendCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarBuiltinNaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarBuiltinNaryCPInstruction</a></span></code>
 <div class="block">The ScalarBuiltinMultipleCPInstruction class is responsible for printf-style
  Java-based string formatting.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/SpoofCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">SpoofCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/SqlCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">SqlCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/StringInitCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">StringInitCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/TernaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">TernaryCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/UaggOuterChainCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">UaggOuterChainCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/UnaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">UnaryCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/UnaryFrameCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">UnaryFrameCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/UnaryMatrixCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">UnaryMatrixCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/UnaryScalarCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">UnaryScalarCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/VariableCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">VariableCPInstruction</a></span></code>&nbsp;</td>
 </tr>
@@ -919,32 +914,48 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/AggregateUnaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">AggregateUnaryFEDInstruction</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/AggregateTernaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">AggregateTernaryFEDInstruction</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/AggregateUnaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">AggregateUnaryFEDInstruction</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/AppendFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">AppendFEDInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/BinaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">BinaryFEDInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/BinaryMatrixMatrixFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">BinaryMatrixMatrixFEDInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/BinaryMatrixScalarFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">BinaryMatrixScalarFEDInstruction</a></span></code>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/CentralMomentFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">CentralMomentFEDInstruction</a></span></code>&nbsp;</td>
+</tr>
 <tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">ComputationFEDInstruction</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/CovarianceFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">CovarianceFEDInstruction</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">FEDInstruction</a></span></code>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/IndexingFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">IndexingFEDInstruction</a></span></code>&nbsp;</td>
+</tr>
 <tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/InitFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">InitFEDInstruction</a></span></code>&nbsp;</td>
@@ -963,16 +974,68 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/QuantilePickFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuantilePickFEDInstruction</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/QuantileSortFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuantileSortFEDInstruction</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuaternaryFEDInstruction</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryWCeMMFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuaternaryWCeMMFEDInstruction</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryWDivMMFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuaternaryWDivMMFEDInstruction</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryWSigmoidFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuaternaryWSigmoidFEDInstruction</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryWSLossFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuaternaryWSLossFEDInstruction</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryWUMMFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuaternaryWUMMFEDInstruction</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">ReorgFEDInstruction</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/TsmmFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">TsmmFEDInstruction</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ReshapeFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">ReshapeFEDInstruction</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/SpoofFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">SpoofFEDInstruction</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/TernaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">TernaryFEDInstruction</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/TsmmFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">TsmmFEDInstruction</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/UnaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">UnaryFEDInstruction</a></span></code>&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/UnaryMatrixFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">UnaryMatrixFEDInstruction</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/VariableFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">VariableFEDInstruction</a></span></code>&nbsp;</td>
+</tr>
 </tbody>
 </table>
 <table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
@@ -985,7 +1048,9 @@
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></code></td>
 <td class="colLast"><span class="typeNameLabel">FEDInstructionUtils.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstructionUtils.html#checkAndReplaceCP-org.apache.sysds.runtime.instructions.Instruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">checkAndReplaceCP</a></span>(<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a>&nbsp;inst,
-                 <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
+                 <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>
+<div class="block">Check and replace CP instructions with federated instructions if the instruction match criteria.</div>
+</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></code></td>
@@ -1008,7 +1073,9 @@
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></code></td>
 <td class="colLast"><span class="typeNameLabel">FEDInstructionUtils.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstructionUtils.html#checkAndReplaceCP-org.apache.sysds.runtime.instructions.Instruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">checkAndReplaceCP</a></span>(<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a>&nbsp;inst,
-                 <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
+                 <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>
+<div class="block">Check and replace CP instructions with federated instructions if the instruction match criteria.</div>
+</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></code></td>
@@ -1117,6 +1184,10 @@
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/ScalarMatrixRelationalBinaryGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">ScalarMatrixRelationalBinaryGPUInstruction</a></span></code>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">SpoofCUDAInstruction</a></span></code>&nbsp;</td>
+</tr>
 </tbody>
 </table>
 <table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
@@ -1261,146 +1332,150 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/DnnSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">DnnSPInstruction</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/DeCompressionSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">DeCompressionSPInstruction</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/FrameAppendMSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">FrameAppendMSPInstruction</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/DnnSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">DnnSPInstruction</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/FrameAppendRSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">FrameAppendRSPInstruction</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/FrameAppendMSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">FrameAppendMSPInstruction</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/FrameAppendRSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">FrameAppendRSPInstruction</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/FrameIndexingSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">FrameIndexingSPInstruction</a></span></code>
 <div class="block">This class implements the frame indexing functionality inside Spark.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/IndexingSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">IndexingSPInstruction</a></span></code>
 <div class="block">This class implements the matrix indexing functionality inside Spark.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/MapmmChainSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">MapmmChainSPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/MapmmSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">MapmmSPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/MatrixAppendMSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">MatrixAppendMSPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/MatrixAppendRSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">MatrixAppendRSPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/MatrixIndexingSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">MatrixIndexingSPInstruction</a></span></code>
 <div class="block">This class implements the matrix indexing functionality inside CP.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/MatrixReshapeSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">MatrixReshapeSPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/MultiReturnParameterizedBuiltinSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">MultiReturnParameterizedBuiltinSPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">ParameterizedBuiltinSPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/PMapmmSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">PMapmmSPInstruction</a></span></code>
 <div class="block">This pmapmm matrix multiplication instruction is still experimental
  not integrated in automatic operator selection yet.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/PmmSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">PmmSPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/QuantilePickSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">QuantilePickSPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/QuantileSortSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">QuantileSortSPInstruction</a></span></code>
 <div class="block">This class supports two variants of sort operation on a 1-dimensional input matrix.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/QuaternarySPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">QuaternarySPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/RandSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">RandSPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/ReblockSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">ReblockSPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/ReorgSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">ReorgSPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/RmmSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">RmmSPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">SPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SpoofSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">SpoofSPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/TernarySPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">TernarySPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/Tsmm2SPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">Tsmm2SPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/TsmmSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">TsmmSPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/UaggOuterChainSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">UaggOuterChainSPInstruction</a></span></code>
 <div class="block">Two types of broadcast variables used -- 1.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/UnaryFrameSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">UnaryFrameSPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/UnaryMatrixSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">UnaryMatrixSPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/UnarySPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">UnarySPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/WriteSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">WriteSPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/ZipmmSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">ZipmmSPInstruction</a></span></code>&nbsp;</td>
 </tr>
@@ -1438,9 +1513,20 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
+<td class="colLast"><span class="typeNameLabel">LineageCacheConfig.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageCacheConfig.html#isOutputFederated-org.apache.sysds.runtime.instructions.Instruction-org.apache.sysds.runtime.instructions.cp.Data-">isOutputFederated</a></span>(<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a>&nbsp;inst,
+                 <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/Data.html" title="class in org.apache.sysds.runtime.instructions.cp">Data</a>&nbsp;data)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">LineageCacheConfig.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageCacheConfig.html#isReusable-org.apache.sysds.runtime.instructions.Instruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">isReusable</a></span>(<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a>&nbsp;inst,
           <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><span class="typeNameLabel">LineageEstimator.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageEstimator.html#processSingleInst-org.apache.sysds.runtime.instructions.Instruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-long-">processSingleInst</a></span>(<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a>&nbsp;inst,
+                 <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
+                 long&nbsp;starttime)</code>&nbsp;</td>
+</tr>
 <tr class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">LineageCache.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageCache.html#putMatrix-org.apache.sysds.runtime.instructions.Instruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-long-">putMatrix</a></span>(<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a>&nbsp;inst,
@@ -1484,25 +1570,30 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></code></td>
-<td class="colLast"><span class="typeNameLabel">PrivacyPropagator.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/PrivacyPropagator.html#preprocessBinaryCPInstruction-org.apache.sysds.runtime.instructions.cp.BinaryCPInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessBinaryCPInstruction</a></span>(<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/BinaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">BinaryCPInstruction</a>&nbsp;inst,
+<td class="colLast"><span class="typeNameLabel">PrivacyPropagator.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/PrivacyPropagator.html#preprocessAppendCPInstruction-org.apache.sysds.runtime.instructions.cp.AppendCPInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessAppendCPInstruction</a></span>(<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/AppendCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">AppendCPInstruction</a>&nbsp;inst,
                              <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></code></td>
+<td class="colLast"><span class="typeNameLabel">PrivacyPropagator.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/PrivacyPropagator.html#preprocessBinaryCPInstruction-org.apache.sysds.runtime.instructions.cp.BinaryCPInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessBinaryCPInstruction</a></span>(<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/BinaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">BinaryCPInstruction</a>&nbsp;inst,
+                             <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></code></td>
 <td class="colLast"><span class="typeNameLabel">PrivacyPropagator.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/PrivacyPropagator.html#preprocessBuiltinNary-org.apache.sysds.runtime.instructions.cp.BuiltinNaryCPInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessBuiltinNary</a></span>(<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/BuiltinNaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">BuiltinNaryCPInstruction</a>&nbsp;inst,
                      <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></code></td>
 <td class="colLast"><span class="typeNameLabel">PrivacyPropagator.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/PrivacyPropagator.html#preprocessCPInstructionFineGrained-org.apache.sysds.runtime.instructions.cp.CPInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessCPInstructionFineGrained</a></span>(<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">CPInstruction</a>&nbsp;inst,
                                   <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></code></td>
 <td class="colLast"><span class="typeNameLabel">PrivacyPropagator.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/PrivacyPropagator.html#preprocessExternal-org.apache.sysds.runtime.instructions.cp.FunctionCallCPInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessExternal</a></span>(<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/FunctionCallCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">FunctionCallCPInstruction</a>&nbsp;inst,
                   <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></code></td>
 <td class="colLast"><span class="typeNameLabel">PrivacyPropagator.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/PrivacyPropagator.html#preprocessInstruction-org.apache.sysds.runtime.instructions.Instruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a></span>(<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a>&nbsp;inst,
                      <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>
@@ -1510,39 +1601,39 @@
  in case the privacy constraints of the input are activated.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></code></td>
 <td class="colLast"><span class="typeNameLabel">PrivacyPropagator.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/PrivacyPropagator.html#preprocessInstructionSimple-org.apache.sysds.runtime.instructions.Instruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstructionSimple</a></span>(<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a>&nbsp;inst,
                            <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>
 <div class="block">Throw exception if privacy constraints are activated or return instruction if privacy is not activated</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></code></td>
 <td class="colLast"><span class="typeNameLabel">PrivacyPropagator.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/PrivacyPropagator.html#preprocessMultiReturn-org.apache.sysds.runtime.instructions.cp.ComputationCPInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessMultiReturn</a></span>(<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ComputationCPInstruction</a>&nbsp;inst,
                      <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></code></td>
 <td class="colLast"><span class="typeNameLabel">PrivacyPropagator.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/PrivacyPropagator.html#preprocessParameterizedBuiltin-org.apache.sysds.runtime.instructions.cp.ParameterizedBuiltinCPInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessParameterizedBuiltin</a></span>(<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ParameterizedBuiltinCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ParameterizedBuiltinCPInstruction</a>&nbsp;inst,
                               <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></code></td>
 <td class="colLast"><span class="typeNameLabel">PrivacyPropagator.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/PrivacyPropagator.html#preprocessQuaternary-org.apache.sysds.runtime.instructions.cp.QuaternaryCPInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessQuaternary</a></span>(<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/QuaternaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">QuaternaryCPInstruction</a>&nbsp;inst,
                     <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></code></td>
 <td class="colLast"><span class="typeNameLabel">PrivacyPropagator.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/PrivacyPropagator.html#preprocessTernaryCPInstruction-org.apache.sysds.runtime.instructions.cp.ComputationCPInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessTernaryCPInstruction</a></span>(<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ComputationCPInstruction</a>&nbsp;inst,
                               <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></code></td>
 <td class="colLast"><span class="typeNameLabel">PrivacyPropagator.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/PrivacyPropagator.html#preprocessUnaryCPInstruction-org.apache.sysds.runtime.instructions.cp.UnaryCPInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessUnaryCPInstruction</a></span>(<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/UnaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">UnaryCPInstruction</a>&nbsp;inst,
                             <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></code></td>
 <td class="colLast"><span class="typeNameLabel">PrivacyPropagator.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/PrivacyPropagator.html#preprocessVariableCPInstruction-org.apache.sysds.runtime.instructions.cp.VariableCPInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessVariableCPInstruction</a></span>(<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/VariableCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">VariableCPInstruction</a>&nbsp;inst,
                                <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
@@ -1757,6 +1848,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/class-use/InstructionParser.html b/docs/api/java/org/apache/sysds/runtime/instructions/class-use/InstructionParser.html
index 01d7010..9de6538 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/class-use/InstructionParser.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/class-use/InstructionParser.html
@@ -172,6 +172,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/class-use/InstructionUtils.html b/docs/api/java/org/apache/sysds/runtime/instructions/class-use/InstructionUtils.html
index 32a19eb..53f010c 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/class-use/InstructionUtils.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/class-use/InstructionUtils.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/class-use/SPInstructionParser.html b/docs/api/java/org/apache/sysds/runtime/instructions/class-use/SPInstructionParser.html
index 133ea7f..0069691 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/class-use/SPInstructionParser.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/class-use/SPInstructionParser.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/AggregateBinaryCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/AggregateBinaryCPInstruction.html
index a54e3c2..84ebd53 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/AggregateBinaryCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/AggregateBinaryCPInstruction.html
@@ -75,13 +75,13 @@
 <ul class="subNavList">
 <li>Summary:&nbsp;</li>
 <li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.instructions.cp.CPInstruction">Nested</a>&nbsp;|&nbsp;</li>
-<li><a href="#fields.inherited.from.class.org.apache.sysds.runtime.instructions.cp.ComputationCPInstruction">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
 <li>Constr&nbsp;|&nbsp;</li>
 <li><a href="#method.summary">Method</a></li>
 </ul>
 <ul class="subNavList">
 <li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
 <li>Constr&nbsp;|&nbsp;</li>
 <li><a href="#method.detail">Method</a></li>
 </ul>
@@ -169,6 +169,21 @@
 <!--   -->
 </a>
 <h3>Field Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
+<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/AggregateBinaryCPInstruction.html#transposeLeft">transposeLeft</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/AggregateBinaryCPInstruction.html#transposeRight">transposeRight</a></span></code>&nbsp;</td>
+</tr>
+</table>
 <ul class="blockList">
 <li class="blockList"><a name="fields.inherited.from.class.org.apache.sysds.runtime.instructions.cp.ComputationCPInstruction">
 <!--   -->
@@ -258,6 +273,32 @@
 <div class="details">
 <ul class="blockList">
 <li class="blockList">
+<!-- ============ FIELD DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.detail">
+<!--   -->
+</a>
+<h3>Field Detail</h3>
+<a name="transposeLeft">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>transposeLeft</h4>
+<pre>public&nbsp;boolean transposeLeft</pre>
+</li>
+</ul>
+<a name="transposeRight">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>transposeRight</h4>
+<pre>public&nbsp;boolean transposeRight</pre>
+</li>
+</ul>
+</li>
+</ul>
 <!-- ============ METHOD DETAIL ========== -->
 <ul class="blockList">
 <li class="blockList"><a name="method.detail">
@@ -344,13 +385,13 @@
 <ul class="subNavList">
 <li>Summary:&nbsp;</li>
 <li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.instructions.cp.CPInstruction">Nested</a>&nbsp;|&nbsp;</li>
-<li><a href="#fields.inherited.from.class.org.apache.sysds.runtime.instructions.cp.ComputationCPInstruction">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
 <li>Constr&nbsp;|&nbsp;</li>
 <li><a href="#method.summary">Method</a></li>
 </ul>
 <ul class="subNavList">
 <li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
 <li>Constr&nbsp;|&nbsp;</li>
 <li><a href="#method.detail">Method</a></li>
 </ul>
@@ -359,6 +400,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/AggregateTernaryCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/AggregateTernaryCPInstruction.html
index b6e96f4..776ae89 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/AggregateTernaryCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/AggregateTernaryCPInstruction.html
@@ -347,6 +347,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/AggregateUnaryCPInstruction.AUType.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/AggregateUnaryCPInstruction.AUType.html
index adce175..cf4164a 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/AggregateUnaryCPInstruction.AUType.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/AggregateUnaryCPInstruction.AUType.html
@@ -426,6 +426,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/AggregateUnaryCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/AggregateUnaryCPInstruction.html
index 3d64541..b9b5e0b 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/AggregateUnaryCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/AggregateUnaryCPInstruction.html
@@ -380,6 +380,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/AppendCPInstruction.AppendType.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/AppendCPInstruction.AppendType.html
index 9878bd5..d5fdbd3 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/AppendCPInstruction.AppendType.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/AppendCPInstruction.AppendType.html
@@ -365,6 +365,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/AppendCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/AppendCPInstruction.html
index 9ef9db3..b98df75 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/AppendCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/AppendCPInstruction.html
@@ -18,8 +18,8 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9};
-var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
+var methods = {"i0":10,"i1":9};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
 var tableTab = "tableTab";
@@ -207,12 +207,16 @@
 </a>
 <h3>Method Summary</h3>
 <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/AppendCPInstruction.AppendType.html" title="enum in org.apache.sysds.runtime.instructions.cp">AppendCPInstruction.AppendType</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/AppendCPInstruction.html#getAppendType--">getAppendType</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/AppendCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">AppendCPInstruction</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/AppendCPInstruction.html#parseInstruction-java.lang.String-">parseInstruction</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</code>&nbsp;</td>
 </tr>
@@ -276,12 +280,21 @@
 <a name="parseInstruction-java.lang.String-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>parseInstruction</h4>
 <pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/AppendCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">AppendCPInstruction</a>&nbsp;parseInstruction(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</pre>
 </li>
 </ul>
+<a name="getAppendType--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getAppendType</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/AppendCPInstruction.AppendType.html" title="enum in org.apache.sysds.runtime.instructions.cp">AppendCPInstruction.AppendType</a>&nbsp;getAppendType()</pre>
+</li>
+</ul>
 </li>
 </ul>
 </li>
@@ -351,6 +364,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/BinaryCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/BinaryCPInstruction.html
index e176bd3..2f5a6ba 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/BinaryCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/BinaryCPInstruction.html
@@ -345,6 +345,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/BinaryFrameFrameCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/BinaryFrameFrameCPInstruction.html
index 94b11f4..5cee402 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/BinaryFrameFrameCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/BinaryFrameFrameCPInstruction.html
@@ -346,6 +346,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/BinaryFrameMatrixCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/BinaryFrameMatrixCPInstruction.html
index 9d52d09..6509c90 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/BinaryFrameMatrixCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/BinaryFrameMatrixCPInstruction.html
@@ -346,6 +346,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/BinaryFrameScalarCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/BinaryFrameScalarCPInstruction.html
index 407942b..3c5b4ee 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/BinaryFrameScalarCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/BinaryFrameScalarCPInstruction.html
@@ -346,6 +346,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/BinaryMatrixMatrixCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/BinaryMatrixMatrixCPInstruction.html
index 395630e..f5ad315 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/BinaryMatrixMatrixCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/BinaryMatrixMatrixCPInstruction.html
@@ -346,6 +346,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/BinaryMatrixScalarCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/BinaryMatrixScalarCPInstruction.html
index 341093e..38bbaa4 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/BinaryMatrixScalarCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/BinaryMatrixScalarCPInstruction.html
@@ -346,6 +346,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/BinaryScalarScalarCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/BinaryScalarScalarCPInstruction.html
index 4d66c47..9a02e60 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/BinaryScalarScalarCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/BinaryScalarScalarCPInstruction.html
@@ -346,6 +346,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/BinaryTensorTensorCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/BinaryTensorTensorCPInstruction.html
index 3279be1..b74d4f8 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/BinaryTensorTensorCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/BinaryTensorTensorCPInstruction.html
@@ -346,6 +346,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/BooleanObject.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/BooleanObject.html
index 71f9a77..66f0a9b 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/BooleanObject.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/BooleanObject.html
@@ -405,6 +405,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/BuiltinNaryCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/BuiltinNaryCPInstruction.html
index 71bbaa7..b66bd3e 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/BuiltinNaryCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/BuiltinNaryCPInstruction.html
@@ -372,6 +372,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/CM_COV_Object.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/CM_COV_Object.html
index 7d78ffe..e2db995 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/CM_COV_Object.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/CM_COV_Object.html
@@ -595,6 +595,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/CPInstruction.CPType.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/CPInstruction.CPType.html
index 9f55808..6ca9b03 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/CPInstruction.CPType.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/CPInstruction.CPType.html
@@ -175,72 +175,75 @@
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPInstruction.CPType.html#Ctable">Ctable</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPInstruction.CPType.html#DeCompression">DeCompression</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPInstruction.CPType.html#Dnn">Dnn</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPInstruction.CPType.html#FCall">FCall</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPInstruction.CPType.html#MatrixIndexing">MatrixIndexing</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPInstruction.CPType.html#MMChain">MMChain</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPInstruction.CPType.html#MMTSJ">MMTSJ</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPInstruction.CPType.html#MultiReturnBuiltin">MultiReturnBuiltin</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPInstruction.CPType.html#MultiReturnParameterizedBuiltin">MultiReturnParameterizedBuiltin</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPInstruction.CPType.html#ParameterizedBuiltin">ParameterizedBuiltin</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPInstruction.CPType.html#Partition">Partition</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPInstruction.CPType.html#PMMJ">PMMJ</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPInstruction.CPType.html#QPick">QPick</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPInstruction.CPType.html#QSort">QSort</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPInstruction.CPType.html#Quaternary">Quaternary</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPInstruction.CPType.html#Rand">Rand</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPInstruction.CPType.html#Reorg">Reorg</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPInstruction.CPType.html#Reshape">Reshape</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPInstruction.CPType.html#SpoofFused">SpoofFused</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPInstruction.CPType.html#Sql">Sql</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPInstruction.CPType.html#StringInit">StringInit</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPInstruction.CPType.html#Ternary">Ternary</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPInstruction.CPType.html#UaggOuterChain">UaggOuterChain</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPInstruction.CPType.html#Unary">Unary</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPInstruction.CPType.html#Variable">Variable</a></span></code>&nbsp;</td>
 </tr>
 </table>
@@ -543,6 +546,15 @@
 <pre>public static final&nbsp;<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPInstruction.CPType.html" title="enum in org.apache.sysds.runtime.instructions.cp">CPInstruction.CPType</a> Compression</pre>
 </li>
 </ul>
+<a name="DeCompression">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>DeCompression</h4>
+<pre>public static final&nbsp;<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPInstruction.CPType.html" title="enum in org.apache.sysds.runtime.instructions.cp">CPInstruction.CPType</a> DeCompression</pre>
+</li>
+</ul>
 <a name="SpoofFused">
 <!--   -->
 </a>
@@ -725,6 +737,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/CPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/CPInstruction.html
index 5b5eaad..44263e6 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/CPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/CPInstruction.html
@@ -418,6 +418,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/CPOperand.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/CPOperand.html
index 76d87e7..96ef71c 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/CPOperand.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/CPOperand.html
@@ -576,6 +576,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/CentralMomentCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/CentralMomentCPInstruction.html
index 6e4c083..4b36004 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/CentralMomentCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/CentralMomentCPInstruction.html
@@ -371,6 +371,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/CompressionCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/CompressionCPInstruction.html
index 3923b14..3c1c8cf 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/CompressionCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/CompressionCPInstruction.html
@@ -347,6 +347,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html
index 0f63363..e43d338 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html
@@ -123,7 +123,7 @@
 </dl>
 <dl>
 <dt>Direct Known Subclasses:</dt>
-<dd><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/AggregateTernaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">AggregateTernaryCPInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/BinaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">BinaryCPInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CompressionCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">CompressionCPInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CtableCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">CtableCPInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/MultiReturnBuiltinCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">MultiReturnBuiltinCPInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/MultiReturnParameterizedBuiltinCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">MultiReturnParameterizedBuiltinCPInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ParameterizedBuiltinCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ParameterizedBuiltinCPInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/PMMJCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">PMMJCPInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/QuaternaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">QuaternaryCPInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/SpoofCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">SpoofCPInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/TernaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">TernaryCPInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/UnaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">UnaryCPInstruction</a></dd>
+<dd><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/AggregateTernaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">AggregateTernaryCPInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/BinaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">BinaryCPInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CompressionCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">CompressionCPInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CtableCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">CtableCPInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/DeCompressionCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">DeCompressionCPInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/MultiReturnBuiltinCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">MultiReturnBuiltinCPInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/MultiReturnParameterizedBuiltinCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">MultiReturnParameterizedBuiltinCPInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ParameterizedBuiltinCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ParameterizedBuiltinCPInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/PMMJCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">PMMJCPInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/QuaternaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">QuaternaryCPInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/SpoofCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">SpoofCPInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/TernaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">TernaryCPInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/UnaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">UnaryCPInstruction</a></dd>
 </dl>
 <hr>
 <br>
@@ -428,6 +428,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/CovarianceCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/CovarianceCPInstruction.html
index 5dc236e..f0e3fc0 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/CovarianceCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/CovarianceCPInstruction.html
@@ -359,6 +359,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/CtableCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/CtableCPInstruction.html
index 7fa491c..9b947cd 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/CtableCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/CtableCPInstruction.html
@@ -374,6 +374,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/Data.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/Data.html
index ac2dda2..127fc93 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/Data.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/Data.html
@@ -350,6 +350,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/DataGenCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/DataGenCPInstruction.html
index 707aff8..3bdeeb1 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/DataGenCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/DataGenCPInstruction.html
@@ -50,7 +50,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/Data.html" title="class in org.apache.sysds.runtime.instructions.cp"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/DnnCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/DeCompressionCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/sysds/runtime/instructions/cp/DataGenCPInstruction.html" target="_top">Frames</a></li>
@@ -76,13 +76,13 @@
 <li>Summary:&nbsp;</li>
 <li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.instructions.cp.CPInstruction">Nested</a>&nbsp;|&nbsp;</li>
 <li><a href="#fields.inherited.from.class.org.apache.sysds.runtime.instructions.cp.ComputationCPInstruction">Field</a>&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
 <li><a href="#method.summary">Method</a></li>
 </ul>
 <ul class="subNavList">
 <li>Detail:&nbsp;</li>
 <li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
 <li><a href="#method.detail">Method</a></li>
 </ul>
 </div>
@@ -185,6 +185,31 @@
 </ul>
 </li>
 </ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/DataGenCPInstruction.html#DataGenCPInstruction-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.common.Types.OpOpDG-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-java.lang.String-java.lang.String-java.lang.String-java.lang.String-">DataGenCPInstruction</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
+                    <a href="../../../../../../org/apache/sysds/common/Types.OpOpDG.html" title="enum in org.apache.sysds.common">Types.OpOpDG</a>&nbsp;method,
+                    <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;out,
+                    <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;rows,
+                    <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;cols,
+                    <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;data,
+                    <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;schema,
+                    <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;opcode,
+                    <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
 <!-- ========== METHOD SUMMARY =========== -->
 <ul class="blockList">
 <li class="blockList"><a name="method.summary">
@@ -317,6 +342,31 @@
 <div class="details">
 <ul class="blockList">
 <li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="DataGenCPInstruction-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.common.Types.OpOpDG-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-java.lang.String-java.lang.String-java.lang.String-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>DataGenCPInstruction</h4>
+<pre>public&nbsp;DataGenCPInstruction(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
+                            <a href="../../../../../../org/apache/sysds/common/Types.OpOpDG.html" title="enum in org.apache.sysds.common">Types.OpOpDG</a>&nbsp;method,
+                            <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;out,
+                            <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;rows,
+                            <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;cols,
+                            <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;data,
+                            <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;schema,
+                            <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;opcode,
+                            <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</pre>
+</li>
+</ul>
+</li>
+</ul>
 <!-- ============ METHOD DETAIL ========== -->
 <ul class="blockList">
 <li class="blockList"><a name="method.detail">
@@ -534,7 +584,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/Data.html" title="class in org.apache.sysds.runtime.instructions.cp"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/DnnCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/DeCompressionCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/sysds/runtime/instructions/cp/DataGenCPInstruction.html" target="_top">Frames</a></li>
@@ -560,13 +610,13 @@
 <li>Summary:&nbsp;</li>
 <li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.instructions.cp.CPInstruction">Nested</a>&nbsp;|&nbsp;</li>
 <li><a href="#fields.inherited.from.class.org.apache.sysds.runtime.instructions.cp.ComputationCPInstruction">Field</a>&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
 <li><a href="#method.summary">Method</a></li>
 </ul>
 <ul class="subNavList">
 <li>Detail:&nbsp;</li>
 <li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
 <li><a href="#method.detail">Method</a></li>
 </ul>
 </div>
@@ -574,6 +624,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/DeCompressionCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/DeCompressionCPInstruction.html
new file mode 100644
index 0000000..56e7e51
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/DeCompressionCPInstruction.html
@@ -0,0 +1,352 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>DeCompressionCPInstruction (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="DeCompressionCPInstruction (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":9,"i1":10};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/DeCompressionCPInstruction.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/DataGenCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/DnnCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/instructions/cp/DeCompressionCPInstruction.html" target="_top">Frames</a></li>
+<li><a href="DeCompressionCPInstruction.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.instructions.cp.CPInstruction">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#fields.inherited.from.class.org.apache.sysds.runtime.instructions.cp.ComputationCPInstruction">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.sysds.runtime.instructions.cp</div>
+<h2 title="Class DeCompressionCPInstruction" class="title">Class DeCompressionCPInstruction</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">org.apache.sysds.runtime.instructions.Instruction</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">org.apache.sysds.runtime.instructions.cp.CPInstruction</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">org.apache.sysds.runtime.instructions.cp.ComputationCPInstruction</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.sysds.runtime.instructions.cp.DeCompressionCPInstruction</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">DeCompressionCPInstruction</span>
+extends <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ComputationCPInstruction</a></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!--   -->
+</a>
+<h3>Nested Class Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.sysds.runtime.instructions.cp.CPInstruction">
+<!--   -->
+</a>
+<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.sysds.runtime.instructions.cp.<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">CPInstruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPInstruction.CPType.html" title="enum in org.apache.sysds.runtime.instructions.cp">CPInstruction.CPType</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
+<!--   -->
+</a>
+<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.IType.html" title="enum in org.apache.sysds.runtime.instructions">Instruction.IType</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!--   -->
+</a>
+<h3>Field Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.org.apache.sysds.runtime.instructions.cp.ComputationCPInstruction">
+<!--   -->
+</a>
+<h3>Fields inherited from class&nbsp;org.apache.sysds.runtime.instructions.cp.<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ComputationCPInstruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#input1">input1</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#input2">input2</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#input3">input3</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#output">output</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
+<!--   -->
+</a>
+<h3>Fields inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#DATATYPE_PREFIX">DATATYPE_PREFIX</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#FEDERATED_INST_PREFIX">FEDERATED_INST_PREFIX</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#GPU_INST_PREFIX">GPU_INST_PREFIX</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#INSTRUCTION_DELIM">INSTRUCTION_DELIM</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#LITERAL_PREFIX">LITERAL_PREFIX</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#OPERAND_DELIM">OPERAND_DELIM</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#SP_INST_PREFIX">SP_INST_PREFIX</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#VALUETYPE_PREFIX">VALUETYPE_PREFIX</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/DeCompressionCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">DeCompressionCPInstruction</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/DeCompressionCPInstruction.html#parseInstruction-java.lang.String-">parseInstruction</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/DeCompressionCPInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>
+<div class="block">This method should be used to execute the instruction.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.cp.ComputationCPInstruction">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.cp.<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ComputationCPInstruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getInputs--">getInputs</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutput--">getOutput</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.cp.CPInstruction">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.cp.<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">CPInstruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPInstruction.html#getCPInstructionType--">getCPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPInstruction.html#updateLabels-java.lang.String-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">updateLabels</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.lineage.LineageTraceable">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.sysds.runtime.lineage.<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#getLineageItems-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItems</a>, <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#hasSingleLineage--">hasSingleLineage</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="parseInstruction-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>parseInstruction</h4>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/DeCompressionCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">DeCompressionCPInstruction</a>&nbsp;parseInstruction(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</pre>
+</li>
+</ul>
+<a name="processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>processInstruction</h4>
+<pre>public&nbsp;void&nbsp;processInstruction(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">Instruction</a></code></span></div>
+<div class="block">This method should be used to execute the instruction.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">CPInstruction</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>ec</code> - execution context</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/DeCompressionCPInstruction.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/DataGenCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/DnnCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/instructions/cp/DeCompressionCPInstruction.html" target="_top">Frames</a></li>
+<li><a href="DeCompressionCPInstruction.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.instructions.cp.CPInstruction">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#fields.inherited.from.class.org.apache.sysds.runtime.instructions.cp.ComputationCPInstruction">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/DnnCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/DnnCPInstruction.html
index 71e36f6..ddef50a 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/DnnCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/DnnCPInstruction.html
@@ -49,7 +49,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/DataGenCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/DeCompressionCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/DoubleObject.html" title="class in org.apache.sysds.runtime.instructions.cp"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -569,7 +569,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/DataGenCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/DeCompressionCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/DoubleObject.html" title="class in org.apache.sysds.runtime.instructions.cp"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -610,6 +610,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/DoubleObject.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/DoubleObject.html
index 966da7e..41e4a9d 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/DoubleObject.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/DoubleObject.html
@@ -405,6 +405,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/EvalNaryCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/EvalNaryCPInstruction.html
index 09615fd..7fb19a1 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/EvalNaryCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/EvalNaryCPInstruction.html
@@ -360,6 +360,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/FrameAppendCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/FrameAppendCPInstruction.html
index ac671d5..0503f3f 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/FrameAppendCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/FrameAppendCPInstruction.html
@@ -221,7 +221,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.cp.<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/AppendCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">AppendCPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/AppendCPInstruction.html#parseInstruction-java.lang.String-">parseInstruction</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/AppendCPInstruction.html#getAppendType--">getAppendType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/AppendCPInstruction.html#parseInstruction-java.lang.String-">parseInstruction</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.cp.BinaryCPInstruction">
@@ -365,6 +365,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/FrameIndexingCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/FrameIndexingCPInstruction.html
index 81e56cd..08b68d5 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/FrameIndexingCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/FrameIndexingCPInstruction.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10};
+var methods = {"i0":10,"i1":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -203,6 +203,12 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
+<td class="colFirst"><code>org.apache.commons.lang3.tuple.Pair&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/FrameIndexingCPInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>
+<div class="block">Obtain lineage trace of an instruction with a single output.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/FrameIndexingCPInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>
 <div class="block">This method should be used to execute the instruction.</div>
@@ -221,7 +227,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.cp.<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ComputationCPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getInputs--">getInputs</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutput--">getOutput</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getInputs--">getInputs</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutput--">getOutput</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.cp.CPInstruction">
@@ -268,7 +274,7 @@
 <a name="processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>processInstruction</h4>
 <pre>public&nbsp;void&nbsp;processInstruction(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</pre>
@@ -282,6 +288,27 @@
 </dl>
 </li>
 </ul>
+<a name="getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getLineageItem</h4>
+<pre>public&nbsp;org.apache.commons.lang3.tuple.Pair&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&gt;&nbsp;getLineageItem(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">LineageTraceable</a></code></span></div>
+<div class="block">Obtain lineage trace of an instruction with a single output.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ComputationCPInstruction</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>ec</code> - execution context w/ live variables</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>pair of (output variable name, output lineage item)</dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>
@@ -351,6 +378,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/FunctionCallCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/FunctionCallCPInstruction.html
index 3cbfc66..09ab36e 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/FunctionCallCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/FunctionCallCPInstruction.html
@@ -499,6 +499,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/IndexingCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/IndexingCPInstruction.html
index 4998802..f8ad09b 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/IndexingCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/IndexingCPInstruction.html
@@ -333,6 +333,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/IntObject.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/IntObject.html
index 8699e3a..e24d341 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/IntObject.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/IntObject.html
@@ -388,6 +388,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/KahanObject.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/KahanObject.html
index 0c26f8b..90cdbd8 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/KahanObject.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/KahanObject.html
@@ -485,6 +485,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/ListAppendRemoveCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/ListAppendRemoveCPInstruction.html
index ef5c06c..1f7d4d2 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/ListAppendRemoveCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/ListAppendRemoveCPInstruction.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10};
+var methods = {"i0":10,"i1":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -210,6 +210,10 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ListAppendRemoveCPInstruction.html#getOutput2--">getOutput2</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ListAppendRemoveCPInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>
 <div class="block">This method should be used to execute the instruction.</div>
@@ -221,7 +225,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.cp.<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/AppendCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">AppendCPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/AppendCPInstruction.html#parseInstruction-java.lang.String-">parseInstruction</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/AppendCPInstruction.html#getAppendType--">getAppendType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/AppendCPInstruction.html#parseInstruction-java.lang.String-">parseInstruction</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.cp.BinaryCPInstruction">
@@ -282,7 +286,7 @@
 <a name="processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>processInstruction</h4>
 <pre>public&nbsp;void&nbsp;processInstruction(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</pre>
@@ -296,6 +300,15 @@
 </dl>
 </li>
 </ul>
+<a name="getOutput2--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getOutput2</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;getOutput2()</pre>
+</li>
+</ul>
 </li>
 </ul>
 </li>
@@ -365,6 +378,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/ListIndexingCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/ListIndexingCPInstruction.html
index 343fd4d..51818ba 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/ListIndexingCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/ListIndexingCPInstruction.html
@@ -378,6 +378,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/ListObject.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/ListObject.html
index 9da24c2..31af139 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/ListObject.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/ListObject.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -114,12 +114,13 @@
 <li class="blockList">
 <dl>
 <dt>All Implemented Interfaces:</dt>
-<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></dd>
+<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true" title="class or interface in java.io">Externalizable</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></dd>
 </dl>
 <hr>
 <br>
 <pre>public class <span class="typeNameLabel">ListObject</span>
-extends <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/Data.html" title="class in org.apache.sysds.runtime.instructions.cp">Data</a></pre>
+extends <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/Data.html" title="class in org.apache.sysds.runtime.instructions.cp">Data</a>
+implements <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true" title="class or interface in java.io">Externalizable</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../../serialized-form.html#org.apache.sysds.runtime.instructions.cp.ListObject">Serialized Form</a></dd>
@@ -142,18 +143,21 @@
 <th class="colOne" scope="col">Constructor and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ListObject.html#ListObject-java.util.List-">ListObject</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/Data.html" title="class in org.apache.sysds.runtime.instructions.cp">Data</a>&gt;&nbsp;data)</code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ListObject.html#ListObject--">ListObject</a></span>()</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ListObject.html#ListObject-java.util.List-">ListObject</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/Data.html" title="class in org.apache.sysds.runtime.instructions.cp">Data</a>&gt;&nbsp;data)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ListObject.html#ListObject-java.util.List-java.util.List-">ListObject</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/Data.html" title="class in org.apache.sysds.runtime.instructions.cp">Data</a>&gt;&nbsp;data,
           <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;names)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ListObject.html#ListObject-java.util.List-java.util.List-java.util.List-">ListObject</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/Data.html" title="class in org.apache.sysds.runtime.instructions.cp">Data</a>&gt;&nbsp;data,
           <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;names,
           <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&gt;&nbsp;lineage)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ListObject.html#ListObject-org.apache.sysds.runtime.instructions.cp.ListObject-">ListObject</a></span>(<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ListObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ListObject</a>&nbsp;that)</code>&nbsp;</td>
 </tr>
 </table>
@@ -247,57 +251,74 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ListObject.html#isNamedList--">isNamedList</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i18" class="altColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ListObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ListObject</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ListObject.html#remove-int-">remove</a></span>(int&nbsp;pos)</code>&nbsp;</td>
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ListObject.html#readExternal-java.io.ObjectInput-">readExternal</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectInput.html?is-external=true" title="class or interface in java.io">ObjectInput</a>&nbsp;in)</code>
+<div class="block">Redirects the default java serialization via externalizable to our default
+ hadoop writable serialization for efficient broadcast/rdd deserialization.</div>
+</td>
 </tr>
 <tr id="i19" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ListObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ListObject</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ListObject.html#remove-int-">remove</a></span>(int&nbsp;pos)</code>
+<div class="block">Removes the element at the specified position from the list
+ and returns that element as the only element in a new ListObject.</div>
+</td>
+</tr>
+<tr id="i20" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ListObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ListObject</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ListObject.html#set-int-org.apache.sysds.runtime.instructions.cp.Data-">set</a></span>(int&nbsp;ix,
    <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/Data.html" title="class in org.apache.sysds.runtime.instructions.cp">Data</a>&nbsp;data)</code>&nbsp;</td>
 </tr>
-<tr id="i20" class="altColor">
+<tr id="i21" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ListObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ListObject</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ListObject.html#set-int-int-org.apache.sysds.runtime.instructions.cp.ListObject-">set</a></span>(int&nbsp;ix1,
    int&nbsp;ix2,
    <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ListObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ListObject</a>&nbsp;data)</code>&nbsp;</td>
 </tr>
-<tr id="i21" class="rowColor">
+<tr id="i22" class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/Data.html" title="class in org.apache.sysds.runtime.instructions.cp">Data</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ListObject.html#set-java.lang.String-org.apache.sysds.runtime.instructions.cp.Data-">set</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
    <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/Data.html" title="class in org.apache.sysds.runtime.instructions.cp">Data</a>&nbsp;data)</code>&nbsp;</td>
 </tr>
-<tr id="i22" class="altColor">
+<tr id="i23" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ListObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ListObject</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ListObject.html#set-java.lang.String-java.lang.String-org.apache.sysds.runtime.instructions.cp.ListObject-">set</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name1,
    <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name2,
    <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ListObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ListObject</a>&nbsp;data)</code>&nbsp;</td>
 </tr>
-<tr id="i23" class="rowColor">
+<tr id="i24" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ListObject.html#setStatus-boolean:A-">setStatus</a></span>(boolean[]&nbsp;status)</code>&nbsp;</td>
 </tr>
-<tr id="i24" class="altColor">
+<tr id="i25" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/Data.html" title="class in org.apache.sysds.runtime.instructions.cp">Data</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ListObject.html#slice-int-">slice</a></span>(int&nbsp;ix)</code>&nbsp;</td>
 </tr>
-<tr id="i25" class="rowColor">
+<tr id="i26" class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ListObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ListObject</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ListObject.html#slice-int-int-">slice</a></span>(int&nbsp;ix1,
      int&nbsp;ix2)</code>&nbsp;</td>
 </tr>
-<tr id="i26" class="altColor">
+<tr id="i27" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/Data.html" title="class in org.apache.sysds.runtime.instructions.cp">Data</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ListObject.html#slice-java.lang.String-">slice</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>&nbsp;</td>
 </tr>
-<tr id="i27" class="rowColor">
+<tr id="i28" class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ListObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ListObject</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ListObject.html#slice-java.lang.String-java.lang.String-">slice</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name1,
      <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name2)</code>&nbsp;</td>
 </tr>
-<tr id="i28" class="altColor">
+<tr id="i29" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ListObject.html#toString--">toString</a></span>()</code>&nbsp;</td>
 </tr>
+<tr id="i30" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ListObject.html#writeExternal-java.io.ObjectOutput-">writeExternal</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectOutput.html?is-external=true" title="class or interface in java.io">ObjectOutput</a>&nbsp;out)</code>
+<div class="block">Redirects the default java serialization via externalizable to our default
+ hadoop writable serialization for efficient broadcast/rdd serialization.</div>
+</td>
+</tr>
 </table>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.cp.Data">
@@ -327,6 +348,15 @@
 <!--   -->
 </a>
 <h3>Constructor Detail</h3>
+<a name="ListObject--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>ListObject</h4>
+<pre>public&nbsp;ListObject()</pre>
+</li>
+</ul>
 <a name="ListObject-java.util.List-">
 <!--   -->
 </a>
@@ -626,6 +656,14 @@
 <li class="blockList">
 <h4>remove</h4>
 <pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ListObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ListObject</a>&nbsp;remove(int&nbsp;pos)</pre>
+<div class="block">Removes the element at the specified position from the list
+ and returns that element as the only element in a new ListObject.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>pos</code> - position of element in the list</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>new ListObject with the specified element</dd>
+</dl>
 </li>
 </ul>
 <a name="getDebugName--">
@@ -644,7 +682,7 @@
 <a name="toString--">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>toString</h4>
 <pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
@@ -654,6 +692,48 @@
 </dl>
 </li>
 </ul>
+<a name="writeExternal-java.io.ObjectOutput-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>writeExternal</h4>
+<pre>public&nbsp;void&nbsp;writeExternal(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectOutput.html?is-external=true" title="class or interface in java.io">ObjectOutput</a>&nbsp;out)
+                   throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block">Redirects the default java serialization via externalizable to our default
+ hadoop writable serialization for efficient broadcast/rdd serialization.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true#writeExternal-java.io.ObjectOutput-" title="class or interface in java.io">writeExternal</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true" title="class or interface in java.io">Externalizable</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>out</code> - object output</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if IOException occurs</dd>
+</dl>
+</li>
+</ul>
+<a name="readExternal-java.io.ObjectInput-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>readExternal</h4>
+<pre>public&nbsp;void&nbsp;readExternal(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectInput.html?is-external=true" title="class or interface in java.io">ObjectInput</a>&nbsp;in)
+                  throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
+                         <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/ClassNotFoundException.html?is-external=true" title="class or interface in java.lang">ClassNotFoundException</a></pre>
+<div class="block">Redirects the default java serialization via externalizable to our default
+ hadoop writable serialization for efficient broadcast/rdd deserialization.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true#readExternal-java.io.ObjectInput-" title="class or interface in java.io">readExternal</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true" title="class or interface in java.io">Externalizable</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>in</code> - object input</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if IOException occurs</dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/ClassNotFoundException.html?is-external=true" title="class or interface in java.lang">ClassNotFoundException</a></code></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>
@@ -723,6 +803,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/MMChainCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/MMChainCPInstruction.html
index 68c43f1..3c6adf6 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/MMChainCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/MMChainCPInstruction.html
@@ -365,6 +365,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/MMTSJCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/MMTSJCPInstruction.html
index 8cd5cba..3962970 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/MMTSJCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/MMTSJCPInstruction.html
@@ -365,6 +365,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/MatrixAppendCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/MatrixAppendCPInstruction.html
index 146c84c..97f10b3 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/MatrixAppendCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/MatrixAppendCPInstruction.html
@@ -227,7 +227,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.cp.<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/AppendCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">AppendCPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/AppendCPInstruction.html#parseInstruction-java.lang.String-">parseInstruction</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/AppendCPInstruction.html#getAppendType--">getAppendType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/AppendCPInstruction.html#parseInstruction-java.lang.String-">parseInstruction</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.cp.BinaryCPInstruction">
@@ -392,6 +392,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/MatrixBuiltinNaryCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/MatrixBuiltinNaryCPInstruction.html
index 5c320c9..db513e1 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/MatrixBuiltinNaryCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/MatrixBuiltinNaryCPInstruction.html
@@ -353,6 +353,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/MatrixIndexingCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/MatrixIndexingCPInstruction.html
index 602ec97..83b6ac4 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/MatrixIndexingCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/MatrixIndexingCPInstruction.html
@@ -426,6 +426,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/MultiReturnBuiltinCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/MultiReturnBuiltinCPInstruction.html
index 6a47070..8357712 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/MultiReturnBuiltinCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/MultiReturnBuiltinCPInstruction.html
@@ -436,6 +436,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/MultiReturnParameterizedBuiltinCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/MultiReturnParameterizedBuiltinCPInstruction.html
index 275906c..5675d8d 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/MultiReturnParameterizedBuiltinCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/MultiReturnParameterizedBuiltinCPInstruction.html
@@ -423,6 +423,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/PMMJCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/PMMJCPInstruction.html
index 73cf56d..53cf93c 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/PMMJCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/PMMJCPInstruction.html
@@ -347,6 +347,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/ParameterizedBuiltinCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/ParameterizedBuiltinCPInstruction.html
index 4ee8af9..6e82954 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/ParameterizedBuiltinCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/ParameterizedBuiltinCPInstruction.html
@@ -430,6 +430,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/ParamservBuiltinCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/ParamservBuiltinCPInstruction.html
index f00199b..ff90d86 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/ParamservBuiltinCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/ParamservBuiltinCPInstruction.html
@@ -75,13 +75,13 @@
 <ul class="subNavList">
 <li>Summary:&nbsp;</li>
 <li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.instructions.cp.CPInstruction">Nested</a>&nbsp;|&nbsp;</li>
-<li><a href="#fields.inherited.from.class.org.apache.sysds.runtime.instructions.cp.ComputationCPInstruction">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
 <li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
 <li><a href="#method.summary">Method</a></li>
 </ul>
 <ul class="subNavList">
 <li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
 <li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
 <li><a href="#method.detail">Method</a></li>
 </ul>
@@ -169,6 +169,17 @@
 <!--   -->
 </a>
 <h3>Field Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
+<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ParamservBuiltinCPInstruction.html#DEFAULT_BATCH_SIZE">DEFAULT_BATCH_SIZE</a></span></code>&nbsp;</td>
+</tr>
+</table>
 <ul class="blockList">
 <li class="blockList"><a name="fields.inherited.from.class.org.apache.sysds.runtime.instructions.cp.ComputationCPInstruction">
 <!--   -->
@@ -275,6 +286,27 @@
 <div class="details">
 <ul class="blockList">
 <li class="blockList">
+<!-- ============ FIELD DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.detail">
+<!--   -->
+</a>
+<h3>Field Detail</h3>
+<a name="DEFAULT_BATCH_SIZE">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>DEFAULT_BATCH_SIZE</h4>
+<pre>public static final&nbsp;int DEFAULT_BATCH_SIZE</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../../constant-values.html#org.apache.sysds.runtime.instructions.cp.ParamservBuiltinCPInstruction.DEFAULT_BATCH_SIZE">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
 <!-- ========= CONSTRUCTOR DETAIL ======== -->
 <ul class="blockList">
 <li class="blockList"><a name="constructor.detail">
@@ -373,13 +405,13 @@
 <ul class="subNavList">
 <li>Summary:&nbsp;</li>
 <li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.instructions.cp.CPInstruction">Nested</a>&nbsp;|&nbsp;</li>
-<li><a href="#fields.inherited.from.class.org.apache.sysds.runtime.instructions.cp.ComputationCPInstruction">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
 <li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
 <li><a href="#method.summary">Method</a></li>
 </ul>
 <ul class="subNavList">
 <li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
 <li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
 <li><a href="#method.detail">Method</a></li>
 </ul>
@@ -388,6 +420,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/QuantilePickCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/QuantilePickCPInstruction.html
index c7f0f41..9918c6e 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/QuantilePickCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/QuantilePickCPInstruction.html
@@ -359,6 +359,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/QuantileSortCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/QuantileSortCPInstruction.html
index f5615ed..d39965a 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/QuantileSortCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/QuantileSortCPInstruction.html
@@ -357,6 +357,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/QuaternaryCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/QuaternaryCPInstruction.html
index 22c1ef8..a02a02b 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/QuaternaryCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/QuaternaryCPInstruction.html
@@ -360,6 +360,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/ReorgCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/ReorgCPInstruction.html
index 439b4af..8abee1b 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/ReorgCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/ReorgCPInstruction.html
@@ -352,6 +352,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/ReshapeCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/ReshapeCPInstruction.html
index 0946237..c90eae2 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/ReshapeCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/ReshapeCPInstruction.html
@@ -379,6 +379,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/ScalarAppendCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/ScalarAppendCPInstruction.html
index 101f291..cb59a37 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/ScalarAppendCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/ScalarAppendCPInstruction.html
@@ -221,7 +221,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.cp.<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/AppendCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">AppendCPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/AppendCPInstruction.html#parseInstruction-java.lang.String-">parseInstruction</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/AppendCPInstruction.html#getAppendType--">getAppendType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/AppendCPInstruction.html#parseInstruction-java.lang.String-">parseInstruction</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.cp.BinaryCPInstruction">
@@ -365,6 +365,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/ScalarBuiltinNaryCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/ScalarBuiltinNaryCPInstruction.html
index 824787d..17edd1c 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/ScalarBuiltinNaryCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/ScalarBuiltinNaryCPInstruction.html
@@ -357,6 +357,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/ScalarObject.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/ScalarObject.html
index 79963a6..f85ec91 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/ScalarObject.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/ScalarObject.html
@@ -403,6 +403,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/ScalarObjectFactory.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/ScalarObjectFactory.html
index e502274..cd01eaa 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/ScalarObjectFactory.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/ScalarObjectFactory.html
@@ -411,6 +411,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/SpoofCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/SpoofCPInstruction.html
index cacdc64..bf28fce 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/SpoofCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/SpoofCPInstruction.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":9,"i3":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":9,"i4":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -203,10 +203,14 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/SpoofCPInstruction.html#getOperatorClass--">getOperatorClass</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i2" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/SpoofCPInstruction.html#isFederated-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">isFederated</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/SpoofCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">SpoofCPInstruction</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/SpoofCPInstruction.html#parseInstruction-java.lang.String-">parseInstruction</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</code>&nbsp;</td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/SpoofCPInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>
 <div class="block">This method should be used to execute the instruction.</div>
@@ -300,7 +304,7 @@
 <a name="getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>getLineageItem</h4>
 <pre>public&nbsp;org.apache.commons.lang3.tuple.Pair&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&gt;&nbsp;getLineageItem(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</pre>
@@ -318,6 +322,15 @@
 </dl>
 </li>
 </ul>
+<a name="isFederated-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>isFederated</h4>
+<pre>public&nbsp;boolean&nbsp;isFederated(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</pre>
+</li>
+</ul>
 </li>
 </ul>
 </li>
@@ -387,6 +400,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/SqlCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/SqlCPInstruction.html
index 28b4ff1..7a32763 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/SqlCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/SqlCPInstruction.html
@@ -389,6 +389,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/StringInitCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/StringInitCPInstruction.html
index 239c829..bc043c5 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/StringInitCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/StringInitCPInstruction.html
@@ -410,6 +410,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/StringObject.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/StringObject.html
index 7fcf452..476d268 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/StringObject.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/StringObject.html
@@ -401,6 +401,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/TernaryCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/TernaryCPInstruction.html
index c9b5e5e..d5219fb 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/TernaryCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/TernaryCPInstruction.html
@@ -347,6 +347,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/UaggOuterChainCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/UaggOuterChainCPInstruction.html
index d7dab7f..38f3519 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/UaggOuterChainCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/UaggOuterChainCPInstruction.html
@@ -352,6 +352,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/UnaryCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/UnaryCPInstruction.html
index e7c0dc5..f6a5f34 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/UnaryCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/UnaryCPInstruction.html
@@ -328,6 +328,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/UnaryFrameCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/UnaryFrameCPInstruction.html
index 6222221..3628ee2 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/UnaryFrameCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/UnaryFrameCPInstruction.html
@@ -346,6 +346,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/UnaryMatrixCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/UnaryMatrixCPInstruction.html
index c26fdce..34d5e19 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/UnaryMatrixCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/UnaryMatrixCPInstruction.html
@@ -350,6 +350,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/UnaryScalarCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/UnaryScalarCPInstruction.html
index 95e193a..cf413af 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/UnaryScalarCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/UnaryScalarCPInstruction.html
@@ -351,6 +351,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/VariableCPInstruction.VariableOperationCode.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/VariableCPInstruction.VariableOperationCode.html
index f692866..c27b805 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/VariableCPInstruction.VariableOperationCode.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/VariableCPInstruction.VariableOperationCode.html
@@ -497,6 +497,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/VariableCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/VariableCPInstruction.html
index 1490634..9ba7d96 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/VariableCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/VariableCPInstruction.html
@@ -824,6 +824,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/AggregateBinaryCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/AggregateBinaryCPInstruction.html
index 5d56422..e336d9f 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/AggregateBinaryCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/AggregateBinaryCPInstruction.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/AggregateTernaryCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/AggregateTernaryCPInstruction.html
index bca7c9f..8f8da2e 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/AggregateTernaryCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/AggregateTernaryCPInstruction.html
@@ -86,6 +86,10 @@
 <td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.cp">org.apache.sysds.runtime.instructions.cp</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.fed">org.apache.sysds.runtime.instructions.fed</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
 </tbody>
 </table>
 </li>
@@ -109,6 +113,37 @@
 </tbody>
 </table>
 </li>
+<li class="blockList"><a name="org.apache.sysds.runtime.instructions.fed">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/AggregateTernaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">AggregateTernaryCPInstruction</a> in <a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/package-summary.html">org.apache.sysds.runtime.instructions.fed</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing fields, and an explanation">
+<caption><span>Fields in <a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/package-summary.html">org.apache.sysds.runtime.instructions.fed</a> declared as <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/AggregateTernaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">AggregateTernaryCPInstruction</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/AggregateTernaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">AggregateTernaryCPInstruction</a></code></td>
+<td class="colLast"><span class="typeNameLabel">AggregateTernaryFEDInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/AggregateTernaryFEDInstruction.html#Z:Z_ins">_ins</a></span></code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/package-summary.html">org.apache.sysds.runtime.instructions.fed</a> with parameters of type <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/AggregateTernaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">AggregateTernaryCPInstruction</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/AggregateTernaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">AggregateTernaryFEDInstruction</a></code></td>
+<td class="colLast"><span class="typeNameLabel">AggregateTernaryFEDInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/AggregateTernaryFEDInstruction.html#parseInstruction-org.apache.sysds.runtime.instructions.cp.AggregateTernaryCPInstruction-">parseInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/AggregateTernaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">AggregateTernaryCPInstruction</a>&nbsp;ins)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
 </ul>
 </li>
 </ul>
@@ -160,6 +195,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/AggregateUnaryCPInstruction.AUType.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/AggregateUnaryCPInstruction.AUType.html
index 4b0f7b3..b6c42db 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/AggregateUnaryCPInstruction.AUType.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/AggregateUnaryCPInstruction.AUType.html
@@ -193,6 +193,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/AggregateUnaryCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/AggregateUnaryCPInstruction.html
index 3088b53..080a759 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/AggregateUnaryCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/AggregateUnaryCPInstruction.html
@@ -173,6 +173,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/AppendCPInstruction.AppendType.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/AppendCPInstruction.AppendType.html
index 91d8313..faae4eb 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/AppendCPInstruction.AppendType.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/AppendCPInstruction.AppendType.html
@@ -103,12 +103,16 @@
 </tr>
 <tbody>
 <tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/AppendCPInstruction.AppendType.html" title="enum in org.apache.sysds.runtime.instructions.cp">AppendCPInstruction.AppendType</a></code></td>
+<td class="colLast"><span class="typeNameLabel">AppendCPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/AppendCPInstruction.html#getAppendType--">getAppendType</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/AppendCPInstruction.AppendType.html" title="enum in org.apache.sysds.runtime.instructions.cp">AppendCPInstruction.AppendType</a></code></td>
 <td class="colLast"><span class="typeNameLabel">AppendCPInstruction.AppendType.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/AppendCPInstruction.AppendType.html#valueOf-java.lang.String-">valueOf</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
 <div class="block">Returns the enum constant of this type with the specified name.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/AppendCPInstruction.AppendType.html" title="enum in org.apache.sysds.runtime.instructions.cp">AppendCPInstruction.AppendType</a>[]</code></td>
 <td class="colLast"><span class="typeNameLabel">AppendCPInstruction.AppendType.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/AppendCPInstruction.AppendType.html#values--">values</a></span>()</code>
 <div class="block">Returns an array containing the constants of this enum type, in
@@ -169,6 +173,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/AppendCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/AppendCPInstruction.html
index d5d243b..3042c80 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/AppendCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/AppendCPInstruction.html
@@ -86,6 +86,10 @@
 <td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.cp">org.apache.sysds.runtime.instructions.cp</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.privacy.propagation">org.apache.sysds.runtime.privacy.propagation</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
 </tbody>
 </table>
 </li>
@@ -134,6 +138,25 @@
 </tbody>
 </table>
 </li>
+<li class="blockList"><a name="org.apache.sysds.runtime.privacy.propagation">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/AppendCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">AppendCPInstruction</a> in <a href="../../../../../../../org/apache/sysds/runtime/privacy/propagation/package-summary.html">org.apache.sysds.runtime.privacy.propagation</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/privacy/propagation/package-summary.html">org.apache.sysds.runtime.privacy.propagation</a> with parameters of type <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/AppendCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">AppendCPInstruction</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></code></td>
+<td class="colLast"><span class="typeNameLabel">PrivacyPropagator.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/privacy/propagation/PrivacyPropagator.html#preprocessAppendCPInstruction-org.apache.sysds.runtime.instructions.cp.AppendCPInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessAppendCPInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/AppendCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">AppendCPInstruction</a>&nbsp;inst,
+                             <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
 </ul>
 </li>
 </ul>
@@ -185,6 +208,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/BinaryCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/BinaryCPInstruction.html
index 6b556c2..741845d 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/BinaryCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/BinaryCPInstruction.html
@@ -252,6 +252,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/BinaryFrameFrameCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/BinaryFrameFrameCPInstruction.html
index ed5cb77..42df2a6 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/BinaryFrameFrameCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/BinaryFrameFrameCPInstruction.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/BinaryFrameMatrixCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/BinaryFrameMatrixCPInstruction.html
index 370f065..7a4c1d6 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/BinaryFrameMatrixCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/BinaryFrameMatrixCPInstruction.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/BinaryFrameScalarCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/BinaryFrameScalarCPInstruction.html
index 667bdeb..f869039 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/BinaryFrameScalarCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/BinaryFrameScalarCPInstruction.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/BinaryMatrixMatrixCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/BinaryMatrixMatrixCPInstruction.html
index 7956908..67b43cf 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/BinaryMatrixMatrixCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/BinaryMatrixMatrixCPInstruction.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/BinaryMatrixScalarCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/BinaryMatrixScalarCPInstruction.html
index 0c3770a..024af90 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/BinaryMatrixScalarCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/BinaryMatrixScalarCPInstruction.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/BinaryScalarScalarCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/BinaryScalarScalarCPInstruction.html
index 1968acf..4377c2a 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/BinaryScalarScalarCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/BinaryScalarScalarCPInstruction.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/BinaryTensorTensorCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/BinaryTensorTensorCPInstruction.html
index 6ad16b9..26a2f93 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/BinaryTensorTensorCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/BinaryTensorTensorCPInstruction.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/BooleanObject.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/BooleanObject.html
index 2797014..343272b 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/BooleanObject.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/BooleanObject.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/BuiltinNaryCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/BuiltinNaryCPInstruction.html
index 92a961c..1fa35a8 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/BuiltinNaryCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/BuiltinNaryCPInstruction.html
@@ -210,6 +210,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/CM_COV_Object.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/CM_COV_Object.html
index 2575b8f..757e73b 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/CM_COV_Object.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/CM_COV_Object.html
@@ -112,21 +112,21 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CM_COV_Object.html" title="class in org.apache.sysds.runtime.instructions.cp">CM_COV_Object</a></code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#cmOperations-org.apache.sysds.runtime.matrix.operators.CMOperator-">cmOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/CMOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">CMOperator</a>&nbsp;op)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#cmOperations-org.apache.sysds.runtime.matrix.operators.CMOperator-">cmOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/CMOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">CMOperator</a>&nbsp;op)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CM_COV_Object.html" title="class in org.apache.sysds.runtime.instructions.cp">CM_COV_Object</a></code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#cmOperations-org.apache.sysds.runtime.matrix.operators.CMOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-">cmOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/CMOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">CMOperator</a>&nbsp;op,
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#cmOperations-org.apache.sysds.runtime.matrix.operators.CMOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-">cmOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/CMOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">CMOperator</a>&nbsp;op,
             <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;weights)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CM_COV_Object.html" title="class in org.apache.sysds.runtime.instructions.cp">CM_COV_Object</a></code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#covOperations-org.apache.sysds.runtime.matrix.operators.COVOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-">covOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/COVOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">COVOperator</a>&nbsp;op,
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#covOperations-org.apache.sysds.runtime.matrix.operators.COVOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-">covOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/COVOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">COVOperator</a>&nbsp;op,
              <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;that)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CM_COV_Object.html" title="class in org.apache.sysds.runtime.instructions.cp">CM_COV_Object</a></code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#covOperations-org.apache.sysds.runtime.matrix.operators.COVOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">covOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/COVOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">COVOperator</a>&nbsp;op,
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#covOperations-org.apache.sysds.runtime.matrix.operators.COVOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">covOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/COVOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">COVOperator</a>&nbsp;op,
              <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;that,
              <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;weights)</code>&nbsp;</td>
 </tr>
@@ -257,6 +257,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/CPInstruction.CPType.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/CPInstruction.CPType.html
index b0c5a53..4921b88 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/CPInstruction.CPType.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/CPInstruction.CPType.html
@@ -226,6 +226,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/CPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/CPInstruction.html
index 50391de..9cecc83 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/CPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/CPInstruction.html
@@ -217,149 +217,153 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/DnnCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">DnnCPInstruction</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/DeCompressionCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">DeCompressionCPInstruction</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/DnnCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">DnnCPInstruction</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/EvalNaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">EvalNaryCPInstruction</a></span></code>
 <div class="block">Eval built-in function instruction
  Note: it supports only single matrix[double] output</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/FrameAppendCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">FrameAppendCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/FrameIndexingCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">FrameIndexingCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/FunctionCallCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">FunctionCallCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/IndexingCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">IndexingCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ListAppendRemoveCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ListAppendRemoveCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ListIndexingCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ListIndexingCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/MatrixAppendCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">MatrixAppendCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/MatrixBuiltinNaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">MatrixBuiltinNaryCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/MatrixIndexingCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">MatrixIndexingCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/MMChainCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">MMChainCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/MMTSJCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">MMTSJCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/MultiReturnBuiltinCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">MultiReturnBuiltinCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/MultiReturnParameterizedBuiltinCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">MultiReturnParameterizedBuiltinCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ParameterizedBuiltinCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ParameterizedBuiltinCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ParamservBuiltinCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ParamservBuiltinCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/PMMJCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">PMMJCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/QuantilePickCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">QuantilePickCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/QuantileSortCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">QuantileSortCPInstruction</a></span></code>
 <div class="block">This class supports two variants of sort operation on a 1-dimensional input matrix.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/QuaternaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">QuaternaryCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ReorgCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ReorgCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ReshapeCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ReshapeCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarAppendCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarAppendCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarBuiltinNaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarBuiltinNaryCPInstruction</a></span></code>
 <div class="block">The ScalarBuiltinMultipleCPInstruction class is responsible for printf-style
  Java-based string formatting.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/SpoofCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">SpoofCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/SqlCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">SqlCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/StringInitCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">StringInitCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/TernaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">TernaryCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/UaggOuterChainCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">UaggOuterChainCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/UnaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">UnaryCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/UnaryFrameCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">UnaryFrameCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/UnaryMatrixCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">UnaryMatrixCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/UnaryScalarCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">UnaryScalarCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/VariableCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">VariableCPInstruction</a></span></code>&nbsp;</td>
 </tr>
@@ -456,6 +460,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/CPOperand.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/CPOperand.html
index 85d8bd7..05ac4f9 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/CPOperand.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/CPOperand.html
@@ -207,6 +207,20 @@
 </tr>
 <tbody>
 <tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRequest.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRequest</a>[]</code></td>
+<td class="colLast"><span class="typeNameLabel">FederationUtils.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationUtils.html#callInstruction-java.lang.String:A-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand:A-long:A-">callInstruction</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;inst,
+               <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;varOldOut,
+               <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>[]&nbsp;varOldIn,
+               long[]&nbsp;varNewIn)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRequest.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRequest</a>[]</code></td>
+<td class="colLast"><span class="typeNameLabel">FederationUtils.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationUtils.html#callInstruction-java.lang.String:A-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand:A-long:A-">callInstruction</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;inst,
+               <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;varOldOut,
+               <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>[]&nbsp;varOldIn,
+               long[]&nbsp;varNewIn)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRequest.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRequest</a></code></td>
 <td class="colLast"><span class="typeNameLabel">FederationUtils.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationUtils.html#callInstruction-java.lang.String-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand:A-long:A-">callInstruction</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;inst,
                <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;varOldOut,
@@ -220,6 +234,22 @@
                <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>[]&nbsp;varOldIn,
                long[]&nbsp;varNewIn)</code>&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRequest.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRequest</a></code></td>
+<td class="colLast"><span class="typeNameLabel">FederationUtils.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationUtils.html#callInstruction-java.lang.String-org.apache.sysds.runtime.instructions.cp.CPOperand-long-org.apache.sysds.runtime.instructions.cp.CPOperand:A-long:A-">callInstruction</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;inst,
+               <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;varOldOut,
+               long&nbsp;outputId,
+               <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>[]&nbsp;varOldIn,
+               long[]&nbsp;varNewIn)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRequest.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRequest</a></code></td>
+<td class="colLast"><span class="typeNameLabel">FederationUtils.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationUtils.html#callInstruction-java.lang.String-org.apache.sysds.runtime.instructions.cp.CPOperand-long-org.apache.sysds.runtime.instructions.cp.CPOperand:A-long:A-">callInstruction</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;inst,
+               <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;varOldOut,
+               long&nbsp;outputId,
+               <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>[]&nbsp;varOldIn,
+               long[]&nbsp;varNewIn)</code>&nbsp;</td>
+</tr>
 </tbody>
 </table>
 </li>
@@ -235,12 +265,32 @@
 </tr>
 <tbody>
 <tr class="altColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><span class="typeNameLabel">InstructionUtils.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/InstructionUtils.html#constructBinaryInstString-java.lang.String-java.lang.String-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-">constructBinaryInstString</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;instString,
+                         <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;opcode,
+                         <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;op1,
+                         <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;op2,
+                         <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;out)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><span class="typeNameLabel">InstructionUtils.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/InstructionUtils.html#constructTernaryString-java.lang.String-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-">constructTernaryString</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;instString,
+                      <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;op1,
+                      <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;op2,
+                      <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;op3,
+                      <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;out)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><span class="typeNameLabel">InstructionUtils.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/InstructionUtils.html#createOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-">createOperand</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;operand)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a></code></td>
 <td class="colLast"><span class="typeNameLabel">InstructionUtils.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/InstructionUtils.html#parseBinaryOrBuiltinOperator-java.lang.String-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-">parseBinaryOrBuiltinOperator</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;opcode,
                             <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;in1,
                             <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;in2)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a></code></td>
 <td class="colLast"><span class="typeNameLabel">InstructionUtils.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/InstructionUtils.html#parseExtendedBinaryOrBuiltinOperator-java.lang.String-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-">parseExtendedBinaryOrBuiltinOperator</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;opcode,
                                     <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;in1,
@@ -345,6 +395,10 @@
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a></code></td>
 <td class="colLast"><span class="typeNameLabel">MultiReturnParameterizedBuiltinCPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/MultiReturnParameterizedBuiltinCPInstruction.html#getOutput-int-">getOutput</a></span>(int&nbsp;i)</code>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ListAppendRemoveCPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ListAppendRemoveCPInstruction.html#getOutput2--">getOutput2</a></span>()</code>&nbsp;</td>
+</tr>
 </tbody>
 </table>
 <table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
@@ -405,6 +459,17 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html#CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-">CPOperand</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;variable)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/DataGenCPInstruction.html#DataGenCPInstruction-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.common.Types.OpOpDG-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-java.lang.String-java.lang.String-java.lang.String-java.lang.String-">DataGenCPInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
+                    <a href="../../../../../../../org/apache/sysds/common/Types.OpOpDG.html" title="enum in org.apache.sysds.common">Types.OpOpDG</a>&nbsp;method,
+                    <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;out,
+                    <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;rows,
+                    <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;cols,
+                    <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;data,
+                    <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;schema,
+                    <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;opcode,
+                    <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/DnnCPInstruction.html#DnnCPInstruction-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-java.util.ArrayList-java.util.ArrayList-java.util.ArrayList-java.util.ArrayList-int-double-java.lang.String-java.lang.String-">DnnCPInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;in,
                 <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;in2,
                 <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;in3,
@@ -418,7 +483,7 @@
                 <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;opcode,
                 <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;istr)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/DnnCPInstruction.html#DnnCPInstruction-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-java.lang.String-java.lang.String-double-">DnnCPInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;in1,
                 <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;in2,
                 <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;in3,
@@ -436,7 +501,7 @@
                 <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;istr,
                 double&nbsp;intermediateMemoryBudget)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/DnnCPInstruction.html#DnnCPInstruction-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-java.lang.String-java.lang.String-java.util.ArrayList-java.util.ArrayList-java.util.ArrayList-java.util.ArrayList-int-double-">DnnCPInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;in,
                 <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;in2,
                 <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;in3,
@@ -450,7 +515,7 @@
                 int&nbsp;numThreads,
                 double&nbsp;intermediateMemoryBudget)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/DnnCPInstruction.html#DnnCPInstruction-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-java.lang.String-java.lang.String-java.util.ArrayList-java.util.ArrayList-java.util.ArrayList-java.util.ArrayList-int-double-">DnnCPInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;in,
                 <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;in2,
                 <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;out,
@@ -463,7 +528,7 @@
                 int&nbsp;numThreads,
                 double&nbsp;intermediateMemoryBudget)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/DnnCPInstruction.html#DnnCPInstruction-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-java.lang.String-java.lang.String-int-double-">DnnCPInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;in,
                 <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;in2,
                 <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;out,
@@ -472,13 +537,6 @@
                 int&nbsp;numThreads,
                 double&nbsp;intermediateMemoryBudget)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/EvalNaryCPInstruction.html#EvalNaryCPInstruction-org.apache.sysds.runtime.matrix.operators.Operator-java.lang.String-java.lang.String-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand...-">EvalNaryCPInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
-                     <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;opcode,
-                     <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;istr,
-                     <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;output,
-                     <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>...&nbsp;inputs)</code>&nbsp;</td>
-</tr>
 <tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/EvalNaryCPInstruction.html#EvalNaryCPInstruction-org.apache.sysds.runtime.matrix.operators.Operator-java.lang.String-java.lang.String-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand...-">EvalNaryCPInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
                      <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;opcode,
@@ -487,6 +545,13 @@
                      <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>...&nbsp;inputs)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/EvalNaryCPInstruction.html#EvalNaryCPInstruction-org.apache.sysds.runtime.matrix.operators.Operator-java.lang.String-java.lang.String-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand...-">EvalNaryCPInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
+                     <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;opcode,
+                     <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;istr,
+                     <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;output,
+                     <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>...&nbsp;inputs)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/FunctionCallCPInstruction.html#FunctionCallCPInstruction-java.lang.String-java.lang.String-boolean-org.apache.sysds.runtime.instructions.cp.CPOperand:A-java.util.List-java.util.List-java.lang.String-">FunctionCallCPInstruction</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
                          <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;functName,
                          boolean&nbsp;opt,
@@ -495,7 +560,7 @@
                          <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;boundOutputNames,
                          <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;istr)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/MatrixIndexingCPInstruction.html#MatrixIndexingCPInstruction-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-java.lang.String-java.lang.String-">MatrixIndexingCPInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;in,
                            <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;rl,
                            <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;ru,
@@ -505,14 +570,14 @@
                            <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;opcode,
                            <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;istr)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ParamservBuiltinCPInstruction.html#ParamservBuiltinCPInstruction-org.apache.sysds.runtime.matrix.operators.Operator-java.util.LinkedHashMap-org.apache.sysds.runtime.instructions.cp.CPOperand-java.lang.String-java.lang.String-">ParamservBuiltinCPInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
                              <a href="https://docs.oracle.com/javase/8/docs/api/java/util/LinkedHashMap.html?is-external=true" title="class or interface in java.util">LinkedHashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;paramsMap,
                              <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;out,
                              <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;opcode,
                              <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;istr)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/SqlCPInstruction.html#SqlCPInstruction-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-java.lang.String-java.lang.String-">SqlCPInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;conn,
                 <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;user,
                 <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;pass,
@@ -753,6 +818,16 @@
                              <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;istr)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/BinaryFEDInstruction.html#BinaryFEDInstruction-org.apache.sysds.runtime.instructions.fed.FEDInstruction.FEDType-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-java.lang.String-java.lang.String-">BinaryFEDInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.FEDType.html" title="enum in org.apache.sysds.runtime.instructions.fed">FEDInstruction.FEDType</a>&nbsp;type,
+                    <a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
+                    <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;in1,
+                    <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;in2,
+                    <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;in3,
+                    <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;out,
+                    <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;opcode,
+                    <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;istr)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/InitFEDInstruction.html#InitFEDInstruction-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-java.lang.String-java.lang.String-">InitFEDInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;type,
                   <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;addresses,
                   <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;ranges,
@@ -760,7 +835,7 @@
                   <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;opcode,
                   <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;instr)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/MMChainFEDInstruction.html#MMChainFEDInstruction-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.lops.MapMultChain.ChainType-int-java.lang.String-java.lang.String-">MMChainFEDInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;in1,
                      <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;in2,
                      <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;in3,
@@ -770,13 +845,14 @@
                      <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;opcode,
                      <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;istr)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.html#ReorgFEDInstruction-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-java.lang.String-java.lang.String-">ReorgFEDInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;in1,
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.html#ReorgFEDInstruction-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-java.lang.String-java.lang.String-">ReorgFEDInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
+                   <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;in1,
                    <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;out,
                    <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;opcode,
                    <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;istr)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/TsmmFEDInstruction.html#TsmmFEDInstruction-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.lops.MMTSJ.MMTSJType-int-java.lang.String-java.lang.String-">TsmmFEDInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;in,
                   <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;out,
                   <a href="../../../../../../../org/apache/sysds/lops/MMTSJ.MMTSJType.html" title="enum in org.apache.sysds.lops">MMTSJ.MMTSJType</a>&nbsp;type,
@@ -791,6 +867,31 @@
 <!--   -->
 </a>
 <h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a> in <a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/package-summary.html">org.apache.sysds.runtime.instructions.gpu</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing fields, and an explanation">
+<caption><span>Fields in <a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/package-summary.html">org.apache.sysds.runtime.instructions.gpu</a> declared as <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a></code></td>
+<td class="colLast"><span class="typeNameLabel">GPUInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#Z:Z_input1">_input1</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a></code></td>
+<td class="colLast"><span class="typeNameLabel">GPUInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#Z:Z_input2">_input2</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a></code></td>
+<td class="colLast"><span class="typeNameLabel">SpoofCUDAInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.html#Z:Z_out">_out</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a></code></td>
+<td class="colLast"><span class="typeNameLabel">GPUInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#Z:Z_output">_output</a></span></code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
 <table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
 <caption><span>Constructors in <a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/package-summary.html">org.apache.sysds.runtime.instructions.gpu</a> with parameters of type <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a></span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
@@ -1173,6 +1274,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/CentralMomentCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/CentralMomentCPInstruction.html
index 04642d3..0fbf03e 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/CentralMomentCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/CentralMomentCPInstruction.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/CompressionCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/CompressionCPInstruction.html
index 424a810..fee3889 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/CompressionCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/CompressionCPInstruction.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/ComputationCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/ComputationCPInstruction.html
index 56277a2..ddcf3cd 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/ComputationCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/ComputationCPInstruction.html
@@ -180,119 +180,123 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/DnnCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">DnnCPInstruction</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/DeCompressionCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">DeCompressionCPInstruction</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/DnnCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">DnnCPInstruction</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/FrameAppendCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">FrameAppendCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/FrameIndexingCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">FrameIndexingCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/IndexingCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">IndexingCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ListAppendRemoveCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ListAppendRemoveCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ListIndexingCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ListIndexingCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/MatrixAppendCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">MatrixAppendCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/MatrixIndexingCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">MatrixIndexingCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/MMChainCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">MMChainCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/MMTSJCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">MMTSJCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/MultiReturnBuiltinCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">MultiReturnBuiltinCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/MultiReturnParameterizedBuiltinCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">MultiReturnParameterizedBuiltinCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ParameterizedBuiltinCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ParameterizedBuiltinCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ParamservBuiltinCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ParamservBuiltinCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/PMMJCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">PMMJCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/QuantilePickCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">QuantilePickCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/QuantileSortCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">QuantileSortCPInstruction</a></span></code>
 <div class="block">This class supports two variants of sort operation on a 1-dimensional input matrix.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/QuaternaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">QuaternaryCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ReorgCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ReorgCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ReshapeCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ReshapeCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarAppendCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarAppendCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/SpoofCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">SpoofCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/StringInitCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">StringInitCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/TernaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">TernaryCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/UaggOuterChainCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">UaggOuterChainCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/UnaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">UnaryCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/UnaryFrameCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">UnaryFrameCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/UnaryMatrixCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">UnaryMatrixCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/UnaryScalarCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">UnaryScalarCPInstruction</a></span></code>&nbsp;</td>
 </tr>
@@ -394,6 +398,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/CovarianceCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/CovarianceCPInstruction.html
index 9708c8b..d2c24b6 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/CovarianceCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/CovarianceCPInstruction.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/CtableCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/CtableCPInstruction.html
index 3a851db..a2dc3de 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/CtableCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/CtableCPInstruction.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/Data.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/Data.html
index f34c651..513ceed 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/Data.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/Data.html
@@ -754,6 +754,16 @@
 <td class="colLast"><span class="typeNameLabel">ParameterizedBuiltinFEDInstruction.DecodeMatrix.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/ParameterizedBuiltinFEDInstruction.DecodeMatrix.html#execute-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.runtime.instructions.cp.Data...-">execute</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
        <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/Data.html" title="class in org.apache.sysds.runtime.instructions.cp">Data</a>...&nbsp;data)</code>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedResponse</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ReorgFEDInstruction.Rdiag.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.Rdiag.html#execute-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.runtime.instructions.cp.Data...-">execute</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
+       <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/Data.html" title="class in org.apache.sysds.runtime.instructions.cp">Data</a>...&nbsp;data)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedResponse</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ReorgFEDInstruction.DiagMatrix.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.DiagMatrix.html#execute-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.runtime.instructions.cp.Data...-">execute</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
+       <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/Data.html" title="class in org.apache.sysds.runtime.instructions.cp">Data</a>...&nbsp;data)</code>&nbsp;</td>
+</tr>
 </tbody>
 </table>
 </li>
@@ -775,6 +785,20 @@
 </tr>
 </tbody>
 </table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/lineage/package-summary.html">org.apache.sysds.runtime.lineage</a> with parameters of type <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/Data.html" title="class in org.apache.sysds.runtime.instructions.cp">Data</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>static boolean</code></td>
+<td class="colLast"><span class="typeNameLabel">LineageCacheConfig.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/lineage/LineageCacheConfig.html#isOutputFederated-org.apache.sysds.runtime.instructions.Instruction-org.apache.sysds.runtime.instructions.cp.Data-">isOutputFederated</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a>&nbsp;inst,
+                 <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/Data.html" title="class in org.apache.sysds.runtime.instructions.cp">Data</a>&nbsp;data)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
 </li>
 <li class="blockList"><a name="org.apache.sysds.runtime.privacy">
 <!--   -->
@@ -793,12 +817,6 @@
 <div class="block">Throws DMLPrivacyException if privacy constraint is set to private or private aggregation.</div>
 </td>
 </tr>
-<tr class="rowColor">
-<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/Data.html" title="class in org.apache.sysds.runtime.instructions.cp">Data</a></code></td>
-<td class="colLast"><span class="typeNameLabel">PrivacyMonitor.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/privacy/PrivacyMonitor.html#handlePrivacyAllowAggregation-org.apache.sysds.runtime.instructions.cp.Data-">handlePrivacyAllowAggregation</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/Data.html" title="class in org.apache.sysds.runtime.instructions.cp">Data</a>&nbsp;dataObject)</code>
-<div class="block">Throws DMLPrivacyException if privacy constraint of data object has level privacy.</div>
-</td>
-</tr>
 </tbody>
 </table>
 <table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
@@ -814,12 +832,6 @@
 <div class="block">Throws DMLPrivacyException if privacy constraint is set to private or private aggregation.</div>
 </td>
 </tr>
-<tr class="rowColor">
-<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/Data.html" title="class in org.apache.sysds.runtime.instructions.cp">Data</a></code></td>
-<td class="colLast"><span class="typeNameLabel">PrivacyMonitor.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/privacy/PrivacyMonitor.html#handlePrivacyAllowAggregation-org.apache.sysds.runtime.instructions.cp.Data-">handlePrivacyAllowAggregation</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/Data.html" title="class in org.apache.sysds.runtime.instructions.cp">Data</a>&nbsp;dataObject)</code>
-<div class="block">Throws DMLPrivacyException if privacy constraint of data object has level privacy.</div>
-</td>
-</tr>
 </tbody>
 </table>
 </li>
@@ -926,6 +938,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/DataGenCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/DataGenCPInstruction.html
index ce7c004..622fb84 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/DataGenCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/DataGenCPInstruction.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/DeCompressionCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/DeCompressionCPInstruction.html
new file mode 100644
index 0000000..9953f1f
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/DeCompressionCPInstruction.html
@@ -0,0 +1,165 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.sysds.runtime.instructions.cp.DeCompressionCPInstruction (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.sysds.runtime.instructions.cp.DeCompressionCPInstruction (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/DeCompressionCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/instructions/cp/class-use/DeCompressionCPInstruction.html" target="_top">Frames</a></li>
+<li><a href="DeCompressionCPInstruction.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.sysds.runtime.instructions.cp.DeCompressionCPInstruction" class="title">Uses of Class<br>org.apache.sysds.runtime.instructions.cp.DeCompressionCPInstruction</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/DeCompressionCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">DeCompressionCPInstruction</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.cp">org.apache.sysds.runtime.instructions.cp</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.sysds.runtime.instructions.cp">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/DeCompressionCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">DeCompressionCPInstruction</a> in <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/package-summary.html">org.apache.sysds.runtime.instructions.cp</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/package-summary.html">org.apache.sysds.runtime.instructions.cp</a> that return <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/DeCompressionCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">DeCompressionCPInstruction</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/DeCompressionCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">DeCompressionCPInstruction</a></code></td>
+<td class="colLast"><span class="typeNameLabel">DeCompressionCPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/DeCompressionCPInstruction.html#parseInstruction-java.lang.String-">parseInstruction</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/DeCompressionCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/instructions/cp/class-use/DeCompressionCPInstruction.html" target="_top">Frames</a></li>
+<li><a href="DeCompressionCPInstruction.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/DnnCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/DnnCPInstruction.html
index 4666121..4a30952 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/DnnCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/DnnCPInstruction.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/DoubleObject.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/DoubleObject.html
index c90dd9e..5aecd72 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/DoubleObject.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/DoubleObject.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/EvalNaryCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/EvalNaryCPInstruction.html
index 8e077ba..82dd36a 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/EvalNaryCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/EvalNaryCPInstruction.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/FrameAppendCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/FrameAppendCPInstruction.html
index bbf85fd..c8bd7b1 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/FrameAppendCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/FrameAppendCPInstruction.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/FrameIndexingCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/FrameIndexingCPInstruction.html
index dced61b..749dec4 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/FrameIndexingCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/FrameIndexingCPInstruction.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/FunctionCallCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/FunctionCallCPInstruction.html
index d78c181..ef2bb5a 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/FunctionCallCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/FunctionCallCPInstruction.html
@@ -83,10 +83,14 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.cp">org.apache.sysds.runtime.instructions.cp</a></td>
+<td class="colFirst"><a href="#org.apache.sysds.runtime.controlprogram.paramserv">org.apache.sysds.runtime.controlprogram.paramserv</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.cp">org.apache.sysds.runtime.instructions.cp</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.privacy.propagation">org.apache.sysds.runtime.privacy.propagation</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
@@ -95,6 +99,24 @@
 </li>
 <li class="blockList">
 <ul class="blockList">
+<li class="blockList"><a name="org.apache.sysds.runtime.controlprogram.paramserv">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/FunctionCallCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">FunctionCallCPInstruction</a> in <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/package-summary.html">org.apache.sysds.runtime.controlprogram.paramserv</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/package-summary.html">org.apache.sysds.runtime.controlprogram.paramserv</a> that return <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/FunctionCallCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">FunctionCallCPInstruction</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/FunctionCallCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">FunctionCallCPInstruction</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ParamServer.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/ParamServer.html#getAggInst--">getAggInst</a></span>()</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
 <li class="blockList"><a name="org.apache.sysds.runtime.instructions.cp">
 <!--   -->
 </a>
@@ -183,6 +205,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/IndexingCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/IndexingCPInstruction.html
index ca2bb1e..41e717e 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/IndexingCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/IndexingCPInstruction.html
@@ -205,6 +205,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/IntObject.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/IntObject.html
index 4ab70e1..e21c227 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/IntObject.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/IntObject.html
@@ -251,6 +251,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/KahanObject.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/KahanObject.html
index a4c0be7..721f30d 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/KahanObject.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/KahanObject.html
@@ -335,6 +335,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/ListAppendRemoveCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/ListAppendRemoveCPInstruction.html
index 01bc0d7..798732b 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/ListAppendRemoveCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/ListAppendRemoveCPInstruction.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/ListIndexingCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/ListIndexingCPInstruction.html
index f11d23c..245a564 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/ListIndexingCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/ListIndexingCPInstruction.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/ListObject.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/ListObject.html
index b9b43d1..299c17f 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/ListObject.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/ListObject.html
@@ -99,6 +99,10 @@
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.privacy.propagation">org.apache.sysds.runtime.privacy.propagation</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.util">org.apache.sysds.runtime.util</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
@@ -230,11 +234,16 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/LocalParamServer.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv">LocalParamServer</a></code></td>
-<td class="colLast"><span class="typeNameLabel">LocalParamServer.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/LocalParamServer.html#create-org.apache.sysds.runtime.instructions.cp.ListObject-java.lang.String-org.apache.sysds.parser.Statement.PSUpdateType-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-int-">create</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ListObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ListObject</a>&nbsp;model,
+<td class="colLast"><span class="typeNameLabel">LocalParamServer.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/LocalParamServer.html#create-org.apache.sysds.runtime.instructions.cp.ListObject-java.lang.String-org.apache.sysds.parser.Statement.PSUpdateType-org.apache.sysds.parser.Statement.PSFrequency-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-int-java.lang.String-int-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-">create</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ListObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ListObject</a>&nbsp;model,
       <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;aggFunc,
       <a href="../../../../../../../org/apache/sysds/parser/Statement.PSUpdateType.html" title="enum in org.apache.sysds.parser">Statement.PSUpdateType</a>&nbsp;updateType,
+      <a href="../../../../../../../org/apache/sysds/parser/Statement.PSFrequency.html" title="enum in org.apache.sysds.parser">Statement.PSFrequency</a>&nbsp;freq,
       <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
-      int&nbsp;workerNum)</code>&nbsp;</td>
+      int&nbsp;workerNum,
+      <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;valFunc,
+      int&nbsp;numBatchesPerEpoch,
+      <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;valFeatures,
+      <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;valLabels)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>abstract void</code></td>
@@ -317,7 +326,10 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ListObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ListObject</a></code></td>
-<td class="colLast"><span class="typeNameLabel">ListObject.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ListObject.html#remove-int-">remove</a></span>(int&nbsp;pos)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">ListObject.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ListObject.html#remove-int-">remove</a></span>(int&nbsp;pos)</code>
+<div class="block">Removes the element at the specified position from the list
+ and returns that element as the only element in a new ListObject.</div>
+</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ListObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ListObject</a></code></td>
@@ -381,6 +393,31 @@
 </tbody>
 </table>
 </li>
+<li class="blockList"><a name="org.apache.sysds.runtime.privacy.propagation">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ListObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ListObject</a> in <a href="../../../../../../../org/apache/sysds/runtime/privacy/propagation/package-summary.html">org.apache.sysds.runtime.privacy.propagation</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../../../org/apache/sysds/runtime/privacy/propagation/package-summary.html">org.apache.sysds.runtime.privacy.propagation</a> with parameters of type <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ListObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ListObject</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/privacy/propagation/ListAppendPropagator.html#ListAppendPropagator-org.apache.sysds.runtime.instructions.cp.ListObject-org.apache.sysds.runtime.privacy.PrivacyConstraint-org.apache.sysds.runtime.instructions.cp.ListObject-org.apache.sysds.runtime.privacy.PrivacyConstraint-">ListAppendPropagator</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ListObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ListObject</a>&nbsp;input1,
+                    <a href="../../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>&nbsp;privacyConstraint1,
+                    <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ListObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ListObject</a>&nbsp;input2,
+                    <a href="../../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>&nbsp;privacyConstraint2)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/privacy/propagation/ListRemovePropagator.html#ListRemovePropagator-org.apache.sysds.runtime.instructions.cp.ListObject-org.apache.sysds.runtime.privacy.PrivacyConstraint-org.apache.sysds.runtime.instructions.cp.ScalarObject-org.apache.sysds.runtime.privacy.PrivacyConstraint-">ListRemovePropagator</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ListObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ListObject</a>&nbsp;list,
+                    <a href="../../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>&nbsp;listPrivacyConstraint,
+                    <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&nbsp;removePosition,
+                    <a href="../../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>&nbsp;removePositionPrivacyConstraint)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
 <li class="blockList"><a name="org.apache.sysds.runtime.util">
 <!--   -->
 </a>
@@ -458,6 +495,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/MMChainCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/MMChainCPInstruction.html
index fd9258b..6610561 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/MMChainCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/MMChainCPInstruction.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/MMTSJCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/MMTSJCPInstruction.html
index 240f106..9f7d9e7 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/MMTSJCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/MMTSJCPInstruction.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/MatrixAppendCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/MatrixAppendCPInstruction.html
index c0233f7..debd9a8 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/MatrixAppendCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/MatrixAppendCPInstruction.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/MatrixBuiltinNaryCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/MatrixBuiltinNaryCPInstruction.html
index 666d55f..d7eb275 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/MatrixBuiltinNaryCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/MatrixBuiltinNaryCPInstruction.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/MatrixIndexingCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/MatrixIndexingCPInstruction.html
index 970793e..7cea1d3 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/MatrixIndexingCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/MatrixIndexingCPInstruction.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/MultiReturnBuiltinCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/MultiReturnBuiltinCPInstruction.html
index 40986f8..30907b4 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/MultiReturnBuiltinCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/MultiReturnBuiltinCPInstruction.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/MultiReturnParameterizedBuiltinCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/MultiReturnParameterizedBuiltinCPInstruction.html
index b003a10..5874582 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/MultiReturnParameterizedBuiltinCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/MultiReturnParameterizedBuiltinCPInstruction.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/PMMJCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/PMMJCPInstruction.html
index 5eda4c5..f456d34 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/PMMJCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/PMMJCPInstruction.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/ParameterizedBuiltinCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/ParameterizedBuiltinCPInstruction.html
index 10a04dd..d6d10d3 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/ParameterizedBuiltinCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/ParameterizedBuiltinCPInstruction.html
@@ -196,6 +196,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/ParamservBuiltinCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/ParamservBuiltinCPInstruction.html
index d0764d4..2f6f0b0 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/ParamservBuiltinCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/ParamservBuiltinCPInstruction.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/QuantilePickCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/QuantilePickCPInstruction.html
index 1a38c21..e844472 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/QuantilePickCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/QuantilePickCPInstruction.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/QuantileSortCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/QuantileSortCPInstruction.html
index 9bd47bc..68b83b4 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/QuantileSortCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/QuantileSortCPInstruction.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/QuaternaryCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/QuaternaryCPInstruction.html
index 65348b7..58dd0bf 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/QuaternaryCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/QuaternaryCPInstruction.html
@@ -183,6 +183,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/ReorgCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/ReorgCPInstruction.html
index 48ad8b7..7524c97 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/ReorgCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/ReorgCPInstruction.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/ReshapeCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/ReshapeCPInstruction.html
index df60205..9656944 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/ReshapeCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/ReshapeCPInstruction.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/ScalarAppendCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/ScalarAppendCPInstruction.html
index a199c8b..745e9a4 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/ScalarAppendCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/ScalarAppendCPInstruction.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/ScalarBuiltinNaryCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/ScalarBuiltinNaryCPInstruction.html
index f845660..a84ea11 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/ScalarBuiltinNaryCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/ScalarBuiltinNaryCPInstruction.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/ScalarObject.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/ScalarObject.html
index d403c7e..2b06e8d 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/ScalarObject.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/ScalarObject.html
@@ -119,13 +119,21 @@
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><a href="#org.apache.sysds.runtime.lineage">org.apache.sysds.runtime.lineage</a></td>
+<td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.gpu">org.apache.sysds.runtime.instructions.gpu</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.lineage">org.apache.sysds.runtime.lineage</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.matrix.data">org.apache.sysds.runtime.matrix.data</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.privacy.propagation">org.apache.sysds.runtime.privacy.propagation</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
 </tbody>
 </table>
 </li>
@@ -258,6 +266,24 @@
        int&nbsp;k,
        long&nbsp;rix)</code>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a></code></td>
+<td class="colLast"><span class="typeNameLabel">SpoofCUDACellwise.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDACellwise.html#execute-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-java.util.ArrayList-java.util.ArrayList-">execute</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
+       <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&gt;&nbsp;inputs,
+       <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&gt;&nbsp;scalarObjects)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a></code></td>
+<td class="colLast"><span class="typeNameLabel">SpoofCUDAOperator.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html#execute-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-java.util.ArrayList-java.util.ArrayList-">execute</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
+       <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&gt;&nbsp;inputs,
+       <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&gt;&nbsp;scalarObjects)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a></code></td>
+<td class="colLast"><span class="typeNameLabel">SpoofCUDARowwise.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDARowwise.html#execute-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-java.util.ArrayList-java.util.ArrayList-">execute</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
+       <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&gt;&nbsp;inputs,
+       <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&gt;&nbsp;scalarObjects)</code>&nbsp;</td>
+</tr>
 </tbody>
 </table>
 <table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
@@ -268,77 +294,88 @@
 </tr>
 <tbody>
 <tr class="altColor">
+<td class="colFirst"><code>abstract int</code></td>
+<td class="colLast"><span class="typeNameLabel">SpoofCUDAOperator.PrecisionProxy.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.PrecisionProxy.html#exec-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.runtime.codegen.SpoofCUDAOperator-int-long:A-long:A-long:A-java.util.ArrayList-long-">exec</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
+    <a href="../../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html" title="interface in org.apache.sysds.runtime.codegen">SpoofCUDAOperator</a>&nbsp;op,
+    int&nbsp;opID,
+    long[]&nbsp;in,
+    long[]&nbsp;sides,
+    long[]&nbsp;out,
+    <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&gt;&nbsp;scalarObjects,
+    long&nbsp;grix)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a></code></td>
 <td class="colLast"><span class="typeNameLabel">SpoofOperator.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/codegen/SpoofOperator.html#execute-java.util.ArrayList-java.util.ArrayList-">execute</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&gt;&nbsp;inputs,
        <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&gt;&nbsp;scalars)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a></code></td>
 <td class="colLast"><span class="typeNameLabel">SpoofOuterProduct.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/codegen/SpoofOuterProduct.html#execute-java.util.ArrayList-java.util.ArrayList-">execute</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&gt;&nbsp;inputs,
        <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&gt;&nbsp;scalarObjects)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a></code></td>
 <td class="colLast"><span class="typeNameLabel">SpoofOperator.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/codegen/SpoofOperator.html#execute-java.util.ArrayList-java.util.ArrayList-int-">execute</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&gt;&nbsp;inputs,
        <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&gt;&nbsp;scalars,
        int&nbsp;k)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a></code></td>
 <td class="colLast"><span class="typeNameLabel">SpoofOuterProduct.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/codegen/SpoofOuterProduct.html#execute-java.util.ArrayList-java.util.ArrayList-int-">execute</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&gt;&nbsp;inputs,
        <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&gt;&nbsp;scalarObjects,
        int&nbsp;numThreads)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a></code></td>
 <td class="colLast"><span class="typeNameLabel">SpoofRowwise.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/codegen/SpoofRowwise.html#execute-java.util.ArrayList-java.util.ArrayList-int-">execute</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&gt;&nbsp;inputs,
        <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&gt;&nbsp;scalarObjects,
        int&nbsp;k)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a></code></td>
 <td class="colLast"><span class="typeNameLabel">SpoofCellwise.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/codegen/SpoofCellwise.html#execute-java.util.ArrayList-java.util.ArrayList-int-">execute</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&gt;&nbsp;inputs,
        <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&gt;&nbsp;scalarObjects,
        int&nbsp;k)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a></code></td>
 <td class="colLast"><span class="typeNameLabel">SpoofCellwise.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/codegen/SpoofCellwise.html#execute-java.util.ArrayList-java.util.ArrayList-int-long-">execute</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&gt;&nbsp;inputs,
        <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&gt;&nbsp;scalarObjects,
        int&nbsp;k,
        long&nbsp;rix)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>abstract <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">SpoofOperator.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/codegen/SpoofOperator.html#execute-java.util.ArrayList-java.util.ArrayList-org.apache.sysds.runtime.matrix.data.MatrixBlock-">execute</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&gt;&nbsp;inputs,
        <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&gt;&nbsp;scalars,
        <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">SpoofOuterProduct.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/codegen/SpoofOuterProduct.html#execute-java.util.ArrayList-java.util.ArrayList-org.apache.sysds.runtime.matrix.data.MatrixBlock-">execute</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&gt;&nbsp;inputs,
        <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&gt;&nbsp;scalarObjects,
        <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">SpoofRowwise.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/codegen/SpoofRowwise.html#execute-java.util.ArrayList-java.util.ArrayList-org.apache.sysds.runtime.matrix.data.MatrixBlock-">execute</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&gt;&nbsp;inputs,
        <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&gt;&nbsp;scalarObjects,
        <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">SpoofCellwise.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/codegen/SpoofCellwise.html#execute-java.util.ArrayList-java.util.ArrayList-org.apache.sysds.runtime.matrix.data.MatrixBlock-">execute</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&gt;&nbsp;inputs,
        <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&gt;&nbsp;scalarObjects,
        <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">SpoofMultiAggregate.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/codegen/SpoofMultiAggregate.html#execute-java.util.ArrayList-java.util.ArrayList-org.apache.sysds.runtime.matrix.data.MatrixBlock-">execute</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&gt;&nbsp;inputs,
        <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&gt;&nbsp;scalarObjects,
        <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">SpoofRowwise.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/codegen/SpoofRowwise.html#execute-java.util.ArrayList-java.util.ArrayList-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-boolean-long-">execute</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&gt;&nbsp;inputs,
        <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&gt;&nbsp;scalarObjects,
@@ -347,42 +384,42 @@
        boolean&nbsp;aggIncr,
        long&nbsp;rix)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">SpoofOperator.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/codegen/SpoofOperator.html#execute-java.util.ArrayList-java.util.ArrayList-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">execute</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&gt;&nbsp;inputs,
        <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&gt;&nbsp;scalars,
        <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
        int&nbsp;k)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">SpoofOuterProduct.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/codegen/SpoofOuterProduct.html#execute-java.util.ArrayList-java.util.ArrayList-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">execute</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&gt;&nbsp;inputs,
        <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&gt;&nbsp;scalarObjects,
        <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
        int&nbsp;numThreads)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">SpoofRowwise.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/codegen/SpoofRowwise.html#execute-java.util.ArrayList-java.util.ArrayList-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">execute</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&gt;&nbsp;inputs,
        <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&gt;&nbsp;scalarObjects,
        <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
        int&nbsp;k)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">SpoofCellwise.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/codegen/SpoofCellwise.html#execute-java.util.ArrayList-java.util.ArrayList-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">execute</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&gt;&nbsp;inputs,
        <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&gt;&nbsp;scalarObjects,
        <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
        int&nbsp;k)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">SpoofMultiAggregate.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/codegen/SpoofMultiAggregate.html#execute-java.util.ArrayList-java.util.ArrayList-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">execute</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&gt;&nbsp;inputs,
        <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&gt;&nbsp;scalarObjects,
        <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
        int&nbsp;k)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">SpoofCellwise.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/codegen/SpoofCellwise.html#execute-java.util.ArrayList-java.util.ArrayList-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-long-">execute</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&gt;&nbsp;inputs,
        <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&gt;&nbsp;scalarObjects,
@@ -390,7 +427,7 @@
        int&nbsp;k,
        long&nbsp;rix)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">SpoofMultiAggregate.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/codegen/SpoofMultiAggregate.html#execute-java.util.ArrayList-java.util.ArrayList-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-long-">execute</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&gt;&nbsp;inputs,
        <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&gt;&nbsp;scalarObjects,
@@ -398,6 +435,45 @@
        int&nbsp;k,
        long&nbsp;rix)</code>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a></code></td>
+<td class="colLast"><span class="typeNameLabel">SpoofCUDACellwise.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDACellwise.html#execute-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-java.util.ArrayList-java.util.ArrayList-">execute</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
+       <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&gt;&nbsp;inputs,
+       <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&gt;&nbsp;scalarObjects)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a></code></td>
+<td class="colLast"><span class="typeNameLabel">SpoofCUDAOperator.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html#execute-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-java.util.ArrayList-java.util.ArrayList-">execute</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
+       <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&gt;&nbsp;inputs,
+       <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&gt;&nbsp;scalarObjects)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a></code></td>
+<td class="colLast"><span class="typeNameLabel">SpoofCUDARowwise.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDARowwise.html#execute-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-java.util.ArrayList-java.util.ArrayList-">execute</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
+       <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&gt;&nbsp;inputs,
+       <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&gt;&nbsp;scalarObjects)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a></code></td>
+<td class="colLast"><span class="typeNameLabel">SpoofCUDACellwise.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDACellwise.html#execute-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-java.util.ArrayList-java.util.ArrayList-java.lang.String-">execute</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
+       <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&gt;&nbsp;inputs,
+       <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&gt;&nbsp;scalarObjects,
+       <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;outputName)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a></code></td>
+<td class="colLast"><span class="typeNameLabel">SpoofCUDAOperator.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html#execute-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-java.util.ArrayList-java.util.ArrayList-java.lang.String-">execute</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
+       <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&gt;&nbsp;inputs,
+       <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&gt;&nbsp;scalarObjects,
+       <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;outputName)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a></code></td>
+<td class="colLast"><span class="typeNameLabel">SpoofCUDARowwise.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDARowwise.html#execute-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-java.util.ArrayList-java.util.ArrayList-java.lang.String-">execute</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
+       <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&gt;&nbsp;inputs,
+       <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&gt;&nbsp;scalarObjects,
+       <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;outputName)</code>&nbsp;</td>
+</tr>
 </tbody>
 </table>
 </li>
@@ -414,7 +490,7 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#leftIndexingOperations-org.apache.sysds.runtime.instructions.cp.ScalarObject-int-int-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType-">leftIndexingOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&nbsp;scalar,
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#leftIndexingOperations-org.apache.sysds.runtime.instructions.cp.ScalarObject-int-int-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType-">leftIndexingOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&nbsp;scalar,
                       int&nbsp;rl,
                       int&nbsp;cl,
                       <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
@@ -514,6 +590,19 @@
 <td class="colLast"><span class="typeNameLabel">FederationUtils.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationUtils.html#aggScalar-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-java.util.concurrent.Future:A-">aggScalar</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;aop,
          <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedResponse</a>&gt;[]&nbsp;ffr)</code>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a></code></td>
+<td class="colLast"><span class="typeNameLabel">FederationUtils.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationUtils.html#aggScalar-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-java.util.concurrent.Future:A-org.apache.sysds.runtime.controlprogram.federated.FederationMap-">aggScalar</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;aop,
+         <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedResponse</a>&gt;[]&nbsp;ffr,
+         <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationMap</a>&nbsp;map)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a></code></td>
+<td class="colLast"><span class="typeNameLabel">FederationUtils.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationUtils.html#aggScalar-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-java.util.concurrent.Future:A-java.util.concurrent.Future:A-org.apache.sysds.runtime.controlprogram.federated.FederationMap-">aggScalar</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;aop,
+         <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedResponse</a>&gt;[]&nbsp;ffr,
+         <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedResponse</a>&gt;[]&nbsp;meanFfr,
+         <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationMap</a>&nbsp;map)</code>&nbsp;</td>
+</tr>
 </tbody>
 </table>
 <table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
@@ -652,6 +741,42 @@
 </tbody>
 </table>
 </li>
+<li class="blockList"><a name="org.apache.sysds.runtime.instructions.gpu">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a> in <a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/package-summary.html">org.apache.sysds.runtime.instructions.gpu</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Method parameters in <a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/package-summary.html">org.apache.sysds.runtime.instructions.gpu</a> with type arguments of type <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><span class="typeNameLabel">SpoofCUDAInstruction.SinglePrecision.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.SinglePrecision.html#exec-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.runtime.codegen.SpoofCUDAOperator-int-long:A-long:A-long:A-java.util.ArrayList-long-">exec</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
+    <a href="../../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html" title="interface in org.apache.sysds.runtime.codegen">SpoofCUDAOperator</a>&nbsp;op,
+    int&nbsp;opID,
+    long[]&nbsp;in,
+    long[]&nbsp;sides,
+    long[]&nbsp;out,
+    <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&gt;&nbsp;scalarObjects,
+    long&nbsp;grix)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><span class="typeNameLabel">SpoofCUDAInstruction.DoublePrecision.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.DoublePrecision.html#exec-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.runtime.codegen.SpoofCUDAOperator-int-long:A-long:A-long:A-java.util.ArrayList-long-">exec</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
+    <a href="../../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html" title="interface in org.apache.sysds.runtime.codegen">SpoofCUDAOperator</a>&nbsp;op,
+    int&nbsp;opID,
+    long[]&nbsp;in,
+    long[]&nbsp;sides,
+    long[]&nbsp;out,
+    <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&gt;&nbsp;scalarObjects,
+    long&nbsp;grix)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
 <li class="blockList"><a name="org.apache.sysds.runtime.lineage">
 <!--   -->
 </a>
@@ -730,6 +855,25 @@
 </tbody>
 </table>
 </li>
+<li class="blockList"><a name="org.apache.sysds.runtime.privacy.propagation">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a> in <a href="../../../../../../../org/apache/sysds/runtime/privacy/propagation/package-summary.html">org.apache.sysds.runtime.privacy.propagation</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../../../org/apache/sysds/runtime/privacy/propagation/package-summary.html">org.apache.sysds.runtime.privacy.propagation</a> with parameters of type <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/privacy/propagation/ListRemovePropagator.html#ListRemovePropagator-org.apache.sysds.runtime.instructions.cp.ListObject-org.apache.sysds.runtime.privacy.PrivacyConstraint-org.apache.sysds.runtime.instructions.cp.ScalarObject-org.apache.sysds.runtime.privacy.PrivacyConstraint-">ListRemovePropagator</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ListObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ListObject</a>&nbsp;list,
+                    <a href="../../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>&nbsp;listPrivacyConstraint,
+                    <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&nbsp;removePosition,
+                    <a href="../../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>&nbsp;removePositionPrivacyConstraint)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
 </ul>
 </li>
 </ul>
@@ -781,6 +925,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/ScalarObjectFactory.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/ScalarObjectFactory.html
index 266f77b..13efb1a 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/ScalarObjectFactory.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/ScalarObjectFactory.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/SpoofCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/SpoofCPInstruction.html
index f036eb3..4b92b38 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/SpoofCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/SpoofCPInstruction.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/SqlCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/SqlCPInstruction.html
index 72d5551..354511a 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/SqlCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/SqlCPInstruction.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/StringInitCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/StringInitCPInstruction.html
index 17052c9..817c13d 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/StringInitCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/StringInitCPInstruction.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/StringObject.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/StringObject.html
index a8457bd..93603a1 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/StringObject.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/StringObject.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/TernaryCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/TernaryCPInstruction.html
index 68fb96e..3de8ab4 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/TernaryCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/TernaryCPInstruction.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/UaggOuterChainCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/UaggOuterChainCPInstruction.html
index 1344c86..09a40dd 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/UaggOuterChainCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/UaggOuterChainCPInstruction.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/UnaryCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/UnaryCPInstruction.html
index 737fe14..a3bfeb3 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/UnaryCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/UnaryCPInstruction.html
@@ -290,6 +290,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/UnaryFrameCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/UnaryFrameCPInstruction.html
index 622aa9e..dd6dded 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/UnaryFrameCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/UnaryFrameCPInstruction.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/UnaryMatrixCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/UnaryMatrixCPInstruction.html
index 159855c..2894f5e 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/UnaryMatrixCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/UnaryMatrixCPInstruction.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/UnaryScalarCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/UnaryScalarCPInstruction.html
index 58f8708..43cedcc 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/UnaryScalarCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/UnaryScalarCPInstruction.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/VariableCPInstruction.VariableOperationCode.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/VariableCPInstruction.VariableOperationCode.html
index 8dd97de..35ac4f0 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/VariableCPInstruction.VariableOperationCode.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/VariableCPInstruction.VariableOperationCode.html
@@ -173,6 +173,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/VariableCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/VariableCPInstruction.html
index 83b188f..ac6cf1c 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/VariableCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/VariableCPInstruction.html
@@ -87,6 +87,10 @@
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.fed">org.apache.sysds.runtime.instructions.fed</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.privacy.propagation">org.apache.sysds.runtime.privacy.propagation</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
@@ -113,6 +117,24 @@
 </tbody>
 </table>
 </li>
+<li class="blockList"><a name="org.apache.sysds.runtime.instructions.fed">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/VariableCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">VariableCPInstruction</a> in <a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/package-summary.html">org.apache.sysds.runtime.instructions.fed</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/package-summary.html">org.apache.sysds.runtime.instructions.fed</a> with parameters of type <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/VariableCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">VariableCPInstruction</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/VariableFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">VariableFEDInstruction</a></code></td>
+<td class="colLast"><span class="typeNameLabel">VariableFEDInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/VariableFEDInstruction.html#parseInstruction-org.apache.sysds.runtime.instructions.cp.VariableCPInstruction-">parseInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/VariableCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">VariableCPInstruction</a>&nbsp;cpInstruction)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
 <li class="blockList"><a name="org.apache.sysds.runtime.privacy.propagation">
 <!--   -->
 </a>
@@ -183,6 +205,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/package-frame.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/package-frame.html
index 510f589..ba3284a 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/package-frame.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/package-frame.html
@@ -37,6 +37,7 @@
 <li><a href="CtableCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp" target="classFrame">CtableCPInstruction</a></li>
 <li><a href="Data.html" title="class in org.apache.sysds.runtime.instructions.cp" target="classFrame">Data</a></li>
 <li><a href="DataGenCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp" target="classFrame">DataGenCPInstruction</a></li>
+<li><a href="DeCompressionCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp" target="classFrame">DeCompressionCPInstruction</a></li>
 <li><a href="DnnCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp" target="classFrame">DnnCPInstruction</a></li>
 <li><a href="DoubleObject.html" title="class in org.apache.sysds.runtime.instructions.cp" target="classFrame">DoubleObject</a></li>
 <li><a href="EvalNaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp" target="classFrame">EvalNaryCPInstruction</a></li>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/package-summary.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/package-summary.html
index 55d08b0..d710726 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/package-summary.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/package-summary.html
@@ -181,178 +181,182 @@
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/DnnCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">DnnCPInstruction</a></td>
+<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/DeCompressionCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">DeCompressionCPInstruction</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/DoubleObject.html" title="class in org.apache.sysds.runtime.instructions.cp">DoubleObject</a></td>
+<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/DnnCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">DnnCPInstruction</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/DoubleObject.html" title="class in org.apache.sysds.runtime.instructions.cp">DoubleObject</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/EvalNaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">EvalNaryCPInstruction</a></td>
 <td class="colLast">
 <div class="block">Eval built-in function instruction
  Note: it supports only single matrix[double] output</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/FrameAppendCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">FrameAppendCPInstruction</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/FrameIndexingCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">FrameIndexingCPInstruction</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/FunctionCallCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">FunctionCallCPInstruction</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/IndexingCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">IndexingCPInstruction</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/IntObject.html" title="class in org.apache.sysds.runtime.instructions.cp">IntObject</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/KahanObject.html" title="class in org.apache.sysds.runtime.instructions.cp">KahanObject</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ListAppendRemoveCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ListAppendRemoveCPInstruction</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ListIndexingCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ListIndexingCPInstruction</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ListObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ListObject</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/MatrixAppendCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">MatrixAppendCPInstruction</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/MatrixBuiltinNaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">MatrixBuiltinNaryCPInstruction</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/MatrixIndexingCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">MatrixIndexingCPInstruction</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/MMChainCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">MMChainCPInstruction</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/MMTSJCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">MMTSJCPInstruction</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/MultiReturnBuiltinCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">MultiReturnBuiltinCPInstruction</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/MultiReturnParameterizedBuiltinCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">MultiReturnParameterizedBuiltinCPInstruction</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ParameterizedBuiltinCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ParameterizedBuiltinCPInstruction</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ParamservBuiltinCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ParamservBuiltinCPInstruction</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/PMMJCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">PMMJCPInstruction</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/QuantilePickCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">QuantilePickCPInstruction</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/QuantileSortCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">QuantileSortCPInstruction</a></td>
 <td class="colLast">
 <div class="block">This class supports two variants of sort operation on a 1-dimensional input matrix.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/QuaternaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">QuaternaryCPInstruction</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ReorgCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ReorgCPInstruction</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ReshapeCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ReshapeCPInstruction</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarAppendCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarAppendCPInstruction</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarBuiltinNaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarBuiltinNaryCPInstruction</a></td>
 <td class="colLast">
 <div class="block">The ScalarBuiltinMultipleCPInstruction class is responsible for printf-style
  Java-based string formatting.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObjectFactory.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObjectFactory</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/SpoofCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">SpoofCPInstruction</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/SqlCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">SqlCPInstruction</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/StringInitCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">StringInitCPInstruction</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/StringObject.html" title="class in org.apache.sysds.runtime.instructions.cp">StringObject</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/TernaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">TernaryCPInstruction</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/UaggOuterChainCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">UaggOuterChainCPInstruction</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/UnaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">UnaryCPInstruction</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/UnaryFrameCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">UnaryFrameCPInstruction</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/UnaryMatrixCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">UnaryMatrixCPInstruction</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/UnaryScalarCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">UnaryScalarCPInstruction</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/VariableCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">VariableCPInstruction</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
@@ -435,6 +439,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/package-tree.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/package-tree.html
index 2be392f..0fe2055 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/package-tree.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/package-tree.html
@@ -86,7 +86,7 @@
 <ul>
 <li type="circle">org.apache.sysds.runtime.instructions.cp.<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CM_COV_Object.html" title="class in org.apache.sysds.runtime.instructions.cp"><span class="typeNameLink">CM_COV_Object</span></a></li>
 <li type="circle">org.apache.sysds.runtime.instructions.cp.<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/KahanObject.html" title="class in org.apache.sysds.runtime.instructions.cp"><span class="typeNameLink">KahanObject</span></a></li>
-<li type="circle">org.apache.sysds.runtime.instructions.cp.<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ListObject.html" title="class in org.apache.sysds.runtime.instructions.cp"><span class="typeNameLink">ListObject</span></a></li>
+<li type="circle">org.apache.sysds.runtime.instructions.cp.<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ListObject.html" title="class in org.apache.sysds.runtime.instructions.cp"><span class="typeNameLink">ListObject</span></a> (implements java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true" title="class or interface in java.io">Externalizable</a>)</li>
 <li type="circle">org.apache.sysds.runtime.instructions.cp.<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp"><span class="typeNameLink">ScalarObject</span></a>
 <ul>
 <li type="circle">org.apache.sysds.runtime.instructions.cp.<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/BooleanObject.html" title="class in org.apache.sysds.runtime.instructions.cp"><span class="typeNameLink">BooleanObject</span></a></li>
@@ -135,6 +135,7 @@
 </li>
 <li type="circle">org.apache.sysds.runtime.instructions.cp.<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CompressionCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp"><span class="typeNameLink">CompressionCPInstruction</span></a></li>
 <li type="circle">org.apache.sysds.runtime.instructions.cp.<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CtableCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp"><span class="typeNameLink">CtableCPInstruction</span></a></li>
+<li type="circle">org.apache.sysds.runtime.instructions.cp.<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/DeCompressionCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp"><span class="typeNameLink">DeCompressionCPInstruction</span></a></li>
 <li type="circle">org.apache.sysds.runtime.instructions.cp.<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/MultiReturnBuiltinCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp"><span class="typeNameLink">MultiReturnBuiltinCPInstruction</span></a></li>
 <li type="circle">org.apache.sysds.runtime.instructions.cp.<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/MultiReturnParameterizedBuiltinCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp"><span class="typeNameLink">MultiReturnParameterizedBuiltinCPInstruction</span></a></li>
 <li type="circle">org.apache.sysds.runtime.instructions.cp.<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ParameterizedBuiltinCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp"><span class="typeNameLink">ParameterizedBuiltinCPInstruction</span></a>
@@ -253,6 +254,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/package-use.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/package-use.html
index 207c3c1..f0636e6 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/package-use.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/package-use.html
@@ -365,6 +365,9 @@
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/class-use/Data.html#org.apache.sysds.runtime.controlprogram.paramserv">Data</a>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/class-use/FunctionCallCPInstruction.html#org.apache.sysds.runtime.controlprogram.paramserv">FunctionCallCPInstruction</a>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/class-use/ListObject.html#org.apache.sysds.runtime.controlprogram.paramserv">ListObject</a>&nbsp;</td>
 </tr>
 </tbody>
@@ -523,89 +526,92 @@
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/class-use/DataGenCPInstruction.html#org.apache.sysds.runtime.instructions.cp">DataGenCPInstruction</a>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/class-use/DeCompressionCPInstruction.html#org.apache.sysds.runtime.instructions.cp">DeCompressionCPInstruction</a>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/class-use/DnnCPInstruction.html#org.apache.sysds.runtime.instructions.cp">DnnCPInstruction</a>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/class-use/DoubleObject.html#org.apache.sysds.runtime.instructions.cp">DoubleObject</a>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/class-use/FunctionCallCPInstruction.html#org.apache.sysds.runtime.instructions.cp">FunctionCallCPInstruction</a>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/class-use/IndexingCPInstruction.html#org.apache.sysds.runtime.instructions.cp">IndexingCPInstruction</a>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/class-use/IntObject.html#org.apache.sysds.runtime.instructions.cp">IntObject</a>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/class-use/KahanObject.html#org.apache.sysds.runtime.instructions.cp">KahanObject</a>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/class-use/ListObject.html#org.apache.sysds.runtime.instructions.cp">ListObject</a>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/class-use/MMChainCPInstruction.html#org.apache.sysds.runtime.instructions.cp">MMChainCPInstruction</a>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/class-use/MMTSJCPInstruction.html#org.apache.sysds.runtime.instructions.cp">MMTSJCPInstruction</a>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/class-use/MultiReturnBuiltinCPInstruction.html#org.apache.sysds.runtime.instructions.cp">MultiReturnBuiltinCPInstruction</a>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/class-use/MultiReturnParameterizedBuiltinCPInstruction.html#org.apache.sysds.runtime.instructions.cp">MultiReturnParameterizedBuiltinCPInstruction</a>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/class-use/ParameterizedBuiltinCPInstruction.html#org.apache.sysds.runtime.instructions.cp">ParameterizedBuiltinCPInstruction</a>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/class-use/PMMJCPInstruction.html#org.apache.sysds.runtime.instructions.cp">PMMJCPInstruction</a>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/class-use/QuantilePickCPInstruction.html#org.apache.sysds.runtime.instructions.cp">QuantilePickCPInstruction</a>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/class-use/QuantileSortCPInstruction.html#org.apache.sysds.runtime.instructions.cp">QuantileSortCPInstruction</a>
 <div class="block">This class supports two variants of sort operation on a 1-dimensional input matrix.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/class-use/QuaternaryCPInstruction.html#org.apache.sysds.runtime.instructions.cp">QuaternaryCPInstruction</a>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/class-use/ReorgCPInstruction.html#org.apache.sysds.runtime.instructions.cp">ReorgCPInstruction</a>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/class-use/ReshapeCPInstruction.html#org.apache.sysds.runtime.instructions.cp">ReshapeCPInstruction</a>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/class-use/ScalarObject.html#org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/class-use/SpoofCPInstruction.html#org.apache.sysds.runtime.instructions.cp">SpoofCPInstruction</a>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/class-use/SqlCPInstruction.html#org.apache.sysds.runtime.instructions.cp">SqlCPInstruction</a>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/class-use/StringInitCPInstruction.html#org.apache.sysds.runtime.instructions.cp">StringInitCPInstruction</a>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/class-use/TernaryCPInstruction.html#org.apache.sysds.runtime.instructions.cp">TernaryCPInstruction</a>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/class-use/UaggOuterChainCPInstruction.html#org.apache.sysds.runtime.instructions.cp">UaggOuterChainCPInstruction</a>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/class-use/UnaryCPInstruction.html#org.apache.sysds.runtime.instructions.cp">UnaryCPInstruction</a>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/class-use/UnaryMatrixCPInstruction.html#org.apache.sysds.runtime.instructions.cp">UnaryMatrixCPInstruction</a>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/class-use/VariableCPInstruction.html#org.apache.sysds.runtime.instructions.cp">VariableCPInstruction</a>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/class-use/VariableCPInstruction.VariableOperationCode.html#org.apache.sysds.runtime.instructions.cp">VariableCPInstruction.VariableOperationCode</a>&nbsp;</td>
 </tr>
 </tbody>
@@ -645,11 +651,17 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/class-use/CPOperand.html#org.apache.sysds.runtime.instructions.fed">CPOperand</a>&nbsp;</td>
+<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/class-use/AggregateTernaryCPInstruction.html#org.apache.sysds.runtime.instructions.fed">AggregateTernaryCPInstruction</a>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/class-use/CPOperand.html#org.apache.sysds.runtime.instructions.fed">CPOperand</a>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/class-use/Data.html#org.apache.sysds.runtime.instructions.fed">Data</a>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/class-use/VariableCPInstruction.html#org.apache.sysds.runtime.instructions.fed">VariableCPInstruction</a>&nbsp;</td>
+</tr>
 </tbody>
 </table>
 </li>
@@ -665,6 +677,9 @@
 <tr class="altColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/class-use/CPOperand.html#org.apache.sysds.runtime.instructions.gpu">CPOperand</a>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/class-use/ScalarObject.html#org.apache.sysds.runtime.instructions.gpu">ScalarObject</a>&nbsp;</td>
+</tr>
 </tbody>
 </table>
 </li>
@@ -762,25 +777,31 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/class-use/BinaryCPInstruction.html#org.apache.sysds.runtime.privacy.propagation">BinaryCPInstruction</a>&nbsp;</td>
+<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/class-use/AppendCPInstruction.html#org.apache.sysds.runtime.privacy.propagation">AppendCPInstruction</a>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/class-use/BinaryCPInstruction.html#org.apache.sysds.runtime.privacy.propagation">BinaryCPInstruction</a>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/class-use/BuiltinNaryCPInstruction.html#org.apache.sysds.runtime.privacy.propagation">BuiltinNaryCPInstruction</a>
 <div class="block">Instruction to handle a variable number of input operands.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/class-use/ComputationCPInstruction.html#org.apache.sysds.runtime.privacy.propagation">ComputationCPInstruction</a>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/class-use/CPInstruction.html#org.apache.sysds.runtime.privacy.propagation">CPInstruction</a>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/class-use/Data.html#org.apache.sysds.runtime.privacy.propagation">Data</a>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/class-use/FunctionCallCPInstruction.html#org.apache.sysds.runtime.privacy.propagation">FunctionCallCPInstruction</a>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/class-use/ListObject.html#org.apache.sysds.runtime.privacy.propagation">ListObject</a>&nbsp;</td>
+</tr>
 <tr class="altColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/class-use/ParameterizedBuiltinCPInstruction.html#org.apache.sysds.runtime.privacy.propagation">ParameterizedBuiltinCPInstruction</a>&nbsp;</td>
 </tr>
@@ -788,9 +809,12 @@
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/class-use/QuaternaryCPInstruction.html#org.apache.sysds.runtime.privacy.propagation">QuaternaryCPInstruction</a>&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/class-use/UnaryCPInstruction.html#org.apache.sysds.runtime.privacy.propagation">UnaryCPInstruction</a>&nbsp;</td>
+<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/class-use/ScalarObject.html#org.apache.sysds.runtime.privacy.propagation">ScalarObject</a>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/class-use/UnaryCPInstruction.html#org.apache.sysds.runtime.privacy.propagation">UnaryCPInstruction</a>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/class-use/VariableCPInstruction.html#org.apache.sysds.runtime.privacy.propagation">VariableCPInstruction</a>&nbsp;</td>
 </tr>
 </tbody>
@@ -881,6 +905,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cpfile/MatrixIndexingCPFileInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cpfile/MatrixIndexingCPFileInstruction.html
index a881636..ae33d0e 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cpfile/MatrixIndexingCPFileInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cpfile/MatrixIndexingCPFileInstruction.html
@@ -362,6 +362,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cpfile/class-use/MatrixIndexingCPFileInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cpfile/class-use/MatrixIndexingCPFileInstruction.html
index 60429ed..b6ec316 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cpfile/class-use/MatrixIndexingCPFileInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cpfile/class-use/MatrixIndexingCPFileInstruction.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cpfile/package-summary.html b/docs/api/java/org/apache/sysds/runtime/instructions/cpfile/package-summary.html
index ce2318d..ceb2f4a 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cpfile/package-summary.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cpfile/package-summary.html
@@ -140,6 +140,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cpfile/package-tree.html b/docs/api/java/org/apache/sysds/runtime/instructions/cpfile/package-tree.html
index dae62e4..5c97f85 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cpfile/package-tree.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cpfile/package-tree.html
@@ -153,6 +153,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cpfile/package-use.html b/docs/api/java/org/apache/sysds/runtime/instructions/cpfile/package-use.html
index 81e7985..4c3bed9 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cpfile/package-use.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cpfile/package-use.html
@@ -155,6 +155,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/fed/AggregateBinaryFEDInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/fed/AggregateBinaryFEDInstruction.html
index 18095c8..ff8f4b0 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/fed/AggregateBinaryFEDInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/fed/AggregateBinaryFEDInstruction.html
@@ -50,7 +50,7 @@
 <div class="subNav">
 <ul class="navList">
 <li>Prev&nbsp;Class</li>
-<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/AggregateUnaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/AggregateTernaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/sysds/runtime/instructions/fed/AggregateBinaryFEDInstruction.html" target="_top">Frames</a></li>
@@ -356,7 +356,7 @@
 <div class="subNav">
 <ul class="navList">
 <li>Prev&nbsp;Class</li>
-<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/AggregateUnaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/AggregateTernaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/sysds/runtime/instructions/fed/AggregateBinaryFEDInstruction.html" target="_top">Frames</a></li>
@@ -396,6 +396,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/fed/AggregateTernaryFEDInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/fed/AggregateTernaryFEDInstruction.html
new file mode 100644
index 0000000..a5e69c0
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/fed/AggregateTernaryFEDInstruction.html
@@ -0,0 +1,350 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>AggregateTernaryFEDInstruction (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="AggregateTernaryFEDInstruction (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":9,"i1":10};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/AggregateTernaryFEDInstruction.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/AggregateBinaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/AggregateUnaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/instructions/fed/AggregateTernaryFEDInstruction.html" target="_top">Frames</a></li>
+<li><a href="AggregateTernaryFEDInstruction.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.instructions.fed.FEDInstruction">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.sysds.runtime.instructions.fed</div>
+<h2 title="Class AggregateTernaryFEDInstruction" class="title">Class AggregateTernaryFEDInstruction</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">org.apache.sysds.runtime.instructions.Instruction</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">org.apache.sysds.runtime.instructions.fed.FEDInstruction</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.sysds.runtime.instructions.fed.AggregateTernaryFEDInstruction</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">AggregateTernaryFEDInstruction</span>
+extends <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">FEDInstruction</a></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!--   -->
+</a>
+<h3>Nested Class Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.sysds.runtime.instructions.fed.FEDInstruction">
+<!--   -->
+</a>
+<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.sysds.runtime.instructions.fed.<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">FEDInstruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.FEDType.html" title="enum in org.apache.sysds.runtime.instructions.fed">FEDInstruction.FEDType</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
+<!--   -->
+</a>
+<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.IType.html" title="enum in org.apache.sysds.runtime.instructions">Instruction.IType</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!--   -->
+</a>
+<h3>Field Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
+<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/AggregateTernaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">AggregateTernaryCPInstruction</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/AggregateTernaryFEDInstruction.html#Z:Z_ins">_ins</a></span></code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
+<!--   -->
+</a>
+<h3>Fields inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#DATATYPE_PREFIX">DATATYPE_PREFIX</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#FEDERATED_INST_PREFIX">FEDERATED_INST_PREFIX</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#GPU_INST_PREFIX">GPU_INST_PREFIX</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#INSTRUCTION_DELIM">INSTRUCTION_DELIM</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#LITERAL_PREFIX">LITERAL_PREFIX</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#OPERAND_DELIM">OPERAND_DELIM</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#SP_INST_PREFIX">SP_INST_PREFIX</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#VALUETYPE_PREFIX">VALUETYPE_PREFIX</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/AggregateTernaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">AggregateTernaryFEDInstruction</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/AggregateTernaryFEDInstruction.html#parseInstruction-org.apache.sysds.runtime.instructions.cp.AggregateTernaryCPInstruction-">parseInstruction</a></span>(<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/AggregateTernaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">AggregateTernaryCPInstruction</a>&nbsp;ins)</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/AggregateTernaryFEDInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>
+<div class="block">This method should be used to execute the instruction.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.fed.FEDInstruction">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.fed.<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">FEDInstruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html#getFEDInstructionType--">getFEDInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html#getTID--">getTID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html#setTID-long-">setTID</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#requiresLabelUpdate--">requiresLabelUpdate</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ FIELD DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.detail">
+<!--   -->
+</a>
+<h3>Field Detail</h3>
+<a name="Z:Z_ins">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>_ins</h4>
+<pre>public final&nbsp;<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/AggregateTernaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">AggregateTernaryCPInstruction</a> _ins</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="parseInstruction-org.apache.sysds.runtime.instructions.cp.AggregateTernaryCPInstruction-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>parseInstruction</h4>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/AggregateTernaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">AggregateTernaryFEDInstruction</a>&nbsp;parseInstruction(<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/AggregateTernaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">AggregateTernaryCPInstruction</a>&nbsp;ins)</pre>
+</li>
+</ul>
+<a name="processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>processInstruction</h4>
+<pre>public&nbsp;void&nbsp;processInstruction(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">Instruction</a></code></span></div>
+<div class="block">This method should be used to execute the instruction.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>ec</code> - execution context</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/AggregateTernaryFEDInstruction.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/AggregateBinaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/AggregateUnaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/instructions/fed/AggregateTernaryFEDInstruction.html" target="_top">Frames</a></li>
+<li><a href="AggregateTernaryFEDInstruction.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.instructions.fed.FEDInstruction">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/fed/AggregateUnaryFEDInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/fed/AggregateUnaryFEDInstruction.html
index 766ebd1..487151b 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/fed/AggregateUnaryFEDInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/fed/AggregateUnaryFEDInstruction.html
@@ -49,7 +49,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/AggregateBinaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/AggregateTernaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/AppendFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -131,6 +131,10 @@
 <dt>All Implemented Interfaces:</dt>
 <dd><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a></dd>
 </dl>
+<dl>
+<dt>Direct Known Subclasses:</dt>
+<dd><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/CentralMomentFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">CentralMomentFEDInstruction</a></dd>
+</dl>
 <hr>
 <br>
 <pre>public class <span class="typeNameLabel">AggregateUnaryFEDInstruction</span>
@@ -311,7 +315,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/AggregateBinaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/AggregateTernaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/AppendFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -352,6 +356,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/fed/AppendFEDInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/fed/AppendFEDInstruction.html
index 71511a2..31af81f 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/fed/AppendFEDInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/fed/AppendFEDInstruction.html
@@ -352,6 +352,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/fed/BinaryFEDInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/fed/BinaryFEDInstruction.html
index 59a071b..d749b92 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/fed/BinaryFEDInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/fed/BinaryFEDInstruction.html
@@ -76,13 +76,13 @@
 <li>Summary:&nbsp;</li>
 <li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.instructions.fed.FEDInstruction">Nested</a>&nbsp;|&nbsp;</li>
 <li><a href="#fields.inherited.from.class.org.apache.sysds.runtime.instructions.fed.ComputationFEDInstruction">Field</a>&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
 <li><a href="#method.summary">Method</a></li>
 </ul>
 <ul class="subNavList">
 <li>Detail:&nbsp;</li>
 <li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
 <li><a href="#method.detail">Method</a></li>
 </ul>
 </div>
@@ -128,7 +128,7 @@
 </dl>
 <dl>
 <dt>Direct Known Subclasses:</dt>
-<dd><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/AggregateBinaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">AggregateBinaryFEDInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/AppendFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">AppendFEDInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/BinaryMatrixMatrixFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">BinaryMatrixMatrixFEDInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/BinaryMatrixScalarFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">BinaryMatrixScalarFEDInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/TsmmFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">TsmmFEDInstruction</a></dd>
+<dd><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/AggregateBinaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">AggregateBinaryFEDInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/AppendFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">AppendFEDInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/BinaryMatrixMatrixFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">BinaryMatrixMatrixFEDInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/BinaryMatrixScalarFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">BinaryMatrixScalarFEDInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/CovarianceFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">CovarianceFEDInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/QuantilePickFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuantilePickFEDInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/TsmmFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">TsmmFEDInstruction</a></dd>
 </dl>
 <hr>
 <br>
@@ -184,6 +184,30 @@
 </ul>
 </li>
 </ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/BinaryFEDInstruction.html#BinaryFEDInstruction-org.apache.sysds.runtime.instructions.fed.FEDInstruction.FEDType-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-java.lang.String-java.lang.String-">BinaryFEDInstruction</a></span>(<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.FEDType.html" title="enum in org.apache.sysds.runtime.instructions.fed">FEDInstruction.FEDType</a>&nbsp;type,
+                    <a href="../../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
+                    <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;in1,
+                    <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;in2,
+                    <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;in3,
+                    <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;out,
+                    <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;opcode,
+                    <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;istr)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
 <!-- ========== METHOD SUMMARY =========== -->
 <ul class="blockList">
 <li class="blockList"><a name="method.summary">
@@ -244,6 +268,30 @@
 <div class="details">
 <ul class="blockList">
 <li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="BinaryFEDInstruction-org.apache.sysds.runtime.instructions.fed.FEDInstruction.FEDType-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-java.lang.String-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>BinaryFEDInstruction</h4>
+<pre>public&nbsp;BinaryFEDInstruction(<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.FEDType.html" title="enum in org.apache.sysds.runtime.instructions.fed">FEDInstruction.FEDType</a>&nbsp;type,
+                            <a href="../../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
+                            <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;in1,
+                            <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;in2,
+                            <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;in3,
+                            <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;out,
+                            <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;opcode,
+                            <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;istr)</pre>
+</li>
+</ul>
+</li>
+</ul>
 <!-- ============ METHOD DETAIL ========== -->
 <ul class="blockList">
 <li class="blockList"><a name="method.detail">
@@ -314,13 +362,13 @@
 <li>Summary:&nbsp;</li>
 <li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.instructions.fed.FEDInstruction">Nested</a>&nbsp;|&nbsp;</li>
 <li><a href="#fields.inherited.from.class.org.apache.sysds.runtime.instructions.fed.ComputationFEDInstruction">Field</a>&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
 <li><a href="#method.summary">Method</a></li>
 </ul>
 <ul class="subNavList">
 <li>Detail:&nbsp;</li>
 <li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
 <li><a href="#method.detail">Method</a></li>
 </ul>
 </div>
@@ -328,6 +376,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/fed/BinaryMatrixMatrixFEDInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/fed/BinaryMatrixMatrixFEDInstruction.html
index 3208285..ba16149 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/fed/BinaryMatrixMatrixFEDInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/fed/BinaryMatrixMatrixFEDInstruction.html
@@ -346,6 +346,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/fed/BinaryMatrixScalarFEDInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/fed/BinaryMatrixScalarFEDInstruction.html
index 5bca97b..1a9fc50 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/fed/BinaryMatrixScalarFEDInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/fed/BinaryMatrixScalarFEDInstruction.html
@@ -50,7 +50,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/BinaryMatrixMatrixFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/CentralMomentFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/sysds/runtime/instructions/fed/BinaryMatrixScalarFEDInstruction.html" target="_top">Frames</a></li>
@@ -306,7 +306,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/BinaryMatrixMatrixFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/CentralMomentFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/sysds/runtime/instructions/fed/BinaryMatrixScalarFEDInstruction.html" target="_top">Frames</a></li>
@@ -346,6 +346,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/fed/CentralMomentFEDInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/fed/CentralMomentFEDInstruction.html
new file mode 100644
index 0000000..f5b7734
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/fed/CentralMomentFEDInstruction.html
@@ -0,0 +1,362 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>CentralMomentFEDInstruction (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="CentralMomentFEDInstruction (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":9,"i1":10};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/CentralMomentFEDInstruction.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/BinaryMatrixScalarFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/instructions/fed/CentralMomentFEDInstruction.html" target="_top">Frames</a></li>
+<li><a href="CentralMomentFEDInstruction.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.instructions.fed.FEDInstruction">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#fields.inherited.from.class.org.apache.sysds.runtime.instructions.fed.ComputationFEDInstruction">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.sysds.runtime.instructions.fed</div>
+<h2 title="Class CentralMomentFEDInstruction" class="title">Class CentralMomentFEDInstruction</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">org.apache.sysds.runtime.instructions.Instruction</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">org.apache.sysds.runtime.instructions.fed.FEDInstruction</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">org.apache.sysds.runtime.instructions.fed.ComputationFEDInstruction</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/UnaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">org.apache.sysds.runtime.instructions.fed.UnaryFEDInstruction</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/AggregateUnaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">org.apache.sysds.runtime.instructions.fed.AggregateUnaryFEDInstruction</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.sysds.runtime.instructions.fed.CentralMomentFEDInstruction</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">CentralMomentFEDInstruction</span>
+extends <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/AggregateUnaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">AggregateUnaryFEDInstruction</a></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!--   -->
+</a>
+<h3>Nested Class Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.sysds.runtime.instructions.fed.FEDInstruction">
+<!--   -->
+</a>
+<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.sysds.runtime.instructions.fed.<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">FEDInstruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.FEDType.html" title="enum in org.apache.sysds.runtime.instructions.fed">FEDInstruction.FEDType</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
+<!--   -->
+</a>
+<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.IType.html" title="enum in org.apache.sysds.runtime.instructions">Instruction.IType</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!--   -->
+</a>
+<h3>Field Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.org.apache.sysds.runtime.instructions.fed.ComputationFEDInstruction">
+<!--   -->
+</a>
+<h3>Fields inherited from class&nbsp;org.apache.sysds.runtime.instructions.fed.<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">ComputationFEDInstruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html#input1">input1</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html#input2">input2</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html#input3">input3</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html#output">output</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
+<!--   -->
+</a>
+<h3>Fields inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#DATATYPE_PREFIX">DATATYPE_PREFIX</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#FEDERATED_INST_PREFIX">FEDERATED_INST_PREFIX</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#GPU_INST_PREFIX">GPU_INST_PREFIX</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#INSTRUCTION_DELIM">INSTRUCTION_DELIM</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#LITERAL_PREFIX">LITERAL_PREFIX</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#OPERAND_DELIM">OPERAND_DELIM</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#SP_INST_PREFIX">SP_INST_PREFIX</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#VALUETYPE_PREFIX">VALUETYPE_PREFIX</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/CentralMomentFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">CentralMomentFEDInstruction</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/CentralMomentFEDInstruction.html#parseInstruction-java.lang.String-">parseInstruction</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/CentralMomentFEDInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>
+<div class="block">This method should be used to execute the instruction.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.fed.ComputationFEDInstruction">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.fed.<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">ComputationFEDInstruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.fed.FEDInstruction">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.fed.<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">FEDInstruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html#getFEDInstructionType--">getFEDInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html#getTID--">getTID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html#setTID-long-">setTID</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#requiresLabelUpdate--">requiresLabelUpdate</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.lineage.LineageTraceable">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.sysds.runtime.lineage.<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#getLineageItems-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItems</a>, <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#hasSingleLineage--">hasSingleLineage</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="parseInstruction-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>parseInstruction</h4>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/CentralMomentFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">CentralMomentFEDInstruction</a>&nbsp;parseInstruction(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</pre>
+</li>
+</ul>
+<a name="processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>processInstruction</h4>
+<pre>public&nbsp;void&nbsp;processInstruction(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">Instruction</a></code></span></div>
+<div class="block">This method should be used to execute the instruction.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/AggregateUnaryFEDInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/AggregateUnaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">AggregateUnaryFEDInstruction</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>ec</code> - execution context</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/CentralMomentFEDInstruction.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/BinaryMatrixScalarFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/instructions/fed/CentralMomentFEDInstruction.html" target="_top">Frames</a></li>
+<li><a href="CentralMomentFEDInstruction.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.instructions.fed.FEDInstruction">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#fields.inherited.from.class.org.apache.sysds.runtime.instructions.fed.ComputationFEDInstruction">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html
index 1eeddf0..12f7e03 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html
@@ -49,8 +49,8 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/BinaryMatrixScalarFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/CentralMomentFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/CovarianceFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html" target="_top">Frames</a></li>
@@ -123,7 +123,7 @@
 </dl>
 <dl>
 <dt>Direct Known Subclasses:</dt>
-<dd><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/BinaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">BinaryFEDInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/MultiReturnParameterizedBuiltinFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">MultiReturnParameterizedBuiltinFEDInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ParameterizedBuiltinFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">ParameterizedBuiltinFEDInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/UnaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">UnaryFEDInstruction</a></dd>
+<dd><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/BinaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">BinaryFEDInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/MultiReturnParameterizedBuiltinFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">MultiReturnParameterizedBuiltinFEDInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ParameterizedBuiltinFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">ParameterizedBuiltinFEDInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuaternaryFEDInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/TernaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">TernaryFEDInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/UnaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">UnaryFEDInstruction</a></dd>
 </dl>
 <hr>
 <br>
@@ -361,8 +361,8 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/BinaryMatrixScalarFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/CentralMomentFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/CovarianceFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html" target="_top">Frames</a></li>
@@ -402,6 +402,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/fed/CovarianceFEDInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/fed/CovarianceFEDInstruction.html
new file mode 100644
index 0000000..fbbaca0
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/fed/CovarianceFEDInstruction.html
@@ -0,0 +1,357 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>CovarianceFEDInstruction (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="CovarianceFEDInstruction (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":9,"i1":10};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/CovarianceFEDInstruction.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/instructions/fed/CovarianceFEDInstruction.html" target="_top">Frames</a></li>
+<li><a href="CovarianceFEDInstruction.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.instructions.fed.FEDInstruction">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#fields.inherited.from.class.org.apache.sysds.runtime.instructions.fed.ComputationFEDInstruction">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.sysds.runtime.instructions.fed</div>
+<h2 title="Class CovarianceFEDInstruction" class="title">Class CovarianceFEDInstruction</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">org.apache.sysds.runtime.instructions.Instruction</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">org.apache.sysds.runtime.instructions.fed.FEDInstruction</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">org.apache.sysds.runtime.instructions.fed.ComputationFEDInstruction</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/BinaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">org.apache.sysds.runtime.instructions.fed.BinaryFEDInstruction</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.sysds.runtime.instructions.fed.CovarianceFEDInstruction</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">CovarianceFEDInstruction</span>
+extends <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/BinaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">BinaryFEDInstruction</a></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!--   -->
+</a>
+<h3>Nested Class Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.sysds.runtime.instructions.fed.FEDInstruction">
+<!--   -->
+</a>
+<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.sysds.runtime.instructions.fed.<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">FEDInstruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.FEDType.html" title="enum in org.apache.sysds.runtime.instructions.fed">FEDInstruction.FEDType</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
+<!--   -->
+</a>
+<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.IType.html" title="enum in org.apache.sysds.runtime.instructions">Instruction.IType</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!--   -->
+</a>
+<h3>Field Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.org.apache.sysds.runtime.instructions.fed.ComputationFEDInstruction">
+<!--   -->
+</a>
+<h3>Fields inherited from class&nbsp;org.apache.sysds.runtime.instructions.fed.<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">ComputationFEDInstruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html#input1">input1</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html#input2">input2</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html#input3">input3</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html#output">output</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
+<!--   -->
+</a>
+<h3>Fields inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#DATATYPE_PREFIX">DATATYPE_PREFIX</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#FEDERATED_INST_PREFIX">FEDERATED_INST_PREFIX</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#GPU_INST_PREFIX">GPU_INST_PREFIX</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#INSTRUCTION_DELIM">INSTRUCTION_DELIM</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#LITERAL_PREFIX">LITERAL_PREFIX</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#OPERAND_DELIM">OPERAND_DELIM</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#SP_INST_PREFIX">SP_INST_PREFIX</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#VALUETYPE_PREFIX">VALUETYPE_PREFIX</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/CovarianceFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">CovarianceFEDInstruction</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/CovarianceFEDInstruction.html#parseInstruction-java.lang.String-">parseInstruction</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/CovarianceFEDInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>
+<div class="block">This method should be used to execute the instruction.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.fed.ComputationFEDInstruction">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.fed.<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">ComputationFEDInstruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.fed.FEDInstruction">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.fed.<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">FEDInstruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html#getFEDInstructionType--">getFEDInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html#getTID--">getTID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html#setTID-long-">setTID</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#requiresLabelUpdate--">requiresLabelUpdate</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.lineage.LineageTraceable">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.sysds.runtime.lineage.<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#getLineageItems-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItems</a>, <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#hasSingleLineage--">hasSingleLineage</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="parseInstruction-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>parseInstruction</h4>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/CovarianceFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">CovarianceFEDInstruction</a>&nbsp;parseInstruction(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</pre>
+</li>
+</ul>
+<a name="processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>processInstruction</h4>
+<pre>public&nbsp;void&nbsp;processInstruction(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">Instruction</a></code></span></div>
+<div class="block">This method should be used to execute the instruction.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>ec</code> - execution context</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/CovarianceFEDInstruction.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/instructions/fed/CovarianceFEDInstruction.html" target="_top">Frames</a></li>
+<li><a href="CovarianceFEDInstruction.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.instructions.fed.FEDInstruction">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#fields.inherited.from.class.org.apache.sysds.runtime.instructions.fed.ComputationFEDInstruction">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/fed/FEDInstruction.FEDType.html b/docs/api/java/org/apache/sysds/runtime/instructions/fed/FEDInstruction.FEDType.html
index 7086d31..9cd2f61 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/fed/FEDInstruction.FEDType.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/fed/FEDInstruction.FEDType.html
@@ -145,32 +145,62 @@
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.FEDType.html#AggregateBinary">AggregateBinary</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.FEDType.html#AggregateUnary">AggregateUnary</a></span></code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.FEDType.html#AggregateTernary">AggregateTernary</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.FEDType.html#Append">Append</a></span></code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.FEDType.html#AggregateUnary">AggregateUnary</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.FEDType.html#Append">Append</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.FEDType.html#Binary">Binary</a></span></code>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.FEDType.html#CumulativeAggregate">CumulativeAggregate</a></span></code>&nbsp;</td>
+</tr>
 <tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.FEDType.html#Init">Init</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.FEDType.html#MMChain">MMChain</a></span></code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.FEDType.html#MatrixIndexing">MatrixIndexing</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.FEDType.html#MultiReturnParameterizedBuiltin">MultiReturnParameterizedBuiltin</a></span></code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.FEDType.html#MMChain">MMChain</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.FEDType.html#MultiReturnParameterizedBuiltin">MultiReturnParameterizedBuiltin</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.FEDType.html#ParameterizedBuiltin">ParameterizedBuiltin</a></span></code>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.FEDType.html#QPick">QPick</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.FEDType.html#QSort">QSort</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.FEDType.html#Quaternary">Quaternary</a></span></code>&nbsp;</td>
+</tr>
 <tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.FEDType.html#Reorg">Reorg</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.FEDType.html#Reshape">Reshape</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.FEDType.html#SpoofFused">SpoofFused</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.FEDType.html#Ternary">Ternary</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.FEDType.html#Tsmm">Tsmm</a></span></code>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.FEDType.html#Unary">Unary</a></span></code>&nbsp;</td>
+</tr>
 </table>
 </li>
 </ul>
@@ -246,6 +276,15 @@
 <pre>public static final&nbsp;<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.FEDType.html" title="enum in org.apache.sysds.runtime.instructions.fed">FEDInstruction.FEDType</a> AggregateUnary</pre>
 </li>
 </ul>
+<a name="AggregateTernary">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>AggregateTernary</h4>
+<pre>public static final&nbsp;<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.FEDType.html" title="enum in org.apache.sysds.runtime.instructions.fed">FEDInstruction.FEDType</a> AggregateTernary</pre>
+</li>
+</ul>
 <a name="Append">
 <!--   -->
 </a>
@@ -264,6 +303,15 @@
 <pre>public static final&nbsp;<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.FEDType.html" title="enum in org.apache.sysds.runtime.instructions.fed">FEDInstruction.FEDType</a> Binary</pre>
 </li>
 </ul>
+<a name="CumulativeAggregate">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>CumulativeAggregate</h4>
+<pre>public static final&nbsp;<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.FEDType.html" title="enum in org.apache.sysds.runtime.instructions.fed">FEDInstruction.FEDType</a> CumulativeAggregate</pre>
+</li>
+</ul>
 <a name="Init">
 <!--   -->
 </a>
@@ -282,6 +330,33 @@
 <pre>public static final&nbsp;<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.FEDType.html" title="enum in org.apache.sysds.runtime.instructions.fed">FEDInstruction.FEDType</a> MultiReturnParameterizedBuiltin</pre>
 </li>
 </ul>
+<a name="MMChain">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>MMChain</h4>
+<pre>public static final&nbsp;<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.FEDType.html" title="enum in org.apache.sysds.runtime.instructions.fed">FEDInstruction.FEDType</a> MMChain</pre>
+</li>
+</ul>
+<a name="MatrixIndexing">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>MatrixIndexing</h4>
+<pre>public static final&nbsp;<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.FEDType.html" title="enum in org.apache.sysds.runtime.instructions.fed">FEDInstruction.FEDType</a> MatrixIndexing</pre>
+</li>
+</ul>
+<a name="Ternary">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>Ternary</h4>
+<pre>public static final&nbsp;<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.FEDType.html" title="enum in org.apache.sysds.runtime.instructions.fed">FEDInstruction.FEDType</a> Ternary</pre>
+</li>
+</ul>
 <a name="ParameterizedBuiltin">
 <!--   -->
 </a>
@@ -291,6 +366,60 @@
 <pre>public static final&nbsp;<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.FEDType.html" title="enum in org.apache.sysds.runtime.instructions.fed">FEDInstruction.FEDType</a> ParameterizedBuiltin</pre>
 </li>
 </ul>
+<a name="Quaternary">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>Quaternary</h4>
+<pre>public static final&nbsp;<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.FEDType.html" title="enum in org.apache.sysds.runtime.instructions.fed">FEDInstruction.FEDType</a> Quaternary</pre>
+</li>
+</ul>
+<a name="QSort">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>QSort</h4>
+<pre>public static final&nbsp;<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.FEDType.html" title="enum in org.apache.sysds.runtime.instructions.fed">FEDInstruction.FEDType</a> QSort</pre>
+</li>
+</ul>
+<a name="QPick">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>QPick</h4>
+<pre>public static final&nbsp;<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.FEDType.html" title="enum in org.apache.sysds.runtime.instructions.fed">FEDInstruction.FEDType</a> QPick</pre>
+</li>
+</ul>
+<a name="Reorg">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>Reorg</h4>
+<pre>public static final&nbsp;<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.FEDType.html" title="enum in org.apache.sysds.runtime.instructions.fed">FEDInstruction.FEDType</a> Reorg</pre>
+</li>
+</ul>
+<a name="Reshape">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>Reshape</h4>
+<pre>public static final&nbsp;<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.FEDType.html" title="enum in org.apache.sysds.runtime.instructions.fed">FEDInstruction.FEDType</a> Reshape</pre>
+</li>
+</ul>
+<a name="SpoofFused">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>SpoofFused</h4>
+<pre>public static final&nbsp;<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.FEDType.html" title="enum in org.apache.sysds.runtime.instructions.fed">FEDInstruction.FEDType</a> SpoofFused</pre>
+</li>
+</ul>
 <a name="Tsmm">
 <!--   -->
 </a>
@@ -300,22 +429,13 @@
 <pre>public static final&nbsp;<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.FEDType.html" title="enum in org.apache.sysds.runtime.instructions.fed">FEDInstruction.FEDType</a> Tsmm</pre>
 </li>
 </ul>
-<a name="MMChain">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>MMChain</h4>
-<pre>public static final&nbsp;<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.FEDType.html" title="enum in org.apache.sysds.runtime.instructions.fed">FEDInstruction.FEDType</a> MMChain</pre>
-</li>
-</ul>
-<a name="Reorg">
+<a name="Unary">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>Reorg</h4>
-<pre>public static final&nbsp;<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.FEDType.html" title="enum in org.apache.sysds.runtime.instructions.fed">FEDInstruction.FEDType</a> Reorg</pre>
+<h4>Unary</h4>
+<pre>public static final&nbsp;<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.FEDType.html" title="enum in org.apache.sysds.runtime.instructions.fed">FEDInstruction.FEDType</a> Unary</pre>
 </li>
 </ul>
 </li>
@@ -437,6 +557,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/fed/FEDInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/fed/FEDInstruction.html
index 69bcdc8..faf3805 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/fed/FEDInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/fed/FEDInstruction.html
@@ -49,7 +49,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/CovarianceFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.FEDType.html" title="enum in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -114,7 +114,7 @@
 <li class="blockList">
 <dl>
 <dt>Direct Known Subclasses:</dt>
-<dd><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">ComputationFEDInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/InitFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">InitFEDInstruction</a></dd>
+<dd><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/AggregateTernaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">AggregateTernaryFEDInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">ComputationFEDInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/InitFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">InitFEDInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/SpoofFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">SpoofFEDInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/VariableFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">VariableFEDInstruction</a></dd>
 </dl>
 <hr>
 <br>
@@ -319,7 +319,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/CovarianceFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.FEDType.html" title="enum in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -360,6 +360,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/fed/FEDInstructionUtils.html b/docs/api/java/org/apache/sysds/runtime/instructions/fed/FEDInstructionUtils.html
index 3c517d1..395d960 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/fed/FEDInstructionUtils.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/fed/FEDInstructionUtils.html
@@ -50,7 +50,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.FEDType.html" title="enum in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/InitFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/IndexingFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/sysds/runtime/instructions/fed/FEDInstructionUtils.html" target="_top">Frames</a></li>
@@ -149,7 +149,9 @@
 <tr id="i0" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstructionUtils.html#checkAndReplaceCP-org.apache.sysds.runtime.instructions.Instruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">checkAndReplaceCP</a></span>(<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a>&nbsp;inst,
-                 <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
+                 <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>
+<div class="block">Check and replace CP instructions with federated instructions if the instruction match criteria.</div>
+</td>
 </tr>
 <tr id="i1" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></code></td>
@@ -203,6 +205,14 @@
 <h4>checkAndReplaceCP</h4>
 <pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a>&nbsp;checkAndReplaceCP(<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a>&nbsp;inst,
                                             <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</pre>
+<div class="block">Check and replace CP instructions with federated instructions if the instruction match criteria.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>inst</code> - The instruction to analyse</dd>
+<dd><code>ec</code> - The Execution Context</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The potentially modified instruction</dd>
+</dl>
 </li>
 </ul>
 <a name="checkAndReplaceSP-org.apache.sysds.runtime.instructions.Instruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">
@@ -244,7 +254,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.FEDType.html" title="enum in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/InitFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/IndexingFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/sysds/runtime/instructions/fed/FEDInstructionUtils.html" target="_top">Frames</a></li>
@@ -284,6 +294,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/fed/IndexingFEDInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/fed/IndexingFEDInstruction.html
new file mode 100644
index 0000000..11cad7c
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/fed/IndexingFEDInstruction.html
@@ -0,0 +1,357 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>IndexingFEDInstruction (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="IndexingFEDInstruction (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":9,"i1":10};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/IndexingFEDInstruction.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstructionUtils.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/InitFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/instructions/fed/IndexingFEDInstruction.html" target="_top">Frames</a></li>
+<li><a href="IndexingFEDInstruction.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.instructions.fed.FEDInstruction">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#fields.inherited.from.class.org.apache.sysds.runtime.instructions.fed.ComputationFEDInstruction">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.sysds.runtime.instructions.fed</div>
+<h2 title="Class IndexingFEDInstruction" class="title">Class IndexingFEDInstruction</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">org.apache.sysds.runtime.instructions.Instruction</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">org.apache.sysds.runtime.instructions.fed.FEDInstruction</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">org.apache.sysds.runtime.instructions.fed.ComputationFEDInstruction</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/UnaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">org.apache.sysds.runtime.instructions.fed.UnaryFEDInstruction</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.sysds.runtime.instructions.fed.IndexingFEDInstruction</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public final class <span class="typeNameLabel">IndexingFEDInstruction</span>
+extends <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/UnaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">UnaryFEDInstruction</a></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!--   -->
+</a>
+<h3>Nested Class Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.sysds.runtime.instructions.fed.FEDInstruction">
+<!--   -->
+</a>
+<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.sysds.runtime.instructions.fed.<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">FEDInstruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.FEDType.html" title="enum in org.apache.sysds.runtime.instructions.fed">FEDInstruction.FEDType</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
+<!--   -->
+</a>
+<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.IType.html" title="enum in org.apache.sysds.runtime.instructions">Instruction.IType</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!--   -->
+</a>
+<h3>Field Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.org.apache.sysds.runtime.instructions.fed.ComputationFEDInstruction">
+<!--   -->
+</a>
+<h3>Fields inherited from class&nbsp;org.apache.sysds.runtime.instructions.fed.<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">ComputationFEDInstruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html#input1">input1</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html#input2">input2</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html#input3">input3</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html#output">output</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
+<!--   -->
+</a>
+<h3>Fields inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#DATATYPE_PREFIX">DATATYPE_PREFIX</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#FEDERATED_INST_PREFIX">FEDERATED_INST_PREFIX</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#GPU_INST_PREFIX">GPU_INST_PREFIX</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#INSTRUCTION_DELIM">INSTRUCTION_DELIM</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#LITERAL_PREFIX">LITERAL_PREFIX</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#OPERAND_DELIM">OPERAND_DELIM</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#SP_INST_PREFIX">SP_INST_PREFIX</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#VALUETYPE_PREFIX">VALUETYPE_PREFIX</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/IndexingFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">IndexingFEDInstruction</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/IndexingFEDInstruction.html#parseInstruction-java.lang.String-">parseInstruction</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/IndexingFEDInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>
+<div class="block">This method should be used to execute the instruction.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.fed.ComputationFEDInstruction">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.fed.<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">ComputationFEDInstruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.fed.FEDInstruction">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.fed.<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">FEDInstruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html#getFEDInstructionType--">getFEDInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html#getTID--">getTID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html#setTID-long-">setTID</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#requiresLabelUpdate--">requiresLabelUpdate</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.lineage.LineageTraceable">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.sysds.runtime.lineage.<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#getLineageItems-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItems</a>, <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#hasSingleLineage--">hasSingleLineage</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="parseInstruction-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>parseInstruction</h4>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/IndexingFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">IndexingFEDInstruction</a>&nbsp;parseInstruction(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</pre>
+</li>
+</ul>
+<a name="processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>processInstruction</h4>
+<pre>public&nbsp;void&nbsp;processInstruction(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">Instruction</a></code></span></div>
+<div class="block">This method should be used to execute the instruction.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>ec</code> - execution context</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/IndexingFEDInstruction.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstructionUtils.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/InitFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/instructions/fed/IndexingFEDInstruction.html" target="_top">Frames</a></li>
+<li><a href="IndexingFEDInstruction.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.instructions.fed.FEDInstruction">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#fields.inherited.from.class.org.apache.sysds.runtime.instructions.fed.ComputationFEDInstruction">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/fed/InitFEDInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/fed/InitFEDInstruction.html
index a704073..7b32319 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/fed/InitFEDInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/fed/InitFEDInstruction.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":9,"i3":9,"i4":10};
+var methods = {"i0":9,"i1":9,"i2":10,"i3":9,"i4":9,"i5":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -49,7 +49,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstructionUtils.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/IndexingFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/MMChainFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -117,10 +117,15 @@
 <div class="description">
 <ul class="blockList">
 <li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a></dd>
+</dl>
 <hr>
 <br>
 <pre>public class <span class="typeNameLabel">InitFEDInstruction</span>
-extends <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">FEDInstruction</a></pre>
+extends <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">FEDInstruction</a>
+implements <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a></pre>
 </li>
 </ul>
 </div>
@@ -214,24 +219,30 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
-<td class="colFirst"><code>void</code></td>
+<td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/InitFEDInstruction.html#federateFrame-org.apache.sysds.runtime.controlprogram.caching.FrameObject-java.util.List-">federateFrame</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/FrameObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">FrameObject</a>&nbsp;output,
              <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.commons.lang3.tuple.Pair&lt;<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRange.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRange</a>,<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedData.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedData</a>&gt;&gt;&nbsp;workers)</code>&nbsp;</td>
 </tr>
 <tr id="i1" class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/InitFEDInstruction.html#federateMatrix-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-java.util.List-">federateMatrix</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;output,
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/InitFEDInstruction.html#federateMatrix-org.apache.sysds.runtime.controlprogram.caching.CacheableData-java.util.List-">federateMatrix</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html" title="class in org.apache.sysds.runtime.controlprogram.caching">CacheableData</a>&lt;?&gt;&nbsp;output,
               <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.commons.lang3.tuple.Pair&lt;<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRange.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRange</a>,<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedData.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedData</a>&gt;&gt;&nbsp;workers)</code>&nbsp;</td>
 </tr>
 <tr id="i2" class="altColor">
+<td class="colFirst"><code>org.apache.commons.lang3.tuple.Pair&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/InitFEDInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>
+<div class="block">Obtain lineage trace of an instruction with a single output.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/InitFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">InitFEDInstruction</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/InitFEDInstruction.html#parseInstruction-java.lang.String-">parseInstruction</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</code>&nbsp;</td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/InitFEDInstruction.html#parseURL-java.lang.String-">parseURL</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;input)</code>&nbsp;</td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/InitFEDInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>
 <div class="block">This method should be used to execute the instruction.</div>
@@ -259,6 +270,13 @@
 <h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
 <code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.lineage.LineageTraceable">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.sysds.runtime.lineage.<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#getLineageItems-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItems</a>, <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#hasSingleLineage--">hasSingleLineage</a></code></li>
+</ul>
 </li>
 </ul>
 </li>
@@ -364,24 +382,43 @@
 <pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;parseURL(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;input)</pre>
 </li>
 </ul>
-<a name="federateMatrix-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-java.util.List-">
+<a name="federateMatrix-org.apache.sysds.runtime.controlprogram.caching.CacheableData-java.util.List-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>federateMatrix</h4>
-<pre>public&nbsp;void&nbsp;federateMatrix(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;output,
-                           <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.commons.lang3.tuple.Pair&lt;<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRange.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRange</a>,<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedData.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedData</a>&gt;&gt;&nbsp;workers)</pre>
+<pre>public static&nbsp;void&nbsp;federateMatrix(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html" title="class in org.apache.sysds.runtime.controlprogram.caching">CacheableData</a>&lt;?&gt;&nbsp;output,
+                                  <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.commons.lang3.tuple.Pair&lt;<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRange.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRange</a>,<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedData.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedData</a>&gt;&gt;&nbsp;workers)</pre>
 </li>
 </ul>
 <a name="federateFrame-org.apache.sysds.runtime.controlprogram.caching.FrameObject-java.util.List-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>federateFrame</h4>
-<pre>public&nbsp;void&nbsp;federateFrame(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/FrameObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">FrameObject</a>&nbsp;output,
-                          <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.commons.lang3.tuple.Pair&lt;<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRange.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRange</a>,<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedData.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedData</a>&gt;&gt;&nbsp;workers)</pre>
+<pre>public static&nbsp;void&nbsp;federateFrame(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/FrameObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">FrameObject</a>&nbsp;output,
+                                 <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.commons.lang3.tuple.Pair&lt;<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRange.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRange</a>,<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedData.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedData</a>&gt;&gt;&nbsp;workers)</pre>
+</li>
+</ul>
+<a name="getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getLineageItem</h4>
+<pre>public&nbsp;org.apache.commons.lang3.tuple.Pair&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&gt;&nbsp;getLineageItem(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">LineageTraceable</a></code></span></div>
+<div class="block">Obtain lineage trace of an instruction with a single output.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>ec</code> - execution context w/ live variables</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>pair of (output variable name, output lineage item)</dd>
+</dl>
 </li>
 </ul>
 </li>
@@ -412,7 +449,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstructionUtils.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/IndexingFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/MMChainFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -453,6 +490,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/fed/MMChainFEDInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/fed/MMChainFEDInstruction.html
index 86c9a13..0399ae8 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/fed/MMChainFEDInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/fed/MMChainFEDInstruction.html
@@ -413,6 +413,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/fed/MultiReturnParameterizedBuiltinFEDInstruction.CreateFrameEncoder.html b/docs/api/java/org/apache/sysds/runtime/instructions/fed/MultiReturnParameterizedBuiltinFEDInstruction.CreateFrameEncoder.html
index cbefa8a..1898bb4 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/fed/MultiReturnParameterizedBuiltinFEDInstruction.CreateFrameEncoder.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/fed/MultiReturnParameterizedBuiltinFEDInstruction.CreateFrameEncoder.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10};
+var methods = {"i0":10,"i1":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -114,7 +114,7 @@
 <li class="blockList">
 <dl>
 <dt>All Implemented Interfaces:</dt>
-<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></dd>
+<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a></dd>
 </dl>
 <dl>
 <dt>Enclosing class:</dt>
@@ -174,13 +174,19 @@
  looked up by specified input IDs and passed in the same order.</div>
 </td>
 </tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>org.apache.commons.lang3.tuple.Pair&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/MultiReturnParameterizedBuiltinFEDInstruction.CreateFrameEncoder.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>
+<div class="block">Obtain lineage trace of an instruction with a single output.</div>
+</td>
+</tr>
 </table>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.controlprogram.federated.FederatedUDF">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.controlprogram.federated.<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedUDF.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedUDF</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedUDF.html#getInputIDs--">getInputIDs</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedUDF.html#getInputIDs--">getInputIDs</a>, <a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedUDF.html#getOutputIds--">getOutputIds</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -189,6 +195,13 @@
 <h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
 <code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.lineage.LineageTraceable">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.sysds.runtime.lineage.<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#getLineageItems-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItems</a>, <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#hasSingleLineage--">hasSingleLineage</a></code></li>
+</ul>
 </li>
 </ul>
 </li>
@@ -225,7 +238,7 @@
 <a name="execute-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.runtime.instructions.cp.Data...-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>execute</h4>
 <pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedResponse</a>&nbsp;execute(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
@@ -248,6 +261,23 @@
 </dl>
 </li>
 </ul>
+<a name="getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getLineageItem</h4>
+<pre>public&nbsp;org.apache.commons.lang3.tuple.Pair&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&gt;&nbsp;getLineageItem(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">LineageTraceable</a></code></span></div>
+<div class="block">Obtain lineage trace of an instruction with a single output.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>ec</code> - execution context w/ live variables</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>pair of (output variable name, output lineage item)</dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>
@@ -317,6 +347,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/fed/MultiReturnParameterizedBuiltinFEDInstruction.ExecuteFrameEncoder.html b/docs/api/java/org/apache/sysds/runtime/instructions/fed/MultiReturnParameterizedBuiltinFEDInstruction.ExecuteFrameEncoder.html
index 4da3b5b..914a0d5 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/fed/MultiReturnParameterizedBuiltinFEDInstruction.ExecuteFrameEncoder.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/fed/MultiReturnParameterizedBuiltinFEDInstruction.ExecuteFrameEncoder.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10};
+var methods = {"i0":10,"i1":10,"i2":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -114,7 +114,7 @@
 <li class="blockList">
 <dl>
 <dt>All Implemented Interfaces:</dt>
-<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></dd>
+<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a></dd>
 </dl>
 <dl>
 <dt>Enclosing class:</dt>
@@ -146,9 +146,9 @@
 <th class="colOne" scope="col">Constructor and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/MultiReturnParameterizedBuiltinFEDInstruction.ExecuteFrameEncoder.html#ExecuteFrameEncoder-long-long-org.apache.sysds.runtime.transform.encode.Encoder-">ExecuteFrameEncoder</a></span>(long&nbsp;input,
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/MultiReturnParameterizedBuiltinFEDInstruction.ExecuteFrameEncoder.html#ExecuteFrameEncoder-long-long-org.apache.sysds.runtime.transform.encode.MultiColumnEncoder-">ExecuteFrameEncoder</a></span>(long&nbsp;input,
                    long&nbsp;output,
-                   <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&nbsp;encoder)</code>&nbsp;</td>
+                   <a href="../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a>&nbsp;encoder)</code>&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -174,6 +174,16 @@
  looked up by specified input IDs and passed in the same order.</div>
 </td>
 </tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>org.apache.commons.lang3.tuple.Pair&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/MultiReturnParameterizedBuiltinFEDInstruction.ExecuteFrameEncoder.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>
+<div class="block">Obtain lineage trace of an instruction with a single output.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/MultiReturnParameterizedBuiltinFEDInstruction.ExecuteFrameEncoder.html#getOutputIds--">getOutputIds</a></span>()</code>&nbsp;</td>
+</tr>
 </table>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.controlprogram.federated.FederatedUDF">
@@ -189,6 +199,13 @@
 <h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
 <code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.lineage.LineageTraceable">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.sysds.runtime.lineage.<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#getLineageItems-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItems</a>, <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#hasSingleLineage--">hasSingleLineage</a></code></li>
+</ul>
 </li>
 </ul>
 </li>
@@ -203,7 +220,7 @@
 <!--   -->
 </a>
 <h3>Constructor Detail</h3>
-<a name="ExecuteFrameEncoder-long-long-org.apache.sysds.runtime.transform.encode.Encoder-">
+<a name="ExecuteFrameEncoder-long-long-org.apache.sysds.runtime.transform.encode.MultiColumnEncoder-">
 <!--   -->
 </a>
 <ul class="blockListLast">
@@ -211,7 +228,7 @@
 <h4>ExecuteFrameEncoder</h4>
 <pre>public&nbsp;ExecuteFrameEncoder(long&nbsp;input,
                            long&nbsp;output,
-                           <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&nbsp;encoder)</pre>
+                           <a href="../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a>&nbsp;encoder)</pre>
 </li>
 </ul>
 </li>
@@ -225,7 +242,7 @@
 <a name="execute-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.runtime.instructions.cp.Data...-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>execute</h4>
 <pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedResponse</a>&nbsp;execute(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
@@ -248,6 +265,36 @@
 </dl>
 </li>
 </ul>
+<a name="getOutputIds--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getOutputIds</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&nbsp;getOutputIds()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedUDF.html#getOutputIds--">getOutputIds</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedUDF.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedUDF</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getLineageItem</h4>
+<pre>public&nbsp;org.apache.commons.lang3.tuple.Pair&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&gt;&nbsp;getLineageItem(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">LineageTraceable</a></code></span></div>
+<div class="block">Obtain lineage trace of an instruction with a single output.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>ec</code> - execution context w/ live variables</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>pair of (output variable name, output lineage item)</dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>
@@ -317,6 +364,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/fed/MultiReturnParameterizedBuiltinFEDInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/fed/MultiReturnParameterizedBuiltinFEDInstruction.html
index 36ebd4e..447d3f6 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/fed/MultiReturnParameterizedBuiltinFEDInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/fed/MultiReturnParameterizedBuiltinFEDInstruction.html
@@ -209,8 +209,8 @@
 </tr>
 <tr id="i0" class="altColor">
 <td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/MultiReturnParameterizedBuiltinFEDInstruction.html#encodeFederatedFrames-org.apache.sysds.runtime.controlprogram.federated.FederationMap-org.apache.sysds.runtime.transform.encode.Encoder-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-">encodeFederatedFrames</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationMap</a>&nbsp;fedMapping,
-                     <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&nbsp;globalEncoder,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/MultiReturnParameterizedBuiltinFEDInstruction.html#encodeFederatedFrames-org.apache.sysds.runtime.controlprogram.federated.FederationMap-org.apache.sysds.runtime.transform.encode.MultiColumnEncoder-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-">encodeFederatedFrames</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationMap</a>&nbsp;fedMapping,
+                     <a href="../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a>&nbsp;globalencoder,
                      <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;transformedMat)</code>&nbsp;</td>
 </tr>
 <tr id="i1" class="rowColor">
@@ -312,14 +312,14 @@
 </dl>
 </li>
 </ul>
-<a name="encodeFederatedFrames-org.apache.sysds.runtime.controlprogram.federated.FederationMap-org.apache.sysds.runtime.transform.encode.Encoder-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-">
+<a name="encodeFederatedFrames-org.apache.sysds.runtime.controlprogram.federated.FederationMap-org.apache.sysds.runtime.transform.encode.MultiColumnEncoder-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>encodeFederatedFrames</h4>
 <pre>public static&nbsp;void&nbsp;encodeFederatedFrames(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationMap</a>&nbsp;fedMapping,
-                                         <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&nbsp;globalEncoder,
+                                         <a href="../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a>&nbsp;globalencoder,
                                          <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;transformedMat)</pre>
 </li>
 </ul>
@@ -392,6 +392,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/fed/ParameterizedBuiltinFEDInstruction.DecodeMatrix.html b/docs/api/java/org/apache/sysds/runtime/instructions/fed/ParameterizedBuiltinFEDInstruction.DecodeMatrix.html
index a5de8d8..dae11ab 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/fed/ParameterizedBuiltinFEDInstruction.DecodeMatrix.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/fed/ParameterizedBuiltinFEDInstruction.DecodeMatrix.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10};
+var methods = {"i0":10,"i1":10,"i2":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -50,7 +50,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ParameterizedBuiltinFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/QuantilePickFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/sysds/runtime/instructions/fed/ParameterizedBuiltinFEDInstruction.DecodeMatrix.html" target="_top">Frames</a></li>
@@ -114,7 +114,7 @@
 <li class="blockList">
 <dl>
 <dt>All Implemented Interfaces:</dt>
-<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></dd>
+<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a></dd>
 </dl>
 <dl>
 <dt>Enclosing class:</dt>
@@ -175,6 +175,16 @@
  looked up by specified input IDs and passed in the same order.</div>
 </td>
 </tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>org.apache.commons.lang3.tuple.Pair&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ParameterizedBuiltinFEDInstruction.DecodeMatrix.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>
+<div class="block">Obtain lineage trace of an instruction with a single output.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ParameterizedBuiltinFEDInstruction.DecodeMatrix.html#getOutputIds--">getOutputIds</a></span>()</code>&nbsp;</td>
+</tr>
 </table>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.controlprogram.federated.FederatedUDF">
@@ -190,6 +200,13 @@
 <h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
 <code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.lineage.LineageTraceable">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.sysds.runtime.lineage.<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#getLineageItems-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItems</a>, <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#hasSingleLineage--">hasSingleLineage</a></code></li>
+</ul>
 </li>
 </ul>
 </li>
@@ -227,7 +244,7 @@
 <a name="execute-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.runtime.instructions.cp.Data...-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>execute</h4>
 <pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedResponse</a>&nbsp;execute(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
@@ -250,6 +267,36 @@
 </dl>
 </li>
 </ul>
+<a name="getOutputIds--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getOutputIds</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&nbsp;getOutputIds()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedUDF.html#getOutputIds--">getOutputIds</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedUDF.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedUDF</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getLineageItem</h4>
+<pre>public&nbsp;org.apache.commons.lang3.tuple.Pair&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&gt;&nbsp;getLineageItem(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">LineageTraceable</a></code></span></div>
+<div class="block">Obtain lineage trace of an instruction with a single output.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>ec</code> - execution context w/ live variables</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>pair of (output variable name, output lineage item)</dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>
@@ -279,7 +326,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ParameterizedBuiltinFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/QuantilePickFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/sysds/runtime/instructions/fed/ParameterizedBuiltinFEDInstruction.DecodeMatrix.html" target="_top">Frames</a></li>
@@ -319,6 +366,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/fed/ParameterizedBuiltinFEDInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/fed/ParameterizedBuiltinFEDInstruction.html
index c761290..2490c8f 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/fed/ParameterizedBuiltinFEDInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/fed/ParameterizedBuiltinFEDInstruction.html
@@ -410,6 +410,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/fed/QuantilePickFEDInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/fed/QuantilePickFEDInstruction.html
new file mode 100644
index 0000000..e1f3962
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/fed/QuantilePickFEDInstruction.html
@@ -0,0 +1,357 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>QuantilePickFEDInstruction (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="QuantilePickFEDInstruction (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":9,"i1":10};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/QuantilePickFEDInstruction.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ParameterizedBuiltinFEDInstruction.DecodeMatrix.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/QuantileSortFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/instructions/fed/QuantilePickFEDInstruction.html" target="_top">Frames</a></li>
+<li><a href="QuantilePickFEDInstruction.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.instructions.fed.FEDInstruction">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#fields.inherited.from.class.org.apache.sysds.runtime.instructions.fed.ComputationFEDInstruction">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.sysds.runtime.instructions.fed</div>
+<h2 title="Class QuantilePickFEDInstruction" class="title">Class QuantilePickFEDInstruction</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">org.apache.sysds.runtime.instructions.Instruction</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">org.apache.sysds.runtime.instructions.fed.FEDInstruction</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">org.apache.sysds.runtime.instructions.fed.ComputationFEDInstruction</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/BinaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">org.apache.sysds.runtime.instructions.fed.BinaryFEDInstruction</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.sysds.runtime.instructions.fed.QuantilePickFEDInstruction</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">QuantilePickFEDInstruction</span>
+extends <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/BinaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">BinaryFEDInstruction</a></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!--   -->
+</a>
+<h3>Nested Class Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.sysds.runtime.instructions.fed.FEDInstruction">
+<!--   -->
+</a>
+<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.sysds.runtime.instructions.fed.<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">FEDInstruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.FEDType.html" title="enum in org.apache.sysds.runtime.instructions.fed">FEDInstruction.FEDType</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
+<!--   -->
+</a>
+<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.IType.html" title="enum in org.apache.sysds.runtime.instructions">Instruction.IType</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!--   -->
+</a>
+<h3>Field Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.org.apache.sysds.runtime.instructions.fed.ComputationFEDInstruction">
+<!--   -->
+</a>
+<h3>Fields inherited from class&nbsp;org.apache.sysds.runtime.instructions.fed.<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">ComputationFEDInstruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html#input1">input1</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html#input2">input2</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html#input3">input3</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html#output">output</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
+<!--   -->
+</a>
+<h3>Fields inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#DATATYPE_PREFIX">DATATYPE_PREFIX</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#FEDERATED_INST_PREFIX">FEDERATED_INST_PREFIX</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#GPU_INST_PREFIX">GPU_INST_PREFIX</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#INSTRUCTION_DELIM">INSTRUCTION_DELIM</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#LITERAL_PREFIX">LITERAL_PREFIX</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#OPERAND_DELIM">OPERAND_DELIM</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#SP_INST_PREFIX">SP_INST_PREFIX</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#VALUETYPE_PREFIX">VALUETYPE_PREFIX</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/QuantilePickFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuantilePickFEDInstruction</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/QuantilePickFEDInstruction.html#parseInstruction-java.lang.String-">parseInstruction</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/QuantilePickFEDInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>
+<div class="block">This method should be used to execute the instruction.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.fed.ComputationFEDInstruction">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.fed.<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">ComputationFEDInstruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.fed.FEDInstruction">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.fed.<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">FEDInstruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html#getFEDInstructionType--">getFEDInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html#getTID--">getTID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html#setTID-long-">setTID</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#requiresLabelUpdate--">requiresLabelUpdate</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.lineage.LineageTraceable">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.sysds.runtime.lineage.<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#getLineageItems-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItems</a>, <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#hasSingleLineage--">hasSingleLineage</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="parseInstruction-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>parseInstruction</h4>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/QuantilePickFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuantilePickFEDInstruction</a>&nbsp;parseInstruction(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</pre>
+</li>
+</ul>
+<a name="processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>processInstruction</h4>
+<pre>public&nbsp;void&nbsp;processInstruction(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">Instruction</a></code></span></div>
+<div class="block">This method should be used to execute the instruction.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>ec</code> - execution context</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/QuantilePickFEDInstruction.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ParameterizedBuiltinFEDInstruction.DecodeMatrix.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/QuantileSortFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/instructions/fed/QuantilePickFEDInstruction.html" target="_top">Frames</a></li>
+<li><a href="QuantilePickFEDInstruction.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.instructions.fed.FEDInstruction">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#fields.inherited.from.class.org.apache.sysds.runtime.instructions.fed.ComputationFEDInstruction">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/fed/QuantileSortFEDInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/fed/QuantileSortFEDInstruction.html
new file mode 100644
index 0000000..341d436
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/fed/QuantileSortFEDInstruction.html
@@ -0,0 +1,357 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>QuantileSortFEDInstruction (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="QuantileSortFEDInstruction (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":9,"i1":10};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/QuantileSortFEDInstruction.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/QuantilePickFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/instructions/fed/QuantileSortFEDInstruction.html" target="_top">Frames</a></li>
+<li><a href="QuantileSortFEDInstruction.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.instructions.fed.FEDInstruction">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#fields.inherited.from.class.org.apache.sysds.runtime.instructions.fed.ComputationFEDInstruction">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.sysds.runtime.instructions.fed</div>
+<h2 title="Class QuantileSortFEDInstruction" class="title">Class QuantileSortFEDInstruction</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">org.apache.sysds.runtime.instructions.Instruction</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">org.apache.sysds.runtime.instructions.fed.FEDInstruction</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">org.apache.sysds.runtime.instructions.fed.ComputationFEDInstruction</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/UnaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">org.apache.sysds.runtime.instructions.fed.UnaryFEDInstruction</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.sysds.runtime.instructions.fed.QuantileSortFEDInstruction</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">QuantileSortFEDInstruction</span>
+extends <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/UnaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">UnaryFEDInstruction</a></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!--   -->
+</a>
+<h3>Nested Class Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.sysds.runtime.instructions.fed.FEDInstruction">
+<!--   -->
+</a>
+<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.sysds.runtime.instructions.fed.<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">FEDInstruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.FEDType.html" title="enum in org.apache.sysds.runtime.instructions.fed">FEDInstruction.FEDType</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
+<!--   -->
+</a>
+<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.IType.html" title="enum in org.apache.sysds.runtime.instructions">Instruction.IType</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!--   -->
+</a>
+<h3>Field Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.org.apache.sysds.runtime.instructions.fed.ComputationFEDInstruction">
+<!--   -->
+</a>
+<h3>Fields inherited from class&nbsp;org.apache.sysds.runtime.instructions.fed.<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">ComputationFEDInstruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html#input1">input1</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html#input2">input2</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html#input3">input3</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html#output">output</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
+<!--   -->
+</a>
+<h3>Fields inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#DATATYPE_PREFIX">DATATYPE_PREFIX</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#FEDERATED_INST_PREFIX">FEDERATED_INST_PREFIX</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#GPU_INST_PREFIX">GPU_INST_PREFIX</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#INSTRUCTION_DELIM">INSTRUCTION_DELIM</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#LITERAL_PREFIX">LITERAL_PREFIX</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#OPERAND_DELIM">OPERAND_DELIM</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#SP_INST_PREFIX">SP_INST_PREFIX</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#VALUETYPE_PREFIX">VALUETYPE_PREFIX</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/QuantileSortFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuantileSortFEDInstruction</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/QuantileSortFEDInstruction.html#parseInstruction-java.lang.String-">parseInstruction</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/QuantileSortFEDInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>
+<div class="block">This method should be used to execute the instruction.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.fed.ComputationFEDInstruction">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.fed.<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">ComputationFEDInstruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.fed.FEDInstruction">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.fed.<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">FEDInstruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html#getFEDInstructionType--">getFEDInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html#getTID--">getTID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html#setTID-long-">setTID</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#requiresLabelUpdate--">requiresLabelUpdate</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.lineage.LineageTraceable">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.sysds.runtime.lineage.<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#getLineageItems-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItems</a>, <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#hasSingleLineage--">hasSingleLineage</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="parseInstruction-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>parseInstruction</h4>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/QuantileSortFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuantileSortFEDInstruction</a>&nbsp;parseInstruction(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</pre>
+</li>
+</ul>
+<a name="processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>processInstruction</h4>
+<pre>public&nbsp;void&nbsp;processInstruction(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">Instruction</a></code></span></div>
+<div class="block">This method should be used to execute the instruction.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>ec</code> - execution context</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/QuantileSortFEDInstruction.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/QuantilePickFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/instructions/fed/QuantileSortFEDInstruction.html" target="_top">Frames</a></li>
+<li><a href="QuantileSortFEDInstruction.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.instructions.fed.FEDInstruction">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#fields.inherited.from.class.org.apache.sysds.runtime.instructions.fed.ComputationFEDInstruction">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/fed/QuaternaryFEDInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/fed/QuaternaryFEDInstruction.html
new file mode 100644
index 0000000..78a829d
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/fed/QuaternaryFEDInstruction.html
@@ -0,0 +1,333 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>QuaternaryFEDInstruction (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="QuaternaryFEDInstruction (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":9};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/QuaternaryFEDInstruction.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/QuantileSortFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryWCeMMFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/instructions/fed/QuaternaryFEDInstruction.html" target="_top">Frames</a></li>
+<li><a href="QuaternaryFEDInstruction.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.instructions.fed.FEDInstruction">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#fields.inherited.from.class.org.apache.sysds.runtime.instructions.fed.ComputationFEDInstruction">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.sysds.runtime.instructions.fed</div>
+<h2 title="Class QuaternaryFEDInstruction" class="title">Class QuaternaryFEDInstruction</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">org.apache.sysds.runtime.instructions.Instruction</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">org.apache.sysds.runtime.instructions.fed.FEDInstruction</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">org.apache.sysds.runtime.instructions.fed.ComputationFEDInstruction</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.sysds.runtime.instructions.fed.QuaternaryFEDInstruction</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a></dd>
+</dl>
+<dl>
+<dt>Direct Known Subclasses:</dt>
+<dd><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryWCeMMFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuaternaryWCeMMFEDInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryWDivMMFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuaternaryWDivMMFEDInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryWSigmoidFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuaternaryWSigmoidFEDInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryWSLossFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuaternaryWSLossFEDInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryWUMMFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuaternaryWUMMFEDInstruction</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public abstract class <span class="typeNameLabel">QuaternaryFEDInstruction</span>
+extends <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">ComputationFEDInstruction</a></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!--   -->
+</a>
+<h3>Nested Class Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.sysds.runtime.instructions.fed.FEDInstruction">
+<!--   -->
+</a>
+<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.sysds.runtime.instructions.fed.<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">FEDInstruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.FEDType.html" title="enum in org.apache.sysds.runtime.instructions.fed">FEDInstruction.FEDType</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
+<!--   -->
+</a>
+<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.IType.html" title="enum in org.apache.sysds.runtime.instructions">Instruction.IType</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!--   -->
+</a>
+<h3>Field Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.org.apache.sysds.runtime.instructions.fed.ComputationFEDInstruction">
+<!--   -->
+</a>
+<h3>Fields inherited from class&nbsp;org.apache.sysds.runtime.instructions.fed.<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">ComputationFEDInstruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html#input1">input1</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html#input2">input2</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html#input3">input3</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html#output">output</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
+<!--   -->
+</a>
+<h3>Fields inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#DATATYPE_PREFIX">DATATYPE_PREFIX</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#FEDERATED_INST_PREFIX">FEDERATED_INST_PREFIX</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#GPU_INST_PREFIX">GPU_INST_PREFIX</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#INSTRUCTION_DELIM">INSTRUCTION_DELIM</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#LITERAL_PREFIX">LITERAL_PREFIX</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#OPERAND_DELIM">OPERAND_DELIM</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#SP_INST_PREFIX">SP_INST_PREFIX</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#VALUETYPE_PREFIX">VALUETYPE_PREFIX</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuaternaryFEDInstruction</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryFEDInstruction.html#parseInstruction-java.lang.String-">parseInstruction</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.fed.ComputationFEDInstruction">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.fed.<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">ComputationFEDInstruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.fed.FEDInstruction">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.fed.<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">FEDInstruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html#getFEDInstructionType--">getFEDInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html#getTID--">getTID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html#setTID-long-">setTID</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#requiresLabelUpdate--">requiresLabelUpdate</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.lineage.LineageTraceable">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.sysds.runtime.lineage.<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#getLineageItems-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItems</a>, <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#hasSingleLineage--">hasSingleLineage</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="parseInstruction-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>parseInstruction</h4>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuaternaryFEDInstruction</a>&nbsp;parseInstruction(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/QuaternaryFEDInstruction.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/QuantileSortFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryWCeMMFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/instructions/fed/QuaternaryFEDInstruction.html" target="_top">Frames</a></li>
+<li><a href="QuaternaryFEDInstruction.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.instructions.fed.FEDInstruction">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#fields.inherited.from.class.org.apache.sysds.runtime.instructions.fed.ComputationFEDInstruction">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/fed/QuaternaryWCeMMFEDInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/fed/QuaternaryWCeMMFEDInstruction.html
new file mode 100644
index 0000000..3451e3e
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/fed/QuaternaryWCeMMFEDInstruction.html
@@ -0,0 +1,351 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>QuaternaryWCeMMFEDInstruction (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="QuaternaryWCeMMFEDInstruction (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/QuaternaryWCeMMFEDInstruction.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryWDivMMFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/instructions/fed/QuaternaryWCeMMFEDInstruction.html" target="_top">Frames</a></li>
+<li><a href="QuaternaryWCeMMFEDInstruction.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.instructions.fed.FEDInstruction">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#fields.inherited.from.class.org.apache.sysds.runtime.instructions.fed.ComputationFEDInstruction">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.sysds.runtime.instructions.fed</div>
+<h2 title="Class QuaternaryWCeMMFEDInstruction" class="title">Class QuaternaryWCeMMFEDInstruction</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">org.apache.sysds.runtime.instructions.Instruction</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">org.apache.sysds.runtime.instructions.fed.FEDInstruction</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">org.apache.sysds.runtime.instructions.fed.ComputationFEDInstruction</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">org.apache.sysds.runtime.instructions.fed.QuaternaryFEDInstruction</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.sysds.runtime.instructions.fed.QuaternaryWCeMMFEDInstruction</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">QuaternaryWCeMMFEDInstruction</span>
+extends <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuaternaryFEDInstruction</a></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!--   -->
+</a>
+<h3>Nested Class Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.sysds.runtime.instructions.fed.FEDInstruction">
+<!--   -->
+</a>
+<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.sysds.runtime.instructions.fed.<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">FEDInstruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.FEDType.html" title="enum in org.apache.sysds.runtime.instructions.fed">FEDInstruction.FEDType</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
+<!--   -->
+</a>
+<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.IType.html" title="enum in org.apache.sysds.runtime.instructions">Instruction.IType</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!--   -->
+</a>
+<h3>Field Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.org.apache.sysds.runtime.instructions.fed.ComputationFEDInstruction">
+<!--   -->
+</a>
+<h3>Fields inherited from class&nbsp;org.apache.sysds.runtime.instructions.fed.<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">ComputationFEDInstruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html#input1">input1</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html#input2">input2</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html#input3">input3</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html#output">output</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
+<!--   -->
+</a>
+<h3>Fields inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#DATATYPE_PREFIX">DATATYPE_PREFIX</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#FEDERATED_INST_PREFIX">FEDERATED_INST_PREFIX</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#GPU_INST_PREFIX">GPU_INST_PREFIX</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#INSTRUCTION_DELIM">INSTRUCTION_DELIM</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#LITERAL_PREFIX">LITERAL_PREFIX</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#OPERAND_DELIM">OPERAND_DELIM</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#SP_INST_PREFIX">SP_INST_PREFIX</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#VALUETYPE_PREFIX">VALUETYPE_PREFIX</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryWCeMMFEDInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>
+<div class="block">This method should be used to execute the instruction.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.fed.QuaternaryFEDInstruction">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.fed.<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuaternaryFEDInstruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryFEDInstruction.html#parseInstruction-java.lang.String-">parseInstruction</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.fed.ComputationFEDInstruction">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.fed.<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">ComputationFEDInstruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.fed.FEDInstruction">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.fed.<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">FEDInstruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html#getFEDInstructionType--">getFEDInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html#getTID--">getTID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html#setTID-long-">setTID</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#requiresLabelUpdate--">requiresLabelUpdate</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.lineage.LineageTraceable">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.sysds.runtime.lineage.<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#getLineageItems-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItems</a>, <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#hasSingleLineage--">hasSingleLineage</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>processInstruction</h4>
+<pre>public&nbsp;void&nbsp;processInstruction(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">Instruction</a></code></span></div>
+<div class="block">This method should be used to execute the instruction.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>ec</code> - execution context</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/QuaternaryWCeMMFEDInstruction.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryWDivMMFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/instructions/fed/QuaternaryWCeMMFEDInstruction.html" target="_top">Frames</a></li>
+<li><a href="QuaternaryWCeMMFEDInstruction.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.instructions.fed.FEDInstruction">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#fields.inherited.from.class.org.apache.sysds.runtime.instructions.fed.ComputationFEDInstruction">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/fed/QuaternaryWDivMMFEDInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/fed/QuaternaryWDivMMFEDInstruction.html
new file mode 100644
index 0000000..4b30c75
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/fed/QuaternaryWDivMMFEDInstruction.html
@@ -0,0 +1,351 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>QuaternaryWDivMMFEDInstruction (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="QuaternaryWDivMMFEDInstruction (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/QuaternaryWDivMMFEDInstruction.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryWCeMMFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryWSigmoidFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/instructions/fed/QuaternaryWDivMMFEDInstruction.html" target="_top">Frames</a></li>
+<li><a href="QuaternaryWDivMMFEDInstruction.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.instructions.fed.FEDInstruction">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#fields.inherited.from.class.org.apache.sysds.runtime.instructions.fed.ComputationFEDInstruction">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.sysds.runtime.instructions.fed</div>
+<h2 title="Class QuaternaryWDivMMFEDInstruction" class="title">Class QuaternaryWDivMMFEDInstruction</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">org.apache.sysds.runtime.instructions.Instruction</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">org.apache.sysds.runtime.instructions.fed.FEDInstruction</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">org.apache.sysds.runtime.instructions.fed.ComputationFEDInstruction</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">org.apache.sysds.runtime.instructions.fed.QuaternaryFEDInstruction</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.sysds.runtime.instructions.fed.QuaternaryWDivMMFEDInstruction</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">QuaternaryWDivMMFEDInstruction</span>
+extends <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuaternaryFEDInstruction</a></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!--   -->
+</a>
+<h3>Nested Class Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.sysds.runtime.instructions.fed.FEDInstruction">
+<!--   -->
+</a>
+<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.sysds.runtime.instructions.fed.<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">FEDInstruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.FEDType.html" title="enum in org.apache.sysds.runtime.instructions.fed">FEDInstruction.FEDType</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
+<!--   -->
+</a>
+<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.IType.html" title="enum in org.apache.sysds.runtime.instructions">Instruction.IType</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!--   -->
+</a>
+<h3>Field Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.org.apache.sysds.runtime.instructions.fed.ComputationFEDInstruction">
+<!--   -->
+</a>
+<h3>Fields inherited from class&nbsp;org.apache.sysds.runtime.instructions.fed.<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">ComputationFEDInstruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html#input1">input1</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html#input2">input2</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html#input3">input3</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html#output">output</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
+<!--   -->
+</a>
+<h3>Fields inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#DATATYPE_PREFIX">DATATYPE_PREFIX</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#FEDERATED_INST_PREFIX">FEDERATED_INST_PREFIX</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#GPU_INST_PREFIX">GPU_INST_PREFIX</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#INSTRUCTION_DELIM">INSTRUCTION_DELIM</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#LITERAL_PREFIX">LITERAL_PREFIX</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#OPERAND_DELIM">OPERAND_DELIM</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#SP_INST_PREFIX">SP_INST_PREFIX</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#VALUETYPE_PREFIX">VALUETYPE_PREFIX</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryWDivMMFEDInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>
+<div class="block">This method should be used to execute the instruction.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.fed.QuaternaryFEDInstruction">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.fed.<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuaternaryFEDInstruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryFEDInstruction.html#parseInstruction-java.lang.String-">parseInstruction</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.fed.ComputationFEDInstruction">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.fed.<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">ComputationFEDInstruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.fed.FEDInstruction">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.fed.<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">FEDInstruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html#getFEDInstructionType--">getFEDInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html#getTID--">getTID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html#setTID-long-">setTID</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#requiresLabelUpdate--">requiresLabelUpdate</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.lineage.LineageTraceable">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.sysds.runtime.lineage.<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#getLineageItems-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItems</a>, <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#hasSingleLineage--">hasSingleLineage</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>processInstruction</h4>
+<pre>public&nbsp;void&nbsp;processInstruction(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">Instruction</a></code></span></div>
+<div class="block">This method should be used to execute the instruction.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>ec</code> - execution context</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/QuaternaryWDivMMFEDInstruction.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryWCeMMFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryWSigmoidFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/instructions/fed/QuaternaryWDivMMFEDInstruction.html" target="_top">Frames</a></li>
+<li><a href="QuaternaryWDivMMFEDInstruction.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.instructions.fed.FEDInstruction">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#fields.inherited.from.class.org.apache.sysds.runtime.instructions.fed.ComputationFEDInstruction">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/fed/QuaternaryWSLossFEDInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/fed/QuaternaryWSLossFEDInstruction.html
new file mode 100644
index 0000000..615aea2
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/fed/QuaternaryWSLossFEDInstruction.html
@@ -0,0 +1,351 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>QuaternaryWSLossFEDInstruction (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="QuaternaryWSLossFEDInstruction (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/QuaternaryWSLossFEDInstruction.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryWSigmoidFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryWUMMFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/instructions/fed/QuaternaryWSLossFEDInstruction.html" target="_top">Frames</a></li>
+<li><a href="QuaternaryWSLossFEDInstruction.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.instructions.fed.FEDInstruction">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#fields.inherited.from.class.org.apache.sysds.runtime.instructions.fed.ComputationFEDInstruction">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.sysds.runtime.instructions.fed</div>
+<h2 title="Class QuaternaryWSLossFEDInstruction" class="title">Class QuaternaryWSLossFEDInstruction</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">org.apache.sysds.runtime.instructions.Instruction</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">org.apache.sysds.runtime.instructions.fed.FEDInstruction</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">org.apache.sysds.runtime.instructions.fed.ComputationFEDInstruction</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">org.apache.sysds.runtime.instructions.fed.QuaternaryFEDInstruction</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.sysds.runtime.instructions.fed.QuaternaryWSLossFEDInstruction</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">QuaternaryWSLossFEDInstruction</span>
+extends <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuaternaryFEDInstruction</a></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!--   -->
+</a>
+<h3>Nested Class Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.sysds.runtime.instructions.fed.FEDInstruction">
+<!--   -->
+</a>
+<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.sysds.runtime.instructions.fed.<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">FEDInstruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.FEDType.html" title="enum in org.apache.sysds.runtime.instructions.fed">FEDInstruction.FEDType</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
+<!--   -->
+</a>
+<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.IType.html" title="enum in org.apache.sysds.runtime.instructions">Instruction.IType</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!--   -->
+</a>
+<h3>Field Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.org.apache.sysds.runtime.instructions.fed.ComputationFEDInstruction">
+<!--   -->
+</a>
+<h3>Fields inherited from class&nbsp;org.apache.sysds.runtime.instructions.fed.<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">ComputationFEDInstruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html#input1">input1</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html#input2">input2</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html#input3">input3</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html#output">output</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
+<!--   -->
+</a>
+<h3>Fields inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#DATATYPE_PREFIX">DATATYPE_PREFIX</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#FEDERATED_INST_PREFIX">FEDERATED_INST_PREFIX</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#GPU_INST_PREFIX">GPU_INST_PREFIX</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#INSTRUCTION_DELIM">INSTRUCTION_DELIM</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#LITERAL_PREFIX">LITERAL_PREFIX</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#OPERAND_DELIM">OPERAND_DELIM</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#SP_INST_PREFIX">SP_INST_PREFIX</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#VALUETYPE_PREFIX">VALUETYPE_PREFIX</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryWSLossFEDInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>
+<div class="block">This method should be used to execute the instruction.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.fed.QuaternaryFEDInstruction">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.fed.<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuaternaryFEDInstruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryFEDInstruction.html#parseInstruction-java.lang.String-">parseInstruction</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.fed.ComputationFEDInstruction">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.fed.<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">ComputationFEDInstruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.fed.FEDInstruction">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.fed.<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">FEDInstruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html#getFEDInstructionType--">getFEDInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html#getTID--">getTID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html#setTID-long-">setTID</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#requiresLabelUpdate--">requiresLabelUpdate</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.lineage.LineageTraceable">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.sysds.runtime.lineage.<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#getLineageItems-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItems</a>, <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#hasSingleLineage--">hasSingleLineage</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>processInstruction</h4>
+<pre>public&nbsp;void&nbsp;processInstruction(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">Instruction</a></code></span></div>
+<div class="block">This method should be used to execute the instruction.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>ec</code> - execution context</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/QuaternaryWSLossFEDInstruction.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryWSigmoidFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryWUMMFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/instructions/fed/QuaternaryWSLossFEDInstruction.html" target="_top">Frames</a></li>
+<li><a href="QuaternaryWSLossFEDInstruction.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.instructions.fed.FEDInstruction">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#fields.inherited.from.class.org.apache.sysds.runtime.instructions.fed.ComputationFEDInstruction">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/fed/QuaternaryWSigmoidFEDInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/fed/QuaternaryWSigmoidFEDInstruction.html
new file mode 100644
index 0000000..f08a705
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/fed/QuaternaryWSigmoidFEDInstruction.html
@@ -0,0 +1,351 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>QuaternaryWSigmoidFEDInstruction (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="QuaternaryWSigmoidFEDInstruction (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/QuaternaryWSigmoidFEDInstruction.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryWDivMMFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryWSLossFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/instructions/fed/QuaternaryWSigmoidFEDInstruction.html" target="_top">Frames</a></li>
+<li><a href="QuaternaryWSigmoidFEDInstruction.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.instructions.fed.FEDInstruction">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#fields.inherited.from.class.org.apache.sysds.runtime.instructions.fed.ComputationFEDInstruction">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.sysds.runtime.instructions.fed</div>
+<h2 title="Class QuaternaryWSigmoidFEDInstruction" class="title">Class QuaternaryWSigmoidFEDInstruction</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">org.apache.sysds.runtime.instructions.Instruction</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">org.apache.sysds.runtime.instructions.fed.FEDInstruction</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">org.apache.sysds.runtime.instructions.fed.ComputationFEDInstruction</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">org.apache.sysds.runtime.instructions.fed.QuaternaryFEDInstruction</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.sysds.runtime.instructions.fed.QuaternaryWSigmoidFEDInstruction</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">QuaternaryWSigmoidFEDInstruction</span>
+extends <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuaternaryFEDInstruction</a></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!--   -->
+</a>
+<h3>Nested Class Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.sysds.runtime.instructions.fed.FEDInstruction">
+<!--   -->
+</a>
+<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.sysds.runtime.instructions.fed.<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">FEDInstruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.FEDType.html" title="enum in org.apache.sysds.runtime.instructions.fed">FEDInstruction.FEDType</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
+<!--   -->
+</a>
+<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.IType.html" title="enum in org.apache.sysds.runtime.instructions">Instruction.IType</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!--   -->
+</a>
+<h3>Field Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.org.apache.sysds.runtime.instructions.fed.ComputationFEDInstruction">
+<!--   -->
+</a>
+<h3>Fields inherited from class&nbsp;org.apache.sysds.runtime.instructions.fed.<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">ComputationFEDInstruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html#input1">input1</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html#input2">input2</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html#input3">input3</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html#output">output</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
+<!--   -->
+</a>
+<h3>Fields inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#DATATYPE_PREFIX">DATATYPE_PREFIX</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#FEDERATED_INST_PREFIX">FEDERATED_INST_PREFIX</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#GPU_INST_PREFIX">GPU_INST_PREFIX</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#INSTRUCTION_DELIM">INSTRUCTION_DELIM</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#LITERAL_PREFIX">LITERAL_PREFIX</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#OPERAND_DELIM">OPERAND_DELIM</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#SP_INST_PREFIX">SP_INST_PREFIX</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#VALUETYPE_PREFIX">VALUETYPE_PREFIX</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryWSigmoidFEDInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>
+<div class="block">This method should be used to execute the instruction.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.fed.QuaternaryFEDInstruction">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.fed.<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuaternaryFEDInstruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryFEDInstruction.html#parseInstruction-java.lang.String-">parseInstruction</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.fed.ComputationFEDInstruction">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.fed.<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">ComputationFEDInstruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.fed.FEDInstruction">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.fed.<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">FEDInstruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html#getFEDInstructionType--">getFEDInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html#getTID--">getTID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html#setTID-long-">setTID</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#requiresLabelUpdate--">requiresLabelUpdate</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.lineage.LineageTraceable">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.sysds.runtime.lineage.<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#getLineageItems-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItems</a>, <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#hasSingleLineage--">hasSingleLineage</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>processInstruction</h4>
+<pre>public&nbsp;void&nbsp;processInstruction(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">Instruction</a></code></span></div>
+<div class="block">This method should be used to execute the instruction.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>ec</code> - execution context</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/QuaternaryWSigmoidFEDInstruction.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryWDivMMFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryWSLossFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/instructions/fed/QuaternaryWSigmoidFEDInstruction.html" target="_top">Frames</a></li>
+<li><a href="QuaternaryWSigmoidFEDInstruction.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.instructions.fed.FEDInstruction">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#fields.inherited.from.class.org.apache.sysds.runtime.instructions.fed.ComputationFEDInstruction">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/fed/QuaternaryWUMMFEDInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/fed/QuaternaryWUMMFEDInstruction.html
new file mode 100644
index 0000000..91127b7
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/fed/QuaternaryWUMMFEDInstruction.html
@@ -0,0 +1,351 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>QuaternaryWUMMFEDInstruction (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="QuaternaryWUMMFEDInstruction (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/QuaternaryWUMMFEDInstruction.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryWSLossFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/instructions/fed/QuaternaryWUMMFEDInstruction.html" target="_top">Frames</a></li>
+<li><a href="QuaternaryWUMMFEDInstruction.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.instructions.fed.FEDInstruction">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#fields.inherited.from.class.org.apache.sysds.runtime.instructions.fed.ComputationFEDInstruction">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.sysds.runtime.instructions.fed</div>
+<h2 title="Class QuaternaryWUMMFEDInstruction" class="title">Class QuaternaryWUMMFEDInstruction</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">org.apache.sysds.runtime.instructions.Instruction</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">org.apache.sysds.runtime.instructions.fed.FEDInstruction</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">org.apache.sysds.runtime.instructions.fed.ComputationFEDInstruction</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">org.apache.sysds.runtime.instructions.fed.QuaternaryFEDInstruction</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.sysds.runtime.instructions.fed.QuaternaryWUMMFEDInstruction</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">QuaternaryWUMMFEDInstruction</span>
+extends <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuaternaryFEDInstruction</a></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!--   -->
+</a>
+<h3>Nested Class Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.sysds.runtime.instructions.fed.FEDInstruction">
+<!--   -->
+</a>
+<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.sysds.runtime.instructions.fed.<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">FEDInstruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.FEDType.html" title="enum in org.apache.sysds.runtime.instructions.fed">FEDInstruction.FEDType</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
+<!--   -->
+</a>
+<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.IType.html" title="enum in org.apache.sysds.runtime.instructions">Instruction.IType</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!--   -->
+</a>
+<h3>Field Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.org.apache.sysds.runtime.instructions.fed.ComputationFEDInstruction">
+<!--   -->
+</a>
+<h3>Fields inherited from class&nbsp;org.apache.sysds.runtime.instructions.fed.<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">ComputationFEDInstruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html#input1">input1</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html#input2">input2</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html#input3">input3</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html#output">output</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
+<!--   -->
+</a>
+<h3>Fields inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#DATATYPE_PREFIX">DATATYPE_PREFIX</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#FEDERATED_INST_PREFIX">FEDERATED_INST_PREFIX</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#GPU_INST_PREFIX">GPU_INST_PREFIX</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#INSTRUCTION_DELIM">INSTRUCTION_DELIM</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#LITERAL_PREFIX">LITERAL_PREFIX</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#OPERAND_DELIM">OPERAND_DELIM</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#SP_INST_PREFIX">SP_INST_PREFIX</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#VALUETYPE_PREFIX">VALUETYPE_PREFIX</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryWUMMFEDInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>
+<div class="block">This method should be used to execute the instruction.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.fed.QuaternaryFEDInstruction">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.fed.<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuaternaryFEDInstruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryFEDInstruction.html#parseInstruction-java.lang.String-">parseInstruction</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.fed.ComputationFEDInstruction">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.fed.<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">ComputationFEDInstruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.fed.FEDInstruction">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.fed.<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">FEDInstruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html#getFEDInstructionType--">getFEDInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html#getTID--">getTID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html#setTID-long-">setTID</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#requiresLabelUpdate--">requiresLabelUpdate</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.lineage.LineageTraceable">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.sysds.runtime.lineage.<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#getLineageItems-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItems</a>, <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#hasSingleLineage--">hasSingleLineage</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>processInstruction</h4>
+<pre>public&nbsp;void&nbsp;processInstruction(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">Instruction</a></code></span></div>
+<div class="block">This method should be used to execute the instruction.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>ec</code> - execution context</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/QuaternaryWUMMFEDInstruction.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryWSLossFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/instructions/fed/QuaternaryWUMMFEDInstruction.html" target="_top">Frames</a></li>
+<li><a href="QuaternaryWUMMFEDInstruction.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.instructions.fed.FEDInstruction">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#fields.inherited.from.class.org.apache.sysds.runtime.instructions.fed.ComputationFEDInstruction">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.DiagMatrix.html b/docs/api/java/org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.DiagMatrix.html
new file mode 100644
index 0000000..e6d6c85
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.DiagMatrix.html
@@ -0,0 +1,331 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>ReorgFEDInstruction.DiagMatrix (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="ReorgFEDInstruction.DiagMatrix (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ReorgFEDInstruction.DiagMatrix.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.Rdiag.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.DiagMatrix.html" target="_top">Frames</a></li>
+<li><a href="ReorgFEDInstruction.DiagMatrix.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.sysds.runtime.instructions.fed</div>
+<h2 title="Class ReorgFEDInstruction.DiagMatrix" class="title">Class ReorgFEDInstruction.DiagMatrix</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedUDF.html" title="class in org.apache.sysds.runtime.controlprogram.federated">org.apache.sysds.runtime.controlprogram.federated.FederatedUDF</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.sysds.runtime.instructions.fed.ReorgFEDInstruction.DiagMatrix</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a></dd>
+</dl>
+<dl>
+<dt>Enclosing class:</dt>
+<dd><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">ReorgFEDInstruction</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public static class <span class="typeNameLabel">ReorgFEDInstruction.DiagMatrix</span>
+extends <a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedUDF.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedUDF</a></pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../../serialized-form.html#org.apache.sysds.runtime.instructions.fed.ReorgFEDInstruction.DiagMatrix">Serialized Form</a></dd>
+</dl>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedResponse</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.DiagMatrix.html#execute-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.runtime.instructions.cp.Data...-">execute</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
+       <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/Data.html" title="class in org.apache.sysds.runtime.instructions.cp">Data</a>...&nbsp;data)</code>
+<div class="block">Execute the user-defined function on a set of data objects
+ (e.g., matrix objects, frame objects, or scalars), which are
+ looked up by specified input IDs and passed in the same order.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>org.apache.commons.lang3.tuple.Pair&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.DiagMatrix.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>
+<div class="block">Obtain lineage trace of an instruction with a single output.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.DiagMatrix.html#getOutputIds--">getOutputIds</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.controlprogram.federated.FederatedUDF">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.controlprogram.federated.<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedUDF.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedUDF</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedUDF.html#getInputIDs--">getInputIDs</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.lineage.LineageTraceable">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.sysds.runtime.lineage.<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#getLineageItems-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItems</a>, <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#hasSingleLineage--">hasSingleLineage</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="execute-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.runtime.instructions.cp.Data...-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>execute</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedResponse</a>&nbsp;execute(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
+                                 <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/Data.html" title="class in org.apache.sysds.runtime.instructions.cp">Data</a>...&nbsp;data)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedUDF.html#execute-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.runtime.instructions.cp.Data...-">FederatedUDF</a></code></span></div>
+<div class="block">Execute the user-defined function on a set of data objects
+ (e.g., matrix objects, frame objects, or scalars), which are
+ looked up by specified input IDs and passed in the same order.
+ 
+ Output data objects (potentially many) can be directly added
+ to the passed execution context and its variable map.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedUDF.html#execute-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.runtime.instructions.cp.Data...-">execute</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedUDF.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedUDF</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>ec</code> - execution context</dd>
+<dd><code>data</code> - one or many data objects</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>federated response, with none or many output objects</dd>
+</dl>
+</li>
+</ul>
+<a name="getOutputIds--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getOutputIds</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&nbsp;getOutputIds()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedUDF.html#getOutputIds--">getOutputIds</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedUDF.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedUDF</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getLineageItem</h4>
+<pre>public&nbsp;org.apache.commons.lang3.tuple.Pair&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&gt;&nbsp;getLineageItem(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">LineageTraceable</a></code></span></div>
+<div class="block">Obtain lineage trace of an instruction with a single output.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>ec</code> - execution context w/ live variables</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>pair of (output variable name, output lineage item)</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ReorgFEDInstruction.DiagMatrix.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.Rdiag.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.DiagMatrix.html" target="_top">Frames</a></li>
+<li><a href="ReorgFEDInstruction.DiagMatrix.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.Rdiag.html b/docs/api/java/org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.Rdiag.html
new file mode 100644
index 0000000..ed13a6c
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.Rdiag.html
@@ -0,0 +1,331 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>ReorgFEDInstruction.Rdiag (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="ReorgFEDInstruction.Rdiag (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ReorgFEDInstruction.Rdiag.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.DiagMatrix.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ReshapeFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.Rdiag.html" target="_top">Frames</a></li>
+<li><a href="ReorgFEDInstruction.Rdiag.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.sysds.runtime.instructions.fed</div>
+<h2 title="Class ReorgFEDInstruction.Rdiag" class="title">Class ReorgFEDInstruction.Rdiag</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedUDF.html" title="class in org.apache.sysds.runtime.controlprogram.federated">org.apache.sysds.runtime.controlprogram.federated.FederatedUDF</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.sysds.runtime.instructions.fed.ReorgFEDInstruction.Rdiag</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a></dd>
+</dl>
+<dl>
+<dt>Enclosing class:</dt>
+<dd><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">ReorgFEDInstruction</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public static class <span class="typeNameLabel">ReorgFEDInstruction.Rdiag</span>
+extends <a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedUDF.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedUDF</a></pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../../serialized-form.html#org.apache.sysds.runtime.instructions.fed.ReorgFEDInstruction.Rdiag">Serialized Form</a></dd>
+</dl>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedResponse</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.Rdiag.html#execute-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.runtime.instructions.cp.Data...-">execute</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
+       <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/Data.html" title="class in org.apache.sysds.runtime.instructions.cp">Data</a>...&nbsp;data)</code>
+<div class="block">Execute the user-defined function on a set of data objects
+ (e.g., matrix objects, frame objects, or scalars), which are
+ looked up by specified input IDs and passed in the same order.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>org.apache.commons.lang3.tuple.Pair&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.Rdiag.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>
+<div class="block">Obtain lineage trace of an instruction with a single output.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.Rdiag.html#getOutputIds--">getOutputIds</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.controlprogram.federated.FederatedUDF">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.controlprogram.federated.<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedUDF.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedUDF</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedUDF.html#getInputIDs--">getInputIDs</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.lineage.LineageTraceable">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.sysds.runtime.lineage.<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#getLineageItems-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItems</a>, <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#hasSingleLineage--">hasSingleLineage</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="execute-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.runtime.instructions.cp.Data...-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>execute</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedResponse</a>&nbsp;execute(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
+                                 <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/Data.html" title="class in org.apache.sysds.runtime.instructions.cp">Data</a>...&nbsp;data)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedUDF.html#execute-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.runtime.instructions.cp.Data...-">FederatedUDF</a></code></span></div>
+<div class="block">Execute the user-defined function on a set of data objects
+ (e.g., matrix objects, frame objects, or scalars), which are
+ looked up by specified input IDs and passed in the same order.
+ 
+ Output data objects (potentially many) can be directly added
+ to the passed execution context and its variable map.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedUDF.html#execute-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.runtime.instructions.cp.Data...-">execute</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedUDF.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedUDF</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>ec</code> - execution context</dd>
+<dd><code>data</code> - one or many data objects</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>federated response, with none or many output objects</dd>
+</dl>
+</li>
+</ul>
+<a name="getOutputIds--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getOutputIds</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&nbsp;getOutputIds()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedUDF.html#getOutputIds--">getOutputIds</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedUDF.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedUDF</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getLineageItem</h4>
+<pre>public&nbsp;org.apache.commons.lang3.tuple.Pair&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&gt;&nbsp;getLineageItem(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">LineageTraceable</a></code></span></div>
+<div class="block">Obtain lineage trace of an instruction with a single output.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>ec</code> - execution context w/ live variables</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>pair of (output variable name, output lineage item)</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ReorgFEDInstruction.Rdiag.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.DiagMatrix.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ReshapeFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.Rdiag.html" target="_top">Frames</a></li>
+<li><a href="ReorgFEDInstruction.Rdiag.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.html
index 5e6a82c..e2dc92d 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.html
@@ -49,8 +49,8 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ParameterizedBuiltinFEDInstruction.DecodeMatrix.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/TsmmFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryWUMMFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.DiagMatrix.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.html" target="_top">Frames</a></li>
@@ -74,7 +74,7 @@
 <div>
 <ul class="subNavList">
 <li>Summary:&nbsp;</li>
-<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.instructions.fed.FEDInstruction">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
 <li><a href="#fields.inherited.from.class.org.apache.sysds.runtime.instructions.fed.ComputationFEDInstruction">Field</a>&nbsp;|&nbsp;</li>
 <li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
 <li><a href="#method.summary">Method</a></li>
@@ -147,6 +147,21 @@
 <!--   -->
 </a>
 <h3>Nested Class Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
+<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.DiagMatrix.html" title="class in org.apache.sysds.runtime.instructions.fed">ReorgFEDInstruction.DiagMatrix</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.Rdiag.html" title="class in org.apache.sysds.runtime.instructions.fed">ReorgFEDInstruction.Rdiag</a></span></code>&nbsp;</td>
+</tr>
+</table>
 <ul class="blockList">
 <li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.sysds.runtime.instructions.fed.FEDInstruction">
 <!--   -->
@@ -197,7 +212,8 @@
 <th class="colOne" scope="col">Constructor and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.html#ReorgFEDInstruction-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-java.lang.String-java.lang.String-">ReorgFEDInstruction</a></span>(<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;in1,
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.html#ReorgFEDInstruction-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-java.lang.String-java.lang.String-">ReorgFEDInstruction</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
+                   <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;in1,
                    <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;out,
                    <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;opcode,
                    <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;istr)</code>&nbsp;</td>
@@ -277,13 +293,14 @@
 <!--   -->
 </a>
 <h3>Constructor Detail</h3>
-<a name="ReorgFEDInstruction-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-java.lang.String-java.lang.String-">
+<a name="ReorgFEDInstruction-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-java.lang.String-java.lang.String-">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>ReorgFEDInstruction</h4>
-<pre>public&nbsp;ReorgFEDInstruction(<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;in1,
+<pre>public&nbsp;ReorgFEDInstruction(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
+                           <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;in1,
                            <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;out,
                            <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;opcode,
                            <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;istr)</pre>
@@ -351,8 +368,8 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ParameterizedBuiltinFEDInstruction.DecodeMatrix.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/TsmmFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryWUMMFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.DiagMatrix.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.html" target="_top">Frames</a></li>
@@ -376,7 +393,7 @@
 <div>
 <ul class="subNavList">
 <li>Summary:&nbsp;</li>
-<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.instructions.fed.FEDInstruction">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
 <li><a href="#fields.inherited.from.class.org.apache.sysds.runtime.instructions.fed.ComputationFEDInstruction">Field</a>&nbsp;|&nbsp;</li>
 <li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
 <li><a href="#method.summary">Method</a></li>
@@ -392,6 +409,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/fed/ReshapeFEDInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/fed/ReshapeFEDInstruction.html
new file mode 100644
index 0000000..65f4bb3
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/fed/ReshapeFEDInstruction.html
@@ -0,0 +1,384 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>ReshapeFEDInstruction (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="ReshapeFEDInstruction (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":9,"i2":10};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ReshapeFEDInstruction.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.Rdiag.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/SpoofFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/instructions/fed/ReshapeFEDInstruction.html" target="_top">Frames</a></li>
+<li><a href="ReshapeFEDInstruction.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.instructions.fed.FEDInstruction">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#fields.inherited.from.class.org.apache.sysds.runtime.instructions.fed.ComputationFEDInstruction">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.sysds.runtime.instructions.fed</div>
+<h2 title="Class ReshapeFEDInstruction" class="title">Class ReshapeFEDInstruction</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">org.apache.sysds.runtime.instructions.Instruction</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">org.apache.sysds.runtime.instructions.fed.FEDInstruction</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">org.apache.sysds.runtime.instructions.fed.ComputationFEDInstruction</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/UnaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">org.apache.sysds.runtime.instructions.fed.UnaryFEDInstruction</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.sysds.runtime.instructions.fed.ReshapeFEDInstruction</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">ReshapeFEDInstruction</span>
+extends <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/UnaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">UnaryFEDInstruction</a></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!--   -->
+</a>
+<h3>Nested Class Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.sysds.runtime.instructions.fed.FEDInstruction">
+<!--   -->
+</a>
+<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.sysds.runtime.instructions.fed.<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">FEDInstruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.FEDType.html" title="enum in org.apache.sysds.runtime.instructions.fed">FEDInstruction.FEDType</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
+<!--   -->
+</a>
+<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.IType.html" title="enum in org.apache.sysds.runtime.instructions">Instruction.IType</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!--   -->
+</a>
+<h3>Field Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.org.apache.sysds.runtime.instructions.fed.ComputationFEDInstruction">
+<!--   -->
+</a>
+<h3>Fields inherited from class&nbsp;org.apache.sysds.runtime.instructions.fed.<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">ComputationFEDInstruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html#input1">input1</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html#input2">input2</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html#input3">input3</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html#output">output</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
+<!--   -->
+</a>
+<h3>Fields inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#DATATYPE_PREFIX">DATATYPE_PREFIX</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#FEDERATED_INST_PREFIX">FEDERATED_INST_PREFIX</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#GPU_INST_PREFIX">GPU_INST_PREFIX</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#INSTRUCTION_DELIM">INSTRUCTION_DELIM</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#LITERAL_PREFIX">LITERAL_PREFIX</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#OPERAND_DELIM">OPERAND_DELIM</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#SP_INST_PREFIX">SP_INST_PREFIX</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#VALUETYPE_PREFIX">VALUETYPE_PREFIX</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>org.apache.commons.lang3.tuple.Pair&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ReshapeFEDInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>
+<div class="block">Obtain lineage trace of an instruction with a single output.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ReshapeFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">ReshapeFEDInstruction</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ReshapeFEDInstruction.html#parseInstruction-java.lang.String-">parseInstruction</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ReshapeFEDInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>
+<div class="block">This method should be used to execute the instruction.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.fed.ComputationFEDInstruction">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.fed.<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">ComputationFEDInstruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.fed.FEDInstruction">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.fed.<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">FEDInstruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html#getFEDInstructionType--">getFEDInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html#getTID--">getTID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html#setTID-long-">setTID</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#requiresLabelUpdate--">requiresLabelUpdate</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.lineage.LineageTraceable">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.sysds.runtime.lineage.<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#getLineageItems-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItems</a>, <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#hasSingleLineage--">hasSingleLineage</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="parseInstruction-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>parseInstruction</h4>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ReshapeFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">ReshapeFEDInstruction</a>&nbsp;parseInstruction(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</pre>
+</li>
+</ul>
+<a name="processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>processInstruction</h4>
+<pre>public&nbsp;void&nbsp;processInstruction(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">Instruction</a></code></span></div>
+<div class="block">This method should be used to execute the instruction.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>ec</code> - execution context</dd>
+</dl>
+</li>
+</ul>
+<a name="getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getLineageItem</h4>
+<pre>public&nbsp;org.apache.commons.lang3.tuple.Pair&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&gt;&nbsp;getLineageItem(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">LineageTraceable</a></code></span></div>
+<div class="block">Obtain lineage trace of an instruction with a single output.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">ComputationFEDInstruction</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>ec</code> - execution context w/ live variables</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>pair of (output variable name, output lineage item)</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ReshapeFEDInstruction.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.Rdiag.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/SpoofFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/instructions/fed/ReshapeFEDInstruction.html" target="_top">Frames</a></li>
+<li><a href="ReshapeFEDInstruction.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.instructions.fed.FEDInstruction">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#fields.inherited.from.class.org.apache.sysds.runtime.instructions.fed.ComputationFEDInstruction">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/fed/SpoofFEDInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/fed/SpoofFEDInstruction.html
new file mode 100644
index 0000000..4ae5417
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/fed/SpoofFEDInstruction.html
@@ -0,0 +1,322 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>SpoofFEDInstruction (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="SpoofFEDInstruction (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":9,"i1":10};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/SpoofFEDInstruction.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ReshapeFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/TernaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/instructions/fed/SpoofFEDInstruction.html" target="_top">Frames</a></li>
+<li><a href="SpoofFEDInstruction.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.instructions.fed.FEDInstruction">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#fields.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.sysds.runtime.instructions.fed</div>
+<h2 title="Class SpoofFEDInstruction" class="title">Class SpoofFEDInstruction</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">org.apache.sysds.runtime.instructions.Instruction</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">org.apache.sysds.runtime.instructions.fed.FEDInstruction</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.sysds.runtime.instructions.fed.SpoofFEDInstruction</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">SpoofFEDInstruction</span>
+extends <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">FEDInstruction</a></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!--   -->
+</a>
+<h3>Nested Class Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.sysds.runtime.instructions.fed.FEDInstruction">
+<!--   -->
+</a>
+<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.sysds.runtime.instructions.fed.<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">FEDInstruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.FEDType.html" title="enum in org.apache.sysds.runtime.instructions.fed">FEDInstruction.FEDType</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
+<!--   -->
+</a>
+<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.IType.html" title="enum in org.apache.sysds.runtime.instructions">Instruction.IType</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!--   -->
+</a>
+<h3>Field Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
+<!--   -->
+</a>
+<h3>Fields inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#DATATYPE_PREFIX">DATATYPE_PREFIX</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#FEDERATED_INST_PREFIX">FEDERATED_INST_PREFIX</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#GPU_INST_PREFIX">GPU_INST_PREFIX</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#INSTRUCTION_DELIM">INSTRUCTION_DELIM</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#LITERAL_PREFIX">LITERAL_PREFIX</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#OPERAND_DELIM">OPERAND_DELIM</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#SP_INST_PREFIX">SP_INST_PREFIX</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#VALUETYPE_PREFIX">VALUETYPE_PREFIX</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/SpoofFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">SpoofFEDInstruction</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/SpoofFEDInstruction.html#parseInstruction-java.lang.String-">parseInstruction</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/SpoofFEDInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>
+<div class="block">This method should be used to execute the instruction.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.fed.FEDInstruction">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.fed.<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">FEDInstruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html#getFEDInstructionType--">getFEDInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html#getTID--">getTID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html#setTID-long-">setTID</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#requiresLabelUpdate--">requiresLabelUpdate</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="parseInstruction-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>parseInstruction</h4>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/SpoofFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">SpoofFEDInstruction</a>&nbsp;parseInstruction(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</pre>
+</li>
+</ul>
+<a name="processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>processInstruction</h4>
+<pre>public&nbsp;void&nbsp;processInstruction(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">Instruction</a></code></span></div>
+<div class="block">This method should be used to execute the instruction.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>ec</code> - execution context</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/SpoofFEDInstruction.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ReshapeFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/TernaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/instructions/fed/SpoofFEDInstruction.html" target="_top">Frames</a></li>
+<li><a href="SpoofFEDInstruction.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.instructions.fed.FEDInstruction">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#fields.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/fed/TernaryFEDInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/fed/TernaryFEDInstruction.html
new file mode 100644
index 0000000..89adfd8
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/fed/TernaryFEDInstruction.html
@@ -0,0 +1,352 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>TernaryFEDInstruction (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="TernaryFEDInstruction (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":9,"i1":10};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/TernaryFEDInstruction.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/SpoofFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/TsmmFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/instructions/fed/TernaryFEDInstruction.html" target="_top">Frames</a></li>
+<li><a href="TernaryFEDInstruction.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.instructions.fed.FEDInstruction">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#fields.inherited.from.class.org.apache.sysds.runtime.instructions.fed.ComputationFEDInstruction">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.sysds.runtime.instructions.fed</div>
+<h2 title="Class TernaryFEDInstruction" class="title">Class TernaryFEDInstruction</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">org.apache.sysds.runtime.instructions.Instruction</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">org.apache.sysds.runtime.instructions.fed.FEDInstruction</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">org.apache.sysds.runtime.instructions.fed.ComputationFEDInstruction</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.sysds.runtime.instructions.fed.TernaryFEDInstruction</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">TernaryFEDInstruction</span>
+extends <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">ComputationFEDInstruction</a></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!--   -->
+</a>
+<h3>Nested Class Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.sysds.runtime.instructions.fed.FEDInstruction">
+<!--   -->
+</a>
+<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.sysds.runtime.instructions.fed.<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">FEDInstruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.FEDType.html" title="enum in org.apache.sysds.runtime.instructions.fed">FEDInstruction.FEDType</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
+<!--   -->
+</a>
+<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.IType.html" title="enum in org.apache.sysds.runtime.instructions">Instruction.IType</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!--   -->
+</a>
+<h3>Field Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.org.apache.sysds.runtime.instructions.fed.ComputationFEDInstruction">
+<!--   -->
+</a>
+<h3>Fields inherited from class&nbsp;org.apache.sysds.runtime.instructions.fed.<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">ComputationFEDInstruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html#input1">input1</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html#input2">input2</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html#input3">input3</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html#output">output</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
+<!--   -->
+</a>
+<h3>Fields inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#DATATYPE_PREFIX">DATATYPE_PREFIX</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#FEDERATED_INST_PREFIX">FEDERATED_INST_PREFIX</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#GPU_INST_PREFIX">GPU_INST_PREFIX</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#INSTRUCTION_DELIM">INSTRUCTION_DELIM</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#LITERAL_PREFIX">LITERAL_PREFIX</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#OPERAND_DELIM">OPERAND_DELIM</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#SP_INST_PREFIX">SP_INST_PREFIX</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#VALUETYPE_PREFIX">VALUETYPE_PREFIX</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/TernaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">TernaryFEDInstruction</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/TernaryFEDInstruction.html#parseInstruction-java.lang.String-">parseInstruction</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/TernaryFEDInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>
+<div class="block">This method should be used to execute the instruction.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.fed.ComputationFEDInstruction">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.fed.<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">ComputationFEDInstruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.fed.FEDInstruction">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.fed.<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">FEDInstruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html#getFEDInstructionType--">getFEDInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html#getTID--">getTID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html#setTID-long-">setTID</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#requiresLabelUpdate--">requiresLabelUpdate</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.lineage.LineageTraceable">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.sysds.runtime.lineage.<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#getLineageItems-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItems</a>, <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#hasSingleLineage--">hasSingleLineage</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="parseInstruction-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>parseInstruction</h4>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/TernaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">TernaryFEDInstruction</a>&nbsp;parseInstruction(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</pre>
+</li>
+</ul>
+<a name="processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>processInstruction</h4>
+<pre>public&nbsp;void&nbsp;processInstruction(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">Instruction</a></code></span></div>
+<div class="block">This method should be used to execute the instruction.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>ec</code> - execution context</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/TernaryFEDInstruction.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/SpoofFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/TsmmFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/instructions/fed/TernaryFEDInstruction.html" target="_top">Frames</a></li>
+<li><a href="TernaryFEDInstruction.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.instructions.fed.FEDInstruction">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#fields.inherited.from.class.org.apache.sysds.runtime.instructions.fed.ComputationFEDInstruction">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/fed/TsmmFEDInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/fed/TsmmFEDInstruction.html
index e8addb0..74b34aa 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/fed/TsmmFEDInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/fed/TsmmFEDInstruction.html
@@ -49,7 +49,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/TernaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/UnaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -355,7 +355,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/TernaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/UnaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -396,6 +396,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/fed/UnaryFEDInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/fed/UnaryFEDInstruction.html
index a3338c8..b0ca6c8 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/fed/UnaryFEDInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/fed/UnaryFEDInstruction.html
@@ -44,7 +44,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/TsmmFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li>Next&nbsp;Class</li>
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/UnaryMatrixFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/sysds/runtime/instructions/fed/UnaryFEDInstruction.html" target="_top">Frames</a></li>
@@ -122,7 +122,7 @@
 </dl>
 <dl>
 <dt>Direct Known Subclasses:</dt>
-<dd><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/AggregateUnaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">AggregateUnaryFEDInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/MMChainFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">MMChainFEDInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">ReorgFEDInstruction</a></dd>
+<dd><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/AggregateUnaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">AggregateUnaryFEDInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/IndexingFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">IndexingFEDInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/MMChainFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">MMChainFEDInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/QuantileSortFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuantileSortFEDInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">ReorgFEDInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ReshapeFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">ReshapeFEDInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/UnaryMatrixFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">UnaryMatrixFEDInstruction</a></dd>
 </dl>
 <hr>
 <br>
@@ -248,7 +248,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/TsmmFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li>Next&nbsp;Class</li>
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/UnaryMatrixFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/sysds/runtime/instructions/fed/UnaryFEDInstruction.html" target="_top">Frames</a></li>
@@ -288,6 +288,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/fed/UnaryMatrixFEDInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/fed/UnaryMatrixFEDInstruction.html
new file mode 100644
index 0000000..066c19f
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/fed/UnaryMatrixFEDInstruction.html
@@ -0,0 +1,385 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>UnaryMatrixFEDInstruction (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="UnaryMatrixFEDInstruction (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":9,"i1":9,"i2":10,"i3":10};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/UnaryMatrixFEDInstruction.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/UnaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/VariableFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/instructions/fed/UnaryMatrixFEDInstruction.html" target="_top">Frames</a></li>
+<li><a href="UnaryMatrixFEDInstruction.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.instructions.fed.FEDInstruction">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#fields.inherited.from.class.org.apache.sysds.runtime.instructions.fed.ComputationFEDInstruction">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.sysds.runtime.instructions.fed</div>
+<h2 title="Class UnaryMatrixFEDInstruction" class="title">Class UnaryMatrixFEDInstruction</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">org.apache.sysds.runtime.instructions.Instruction</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">org.apache.sysds.runtime.instructions.fed.FEDInstruction</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">org.apache.sysds.runtime.instructions.fed.ComputationFEDInstruction</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/UnaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">org.apache.sysds.runtime.instructions.fed.UnaryFEDInstruction</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.sysds.runtime.instructions.fed.UnaryMatrixFEDInstruction</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">UnaryMatrixFEDInstruction</span>
+extends <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/UnaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">UnaryFEDInstruction</a></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!--   -->
+</a>
+<h3>Nested Class Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.sysds.runtime.instructions.fed.FEDInstruction">
+<!--   -->
+</a>
+<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.sysds.runtime.instructions.fed.<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">FEDInstruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.FEDType.html" title="enum in org.apache.sysds.runtime.instructions.fed">FEDInstruction.FEDType</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
+<!--   -->
+</a>
+<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.IType.html" title="enum in org.apache.sysds.runtime.instructions">Instruction.IType</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!--   -->
+</a>
+<h3>Field Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.org.apache.sysds.runtime.instructions.fed.ComputationFEDInstruction">
+<!--   -->
+</a>
+<h3>Fields inherited from class&nbsp;org.apache.sysds.runtime.instructions.fed.<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">ComputationFEDInstruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html#input1">input1</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html#input2">input2</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html#input3">input3</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html#output">output</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
+<!--   -->
+</a>
+<h3>Fields inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#DATATYPE_PREFIX">DATATYPE_PREFIX</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#FEDERATED_INST_PREFIX">FEDERATED_INST_PREFIX</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#GPU_INST_PREFIX">GPU_INST_PREFIX</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#INSTRUCTION_DELIM">INSTRUCTION_DELIM</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#LITERAL_PREFIX">LITERAL_PREFIX</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#OPERAND_DELIM">OPERAND_DELIM</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#SP_INST_PREFIX">SP_INST_PREFIX</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#VALUETYPE_PREFIX">VALUETYPE_PREFIX</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>static boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/UnaryMatrixFEDInstruction.html#isValidOpcode-java.lang.String-">isValidOpcode</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;opcode)</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/UnaryMatrixFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">UnaryMatrixFEDInstruction</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/UnaryMatrixFEDInstruction.html#parseInstruction-java.lang.String-">parseInstruction</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/UnaryMatrixFEDInstruction.html#processCumulativeInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-">processCumulativeInstruction</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
+                            <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;mo1)</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/UnaryMatrixFEDInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>
+<div class="block">This method should be used to execute the instruction.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.fed.ComputationFEDInstruction">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.fed.<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">ComputationFEDInstruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.fed.FEDInstruction">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.fed.<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">FEDInstruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html#getFEDInstructionType--">getFEDInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html#getTID--">getTID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html#setTID-long-">setTID</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#requiresLabelUpdate--">requiresLabelUpdate</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.lineage.LineageTraceable">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.sysds.runtime.lineage.<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#getLineageItems-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItems</a>, <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#hasSingleLineage--">hasSingleLineage</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="isValidOpcode-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isValidOpcode</h4>
+<pre>public static&nbsp;boolean&nbsp;isValidOpcode(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;opcode)</pre>
+</li>
+</ul>
+<a name="parseInstruction-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>parseInstruction</h4>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/UnaryMatrixFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">UnaryMatrixFEDInstruction</a>&nbsp;parseInstruction(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</pre>
+</li>
+</ul>
+<a name="processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>processInstruction</h4>
+<pre>public&nbsp;void&nbsp;processInstruction(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">Instruction</a></code></span></div>
+<div class="block">This method should be used to execute the instruction.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>ec</code> - execution context</dd>
+</dl>
+</li>
+</ul>
+<a name="processCumulativeInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>processCumulativeInstruction</h4>
+<pre>public&nbsp;void&nbsp;processCumulativeInstruction(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
+                                         <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;mo1)</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/UnaryMatrixFEDInstruction.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/UnaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/VariableFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/instructions/fed/UnaryMatrixFEDInstruction.html" target="_top">Frames</a></li>
+<li><a href="UnaryMatrixFEDInstruction.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.instructions.fed.FEDInstruction">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#fields.inherited.from.class.org.apache.sysds.runtime.instructions.fed.ComputationFEDInstruction">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/fed/VariableFEDInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/fed/VariableFEDInstruction.html
new file mode 100644
index 0000000..156a15a
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/fed/VariableFEDInstruction.html
@@ -0,0 +1,359 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>VariableFEDInstruction (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="VariableFEDInstruction (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":9,"i2":10};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/VariableFEDInstruction.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/UnaryMatrixFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/instructions/fed/VariableFEDInstruction.html" target="_top">Frames</a></li>
+<li><a href="VariableFEDInstruction.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.instructions.fed.FEDInstruction">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#fields.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.sysds.runtime.instructions.fed</div>
+<h2 title="Class VariableFEDInstruction" class="title">Class VariableFEDInstruction</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">org.apache.sysds.runtime.instructions.Instruction</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">org.apache.sysds.runtime.instructions.fed.FEDInstruction</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.sysds.runtime.instructions.fed.VariableFEDInstruction</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">VariableFEDInstruction</span>
+extends <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">FEDInstruction</a>
+implements <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!--   -->
+</a>
+<h3>Nested Class Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.sysds.runtime.instructions.fed.FEDInstruction">
+<!--   -->
+</a>
+<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.sysds.runtime.instructions.fed.<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">FEDInstruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.FEDType.html" title="enum in org.apache.sysds.runtime.instructions.fed">FEDInstruction.FEDType</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
+<!--   -->
+</a>
+<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.IType.html" title="enum in org.apache.sysds.runtime.instructions">Instruction.IType</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!--   -->
+</a>
+<h3>Field Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
+<!--   -->
+</a>
+<h3>Fields inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#DATATYPE_PREFIX">DATATYPE_PREFIX</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#FEDERATED_INST_PREFIX">FEDERATED_INST_PREFIX</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#GPU_INST_PREFIX">GPU_INST_PREFIX</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#INSTRUCTION_DELIM">INSTRUCTION_DELIM</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#LITERAL_PREFIX">LITERAL_PREFIX</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#OPERAND_DELIM">OPERAND_DELIM</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#SP_INST_PREFIX">SP_INST_PREFIX</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#VALUETYPE_PREFIX">VALUETYPE_PREFIX</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>org.apache.commons.lang3.tuple.Pair&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/VariableFEDInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>
+<div class="block">Obtain lineage trace of an instruction with a single output.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/VariableFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">VariableFEDInstruction</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/VariableFEDInstruction.html#parseInstruction-org.apache.sysds.runtime.instructions.cp.VariableCPInstruction-">parseInstruction</a></span>(<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/VariableCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">VariableCPInstruction</a>&nbsp;cpInstruction)</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/VariableFEDInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>
+<div class="block">This method should be used to execute the instruction.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.fed.FEDInstruction">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.fed.<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">FEDInstruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html#getFEDInstructionType--">getFEDInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html#getTID--">getTID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html#setTID-long-">setTID</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#requiresLabelUpdate--">requiresLabelUpdate</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.lineage.LineageTraceable">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.sysds.runtime.lineage.<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#getLineageItems-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItems</a>, <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#hasSingleLineage--">hasSingleLineage</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="parseInstruction-org.apache.sysds.runtime.instructions.cp.VariableCPInstruction-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>parseInstruction</h4>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/VariableFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">VariableFEDInstruction</a>&nbsp;parseInstruction(<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/VariableCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">VariableCPInstruction</a>&nbsp;cpInstruction)</pre>
+</li>
+</ul>
+<a name="processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>processInstruction</h4>
+<pre>public&nbsp;void&nbsp;processInstruction(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">Instruction</a></code></span></div>
+<div class="block">This method should be used to execute the instruction.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>ec</code> - execution context</dd>
+</dl>
+</li>
+</ul>
+<a name="getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getLineageItem</h4>
+<pre>public&nbsp;org.apache.commons.lang3.tuple.Pair&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&gt;&nbsp;getLineageItem(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">LineageTraceable</a></code></span></div>
+<div class="block">Obtain lineage trace of an instruction with a single output.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>ec</code> - execution context w/ live variables</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>pair of (output variable name, output lineage item)</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/VariableFEDInstruction.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/UnaryMatrixFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/instructions/fed/VariableFEDInstruction.html" target="_top">Frames</a></li>
+<li><a href="VariableFEDInstruction.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.instructions.fed.FEDInstruction">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#fields.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/AggregateBinaryFEDInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/AggregateBinaryFEDInstruction.html
index 2b80d07..0255ad6 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/AggregateBinaryFEDInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/AggregateBinaryFEDInstruction.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/AggregateTernaryFEDInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/AggregateTernaryFEDInstruction.html
new file mode 100644
index 0000000..0fe530b
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/AggregateTernaryFEDInstruction.html
@@ -0,0 +1,165 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.sysds.runtime.instructions.fed.AggregateTernaryFEDInstruction (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.sysds.runtime.instructions.fed.AggregateTernaryFEDInstruction (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/AggregateTernaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/instructions/fed/class-use/AggregateTernaryFEDInstruction.html" target="_top">Frames</a></li>
+<li><a href="AggregateTernaryFEDInstruction.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.sysds.runtime.instructions.fed.AggregateTernaryFEDInstruction" class="title">Uses of Class<br>org.apache.sysds.runtime.instructions.fed.AggregateTernaryFEDInstruction</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/AggregateTernaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">AggregateTernaryFEDInstruction</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.fed">org.apache.sysds.runtime.instructions.fed</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.sysds.runtime.instructions.fed">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/AggregateTernaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">AggregateTernaryFEDInstruction</a> in <a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/package-summary.html">org.apache.sysds.runtime.instructions.fed</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/package-summary.html">org.apache.sysds.runtime.instructions.fed</a> that return <a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/AggregateTernaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">AggregateTernaryFEDInstruction</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/AggregateTernaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">AggregateTernaryFEDInstruction</a></code></td>
+<td class="colLast"><span class="typeNameLabel">AggregateTernaryFEDInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/AggregateTernaryFEDInstruction.html#parseInstruction-org.apache.sysds.runtime.instructions.cp.AggregateTernaryCPInstruction-">parseInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/AggregateTernaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">AggregateTernaryCPInstruction</a>&nbsp;ins)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/AggregateTernaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/instructions/fed/class-use/AggregateTernaryFEDInstruction.html" target="_top">Frames</a></li>
+<li><a href="AggregateTernaryFEDInstruction.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/AggregateUnaryFEDInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/AggregateUnaryFEDInstruction.html
index 3d97a8a..47c0c7f 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/AggregateUnaryFEDInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/AggregateUnaryFEDInstruction.html
@@ -95,6 +95,19 @@
 <!--   -->
 </a>
 <h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/AggregateUnaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">AggregateUnaryFEDInstruction</a> in <a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/package-summary.html">org.apache.sysds.runtime.instructions.fed</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subclasses, and an explanation">
+<caption><span>Subclasses of <a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/AggregateUnaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">AggregateUnaryFEDInstruction</a> in <a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/package-summary.html">org.apache.sysds.runtime.instructions.fed</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/CentralMomentFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">CentralMomentFEDInstruction</a></span></code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
 <table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
 <caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/package-summary.html">org.apache.sysds.runtime.instructions.fed</a> that return <a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/AggregateUnaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">AggregateUnaryFEDInstruction</a></span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
@@ -160,6 +173,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/AppendFEDInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/AppendFEDInstruction.html
index f57e7dc..13cfaaf 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/AppendFEDInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/AppendFEDInstruction.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/BinaryFEDInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/BinaryFEDInstruction.html
index 44d079b..cdd5abb 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/BinaryFEDInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/BinaryFEDInstruction.html
@@ -120,6 +120,14 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/CovarianceFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">CovarianceFEDInstruction</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/QuantilePickFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuantilePickFEDInstruction</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/TsmmFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">TsmmFEDInstruction</a></span></code>&nbsp;</td>
 </tr>
 </tbody>
@@ -189,6 +197,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/BinaryMatrixMatrixFEDInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/BinaryMatrixMatrixFEDInstruction.html
index 04821dd..47293ea 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/BinaryMatrixMatrixFEDInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/BinaryMatrixMatrixFEDInstruction.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/BinaryMatrixScalarFEDInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/BinaryMatrixScalarFEDInstruction.html
index 86ecbe5..c9bed48 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/BinaryMatrixScalarFEDInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/BinaryMatrixScalarFEDInstruction.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/CentralMomentFEDInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/CentralMomentFEDInstruction.html
new file mode 100644
index 0000000..0d261ec
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/CentralMomentFEDInstruction.html
@@ -0,0 +1,165 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.sysds.runtime.instructions.fed.CentralMomentFEDInstruction (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.sysds.runtime.instructions.fed.CentralMomentFEDInstruction (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/CentralMomentFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/instructions/fed/class-use/CentralMomentFEDInstruction.html" target="_top">Frames</a></li>
+<li><a href="CentralMomentFEDInstruction.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.sysds.runtime.instructions.fed.CentralMomentFEDInstruction" class="title">Uses of Class<br>org.apache.sysds.runtime.instructions.fed.CentralMomentFEDInstruction</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/CentralMomentFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">CentralMomentFEDInstruction</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.fed">org.apache.sysds.runtime.instructions.fed</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.sysds.runtime.instructions.fed">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/CentralMomentFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">CentralMomentFEDInstruction</a> in <a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/package-summary.html">org.apache.sysds.runtime.instructions.fed</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/package-summary.html">org.apache.sysds.runtime.instructions.fed</a> that return <a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/CentralMomentFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">CentralMomentFEDInstruction</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/CentralMomentFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">CentralMomentFEDInstruction</a></code></td>
+<td class="colLast"><span class="typeNameLabel">CentralMomentFEDInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/CentralMomentFEDInstruction.html#parseInstruction-java.lang.String-">parseInstruction</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/CentralMomentFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/instructions/fed/class-use/CentralMomentFEDInstruction.html" target="_top">Frames</a></li>
+<li><a href="CentralMomentFEDInstruction.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/ComputationFEDInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/ComputationFEDInstruction.html
index d9b59c2..0e16820 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/ComputationFEDInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/ComputationFEDInstruction.html
@@ -128,28 +128,84 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/MMChainFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">MMChainFEDInstruction</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/CentralMomentFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">CentralMomentFEDInstruction</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/CovarianceFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">CovarianceFEDInstruction</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/IndexingFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">IndexingFEDInstruction</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/MMChainFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">MMChainFEDInstruction</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/MultiReturnParameterizedBuiltinFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">MultiReturnParameterizedBuiltinFEDInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/ParameterizedBuiltinFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">ParameterizedBuiltinFEDInstruction</a></span></code>&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/QuantilePickFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuantilePickFEDInstruction</a></span></code>&nbsp;</td>
+</tr>
 <tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">ReorgFEDInstruction</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/QuantileSortFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuantileSortFEDInstruction</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/TsmmFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">TsmmFEDInstruction</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuaternaryFEDInstruction</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryWCeMMFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuaternaryWCeMMFEDInstruction</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryWDivMMFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuaternaryWDivMMFEDInstruction</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryWSigmoidFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuaternaryWSigmoidFEDInstruction</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryWSLossFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuaternaryWSLossFEDInstruction</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryWUMMFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuaternaryWUMMFEDInstruction</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">ReorgFEDInstruction</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/ReshapeFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">ReshapeFEDInstruction</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/TernaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">TernaryFEDInstruction</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/TsmmFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">TsmmFEDInstruction</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/UnaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">UnaryFEDInstruction</a></span></code>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/UnaryMatrixFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">UnaryMatrixFEDInstruction</a></span></code>&nbsp;</td>
+</tr>
 </tbody>
 </table>
 </li>
@@ -204,6 +260,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/CovarianceFEDInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/CovarianceFEDInstruction.html
new file mode 100644
index 0000000..262d572
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/CovarianceFEDInstruction.html
@@ -0,0 +1,165 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.sysds.runtime.instructions.fed.CovarianceFEDInstruction (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.sysds.runtime.instructions.fed.CovarianceFEDInstruction (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/CovarianceFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/instructions/fed/class-use/CovarianceFEDInstruction.html" target="_top">Frames</a></li>
+<li><a href="CovarianceFEDInstruction.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.sysds.runtime.instructions.fed.CovarianceFEDInstruction" class="title">Uses of Class<br>org.apache.sysds.runtime.instructions.fed.CovarianceFEDInstruction</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/CovarianceFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">CovarianceFEDInstruction</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.fed">org.apache.sysds.runtime.instructions.fed</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.sysds.runtime.instructions.fed">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/CovarianceFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">CovarianceFEDInstruction</a> in <a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/package-summary.html">org.apache.sysds.runtime.instructions.fed</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/package-summary.html">org.apache.sysds.runtime.instructions.fed</a> that return <a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/CovarianceFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">CovarianceFEDInstruction</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/CovarianceFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">CovarianceFEDInstruction</a></code></td>
+<td class="colLast"><span class="typeNameLabel">CovarianceFEDInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/CovarianceFEDInstruction.html#parseInstruction-java.lang.String-">parseInstruction</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/CovarianceFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/instructions/fed/class-use/CovarianceFEDInstruction.html" target="_top">Frames</a></li>
+<li><a href="CovarianceFEDInstruction.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/FEDInstruction.FEDType.html b/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/FEDInstruction.FEDType.html
index 386ae1b..4d82ee9 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/FEDInstruction.FEDType.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/FEDInstruction.FEDType.html
@@ -170,6 +170,24 @@
 </tr>
 </tbody>
 </table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/package-summary.html">org.apache.sysds.runtime.instructions.fed</a> with parameters of type <a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.FEDType.html" title="enum in org.apache.sysds.runtime.instructions.fed">FEDInstruction.FEDType</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/BinaryFEDInstruction.html#BinaryFEDInstruction-org.apache.sysds.runtime.instructions.fed.FEDInstruction.FEDType-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-java.lang.String-java.lang.String-">BinaryFEDInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.FEDType.html" title="enum in org.apache.sysds.runtime.instructions.fed">FEDInstruction.FEDType</a>&nbsp;type,
+                    <a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
+                    <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;in1,
+                    <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;in2,
+                    <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;in3,
+                    <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;out,
+                    <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;opcode,
+                    <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;istr)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
 </li>
 </ul>
 </li>
@@ -222,6 +240,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/FEDInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/FEDInstruction.html
index c0f2ba1..7b4a682 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/FEDInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/FEDInstruction.html
@@ -135,30 +135,46 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/AggregateUnaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">AggregateUnaryFEDInstruction</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/AggregateTernaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">AggregateTernaryFEDInstruction</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/AggregateUnaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">AggregateUnaryFEDInstruction</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/AppendFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">AppendFEDInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/BinaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">BinaryFEDInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/BinaryMatrixMatrixFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">BinaryMatrixMatrixFEDInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/BinaryMatrixScalarFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">BinaryMatrixScalarFEDInstruction</a></span></code>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/CentralMomentFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">CentralMomentFEDInstruction</a></span></code>&nbsp;</td>
+</tr>
 <tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">ComputationFEDInstruction</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/CovarianceFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">CovarianceFEDInstruction</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/IndexingFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">IndexingFEDInstruction</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/InitFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">InitFEDInstruction</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
@@ -175,16 +191,68 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/QuantilePickFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuantilePickFEDInstruction</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/QuantileSortFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuantileSortFEDInstruction</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuaternaryFEDInstruction</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryWCeMMFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuaternaryWCeMMFEDInstruction</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryWDivMMFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuaternaryWDivMMFEDInstruction</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryWSigmoidFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuaternaryWSigmoidFEDInstruction</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryWSLossFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuaternaryWSLossFEDInstruction</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryWUMMFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuaternaryWUMMFEDInstruction</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">ReorgFEDInstruction</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/TsmmFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">TsmmFEDInstruction</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/ReshapeFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">ReshapeFEDInstruction</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/SpoofFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">SpoofFEDInstruction</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/TernaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">TernaryFEDInstruction</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/TsmmFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">TsmmFEDInstruction</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/UnaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">UnaryFEDInstruction</a></span></code>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/UnaryMatrixFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">UnaryMatrixFEDInstruction</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/VariableFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">VariableFEDInstruction</a></span></code>&nbsp;</td>
+</tr>
 </tbody>
 </table>
 </li>
@@ -239,6 +307,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/FEDInstructionUtils.html b/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/FEDInstructionUtils.html
index bd7a619..6cae189 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/FEDInstructionUtils.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/FEDInstructionUtils.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/IndexingFEDInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/IndexingFEDInstruction.html
new file mode 100644
index 0000000..6eb039f
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/IndexingFEDInstruction.html
@@ -0,0 +1,165 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.sysds.runtime.instructions.fed.IndexingFEDInstruction (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.sysds.runtime.instructions.fed.IndexingFEDInstruction (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/IndexingFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/instructions/fed/class-use/IndexingFEDInstruction.html" target="_top">Frames</a></li>
+<li><a href="IndexingFEDInstruction.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.sysds.runtime.instructions.fed.IndexingFEDInstruction" class="title">Uses of Class<br>org.apache.sysds.runtime.instructions.fed.IndexingFEDInstruction</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/IndexingFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">IndexingFEDInstruction</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.fed">org.apache.sysds.runtime.instructions.fed</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.sysds.runtime.instructions.fed">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/IndexingFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">IndexingFEDInstruction</a> in <a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/package-summary.html">org.apache.sysds.runtime.instructions.fed</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/package-summary.html">org.apache.sysds.runtime.instructions.fed</a> that return <a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/IndexingFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">IndexingFEDInstruction</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/IndexingFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">IndexingFEDInstruction</a></code></td>
+<td class="colLast"><span class="typeNameLabel">IndexingFEDInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/IndexingFEDInstruction.html#parseInstruction-java.lang.String-">parseInstruction</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/IndexingFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/instructions/fed/class-use/IndexingFEDInstruction.html" target="_top">Frames</a></li>
+<li><a href="IndexingFEDInstruction.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/InitFEDInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/InitFEDInstruction.html
index 6481d9a..45d3935 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/InitFEDInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/InitFEDInstruction.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/MMChainFEDInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/MMChainFEDInstruction.html
index 2369aba..bde5b2c 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/MMChainFEDInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/MMChainFEDInstruction.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/MultiReturnParameterizedBuiltinFEDInstruction.CreateFrameEncoder.html b/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/MultiReturnParameterizedBuiltinFEDInstruction.CreateFrameEncoder.html
index 32695fa..5bbbc00 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/MultiReturnParameterizedBuiltinFEDInstruction.CreateFrameEncoder.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/MultiReturnParameterizedBuiltinFEDInstruction.CreateFrameEncoder.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/MultiReturnParameterizedBuiltinFEDInstruction.ExecuteFrameEncoder.html b/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/MultiReturnParameterizedBuiltinFEDInstruction.ExecuteFrameEncoder.html
index aef9d1b..275c695 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/MultiReturnParameterizedBuiltinFEDInstruction.ExecuteFrameEncoder.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/MultiReturnParameterizedBuiltinFEDInstruction.ExecuteFrameEncoder.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/MultiReturnParameterizedBuiltinFEDInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/MultiReturnParameterizedBuiltinFEDInstruction.html
index 65faa18..4d09217 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/MultiReturnParameterizedBuiltinFEDInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/MultiReturnParameterizedBuiltinFEDInstruction.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/ParameterizedBuiltinFEDInstruction.DecodeMatrix.html b/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/ParameterizedBuiltinFEDInstruction.DecodeMatrix.html
index 8ff1a1e..5ca22b8 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/ParameterizedBuiltinFEDInstruction.DecodeMatrix.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/ParameterizedBuiltinFEDInstruction.DecodeMatrix.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/ParameterizedBuiltinFEDInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/ParameterizedBuiltinFEDInstruction.html
index 34e8954..271b5ec 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/ParameterizedBuiltinFEDInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/ParameterizedBuiltinFEDInstruction.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/QuantilePickFEDInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/QuantilePickFEDInstruction.html
new file mode 100644
index 0000000..4e57090
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/QuantilePickFEDInstruction.html
@@ -0,0 +1,165 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.sysds.runtime.instructions.fed.QuantilePickFEDInstruction (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.sysds.runtime.instructions.fed.QuantilePickFEDInstruction (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/QuantilePickFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/instructions/fed/class-use/QuantilePickFEDInstruction.html" target="_top">Frames</a></li>
+<li><a href="QuantilePickFEDInstruction.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.sysds.runtime.instructions.fed.QuantilePickFEDInstruction" class="title">Uses of Class<br>org.apache.sysds.runtime.instructions.fed.QuantilePickFEDInstruction</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/QuantilePickFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuantilePickFEDInstruction</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.fed">org.apache.sysds.runtime.instructions.fed</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.sysds.runtime.instructions.fed">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/QuantilePickFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuantilePickFEDInstruction</a> in <a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/package-summary.html">org.apache.sysds.runtime.instructions.fed</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/package-summary.html">org.apache.sysds.runtime.instructions.fed</a> that return <a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/QuantilePickFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuantilePickFEDInstruction</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/QuantilePickFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuantilePickFEDInstruction</a></code></td>
+<td class="colLast"><span class="typeNameLabel">QuantilePickFEDInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/QuantilePickFEDInstruction.html#parseInstruction-java.lang.String-">parseInstruction</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/QuantilePickFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/instructions/fed/class-use/QuantilePickFEDInstruction.html" target="_top">Frames</a></li>
+<li><a href="QuantilePickFEDInstruction.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/QuantileSortFEDInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/QuantileSortFEDInstruction.html
new file mode 100644
index 0000000..a1300fd
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/QuantileSortFEDInstruction.html
@@ -0,0 +1,165 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.sysds.runtime.instructions.fed.QuantileSortFEDInstruction (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.sysds.runtime.instructions.fed.QuantileSortFEDInstruction (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/QuantileSortFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/instructions/fed/class-use/QuantileSortFEDInstruction.html" target="_top">Frames</a></li>
+<li><a href="QuantileSortFEDInstruction.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.sysds.runtime.instructions.fed.QuantileSortFEDInstruction" class="title">Uses of Class<br>org.apache.sysds.runtime.instructions.fed.QuantileSortFEDInstruction</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/QuantileSortFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuantileSortFEDInstruction</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.fed">org.apache.sysds.runtime.instructions.fed</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.sysds.runtime.instructions.fed">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/QuantileSortFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuantileSortFEDInstruction</a> in <a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/package-summary.html">org.apache.sysds.runtime.instructions.fed</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/package-summary.html">org.apache.sysds.runtime.instructions.fed</a> that return <a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/QuantileSortFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuantileSortFEDInstruction</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/QuantileSortFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuantileSortFEDInstruction</a></code></td>
+<td class="colLast"><span class="typeNameLabel">QuantileSortFEDInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/QuantileSortFEDInstruction.html#parseInstruction-java.lang.String-">parseInstruction</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/QuantileSortFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/instructions/fed/class-use/QuantileSortFEDInstruction.html" target="_top">Frames</a></li>
+<li><a href="QuantileSortFEDInstruction.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/QuaternaryFEDInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/QuaternaryFEDInstruction.html
new file mode 100644
index 0000000..166053c
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/QuaternaryFEDInstruction.html
@@ -0,0 +1,194 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.sysds.runtime.instructions.fed.QuaternaryFEDInstruction (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.sysds.runtime.instructions.fed.QuaternaryFEDInstruction (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/instructions/fed/class-use/QuaternaryFEDInstruction.html" target="_top">Frames</a></li>
+<li><a href="QuaternaryFEDInstruction.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.sysds.runtime.instructions.fed.QuaternaryFEDInstruction" class="title">Uses of Class<br>org.apache.sysds.runtime.instructions.fed.QuaternaryFEDInstruction</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuaternaryFEDInstruction</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.fed">org.apache.sysds.runtime.instructions.fed</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.sysds.runtime.instructions.fed">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuaternaryFEDInstruction</a> in <a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/package-summary.html">org.apache.sysds.runtime.instructions.fed</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subclasses, and an explanation">
+<caption><span>Subclasses of <a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuaternaryFEDInstruction</a> in <a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/package-summary.html">org.apache.sysds.runtime.instructions.fed</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryWCeMMFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuaternaryWCeMMFEDInstruction</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryWDivMMFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuaternaryWDivMMFEDInstruction</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryWSigmoidFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuaternaryWSigmoidFEDInstruction</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryWSLossFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuaternaryWSLossFEDInstruction</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryWUMMFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuaternaryWUMMFEDInstruction</a></span></code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/package-summary.html">org.apache.sysds.runtime.instructions.fed</a> that return <a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuaternaryFEDInstruction</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuaternaryFEDInstruction</a></code></td>
+<td class="colLast"><span class="typeNameLabel">QuaternaryFEDInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryFEDInstruction.html#parseInstruction-java.lang.String-">parseInstruction</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/instructions/fed/class-use/QuaternaryFEDInstruction.html" target="_top">Frames</a></li>
+<li><a href="QuaternaryFEDInstruction.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/EncoderComposite.html b/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/QuaternaryWCeMMFEDInstruction.html
similarity index 73%
copy from docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/EncoderComposite.html
copy to docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/QuaternaryWCeMMFEDInstruction.html
index 33a7472..f55d890 100644
--- a/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/EncoderComposite.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/QuaternaryWCeMMFEDInstruction.html
@@ -4,7 +4,7 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.sysds.runtime.transform.encode.EncoderComposite (SystemDS 2.1.0-SNAPSHOT API)</title>
+<title>Uses of Class org.apache.sysds.runtime.instructions.fed.QuaternaryWCeMMFEDInstruction (SystemDS 2.1.0-SNAPSHOT API)</title>
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.sysds.runtime.transform.encode.EncoderComposite (SystemDS 2.1.0-SNAPSHOT API)";
+            parent.document.title="Uses of Class org.apache.sysds.runtime.instructions.fed.QuaternaryWCeMMFEDInstruction (SystemDS 2.1.0-SNAPSHOT API)";
         }
     }
     catch(err) {
@@ -33,7 +33,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">Class</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryWCeMMFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -47,8 +47,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/transform/encode/class-use/EncoderComposite.html" target="_top">Frames</a></li>
-<li><a href="EncoderComposite.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/instructions/fed/class-use/QuaternaryWCeMMFEDInstruction.html" target="_top">Frames</a></li>
+<li><a href="QuaternaryWCeMMFEDInstruction.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -70,9 +70,9 @@
 </a></div>
 <!-- ========= END OF TOP NAVBAR ========= -->
 <div class="header">
-<h2 title="Uses of Class org.apache.sysds.runtime.transform.encode.EncoderComposite" class="title">Uses of Class<br>org.apache.sysds.runtime.transform.encode.EncoderComposite</h2>
+<h2 title="Uses of Class org.apache.sysds.runtime.instructions.fed.QuaternaryWCeMMFEDInstruction" class="title">Uses of Class<br>org.apache.sysds.runtime.instructions.fed.QuaternaryWCeMMFEDInstruction</h2>
 </div>
-<div class="classUseContainer">No usage of org.apache.sysds.runtime.transform.encode.EncoderComposite</div>
+<div class="classUseContainer">No usage of org.apache.sysds.runtime.instructions.fed.QuaternaryWCeMMFEDInstruction</div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
 <!--   -->
@@ -84,7 +84,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">Class</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryWCeMMFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -98,8 +98,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/transform/encode/class-use/EncoderComposite.html" target="_top">Frames</a></li>
-<li><a href="EncoderComposite.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/instructions/fed/class-use/QuaternaryWCeMMFEDInstruction.html" target="_top">Frames</a></li>
+<li><a href="QuaternaryWCeMMFEDInstruction.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/EncoderComposite.html b/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/QuaternaryWDivMMFEDInstruction.html
similarity index 73%
copy from docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/EncoderComposite.html
copy to docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/QuaternaryWDivMMFEDInstruction.html
index 33a7472..e2f1773 100644
--- a/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/EncoderComposite.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/QuaternaryWDivMMFEDInstruction.html
@@ -4,7 +4,7 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.sysds.runtime.transform.encode.EncoderComposite (SystemDS 2.1.0-SNAPSHOT API)</title>
+<title>Uses of Class org.apache.sysds.runtime.instructions.fed.QuaternaryWDivMMFEDInstruction (SystemDS 2.1.0-SNAPSHOT API)</title>
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.sysds.runtime.transform.encode.EncoderComposite (SystemDS 2.1.0-SNAPSHOT API)";
+            parent.document.title="Uses of Class org.apache.sysds.runtime.instructions.fed.QuaternaryWDivMMFEDInstruction (SystemDS 2.1.0-SNAPSHOT API)";
         }
     }
     catch(err) {
@@ -33,7 +33,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">Class</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryWDivMMFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -47,8 +47,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/transform/encode/class-use/EncoderComposite.html" target="_top">Frames</a></li>
-<li><a href="EncoderComposite.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/instructions/fed/class-use/QuaternaryWDivMMFEDInstruction.html" target="_top">Frames</a></li>
+<li><a href="QuaternaryWDivMMFEDInstruction.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -70,9 +70,9 @@
 </a></div>
 <!-- ========= END OF TOP NAVBAR ========= -->
 <div class="header">
-<h2 title="Uses of Class org.apache.sysds.runtime.transform.encode.EncoderComposite" class="title">Uses of Class<br>org.apache.sysds.runtime.transform.encode.EncoderComposite</h2>
+<h2 title="Uses of Class org.apache.sysds.runtime.instructions.fed.QuaternaryWDivMMFEDInstruction" class="title">Uses of Class<br>org.apache.sysds.runtime.instructions.fed.QuaternaryWDivMMFEDInstruction</h2>
 </div>
-<div class="classUseContainer">No usage of org.apache.sysds.runtime.transform.encode.EncoderComposite</div>
+<div class="classUseContainer">No usage of org.apache.sysds.runtime.instructions.fed.QuaternaryWDivMMFEDInstruction</div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
 <!--   -->
@@ -84,7 +84,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">Class</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryWDivMMFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -98,8 +98,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/transform/encode/class-use/EncoderComposite.html" target="_top">Frames</a></li>
-<li><a href="EncoderComposite.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/instructions/fed/class-use/QuaternaryWDivMMFEDInstruction.html" target="_top">Frames</a></li>
+<li><a href="QuaternaryWDivMMFEDInstruction.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/EncoderComposite.html b/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/QuaternaryWSLossFEDInstruction.html
similarity index 73%
copy from docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/EncoderComposite.html
copy to docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/QuaternaryWSLossFEDInstruction.html
index 33a7472..fa56732 100644
--- a/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/EncoderComposite.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/QuaternaryWSLossFEDInstruction.html
@@ -4,7 +4,7 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.sysds.runtime.transform.encode.EncoderComposite (SystemDS 2.1.0-SNAPSHOT API)</title>
+<title>Uses of Class org.apache.sysds.runtime.instructions.fed.QuaternaryWSLossFEDInstruction (SystemDS 2.1.0-SNAPSHOT API)</title>
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.sysds.runtime.transform.encode.EncoderComposite (SystemDS 2.1.0-SNAPSHOT API)";
+            parent.document.title="Uses of Class org.apache.sysds.runtime.instructions.fed.QuaternaryWSLossFEDInstruction (SystemDS 2.1.0-SNAPSHOT API)";
         }
     }
     catch(err) {
@@ -33,7 +33,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">Class</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryWSLossFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -47,8 +47,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/transform/encode/class-use/EncoderComposite.html" target="_top">Frames</a></li>
-<li><a href="EncoderComposite.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/instructions/fed/class-use/QuaternaryWSLossFEDInstruction.html" target="_top">Frames</a></li>
+<li><a href="QuaternaryWSLossFEDInstruction.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -70,9 +70,9 @@
 </a></div>
 <!-- ========= END OF TOP NAVBAR ========= -->
 <div class="header">
-<h2 title="Uses of Class org.apache.sysds.runtime.transform.encode.EncoderComposite" class="title">Uses of Class<br>org.apache.sysds.runtime.transform.encode.EncoderComposite</h2>
+<h2 title="Uses of Class org.apache.sysds.runtime.instructions.fed.QuaternaryWSLossFEDInstruction" class="title">Uses of Class<br>org.apache.sysds.runtime.instructions.fed.QuaternaryWSLossFEDInstruction</h2>
 </div>
-<div class="classUseContainer">No usage of org.apache.sysds.runtime.transform.encode.EncoderComposite</div>
+<div class="classUseContainer">No usage of org.apache.sysds.runtime.instructions.fed.QuaternaryWSLossFEDInstruction</div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
 <!--   -->
@@ -84,7 +84,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">Class</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryWSLossFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -98,8 +98,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/transform/encode/class-use/EncoderComposite.html" target="_top">Frames</a></li>
-<li><a href="EncoderComposite.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/instructions/fed/class-use/QuaternaryWSLossFEDInstruction.html" target="_top">Frames</a></li>
+<li><a href="QuaternaryWSLossFEDInstruction.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/cocode/class-use/PlanningCoCodingGroup.ColIndexes.html b/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/QuaternaryWSigmoidFEDInstruction.html
similarity index 74%
rename from docs/api/java/org/apache/sysds/runtime/compress/cocode/class-use/PlanningCoCodingGroup.ColIndexes.html
rename to docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/QuaternaryWSigmoidFEDInstruction.html
index 826f367..0979632 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/cocode/class-use/PlanningCoCodingGroup.ColIndexes.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/QuaternaryWSigmoidFEDInstruction.html
@@ -4,7 +4,7 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.sysds.runtime.compress.cocode.PlanningCoCodingGroup.ColIndexes (SystemDS 2.1.0-SNAPSHOT API)</title>
+<title>Uses of Class org.apache.sysds.runtime.instructions.fed.QuaternaryWSigmoidFEDInstruction (SystemDS 2.1.0-SNAPSHOT API)</title>
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.sysds.runtime.compress.cocode.PlanningCoCodingGroup.ColIndexes (SystemDS 2.1.0-SNAPSHOT API)";
+            parent.document.title="Uses of Class org.apache.sysds.runtime.instructions.fed.QuaternaryWSigmoidFEDInstruction (SystemDS 2.1.0-SNAPSHOT API)";
         }
     }
     catch(err) {
@@ -33,7 +33,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.ColIndexes.html" title="class in org.apache.sysds.runtime.compress.cocode">Class</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryWSigmoidFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -47,8 +47,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/cocode/class-use/PlanningCoCodingGroup.ColIndexes.html" target="_top">Frames</a></li>
-<li><a href="PlanningCoCodingGroup.ColIndexes.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/instructions/fed/class-use/QuaternaryWSigmoidFEDInstruction.html" target="_top">Frames</a></li>
+<li><a href="QuaternaryWSigmoidFEDInstruction.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -70,9 +70,9 @@
 </a></div>
 <!-- ========= END OF TOP NAVBAR ========= -->
 <div class="header">
-<h2 title="Uses of Class org.apache.sysds.runtime.compress.cocode.PlanningCoCodingGroup.ColIndexes" class="title">Uses of Class<br>org.apache.sysds.runtime.compress.cocode.PlanningCoCodingGroup.ColIndexes</h2>
+<h2 title="Uses of Class org.apache.sysds.runtime.instructions.fed.QuaternaryWSigmoidFEDInstruction" class="title">Uses of Class<br>org.apache.sysds.runtime.instructions.fed.QuaternaryWSigmoidFEDInstruction</h2>
 </div>
-<div class="classUseContainer">No usage of org.apache.sysds.runtime.compress.cocode.PlanningCoCodingGroup.ColIndexes</div>
+<div class="classUseContainer">No usage of org.apache.sysds.runtime.instructions.fed.QuaternaryWSigmoidFEDInstruction</div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
 <!--   -->
@@ -84,7 +84,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.ColIndexes.html" title="class in org.apache.sysds.runtime.compress.cocode">Class</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryWSigmoidFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -98,8 +98,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/cocode/class-use/PlanningCoCodingGroup.ColIndexes.html" target="_top">Frames</a></li>
-<li><a href="PlanningCoCodingGroup.ColIndexes.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/instructions/fed/class-use/QuaternaryWSigmoidFEDInstruction.html" target="_top">Frames</a></li>
+<li><a href="QuaternaryWSigmoidFEDInstruction.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/EncoderComposite.html b/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/QuaternaryWUMMFEDInstruction.html
similarity index 74%
copy from docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/EncoderComposite.html
copy to docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/QuaternaryWUMMFEDInstruction.html
index 33a7472..48fccba 100644
--- a/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/EncoderComposite.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/QuaternaryWUMMFEDInstruction.html
@@ -4,7 +4,7 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.sysds.runtime.transform.encode.EncoderComposite (SystemDS 2.1.0-SNAPSHOT API)</title>
+<title>Uses of Class org.apache.sysds.runtime.instructions.fed.QuaternaryWUMMFEDInstruction (SystemDS 2.1.0-SNAPSHOT API)</title>
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.sysds.runtime.transform.encode.EncoderComposite (SystemDS 2.1.0-SNAPSHOT API)";
+            parent.document.title="Uses of Class org.apache.sysds.runtime.instructions.fed.QuaternaryWUMMFEDInstruction (SystemDS 2.1.0-SNAPSHOT API)";
         }
     }
     catch(err) {
@@ -33,7 +33,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">Class</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryWUMMFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -47,8 +47,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/transform/encode/class-use/EncoderComposite.html" target="_top">Frames</a></li>
-<li><a href="EncoderComposite.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/instructions/fed/class-use/QuaternaryWUMMFEDInstruction.html" target="_top">Frames</a></li>
+<li><a href="QuaternaryWUMMFEDInstruction.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -70,9 +70,9 @@
 </a></div>
 <!-- ========= END OF TOP NAVBAR ========= -->
 <div class="header">
-<h2 title="Uses of Class org.apache.sysds.runtime.transform.encode.EncoderComposite" class="title">Uses of Class<br>org.apache.sysds.runtime.transform.encode.EncoderComposite</h2>
+<h2 title="Uses of Class org.apache.sysds.runtime.instructions.fed.QuaternaryWUMMFEDInstruction" class="title">Uses of Class<br>org.apache.sysds.runtime.instructions.fed.QuaternaryWUMMFEDInstruction</h2>
 </div>
-<div class="classUseContainer">No usage of org.apache.sysds.runtime.transform.encode.EncoderComposite</div>
+<div class="classUseContainer">No usage of org.apache.sysds.runtime.instructions.fed.QuaternaryWUMMFEDInstruction</div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
 <!--   -->
@@ -84,7 +84,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">Class</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryWUMMFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -98,8 +98,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/transform/encode/class-use/EncoderComposite.html" target="_top">Frames</a></li>
-<li><a href="EncoderComposite.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/instructions/fed/class-use/QuaternaryWUMMFEDInstruction.html" target="_top">Frames</a></li>
+<li><a href="QuaternaryWUMMFEDInstruction.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/EncoderComposite.html b/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/ReorgFEDInstruction.DiagMatrix.html
similarity index 73%
copy from docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/EncoderComposite.html
copy to docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/ReorgFEDInstruction.DiagMatrix.html
index 33a7472..ab57fbf 100644
--- a/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/EncoderComposite.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/ReorgFEDInstruction.DiagMatrix.html
@@ -4,7 +4,7 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.sysds.runtime.transform.encode.EncoderComposite (SystemDS 2.1.0-SNAPSHOT API)</title>
+<title>Uses of Class org.apache.sysds.runtime.instructions.fed.ReorgFEDInstruction.DiagMatrix (SystemDS 2.1.0-SNAPSHOT API)</title>
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.sysds.runtime.transform.encode.EncoderComposite (SystemDS 2.1.0-SNAPSHOT API)";
+            parent.document.title="Uses of Class org.apache.sysds.runtime.instructions.fed.ReorgFEDInstruction.DiagMatrix (SystemDS 2.1.0-SNAPSHOT API)";
         }
     }
     catch(err) {
@@ -33,7 +33,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">Class</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.DiagMatrix.html" title="class in org.apache.sysds.runtime.instructions.fed">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -47,8 +47,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/transform/encode/class-use/EncoderComposite.html" target="_top">Frames</a></li>
-<li><a href="EncoderComposite.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/instructions/fed/class-use/ReorgFEDInstruction.DiagMatrix.html" target="_top">Frames</a></li>
+<li><a href="ReorgFEDInstruction.DiagMatrix.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -70,9 +70,9 @@
 </a></div>
 <!-- ========= END OF TOP NAVBAR ========= -->
 <div class="header">
-<h2 title="Uses of Class org.apache.sysds.runtime.transform.encode.EncoderComposite" class="title">Uses of Class<br>org.apache.sysds.runtime.transform.encode.EncoderComposite</h2>
+<h2 title="Uses of Class org.apache.sysds.runtime.instructions.fed.ReorgFEDInstruction.DiagMatrix" class="title">Uses of Class<br>org.apache.sysds.runtime.instructions.fed.ReorgFEDInstruction.DiagMatrix</h2>
 </div>
-<div class="classUseContainer">No usage of org.apache.sysds.runtime.transform.encode.EncoderComposite</div>
+<div class="classUseContainer">No usage of org.apache.sysds.runtime.instructions.fed.ReorgFEDInstruction.DiagMatrix</div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
 <!--   -->
@@ -84,7 +84,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">Class</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.DiagMatrix.html" title="class in org.apache.sysds.runtime.instructions.fed">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -98,8 +98,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/transform/encode/class-use/EncoderComposite.html" target="_top">Frames</a></li>
-<li><a href="EncoderComposite.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/instructions/fed/class-use/ReorgFEDInstruction.DiagMatrix.html" target="_top">Frames</a></li>
+<li><a href="ReorgFEDInstruction.DiagMatrix.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/EncoderComposite.html b/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/ReorgFEDInstruction.Rdiag.html
similarity index 74%
copy from docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/EncoderComposite.html
copy to docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/ReorgFEDInstruction.Rdiag.html
index 33a7472..b4a4e2a 100644
--- a/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/EncoderComposite.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/ReorgFEDInstruction.Rdiag.html
@@ -4,7 +4,7 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.sysds.runtime.transform.encode.EncoderComposite (SystemDS 2.1.0-SNAPSHOT API)</title>
+<title>Uses of Class org.apache.sysds.runtime.instructions.fed.ReorgFEDInstruction.Rdiag (SystemDS 2.1.0-SNAPSHOT API)</title>
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.sysds.runtime.transform.encode.EncoderComposite (SystemDS 2.1.0-SNAPSHOT API)";
+            parent.document.title="Uses of Class org.apache.sysds.runtime.instructions.fed.ReorgFEDInstruction.Rdiag (SystemDS 2.1.0-SNAPSHOT API)";
         }
     }
     catch(err) {
@@ -33,7 +33,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">Class</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.Rdiag.html" title="class in org.apache.sysds.runtime.instructions.fed">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -47,8 +47,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/transform/encode/class-use/EncoderComposite.html" target="_top">Frames</a></li>
-<li><a href="EncoderComposite.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/instructions/fed/class-use/ReorgFEDInstruction.Rdiag.html" target="_top">Frames</a></li>
+<li><a href="ReorgFEDInstruction.Rdiag.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -70,9 +70,9 @@
 </a></div>
 <!-- ========= END OF TOP NAVBAR ========= -->
 <div class="header">
-<h2 title="Uses of Class org.apache.sysds.runtime.transform.encode.EncoderComposite" class="title">Uses of Class<br>org.apache.sysds.runtime.transform.encode.EncoderComposite</h2>
+<h2 title="Uses of Class org.apache.sysds.runtime.instructions.fed.ReorgFEDInstruction.Rdiag" class="title">Uses of Class<br>org.apache.sysds.runtime.instructions.fed.ReorgFEDInstruction.Rdiag</h2>
 </div>
-<div class="classUseContainer">No usage of org.apache.sysds.runtime.transform.encode.EncoderComposite</div>
+<div class="classUseContainer">No usage of org.apache.sysds.runtime.instructions.fed.ReorgFEDInstruction.Rdiag</div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
 <!--   -->
@@ -84,7 +84,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">Class</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.Rdiag.html" title="class in org.apache.sysds.runtime.instructions.fed">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -98,8 +98,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/transform/encode/class-use/EncoderComposite.html" target="_top">Frames</a></li>
-<li><a href="EncoderComposite.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/instructions/fed/class-use/ReorgFEDInstruction.Rdiag.html" target="_top">Frames</a></li>
+<li><a href="ReorgFEDInstruction.Rdiag.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/ReorgFEDInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/ReorgFEDInstruction.html
index 8f6cdbd..be00fd9 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/ReorgFEDInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/ReorgFEDInstruction.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/ReshapeFEDInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/ReshapeFEDInstruction.html
new file mode 100644
index 0000000..a4703bb
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/ReshapeFEDInstruction.html
@@ -0,0 +1,165 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.sysds.runtime.instructions.fed.ReshapeFEDInstruction (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.sysds.runtime.instructions.fed.ReshapeFEDInstruction (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/ReshapeFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/instructions/fed/class-use/ReshapeFEDInstruction.html" target="_top">Frames</a></li>
+<li><a href="ReshapeFEDInstruction.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.sysds.runtime.instructions.fed.ReshapeFEDInstruction" class="title">Uses of Class<br>org.apache.sysds.runtime.instructions.fed.ReshapeFEDInstruction</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/ReshapeFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">ReshapeFEDInstruction</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.fed">org.apache.sysds.runtime.instructions.fed</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.sysds.runtime.instructions.fed">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/ReshapeFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">ReshapeFEDInstruction</a> in <a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/package-summary.html">org.apache.sysds.runtime.instructions.fed</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/package-summary.html">org.apache.sysds.runtime.instructions.fed</a> that return <a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/ReshapeFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">ReshapeFEDInstruction</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/ReshapeFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">ReshapeFEDInstruction</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ReshapeFEDInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/ReshapeFEDInstruction.html#parseInstruction-java.lang.String-">parseInstruction</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/ReshapeFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/instructions/fed/class-use/ReshapeFEDInstruction.html" target="_top">Frames</a></li>
+<li><a href="ReshapeFEDInstruction.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/SpoofFEDInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/SpoofFEDInstruction.html
new file mode 100644
index 0000000..eca25d8
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/SpoofFEDInstruction.html
@@ -0,0 +1,165 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.sysds.runtime.instructions.fed.SpoofFEDInstruction (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.sysds.runtime.instructions.fed.SpoofFEDInstruction (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/SpoofFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/instructions/fed/class-use/SpoofFEDInstruction.html" target="_top">Frames</a></li>
+<li><a href="SpoofFEDInstruction.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.sysds.runtime.instructions.fed.SpoofFEDInstruction" class="title">Uses of Class<br>org.apache.sysds.runtime.instructions.fed.SpoofFEDInstruction</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/SpoofFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">SpoofFEDInstruction</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.fed">org.apache.sysds.runtime.instructions.fed</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.sysds.runtime.instructions.fed">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/SpoofFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">SpoofFEDInstruction</a> in <a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/package-summary.html">org.apache.sysds.runtime.instructions.fed</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/package-summary.html">org.apache.sysds.runtime.instructions.fed</a> that return <a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/SpoofFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">SpoofFEDInstruction</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/SpoofFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">SpoofFEDInstruction</a></code></td>
+<td class="colLast"><span class="typeNameLabel">SpoofFEDInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/SpoofFEDInstruction.html#parseInstruction-java.lang.String-">parseInstruction</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/SpoofFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/instructions/fed/class-use/SpoofFEDInstruction.html" target="_top">Frames</a></li>
+<li><a href="SpoofFEDInstruction.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/TernaryFEDInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/TernaryFEDInstruction.html
new file mode 100644
index 0000000..2e2cfec
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/TernaryFEDInstruction.html
@@ -0,0 +1,165 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.sysds.runtime.instructions.fed.TernaryFEDInstruction (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.sysds.runtime.instructions.fed.TernaryFEDInstruction (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/TernaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/instructions/fed/class-use/TernaryFEDInstruction.html" target="_top">Frames</a></li>
+<li><a href="TernaryFEDInstruction.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.sysds.runtime.instructions.fed.TernaryFEDInstruction" class="title">Uses of Class<br>org.apache.sysds.runtime.instructions.fed.TernaryFEDInstruction</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/TernaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">TernaryFEDInstruction</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.fed">org.apache.sysds.runtime.instructions.fed</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.sysds.runtime.instructions.fed">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/TernaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">TernaryFEDInstruction</a> in <a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/package-summary.html">org.apache.sysds.runtime.instructions.fed</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/package-summary.html">org.apache.sysds.runtime.instructions.fed</a> that return <a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/TernaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">TernaryFEDInstruction</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/TernaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">TernaryFEDInstruction</a></code></td>
+<td class="colLast"><span class="typeNameLabel">TernaryFEDInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/TernaryFEDInstruction.html#parseInstruction-java.lang.String-">parseInstruction</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/TernaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/instructions/fed/class-use/TernaryFEDInstruction.html" target="_top">Frames</a></li>
+<li><a href="TernaryFEDInstruction.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/TsmmFEDInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/TsmmFEDInstruction.html
index 7451829..5c194ac 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/TsmmFEDInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/TsmmFEDInstruction.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/UnaryFEDInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/UnaryFEDInstruction.html
index ee77354..fd58b1f 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/UnaryFEDInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/UnaryFEDInstruction.html
@@ -108,12 +108,32 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/CentralMomentFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">CentralMomentFEDInstruction</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/IndexingFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">IndexingFEDInstruction</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/MMChainFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">MMChainFEDInstruction</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/QuantileSortFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuantileSortFEDInstruction</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">ReorgFEDInstruction</a></span></code>&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/ReshapeFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">ReshapeFEDInstruction</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/UnaryMatrixFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">UnaryMatrixFEDInstruction</a></span></code>&nbsp;</td>
+</tr>
 </tbody>
 </table>
 </li>
@@ -168,6 +188,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/UnaryMatrixFEDInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/UnaryMatrixFEDInstruction.html
new file mode 100644
index 0000000..451bc9c
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/UnaryMatrixFEDInstruction.html
@@ -0,0 +1,165 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.sysds.runtime.instructions.fed.UnaryMatrixFEDInstruction (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.sysds.runtime.instructions.fed.UnaryMatrixFEDInstruction (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/UnaryMatrixFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/instructions/fed/class-use/UnaryMatrixFEDInstruction.html" target="_top">Frames</a></li>
+<li><a href="UnaryMatrixFEDInstruction.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.sysds.runtime.instructions.fed.UnaryMatrixFEDInstruction" class="title">Uses of Class<br>org.apache.sysds.runtime.instructions.fed.UnaryMatrixFEDInstruction</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/UnaryMatrixFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">UnaryMatrixFEDInstruction</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.fed">org.apache.sysds.runtime.instructions.fed</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.sysds.runtime.instructions.fed">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/UnaryMatrixFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">UnaryMatrixFEDInstruction</a> in <a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/package-summary.html">org.apache.sysds.runtime.instructions.fed</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/package-summary.html">org.apache.sysds.runtime.instructions.fed</a> that return <a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/UnaryMatrixFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">UnaryMatrixFEDInstruction</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/UnaryMatrixFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">UnaryMatrixFEDInstruction</a></code></td>
+<td class="colLast"><span class="typeNameLabel">UnaryMatrixFEDInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/UnaryMatrixFEDInstruction.html#parseInstruction-java.lang.String-">parseInstruction</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/UnaryMatrixFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/instructions/fed/class-use/UnaryMatrixFEDInstruction.html" target="_top">Frames</a></li>
+<li><a href="UnaryMatrixFEDInstruction.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/VariableFEDInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/VariableFEDInstruction.html
new file mode 100644
index 0000000..324f7f3
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/fed/class-use/VariableFEDInstruction.html
@@ -0,0 +1,165 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.sysds.runtime.instructions.fed.VariableFEDInstruction (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.sysds.runtime.instructions.fed.VariableFEDInstruction (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/VariableFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/instructions/fed/class-use/VariableFEDInstruction.html" target="_top">Frames</a></li>
+<li><a href="VariableFEDInstruction.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.sysds.runtime.instructions.fed.VariableFEDInstruction" class="title">Uses of Class<br>org.apache.sysds.runtime.instructions.fed.VariableFEDInstruction</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/VariableFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">VariableFEDInstruction</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.fed">org.apache.sysds.runtime.instructions.fed</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.sysds.runtime.instructions.fed">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/VariableFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">VariableFEDInstruction</a> in <a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/package-summary.html">org.apache.sysds.runtime.instructions.fed</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/package-summary.html">org.apache.sysds.runtime.instructions.fed</a> that return <a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/VariableFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">VariableFEDInstruction</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/VariableFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">VariableFEDInstruction</a></code></td>
+<td class="colLast"><span class="typeNameLabel">VariableFEDInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/VariableFEDInstruction.html#parseInstruction-org.apache.sysds.runtime.instructions.cp.VariableCPInstruction-">parseInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/VariableCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">VariableCPInstruction</a>&nbsp;cpInstruction)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/VariableFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/instructions/fed/class-use/VariableFEDInstruction.html" target="_top">Frames</a></li>
+<li><a href="VariableFEDInstruction.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/fed/package-frame.html b/docs/api/java/org/apache/sysds/runtime/instructions/fed/package-frame.html
index 91c01be..4ad1f01 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/fed/package-frame.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/fed/package-frame.html
@@ -14,14 +14,18 @@
 <h2 title="Classes">Classes</h2>
 <ul title="Classes">
 <li><a href="AggregateBinaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed" target="classFrame">AggregateBinaryFEDInstruction</a></li>
+<li><a href="AggregateTernaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed" target="classFrame">AggregateTernaryFEDInstruction</a></li>
 <li><a href="AggregateUnaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed" target="classFrame">AggregateUnaryFEDInstruction</a></li>
 <li><a href="AppendFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed" target="classFrame">AppendFEDInstruction</a></li>
 <li><a href="BinaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed" target="classFrame">BinaryFEDInstruction</a></li>
 <li><a href="BinaryMatrixMatrixFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed" target="classFrame">BinaryMatrixMatrixFEDInstruction</a></li>
 <li><a href="BinaryMatrixScalarFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed" target="classFrame">BinaryMatrixScalarFEDInstruction</a></li>
+<li><a href="CentralMomentFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed" target="classFrame">CentralMomentFEDInstruction</a></li>
 <li><a href="ComputationFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed" target="classFrame">ComputationFEDInstruction</a></li>
+<li><a href="CovarianceFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed" target="classFrame">CovarianceFEDInstruction</a></li>
 <li><a href="FEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed" target="classFrame">FEDInstruction</a></li>
 <li><a href="FEDInstructionUtils.html" title="class in org.apache.sysds.runtime.instructions.fed" target="classFrame">FEDInstructionUtils</a></li>
+<li><a href="IndexingFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed" target="classFrame">IndexingFEDInstruction</a></li>
 <li><a href="InitFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed" target="classFrame">InitFEDInstruction</a></li>
 <li><a href="MMChainFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed" target="classFrame">MMChainFEDInstruction</a></li>
 <li><a href="MultiReturnParameterizedBuiltinFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed" target="classFrame">MultiReturnParameterizedBuiltinFEDInstruction</a></li>
@@ -29,9 +33,24 @@
 <li><a href="MultiReturnParameterizedBuiltinFEDInstruction.ExecuteFrameEncoder.html" title="class in org.apache.sysds.runtime.instructions.fed" target="classFrame">MultiReturnParameterizedBuiltinFEDInstruction.ExecuteFrameEncoder</a></li>
 <li><a href="ParameterizedBuiltinFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed" target="classFrame">ParameterizedBuiltinFEDInstruction</a></li>
 <li><a href="ParameterizedBuiltinFEDInstruction.DecodeMatrix.html" title="class in org.apache.sysds.runtime.instructions.fed" target="classFrame">ParameterizedBuiltinFEDInstruction.DecodeMatrix</a></li>
+<li><a href="QuantilePickFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed" target="classFrame">QuantilePickFEDInstruction</a></li>
+<li><a href="QuantileSortFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed" target="classFrame">QuantileSortFEDInstruction</a></li>
+<li><a href="QuaternaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed" target="classFrame">QuaternaryFEDInstruction</a></li>
+<li><a href="QuaternaryWCeMMFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed" target="classFrame">QuaternaryWCeMMFEDInstruction</a></li>
+<li><a href="QuaternaryWDivMMFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed" target="classFrame">QuaternaryWDivMMFEDInstruction</a></li>
+<li><a href="QuaternaryWSigmoidFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed" target="classFrame">QuaternaryWSigmoidFEDInstruction</a></li>
+<li><a href="QuaternaryWSLossFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed" target="classFrame">QuaternaryWSLossFEDInstruction</a></li>
+<li><a href="QuaternaryWUMMFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed" target="classFrame">QuaternaryWUMMFEDInstruction</a></li>
 <li><a href="ReorgFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed" target="classFrame">ReorgFEDInstruction</a></li>
+<li><a href="ReorgFEDInstruction.DiagMatrix.html" title="class in org.apache.sysds.runtime.instructions.fed" target="classFrame">ReorgFEDInstruction.DiagMatrix</a></li>
+<li><a href="ReorgFEDInstruction.Rdiag.html" title="class in org.apache.sysds.runtime.instructions.fed" target="classFrame">ReorgFEDInstruction.Rdiag</a></li>
+<li><a href="ReshapeFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed" target="classFrame">ReshapeFEDInstruction</a></li>
+<li><a href="SpoofFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed" target="classFrame">SpoofFEDInstruction</a></li>
+<li><a href="TernaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed" target="classFrame">TernaryFEDInstruction</a></li>
 <li><a href="TsmmFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed" target="classFrame">TsmmFEDInstruction</a></li>
 <li><a href="UnaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed" target="classFrame">UnaryFEDInstruction</a></li>
+<li><a href="UnaryMatrixFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed" target="classFrame">UnaryMatrixFEDInstruction</a></li>
+<li><a href="VariableFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed" target="classFrame">VariableFEDInstruction</a></li>
 </ul>
 <h2 title="Enums">Enums</h2>
 <ul title="Enums">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/fed/package-summary.html b/docs/api/java/org/apache/sysds/runtime/instructions/fed/package-summary.html
index 6d18f77..45b44f4 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/fed/package-summary.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/fed/package-summary.html
@@ -87,37 +87,53 @@
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/AggregateTernaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">AggregateTernaryFEDInstruction</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/AggregateUnaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">AggregateUnaryFEDInstruction</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/AppendFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">AppendFEDInstruction</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/BinaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">BinaryFEDInstruction</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/BinaryMatrixMatrixFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">BinaryMatrixMatrixFEDInstruction</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/BinaryMatrixScalarFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">BinaryMatrixScalarFEDInstruction</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/CentralMomentFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">CentralMomentFEDInstruction</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
 <tr class="altColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">ComputationFEDInstruction</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">FEDInstruction</a></td>
+<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/CovarianceFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">CovarianceFEDInstruction</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">FEDInstruction</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstructionUtils.html" title="class in org.apache.sysds.runtime.instructions.fed">FEDInstructionUtils</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/IndexingFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">IndexingFEDInstruction</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
 <tr class="rowColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/InitFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">InitFEDInstruction</a></td>
 <td class="colLast">&nbsp;</td>
@@ -147,17 +163,77 @@
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/QuantilePickFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuantilePickFEDInstruction</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/QuantileSortFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuantileSortFEDInstruction</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuaternaryFEDInstruction</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryWCeMMFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuaternaryWCeMMFEDInstruction</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryWDivMMFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuaternaryWDivMMFEDInstruction</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryWSigmoidFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuaternaryWSigmoidFEDInstruction</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryWSLossFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuaternaryWSLossFEDInstruction</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryWUMMFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuaternaryWUMMFEDInstruction</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">ReorgFEDInstruction</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/TsmmFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">TsmmFEDInstruction</a></td>
+<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.DiagMatrix.html" title="class in org.apache.sysds.runtime.instructions.fed">ReorgFEDInstruction.DiagMatrix</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.Rdiag.html" title="class in org.apache.sysds.runtime.instructions.fed">ReorgFEDInstruction.Rdiag</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ReshapeFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">ReshapeFEDInstruction</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/SpoofFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">SpoofFEDInstruction</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/TernaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">TernaryFEDInstruction</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/TsmmFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">TsmmFEDInstruction</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/UnaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">UnaryFEDInstruction</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/UnaryMatrixFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">UnaryMatrixFEDInstruction</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/VariableFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">VariableFEDInstruction</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
 </tbody>
 </table>
 </li>
@@ -225,6 +301,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/fed/package-tree.html b/docs/api/java/org/apache/sysds/runtime/instructions/fed/package-tree.html
index 64daa60..052b211 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/fed/package-tree.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/fed/package-tree.html
@@ -81,11 +81,13 @@
 <ul>
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
 <ul>
-<li type="circle">org.apache.sysds.runtime.controlprogram.federated.<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedUDF.html" title="class in org.apache.sysds.runtime.controlprogram.federated"><span class="typeNameLink">FederatedUDF</span></a> (implements java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
+<li type="circle">org.apache.sysds.runtime.controlprogram.federated.<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedUDF.html" title="class in org.apache.sysds.runtime.controlprogram.federated"><span class="typeNameLink">FederatedUDF</span></a> (implements org.apache.sysds.runtime.lineage.<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a>, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
 <li type="circle">org.apache.sysds.runtime.instructions.fed.<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/MultiReturnParameterizedBuiltinFEDInstruction.CreateFrameEncoder.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">MultiReturnParameterizedBuiltinFEDInstruction.CreateFrameEncoder</span></a></li>
 <li type="circle">org.apache.sysds.runtime.instructions.fed.<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/MultiReturnParameterizedBuiltinFEDInstruction.ExecuteFrameEncoder.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">MultiReturnParameterizedBuiltinFEDInstruction.ExecuteFrameEncoder</span></a></li>
 <li type="circle">org.apache.sysds.runtime.instructions.fed.<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ParameterizedBuiltinFEDInstruction.DecodeMatrix.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">ParameterizedBuiltinFEDInstruction.DecodeMatrix</span></a></li>
+<li type="circle">org.apache.sysds.runtime.instructions.fed.<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.DiagMatrix.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">ReorgFEDInstruction.DiagMatrix</span></a></li>
+<li type="circle">org.apache.sysds.runtime.instructions.fed.<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.Rdiag.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">ReorgFEDInstruction.Rdiag</span></a></li>
 </ul>
 </li>
 <li type="circle">org.apache.sysds.runtime.instructions.fed.<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstructionUtils.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">FEDInstructionUtils</span></a></li>
@@ -93,6 +95,7 @@
 <ul>
 <li type="circle">org.apache.sysds.runtime.instructions.fed.<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">FEDInstruction</span></a>
 <ul>
+<li type="circle">org.apache.sysds.runtime.instructions.fed.<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/AggregateTernaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">AggregateTernaryFEDInstruction</span></a></li>
 <li type="circle">org.apache.sysds.runtime.instructions.fed.<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">ComputationFEDInstruction</span></a> (implements org.apache.sysds.runtime.lineage.<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a>)
 <ul>
 <li type="circle">org.apache.sysds.runtime.instructions.fed.<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/BinaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">BinaryFEDInstruction</span></a>
@@ -101,21 +104,43 @@
 <li type="circle">org.apache.sysds.runtime.instructions.fed.<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/AppendFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">AppendFEDInstruction</span></a></li>
 <li type="circle">org.apache.sysds.runtime.instructions.fed.<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/BinaryMatrixMatrixFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">BinaryMatrixMatrixFEDInstruction</span></a></li>
 <li type="circle">org.apache.sysds.runtime.instructions.fed.<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/BinaryMatrixScalarFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">BinaryMatrixScalarFEDInstruction</span></a></li>
+<li type="circle">org.apache.sysds.runtime.instructions.fed.<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/CovarianceFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">CovarianceFEDInstruction</span></a></li>
+<li type="circle">org.apache.sysds.runtime.instructions.fed.<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/QuantilePickFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">QuantilePickFEDInstruction</span></a></li>
 <li type="circle">org.apache.sysds.runtime.instructions.fed.<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/TsmmFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">TsmmFEDInstruction</span></a></li>
 </ul>
 </li>
 <li type="circle">org.apache.sysds.runtime.instructions.fed.<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/MultiReturnParameterizedBuiltinFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">MultiReturnParameterizedBuiltinFEDInstruction</span></a></li>
 <li type="circle">org.apache.sysds.runtime.instructions.fed.<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ParameterizedBuiltinFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">ParameterizedBuiltinFEDInstruction</span></a></li>
+<li type="circle">org.apache.sysds.runtime.instructions.fed.<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">QuaternaryFEDInstruction</span></a>
+<ul>
+<li type="circle">org.apache.sysds.runtime.instructions.fed.<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryWCeMMFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">QuaternaryWCeMMFEDInstruction</span></a></li>
+<li type="circle">org.apache.sysds.runtime.instructions.fed.<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryWDivMMFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">QuaternaryWDivMMFEDInstruction</span></a></li>
+<li type="circle">org.apache.sysds.runtime.instructions.fed.<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryWSigmoidFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">QuaternaryWSigmoidFEDInstruction</span></a></li>
+<li type="circle">org.apache.sysds.runtime.instructions.fed.<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryWSLossFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">QuaternaryWSLossFEDInstruction</span></a></li>
+<li type="circle">org.apache.sysds.runtime.instructions.fed.<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryWUMMFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">QuaternaryWUMMFEDInstruction</span></a></li>
+</ul>
+</li>
+<li type="circle">org.apache.sysds.runtime.instructions.fed.<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/TernaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">TernaryFEDInstruction</span></a></li>
 <li type="circle">org.apache.sysds.runtime.instructions.fed.<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/UnaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">UnaryFEDInstruction</span></a>
 <ul>
-<li type="circle">org.apache.sysds.runtime.instructions.fed.<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/AggregateUnaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">AggregateUnaryFEDInstruction</span></a></li>
+<li type="circle">org.apache.sysds.runtime.instructions.fed.<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/AggregateUnaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">AggregateUnaryFEDInstruction</span></a>
+<ul>
+<li type="circle">org.apache.sysds.runtime.instructions.fed.<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/CentralMomentFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">CentralMomentFEDInstruction</span></a></li>
+</ul>
+</li>
+<li type="circle">org.apache.sysds.runtime.instructions.fed.<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/IndexingFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">IndexingFEDInstruction</span></a></li>
 <li type="circle">org.apache.sysds.runtime.instructions.fed.<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/MMChainFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">MMChainFEDInstruction</span></a></li>
+<li type="circle">org.apache.sysds.runtime.instructions.fed.<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/QuantileSortFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">QuantileSortFEDInstruction</span></a></li>
 <li type="circle">org.apache.sysds.runtime.instructions.fed.<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">ReorgFEDInstruction</span></a></li>
+<li type="circle">org.apache.sysds.runtime.instructions.fed.<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ReshapeFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">ReshapeFEDInstruction</span></a></li>
+<li type="circle">org.apache.sysds.runtime.instructions.fed.<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/UnaryMatrixFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">UnaryMatrixFEDInstruction</span></a></li>
 </ul>
 </li>
 </ul>
 </li>
-<li type="circle">org.apache.sysds.runtime.instructions.fed.<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/InitFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">InitFEDInstruction</span></a></li>
+<li type="circle">org.apache.sysds.runtime.instructions.fed.<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/InitFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">InitFEDInstruction</span></a> (implements org.apache.sysds.runtime.lineage.<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a>)</li>
+<li type="circle">org.apache.sysds.runtime.instructions.fed.<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/SpoofFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">SpoofFEDInstruction</span></a></li>
+<li type="circle">org.apache.sysds.runtime.instructions.fed.<a href="../../../../../../org/apache/sysds/runtime/instructions/fed/VariableFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">VariableFEDInstruction</span></a> (implements org.apache.sysds.runtime.lineage.<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a>)</li>
 </ul>
 </li>
 </ul>
@@ -183,6 +208,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/fed/package-use.html b/docs/api/java/org/apache/sysds/runtime/instructions/fed/package-use.html
index dc88a4d..46cfcb8 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/fed/package-use.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/fed/package-use.html
@@ -124,23 +124,35 @@
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/class-use/AggregateBinaryFEDInstruction.html#org.apache.sysds.runtime.instructions.fed">AggregateBinaryFEDInstruction</a>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/class-use/AggregateUnaryFEDInstruction.html#org.apache.sysds.runtime.instructions.fed">AggregateUnaryFEDInstruction</a>&nbsp;</td>
+<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/class-use/AggregateTernaryFEDInstruction.html#org.apache.sysds.runtime.instructions.fed">AggregateTernaryFEDInstruction</a>&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/class-use/AppendFEDInstruction.html#org.apache.sysds.runtime.instructions.fed">AppendFEDInstruction</a>&nbsp;</td>
+<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/class-use/AggregateUnaryFEDInstruction.html#org.apache.sysds.runtime.instructions.fed">AggregateUnaryFEDInstruction</a>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/class-use/AppendFEDInstruction.html#org.apache.sysds.runtime.instructions.fed">AppendFEDInstruction</a>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/class-use/BinaryFEDInstruction.html#org.apache.sysds.runtime.instructions.fed">BinaryFEDInstruction</a>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/class-use/CentralMomentFEDInstruction.html#org.apache.sysds.runtime.instructions.fed">CentralMomentFEDInstruction</a>&nbsp;</td>
+</tr>
 <tr class="altColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/class-use/ComputationFEDInstruction.html#org.apache.sysds.runtime.instructions.fed">ComputationFEDInstruction</a>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/class-use/FEDInstruction.html#org.apache.sysds.runtime.instructions.fed">FEDInstruction</a>&nbsp;</td>
+<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/class-use/CovarianceFEDInstruction.html#org.apache.sysds.runtime.instructions.fed">CovarianceFEDInstruction</a>&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/class-use/FEDInstruction.html#org.apache.sysds.runtime.instructions.fed">FEDInstruction</a>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/class-use/FEDInstruction.FEDType.html#org.apache.sysds.runtime.instructions.fed">FEDInstruction.FEDType</a>&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/class-use/IndexingFEDInstruction.html#org.apache.sysds.runtime.instructions.fed">IndexingFEDInstruction</a>&nbsp;</td>
+</tr>
 <tr class="rowColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/class-use/InitFEDInstruction.html#org.apache.sysds.runtime.instructions.fed">InitFEDInstruction</a>&nbsp;</td>
 </tr>
@@ -154,14 +166,38 @@
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/class-use/ParameterizedBuiltinFEDInstruction.html#org.apache.sysds.runtime.instructions.fed">ParameterizedBuiltinFEDInstruction</a>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/class-use/QuantilePickFEDInstruction.html#org.apache.sysds.runtime.instructions.fed">QuantilePickFEDInstruction</a>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/class-use/QuantileSortFEDInstruction.html#org.apache.sysds.runtime.instructions.fed">QuantileSortFEDInstruction</a>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/class-use/QuaternaryFEDInstruction.html#org.apache.sysds.runtime.instructions.fed">QuaternaryFEDInstruction</a>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/class-use/ReorgFEDInstruction.html#org.apache.sysds.runtime.instructions.fed">ReorgFEDInstruction</a>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/class-use/ReshapeFEDInstruction.html#org.apache.sysds.runtime.instructions.fed">ReshapeFEDInstruction</a>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/class-use/SpoofFEDInstruction.html#org.apache.sysds.runtime.instructions.fed">SpoofFEDInstruction</a>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/class-use/TernaryFEDInstruction.html#org.apache.sysds.runtime.instructions.fed">TernaryFEDInstruction</a>&nbsp;</td>
+</tr>
 <tr class="altColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/class-use/TsmmFEDInstruction.html#org.apache.sysds.runtime.instructions.fed">TsmmFEDInstruction</a>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/class-use/UnaryFEDInstruction.html#org.apache.sysds.runtime.instructions.fed">UnaryFEDInstruction</a>&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/class-use/UnaryMatrixFEDInstruction.html#org.apache.sysds.runtime.instructions.fed">UnaryMatrixFEDInstruction</a>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/class-use/VariableFEDInstruction.html#org.apache.sysds.runtime.instructions.fed">VariableFEDInstruction</a>&nbsp;</td>
+</tr>
 </tbody>
 </table>
 </li>
@@ -214,6 +250,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/AggregateBinaryGPUInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/AggregateBinaryGPUInstruction.html
index c02f0f1..8e1870f 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/AggregateBinaryGPUInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/AggregateBinaryGPUInstruction.html
@@ -117,6 +117,10 @@
 <div class="description">
 <ul class="blockList">
 <li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a></dd>
+</dl>
 <hr>
 <br>
 <pre>public class <span class="typeNameLabel">AggregateBinaryGPUInstruction</span>
@@ -160,7 +164,7 @@
 <!--   -->
 </a>
 <h3>Fields inherited from class&nbsp;org.apache.sysds.runtime.instructions.gpu.<a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">GPUInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ABS_KERNEL">MISC_TIMER_ABS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ACOS_KERNEL">MISC_TIMER_ACOS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ACTIVATION_FORWARD_LIB">MISC_TIMER_ACTIVATION_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE">MISC_TIMER_ALLOCATE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE_DENSE_OUTPUT">MISC_TIMER_ALLOCATE_DENSE_OUTPUT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE_SPARSE_OUTPUT">MISC_TIMER_ALLOCATE_SPARSE_OUTPUT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ASIN_KERNEL">MISC_TIMER_ASIN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ATAN_KERNEL">MISC_TIMER_ATAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_BIAS_ADD_LIB">MISC_TIMER_BIAS_ADD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CBIND_KERNEL">MISC_TIMER_CBIND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CEIL_KERNEL">MISC_TIMER_CEIL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COLUMN_TO_ROW_MAJOR">MISC_TIMER_COLUMN_TO_ROW_MAJOR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COMPARE_AND_SET_KERNEL">MISC_TIMER_COMPARE_AND_SET_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_BACKWARD_DATA_LIB">MISC_TIMER_CONVOLUTION_BACKWARD_DATA_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_BACKWARD_FILTER_LIB">MISC_TIMER_CONVOLUTION_BACKWARD_FILTER_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_FORWARD_LIB">MISC_TIMER_CONVOLUTION_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COS_KERNEL">MISC_TIMER_COS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COSH_KERNEL">MISC_TIMER_COSH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDA_FREE">MISC_TIMER_CUDA_FREE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDA_SYNC">MISC_TIMER_CUDA_SYNC</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDNN_CLEANUP">MISC_TIMER_CUDNN_CLEANUP</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDNN_INIT">MISC_TIMER_CUDNN_INIT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUMULATIVE_SCAN_KERNEL">MISC_TIMER_CUMULATIVE_SCAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUMULATIVE_SUMPROD_KERNEL">MISC_TIMER_CUMULATIVE_SUMPROD_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DAXPY_LIB">MISC_TIMER_DAXPY_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DAXPY_MV_KERNEL">MISC_TIMER_DAXPY_MV_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_DGEAM_LIB">MISC_TIMER_DENSE_DGEAM_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_DOT_LIB">MISC_TIMER_DENSE_DOT_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_IM2COL_KERNEL">MISC_TIMER_DENSE_IM2COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_MATRIX_DENSE_MATRIX_LIB">MISC_TIMER_DENSE_MATRIX_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_MATRIX_DENSE_VECTOR_LIB">MISC_TIMER_DENSE_MATRIX_DENSE_VECTOR_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_REORG_KNPQ_KERNEL">MISC_TIMER_DENSE_REORG_KNPQ_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_TO_SPARSE">MISC_TIMER_DENSE_TO_SPARSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_VECTOR_DENSE_MATRIX_LIB">MISC_TIMER_DENSE_VECTOR_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DEVICE_TO_DEVICE">MISC_TIMER_DEVICE_TO_DEVICE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DEVICE_TO_HOST">MISC_TIMER_DEVICE_TO_HOST</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_EVICT">MISC_TIMER_EVICT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_EXP_KERNEL">MISC_TIMER_EXP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_FILL_KERNEL">MISC_TIMER_FILL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_FLOOR_KERNEL">MISC_TIMER_FLOOR_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_HOST_TO_DEVICE">MISC_TIMER_HOST_TO_DEVICE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_LOG_KERNEL">MISC_TIMER_LOG_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MATRIX_MATRIX_CELLWISE_OP_KERNEL">MISC_TIMER_MATRIX_MATRIX_CELLWISE_OP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MATRIX_SCALAR_OP_KERNEL">MISC_TIMER_MATRIX_SCALAR_OP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MAXPOOLING_BACKWARD_LIB">MISC_TIMER_MAXPOOLING_BACKWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MAXPOOLING_FORWARD_LIB">MISC_TIMER_MAXPOOLING_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_OBJECT_CLONE">MISC_TIMER_OBJECT_CLONE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ORMQR">MISC_TIMER_ORMQR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_QR">MISC_TIMER_QR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_QR_BUFFER">MISC_TIMER_QR_BUFFER</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RBIND_KERNEL">MISC_TIMER_RBIND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_ALL_KERNEL">MISC_TIMER_REDUCE_ALL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_COL_KERNEL">MISC_TIMER_REDUCE_COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_ROW_KERNEL">MISC_TIMER_REDUCE_ROW_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RELU_BACKWARD_KERNEL">MISC_TIMER_RELU_BACKWARD_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RELU_KERNEL">MISC_TIMER_RELU_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REUSE">MISC_TIMER_REUSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_DENSE_OP">MISC_TIMER_RIX_DENSE_OP</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_SPARSE_DENSE_OP_NNZ">MISC_TIMER_RIX_SPARSE_DENSE_OP_NNZ</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_SPARSE_DENSE_OP_ROWWISE">MISC_TIMER_RIX_SPARSE_DENSE_OP_ROWWISE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ROUND_KERNEL">MISC_TIMER_ROUND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ROW_TO_COLUMN_MAJOR">MISC_TIMER_ROW_TO_COLUMN_MAJOR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SET_ZERO">MISC_TIMER_SET_ZERO</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIGMOID_KERNEL">MISC_TIMER_SIGMOID_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIGN_KERNEL">MISC_TIMER_SIGN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIN_KERNEL">MISC_TIMER_SIN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SINH_KERNEL">MISC_TIMER_SINH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_ALLOCATE_LIB">MISC_TIMER_SPARSE_ALLOCATE_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_DGEAM_LIB">MISC_TIMER_SPARSE_DGEAM_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_IM2COL_KERNEL">MISC_TIMER_SPARSE_IM2COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_DENSE_MATRIX_LIB">MISC_TIMER_SPARSE_MATRIX_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_DENSE_VECTOR_LIB">MISC_TIMER_SPARSE_MATRIX_DENSE_VECTOR_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_SPARSE_MATRIX_LIB">MISC_TIMER_SPARSE_MATRIX_SPARSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_TO_DENSE">MISC_TIMER_SPARSE_TO_DENSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SQRT_KERNEL">MISC_TIMER_SQRT_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SYRK_LIB">MISC_TIMER_SYRK_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TAN_KERNEL">MISC_TIMER_TAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TANH_KERNEL">MISC_TIMER_TANH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TRANSPOSE_LIB">MISC_TIMER_TRANSPOSE_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TRSM">MISC_TIMER_TRSM</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_UPPER_TO_LOWER_TRIANGLE_KERNEL">MISC_TIMER_UPPER_TO_LOWER_TRIANGLE_KERNEL</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#Z:Z_input1">_input1</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#Z:Z_input2">_input2</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#Z:Z_output">_output</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ABS_KERNEL">MISC_TIMER_ABS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ACOS_KERNEL">MISC_TIMER_ACOS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ACTIVATION_FORWARD_LIB">MISC_TIMER_ACTIVATION_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE">MISC_TIMER_ALLOCATE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE_DENSE_OUTPUT">MISC_TIMER_ALLOCATE_DENSE_OUTPUT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE_SPARSE_OUTPUT">MISC_TIMER_ALLOCATE_SPARSE_OUTPUT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ASIN_KERNEL">MISC_TIMER_ASIN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ATAN_KERNEL">MISC_TIMER_ATAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_BIAS_ADD_LIB">MISC_TIMER_BIAS_ADD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CBIND_KERNEL">MISC_TIMER_CBIND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CEIL_KERNEL">MISC_TIMER_CEIL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COLUMN_TO_ROW_MAJOR">MISC_TIMER_COLUMN_TO_ROW_MAJOR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COMPARE_AND_SET_KERNEL">MISC_TIMER_COMPARE_AND_SET_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_BACKWARD_DATA_LIB">MISC_TIMER_CONVOLUTION_BACKWARD_DATA_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_BACKWARD_FILTER_LIB">MISC_TIMER_CONVOLUTION_BACKWARD_FILTER_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_FORWARD_LIB">MISC_TIMER_CONVOLUTION_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COS_KERNEL">MISC_TIMER_COS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COSH_KERNEL">MISC_TIMER_COSH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDA_FREE">MISC_TIMER_CUDA_FREE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDA_SYNC">MISC_TIMER_CUDA_SYNC</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDNN_CLEANUP">MISC_TIMER_CUDNN_CLEANUP</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDNN_INIT">MISC_TIMER_CUDNN_INIT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUMULATIVE_SCAN_KERNEL">MISC_TIMER_CUMULATIVE_SCAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUMULATIVE_SUMPROD_KERNEL">MISC_TIMER_CUMULATIVE_SUMPROD_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DAXPY_LIB">MISC_TIMER_DAXPY_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DAXPY_MV_KERNEL">MISC_TIMER_DAXPY_MV_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_DGEAM_LIB">MISC_TIMER_DENSE_DGEAM_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_DOT_LIB">MISC_TIMER_DENSE_DOT_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_IM2COL_KERNEL">MISC_TIMER_DENSE_IM2COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_MATRIX_DENSE_MATRIX_LIB">MISC_TIMER_DENSE_MATRIX_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_MATRIX_DENSE_VECTOR_LIB">MISC_TIMER_DENSE_MATRIX_DENSE_VECTOR_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_REORG_KNPQ_KERNEL">MISC_TIMER_DENSE_REORG_KNPQ_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_TO_SPARSE">MISC_TIMER_DENSE_TO_SPARSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_VECTOR_DENSE_MATRIX_LIB">MISC_TIMER_DENSE_VECTOR_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DEVICE_TO_DEVICE">MISC_TIMER_DEVICE_TO_DEVICE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DEVICE_TO_HOST">MISC_TIMER_DEVICE_TO_HOST</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_EVICT">MISC_TIMER_EVICT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_EXP_KERNEL">MISC_TIMER_EXP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_FILL_KERNEL">MISC_TIMER_FILL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_FLOOR_KERNEL">MISC_TIMER_FLOOR_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_HOST_TO_DEVICE">MISC_TIMER_HOST_TO_DEVICE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_LOG_KERNEL">MISC_TIMER_LOG_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MATRIX_MATRIX_CELLWISE_OP_KERNEL">MISC_TIMER_MATRIX_MATRIX_CELLWISE_OP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MATRIX_SCALAR_OP_KERNEL">MISC_TIMER_MATRIX_SCALAR_OP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MAXPOOLING_BACKWARD_LIB">MISC_TIMER_MAXPOOLING_BACKWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MAXPOOLING_FORWARD_LIB">MISC_TIMER_MAXPOOLING_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_OBJECT_CLONE">MISC_TIMER_OBJECT_CLONE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ORMQR">MISC_TIMER_ORMQR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_QR">MISC_TIMER_QR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_QR_BUFFER">MISC_TIMER_QR_BUFFER</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RBIND_KERNEL">MISC_TIMER_RBIND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_ALL_KERNEL">MISC_TIMER_REDUCE_ALL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_COL_KERNEL">MISC_TIMER_REDUCE_COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_ROW_KERNEL">MISC_TIMER_REDUCE_ROW_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RELU_BACKWARD_KERNEL">MISC_TIMER_RELU_BACKWARD_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RELU_KERNEL">MISC_TIMER_RELU_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REUSE">MISC_TIMER_REUSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_DENSE_OP">MISC_TIMER_RIX_DENSE_OP</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_SPARSE_DENSE_OP_NNZ">MISC_TIMER_RIX_SPARSE_DENSE_OP_NNZ</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_SPARSE_DENSE_OP_ROWWISE">MISC_TIMER_RIX_SPARSE_DENSE_OP_ROWWISE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ROUND_KERNEL">MISC_TIMER_ROUND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ROW_TO_COLUMN_MAJOR">MISC_TIMER_ROW_TO_COLUMN_MAJOR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SET_ZERO">MISC_TIMER_SET_ZERO</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIGMOID_KERNEL">MISC_TIMER_SIGMOID_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIGN_KERNEL">MISC_TIMER_SIGN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIN_KERNEL">MISC_TIMER_SIN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SINH_KERNEL">MISC_TIMER_SINH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_ALLOCATE_LIB">MISC_TIMER_SPARSE_ALLOCATE_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_DGEAM_LIB">MISC_TIMER_SPARSE_DGEAM_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_IM2COL_KERNEL">MISC_TIMER_SPARSE_IM2COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_DENSE_MATRIX_LIB">MISC_TIMER_SPARSE_MATRIX_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_DENSE_VECTOR_LIB">MISC_TIMER_SPARSE_MATRIX_DENSE_VECTOR_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_SPARSE_MATRIX_LIB">MISC_TIMER_SPARSE_MATRIX_SPARSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_TO_DENSE">MISC_TIMER_SPARSE_TO_DENSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SQRT_KERNEL">MISC_TIMER_SQRT_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SYRK_LIB">MISC_TIMER_SYRK_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TAN_KERNEL">MISC_TIMER_TAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TANH_KERNEL">MISC_TIMER_TANH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TRANSPOSE_LIB">MISC_TIMER_TRANSPOSE_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TRSM">MISC_TIMER_TRSM</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_UPPER_TO_LOWER_TRIANGLE_KERNEL">MISC_TIMER_UPPER_TO_LOWER_TRIANGLE_KERNEL</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="fields.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
@@ -199,7 +203,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.gpu.<a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">GPUInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getGPUInstructionType--">getGPUInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getGPUInstructionType--">getGPUInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
@@ -215,6 +219,13 @@
 <h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
 <code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.lineage.LineageTraceable">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.sysds.runtime.lineage.<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#getLineageItems-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItems</a>, <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#hasSingleLineage--">hasSingleLineage</a></code></li>
+</ul>
 </li>
 </ul>
 </li>
@@ -324,6 +335,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/AggregateUnaryGPUInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/AggregateUnaryGPUInstruction.html
index 0516a0a..e678d01 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/AggregateUnaryGPUInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/AggregateUnaryGPUInstruction.html
@@ -117,6 +117,10 @@
 <div class="description">
 <ul class="blockList">
 <li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a></dd>
+</dl>
 <hr>
 <br>
 <pre>public class <span class="typeNameLabel">AggregateUnaryGPUInstruction</span>
@@ -161,7 +165,7 @@
 <!--   -->
 </a>
 <h3>Fields inherited from class&nbsp;org.apache.sysds.runtime.instructions.gpu.<a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">GPUInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ABS_KERNEL">MISC_TIMER_ABS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ACOS_KERNEL">MISC_TIMER_ACOS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ACTIVATION_FORWARD_LIB">MISC_TIMER_ACTIVATION_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE">MISC_TIMER_ALLOCATE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE_DENSE_OUTPUT">MISC_TIMER_ALLOCATE_DENSE_OUTPUT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE_SPARSE_OUTPUT">MISC_TIMER_ALLOCATE_SPARSE_OUTPUT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ASIN_KERNEL">MISC_TIMER_ASIN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ATAN_KERNEL">MISC_TIMER_ATAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_BIAS_ADD_LIB">MISC_TIMER_BIAS_ADD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CBIND_KERNEL">MISC_TIMER_CBIND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CEIL_KERNEL">MISC_TIMER_CEIL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COLUMN_TO_ROW_MAJOR">MISC_TIMER_COLUMN_TO_ROW_MAJOR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COMPARE_AND_SET_KERNEL">MISC_TIMER_COMPARE_AND_SET_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_BACKWARD_DATA_LIB">MISC_TIMER_CONVOLUTION_BACKWARD_DATA_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_BACKWARD_FILTER_LIB">MISC_TIMER_CONVOLUTION_BACKWARD_FILTER_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_FORWARD_LIB">MISC_TIMER_CONVOLUTION_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COS_KERNEL">MISC_TIMER_COS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COSH_KERNEL">MISC_TIMER_COSH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDA_FREE">MISC_TIMER_CUDA_FREE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDA_SYNC">MISC_TIMER_CUDA_SYNC</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDNN_CLEANUP">MISC_TIMER_CUDNN_CLEANUP</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDNN_INIT">MISC_TIMER_CUDNN_INIT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUMULATIVE_SCAN_KERNEL">MISC_TIMER_CUMULATIVE_SCAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUMULATIVE_SUMPROD_KERNEL">MISC_TIMER_CUMULATIVE_SUMPROD_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DAXPY_LIB">MISC_TIMER_DAXPY_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DAXPY_MV_KERNEL">MISC_TIMER_DAXPY_MV_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_DGEAM_LIB">MISC_TIMER_DENSE_DGEAM_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_DOT_LIB">MISC_TIMER_DENSE_DOT_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_IM2COL_KERNEL">MISC_TIMER_DENSE_IM2COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_MATRIX_DENSE_MATRIX_LIB">MISC_TIMER_DENSE_MATRIX_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_MATRIX_DENSE_VECTOR_LIB">MISC_TIMER_DENSE_MATRIX_DENSE_VECTOR_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_REORG_KNPQ_KERNEL">MISC_TIMER_DENSE_REORG_KNPQ_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_TO_SPARSE">MISC_TIMER_DENSE_TO_SPARSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_VECTOR_DENSE_MATRIX_LIB">MISC_TIMER_DENSE_VECTOR_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DEVICE_TO_DEVICE">MISC_TIMER_DEVICE_TO_DEVICE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DEVICE_TO_HOST">MISC_TIMER_DEVICE_TO_HOST</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_EVICT">MISC_TIMER_EVICT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_EXP_KERNEL">MISC_TIMER_EXP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_FILL_KERNEL">MISC_TIMER_FILL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_FLOOR_KERNEL">MISC_TIMER_FLOOR_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_HOST_TO_DEVICE">MISC_TIMER_HOST_TO_DEVICE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_LOG_KERNEL">MISC_TIMER_LOG_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MATRIX_MATRIX_CELLWISE_OP_KERNEL">MISC_TIMER_MATRIX_MATRIX_CELLWISE_OP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MATRIX_SCALAR_OP_KERNEL">MISC_TIMER_MATRIX_SCALAR_OP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MAXPOOLING_BACKWARD_LIB">MISC_TIMER_MAXPOOLING_BACKWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MAXPOOLING_FORWARD_LIB">MISC_TIMER_MAXPOOLING_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_OBJECT_CLONE">MISC_TIMER_OBJECT_CLONE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ORMQR">MISC_TIMER_ORMQR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_QR">MISC_TIMER_QR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_QR_BUFFER">MISC_TIMER_QR_BUFFER</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RBIND_KERNEL">MISC_TIMER_RBIND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_ALL_KERNEL">MISC_TIMER_REDUCE_ALL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_COL_KERNEL">MISC_TIMER_REDUCE_COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_ROW_KERNEL">MISC_TIMER_REDUCE_ROW_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RELU_BACKWARD_KERNEL">MISC_TIMER_RELU_BACKWARD_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RELU_KERNEL">MISC_TIMER_RELU_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REUSE">MISC_TIMER_REUSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_DENSE_OP">MISC_TIMER_RIX_DENSE_OP</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_SPARSE_DENSE_OP_NNZ">MISC_TIMER_RIX_SPARSE_DENSE_OP_NNZ</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_SPARSE_DENSE_OP_ROWWISE">MISC_TIMER_RIX_SPARSE_DENSE_OP_ROWWISE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ROUND_KERNEL">MISC_TIMER_ROUND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ROW_TO_COLUMN_MAJOR">MISC_TIMER_ROW_TO_COLUMN_MAJOR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SET_ZERO">MISC_TIMER_SET_ZERO</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIGMOID_KERNEL">MISC_TIMER_SIGMOID_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIGN_KERNEL">MISC_TIMER_SIGN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIN_KERNEL">MISC_TIMER_SIN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SINH_KERNEL">MISC_TIMER_SINH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_ALLOCATE_LIB">MISC_TIMER_SPARSE_ALLOCATE_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_DGEAM_LIB">MISC_TIMER_SPARSE_DGEAM_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_IM2COL_KERNEL">MISC_TIMER_SPARSE_IM2COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_DENSE_MATRIX_LIB">MISC_TIMER_SPARSE_MATRIX_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_DENSE_VECTOR_LIB">MISC_TIMER_SPARSE_MATRIX_DENSE_VECTOR_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_SPARSE_MATRIX_LIB">MISC_TIMER_SPARSE_MATRIX_SPARSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_TO_DENSE">MISC_TIMER_SPARSE_TO_DENSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SQRT_KERNEL">MISC_TIMER_SQRT_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SYRK_LIB">MISC_TIMER_SYRK_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TAN_KERNEL">MISC_TIMER_TAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TANH_KERNEL">MISC_TIMER_TANH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TRANSPOSE_LIB">MISC_TIMER_TRANSPOSE_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TRSM">MISC_TIMER_TRSM</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_UPPER_TO_LOWER_TRIANGLE_KERNEL">MISC_TIMER_UPPER_TO_LOWER_TRIANGLE_KERNEL</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#Z:Z_input1">_input1</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#Z:Z_input2">_input2</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#Z:Z_output">_output</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ABS_KERNEL">MISC_TIMER_ABS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ACOS_KERNEL">MISC_TIMER_ACOS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ACTIVATION_FORWARD_LIB">MISC_TIMER_ACTIVATION_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE">MISC_TIMER_ALLOCATE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE_DENSE_OUTPUT">MISC_TIMER_ALLOCATE_DENSE_OUTPUT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE_SPARSE_OUTPUT">MISC_TIMER_ALLOCATE_SPARSE_OUTPUT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ASIN_KERNEL">MISC_TIMER_ASIN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ATAN_KERNEL">MISC_TIMER_ATAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_BIAS_ADD_LIB">MISC_TIMER_BIAS_ADD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CBIND_KERNEL">MISC_TIMER_CBIND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CEIL_KERNEL">MISC_TIMER_CEIL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COLUMN_TO_ROW_MAJOR">MISC_TIMER_COLUMN_TO_ROW_MAJOR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COMPARE_AND_SET_KERNEL">MISC_TIMER_COMPARE_AND_SET_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_BACKWARD_DATA_LIB">MISC_TIMER_CONVOLUTION_BACKWARD_DATA_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_BACKWARD_FILTER_LIB">MISC_TIMER_CONVOLUTION_BACKWARD_FILTER_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_FORWARD_LIB">MISC_TIMER_CONVOLUTION_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COS_KERNEL">MISC_TIMER_COS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COSH_KERNEL">MISC_TIMER_COSH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDA_FREE">MISC_TIMER_CUDA_FREE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDA_SYNC">MISC_TIMER_CUDA_SYNC</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDNN_CLEANUP">MISC_TIMER_CUDNN_CLEANUP</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDNN_INIT">MISC_TIMER_CUDNN_INIT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUMULATIVE_SCAN_KERNEL">MISC_TIMER_CUMULATIVE_SCAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUMULATIVE_SUMPROD_KERNEL">MISC_TIMER_CUMULATIVE_SUMPROD_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DAXPY_LIB">MISC_TIMER_DAXPY_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DAXPY_MV_KERNEL">MISC_TIMER_DAXPY_MV_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_DGEAM_LIB">MISC_TIMER_DENSE_DGEAM_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_DOT_LIB">MISC_TIMER_DENSE_DOT_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_IM2COL_KERNEL">MISC_TIMER_DENSE_IM2COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_MATRIX_DENSE_MATRIX_LIB">MISC_TIMER_DENSE_MATRIX_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_MATRIX_DENSE_VECTOR_LIB">MISC_TIMER_DENSE_MATRIX_DENSE_VECTOR_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_REORG_KNPQ_KERNEL">MISC_TIMER_DENSE_REORG_KNPQ_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_TO_SPARSE">MISC_TIMER_DENSE_TO_SPARSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_VECTOR_DENSE_MATRIX_LIB">MISC_TIMER_DENSE_VECTOR_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DEVICE_TO_DEVICE">MISC_TIMER_DEVICE_TO_DEVICE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DEVICE_TO_HOST">MISC_TIMER_DEVICE_TO_HOST</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_EVICT">MISC_TIMER_EVICT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_EXP_KERNEL">MISC_TIMER_EXP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_FILL_KERNEL">MISC_TIMER_FILL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_FLOOR_KERNEL">MISC_TIMER_FLOOR_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_HOST_TO_DEVICE">MISC_TIMER_HOST_TO_DEVICE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_LOG_KERNEL">MISC_TIMER_LOG_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MATRIX_MATRIX_CELLWISE_OP_KERNEL">MISC_TIMER_MATRIX_MATRIX_CELLWISE_OP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MATRIX_SCALAR_OP_KERNEL">MISC_TIMER_MATRIX_SCALAR_OP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MAXPOOLING_BACKWARD_LIB">MISC_TIMER_MAXPOOLING_BACKWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MAXPOOLING_FORWARD_LIB">MISC_TIMER_MAXPOOLING_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_OBJECT_CLONE">MISC_TIMER_OBJECT_CLONE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ORMQR">MISC_TIMER_ORMQR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_QR">MISC_TIMER_QR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_QR_BUFFER">MISC_TIMER_QR_BUFFER</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RBIND_KERNEL">MISC_TIMER_RBIND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_ALL_KERNEL">MISC_TIMER_REDUCE_ALL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_COL_KERNEL">MISC_TIMER_REDUCE_COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_ROW_KERNEL">MISC_TIMER_REDUCE_ROW_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RELU_BACKWARD_KERNEL">MISC_TIMER_RELU_BACKWARD_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RELU_KERNEL">MISC_TIMER_RELU_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REUSE">MISC_TIMER_REUSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_DENSE_OP">MISC_TIMER_RIX_DENSE_OP</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_SPARSE_DENSE_OP_NNZ">MISC_TIMER_RIX_SPARSE_DENSE_OP_NNZ</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_SPARSE_DENSE_OP_ROWWISE">MISC_TIMER_RIX_SPARSE_DENSE_OP_ROWWISE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ROUND_KERNEL">MISC_TIMER_ROUND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ROW_TO_COLUMN_MAJOR">MISC_TIMER_ROW_TO_COLUMN_MAJOR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SET_ZERO">MISC_TIMER_SET_ZERO</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIGMOID_KERNEL">MISC_TIMER_SIGMOID_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIGN_KERNEL">MISC_TIMER_SIGN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIN_KERNEL">MISC_TIMER_SIN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SINH_KERNEL">MISC_TIMER_SINH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_ALLOCATE_LIB">MISC_TIMER_SPARSE_ALLOCATE_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_DGEAM_LIB">MISC_TIMER_SPARSE_DGEAM_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_IM2COL_KERNEL">MISC_TIMER_SPARSE_IM2COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_DENSE_MATRIX_LIB">MISC_TIMER_SPARSE_MATRIX_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_DENSE_VECTOR_LIB">MISC_TIMER_SPARSE_MATRIX_DENSE_VECTOR_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_SPARSE_MATRIX_LIB">MISC_TIMER_SPARSE_MATRIX_SPARSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_TO_DENSE">MISC_TIMER_SPARSE_TO_DENSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SQRT_KERNEL">MISC_TIMER_SQRT_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SYRK_LIB">MISC_TIMER_SYRK_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TAN_KERNEL">MISC_TIMER_TAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TANH_KERNEL">MISC_TIMER_TANH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TRANSPOSE_LIB">MISC_TIMER_TRANSPOSE_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TRSM">MISC_TIMER_TRSM</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_UPPER_TO_LOWER_TRIANGLE_KERNEL">MISC_TIMER_UPPER_TO_LOWER_TRIANGLE_KERNEL</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="fields.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
@@ -200,7 +204,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.gpu.<a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">GPUInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getGPUInstructionType--">getGPUInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getGPUInstructionType--">getGPUInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
@@ -216,6 +220,13 @@
 <h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
 <code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.lineage.LineageTraceable">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.sysds.runtime.lineage.<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#getLineageItems-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItems</a>, <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#hasSingleLineage--">hasSingleLineage</a></code></li>
+</ul>
 </li>
 </ul>
 </li>
@@ -325,6 +336,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/ArithmeticBinaryGPUInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/ArithmeticBinaryGPUInstruction.html
index 13e8749..5a7b1b1 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/ArithmeticBinaryGPUInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/ArithmeticBinaryGPUInstruction.html
@@ -118,6 +118,10 @@
 <ul class="blockList">
 <li class="blockList">
 <dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a></dd>
+</dl>
+<dl>
 <dt>Direct Known Subclasses:</dt>
 <dd><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/MatrixMatrixArithmeticGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">MatrixMatrixArithmeticGPUInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/MatrixMatrixAxpyGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">MatrixMatrixAxpyGPUInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/ScalarMatrixArithmeticGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">ScalarMatrixArithmeticGPUInstruction</a></dd>
 </dl>
@@ -164,7 +168,7 @@
 <!--   -->
 </a>
 <h3>Fields inherited from class&nbsp;org.apache.sysds.runtime.instructions.gpu.<a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">GPUInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ABS_KERNEL">MISC_TIMER_ABS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ACOS_KERNEL">MISC_TIMER_ACOS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ACTIVATION_FORWARD_LIB">MISC_TIMER_ACTIVATION_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE">MISC_TIMER_ALLOCATE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE_DENSE_OUTPUT">MISC_TIMER_ALLOCATE_DENSE_OUTPUT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE_SPARSE_OUTPUT">MISC_TIMER_ALLOCATE_SPARSE_OUTPUT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ASIN_KERNEL">MISC_TIMER_ASIN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ATAN_KERNEL">MISC_TIMER_ATAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_BIAS_ADD_LIB">MISC_TIMER_BIAS_ADD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CBIND_KERNEL">MISC_TIMER_CBIND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CEIL_KERNEL">MISC_TIMER_CEIL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COLUMN_TO_ROW_MAJOR">MISC_TIMER_COLUMN_TO_ROW_MAJOR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COMPARE_AND_SET_KERNEL">MISC_TIMER_COMPARE_AND_SET_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_BACKWARD_DATA_LIB">MISC_TIMER_CONVOLUTION_BACKWARD_DATA_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_BACKWARD_FILTER_LIB">MISC_TIMER_CONVOLUTION_BACKWARD_FILTER_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_FORWARD_LIB">MISC_TIMER_CONVOLUTION_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COS_KERNEL">MISC_TIMER_COS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COSH_KERNEL">MISC_TIMER_COSH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDA_FREE">MISC_TIMER_CUDA_FREE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDA_SYNC">MISC_TIMER_CUDA_SYNC</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDNN_CLEANUP">MISC_TIMER_CUDNN_CLEANUP</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDNN_INIT">MISC_TIMER_CUDNN_INIT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUMULATIVE_SCAN_KERNEL">MISC_TIMER_CUMULATIVE_SCAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUMULATIVE_SUMPROD_KERNEL">MISC_TIMER_CUMULATIVE_SUMPROD_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DAXPY_LIB">MISC_TIMER_DAXPY_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DAXPY_MV_KERNEL">MISC_TIMER_DAXPY_MV_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_DGEAM_LIB">MISC_TIMER_DENSE_DGEAM_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_DOT_LIB">MISC_TIMER_DENSE_DOT_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_IM2COL_KERNEL">MISC_TIMER_DENSE_IM2COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_MATRIX_DENSE_MATRIX_LIB">MISC_TIMER_DENSE_MATRIX_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_MATRIX_DENSE_VECTOR_LIB">MISC_TIMER_DENSE_MATRIX_DENSE_VECTOR_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_REORG_KNPQ_KERNEL">MISC_TIMER_DENSE_REORG_KNPQ_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_TO_SPARSE">MISC_TIMER_DENSE_TO_SPARSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_VECTOR_DENSE_MATRIX_LIB">MISC_TIMER_DENSE_VECTOR_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DEVICE_TO_DEVICE">MISC_TIMER_DEVICE_TO_DEVICE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DEVICE_TO_HOST">MISC_TIMER_DEVICE_TO_HOST</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_EVICT">MISC_TIMER_EVICT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_EXP_KERNEL">MISC_TIMER_EXP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_FILL_KERNEL">MISC_TIMER_FILL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_FLOOR_KERNEL">MISC_TIMER_FLOOR_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_HOST_TO_DEVICE">MISC_TIMER_HOST_TO_DEVICE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_LOG_KERNEL">MISC_TIMER_LOG_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MATRIX_MATRIX_CELLWISE_OP_KERNEL">MISC_TIMER_MATRIX_MATRIX_CELLWISE_OP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MATRIX_SCALAR_OP_KERNEL">MISC_TIMER_MATRIX_SCALAR_OP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MAXPOOLING_BACKWARD_LIB">MISC_TIMER_MAXPOOLING_BACKWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MAXPOOLING_FORWARD_LIB">MISC_TIMER_MAXPOOLING_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_OBJECT_CLONE">MISC_TIMER_OBJECT_CLONE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ORMQR">MISC_TIMER_ORMQR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_QR">MISC_TIMER_QR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_QR_BUFFER">MISC_TIMER_QR_BUFFER</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RBIND_KERNEL">MISC_TIMER_RBIND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_ALL_KERNEL">MISC_TIMER_REDUCE_ALL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_COL_KERNEL">MISC_TIMER_REDUCE_COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_ROW_KERNEL">MISC_TIMER_REDUCE_ROW_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RELU_BACKWARD_KERNEL">MISC_TIMER_RELU_BACKWARD_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RELU_KERNEL">MISC_TIMER_RELU_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REUSE">MISC_TIMER_REUSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_DENSE_OP">MISC_TIMER_RIX_DENSE_OP</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_SPARSE_DENSE_OP_NNZ">MISC_TIMER_RIX_SPARSE_DENSE_OP_NNZ</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_SPARSE_DENSE_OP_ROWWISE">MISC_TIMER_RIX_SPARSE_DENSE_OP_ROWWISE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ROUND_KERNEL">MISC_TIMER_ROUND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ROW_TO_COLUMN_MAJOR">MISC_TIMER_ROW_TO_COLUMN_MAJOR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SET_ZERO">MISC_TIMER_SET_ZERO</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIGMOID_KERNEL">MISC_TIMER_SIGMOID_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIGN_KERNEL">MISC_TIMER_SIGN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIN_KERNEL">MISC_TIMER_SIN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SINH_KERNEL">MISC_TIMER_SINH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_ALLOCATE_LIB">MISC_TIMER_SPARSE_ALLOCATE_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_DGEAM_LIB">MISC_TIMER_SPARSE_DGEAM_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_IM2COL_KERNEL">MISC_TIMER_SPARSE_IM2COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_DENSE_MATRIX_LIB">MISC_TIMER_SPARSE_MATRIX_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_DENSE_VECTOR_LIB">MISC_TIMER_SPARSE_MATRIX_DENSE_VECTOR_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_SPARSE_MATRIX_LIB">MISC_TIMER_SPARSE_MATRIX_SPARSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_TO_DENSE">MISC_TIMER_SPARSE_TO_DENSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SQRT_KERNEL">MISC_TIMER_SQRT_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SYRK_LIB">MISC_TIMER_SYRK_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TAN_KERNEL">MISC_TIMER_TAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TANH_KERNEL">MISC_TIMER_TANH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TRANSPOSE_LIB">MISC_TIMER_TRANSPOSE_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TRSM">MISC_TIMER_TRSM</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_UPPER_TO_LOWER_TRIANGLE_KERNEL">MISC_TIMER_UPPER_TO_LOWER_TRIANGLE_KERNEL</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#Z:Z_input1">_input1</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#Z:Z_input2">_input2</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#Z:Z_output">_output</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ABS_KERNEL">MISC_TIMER_ABS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ACOS_KERNEL">MISC_TIMER_ACOS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ACTIVATION_FORWARD_LIB">MISC_TIMER_ACTIVATION_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE">MISC_TIMER_ALLOCATE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE_DENSE_OUTPUT">MISC_TIMER_ALLOCATE_DENSE_OUTPUT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE_SPARSE_OUTPUT">MISC_TIMER_ALLOCATE_SPARSE_OUTPUT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ASIN_KERNEL">MISC_TIMER_ASIN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ATAN_KERNEL">MISC_TIMER_ATAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_BIAS_ADD_LIB">MISC_TIMER_BIAS_ADD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CBIND_KERNEL">MISC_TIMER_CBIND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CEIL_KERNEL">MISC_TIMER_CEIL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COLUMN_TO_ROW_MAJOR">MISC_TIMER_COLUMN_TO_ROW_MAJOR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COMPARE_AND_SET_KERNEL">MISC_TIMER_COMPARE_AND_SET_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_BACKWARD_DATA_LIB">MISC_TIMER_CONVOLUTION_BACKWARD_DATA_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_BACKWARD_FILTER_LIB">MISC_TIMER_CONVOLUTION_BACKWARD_FILTER_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_FORWARD_LIB">MISC_TIMER_CONVOLUTION_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COS_KERNEL">MISC_TIMER_COS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COSH_KERNEL">MISC_TIMER_COSH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDA_FREE">MISC_TIMER_CUDA_FREE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDA_SYNC">MISC_TIMER_CUDA_SYNC</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDNN_CLEANUP">MISC_TIMER_CUDNN_CLEANUP</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDNN_INIT">MISC_TIMER_CUDNN_INIT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUMULATIVE_SCAN_KERNEL">MISC_TIMER_CUMULATIVE_SCAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUMULATIVE_SUMPROD_KERNEL">MISC_TIMER_CUMULATIVE_SUMPROD_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DAXPY_LIB">MISC_TIMER_DAXPY_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DAXPY_MV_KERNEL">MISC_TIMER_DAXPY_MV_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_DGEAM_LIB">MISC_TIMER_DENSE_DGEAM_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_DOT_LIB">MISC_TIMER_DENSE_DOT_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_IM2COL_KERNEL">MISC_TIMER_DENSE_IM2COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_MATRIX_DENSE_MATRIX_LIB">MISC_TIMER_DENSE_MATRIX_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_MATRIX_DENSE_VECTOR_LIB">MISC_TIMER_DENSE_MATRIX_DENSE_VECTOR_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_REORG_KNPQ_KERNEL">MISC_TIMER_DENSE_REORG_KNPQ_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_TO_SPARSE">MISC_TIMER_DENSE_TO_SPARSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_VECTOR_DENSE_MATRIX_LIB">MISC_TIMER_DENSE_VECTOR_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DEVICE_TO_DEVICE">MISC_TIMER_DEVICE_TO_DEVICE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DEVICE_TO_HOST">MISC_TIMER_DEVICE_TO_HOST</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_EVICT">MISC_TIMER_EVICT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_EXP_KERNEL">MISC_TIMER_EXP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_FILL_KERNEL">MISC_TIMER_FILL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_FLOOR_KERNEL">MISC_TIMER_FLOOR_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_HOST_TO_DEVICE">MISC_TIMER_HOST_TO_DEVICE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_LOG_KERNEL">MISC_TIMER_LOG_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MATRIX_MATRIX_CELLWISE_OP_KERNEL">MISC_TIMER_MATRIX_MATRIX_CELLWISE_OP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MATRIX_SCALAR_OP_KERNEL">MISC_TIMER_MATRIX_SCALAR_OP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MAXPOOLING_BACKWARD_LIB">MISC_TIMER_MAXPOOLING_BACKWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MAXPOOLING_FORWARD_LIB">MISC_TIMER_MAXPOOLING_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_OBJECT_CLONE">MISC_TIMER_OBJECT_CLONE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ORMQR">MISC_TIMER_ORMQR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_QR">MISC_TIMER_QR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_QR_BUFFER">MISC_TIMER_QR_BUFFER</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RBIND_KERNEL">MISC_TIMER_RBIND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_ALL_KERNEL">MISC_TIMER_REDUCE_ALL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_COL_KERNEL">MISC_TIMER_REDUCE_COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_ROW_KERNEL">MISC_TIMER_REDUCE_ROW_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RELU_BACKWARD_KERNEL">MISC_TIMER_RELU_BACKWARD_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RELU_KERNEL">MISC_TIMER_RELU_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REUSE">MISC_TIMER_REUSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_DENSE_OP">MISC_TIMER_RIX_DENSE_OP</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_SPARSE_DENSE_OP_NNZ">MISC_TIMER_RIX_SPARSE_DENSE_OP_NNZ</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_SPARSE_DENSE_OP_ROWWISE">MISC_TIMER_RIX_SPARSE_DENSE_OP_ROWWISE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ROUND_KERNEL">MISC_TIMER_ROUND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ROW_TO_COLUMN_MAJOR">MISC_TIMER_ROW_TO_COLUMN_MAJOR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SET_ZERO">MISC_TIMER_SET_ZERO</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIGMOID_KERNEL">MISC_TIMER_SIGMOID_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIGN_KERNEL">MISC_TIMER_SIGN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIN_KERNEL">MISC_TIMER_SIN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SINH_KERNEL">MISC_TIMER_SINH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_ALLOCATE_LIB">MISC_TIMER_SPARSE_ALLOCATE_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_DGEAM_LIB">MISC_TIMER_SPARSE_DGEAM_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_IM2COL_KERNEL">MISC_TIMER_SPARSE_IM2COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_DENSE_MATRIX_LIB">MISC_TIMER_SPARSE_MATRIX_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_DENSE_VECTOR_LIB">MISC_TIMER_SPARSE_MATRIX_DENSE_VECTOR_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_SPARSE_MATRIX_LIB">MISC_TIMER_SPARSE_MATRIX_SPARSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_TO_DENSE">MISC_TIMER_SPARSE_TO_DENSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SQRT_KERNEL">MISC_TIMER_SQRT_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SYRK_LIB">MISC_TIMER_SYRK_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TAN_KERNEL">MISC_TIMER_TAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TANH_KERNEL">MISC_TIMER_TANH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TRANSPOSE_LIB">MISC_TIMER_TRANSPOSE_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TRSM">MISC_TIMER_TRSM</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_UPPER_TO_LOWER_TRIANGLE_KERNEL">MISC_TIMER_UPPER_TO_LOWER_TRIANGLE_KERNEL</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="fields.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
@@ -197,7 +201,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.gpu.<a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">GPUInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getGPUInstructionType--">getGPUInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getGPUInstructionType--">getGPUInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
@@ -213,6 +217,13 @@
 <h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
 <code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.lineage.LineageTraceable">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.sysds.runtime.lineage.<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#getLineageItems-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItems</a>, <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#hasSingleLineage--">hasSingleLineage</a></code></li>
+</ul>
 </li>
 </ul>
 </li>
@@ -305,6 +316,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/BuiltinBinaryGPUInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/BuiltinBinaryGPUInstruction.html
index a2e7998..0d86b17 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/BuiltinBinaryGPUInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/BuiltinBinaryGPUInstruction.html
@@ -118,6 +118,10 @@
 <ul class="blockList">
 <li class="blockList">
 <dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a></dd>
+</dl>
+<dl>
 <dt>Direct Known Subclasses:</dt>
 <dd><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/MatrixMatrixBuiltinGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">MatrixMatrixBuiltinGPUInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/ScalarMatrixBuiltinGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">ScalarMatrixBuiltinGPUInstruction</a></dd>
 </dl>
@@ -164,7 +168,7 @@
 <!--   -->
 </a>
 <h3>Fields inherited from class&nbsp;org.apache.sysds.runtime.instructions.gpu.<a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">GPUInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ABS_KERNEL">MISC_TIMER_ABS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ACOS_KERNEL">MISC_TIMER_ACOS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ACTIVATION_FORWARD_LIB">MISC_TIMER_ACTIVATION_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE">MISC_TIMER_ALLOCATE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE_DENSE_OUTPUT">MISC_TIMER_ALLOCATE_DENSE_OUTPUT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE_SPARSE_OUTPUT">MISC_TIMER_ALLOCATE_SPARSE_OUTPUT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ASIN_KERNEL">MISC_TIMER_ASIN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ATAN_KERNEL">MISC_TIMER_ATAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_BIAS_ADD_LIB">MISC_TIMER_BIAS_ADD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CBIND_KERNEL">MISC_TIMER_CBIND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CEIL_KERNEL">MISC_TIMER_CEIL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COLUMN_TO_ROW_MAJOR">MISC_TIMER_COLUMN_TO_ROW_MAJOR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COMPARE_AND_SET_KERNEL">MISC_TIMER_COMPARE_AND_SET_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_BACKWARD_DATA_LIB">MISC_TIMER_CONVOLUTION_BACKWARD_DATA_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_BACKWARD_FILTER_LIB">MISC_TIMER_CONVOLUTION_BACKWARD_FILTER_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_FORWARD_LIB">MISC_TIMER_CONVOLUTION_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COS_KERNEL">MISC_TIMER_COS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COSH_KERNEL">MISC_TIMER_COSH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDA_FREE">MISC_TIMER_CUDA_FREE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDA_SYNC">MISC_TIMER_CUDA_SYNC</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDNN_CLEANUP">MISC_TIMER_CUDNN_CLEANUP</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDNN_INIT">MISC_TIMER_CUDNN_INIT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUMULATIVE_SCAN_KERNEL">MISC_TIMER_CUMULATIVE_SCAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUMULATIVE_SUMPROD_KERNEL">MISC_TIMER_CUMULATIVE_SUMPROD_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DAXPY_LIB">MISC_TIMER_DAXPY_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DAXPY_MV_KERNEL">MISC_TIMER_DAXPY_MV_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_DGEAM_LIB">MISC_TIMER_DENSE_DGEAM_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_DOT_LIB">MISC_TIMER_DENSE_DOT_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_IM2COL_KERNEL">MISC_TIMER_DENSE_IM2COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_MATRIX_DENSE_MATRIX_LIB">MISC_TIMER_DENSE_MATRIX_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_MATRIX_DENSE_VECTOR_LIB">MISC_TIMER_DENSE_MATRIX_DENSE_VECTOR_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_REORG_KNPQ_KERNEL">MISC_TIMER_DENSE_REORG_KNPQ_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_TO_SPARSE">MISC_TIMER_DENSE_TO_SPARSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_VECTOR_DENSE_MATRIX_LIB">MISC_TIMER_DENSE_VECTOR_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DEVICE_TO_DEVICE">MISC_TIMER_DEVICE_TO_DEVICE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DEVICE_TO_HOST">MISC_TIMER_DEVICE_TO_HOST</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_EVICT">MISC_TIMER_EVICT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_EXP_KERNEL">MISC_TIMER_EXP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_FILL_KERNEL">MISC_TIMER_FILL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_FLOOR_KERNEL">MISC_TIMER_FLOOR_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_HOST_TO_DEVICE">MISC_TIMER_HOST_TO_DEVICE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_LOG_KERNEL">MISC_TIMER_LOG_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MATRIX_MATRIX_CELLWISE_OP_KERNEL">MISC_TIMER_MATRIX_MATRIX_CELLWISE_OP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MATRIX_SCALAR_OP_KERNEL">MISC_TIMER_MATRIX_SCALAR_OP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MAXPOOLING_BACKWARD_LIB">MISC_TIMER_MAXPOOLING_BACKWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MAXPOOLING_FORWARD_LIB">MISC_TIMER_MAXPOOLING_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_OBJECT_CLONE">MISC_TIMER_OBJECT_CLONE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ORMQR">MISC_TIMER_ORMQR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_QR">MISC_TIMER_QR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_QR_BUFFER">MISC_TIMER_QR_BUFFER</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RBIND_KERNEL">MISC_TIMER_RBIND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_ALL_KERNEL">MISC_TIMER_REDUCE_ALL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_COL_KERNEL">MISC_TIMER_REDUCE_COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_ROW_KERNEL">MISC_TIMER_REDUCE_ROW_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RELU_BACKWARD_KERNEL">MISC_TIMER_RELU_BACKWARD_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RELU_KERNEL">MISC_TIMER_RELU_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REUSE">MISC_TIMER_REUSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_DENSE_OP">MISC_TIMER_RIX_DENSE_OP</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_SPARSE_DENSE_OP_NNZ">MISC_TIMER_RIX_SPARSE_DENSE_OP_NNZ</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_SPARSE_DENSE_OP_ROWWISE">MISC_TIMER_RIX_SPARSE_DENSE_OP_ROWWISE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ROUND_KERNEL">MISC_TIMER_ROUND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ROW_TO_COLUMN_MAJOR">MISC_TIMER_ROW_TO_COLUMN_MAJOR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SET_ZERO">MISC_TIMER_SET_ZERO</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIGMOID_KERNEL">MISC_TIMER_SIGMOID_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIGN_KERNEL">MISC_TIMER_SIGN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIN_KERNEL">MISC_TIMER_SIN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SINH_KERNEL">MISC_TIMER_SINH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_ALLOCATE_LIB">MISC_TIMER_SPARSE_ALLOCATE_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_DGEAM_LIB">MISC_TIMER_SPARSE_DGEAM_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_IM2COL_KERNEL">MISC_TIMER_SPARSE_IM2COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_DENSE_MATRIX_LIB">MISC_TIMER_SPARSE_MATRIX_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_DENSE_VECTOR_LIB">MISC_TIMER_SPARSE_MATRIX_DENSE_VECTOR_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_SPARSE_MATRIX_LIB">MISC_TIMER_SPARSE_MATRIX_SPARSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_TO_DENSE">MISC_TIMER_SPARSE_TO_DENSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SQRT_KERNEL">MISC_TIMER_SQRT_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SYRK_LIB">MISC_TIMER_SYRK_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TAN_KERNEL">MISC_TIMER_TAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TANH_KERNEL">MISC_TIMER_TANH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TRANSPOSE_LIB">MISC_TIMER_TRANSPOSE_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TRSM">MISC_TIMER_TRSM</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_UPPER_TO_LOWER_TRIANGLE_KERNEL">MISC_TIMER_UPPER_TO_LOWER_TRIANGLE_KERNEL</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#Z:Z_input1">_input1</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#Z:Z_input2">_input2</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#Z:Z_output">_output</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ABS_KERNEL">MISC_TIMER_ABS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ACOS_KERNEL">MISC_TIMER_ACOS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ACTIVATION_FORWARD_LIB">MISC_TIMER_ACTIVATION_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE">MISC_TIMER_ALLOCATE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE_DENSE_OUTPUT">MISC_TIMER_ALLOCATE_DENSE_OUTPUT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE_SPARSE_OUTPUT">MISC_TIMER_ALLOCATE_SPARSE_OUTPUT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ASIN_KERNEL">MISC_TIMER_ASIN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ATAN_KERNEL">MISC_TIMER_ATAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_BIAS_ADD_LIB">MISC_TIMER_BIAS_ADD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CBIND_KERNEL">MISC_TIMER_CBIND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CEIL_KERNEL">MISC_TIMER_CEIL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COLUMN_TO_ROW_MAJOR">MISC_TIMER_COLUMN_TO_ROW_MAJOR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COMPARE_AND_SET_KERNEL">MISC_TIMER_COMPARE_AND_SET_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_BACKWARD_DATA_LIB">MISC_TIMER_CONVOLUTION_BACKWARD_DATA_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_BACKWARD_FILTER_LIB">MISC_TIMER_CONVOLUTION_BACKWARD_FILTER_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_FORWARD_LIB">MISC_TIMER_CONVOLUTION_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COS_KERNEL">MISC_TIMER_COS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COSH_KERNEL">MISC_TIMER_COSH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDA_FREE">MISC_TIMER_CUDA_FREE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDA_SYNC">MISC_TIMER_CUDA_SYNC</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDNN_CLEANUP">MISC_TIMER_CUDNN_CLEANUP</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDNN_INIT">MISC_TIMER_CUDNN_INIT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUMULATIVE_SCAN_KERNEL">MISC_TIMER_CUMULATIVE_SCAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUMULATIVE_SUMPROD_KERNEL">MISC_TIMER_CUMULATIVE_SUMPROD_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DAXPY_LIB">MISC_TIMER_DAXPY_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DAXPY_MV_KERNEL">MISC_TIMER_DAXPY_MV_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_DGEAM_LIB">MISC_TIMER_DENSE_DGEAM_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_DOT_LIB">MISC_TIMER_DENSE_DOT_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_IM2COL_KERNEL">MISC_TIMER_DENSE_IM2COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_MATRIX_DENSE_MATRIX_LIB">MISC_TIMER_DENSE_MATRIX_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_MATRIX_DENSE_VECTOR_LIB">MISC_TIMER_DENSE_MATRIX_DENSE_VECTOR_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_REORG_KNPQ_KERNEL">MISC_TIMER_DENSE_REORG_KNPQ_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_TO_SPARSE">MISC_TIMER_DENSE_TO_SPARSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_VECTOR_DENSE_MATRIX_LIB">MISC_TIMER_DENSE_VECTOR_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DEVICE_TO_DEVICE">MISC_TIMER_DEVICE_TO_DEVICE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DEVICE_TO_HOST">MISC_TIMER_DEVICE_TO_HOST</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_EVICT">MISC_TIMER_EVICT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_EXP_KERNEL">MISC_TIMER_EXP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_FILL_KERNEL">MISC_TIMER_FILL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_FLOOR_KERNEL">MISC_TIMER_FLOOR_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_HOST_TO_DEVICE">MISC_TIMER_HOST_TO_DEVICE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_LOG_KERNEL">MISC_TIMER_LOG_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MATRIX_MATRIX_CELLWISE_OP_KERNEL">MISC_TIMER_MATRIX_MATRIX_CELLWISE_OP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MATRIX_SCALAR_OP_KERNEL">MISC_TIMER_MATRIX_SCALAR_OP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MAXPOOLING_BACKWARD_LIB">MISC_TIMER_MAXPOOLING_BACKWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MAXPOOLING_FORWARD_LIB">MISC_TIMER_MAXPOOLING_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_OBJECT_CLONE">MISC_TIMER_OBJECT_CLONE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ORMQR">MISC_TIMER_ORMQR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_QR">MISC_TIMER_QR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_QR_BUFFER">MISC_TIMER_QR_BUFFER</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RBIND_KERNEL">MISC_TIMER_RBIND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_ALL_KERNEL">MISC_TIMER_REDUCE_ALL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_COL_KERNEL">MISC_TIMER_REDUCE_COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_ROW_KERNEL">MISC_TIMER_REDUCE_ROW_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RELU_BACKWARD_KERNEL">MISC_TIMER_RELU_BACKWARD_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RELU_KERNEL">MISC_TIMER_RELU_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REUSE">MISC_TIMER_REUSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_DENSE_OP">MISC_TIMER_RIX_DENSE_OP</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_SPARSE_DENSE_OP_NNZ">MISC_TIMER_RIX_SPARSE_DENSE_OP_NNZ</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_SPARSE_DENSE_OP_ROWWISE">MISC_TIMER_RIX_SPARSE_DENSE_OP_ROWWISE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ROUND_KERNEL">MISC_TIMER_ROUND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ROW_TO_COLUMN_MAJOR">MISC_TIMER_ROW_TO_COLUMN_MAJOR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SET_ZERO">MISC_TIMER_SET_ZERO</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIGMOID_KERNEL">MISC_TIMER_SIGMOID_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIGN_KERNEL">MISC_TIMER_SIGN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIN_KERNEL">MISC_TIMER_SIN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SINH_KERNEL">MISC_TIMER_SINH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_ALLOCATE_LIB">MISC_TIMER_SPARSE_ALLOCATE_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_DGEAM_LIB">MISC_TIMER_SPARSE_DGEAM_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_IM2COL_KERNEL">MISC_TIMER_SPARSE_IM2COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_DENSE_MATRIX_LIB">MISC_TIMER_SPARSE_MATRIX_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_DENSE_VECTOR_LIB">MISC_TIMER_SPARSE_MATRIX_DENSE_VECTOR_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_SPARSE_MATRIX_LIB">MISC_TIMER_SPARSE_MATRIX_SPARSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_TO_DENSE">MISC_TIMER_SPARSE_TO_DENSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SQRT_KERNEL">MISC_TIMER_SQRT_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SYRK_LIB">MISC_TIMER_SYRK_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TAN_KERNEL">MISC_TIMER_TAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TANH_KERNEL">MISC_TIMER_TANH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TRANSPOSE_LIB">MISC_TIMER_TRANSPOSE_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TRSM">MISC_TIMER_TRSM</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_UPPER_TO_LOWER_TRIANGLE_KERNEL">MISC_TIMER_UPPER_TO_LOWER_TRIANGLE_KERNEL</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="fields.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
@@ -197,7 +201,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.gpu.<a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">GPUInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getGPUInstructionType--">getGPUInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getGPUInstructionType--">getGPUInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
@@ -213,6 +217,13 @@
 <h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
 <code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.lineage.LineageTraceable">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.sysds.runtime.lineage.<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#getLineageItems-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItems</a>, <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#hasSingleLineage--">hasSingleLineage</a></code></li>
+</ul>
 </li>
 </ul>
 </li>
@@ -305,6 +316,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/BuiltinUnaryGPUInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/BuiltinUnaryGPUInstruction.html
index bcf5f6e..ef98a01 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/BuiltinUnaryGPUInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/BuiltinUnaryGPUInstruction.html
@@ -118,6 +118,10 @@
 <ul class="blockList">
 <li class="blockList">
 <dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a></dd>
+</dl>
+<dl>
 <dt>Direct Known Subclasses:</dt>
 <dd><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/MatrixBuiltinGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">MatrixBuiltinGPUInstruction</a></dd>
 </dl>
@@ -164,7 +168,7 @@
 <!--   -->
 </a>
 <h3>Fields inherited from class&nbsp;org.apache.sysds.runtime.instructions.gpu.<a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">GPUInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ABS_KERNEL">MISC_TIMER_ABS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ACOS_KERNEL">MISC_TIMER_ACOS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ACTIVATION_FORWARD_LIB">MISC_TIMER_ACTIVATION_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE">MISC_TIMER_ALLOCATE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE_DENSE_OUTPUT">MISC_TIMER_ALLOCATE_DENSE_OUTPUT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE_SPARSE_OUTPUT">MISC_TIMER_ALLOCATE_SPARSE_OUTPUT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ASIN_KERNEL">MISC_TIMER_ASIN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ATAN_KERNEL">MISC_TIMER_ATAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_BIAS_ADD_LIB">MISC_TIMER_BIAS_ADD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CBIND_KERNEL">MISC_TIMER_CBIND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CEIL_KERNEL">MISC_TIMER_CEIL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COLUMN_TO_ROW_MAJOR">MISC_TIMER_COLUMN_TO_ROW_MAJOR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COMPARE_AND_SET_KERNEL">MISC_TIMER_COMPARE_AND_SET_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_BACKWARD_DATA_LIB">MISC_TIMER_CONVOLUTION_BACKWARD_DATA_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_BACKWARD_FILTER_LIB">MISC_TIMER_CONVOLUTION_BACKWARD_FILTER_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_FORWARD_LIB">MISC_TIMER_CONVOLUTION_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COS_KERNEL">MISC_TIMER_COS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COSH_KERNEL">MISC_TIMER_COSH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDA_FREE">MISC_TIMER_CUDA_FREE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDA_SYNC">MISC_TIMER_CUDA_SYNC</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDNN_CLEANUP">MISC_TIMER_CUDNN_CLEANUP</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDNN_INIT">MISC_TIMER_CUDNN_INIT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUMULATIVE_SCAN_KERNEL">MISC_TIMER_CUMULATIVE_SCAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUMULATIVE_SUMPROD_KERNEL">MISC_TIMER_CUMULATIVE_SUMPROD_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DAXPY_LIB">MISC_TIMER_DAXPY_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DAXPY_MV_KERNEL">MISC_TIMER_DAXPY_MV_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_DGEAM_LIB">MISC_TIMER_DENSE_DGEAM_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_DOT_LIB">MISC_TIMER_DENSE_DOT_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_IM2COL_KERNEL">MISC_TIMER_DENSE_IM2COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_MATRIX_DENSE_MATRIX_LIB">MISC_TIMER_DENSE_MATRIX_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_MATRIX_DENSE_VECTOR_LIB">MISC_TIMER_DENSE_MATRIX_DENSE_VECTOR_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_REORG_KNPQ_KERNEL">MISC_TIMER_DENSE_REORG_KNPQ_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_TO_SPARSE">MISC_TIMER_DENSE_TO_SPARSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_VECTOR_DENSE_MATRIX_LIB">MISC_TIMER_DENSE_VECTOR_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DEVICE_TO_DEVICE">MISC_TIMER_DEVICE_TO_DEVICE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DEVICE_TO_HOST">MISC_TIMER_DEVICE_TO_HOST</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_EVICT">MISC_TIMER_EVICT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_EXP_KERNEL">MISC_TIMER_EXP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_FILL_KERNEL">MISC_TIMER_FILL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_FLOOR_KERNEL">MISC_TIMER_FLOOR_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_HOST_TO_DEVICE">MISC_TIMER_HOST_TO_DEVICE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_LOG_KERNEL">MISC_TIMER_LOG_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MATRIX_MATRIX_CELLWISE_OP_KERNEL">MISC_TIMER_MATRIX_MATRIX_CELLWISE_OP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MATRIX_SCALAR_OP_KERNEL">MISC_TIMER_MATRIX_SCALAR_OP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MAXPOOLING_BACKWARD_LIB">MISC_TIMER_MAXPOOLING_BACKWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MAXPOOLING_FORWARD_LIB">MISC_TIMER_MAXPOOLING_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_OBJECT_CLONE">MISC_TIMER_OBJECT_CLONE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ORMQR">MISC_TIMER_ORMQR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_QR">MISC_TIMER_QR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_QR_BUFFER">MISC_TIMER_QR_BUFFER</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RBIND_KERNEL">MISC_TIMER_RBIND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_ALL_KERNEL">MISC_TIMER_REDUCE_ALL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_COL_KERNEL">MISC_TIMER_REDUCE_COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_ROW_KERNEL">MISC_TIMER_REDUCE_ROW_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RELU_BACKWARD_KERNEL">MISC_TIMER_RELU_BACKWARD_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RELU_KERNEL">MISC_TIMER_RELU_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REUSE">MISC_TIMER_REUSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_DENSE_OP">MISC_TIMER_RIX_DENSE_OP</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_SPARSE_DENSE_OP_NNZ">MISC_TIMER_RIX_SPARSE_DENSE_OP_NNZ</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_SPARSE_DENSE_OP_ROWWISE">MISC_TIMER_RIX_SPARSE_DENSE_OP_ROWWISE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ROUND_KERNEL">MISC_TIMER_ROUND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ROW_TO_COLUMN_MAJOR">MISC_TIMER_ROW_TO_COLUMN_MAJOR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SET_ZERO">MISC_TIMER_SET_ZERO</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIGMOID_KERNEL">MISC_TIMER_SIGMOID_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIGN_KERNEL">MISC_TIMER_SIGN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIN_KERNEL">MISC_TIMER_SIN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SINH_KERNEL">MISC_TIMER_SINH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_ALLOCATE_LIB">MISC_TIMER_SPARSE_ALLOCATE_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_DGEAM_LIB">MISC_TIMER_SPARSE_DGEAM_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_IM2COL_KERNEL">MISC_TIMER_SPARSE_IM2COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_DENSE_MATRIX_LIB">MISC_TIMER_SPARSE_MATRIX_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_DENSE_VECTOR_LIB">MISC_TIMER_SPARSE_MATRIX_DENSE_VECTOR_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_SPARSE_MATRIX_LIB">MISC_TIMER_SPARSE_MATRIX_SPARSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_TO_DENSE">MISC_TIMER_SPARSE_TO_DENSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SQRT_KERNEL">MISC_TIMER_SQRT_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SYRK_LIB">MISC_TIMER_SYRK_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TAN_KERNEL">MISC_TIMER_TAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TANH_KERNEL">MISC_TIMER_TANH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TRANSPOSE_LIB">MISC_TIMER_TRANSPOSE_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TRSM">MISC_TIMER_TRSM</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_UPPER_TO_LOWER_TRIANGLE_KERNEL">MISC_TIMER_UPPER_TO_LOWER_TRIANGLE_KERNEL</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#Z:Z_input1">_input1</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#Z:Z_input2">_input2</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#Z:Z_output">_output</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ABS_KERNEL">MISC_TIMER_ABS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ACOS_KERNEL">MISC_TIMER_ACOS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ACTIVATION_FORWARD_LIB">MISC_TIMER_ACTIVATION_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE">MISC_TIMER_ALLOCATE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE_DENSE_OUTPUT">MISC_TIMER_ALLOCATE_DENSE_OUTPUT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE_SPARSE_OUTPUT">MISC_TIMER_ALLOCATE_SPARSE_OUTPUT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ASIN_KERNEL">MISC_TIMER_ASIN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ATAN_KERNEL">MISC_TIMER_ATAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_BIAS_ADD_LIB">MISC_TIMER_BIAS_ADD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CBIND_KERNEL">MISC_TIMER_CBIND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CEIL_KERNEL">MISC_TIMER_CEIL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COLUMN_TO_ROW_MAJOR">MISC_TIMER_COLUMN_TO_ROW_MAJOR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COMPARE_AND_SET_KERNEL">MISC_TIMER_COMPARE_AND_SET_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_BACKWARD_DATA_LIB">MISC_TIMER_CONVOLUTION_BACKWARD_DATA_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_BACKWARD_FILTER_LIB">MISC_TIMER_CONVOLUTION_BACKWARD_FILTER_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_FORWARD_LIB">MISC_TIMER_CONVOLUTION_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COS_KERNEL">MISC_TIMER_COS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COSH_KERNEL">MISC_TIMER_COSH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDA_FREE">MISC_TIMER_CUDA_FREE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDA_SYNC">MISC_TIMER_CUDA_SYNC</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDNN_CLEANUP">MISC_TIMER_CUDNN_CLEANUP</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDNN_INIT">MISC_TIMER_CUDNN_INIT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUMULATIVE_SCAN_KERNEL">MISC_TIMER_CUMULATIVE_SCAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUMULATIVE_SUMPROD_KERNEL">MISC_TIMER_CUMULATIVE_SUMPROD_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DAXPY_LIB">MISC_TIMER_DAXPY_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DAXPY_MV_KERNEL">MISC_TIMER_DAXPY_MV_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_DGEAM_LIB">MISC_TIMER_DENSE_DGEAM_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_DOT_LIB">MISC_TIMER_DENSE_DOT_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_IM2COL_KERNEL">MISC_TIMER_DENSE_IM2COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_MATRIX_DENSE_MATRIX_LIB">MISC_TIMER_DENSE_MATRIX_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_MATRIX_DENSE_VECTOR_LIB">MISC_TIMER_DENSE_MATRIX_DENSE_VECTOR_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_REORG_KNPQ_KERNEL">MISC_TIMER_DENSE_REORG_KNPQ_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_TO_SPARSE">MISC_TIMER_DENSE_TO_SPARSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_VECTOR_DENSE_MATRIX_LIB">MISC_TIMER_DENSE_VECTOR_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DEVICE_TO_DEVICE">MISC_TIMER_DEVICE_TO_DEVICE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DEVICE_TO_HOST">MISC_TIMER_DEVICE_TO_HOST</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_EVICT">MISC_TIMER_EVICT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_EXP_KERNEL">MISC_TIMER_EXP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_FILL_KERNEL">MISC_TIMER_FILL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_FLOOR_KERNEL">MISC_TIMER_FLOOR_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_HOST_TO_DEVICE">MISC_TIMER_HOST_TO_DEVICE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_LOG_KERNEL">MISC_TIMER_LOG_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MATRIX_MATRIX_CELLWISE_OP_KERNEL">MISC_TIMER_MATRIX_MATRIX_CELLWISE_OP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MATRIX_SCALAR_OP_KERNEL">MISC_TIMER_MATRIX_SCALAR_OP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MAXPOOLING_BACKWARD_LIB">MISC_TIMER_MAXPOOLING_BACKWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MAXPOOLING_FORWARD_LIB">MISC_TIMER_MAXPOOLING_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_OBJECT_CLONE">MISC_TIMER_OBJECT_CLONE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ORMQR">MISC_TIMER_ORMQR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_QR">MISC_TIMER_QR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_QR_BUFFER">MISC_TIMER_QR_BUFFER</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RBIND_KERNEL">MISC_TIMER_RBIND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_ALL_KERNEL">MISC_TIMER_REDUCE_ALL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_COL_KERNEL">MISC_TIMER_REDUCE_COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_ROW_KERNEL">MISC_TIMER_REDUCE_ROW_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RELU_BACKWARD_KERNEL">MISC_TIMER_RELU_BACKWARD_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RELU_KERNEL">MISC_TIMER_RELU_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REUSE">MISC_TIMER_REUSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_DENSE_OP">MISC_TIMER_RIX_DENSE_OP</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_SPARSE_DENSE_OP_NNZ">MISC_TIMER_RIX_SPARSE_DENSE_OP_NNZ</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_SPARSE_DENSE_OP_ROWWISE">MISC_TIMER_RIX_SPARSE_DENSE_OP_ROWWISE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ROUND_KERNEL">MISC_TIMER_ROUND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ROW_TO_COLUMN_MAJOR">MISC_TIMER_ROW_TO_COLUMN_MAJOR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SET_ZERO">MISC_TIMER_SET_ZERO</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIGMOID_KERNEL">MISC_TIMER_SIGMOID_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIGN_KERNEL">MISC_TIMER_SIGN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIN_KERNEL">MISC_TIMER_SIN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SINH_KERNEL">MISC_TIMER_SINH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_ALLOCATE_LIB">MISC_TIMER_SPARSE_ALLOCATE_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_DGEAM_LIB">MISC_TIMER_SPARSE_DGEAM_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_IM2COL_KERNEL">MISC_TIMER_SPARSE_IM2COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_DENSE_MATRIX_LIB">MISC_TIMER_SPARSE_MATRIX_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_DENSE_VECTOR_LIB">MISC_TIMER_SPARSE_MATRIX_DENSE_VECTOR_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_SPARSE_MATRIX_LIB">MISC_TIMER_SPARSE_MATRIX_SPARSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_TO_DENSE">MISC_TIMER_SPARSE_TO_DENSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SQRT_KERNEL">MISC_TIMER_SQRT_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SYRK_LIB">MISC_TIMER_SYRK_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TAN_KERNEL">MISC_TIMER_TAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TANH_KERNEL">MISC_TIMER_TANH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TRANSPOSE_LIB">MISC_TIMER_TRANSPOSE_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TRSM">MISC_TIMER_TRSM</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_UPPER_TO_LOWER_TRIANGLE_KERNEL">MISC_TIMER_UPPER_TO_LOWER_TRIANGLE_KERNEL</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="fields.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
@@ -201,7 +205,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.gpu.<a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">GPUInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getGPUInstructionType--">getGPUInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getGPUInstructionType--">getGPUInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
@@ -217,6 +221,13 @@
 <h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
 <code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.lineage.LineageTraceable">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.sysds.runtime.lineage.<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#getLineageItems-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItems</a>, <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#hasSingleLineage--">hasSingleLineage</a></code></li>
+</ul>
 </li>
 </ul>
 </li>
@@ -318,6 +329,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/DnnGPUInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/DnnGPUInstruction.html
index 5e363ec..57b03ad 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/DnnGPUInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/DnnGPUInstruction.html
@@ -117,6 +117,10 @@
 <div class="description">
 <ul class="blockList">
 <li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a></dd>
+</dl>
 <hr>
 <br>
 <pre>public class <span class="typeNameLabel">DnnGPUInstruction</span>
@@ -316,7 +320,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.gpu.<a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">GPUInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getGPUInstructionType--">getGPUInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getGPUInstructionType--">getGPUInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
@@ -332,6 +336,13 @@
 <h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
 <code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.lineage.LineageTraceable">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.sysds.runtime.lineage.<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#getLineageItems-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItems</a>, <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#hasSingleLineage--">hasSingleLineage</a></code></li>
+</ul>
 </li>
 </ul>
 </li>
@@ -635,6 +646,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/GPUInstruction.GPUINSTRUCTION_TYPE.html b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/GPUInstruction.GPUINSTRUCTION_TYPE.html
index ff2644f..eb6fc9a 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/GPUInstruction.GPUINSTRUCTION_TYPE.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/GPUInstruction.GPUINSTRUCTION_TYPE.html
@@ -180,6 +180,9 @@
 <tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.GPUINSTRUCTION_TYPE.html#Reorg">Reorg</a></span></code>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.GPUINSTRUCTION_TYPE.html#SpoofFused">SpoofFused</a></span></code>&nbsp;</td>
+</tr>
 </table>
 </li>
 </ul>
@@ -348,12 +351,21 @@
 <a name="MatrixIndexing">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>MatrixIndexing</h4>
 <pre>public static final&nbsp;<a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.GPUINSTRUCTION_TYPE.html" title="enum in org.apache.sysds.runtime.instructions.gpu">GPUInstruction.GPUINSTRUCTION_TYPE</a> MatrixIndexing</pre>
 </li>
 </ul>
+<a name="SpoofFused">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>SpoofFused</h4>
+<pre>public static final&nbsp;<a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.GPUINSTRUCTION_TYPE.html" title="enum in org.apache.sysds.runtime.instructions.gpu">GPUInstruction.GPUINSTRUCTION_TYPE</a> SpoofFused</pre>
+</li>
+</ul>
 </li>
 </ul>
 <!-- ============ METHOD DETAIL ========== -->
@@ -473,6 +485,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html
index 71bbde8..dd997c5 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":6,"i6":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":6,"i7":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -113,13 +113,18 @@
 <ul class="blockList">
 <li class="blockList">
 <dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a></dd>
+</dl>
+<dl>
 <dt>Direct Known Subclasses:</dt>
-<dd><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/AggregateBinaryGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">AggregateBinaryGPUInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/AggregateUnaryGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">AggregateUnaryGPUInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/ArithmeticBinaryGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">ArithmeticBinaryGPUInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/BuiltinBinaryGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">BuiltinBinaryGPUInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/BuiltinUnaryGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">BuiltinUnaryGPUInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/DnnGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">DnnGPUInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/MatrixAppendGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">MatrixAppendGPUInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/MatrixIndexingGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">MatrixIndexingGPUInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/MatrixReshapeGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">MatrixReshapeGPUInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/MMTSJGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">MMTSJGPUInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/RelationalBinaryGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">RelationalBinaryGPUInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/ReorgGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">ReorgGPUInstruction</a></dd>
+<dd><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/AggregateBinaryGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">AggregateBinaryGPUInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/AggregateUnaryGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">AggregateUnaryGPUInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/ArithmeticBinaryGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">ArithmeticBinaryGPUInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/BuiltinBinaryGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">BuiltinBinaryGPUInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/BuiltinUnaryGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">BuiltinUnaryGPUInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/DnnGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">DnnGPUInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/MatrixAppendGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">MatrixAppendGPUInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/MatrixIndexingGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">MatrixIndexingGPUInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/MatrixReshapeGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">MatrixReshapeGPUInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/MMTSJGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">MMTSJGPUInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/RelationalBinaryGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">RelationalBinaryGPUInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/ReorgGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">ReorgGPUInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">SpoofCUDAInstruction</a></dd>
 </dl>
 <hr>
 <br>
 <pre>public abstract class <span class="typeNameLabel">GPUInstruction</span>
-extends <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></pre>
+extends <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a>
+implements <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a></pre>
 </li>
 </ul>
 </div>
@@ -165,326 +170,338 @@
 <th class="colLast" scope="col">Field and Description</th>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#Z:Z_input1">_input1</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#Z:Z_input2">_input2</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#Z:Z_output">_output</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ABS_KERNEL">MISC_TIMER_ABS_KERNEL</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ACOS_KERNEL">MISC_TIMER_ACOS_KERNEL</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ACTIVATION_FORWARD_LIB">MISC_TIMER_ACTIVATION_FORWARD_LIB</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE">MISC_TIMER_ALLOCATE</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE_DENSE_OUTPUT">MISC_TIMER_ALLOCATE_DENSE_OUTPUT</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE_SPARSE_OUTPUT">MISC_TIMER_ALLOCATE_SPARSE_OUTPUT</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ASIN_KERNEL">MISC_TIMER_ASIN_KERNEL</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ATAN_KERNEL">MISC_TIMER_ATAN_KERNEL</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_BIAS_ADD_LIB">MISC_TIMER_BIAS_ADD_LIB</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CBIND_KERNEL">MISC_TIMER_CBIND_KERNEL</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CEIL_KERNEL">MISC_TIMER_CEIL_KERNEL</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COLUMN_TO_ROW_MAJOR">MISC_TIMER_COLUMN_TO_ROW_MAJOR</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COMPARE_AND_SET_KERNEL">MISC_TIMER_COMPARE_AND_SET_KERNEL</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_BACKWARD_DATA_LIB">MISC_TIMER_CONVOLUTION_BACKWARD_DATA_LIB</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_BACKWARD_FILTER_LIB">MISC_TIMER_CONVOLUTION_BACKWARD_FILTER_LIB</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_FORWARD_LIB">MISC_TIMER_CONVOLUTION_FORWARD_LIB</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COS_KERNEL">MISC_TIMER_COS_KERNEL</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COSH_KERNEL">MISC_TIMER_COSH_KERNEL</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDA_FREE">MISC_TIMER_CUDA_FREE</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDA_SYNC">MISC_TIMER_CUDA_SYNC</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDNN_CLEANUP">MISC_TIMER_CUDNN_CLEANUP</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDNN_INIT">MISC_TIMER_CUDNN_INIT</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUMULATIVE_SCAN_KERNEL">MISC_TIMER_CUMULATIVE_SCAN_KERNEL</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUMULATIVE_SUMPROD_KERNEL">MISC_TIMER_CUMULATIVE_SUMPROD_KERNEL</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DAXPY_LIB">MISC_TIMER_DAXPY_LIB</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DAXPY_MV_KERNEL">MISC_TIMER_DAXPY_MV_KERNEL</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_DGEAM_LIB">MISC_TIMER_DENSE_DGEAM_LIB</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_DOT_LIB">MISC_TIMER_DENSE_DOT_LIB</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_IM2COL_KERNEL">MISC_TIMER_DENSE_IM2COL_KERNEL</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_MATRIX_DENSE_MATRIX_LIB">MISC_TIMER_DENSE_MATRIX_DENSE_MATRIX_LIB</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_MATRIX_DENSE_VECTOR_LIB">MISC_TIMER_DENSE_MATRIX_DENSE_VECTOR_LIB</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_REORG_KNPQ_KERNEL">MISC_TIMER_DENSE_REORG_KNPQ_KERNEL</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_TO_SPARSE">MISC_TIMER_DENSE_TO_SPARSE</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_VECTOR_DENSE_MATRIX_LIB">MISC_TIMER_DENSE_VECTOR_DENSE_MATRIX_LIB</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DEVICE_TO_DEVICE">MISC_TIMER_DEVICE_TO_DEVICE</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DEVICE_TO_HOST">MISC_TIMER_DEVICE_TO_HOST</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_EVICT">MISC_TIMER_EVICT</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_EXP_KERNEL">MISC_TIMER_EXP_KERNEL</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_FILL_KERNEL">MISC_TIMER_FILL_KERNEL</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_FLOOR_KERNEL">MISC_TIMER_FLOOR_KERNEL</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_HOST_TO_DEVICE">MISC_TIMER_HOST_TO_DEVICE</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_LOG_KERNEL">MISC_TIMER_LOG_KERNEL</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MATRIX_MATRIX_CELLWISE_OP_KERNEL">MISC_TIMER_MATRIX_MATRIX_CELLWISE_OP_KERNEL</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MATRIX_SCALAR_OP_KERNEL">MISC_TIMER_MATRIX_SCALAR_OP_KERNEL</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MAXPOOLING_BACKWARD_LIB">MISC_TIMER_MAXPOOLING_BACKWARD_LIB</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MAXPOOLING_FORWARD_LIB">MISC_TIMER_MAXPOOLING_FORWARD_LIB</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_OBJECT_CLONE">MISC_TIMER_OBJECT_CLONE</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ORMQR">MISC_TIMER_ORMQR</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_QR">MISC_TIMER_QR</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_QR_BUFFER">MISC_TIMER_QR_BUFFER</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RBIND_KERNEL">MISC_TIMER_RBIND_KERNEL</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_ALL_KERNEL">MISC_TIMER_REDUCE_ALL_KERNEL</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_COL_KERNEL">MISC_TIMER_REDUCE_COL_KERNEL</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_ROW_KERNEL">MISC_TIMER_REDUCE_ROW_KERNEL</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RELU_BACKWARD_KERNEL">MISC_TIMER_RELU_BACKWARD_KERNEL</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RELU_KERNEL">MISC_TIMER_RELU_KERNEL</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REUSE">MISC_TIMER_REUSE</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_DENSE_OP">MISC_TIMER_RIX_DENSE_OP</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_SPARSE_DENSE_OP_NNZ">MISC_TIMER_RIX_SPARSE_DENSE_OP_NNZ</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_SPARSE_DENSE_OP_ROWWISE">MISC_TIMER_RIX_SPARSE_DENSE_OP_ROWWISE</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ROUND_KERNEL">MISC_TIMER_ROUND_KERNEL</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ROW_TO_COLUMN_MAJOR">MISC_TIMER_ROW_TO_COLUMN_MAJOR</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SET_ZERO">MISC_TIMER_SET_ZERO</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIGMOID_KERNEL">MISC_TIMER_SIGMOID_KERNEL</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIGN_KERNEL">MISC_TIMER_SIGN_KERNEL</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIN_KERNEL">MISC_TIMER_SIN_KERNEL</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SINH_KERNEL">MISC_TIMER_SINH_KERNEL</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_ALLOCATE_LIB">MISC_TIMER_SPARSE_ALLOCATE_LIB</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_DGEAM_LIB">MISC_TIMER_SPARSE_DGEAM_LIB</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_IM2COL_KERNEL">MISC_TIMER_SPARSE_IM2COL_KERNEL</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_DENSE_MATRIX_LIB">MISC_TIMER_SPARSE_MATRIX_DENSE_MATRIX_LIB</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_DENSE_VECTOR_LIB">MISC_TIMER_SPARSE_MATRIX_DENSE_VECTOR_LIB</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_SPARSE_MATRIX_LIB">MISC_TIMER_SPARSE_MATRIX_SPARSE_MATRIX_LIB</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_TO_DENSE">MISC_TIMER_SPARSE_TO_DENSE</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SQRT_KERNEL">MISC_TIMER_SQRT_KERNEL</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SYRK_LIB">MISC_TIMER_SYRK_LIB</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TAN_KERNEL">MISC_TIMER_TAN_KERNEL</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TANH_KERNEL">MISC_TIMER_TANH_KERNEL</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TRANSPOSE_LIB">MISC_TIMER_TRANSPOSE_LIB</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TRSM">MISC_TIMER_TRSM</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_UPPER_TO_LOWER_TRIANGLE_KERNEL">MISC_TIMER_UPPER_TO_LOWER_TRIANGLE_KERNEL</a></span></code>&nbsp;</td>
 </tr>
@@ -519,28 +536,34 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getGraphString--">getGraphString</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i2" class="altColor">
+<td class="colFirst"><code>org.apache.commons.lang3.tuple.Pair&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>
+<div class="block">Obtain lineage trace of an instruction with a single output.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.IType.html" title="enum in org.apache.sysds.runtime.instructions">Instruction.IType</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getType--">getType</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>
 <div class="block">This method should be used for any tear down after executing this instruction.</div>
 </td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>
 <div class="block">This method should be used for any setup before executing this instruction.</div>
 </td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>abstract void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>
 <div class="block">This method should be used to execute the instruction.</div>
 </td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></span>()</code>&nbsp;</td>
 </tr>
@@ -559,6 +582,13 @@
 <h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
 <code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.lineage.LineageTraceable">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.sysds.runtime.lineage.<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#getLineageItems-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItems</a>, <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#hasSingleLineage--">hasSingleLineage</a></code></li>
+</ul>
 </li>
 </ul>
 </li>
@@ -573,6 +603,33 @@
 <!--   -->
 </a>
 <h3>Field Detail</h3>
+<a name="Z:Z_output">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>_output</h4>
+<pre>public final&nbsp;<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a> _output</pre>
+</li>
+</ul>
+<a name="Z:Z_input1">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>_input1</h4>
+<pre>public final&nbsp;<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a> _input1</pre>
+</li>
+</ul>
+<a name="Z:Z_input2">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>_input2</h4>
+<pre>public final&nbsp;<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a> _input2</pre>
+</li>
+</ul>
 <a name="MISC_TIMER_HOST_TO_DEVICE">
 <!--   -->
 </a>
@@ -1723,7 +1780,7 @@
 <a name="postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>postprocessInstruction</h4>
 <pre>public&nbsp;void&nbsp;postprocessInstruction(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</pre>
@@ -1739,6 +1796,25 @@
 </dl>
 </li>
 </ul>
+<a name="getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getLineageItem</h4>
+<pre>public&nbsp;org.apache.commons.lang3.tuple.Pair&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&gt;&nbsp;getLineageItem(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">LineageTraceable</a></code></span></div>
+<div class="block">Obtain lineage trace of an instruction with a single output.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>ec</code> - execution context w/ live variables</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>pair of (output variable name, output lineage item)</dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>
@@ -1808,6 +1884,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/MMTSJGPUInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/MMTSJGPUInstruction.html
index 711e220..bd45d11 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/MMTSJGPUInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/MMTSJGPUInstruction.html
@@ -117,6 +117,10 @@
 <div class="description">
 <ul class="blockList">
 <li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a></dd>
+</dl>
 <hr>
 <br>
 <pre>public class <span class="typeNameLabel">MMTSJGPUInstruction</span>
@@ -160,7 +164,7 @@
 <!--   -->
 </a>
 <h3>Fields inherited from class&nbsp;org.apache.sysds.runtime.instructions.gpu.<a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">GPUInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ABS_KERNEL">MISC_TIMER_ABS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ACOS_KERNEL">MISC_TIMER_ACOS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ACTIVATION_FORWARD_LIB">MISC_TIMER_ACTIVATION_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE">MISC_TIMER_ALLOCATE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE_DENSE_OUTPUT">MISC_TIMER_ALLOCATE_DENSE_OUTPUT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE_SPARSE_OUTPUT">MISC_TIMER_ALLOCATE_SPARSE_OUTPUT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ASIN_KERNEL">MISC_TIMER_ASIN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ATAN_KERNEL">MISC_TIMER_ATAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_BIAS_ADD_LIB">MISC_TIMER_BIAS_ADD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CBIND_KERNEL">MISC_TIMER_CBIND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CEIL_KERNEL">MISC_TIMER_CEIL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COLUMN_TO_ROW_MAJOR">MISC_TIMER_COLUMN_TO_ROW_MAJOR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COMPARE_AND_SET_KERNEL">MISC_TIMER_COMPARE_AND_SET_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_BACKWARD_DATA_LIB">MISC_TIMER_CONVOLUTION_BACKWARD_DATA_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_BACKWARD_FILTER_LIB">MISC_TIMER_CONVOLUTION_BACKWARD_FILTER_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_FORWARD_LIB">MISC_TIMER_CONVOLUTION_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COS_KERNEL">MISC_TIMER_COS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COSH_KERNEL">MISC_TIMER_COSH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDA_FREE">MISC_TIMER_CUDA_FREE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDA_SYNC">MISC_TIMER_CUDA_SYNC</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDNN_CLEANUP">MISC_TIMER_CUDNN_CLEANUP</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDNN_INIT">MISC_TIMER_CUDNN_INIT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUMULATIVE_SCAN_KERNEL">MISC_TIMER_CUMULATIVE_SCAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUMULATIVE_SUMPROD_KERNEL">MISC_TIMER_CUMULATIVE_SUMPROD_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DAXPY_LIB">MISC_TIMER_DAXPY_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DAXPY_MV_KERNEL">MISC_TIMER_DAXPY_MV_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_DGEAM_LIB">MISC_TIMER_DENSE_DGEAM_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_DOT_LIB">MISC_TIMER_DENSE_DOT_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_IM2COL_KERNEL">MISC_TIMER_DENSE_IM2COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_MATRIX_DENSE_MATRIX_LIB">MISC_TIMER_DENSE_MATRIX_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_MATRIX_DENSE_VECTOR_LIB">MISC_TIMER_DENSE_MATRIX_DENSE_VECTOR_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_REORG_KNPQ_KERNEL">MISC_TIMER_DENSE_REORG_KNPQ_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_TO_SPARSE">MISC_TIMER_DENSE_TO_SPARSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_VECTOR_DENSE_MATRIX_LIB">MISC_TIMER_DENSE_VECTOR_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DEVICE_TO_DEVICE">MISC_TIMER_DEVICE_TO_DEVICE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DEVICE_TO_HOST">MISC_TIMER_DEVICE_TO_HOST</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_EVICT">MISC_TIMER_EVICT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_EXP_KERNEL">MISC_TIMER_EXP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_FILL_KERNEL">MISC_TIMER_FILL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_FLOOR_KERNEL">MISC_TIMER_FLOOR_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_HOST_TO_DEVICE">MISC_TIMER_HOST_TO_DEVICE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_LOG_KERNEL">MISC_TIMER_LOG_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MATRIX_MATRIX_CELLWISE_OP_KERNEL">MISC_TIMER_MATRIX_MATRIX_CELLWISE_OP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MATRIX_SCALAR_OP_KERNEL">MISC_TIMER_MATRIX_SCALAR_OP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MAXPOOLING_BACKWARD_LIB">MISC_TIMER_MAXPOOLING_BACKWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MAXPOOLING_FORWARD_LIB">MISC_TIMER_MAXPOOLING_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_OBJECT_CLONE">MISC_TIMER_OBJECT_CLONE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ORMQR">MISC_TIMER_ORMQR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_QR">MISC_TIMER_QR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_QR_BUFFER">MISC_TIMER_QR_BUFFER</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RBIND_KERNEL">MISC_TIMER_RBIND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_ALL_KERNEL">MISC_TIMER_REDUCE_ALL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_COL_KERNEL">MISC_TIMER_REDUCE_COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_ROW_KERNEL">MISC_TIMER_REDUCE_ROW_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RELU_BACKWARD_KERNEL">MISC_TIMER_RELU_BACKWARD_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RELU_KERNEL">MISC_TIMER_RELU_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REUSE">MISC_TIMER_REUSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_DENSE_OP">MISC_TIMER_RIX_DENSE_OP</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_SPARSE_DENSE_OP_NNZ">MISC_TIMER_RIX_SPARSE_DENSE_OP_NNZ</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_SPARSE_DENSE_OP_ROWWISE">MISC_TIMER_RIX_SPARSE_DENSE_OP_ROWWISE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ROUND_KERNEL">MISC_TIMER_ROUND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ROW_TO_COLUMN_MAJOR">MISC_TIMER_ROW_TO_COLUMN_MAJOR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SET_ZERO">MISC_TIMER_SET_ZERO</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIGMOID_KERNEL">MISC_TIMER_SIGMOID_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIGN_KERNEL">MISC_TIMER_SIGN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIN_KERNEL">MISC_TIMER_SIN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SINH_KERNEL">MISC_TIMER_SINH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_ALLOCATE_LIB">MISC_TIMER_SPARSE_ALLOCATE_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_DGEAM_LIB">MISC_TIMER_SPARSE_DGEAM_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_IM2COL_KERNEL">MISC_TIMER_SPARSE_IM2COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_DENSE_MATRIX_LIB">MISC_TIMER_SPARSE_MATRIX_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_DENSE_VECTOR_LIB">MISC_TIMER_SPARSE_MATRIX_DENSE_VECTOR_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_SPARSE_MATRIX_LIB">MISC_TIMER_SPARSE_MATRIX_SPARSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_TO_DENSE">MISC_TIMER_SPARSE_TO_DENSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SQRT_KERNEL">MISC_TIMER_SQRT_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SYRK_LIB">MISC_TIMER_SYRK_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TAN_KERNEL">MISC_TIMER_TAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TANH_KERNEL">MISC_TIMER_TANH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TRANSPOSE_LIB">MISC_TIMER_TRANSPOSE_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TRSM">MISC_TIMER_TRSM</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_UPPER_TO_LOWER_TRIANGLE_KERNEL">MISC_TIMER_UPPER_TO_LOWER_TRIANGLE_KERNEL</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#Z:Z_input1">_input1</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#Z:Z_input2">_input2</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#Z:Z_output">_output</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ABS_KERNEL">MISC_TIMER_ABS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ACOS_KERNEL">MISC_TIMER_ACOS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ACTIVATION_FORWARD_LIB">MISC_TIMER_ACTIVATION_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE">MISC_TIMER_ALLOCATE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE_DENSE_OUTPUT">MISC_TIMER_ALLOCATE_DENSE_OUTPUT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE_SPARSE_OUTPUT">MISC_TIMER_ALLOCATE_SPARSE_OUTPUT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ASIN_KERNEL">MISC_TIMER_ASIN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ATAN_KERNEL">MISC_TIMER_ATAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_BIAS_ADD_LIB">MISC_TIMER_BIAS_ADD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CBIND_KERNEL">MISC_TIMER_CBIND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CEIL_KERNEL">MISC_TIMER_CEIL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COLUMN_TO_ROW_MAJOR">MISC_TIMER_COLUMN_TO_ROW_MAJOR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COMPARE_AND_SET_KERNEL">MISC_TIMER_COMPARE_AND_SET_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_BACKWARD_DATA_LIB">MISC_TIMER_CONVOLUTION_BACKWARD_DATA_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_BACKWARD_FILTER_LIB">MISC_TIMER_CONVOLUTION_BACKWARD_FILTER_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_FORWARD_LIB">MISC_TIMER_CONVOLUTION_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COS_KERNEL">MISC_TIMER_COS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COSH_KERNEL">MISC_TIMER_COSH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDA_FREE">MISC_TIMER_CUDA_FREE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDA_SYNC">MISC_TIMER_CUDA_SYNC</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDNN_CLEANUP">MISC_TIMER_CUDNN_CLEANUP</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDNN_INIT">MISC_TIMER_CUDNN_INIT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUMULATIVE_SCAN_KERNEL">MISC_TIMER_CUMULATIVE_SCAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUMULATIVE_SUMPROD_KERNEL">MISC_TIMER_CUMULATIVE_SUMPROD_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DAXPY_LIB">MISC_TIMER_DAXPY_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DAXPY_MV_KERNEL">MISC_TIMER_DAXPY_MV_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_DGEAM_LIB">MISC_TIMER_DENSE_DGEAM_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_DOT_LIB">MISC_TIMER_DENSE_DOT_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_IM2COL_KERNEL">MISC_TIMER_DENSE_IM2COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_MATRIX_DENSE_MATRIX_LIB">MISC_TIMER_DENSE_MATRIX_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_MATRIX_DENSE_VECTOR_LIB">MISC_TIMER_DENSE_MATRIX_DENSE_VECTOR_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_REORG_KNPQ_KERNEL">MISC_TIMER_DENSE_REORG_KNPQ_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_TO_SPARSE">MISC_TIMER_DENSE_TO_SPARSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_VECTOR_DENSE_MATRIX_LIB">MISC_TIMER_DENSE_VECTOR_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DEVICE_TO_DEVICE">MISC_TIMER_DEVICE_TO_DEVICE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DEVICE_TO_HOST">MISC_TIMER_DEVICE_TO_HOST</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_EVICT">MISC_TIMER_EVICT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_EXP_KERNEL">MISC_TIMER_EXP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_FILL_KERNEL">MISC_TIMER_FILL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_FLOOR_KERNEL">MISC_TIMER_FLOOR_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_HOST_TO_DEVICE">MISC_TIMER_HOST_TO_DEVICE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_LOG_KERNEL">MISC_TIMER_LOG_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MATRIX_MATRIX_CELLWISE_OP_KERNEL">MISC_TIMER_MATRIX_MATRIX_CELLWISE_OP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MATRIX_SCALAR_OP_KERNEL">MISC_TIMER_MATRIX_SCALAR_OP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MAXPOOLING_BACKWARD_LIB">MISC_TIMER_MAXPOOLING_BACKWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MAXPOOLING_FORWARD_LIB">MISC_TIMER_MAXPOOLING_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_OBJECT_CLONE">MISC_TIMER_OBJECT_CLONE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ORMQR">MISC_TIMER_ORMQR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_QR">MISC_TIMER_QR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_QR_BUFFER">MISC_TIMER_QR_BUFFER</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RBIND_KERNEL">MISC_TIMER_RBIND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_ALL_KERNEL">MISC_TIMER_REDUCE_ALL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_COL_KERNEL">MISC_TIMER_REDUCE_COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_ROW_KERNEL">MISC_TIMER_REDUCE_ROW_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RELU_BACKWARD_KERNEL">MISC_TIMER_RELU_BACKWARD_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RELU_KERNEL">MISC_TIMER_RELU_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REUSE">MISC_TIMER_REUSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_DENSE_OP">MISC_TIMER_RIX_DENSE_OP</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_SPARSE_DENSE_OP_NNZ">MISC_TIMER_RIX_SPARSE_DENSE_OP_NNZ</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_SPARSE_DENSE_OP_ROWWISE">MISC_TIMER_RIX_SPARSE_DENSE_OP_ROWWISE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ROUND_KERNEL">MISC_TIMER_ROUND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ROW_TO_COLUMN_MAJOR">MISC_TIMER_ROW_TO_COLUMN_MAJOR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SET_ZERO">MISC_TIMER_SET_ZERO</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIGMOID_KERNEL">MISC_TIMER_SIGMOID_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIGN_KERNEL">MISC_TIMER_SIGN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIN_KERNEL">MISC_TIMER_SIN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SINH_KERNEL">MISC_TIMER_SINH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_ALLOCATE_LIB">MISC_TIMER_SPARSE_ALLOCATE_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_DGEAM_LIB">MISC_TIMER_SPARSE_DGEAM_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_IM2COL_KERNEL">MISC_TIMER_SPARSE_IM2COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_DENSE_MATRIX_LIB">MISC_TIMER_SPARSE_MATRIX_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_DENSE_VECTOR_LIB">MISC_TIMER_SPARSE_MATRIX_DENSE_VECTOR_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_SPARSE_MATRIX_LIB">MISC_TIMER_SPARSE_MATRIX_SPARSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_TO_DENSE">MISC_TIMER_SPARSE_TO_DENSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SQRT_KERNEL">MISC_TIMER_SQRT_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SYRK_LIB">MISC_TIMER_SYRK_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TAN_KERNEL">MISC_TIMER_TAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TANH_KERNEL">MISC_TIMER_TANH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TRANSPOSE_LIB">MISC_TIMER_TRANSPOSE_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TRSM">MISC_TIMER_TRSM</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_UPPER_TO_LOWER_TRIANGLE_KERNEL">MISC_TIMER_UPPER_TO_LOWER_TRIANGLE_KERNEL</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="fields.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
@@ -203,7 +207,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.gpu.<a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">GPUInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getGPUInstructionType--">getGPUInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getGPUInstructionType--">getGPUInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
@@ -219,6 +223,13 @@
 <h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
 <code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.lineage.LineageTraceable">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.sysds.runtime.lineage.<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#getLineageItems-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItems</a>, <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#hasSingleLineage--">hasSingleLineage</a></code></li>
+</ul>
 </li>
 </ul>
 </li>
@@ -337,6 +348,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/MatrixAppendGPUInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/MatrixAppendGPUInstruction.html
index 1b610c4..7c97957 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/MatrixAppendGPUInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/MatrixAppendGPUInstruction.html
@@ -117,6 +117,10 @@
 <div class="description">
 <ul class="blockList">
 <li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a></dd>
+</dl>
 <hr>
 <br>
 <pre>public class <span class="typeNameLabel">MatrixAppendGPUInstruction</span>
@@ -161,7 +165,7 @@
 <!--   -->
 </a>
 <h3>Fields inherited from class&nbsp;org.apache.sysds.runtime.instructions.gpu.<a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">GPUInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ABS_KERNEL">MISC_TIMER_ABS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ACOS_KERNEL">MISC_TIMER_ACOS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ACTIVATION_FORWARD_LIB">MISC_TIMER_ACTIVATION_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE">MISC_TIMER_ALLOCATE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE_DENSE_OUTPUT">MISC_TIMER_ALLOCATE_DENSE_OUTPUT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE_SPARSE_OUTPUT">MISC_TIMER_ALLOCATE_SPARSE_OUTPUT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ASIN_KERNEL">MISC_TIMER_ASIN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ATAN_KERNEL">MISC_TIMER_ATAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_BIAS_ADD_LIB">MISC_TIMER_BIAS_ADD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CBIND_KERNEL">MISC_TIMER_CBIND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CEIL_KERNEL">MISC_TIMER_CEIL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COLUMN_TO_ROW_MAJOR">MISC_TIMER_COLUMN_TO_ROW_MAJOR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COMPARE_AND_SET_KERNEL">MISC_TIMER_COMPARE_AND_SET_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_BACKWARD_DATA_LIB">MISC_TIMER_CONVOLUTION_BACKWARD_DATA_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_BACKWARD_FILTER_LIB">MISC_TIMER_CONVOLUTION_BACKWARD_FILTER_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_FORWARD_LIB">MISC_TIMER_CONVOLUTION_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COS_KERNEL">MISC_TIMER_COS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COSH_KERNEL">MISC_TIMER_COSH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDA_FREE">MISC_TIMER_CUDA_FREE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDA_SYNC">MISC_TIMER_CUDA_SYNC</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDNN_CLEANUP">MISC_TIMER_CUDNN_CLEANUP</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDNN_INIT">MISC_TIMER_CUDNN_INIT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUMULATIVE_SCAN_KERNEL">MISC_TIMER_CUMULATIVE_SCAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUMULATIVE_SUMPROD_KERNEL">MISC_TIMER_CUMULATIVE_SUMPROD_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DAXPY_LIB">MISC_TIMER_DAXPY_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DAXPY_MV_KERNEL">MISC_TIMER_DAXPY_MV_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_DGEAM_LIB">MISC_TIMER_DENSE_DGEAM_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_DOT_LIB">MISC_TIMER_DENSE_DOT_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_IM2COL_KERNEL">MISC_TIMER_DENSE_IM2COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_MATRIX_DENSE_MATRIX_LIB">MISC_TIMER_DENSE_MATRIX_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_MATRIX_DENSE_VECTOR_LIB">MISC_TIMER_DENSE_MATRIX_DENSE_VECTOR_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_REORG_KNPQ_KERNEL">MISC_TIMER_DENSE_REORG_KNPQ_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_TO_SPARSE">MISC_TIMER_DENSE_TO_SPARSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_VECTOR_DENSE_MATRIX_LIB">MISC_TIMER_DENSE_VECTOR_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DEVICE_TO_DEVICE">MISC_TIMER_DEVICE_TO_DEVICE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DEVICE_TO_HOST">MISC_TIMER_DEVICE_TO_HOST</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_EVICT">MISC_TIMER_EVICT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_EXP_KERNEL">MISC_TIMER_EXP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_FILL_KERNEL">MISC_TIMER_FILL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_FLOOR_KERNEL">MISC_TIMER_FLOOR_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_HOST_TO_DEVICE">MISC_TIMER_HOST_TO_DEVICE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_LOG_KERNEL">MISC_TIMER_LOG_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MATRIX_MATRIX_CELLWISE_OP_KERNEL">MISC_TIMER_MATRIX_MATRIX_CELLWISE_OP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MATRIX_SCALAR_OP_KERNEL">MISC_TIMER_MATRIX_SCALAR_OP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MAXPOOLING_BACKWARD_LIB">MISC_TIMER_MAXPOOLING_BACKWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MAXPOOLING_FORWARD_LIB">MISC_TIMER_MAXPOOLING_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_OBJECT_CLONE">MISC_TIMER_OBJECT_CLONE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ORMQR">MISC_TIMER_ORMQR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_QR">MISC_TIMER_QR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_QR_BUFFER">MISC_TIMER_QR_BUFFER</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RBIND_KERNEL">MISC_TIMER_RBIND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_ALL_KERNEL">MISC_TIMER_REDUCE_ALL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_COL_KERNEL">MISC_TIMER_REDUCE_COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_ROW_KERNEL">MISC_TIMER_REDUCE_ROW_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RELU_BACKWARD_KERNEL">MISC_TIMER_RELU_BACKWARD_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RELU_KERNEL">MISC_TIMER_RELU_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REUSE">MISC_TIMER_REUSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_DENSE_OP">MISC_TIMER_RIX_DENSE_OP</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_SPARSE_DENSE_OP_NNZ">MISC_TIMER_RIX_SPARSE_DENSE_OP_NNZ</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_SPARSE_DENSE_OP_ROWWISE">MISC_TIMER_RIX_SPARSE_DENSE_OP_ROWWISE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ROUND_KERNEL">MISC_TIMER_ROUND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ROW_TO_COLUMN_MAJOR">MISC_TIMER_ROW_TO_COLUMN_MAJOR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SET_ZERO">MISC_TIMER_SET_ZERO</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIGMOID_KERNEL">MISC_TIMER_SIGMOID_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIGN_KERNEL">MISC_TIMER_SIGN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIN_KERNEL">MISC_TIMER_SIN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SINH_KERNEL">MISC_TIMER_SINH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_ALLOCATE_LIB">MISC_TIMER_SPARSE_ALLOCATE_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_DGEAM_LIB">MISC_TIMER_SPARSE_DGEAM_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_IM2COL_KERNEL">MISC_TIMER_SPARSE_IM2COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_DENSE_MATRIX_LIB">MISC_TIMER_SPARSE_MATRIX_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_DENSE_VECTOR_LIB">MISC_TIMER_SPARSE_MATRIX_DENSE_VECTOR_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_SPARSE_MATRIX_LIB">MISC_TIMER_SPARSE_MATRIX_SPARSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_TO_DENSE">MISC_TIMER_SPARSE_TO_DENSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SQRT_KERNEL">MISC_TIMER_SQRT_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SYRK_LIB">MISC_TIMER_SYRK_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TAN_KERNEL">MISC_TIMER_TAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TANH_KERNEL">MISC_TIMER_TANH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TRANSPOSE_LIB">MISC_TIMER_TRANSPOSE_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TRSM">MISC_TIMER_TRSM</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_UPPER_TO_LOWER_TRIANGLE_KERNEL">MISC_TIMER_UPPER_TO_LOWER_TRIANGLE_KERNEL</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#Z:Z_input1">_input1</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#Z:Z_input2">_input2</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#Z:Z_output">_output</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ABS_KERNEL">MISC_TIMER_ABS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ACOS_KERNEL">MISC_TIMER_ACOS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ACTIVATION_FORWARD_LIB">MISC_TIMER_ACTIVATION_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE">MISC_TIMER_ALLOCATE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE_DENSE_OUTPUT">MISC_TIMER_ALLOCATE_DENSE_OUTPUT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE_SPARSE_OUTPUT">MISC_TIMER_ALLOCATE_SPARSE_OUTPUT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ASIN_KERNEL">MISC_TIMER_ASIN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ATAN_KERNEL">MISC_TIMER_ATAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_BIAS_ADD_LIB">MISC_TIMER_BIAS_ADD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CBIND_KERNEL">MISC_TIMER_CBIND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CEIL_KERNEL">MISC_TIMER_CEIL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COLUMN_TO_ROW_MAJOR">MISC_TIMER_COLUMN_TO_ROW_MAJOR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COMPARE_AND_SET_KERNEL">MISC_TIMER_COMPARE_AND_SET_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_BACKWARD_DATA_LIB">MISC_TIMER_CONVOLUTION_BACKWARD_DATA_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_BACKWARD_FILTER_LIB">MISC_TIMER_CONVOLUTION_BACKWARD_FILTER_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_FORWARD_LIB">MISC_TIMER_CONVOLUTION_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COS_KERNEL">MISC_TIMER_COS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COSH_KERNEL">MISC_TIMER_COSH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDA_FREE">MISC_TIMER_CUDA_FREE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDA_SYNC">MISC_TIMER_CUDA_SYNC</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDNN_CLEANUP">MISC_TIMER_CUDNN_CLEANUP</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDNN_INIT">MISC_TIMER_CUDNN_INIT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUMULATIVE_SCAN_KERNEL">MISC_TIMER_CUMULATIVE_SCAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUMULATIVE_SUMPROD_KERNEL">MISC_TIMER_CUMULATIVE_SUMPROD_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DAXPY_LIB">MISC_TIMER_DAXPY_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DAXPY_MV_KERNEL">MISC_TIMER_DAXPY_MV_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_DGEAM_LIB">MISC_TIMER_DENSE_DGEAM_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_DOT_LIB">MISC_TIMER_DENSE_DOT_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_IM2COL_KERNEL">MISC_TIMER_DENSE_IM2COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_MATRIX_DENSE_MATRIX_LIB">MISC_TIMER_DENSE_MATRIX_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_MATRIX_DENSE_VECTOR_LIB">MISC_TIMER_DENSE_MATRIX_DENSE_VECTOR_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_REORG_KNPQ_KERNEL">MISC_TIMER_DENSE_REORG_KNPQ_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_TO_SPARSE">MISC_TIMER_DENSE_TO_SPARSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_VECTOR_DENSE_MATRIX_LIB">MISC_TIMER_DENSE_VECTOR_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DEVICE_TO_DEVICE">MISC_TIMER_DEVICE_TO_DEVICE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DEVICE_TO_HOST">MISC_TIMER_DEVICE_TO_HOST</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_EVICT">MISC_TIMER_EVICT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_EXP_KERNEL">MISC_TIMER_EXP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_FILL_KERNEL">MISC_TIMER_FILL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_FLOOR_KERNEL">MISC_TIMER_FLOOR_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_HOST_TO_DEVICE">MISC_TIMER_HOST_TO_DEVICE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_LOG_KERNEL">MISC_TIMER_LOG_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MATRIX_MATRIX_CELLWISE_OP_KERNEL">MISC_TIMER_MATRIX_MATRIX_CELLWISE_OP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MATRIX_SCALAR_OP_KERNEL">MISC_TIMER_MATRIX_SCALAR_OP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MAXPOOLING_BACKWARD_LIB">MISC_TIMER_MAXPOOLING_BACKWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MAXPOOLING_FORWARD_LIB">MISC_TIMER_MAXPOOLING_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_OBJECT_CLONE">MISC_TIMER_OBJECT_CLONE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ORMQR">MISC_TIMER_ORMQR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_QR">MISC_TIMER_QR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_QR_BUFFER">MISC_TIMER_QR_BUFFER</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RBIND_KERNEL">MISC_TIMER_RBIND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_ALL_KERNEL">MISC_TIMER_REDUCE_ALL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_COL_KERNEL">MISC_TIMER_REDUCE_COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_ROW_KERNEL">MISC_TIMER_REDUCE_ROW_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RELU_BACKWARD_KERNEL">MISC_TIMER_RELU_BACKWARD_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RELU_KERNEL">MISC_TIMER_RELU_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REUSE">MISC_TIMER_REUSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_DENSE_OP">MISC_TIMER_RIX_DENSE_OP</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_SPARSE_DENSE_OP_NNZ">MISC_TIMER_RIX_SPARSE_DENSE_OP_NNZ</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_SPARSE_DENSE_OP_ROWWISE">MISC_TIMER_RIX_SPARSE_DENSE_OP_ROWWISE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ROUND_KERNEL">MISC_TIMER_ROUND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ROW_TO_COLUMN_MAJOR">MISC_TIMER_ROW_TO_COLUMN_MAJOR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SET_ZERO">MISC_TIMER_SET_ZERO</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIGMOID_KERNEL">MISC_TIMER_SIGMOID_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIGN_KERNEL">MISC_TIMER_SIGN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIN_KERNEL">MISC_TIMER_SIN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SINH_KERNEL">MISC_TIMER_SINH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_ALLOCATE_LIB">MISC_TIMER_SPARSE_ALLOCATE_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_DGEAM_LIB">MISC_TIMER_SPARSE_DGEAM_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_IM2COL_KERNEL">MISC_TIMER_SPARSE_IM2COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_DENSE_MATRIX_LIB">MISC_TIMER_SPARSE_MATRIX_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_DENSE_VECTOR_LIB">MISC_TIMER_SPARSE_MATRIX_DENSE_VECTOR_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_SPARSE_MATRIX_LIB">MISC_TIMER_SPARSE_MATRIX_SPARSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_TO_DENSE">MISC_TIMER_SPARSE_TO_DENSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SQRT_KERNEL">MISC_TIMER_SQRT_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SYRK_LIB">MISC_TIMER_SYRK_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TAN_KERNEL">MISC_TIMER_TAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TANH_KERNEL">MISC_TIMER_TANH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TRANSPOSE_LIB">MISC_TIMER_TRANSPOSE_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TRSM">MISC_TIMER_TRSM</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_UPPER_TO_LOWER_TRIANGLE_KERNEL">MISC_TIMER_UPPER_TO_LOWER_TRIANGLE_KERNEL</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="fields.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
@@ -200,7 +204,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.gpu.<a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">GPUInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getGPUInstructionType--">getGPUInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getGPUInstructionType--">getGPUInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
@@ -216,6 +220,13 @@
 <h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
 <code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.lineage.LineageTraceable">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.sysds.runtime.lineage.<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#getLineageItems-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItems</a>, <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#hasSingleLineage--">hasSingleLineage</a></code></li>
+</ul>
 </li>
 </ul>
 </li>
@@ -325,6 +336,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/MatrixBuiltinGPUInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/MatrixBuiltinGPUInstruction.html
index 6abfcf1..b10fcad 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/MatrixBuiltinGPUInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/MatrixBuiltinGPUInstruction.html
@@ -122,6 +122,10 @@
 <div class="description">
 <ul class="blockList">
 <li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a></dd>
+</dl>
 <hr>
 <br>
 <pre>public class <span class="typeNameLabel">MatrixBuiltinGPUInstruction</span>
@@ -165,7 +169,7 @@
 <!--   -->
 </a>
 <h3>Fields inherited from class&nbsp;org.apache.sysds.runtime.instructions.gpu.<a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">GPUInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ABS_KERNEL">MISC_TIMER_ABS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ACOS_KERNEL">MISC_TIMER_ACOS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ACTIVATION_FORWARD_LIB">MISC_TIMER_ACTIVATION_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE">MISC_TIMER_ALLOCATE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE_DENSE_OUTPUT">MISC_TIMER_ALLOCATE_DENSE_OUTPUT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE_SPARSE_OUTPUT">MISC_TIMER_ALLOCATE_SPARSE_OUTPUT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ASIN_KERNEL">MISC_TIMER_ASIN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ATAN_KERNEL">MISC_TIMER_ATAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_BIAS_ADD_LIB">MISC_TIMER_BIAS_ADD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CBIND_KERNEL">MISC_TIMER_CBIND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CEIL_KERNEL">MISC_TIMER_CEIL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COLUMN_TO_ROW_MAJOR">MISC_TIMER_COLUMN_TO_ROW_MAJOR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COMPARE_AND_SET_KERNEL">MISC_TIMER_COMPARE_AND_SET_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_BACKWARD_DATA_LIB">MISC_TIMER_CONVOLUTION_BACKWARD_DATA_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_BACKWARD_FILTER_LIB">MISC_TIMER_CONVOLUTION_BACKWARD_FILTER_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_FORWARD_LIB">MISC_TIMER_CONVOLUTION_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COS_KERNEL">MISC_TIMER_COS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COSH_KERNEL">MISC_TIMER_COSH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDA_FREE">MISC_TIMER_CUDA_FREE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDA_SYNC">MISC_TIMER_CUDA_SYNC</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDNN_CLEANUP">MISC_TIMER_CUDNN_CLEANUP</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDNN_INIT">MISC_TIMER_CUDNN_INIT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUMULATIVE_SCAN_KERNEL">MISC_TIMER_CUMULATIVE_SCAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUMULATIVE_SUMPROD_KERNEL">MISC_TIMER_CUMULATIVE_SUMPROD_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DAXPY_LIB">MISC_TIMER_DAXPY_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DAXPY_MV_KERNEL">MISC_TIMER_DAXPY_MV_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_DGEAM_LIB">MISC_TIMER_DENSE_DGEAM_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_DOT_LIB">MISC_TIMER_DENSE_DOT_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_IM2COL_KERNEL">MISC_TIMER_DENSE_IM2COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_MATRIX_DENSE_MATRIX_LIB">MISC_TIMER_DENSE_MATRIX_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_MATRIX_DENSE_VECTOR_LIB">MISC_TIMER_DENSE_MATRIX_DENSE_VECTOR_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_REORG_KNPQ_KERNEL">MISC_TIMER_DENSE_REORG_KNPQ_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_TO_SPARSE">MISC_TIMER_DENSE_TO_SPARSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_VECTOR_DENSE_MATRIX_LIB">MISC_TIMER_DENSE_VECTOR_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DEVICE_TO_DEVICE">MISC_TIMER_DEVICE_TO_DEVICE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DEVICE_TO_HOST">MISC_TIMER_DEVICE_TO_HOST</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_EVICT">MISC_TIMER_EVICT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_EXP_KERNEL">MISC_TIMER_EXP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_FILL_KERNEL">MISC_TIMER_FILL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_FLOOR_KERNEL">MISC_TIMER_FLOOR_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_HOST_TO_DEVICE">MISC_TIMER_HOST_TO_DEVICE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_LOG_KERNEL">MISC_TIMER_LOG_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MATRIX_MATRIX_CELLWISE_OP_KERNEL">MISC_TIMER_MATRIX_MATRIX_CELLWISE_OP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MATRIX_SCALAR_OP_KERNEL">MISC_TIMER_MATRIX_SCALAR_OP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MAXPOOLING_BACKWARD_LIB">MISC_TIMER_MAXPOOLING_BACKWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MAXPOOLING_FORWARD_LIB">MISC_TIMER_MAXPOOLING_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_OBJECT_CLONE">MISC_TIMER_OBJECT_CLONE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ORMQR">MISC_TIMER_ORMQR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_QR">MISC_TIMER_QR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_QR_BUFFER">MISC_TIMER_QR_BUFFER</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RBIND_KERNEL">MISC_TIMER_RBIND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_ALL_KERNEL">MISC_TIMER_REDUCE_ALL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_COL_KERNEL">MISC_TIMER_REDUCE_COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_ROW_KERNEL">MISC_TIMER_REDUCE_ROW_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RELU_BACKWARD_KERNEL">MISC_TIMER_RELU_BACKWARD_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RELU_KERNEL">MISC_TIMER_RELU_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REUSE">MISC_TIMER_REUSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_DENSE_OP">MISC_TIMER_RIX_DENSE_OP</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_SPARSE_DENSE_OP_NNZ">MISC_TIMER_RIX_SPARSE_DENSE_OP_NNZ</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_SPARSE_DENSE_OP_ROWWISE">MISC_TIMER_RIX_SPARSE_DENSE_OP_ROWWISE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ROUND_KERNEL">MISC_TIMER_ROUND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ROW_TO_COLUMN_MAJOR">MISC_TIMER_ROW_TO_COLUMN_MAJOR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SET_ZERO">MISC_TIMER_SET_ZERO</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIGMOID_KERNEL">MISC_TIMER_SIGMOID_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIGN_KERNEL">MISC_TIMER_SIGN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIN_KERNEL">MISC_TIMER_SIN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SINH_KERNEL">MISC_TIMER_SINH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_ALLOCATE_LIB">MISC_TIMER_SPARSE_ALLOCATE_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_DGEAM_LIB">MISC_TIMER_SPARSE_DGEAM_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_IM2COL_KERNEL">MISC_TIMER_SPARSE_IM2COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_DENSE_MATRIX_LIB">MISC_TIMER_SPARSE_MATRIX_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_DENSE_VECTOR_LIB">MISC_TIMER_SPARSE_MATRIX_DENSE_VECTOR_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_SPARSE_MATRIX_LIB">MISC_TIMER_SPARSE_MATRIX_SPARSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_TO_DENSE">MISC_TIMER_SPARSE_TO_DENSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SQRT_KERNEL">MISC_TIMER_SQRT_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SYRK_LIB">MISC_TIMER_SYRK_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TAN_KERNEL">MISC_TIMER_TAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TANH_KERNEL">MISC_TIMER_TANH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TRANSPOSE_LIB">MISC_TIMER_TRANSPOSE_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TRSM">MISC_TIMER_TRSM</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_UPPER_TO_LOWER_TRIANGLE_KERNEL">MISC_TIMER_UPPER_TO_LOWER_TRIANGLE_KERNEL</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#Z:Z_input1">_input1</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#Z:Z_input2">_input2</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#Z:Z_output">_output</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ABS_KERNEL">MISC_TIMER_ABS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ACOS_KERNEL">MISC_TIMER_ACOS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ACTIVATION_FORWARD_LIB">MISC_TIMER_ACTIVATION_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE">MISC_TIMER_ALLOCATE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE_DENSE_OUTPUT">MISC_TIMER_ALLOCATE_DENSE_OUTPUT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE_SPARSE_OUTPUT">MISC_TIMER_ALLOCATE_SPARSE_OUTPUT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ASIN_KERNEL">MISC_TIMER_ASIN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ATAN_KERNEL">MISC_TIMER_ATAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_BIAS_ADD_LIB">MISC_TIMER_BIAS_ADD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CBIND_KERNEL">MISC_TIMER_CBIND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CEIL_KERNEL">MISC_TIMER_CEIL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COLUMN_TO_ROW_MAJOR">MISC_TIMER_COLUMN_TO_ROW_MAJOR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COMPARE_AND_SET_KERNEL">MISC_TIMER_COMPARE_AND_SET_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_BACKWARD_DATA_LIB">MISC_TIMER_CONVOLUTION_BACKWARD_DATA_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_BACKWARD_FILTER_LIB">MISC_TIMER_CONVOLUTION_BACKWARD_FILTER_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_FORWARD_LIB">MISC_TIMER_CONVOLUTION_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COS_KERNEL">MISC_TIMER_COS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COSH_KERNEL">MISC_TIMER_COSH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDA_FREE">MISC_TIMER_CUDA_FREE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDA_SYNC">MISC_TIMER_CUDA_SYNC</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDNN_CLEANUP">MISC_TIMER_CUDNN_CLEANUP</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDNN_INIT">MISC_TIMER_CUDNN_INIT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUMULATIVE_SCAN_KERNEL">MISC_TIMER_CUMULATIVE_SCAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUMULATIVE_SUMPROD_KERNEL">MISC_TIMER_CUMULATIVE_SUMPROD_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DAXPY_LIB">MISC_TIMER_DAXPY_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DAXPY_MV_KERNEL">MISC_TIMER_DAXPY_MV_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_DGEAM_LIB">MISC_TIMER_DENSE_DGEAM_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_DOT_LIB">MISC_TIMER_DENSE_DOT_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_IM2COL_KERNEL">MISC_TIMER_DENSE_IM2COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_MATRIX_DENSE_MATRIX_LIB">MISC_TIMER_DENSE_MATRIX_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_MATRIX_DENSE_VECTOR_LIB">MISC_TIMER_DENSE_MATRIX_DENSE_VECTOR_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_REORG_KNPQ_KERNEL">MISC_TIMER_DENSE_REORG_KNPQ_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_TO_SPARSE">MISC_TIMER_DENSE_TO_SPARSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_VECTOR_DENSE_MATRIX_LIB">MISC_TIMER_DENSE_VECTOR_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DEVICE_TO_DEVICE">MISC_TIMER_DEVICE_TO_DEVICE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DEVICE_TO_HOST">MISC_TIMER_DEVICE_TO_HOST</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_EVICT">MISC_TIMER_EVICT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_EXP_KERNEL">MISC_TIMER_EXP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_FILL_KERNEL">MISC_TIMER_FILL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_FLOOR_KERNEL">MISC_TIMER_FLOOR_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_HOST_TO_DEVICE">MISC_TIMER_HOST_TO_DEVICE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_LOG_KERNEL">MISC_TIMER_LOG_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MATRIX_MATRIX_CELLWISE_OP_KERNEL">MISC_TIMER_MATRIX_MATRIX_CELLWISE_OP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MATRIX_SCALAR_OP_KERNEL">MISC_TIMER_MATRIX_SCALAR_OP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MAXPOOLING_BACKWARD_LIB">MISC_TIMER_MAXPOOLING_BACKWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MAXPOOLING_FORWARD_LIB">MISC_TIMER_MAXPOOLING_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_OBJECT_CLONE">MISC_TIMER_OBJECT_CLONE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ORMQR">MISC_TIMER_ORMQR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_QR">MISC_TIMER_QR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_QR_BUFFER">MISC_TIMER_QR_BUFFER</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RBIND_KERNEL">MISC_TIMER_RBIND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_ALL_KERNEL">MISC_TIMER_REDUCE_ALL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_COL_KERNEL">MISC_TIMER_REDUCE_COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_ROW_KERNEL">MISC_TIMER_REDUCE_ROW_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RELU_BACKWARD_KERNEL">MISC_TIMER_RELU_BACKWARD_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RELU_KERNEL">MISC_TIMER_RELU_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REUSE">MISC_TIMER_REUSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_DENSE_OP">MISC_TIMER_RIX_DENSE_OP</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_SPARSE_DENSE_OP_NNZ">MISC_TIMER_RIX_SPARSE_DENSE_OP_NNZ</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_SPARSE_DENSE_OP_ROWWISE">MISC_TIMER_RIX_SPARSE_DENSE_OP_ROWWISE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ROUND_KERNEL">MISC_TIMER_ROUND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ROW_TO_COLUMN_MAJOR">MISC_TIMER_ROW_TO_COLUMN_MAJOR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SET_ZERO">MISC_TIMER_SET_ZERO</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIGMOID_KERNEL">MISC_TIMER_SIGMOID_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIGN_KERNEL">MISC_TIMER_SIGN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIN_KERNEL">MISC_TIMER_SIN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SINH_KERNEL">MISC_TIMER_SINH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_ALLOCATE_LIB">MISC_TIMER_SPARSE_ALLOCATE_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_DGEAM_LIB">MISC_TIMER_SPARSE_DGEAM_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_IM2COL_KERNEL">MISC_TIMER_SPARSE_IM2COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_DENSE_MATRIX_LIB">MISC_TIMER_SPARSE_MATRIX_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_DENSE_VECTOR_LIB">MISC_TIMER_SPARSE_MATRIX_DENSE_VECTOR_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_SPARSE_MATRIX_LIB">MISC_TIMER_SPARSE_MATRIX_SPARSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_TO_DENSE">MISC_TIMER_SPARSE_TO_DENSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SQRT_KERNEL">MISC_TIMER_SQRT_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SYRK_LIB">MISC_TIMER_SYRK_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TAN_KERNEL">MISC_TIMER_TAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TANH_KERNEL">MISC_TIMER_TANH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TRANSPOSE_LIB">MISC_TIMER_TRANSPOSE_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TRSM">MISC_TIMER_TRSM</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_UPPER_TO_LOWER_TRIANGLE_KERNEL">MISC_TIMER_UPPER_TO_LOWER_TRIANGLE_KERNEL</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="fields.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
@@ -207,7 +211,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.gpu.<a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">GPUInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getGPUInstructionType--">getGPUInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getGPUInstructionType--">getGPUInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
@@ -223,6 +227,13 @@
 <h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
 <code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.lineage.LineageTraceable">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.sysds.runtime.lineage.<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#getLineageItems-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItems</a>, <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#hasSingleLineage--">hasSingleLineage</a></code></li>
+</ul>
 </li>
 </ul>
 </li>
@@ -323,6 +334,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/MatrixIndexingGPUInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/MatrixIndexingGPUInstruction.html
index 2fe34b5..a705dac 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/MatrixIndexingGPUInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/MatrixIndexingGPUInstruction.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":10};
+var methods = {"i0":10,"i1":9,"i2":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -117,6 +117,10 @@
 <div class="description">
 <ul class="blockList">
 <li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a></dd>
+</dl>
 <hr>
 <br>
 <pre>public class <span class="typeNameLabel">MatrixIndexingGPUInstruction</span>
@@ -160,7 +164,7 @@
 <!--   -->
 </a>
 <h3>Fields inherited from class&nbsp;org.apache.sysds.runtime.instructions.gpu.<a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">GPUInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ABS_KERNEL">MISC_TIMER_ABS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ACOS_KERNEL">MISC_TIMER_ACOS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ACTIVATION_FORWARD_LIB">MISC_TIMER_ACTIVATION_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE">MISC_TIMER_ALLOCATE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE_DENSE_OUTPUT">MISC_TIMER_ALLOCATE_DENSE_OUTPUT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE_SPARSE_OUTPUT">MISC_TIMER_ALLOCATE_SPARSE_OUTPUT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ASIN_KERNEL">MISC_TIMER_ASIN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ATAN_KERNEL">MISC_TIMER_ATAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_BIAS_ADD_LIB">MISC_TIMER_BIAS_ADD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CBIND_KERNEL">MISC_TIMER_CBIND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CEIL_KERNEL">MISC_TIMER_CEIL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COLUMN_TO_ROW_MAJOR">MISC_TIMER_COLUMN_TO_ROW_MAJOR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COMPARE_AND_SET_KERNEL">MISC_TIMER_COMPARE_AND_SET_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_BACKWARD_DATA_LIB">MISC_TIMER_CONVOLUTION_BACKWARD_DATA_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_BACKWARD_FILTER_LIB">MISC_TIMER_CONVOLUTION_BACKWARD_FILTER_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_FORWARD_LIB">MISC_TIMER_CONVOLUTION_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COS_KERNEL">MISC_TIMER_COS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COSH_KERNEL">MISC_TIMER_COSH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDA_FREE">MISC_TIMER_CUDA_FREE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDA_SYNC">MISC_TIMER_CUDA_SYNC</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDNN_CLEANUP">MISC_TIMER_CUDNN_CLEANUP</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDNN_INIT">MISC_TIMER_CUDNN_INIT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUMULATIVE_SCAN_KERNEL">MISC_TIMER_CUMULATIVE_SCAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUMULATIVE_SUMPROD_KERNEL">MISC_TIMER_CUMULATIVE_SUMPROD_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DAXPY_LIB">MISC_TIMER_DAXPY_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DAXPY_MV_KERNEL">MISC_TIMER_DAXPY_MV_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_DGEAM_LIB">MISC_TIMER_DENSE_DGEAM_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_DOT_LIB">MISC_TIMER_DENSE_DOT_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_IM2COL_KERNEL">MISC_TIMER_DENSE_IM2COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_MATRIX_DENSE_MATRIX_LIB">MISC_TIMER_DENSE_MATRIX_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_MATRIX_DENSE_VECTOR_LIB">MISC_TIMER_DENSE_MATRIX_DENSE_VECTOR_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_REORG_KNPQ_KERNEL">MISC_TIMER_DENSE_REORG_KNPQ_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_TO_SPARSE">MISC_TIMER_DENSE_TO_SPARSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_VECTOR_DENSE_MATRIX_LIB">MISC_TIMER_DENSE_VECTOR_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DEVICE_TO_DEVICE">MISC_TIMER_DEVICE_TO_DEVICE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DEVICE_TO_HOST">MISC_TIMER_DEVICE_TO_HOST</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_EVICT">MISC_TIMER_EVICT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_EXP_KERNEL">MISC_TIMER_EXP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_FILL_KERNEL">MISC_TIMER_FILL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_FLOOR_KERNEL">MISC_TIMER_FLOOR_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_HOST_TO_DEVICE">MISC_TIMER_HOST_TO_DEVICE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_LOG_KERNEL">MISC_TIMER_LOG_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MATRIX_MATRIX_CELLWISE_OP_KERNEL">MISC_TIMER_MATRIX_MATRIX_CELLWISE_OP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MATRIX_SCALAR_OP_KERNEL">MISC_TIMER_MATRIX_SCALAR_OP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MAXPOOLING_BACKWARD_LIB">MISC_TIMER_MAXPOOLING_BACKWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MAXPOOLING_FORWARD_LIB">MISC_TIMER_MAXPOOLING_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_OBJECT_CLONE">MISC_TIMER_OBJECT_CLONE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ORMQR">MISC_TIMER_ORMQR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_QR">MISC_TIMER_QR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_QR_BUFFER">MISC_TIMER_QR_BUFFER</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RBIND_KERNEL">MISC_TIMER_RBIND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_ALL_KERNEL">MISC_TIMER_REDUCE_ALL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_COL_KERNEL">MISC_TIMER_REDUCE_COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_ROW_KERNEL">MISC_TIMER_REDUCE_ROW_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RELU_BACKWARD_KERNEL">MISC_TIMER_RELU_BACKWARD_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RELU_KERNEL">MISC_TIMER_RELU_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REUSE">MISC_TIMER_REUSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_DENSE_OP">MISC_TIMER_RIX_DENSE_OP</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_SPARSE_DENSE_OP_NNZ">MISC_TIMER_RIX_SPARSE_DENSE_OP_NNZ</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_SPARSE_DENSE_OP_ROWWISE">MISC_TIMER_RIX_SPARSE_DENSE_OP_ROWWISE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ROUND_KERNEL">MISC_TIMER_ROUND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ROW_TO_COLUMN_MAJOR">MISC_TIMER_ROW_TO_COLUMN_MAJOR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SET_ZERO">MISC_TIMER_SET_ZERO</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIGMOID_KERNEL">MISC_TIMER_SIGMOID_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIGN_KERNEL">MISC_TIMER_SIGN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIN_KERNEL">MISC_TIMER_SIN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SINH_KERNEL">MISC_TIMER_SINH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_ALLOCATE_LIB">MISC_TIMER_SPARSE_ALLOCATE_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_DGEAM_LIB">MISC_TIMER_SPARSE_DGEAM_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_IM2COL_KERNEL">MISC_TIMER_SPARSE_IM2COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_DENSE_MATRIX_LIB">MISC_TIMER_SPARSE_MATRIX_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_DENSE_VECTOR_LIB">MISC_TIMER_SPARSE_MATRIX_DENSE_VECTOR_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_SPARSE_MATRIX_LIB">MISC_TIMER_SPARSE_MATRIX_SPARSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_TO_DENSE">MISC_TIMER_SPARSE_TO_DENSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SQRT_KERNEL">MISC_TIMER_SQRT_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SYRK_LIB">MISC_TIMER_SYRK_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TAN_KERNEL">MISC_TIMER_TAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TANH_KERNEL">MISC_TIMER_TANH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TRANSPOSE_LIB">MISC_TIMER_TRANSPOSE_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TRSM">MISC_TIMER_TRSM</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_UPPER_TO_LOWER_TRIANGLE_KERNEL">MISC_TIMER_UPPER_TO_LOWER_TRIANGLE_KERNEL</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#Z:Z_input1">_input1</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#Z:Z_input2">_input2</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#Z:Z_output">_output</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ABS_KERNEL">MISC_TIMER_ABS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ACOS_KERNEL">MISC_TIMER_ACOS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ACTIVATION_FORWARD_LIB">MISC_TIMER_ACTIVATION_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE">MISC_TIMER_ALLOCATE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE_DENSE_OUTPUT">MISC_TIMER_ALLOCATE_DENSE_OUTPUT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE_SPARSE_OUTPUT">MISC_TIMER_ALLOCATE_SPARSE_OUTPUT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ASIN_KERNEL">MISC_TIMER_ASIN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ATAN_KERNEL">MISC_TIMER_ATAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_BIAS_ADD_LIB">MISC_TIMER_BIAS_ADD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CBIND_KERNEL">MISC_TIMER_CBIND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CEIL_KERNEL">MISC_TIMER_CEIL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COLUMN_TO_ROW_MAJOR">MISC_TIMER_COLUMN_TO_ROW_MAJOR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COMPARE_AND_SET_KERNEL">MISC_TIMER_COMPARE_AND_SET_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_BACKWARD_DATA_LIB">MISC_TIMER_CONVOLUTION_BACKWARD_DATA_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_BACKWARD_FILTER_LIB">MISC_TIMER_CONVOLUTION_BACKWARD_FILTER_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_FORWARD_LIB">MISC_TIMER_CONVOLUTION_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COS_KERNEL">MISC_TIMER_COS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COSH_KERNEL">MISC_TIMER_COSH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDA_FREE">MISC_TIMER_CUDA_FREE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDA_SYNC">MISC_TIMER_CUDA_SYNC</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDNN_CLEANUP">MISC_TIMER_CUDNN_CLEANUP</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDNN_INIT">MISC_TIMER_CUDNN_INIT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUMULATIVE_SCAN_KERNEL">MISC_TIMER_CUMULATIVE_SCAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUMULATIVE_SUMPROD_KERNEL">MISC_TIMER_CUMULATIVE_SUMPROD_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DAXPY_LIB">MISC_TIMER_DAXPY_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DAXPY_MV_KERNEL">MISC_TIMER_DAXPY_MV_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_DGEAM_LIB">MISC_TIMER_DENSE_DGEAM_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_DOT_LIB">MISC_TIMER_DENSE_DOT_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_IM2COL_KERNEL">MISC_TIMER_DENSE_IM2COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_MATRIX_DENSE_MATRIX_LIB">MISC_TIMER_DENSE_MATRIX_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_MATRIX_DENSE_VECTOR_LIB">MISC_TIMER_DENSE_MATRIX_DENSE_VECTOR_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_REORG_KNPQ_KERNEL">MISC_TIMER_DENSE_REORG_KNPQ_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_TO_SPARSE">MISC_TIMER_DENSE_TO_SPARSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_VECTOR_DENSE_MATRIX_LIB">MISC_TIMER_DENSE_VECTOR_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DEVICE_TO_DEVICE">MISC_TIMER_DEVICE_TO_DEVICE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DEVICE_TO_HOST">MISC_TIMER_DEVICE_TO_HOST</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_EVICT">MISC_TIMER_EVICT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_EXP_KERNEL">MISC_TIMER_EXP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_FILL_KERNEL">MISC_TIMER_FILL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_FLOOR_KERNEL">MISC_TIMER_FLOOR_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_HOST_TO_DEVICE">MISC_TIMER_HOST_TO_DEVICE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_LOG_KERNEL">MISC_TIMER_LOG_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MATRIX_MATRIX_CELLWISE_OP_KERNEL">MISC_TIMER_MATRIX_MATRIX_CELLWISE_OP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MATRIX_SCALAR_OP_KERNEL">MISC_TIMER_MATRIX_SCALAR_OP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MAXPOOLING_BACKWARD_LIB">MISC_TIMER_MAXPOOLING_BACKWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MAXPOOLING_FORWARD_LIB">MISC_TIMER_MAXPOOLING_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_OBJECT_CLONE">MISC_TIMER_OBJECT_CLONE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ORMQR">MISC_TIMER_ORMQR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_QR">MISC_TIMER_QR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_QR_BUFFER">MISC_TIMER_QR_BUFFER</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RBIND_KERNEL">MISC_TIMER_RBIND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_ALL_KERNEL">MISC_TIMER_REDUCE_ALL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_COL_KERNEL">MISC_TIMER_REDUCE_COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_ROW_KERNEL">MISC_TIMER_REDUCE_ROW_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RELU_BACKWARD_KERNEL">MISC_TIMER_RELU_BACKWARD_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RELU_KERNEL">MISC_TIMER_RELU_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REUSE">MISC_TIMER_REUSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_DENSE_OP">MISC_TIMER_RIX_DENSE_OP</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_SPARSE_DENSE_OP_NNZ">MISC_TIMER_RIX_SPARSE_DENSE_OP_NNZ</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_SPARSE_DENSE_OP_ROWWISE">MISC_TIMER_RIX_SPARSE_DENSE_OP_ROWWISE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ROUND_KERNEL">MISC_TIMER_ROUND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ROW_TO_COLUMN_MAJOR">MISC_TIMER_ROW_TO_COLUMN_MAJOR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SET_ZERO">MISC_TIMER_SET_ZERO</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIGMOID_KERNEL">MISC_TIMER_SIGMOID_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIGN_KERNEL">MISC_TIMER_SIGN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIN_KERNEL">MISC_TIMER_SIN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SINH_KERNEL">MISC_TIMER_SINH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_ALLOCATE_LIB">MISC_TIMER_SPARSE_ALLOCATE_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_DGEAM_LIB">MISC_TIMER_SPARSE_DGEAM_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_IM2COL_KERNEL">MISC_TIMER_SPARSE_IM2COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_DENSE_MATRIX_LIB">MISC_TIMER_SPARSE_MATRIX_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_DENSE_VECTOR_LIB">MISC_TIMER_SPARSE_MATRIX_DENSE_VECTOR_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_SPARSE_MATRIX_LIB">MISC_TIMER_SPARSE_MATRIX_SPARSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_TO_DENSE">MISC_TIMER_SPARSE_TO_DENSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SQRT_KERNEL">MISC_TIMER_SQRT_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SYRK_LIB">MISC_TIMER_SYRK_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TAN_KERNEL">MISC_TIMER_TAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TANH_KERNEL">MISC_TIMER_TANH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TRANSPOSE_LIB">MISC_TIMER_TRANSPOSE_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TRSM">MISC_TIMER_TRSM</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_UPPER_TO_LOWER_TRIANGLE_KERNEL">MISC_TIMER_UPPER_TO_LOWER_TRIANGLE_KERNEL</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="fields.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
@@ -184,10 +188,16 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
+<td class="colFirst"><code>org.apache.commons.lang3.tuple.Pair&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/MatrixIndexingGPUInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>
+<div class="block">Obtain lineage trace of an instruction with a single output.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/MatrixIndexingGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">MatrixIndexingGPUInstruction</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/MatrixIndexingGPUInstruction.html#parseInstruction-java.lang.String-">parseInstruction</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</code>&nbsp;</td>
 </tr>
-<tr id="i1" class="rowColor">
+<tr id="i2" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/MatrixIndexingGPUInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>
 <div class="block">This method should be used to execute the instruction.</div>
@@ -215,6 +225,13 @@
 <h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
 <code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.lineage.LineageTraceable">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.sysds.runtime.lineage.<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#getLineageItems-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItems</a>, <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#hasSingleLineage--">hasSingleLineage</a></code></li>
+</ul>
 </li>
 </ul>
 </li>
@@ -241,7 +258,7 @@
 <a name="processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>processInstruction</h4>
 <pre>public&nbsp;void&nbsp;processInstruction(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</pre>
@@ -255,6 +272,27 @@
 </dl>
 </li>
 </ul>
+<a name="getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getLineageItem</h4>
+<pre>public&nbsp;org.apache.commons.lang3.tuple.Pair&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&gt;&nbsp;getLineageItem(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">LineageTraceable</a></code></span></div>
+<div class="block">Obtain lineage trace of an instruction with a single output.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">GPUInstruction</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>ec</code> - execution context w/ live variables</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>pair of (output variable name, output lineage item)</dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>
@@ -324,6 +362,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/MatrixMatrixArithmeticGPUInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/MatrixMatrixArithmeticGPUInstruction.html
index 71c61ad..c911910 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/MatrixMatrixArithmeticGPUInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/MatrixMatrixArithmeticGPUInstruction.html
@@ -122,6 +122,10 @@
 <div class="description">
 <ul class="blockList">
 <li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a></dd>
+</dl>
 <hr>
 <br>
 <pre>public class <span class="typeNameLabel">MatrixMatrixArithmeticGPUInstruction</span>
@@ -165,7 +169,7 @@
 <!--   -->
 </a>
 <h3>Fields inherited from class&nbsp;org.apache.sysds.runtime.instructions.gpu.<a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">GPUInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ABS_KERNEL">MISC_TIMER_ABS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ACOS_KERNEL">MISC_TIMER_ACOS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ACTIVATION_FORWARD_LIB">MISC_TIMER_ACTIVATION_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE">MISC_TIMER_ALLOCATE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE_DENSE_OUTPUT">MISC_TIMER_ALLOCATE_DENSE_OUTPUT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE_SPARSE_OUTPUT">MISC_TIMER_ALLOCATE_SPARSE_OUTPUT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ASIN_KERNEL">MISC_TIMER_ASIN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ATAN_KERNEL">MISC_TIMER_ATAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_BIAS_ADD_LIB">MISC_TIMER_BIAS_ADD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CBIND_KERNEL">MISC_TIMER_CBIND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CEIL_KERNEL">MISC_TIMER_CEIL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COLUMN_TO_ROW_MAJOR">MISC_TIMER_COLUMN_TO_ROW_MAJOR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COMPARE_AND_SET_KERNEL">MISC_TIMER_COMPARE_AND_SET_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_BACKWARD_DATA_LIB">MISC_TIMER_CONVOLUTION_BACKWARD_DATA_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_BACKWARD_FILTER_LIB">MISC_TIMER_CONVOLUTION_BACKWARD_FILTER_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_FORWARD_LIB">MISC_TIMER_CONVOLUTION_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COS_KERNEL">MISC_TIMER_COS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COSH_KERNEL">MISC_TIMER_COSH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDA_FREE">MISC_TIMER_CUDA_FREE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDA_SYNC">MISC_TIMER_CUDA_SYNC</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDNN_CLEANUP">MISC_TIMER_CUDNN_CLEANUP</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDNN_INIT">MISC_TIMER_CUDNN_INIT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUMULATIVE_SCAN_KERNEL">MISC_TIMER_CUMULATIVE_SCAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUMULATIVE_SUMPROD_KERNEL">MISC_TIMER_CUMULATIVE_SUMPROD_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DAXPY_LIB">MISC_TIMER_DAXPY_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DAXPY_MV_KERNEL">MISC_TIMER_DAXPY_MV_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_DGEAM_LIB">MISC_TIMER_DENSE_DGEAM_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_DOT_LIB">MISC_TIMER_DENSE_DOT_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_IM2COL_KERNEL">MISC_TIMER_DENSE_IM2COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_MATRIX_DENSE_MATRIX_LIB">MISC_TIMER_DENSE_MATRIX_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_MATRIX_DENSE_VECTOR_LIB">MISC_TIMER_DENSE_MATRIX_DENSE_VECTOR_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_REORG_KNPQ_KERNEL">MISC_TIMER_DENSE_REORG_KNPQ_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_TO_SPARSE">MISC_TIMER_DENSE_TO_SPARSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_VECTOR_DENSE_MATRIX_LIB">MISC_TIMER_DENSE_VECTOR_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DEVICE_TO_DEVICE">MISC_TIMER_DEVICE_TO_DEVICE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DEVICE_TO_HOST">MISC_TIMER_DEVICE_TO_HOST</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_EVICT">MISC_TIMER_EVICT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_EXP_KERNEL">MISC_TIMER_EXP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_FILL_KERNEL">MISC_TIMER_FILL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_FLOOR_KERNEL">MISC_TIMER_FLOOR_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_HOST_TO_DEVICE">MISC_TIMER_HOST_TO_DEVICE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_LOG_KERNEL">MISC_TIMER_LOG_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MATRIX_MATRIX_CELLWISE_OP_KERNEL">MISC_TIMER_MATRIX_MATRIX_CELLWISE_OP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MATRIX_SCALAR_OP_KERNEL">MISC_TIMER_MATRIX_SCALAR_OP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MAXPOOLING_BACKWARD_LIB">MISC_TIMER_MAXPOOLING_BACKWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MAXPOOLING_FORWARD_LIB">MISC_TIMER_MAXPOOLING_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_OBJECT_CLONE">MISC_TIMER_OBJECT_CLONE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ORMQR">MISC_TIMER_ORMQR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_QR">MISC_TIMER_QR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_QR_BUFFER">MISC_TIMER_QR_BUFFER</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RBIND_KERNEL">MISC_TIMER_RBIND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_ALL_KERNEL">MISC_TIMER_REDUCE_ALL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_COL_KERNEL">MISC_TIMER_REDUCE_COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_ROW_KERNEL">MISC_TIMER_REDUCE_ROW_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RELU_BACKWARD_KERNEL">MISC_TIMER_RELU_BACKWARD_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RELU_KERNEL">MISC_TIMER_RELU_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REUSE">MISC_TIMER_REUSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_DENSE_OP">MISC_TIMER_RIX_DENSE_OP</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_SPARSE_DENSE_OP_NNZ">MISC_TIMER_RIX_SPARSE_DENSE_OP_NNZ</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_SPARSE_DENSE_OP_ROWWISE">MISC_TIMER_RIX_SPARSE_DENSE_OP_ROWWISE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ROUND_KERNEL">MISC_TIMER_ROUND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ROW_TO_COLUMN_MAJOR">MISC_TIMER_ROW_TO_COLUMN_MAJOR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SET_ZERO">MISC_TIMER_SET_ZERO</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIGMOID_KERNEL">MISC_TIMER_SIGMOID_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIGN_KERNEL">MISC_TIMER_SIGN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIN_KERNEL">MISC_TIMER_SIN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SINH_KERNEL">MISC_TIMER_SINH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_ALLOCATE_LIB">MISC_TIMER_SPARSE_ALLOCATE_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_DGEAM_LIB">MISC_TIMER_SPARSE_DGEAM_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_IM2COL_KERNEL">MISC_TIMER_SPARSE_IM2COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_DENSE_MATRIX_LIB">MISC_TIMER_SPARSE_MATRIX_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_DENSE_VECTOR_LIB">MISC_TIMER_SPARSE_MATRIX_DENSE_VECTOR_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_SPARSE_MATRIX_LIB">MISC_TIMER_SPARSE_MATRIX_SPARSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_TO_DENSE">MISC_TIMER_SPARSE_TO_DENSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SQRT_KERNEL">MISC_TIMER_SQRT_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SYRK_LIB">MISC_TIMER_SYRK_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TAN_KERNEL">MISC_TIMER_TAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TANH_KERNEL">MISC_TIMER_TANH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TRANSPOSE_LIB">MISC_TIMER_TRANSPOSE_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TRSM">MISC_TIMER_TRSM</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_UPPER_TO_LOWER_TRIANGLE_KERNEL">MISC_TIMER_UPPER_TO_LOWER_TRIANGLE_KERNEL</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#Z:Z_input1">_input1</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#Z:Z_input2">_input2</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#Z:Z_output">_output</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ABS_KERNEL">MISC_TIMER_ABS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ACOS_KERNEL">MISC_TIMER_ACOS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ACTIVATION_FORWARD_LIB">MISC_TIMER_ACTIVATION_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE">MISC_TIMER_ALLOCATE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE_DENSE_OUTPUT">MISC_TIMER_ALLOCATE_DENSE_OUTPUT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE_SPARSE_OUTPUT">MISC_TIMER_ALLOCATE_SPARSE_OUTPUT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ASIN_KERNEL">MISC_TIMER_ASIN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ATAN_KERNEL">MISC_TIMER_ATAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_BIAS_ADD_LIB">MISC_TIMER_BIAS_ADD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CBIND_KERNEL">MISC_TIMER_CBIND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CEIL_KERNEL">MISC_TIMER_CEIL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COLUMN_TO_ROW_MAJOR">MISC_TIMER_COLUMN_TO_ROW_MAJOR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COMPARE_AND_SET_KERNEL">MISC_TIMER_COMPARE_AND_SET_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_BACKWARD_DATA_LIB">MISC_TIMER_CONVOLUTION_BACKWARD_DATA_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_BACKWARD_FILTER_LIB">MISC_TIMER_CONVOLUTION_BACKWARD_FILTER_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_FORWARD_LIB">MISC_TIMER_CONVOLUTION_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COS_KERNEL">MISC_TIMER_COS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COSH_KERNEL">MISC_TIMER_COSH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDA_FREE">MISC_TIMER_CUDA_FREE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDA_SYNC">MISC_TIMER_CUDA_SYNC</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDNN_CLEANUP">MISC_TIMER_CUDNN_CLEANUP</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDNN_INIT">MISC_TIMER_CUDNN_INIT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUMULATIVE_SCAN_KERNEL">MISC_TIMER_CUMULATIVE_SCAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUMULATIVE_SUMPROD_KERNEL">MISC_TIMER_CUMULATIVE_SUMPROD_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DAXPY_LIB">MISC_TIMER_DAXPY_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DAXPY_MV_KERNEL">MISC_TIMER_DAXPY_MV_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_DGEAM_LIB">MISC_TIMER_DENSE_DGEAM_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_DOT_LIB">MISC_TIMER_DENSE_DOT_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_IM2COL_KERNEL">MISC_TIMER_DENSE_IM2COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_MATRIX_DENSE_MATRIX_LIB">MISC_TIMER_DENSE_MATRIX_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_MATRIX_DENSE_VECTOR_LIB">MISC_TIMER_DENSE_MATRIX_DENSE_VECTOR_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_REORG_KNPQ_KERNEL">MISC_TIMER_DENSE_REORG_KNPQ_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_TO_SPARSE">MISC_TIMER_DENSE_TO_SPARSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_VECTOR_DENSE_MATRIX_LIB">MISC_TIMER_DENSE_VECTOR_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DEVICE_TO_DEVICE">MISC_TIMER_DEVICE_TO_DEVICE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DEVICE_TO_HOST">MISC_TIMER_DEVICE_TO_HOST</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_EVICT">MISC_TIMER_EVICT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_EXP_KERNEL">MISC_TIMER_EXP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_FILL_KERNEL">MISC_TIMER_FILL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_FLOOR_KERNEL">MISC_TIMER_FLOOR_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_HOST_TO_DEVICE">MISC_TIMER_HOST_TO_DEVICE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_LOG_KERNEL">MISC_TIMER_LOG_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MATRIX_MATRIX_CELLWISE_OP_KERNEL">MISC_TIMER_MATRIX_MATRIX_CELLWISE_OP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MATRIX_SCALAR_OP_KERNEL">MISC_TIMER_MATRIX_SCALAR_OP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MAXPOOLING_BACKWARD_LIB">MISC_TIMER_MAXPOOLING_BACKWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MAXPOOLING_FORWARD_LIB">MISC_TIMER_MAXPOOLING_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_OBJECT_CLONE">MISC_TIMER_OBJECT_CLONE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ORMQR">MISC_TIMER_ORMQR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_QR">MISC_TIMER_QR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_QR_BUFFER">MISC_TIMER_QR_BUFFER</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RBIND_KERNEL">MISC_TIMER_RBIND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_ALL_KERNEL">MISC_TIMER_REDUCE_ALL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_COL_KERNEL">MISC_TIMER_REDUCE_COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_ROW_KERNEL">MISC_TIMER_REDUCE_ROW_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RELU_BACKWARD_KERNEL">MISC_TIMER_RELU_BACKWARD_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RELU_KERNEL">MISC_TIMER_RELU_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REUSE">MISC_TIMER_REUSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_DENSE_OP">MISC_TIMER_RIX_DENSE_OP</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_SPARSE_DENSE_OP_NNZ">MISC_TIMER_RIX_SPARSE_DENSE_OP_NNZ</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_SPARSE_DENSE_OP_ROWWISE">MISC_TIMER_RIX_SPARSE_DENSE_OP_ROWWISE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ROUND_KERNEL">MISC_TIMER_ROUND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ROW_TO_COLUMN_MAJOR">MISC_TIMER_ROW_TO_COLUMN_MAJOR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SET_ZERO">MISC_TIMER_SET_ZERO</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIGMOID_KERNEL">MISC_TIMER_SIGMOID_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIGN_KERNEL">MISC_TIMER_SIGN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIN_KERNEL">MISC_TIMER_SIN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SINH_KERNEL">MISC_TIMER_SINH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_ALLOCATE_LIB">MISC_TIMER_SPARSE_ALLOCATE_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_DGEAM_LIB">MISC_TIMER_SPARSE_DGEAM_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_IM2COL_KERNEL">MISC_TIMER_SPARSE_IM2COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_DENSE_MATRIX_LIB">MISC_TIMER_SPARSE_MATRIX_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_DENSE_VECTOR_LIB">MISC_TIMER_SPARSE_MATRIX_DENSE_VECTOR_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_SPARSE_MATRIX_LIB">MISC_TIMER_SPARSE_MATRIX_SPARSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_TO_DENSE">MISC_TIMER_SPARSE_TO_DENSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SQRT_KERNEL">MISC_TIMER_SQRT_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SYRK_LIB">MISC_TIMER_SYRK_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TAN_KERNEL">MISC_TIMER_TAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TANH_KERNEL">MISC_TIMER_TANH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TRANSPOSE_LIB">MISC_TIMER_TRANSPOSE_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TRSM">MISC_TIMER_TRSM</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_UPPER_TO_LOWER_TRIANGLE_KERNEL">MISC_TIMER_UPPER_TO_LOWER_TRIANGLE_KERNEL</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="fields.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
@@ -207,7 +211,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.gpu.<a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">GPUInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getGPUInstructionType--">getGPUInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getGPUInstructionType--">getGPUInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
@@ -223,6 +227,13 @@
 <h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
 <code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.lineage.LineageTraceable">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.sysds.runtime.lineage.<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#getLineageItems-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItems</a>, <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#hasSingleLineage--">hasSingleLineage</a></code></li>
+</ul>
 </li>
 </ul>
 </li>
@@ -323,6 +334,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/MatrixMatrixAxpyGPUInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/MatrixMatrixAxpyGPUInstruction.html
index 77c8df7..5306f96 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/MatrixMatrixAxpyGPUInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/MatrixMatrixAxpyGPUInstruction.html
@@ -122,6 +122,10 @@
 <div class="description">
 <ul class="blockList">
 <li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a></dd>
+</dl>
 <hr>
 <br>
 <pre>public class <span class="typeNameLabel">MatrixMatrixAxpyGPUInstruction</span>
@@ -165,7 +169,7 @@
 <!--   -->
 </a>
 <h3>Fields inherited from class&nbsp;org.apache.sysds.runtime.instructions.gpu.<a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">GPUInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ABS_KERNEL">MISC_TIMER_ABS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ACOS_KERNEL">MISC_TIMER_ACOS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ACTIVATION_FORWARD_LIB">MISC_TIMER_ACTIVATION_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE">MISC_TIMER_ALLOCATE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE_DENSE_OUTPUT">MISC_TIMER_ALLOCATE_DENSE_OUTPUT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE_SPARSE_OUTPUT">MISC_TIMER_ALLOCATE_SPARSE_OUTPUT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ASIN_KERNEL">MISC_TIMER_ASIN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ATAN_KERNEL">MISC_TIMER_ATAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_BIAS_ADD_LIB">MISC_TIMER_BIAS_ADD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CBIND_KERNEL">MISC_TIMER_CBIND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CEIL_KERNEL">MISC_TIMER_CEIL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COLUMN_TO_ROW_MAJOR">MISC_TIMER_COLUMN_TO_ROW_MAJOR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COMPARE_AND_SET_KERNEL">MISC_TIMER_COMPARE_AND_SET_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_BACKWARD_DATA_LIB">MISC_TIMER_CONVOLUTION_BACKWARD_DATA_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_BACKWARD_FILTER_LIB">MISC_TIMER_CONVOLUTION_BACKWARD_FILTER_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_FORWARD_LIB">MISC_TIMER_CONVOLUTION_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COS_KERNEL">MISC_TIMER_COS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COSH_KERNEL">MISC_TIMER_COSH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDA_FREE">MISC_TIMER_CUDA_FREE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDA_SYNC">MISC_TIMER_CUDA_SYNC</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDNN_CLEANUP">MISC_TIMER_CUDNN_CLEANUP</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDNN_INIT">MISC_TIMER_CUDNN_INIT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUMULATIVE_SCAN_KERNEL">MISC_TIMER_CUMULATIVE_SCAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUMULATIVE_SUMPROD_KERNEL">MISC_TIMER_CUMULATIVE_SUMPROD_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DAXPY_LIB">MISC_TIMER_DAXPY_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DAXPY_MV_KERNEL">MISC_TIMER_DAXPY_MV_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_DGEAM_LIB">MISC_TIMER_DENSE_DGEAM_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_DOT_LIB">MISC_TIMER_DENSE_DOT_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_IM2COL_KERNEL">MISC_TIMER_DENSE_IM2COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_MATRIX_DENSE_MATRIX_LIB">MISC_TIMER_DENSE_MATRIX_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_MATRIX_DENSE_VECTOR_LIB">MISC_TIMER_DENSE_MATRIX_DENSE_VECTOR_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_REORG_KNPQ_KERNEL">MISC_TIMER_DENSE_REORG_KNPQ_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_TO_SPARSE">MISC_TIMER_DENSE_TO_SPARSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_VECTOR_DENSE_MATRIX_LIB">MISC_TIMER_DENSE_VECTOR_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DEVICE_TO_DEVICE">MISC_TIMER_DEVICE_TO_DEVICE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DEVICE_TO_HOST">MISC_TIMER_DEVICE_TO_HOST</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_EVICT">MISC_TIMER_EVICT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_EXP_KERNEL">MISC_TIMER_EXP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_FILL_KERNEL">MISC_TIMER_FILL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_FLOOR_KERNEL">MISC_TIMER_FLOOR_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_HOST_TO_DEVICE">MISC_TIMER_HOST_TO_DEVICE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_LOG_KERNEL">MISC_TIMER_LOG_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MATRIX_MATRIX_CELLWISE_OP_KERNEL">MISC_TIMER_MATRIX_MATRIX_CELLWISE_OP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MATRIX_SCALAR_OP_KERNEL">MISC_TIMER_MATRIX_SCALAR_OP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MAXPOOLING_BACKWARD_LIB">MISC_TIMER_MAXPOOLING_BACKWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MAXPOOLING_FORWARD_LIB">MISC_TIMER_MAXPOOLING_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_OBJECT_CLONE">MISC_TIMER_OBJECT_CLONE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ORMQR">MISC_TIMER_ORMQR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_QR">MISC_TIMER_QR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_QR_BUFFER">MISC_TIMER_QR_BUFFER</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RBIND_KERNEL">MISC_TIMER_RBIND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_ALL_KERNEL">MISC_TIMER_REDUCE_ALL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_COL_KERNEL">MISC_TIMER_REDUCE_COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_ROW_KERNEL">MISC_TIMER_REDUCE_ROW_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RELU_BACKWARD_KERNEL">MISC_TIMER_RELU_BACKWARD_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RELU_KERNEL">MISC_TIMER_RELU_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REUSE">MISC_TIMER_REUSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_DENSE_OP">MISC_TIMER_RIX_DENSE_OP</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_SPARSE_DENSE_OP_NNZ">MISC_TIMER_RIX_SPARSE_DENSE_OP_NNZ</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_SPARSE_DENSE_OP_ROWWISE">MISC_TIMER_RIX_SPARSE_DENSE_OP_ROWWISE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ROUND_KERNEL">MISC_TIMER_ROUND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ROW_TO_COLUMN_MAJOR">MISC_TIMER_ROW_TO_COLUMN_MAJOR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SET_ZERO">MISC_TIMER_SET_ZERO</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIGMOID_KERNEL">MISC_TIMER_SIGMOID_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIGN_KERNEL">MISC_TIMER_SIGN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIN_KERNEL">MISC_TIMER_SIN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SINH_KERNEL">MISC_TIMER_SINH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_ALLOCATE_LIB">MISC_TIMER_SPARSE_ALLOCATE_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_DGEAM_LIB">MISC_TIMER_SPARSE_DGEAM_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_IM2COL_KERNEL">MISC_TIMER_SPARSE_IM2COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_DENSE_MATRIX_LIB">MISC_TIMER_SPARSE_MATRIX_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_DENSE_VECTOR_LIB">MISC_TIMER_SPARSE_MATRIX_DENSE_VECTOR_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_SPARSE_MATRIX_LIB">MISC_TIMER_SPARSE_MATRIX_SPARSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_TO_DENSE">MISC_TIMER_SPARSE_TO_DENSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SQRT_KERNEL">MISC_TIMER_SQRT_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SYRK_LIB">MISC_TIMER_SYRK_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TAN_KERNEL">MISC_TIMER_TAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TANH_KERNEL">MISC_TIMER_TANH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TRANSPOSE_LIB">MISC_TIMER_TRANSPOSE_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TRSM">MISC_TIMER_TRSM</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_UPPER_TO_LOWER_TRIANGLE_KERNEL">MISC_TIMER_UPPER_TO_LOWER_TRIANGLE_KERNEL</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#Z:Z_input1">_input1</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#Z:Z_input2">_input2</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#Z:Z_output">_output</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ABS_KERNEL">MISC_TIMER_ABS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ACOS_KERNEL">MISC_TIMER_ACOS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ACTIVATION_FORWARD_LIB">MISC_TIMER_ACTIVATION_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE">MISC_TIMER_ALLOCATE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE_DENSE_OUTPUT">MISC_TIMER_ALLOCATE_DENSE_OUTPUT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE_SPARSE_OUTPUT">MISC_TIMER_ALLOCATE_SPARSE_OUTPUT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ASIN_KERNEL">MISC_TIMER_ASIN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ATAN_KERNEL">MISC_TIMER_ATAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_BIAS_ADD_LIB">MISC_TIMER_BIAS_ADD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CBIND_KERNEL">MISC_TIMER_CBIND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CEIL_KERNEL">MISC_TIMER_CEIL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COLUMN_TO_ROW_MAJOR">MISC_TIMER_COLUMN_TO_ROW_MAJOR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COMPARE_AND_SET_KERNEL">MISC_TIMER_COMPARE_AND_SET_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_BACKWARD_DATA_LIB">MISC_TIMER_CONVOLUTION_BACKWARD_DATA_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_BACKWARD_FILTER_LIB">MISC_TIMER_CONVOLUTION_BACKWARD_FILTER_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_FORWARD_LIB">MISC_TIMER_CONVOLUTION_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COS_KERNEL">MISC_TIMER_COS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COSH_KERNEL">MISC_TIMER_COSH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDA_FREE">MISC_TIMER_CUDA_FREE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDA_SYNC">MISC_TIMER_CUDA_SYNC</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDNN_CLEANUP">MISC_TIMER_CUDNN_CLEANUP</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDNN_INIT">MISC_TIMER_CUDNN_INIT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUMULATIVE_SCAN_KERNEL">MISC_TIMER_CUMULATIVE_SCAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUMULATIVE_SUMPROD_KERNEL">MISC_TIMER_CUMULATIVE_SUMPROD_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DAXPY_LIB">MISC_TIMER_DAXPY_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DAXPY_MV_KERNEL">MISC_TIMER_DAXPY_MV_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_DGEAM_LIB">MISC_TIMER_DENSE_DGEAM_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_DOT_LIB">MISC_TIMER_DENSE_DOT_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_IM2COL_KERNEL">MISC_TIMER_DENSE_IM2COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_MATRIX_DENSE_MATRIX_LIB">MISC_TIMER_DENSE_MATRIX_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_MATRIX_DENSE_VECTOR_LIB">MISC_TIMER_DENSE_MATRIX_DENSE_VECTOR_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_REORG_KNPQ_KERNEL">MISC_TIMER_DENSE_REORG_KNPQ_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_TO_SPARSE">MISC_TIMER_DENSE_TO_SPARSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_VECTOR_DENSE_MATRIX_LIB">MISC_TIMER_DENSE_VECTOR_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DEVICE_TO_DEVICE">MISC_TIMER_DEVICE_TO_DEVICE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DEVICE_TO_HOST">MISC_TIMER_DEVICE_TO_HOST</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_EVICT">MISC_TIMER_EVICT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_EXP_KERNEL">MISC_TIMER_EXP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_FILL_KERNEL">MISC_TIMER_FILL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_FLOOR_KERNEL">MISC_TIMER_FLOOR_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_HOST_TO_DEVICE">MISC_TIMER_HOST_TO_DEVICE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_LOG_KERNEL">MISC_TIMER_LOG_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MATRIX_MATRIX_CELLWISE_OP_KERNEL">MISC_TIMER_MATRIX_MATRIX_CELLWISE_OP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MATRIX_SCALAR_OP_KERNEL">MISC_TIMER_MATRIX_SCALAR_OP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MAXPOOLING_BACKWARD_LIB">MISC_TIMER_MAXPOOLING_BACKWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MAXPOOLING_FORWARD_LIB">MISC_TIMER_MAXPOOLING_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_OBJECT_CLONE">MISC_TIMER_OBJECT_CLONE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ORMQR">MISC_TIMER_ORMQR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_QR">MISC_TIMER_QR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_QR_BUFFER">MISC_TIMER_QR_BUFFER</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RBIND_KERNEL">MISC_TIMER_RBIND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_ALL_KERNEL">MISC_TIMER_REDUCE_ALL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_COL_KERNEL">MISC_TIMER_REDUCE_COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_ROW_KERNEL">MISC_TIMER_REDUCE_ROW_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RELU_BACKWARD_KERNEL">MISC_TIMER_RELU_BACKWARD_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RELU_KERNEL">MISC_TIMER_RELU_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REUSE">MISC_TIMER_REUSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_DENSE_OP">MISC_TIMER_RIX_DENSE_OP</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_SPARSE_DENSE_OP_NNZ">MISC_TIMER_RIX_SPARSE_DENSE_OP_NNZ</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_SPARSE_DENSE_OP_ROWWISE">MISC_TIMER_RIX_SPARSE_DENSE_OP_ROWWISE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ROUND_KERNEL">MISC_TIMER_ROUND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ROW_TO_COLUMN_MAJOR">MISC_TIMER_ROW_TO_COLUMN_MAJOR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SET_ZERO">MISC_TIMER_SET_ZERO</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIGMOID_KERNEL">MISC_TIMER_SIGMOID_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIGN_KERNEL">MISC_TIMER_SIGN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIN_KERNEL">MISC_TIMER_SIN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SINH_KERNEL">MISC_TIMER_SINH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_ALLOCATE_LIB">MISC_TIMER_SPARSE_ALLOCATE_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_DGEAM_LIB">MISC_TIMER_SPARSE_DGEAM_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_IM2COL_KERNEL">MISC_TIMER_SPARSE_IM2COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_DENSE_MATRIX_LIB">MISC_TIMER_SPARSE_MATRIX_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_DENSE_VECTOR_LIB">MISC_TIMER_SPARSE_MATRIX_DENSE_VECTOR_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_SPARSE_MATRIX_LIB">MISC_TIMER_SPARSE_MATRIX_SPARSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_TO_DENSE">MISC_TIMER_SPARSE_TO_DENSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SQRT_KERNEL">MISC_TIMER_SQRT_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SYRK_LIB">MISC_TIMER_SYRK_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TAN_KERNEL">MISC_TIMER_TAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TANH_KERNEL">MISC_TIMER_TANH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TRANSPOSE_LIB">MISC_TIMER_TRANSPOSE_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TRSM">MISC_TIMER_TRSM</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_UPPER_TO_LOWER_TRIANGLE_KERNEL">MISC_TIMER_UPPER_TO_LOWER_TRIANGLE_KERNEL</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="fields.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
@@ -204,7 +208,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.gpu.<a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">GPUInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getGPUInstructionType--">getGPUInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getGPUInstructionType--">getGPUInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
@@ -220,6 +224,13 @@
 <h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
 <code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.lineage.LineageTraceable">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.sysds.runtime.lineage.<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#getLineageItems-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItems</a>, <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#hasSingleLineage--">hasSingleLineage</a></code></li>
+</ul>
 </li>
 </ul>
 </li>
@@ -329,6 +340,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/MatrixMatrixBuiltinGPUInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/MatrixMatrixBuiltinGPUInstruction.html
index de5e611..ac1a17d 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/MatrixMatrixBuiltinGPUInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/MatrixMatrixBuiltinGPUInstruction.html
@@ -122,6 +122,10 @@
 <div class="description">
 <ul class="blockList">
 <li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a></dd>
+</dl>
 <hr>
 <br>
 <pre>public class <span class="typeNameLabel">MatrixMatrixBuiltinGPUInstruction</span>
@@ -165,7 +169,7 @@
 <!--   -->
 </a>
 <h3>Fields inherited from class&nbsp;org.apache.sysds.runtime.instructions.gpu.<a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">GPUInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ABS_KERNEL">MISC_TIMER_ABS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ACOS_KERNEL">MISC_TIMER_ACOS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ACTIVATION_FORWARD_LIB">MISC_TIMER_ACTIVATION_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE">MISC_TIMER_ALLOCATE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE_DENSE_OUTPUT">MISC_TIMER_ALLOCATE_DENSE_OUTPUT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE_SPARSE_OUTPUT">MISC_TIMER_ALLOCATE_SPARSE_OUTPUT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ASIN_KERNEL">MISC_TIMER_ASIN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ATAN_KERNEL">MISC_TIMER_ATAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_BIAS_ADD_LIB">MISC_TIMER_BIAS_ADD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CBIND_KERNEL">MISC_TIMER_CBIND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CEIL_KERNEL">MISC_TIMER_CEIL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COLUMN_TO_ROW_MAJOR">MISC_TIMER_COLUMN_TO_ROW_MAJOR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COMPARE_AND_SET_KERNEL">MISC_TIMER_COMPARE_AND_SET_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_BACKWARD_DATA_LIB">MISC_TIMER_CONVOLUTION_BACKWARD_DATA_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_BACKWARD_FILTER_LIB">MISC_TIMER_CONVOLUTION_BACKWARD_FILTER_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_FORWARD_LIB">MISC_TIMER_CONVOLUTION_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COS_KERNEL">MISC_TIMER_COS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COSH_KERNEL">MISC_TIMER_COSH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDA_FREE">MISC_TIMER_CUDA_FREE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDA_SYNC">MISC_TIMER_CUDA_SYNC</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDNN_CLEANUP">MISC_TIMER_CUDNN_CLEANUP</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDNN_INIT">MISC_TIMER_CUDNN_INIT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUMULATIVE_SCAN_KERNEL">MISC_TIMER_CUMULATIVE_SCAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUMULATIVE_SUMPROD_KERNEL">MISC_TIMER_CUMULATIVE_SUMPROD_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DAXPY_LIB">MISC_TIMER_DAXPY_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DAXPY_MV_KERNEL">MISC_TIMER_DAXPY_MV_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_DGEAM_LIB">MISC_TIMER_DENSE_DGEAM_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_DOT_LIB">MISC_TIMER_DENSE_DOT_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_IM2COL_KERNEL">MISC_TIMER_DENSE_IM2COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_MATRIX_DENSE_MATRIX_LIB">MISC_TIMER_DENSE_MATRIX_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_MATRIX_DENSE_VECTOR_LIB">MISC_TIMER_DENSE_MATRIX_DENSE_VECTOR_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_REORG_KNPQ_KERNEL">MISC_TIMER_DENSE_REORG_KNPQ_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_TO_SPARSE">MISC_TIMER_DENSE_TO_SPARSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_VECTOR_DENSE_MATRIX_LIB">MISC_TIMER_DENSE_VECTOR_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DEVICE_TO_DEVICE">MISC_TIMER_DEVICE_TO_DEVICE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DEVICE_TO_HOST">MISC_TIMER_DEVICE_TO_HOST</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_EVICT">MISC_TIMER_EVICT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_EXP_KERNEL">MISC_TIMER_EXP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_FILL_KERNEL">MISC_TIMER_FILL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_FLOOR_KERNEL">MISC_TIMER_FLOOR_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_HOST_TO_DEVICE">MISC_TIMER_HOST_TO_DEVICE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_LOG_KERNEL">MISC_TIMER_LOG_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MATRIX_MATRIX_CELLWISE_OP_KERNEL">MISC_TIMER_MATRIX_MATRIX_CELLWISE_OP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MATRIX_SCALAR_OP_KERNEL">MISC_TIMER_MATRIX_SCALAR_OP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MAXPOOLING_BACKWARD_LIB">MISC_TIMER_MAXPOOLING_BACKWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MAXPOOLING_FORWARD_LIB">MISC_TIMER_MAXPOOLING_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_OBJECT_CLONE">MISC_TIMER_OBJECT_CLONE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ORMQR">MISC_TIMER_ORMQR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_QR">MISC_TIMER_QR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_QR_BUFFER">MISC_TIMER_QR_BUFFER</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RBIND_KERNEL">MISC_TIMER_RBIND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_ALL_KERNEL">MISC_TIMER_REDUCE_ALL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_COL_KERNEL">MISC_TIMER_REDUCE_COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_ROW_KERNEL">MISC_TIMER_REDUCE_ROW_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RELU_BACKWARD_KERNEL">MISC_TIMER_RELU_BACKWARD_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RELU_KERNEL">MISC_TIMER_RELU_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REUSE">MISC_TIMER_REUSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_DENSE_OP">MISC_TIMER_RIX_DENSE_OP</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_SPARSE_DENSE_OP_NNZ">MISC_TIMER_RIX_SPARSE_DENSE_OP_NNZ</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_SPARSE_DENSE_OP_ROWWISE">MISC_TIMER_RIX_SPARSE_DENSE_OP_ROWWISE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ROUND_KERNEL">MISC_TIMER_ROUND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ROW_TO_COLUMN_MAJOR">MISC_TIMER_ROW_TO_COLUMN_MAJOR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SET_ZERO">MISC_TIMER_SET_ZERO</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIGMOID_KERNEL">MISC_TIMER_SIGMOID_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIGN_KERNEL">MISC_TIMER_SIGN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIN_KERNEL">MISC_TIMER_SIN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SINH_KERNEL">MISC_TIMER_SINH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_ALLOCATE_LIB">MISC_TIMER_SPARSE_ALLOCATE_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_DGEAM_LIB">MISC_TIMER_SPARSE_DGEAM_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_IM2COL_KERNEL">MISC_TIMER_SPARSE_IM2COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_DENSE_MATRIX_LIB">MISC_TIMER_SPARSE_MATRIX_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_DENSE_VECTOR_LIB">MISC_TIMER_SPARSE_MATRIX_DENSE_VECTOR_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_SPARSE_MATRIX_LIB">MISC_TIMER_SPARSE_MATRIX_SPARSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_TO_DENSE">MISC_TIMER_SPARSE_TO_DENSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SQRT_KERNEL">MISC_TIMER_SQRT_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SYRK_LIB">MISC_TIMER_SYRK_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TAN_KERNEL">MISC_TIMER_TAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TANH_KERNEL">MISC_TIMER_TANH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TRANSPOSE_LIB">MISC_TIMER_TRANSPOSE_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TRSM">MISC_TIMER_TRSM</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_UPPER_TO_LOWER_TRIANGLE_KERNEL">MISC_TIMER_UPPER_TO_LOWER_TRIANGLE_KERNEL</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#Z:Z_input1">_input1</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#Z:Z_input2">_input2</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#Z:Z_output">_output</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ABS_KERNEL">MISC_TIMER_ABS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ACOS_KERNEL">MISC_TIMER_ACOS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ACTIVATION_FORWARD_LIB">MISC_TIMER_ACTIVATION_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE">MISC_TIMER_ALLOCATE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE_DENSE_OUTPUT">MISC_TIMER_ALLOCATE_DENSE_OUTPUT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE_SPARSE_OUTPUT">MISC_TIMER_ALLOCATE_SPARSE_OUTPUT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ASIN_KERNEL">MISC_TIMER_ASIN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ATAN_KERNEL">MISC_TIMER_ATAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_BIAS_ADD_LIB">MISC_TIMER_BIAS_ADD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CBIND_KERNEL">MISC_TIMER_CBIND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CEIL_KERNEL">MISC_TIMER_CEIL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COLUMN_TO_ROW_MAJOR">MISC_TIMER_COLUMN_TO_ROW_MAJOR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COMPARE_AND_SET_KERNEL">MISC_TIMER_COMPARE_AND_SET_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_BACKWARD_DATA_LIB">MISC_TIMER_CONVOLUTION_BACKWARD_DATA_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_BACKWARD_FILTER_LIB">MISC_TIMER_CONVOLUTION_BACKWARD_FILTER_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_FORWARD_LIB">MISC_TIMER_CONVOLUTION_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COS_KERNEL">MISC_TIMER_COS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COSH_KERNEL">MISC_TIMER_COSH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDA_FREE">MISC_TIMER_CUDA_FREE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDA_SYNC">MISC_TIMER_CUDA_SYNC</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDNN_CLEANUP">MISC_TIMER_CUDNN_CLEANUP</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDNN_INIT">MISC_TIMER_CUDNN_INIT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUMULATIVE_SCAN_KERNEL">MISC_TIMER_CUMULATIVE_SCAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUMULATIVE_SUMPROD_KERNEL">MISC_TIMER_CUMULATIVE_SUMPROD_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DAXPY_LIB">MISC_TIMER_DAXPY_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DAXPY_MV_KERNEL">MISC_TIMER_DAXPY_MV_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_DGEAM_LIB">MISC_TIMER_DENSE_DGEAM_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_DOT_LIB">MISC_TIMER_DENSE_DOT_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_IM2COL_KERNEL">MISC_TIMER_DENSE_IM2COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_MATRIX_DENSE_MATRIX_LIB">MISC_TIMER_DENSE_MATRIX_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_MATRIX_DENSE_VECTOR_LIB">MISC_TIMER_DENSE_MATRIX_DENSE_VECTOR_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_REORG_KNPQ_KERNEL">MISC_TIMER_DENSE_REORG_KNPQ_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_TO_SPARSE">MISC_TIMER_DENSE_TO_SPARSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_VECTOR_DENSE_MATRIX_LIB">MISC_TIMER_DENSE_VECTOR_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DEVICE_TO_DEVICE">MISC_TIMER_DEVICE_TO_DEVICE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DEVICE_TO_HOST">MISC_TIMER_DEVICE_TO_HOST</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_EVICT">MISC_TIMER_EVICT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_EXP_KERNEL">MISC_TIMER_EXP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_FILL_KERNEL">MISC_TIMER_FILL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_FLOOR_KERNEL">MISC_TIMER_FLOOR_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_HOST_TO_DEVICE">MISC_TIMER_HOST_TO_DEVICE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_LOG_KERNEL">MISC_TIMER_LOG_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MATRIX_MATRIX_CELLWISE_OP_KERNEL">MISC_TIMER_MATRIX_MATRIX_CELLWISE_OP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MATRIX_SCALAR_OP_KERNEL">MISC_TIMER_MATRIX_SCALAR_OP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MAXPOOLING_BACKWARD_LIB">MISC_TIMER_MAXPOOLING_BACKWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MAXPOOLING_FORWARD_LIB">MISC_TIMER_MAXPOOLING_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_OBJECT_CLONE">MISC_TIMER_OBJECT_CLONE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ORMQR">MISC_TIMER_ORMQR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_QR">MISC_TIMER_QR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_QR_BUFFER">MISC_TIMER_QR_BUFFER</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RBIND_KERNEL">MISC_TIMER_RBIND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_ALL_KERNEL">MISC_TIMER_REDUCE_ALL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_COL_KERNEL">MISC_TIMER_REDUCE_COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_ROW_KERNEL">MISC_TIMER_REDUCE_ROW_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RELU_BACKWARD_KERNEL">MISC_TIMER_RELU_BACKWARD_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RELU_KERNEL">MISC_TIMER_RELU_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REUSE">MISC_TIMER_REUSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_DENSE_OP">MISC_TIMER_RIX_DENSE_OP</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_SPARSE_DENSE_OP_NNZ">MISC_TIMER_RIX_SPARSE_DENSE_OP_NNZ</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_SPARSE_DENSE_OP_ROWWISE">MISC_TIMER_RIX_SPARSE_DENSE_OP_ROWWISE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ROUND_KERNEL">MISC_TIMER_ROUND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ROW_TO_COLUMN_MAJOR">MISC_TIMER_ROW_TO_COLUMN_MAJOR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SET_ZERO">MISC_TIMER_SET_ZERO</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIGMOID_KERNEL">MISC_TIMER_SIGMOID_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIGN_KERNEL">MISC_TIMER_SIGN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIN_KERNEL">MISC_TIMER_SIN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SINH_KERNEL">MISC_TIMER_SINH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_ALLOCATE_LIB">MISC_TIMER_SPARSE_ALLOCATE_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_DGEAM_LIB">MISC_TIMER_SPARSE_DGEAM_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_IM2COL_KERNEL">MISC_TIMER_SPARSE_IM2COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_DENSE_MATRIX_LIB">MISC_TIMER_SPARSE_MATRIX_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_DENSE_VECTOR_LIB">MISC_TIMER_SPARSE_MATRIX_DENSE_VECTOR_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_SPARSE_MATRIX_LIB">MISC_TIMER_SPARSE_MATRIX_SPARSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_TO_DENSE">MISC_TIMER_SPARSE_TO_DENSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SQRT_KERNEL">MISC_TIMER_SQRT_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SYRK_LIB">MISC_TIMER_SYRK_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TAN_KERNEL">MISC_TIMER_TAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TANH_KERNEL">MISC_TIMER_TANH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TRANSPOSE_LIB">MISC_TIMER_TRANSPOSE_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TRSM">MISC_TIMER_TRSM</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_UPPER_TO_LOWER_TRIANGLE_KERNEL">MISC_TIMER_UPPER_TO_LOWER_TRIANGLE_KERNEL</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="fields.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
@@ -207,7 +211,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.gpu.<a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">GPUInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getGPUInstructionType--">getGPUInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getGPUInstructionType--">getGPUInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
@@ -223,6 +227,13 @@
 <h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
 <code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.lineage.LineageTraceable">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.sysds.runtime.lineage.<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#getLineageItems-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItems</a>, <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#hasSingleLineage--">hasSingleLineage</a></code></li>
+</ul>
 </li>
 </ul>
 </li>
@@ -323,6 +334,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/MatrixMatrixRelationalBinaryGPUInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/MatrixMatrixRelationalBinaryGPUInstruction.html
index 309a2f0..d41e1fb 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/MatrixMatrixRelationalBinaryGPUInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/MatrixMatrixRelationalBinaryGPUInstruction.html
@@ -122,6 +122,10 @@
 <div class="description">
 <ul class="blockList">
 <li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a></dd>
+</dl>
 <hr>
 <br>
 <pre>public class <span class="typeNameLabel">MatrixMatrixRelationalBinaryGPUInstruction</span>
@@ -165,7 +169,7 @@
 <!--   -->
 </a>
 <h3>Fields inherited from class&nbsp;org.apache.sysds.runtime.instructions.gpu.<a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">GPUInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ABS_KERNEL">MISC_TIMER_ABS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ACOS_KERNEL">MISC_TIMER_ACOS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ACTIVATION_FORWARD_LIB">MISC_TIMER_ACTIVATION_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE">MISC_TIMER_ALLOCATE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE_DENSE_OUTPUT">MISC_TIMER_ALLOCATE_DENSE_OUTPUT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE_SPARSE_OUTPUT">MISC_TIMER_ALLOCATE_SPARSE_OUTPUT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ASIN_KERNEL">MISC_TIMER_ASIN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ATAN_KERNEL">MISC_TIMER_ATAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_BIAS_ADD_LIB">MISC_TIMER_BIAS_ADD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CBIND_KERNEL">MISC_TIMER_CBIND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CEIL_KERNEL">MISC_TIMER_CEIL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COLUMN_TO_ROW_MAJOR">MISC_TIMER_COLUMN_TO_ROW_MAJOR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COMPARE_AND_SET_KERNEL">MISC_TIMER_COMPARE_AND_SET_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_BACKWARD_DATA_LIB">MISC_TIMER_CONVOLUTION_BACKWARD_DATA_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_BACKWARD_FILTER_LIB">MISC_TIMER_CONVOLUTION_BACKWARD_FILTER_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_FORWARD_LIB">MISC_TIMER_CONVOLUTION_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COS_KERNEL">MISC_TIMER_COS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COSH_KERNEL">MISC_TIMER_COSH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDA_FREE">MISC_TIMER_CUDA_FREE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDA_SYNC">MISC_TIMER_CUDA_SYNC</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDNN_CLEANUP">MISC_TIMER_CUDNN_CLEANUP</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDNN_INIT">MISC_TIMER_CUDNN_INIT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUMULATIVE_SCAN_KERNEL">MISC_TIMER_CUMULATIVE_SCAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUMULATIVE_SUMPROD_KERNEL">MISC_TIMER_CUMULATIVE_SUMPROD_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DAXPY_LIB">MISC_TIMER_DAXPY_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DAXPY_MV_KERNEL">MISC_TIMER_DAXPY_MV_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_DGEAM_LIB">MISC_TIMER_DENSE_DGEAM_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_DOT_LIB">MISC_TIMER_DENSE_DOT_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_IM2COL_KERNEL">MISC_TIMER_DENSE_IM2COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_MATRIX_DENSE_MATRIX_LIB">MISC_TIMER_DENSE_MATRIX_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_MATRIX_DENSE_VECTOR_LIB">MISC_TIMER_DENSE_MATRIX_DENSE_VECTOR_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_REORG_KNPQ_KERNEL">MISC_TIMER_DENSE_REORG_KNPQ_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_TO_SPARSE">MISC_TIMER_DENSE_TO_SPARSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_VECTOR_DENSE_MATRIX_LIB">MISC_TIMER_DENSE_VECTOR_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DEVICE_TO_DEVICE">MISC_TIMER_DEVICE_TO_DEVICE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DEVICE_TO_HOST">MISC_TIMER_DEVICE_TO_HOST</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_EVICT">MISC_TIMER_EVICT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_EXP_KERNEL">MISC_TIMER_EXP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_FILL_KERNEL">MISC_TIMER_FILL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_FLOOR_KERNEL">MISC_TIMER_FLOOR_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_HOST_TO_DEVICE">MISC_TIMER_HOST_TO_DEVICE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_LOG_KERNEL">MISC_TIMER_LOG_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MATRIX_MATRIX_CELLWISE_OP_KERNEL">MISC_TIMER_MATRIX_MATRIX_CELLWISE_OP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MATRIX_SCALAR_OP_KERNEL">MISC_TIMER_MATRIX_SCALAR_OP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MAXPOOLING_BACKWARD_LIB">MISC_TIMER_MAXPOOLING_BACKWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MAXPOOLING_FORWARD_LIB">MISC_TIMER_MAXPOOLING_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_OBJECT_CLONE">MISC_TIMER_OBJECT_CLONE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ORMQR">MISC_TIMER_ORMQR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_QR">MISC_TIMER_QR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_QR_BUFFER">MISC_TIMER_QR_BUFFER</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RBIND_KERNEL">MISC_TIMER_RBIND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_ALL_KERNEL">MISC_TIMER_REDUCE_ALL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_COL_KERNEL">MISC_TIMER_REDUCE_COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_ROW_KERNEL">MISC_TIMER_REDUCE_ROW_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RELU_BACKWARD_KERNEL">MISC_TIMER_RELU_BACKWARD_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RELU_KERNEL">MISC_TIMER_RELU_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REUSE">MISC_TIMER_REUSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_DENSE_OP">MISC_TIMER_RIX_DENSE_OP</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_SPARSE_DENSE_OP_NNZ">MISC_TIMER_RIX_SPARSE_DENSE_OP_NNZ</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_SPARSE_DENSE_OP_ROWWISE">MISC_TIMER_RIX_SPARSE_DENSE_OP_ROWWISE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ROUND_KERNEL">MISC_TIMER_ROUND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ROW_TO_COLUMN_MAJOR">MISC_TIMER_ROW_TO_COLUMN_MAJOR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SET_ZERO">MISC_TIMER_SET_ZERO</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIGMOID_KERNEL">MISC_TIMER_SIGMOID_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIGN_KERNEL">MISC_TIMER_SIGN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIN_KERNEL">MISC_TIMER_SIN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SINH_KERNEL">MISC_TIMER_SINH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_ALLOCATE_LIB">MISC_TIMER_SPARSE_ALLOCATE_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_DGEAM_LIB">MISC_TIMER_SPARSE_DGEAM_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_IM2COL_KERNEL">MISC_TIMER_SPARSE_IM2COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_DENSE_MATRIX_LIB">MISC_TIMER_SPARSE_MATRIX_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_DENSE_VECTOR_LIB">MISC_TIMER_SPARSE_MATRIX_DENSE_VECTOR_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_SPARSE_MATRIX_LIB">MISC_TIMER_SPARSE_MATRIX_SPARSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_TO_DENSE">MISC_TIMER_SPARSE_TO_DENSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SQRT_KERNEL">MISC_TIMER_SQRT_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SYRK_LIB">MISC_TIMER_SYRK_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TAN_KERNEL">MISC_TIMER_TAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TANH_KERNEL">MISC_TIMER_TANH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TRANSPOSE_LIB">MISC_TIMER_TRANSPOSE_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TRSM">MISC_TIMER_TRSM</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_UPPER_TO_LOWER_TRIANGLE_KERNEL">MISC_TIMER_UPPER_TO_LOWER_TRIANGLE_KERNEL</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#Z:Z_input1">_input1</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#Z:Z_input2">_input2</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#Z:Z_output">_output</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ABS_KERNEL">MISC_TIMER_ABS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ACOS_KERNEL">MISC_TIMER_ACOS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ACTIVATION_FORWARD_LIB">MISC_TIMER_ACTIVATION_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE">MISC_TIMER_ALLOCATE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE_DENSE_OUTPUT">MISC_TIMER_ALLOCATE_DENSE_OUTPUT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE_SPARSE_OUTPUT">MISC_TIMER_ALLOCATE_SPARSE_OUTPUT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ASIN_KERNEL">MISC_TIMER_ASIN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ATAN_KERNEL">MISC_TIMER_ATAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_BIAS_ADD_LIB">MISC_TIMER_BIAS_ADD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CBIND_KERNEL">MISC_TIMER_CBIND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CEIL_KERNEL">MISC_TIMER_CEIL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COLUMN_TO_ROW_MAJOR">MISC_TIMER_COLUMN_TO_ROW_MAJOR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COMPARE_AND_SET_KERNEL">MISC_TIMER_COMPARE_AND_SET_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_BACKWARD_DATA_LIB">MISC_TIMER_CONVOLUTION_BACKWARD_DATA_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_BACKWARD_FILTER_LIB">MISC_TIMER_CONVOLUTION_BACKWARD_FILTER_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_FORWARD_LIB">MISC_TIMER_CONVOLUTION_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COS_KERNEL">MISC_TIMER_COS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COSH_KERNEL">MISC_TIMER_COSH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDA_FREE">MISC_TIMER_CUDA_FREE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDA_SYNC">MISC_TIMER_CUDA_SYNC</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDNN_CLEANUP">MISC_TIMER_CUDNN_CLEANUP</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDNN_INIT">MISC_TIMER_CUDNN_INIT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUMULATIVE_SCAN_KERNEL">MISC_TIMER_CUMULATIVE_SCAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUMULATIVE_SUMPROD_KERNEL">MISC_TIMER_CUMULATIVE_SUMPROD_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DAXPY_LIB">MISC_TIMER_DAXPY_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DAXPY_MV_KERNEL">MISC_TIMER_DAXPY_MV_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_DGEAM_LIB">MISC_TIMER_DENSE_DGEAM_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_DOT_LIB">MISC_TIMER_DENSE_DOT_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_IM2COL_KERNEL">MISC_TIMER_DENSE_IM2COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_MATRIX_DENSE_MATRIX_LIB">MISC_TIMER_DENSE_MATRIX_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_MATRIX_DENSE_VECTOR_LIB">MISC_TIMER_DENSE_MATRIX_DENSE_VECTOR_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_REORG_KNPQ_KERNEL">MISC_TIMER_DENSE_REORG_KNPQ_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_TO_SPARSE">MISC_TIMER_DENSE_TO_SPARSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_VECTOR_DENSE_MATRIX_LIB">MISC_TIMER_DENSE_VECTOR_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DEVICE_TO_DEVICE">MISC_TIMER_DEVICE_TO_DEVICE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DEVICE_TO_HOST">MISC_TIMER_DEVICE_TO_HOST</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_EVICT">MISC_TIMER_EVICT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_EXP_KERNEL">MISC_TIMER_EXP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_FILL_KERNEL">MISC_TIMER_FILL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_FLOOR_KERNEL">MISC_TIMER_FLOOR_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_HOST_TO_DEVICE">MISC_TIMER_HOST_TO_DEVICE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_LOG_KERNEL">MISC_TIMER_LOG_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MATRIX_MATRIX_CELLWISE_OP_KERNEL">MISC_TIMER_MATRIX_MATRIX_CELLWISE_OP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MATRIX_SCALAR_OP_KERNEL">MISC_TIMER_MATRIX_SCALAR_OP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MAXPOOLING_BACKWARD_LIB">MISC_TIMER_MAXPOOLING_BACKWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MAXPOOLING_FORWARD_LIB">MISC_TIMER_MAXPOOLING_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_OBJECT_CLONE">MISC_TIMER_OBJECT_CLONE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ORMQR">MISC_TIMER_ORMQR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_QR">MISC_TIMER_QR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_QR_BUFFER">MISC_TIMER_QR_BUFFER</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RBIND_KERNEL">MISC_TIMER_RBIND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_ALL_KERNEL">MISC_TIMER_REDUCE_ALL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_COL_KERNEL">MISC_TIMER_REDUCE_COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_ROW_KERNEL">MISC_TIMER_REDUCE_ROW_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RELU_BACKWARD_KERNEL">MISC_TIMER_RELU_BACKWARD_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RELU_KERNEL">MISC_TIMER_RELU_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REUSE">MISC_TIMER_REUSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_DENSE_OP">MISC_TIMER_RIX_DENSE_OP</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_SPARSE_DENSE_OP_NNZ">MISC_TIMER_RIX_SPARSE_DENSE_OP_NNZ</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_SPARSE_DENSE_OP_ROWWISE">MISC_TIMER_RIX_SPARSE_DENSE_OP_ROWWISE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ROUND_KERNEL">MISC_TIMER_ROUND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ROW_TO_COLUMN_MAJOR">MISC_TIMER_ROW_TO_COLUMN_MAJOR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SET_ZERO">MISC_TIMER_SET_ZERO</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIGMOID_KERNEL">MISC_TIMER_SIGMOID_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIGN_KERNEL">MISC_TIMER_SIGN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIN_KERNEL">MISC_TIMER_SIN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SINH_KERNEL">MISC_TIMER_SINH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_ALLOCATE_LIB">MISC_TIMER_SPARSE_ALLOCATE_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_DGEAM_LIB">MISC_TIMER_SPARSE_DGEAM_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_IM2COL_KERNEL">MISC_TIMER_SPARSE_IM2COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_DENSE_MATRIX_LIB">MISC_TIMER_SPARSE_MATRIX_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_DENSE_VECTOR_LIB">MISC_TIMER_SPARSE_MATRIX_DENSE_VECTOR_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_SPARSE_MATRIX_LIB">MISC_TIMER_SPARSE_MATRIX_SPARSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_TO_DENSE">MISC_TIMER_SPARSE_TO_DENSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SQRT_KERNEL">MISC_TIMER_SQRT_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SYRK_LIB">MISC_TIMER_SYRK_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TAN_KERNEL">MISC_TIMER_TAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TANH_KERNEL">MISC_TIMER_TANH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TRANSPOSE_LIB">MISC_TIMER_TRANSPOSE_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TRSM">MISC_TIMER_TRSM</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_UPPER_TO_LOWER_TRIANGLE_KERNEL">MISC_TIMER_UPPER_TO_LOWER_TRIANGLE_KERNEL</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="fields.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
@@ -207,7 +211,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.gpu.<a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">GPUInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getGPUInstructionType--">getGPUInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getGPUInstructionType--">getGPUInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
@@ -223,6 +227,13 @@
 <h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
 <code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.lineage.LineageTraceable">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.sysds.runtime.lineage.<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#getLineageItems-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItems</a>, <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#hasSingleLineage--">hasSingleLineage</a></code></li>
+</ul>
 </li>
 </ul>
 </li>
@@ -323,6 +334,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/MatrixReshapeGPUInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/MatrixReshapeGPUInstruction.html
index adf73ce..0c6cbc9 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/MatrixReshapeGPUInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/MatrixReshapeGPUInstruction.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":10};
+var methods = {"i0":10,"i1":9,"i2":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -117,6 +117,10 @@
 <div class="description">
 <ul class="blockList">
 <li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a></dd>
+</dl>
 <hr>
 <br>
 <pre>public class <span class="typeNameLabel">MatrixReshapeGPUInstruction</span>
@@ -160,7 +164,7 @@
 <!--   -->
 </a>
 <h3>Fields inherited from class&nbsp;org.apache.sysds.runtime.instructions.gpu.<a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">GPUInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ABS_KERNEL">MISC_TIMER_ABS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ACOS_KERNEL">MISC_TIMER_ACOS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ACTIVATION_FORWARD_LIB">MISC_TIMER_ACTIVATION_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE">MISC_TIMER_ALLOCATE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE_DENSE_OUTPUT">MISC_TIMER_ALLOCATE_DENSE_OUTPUT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE_SPARSE_OUTPUT">MISC_TIMER_ALLOCATE_SPARSE_OUTPUT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ASIN_KERNEL">MISC_TIMER_ASIN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ATAN_KERNEL">MISC_TIMER_ATAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_BIAS_ADD_LIB">MISC_TIMER_BIAS_ADD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CBIND_KERNEL">MISC_TIMER_CBIND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CEIL_KERNEL">MISC_TIMER_CEIL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COLUMN_TO_ROW_MAJOR">MISC_TIMER_COLUMN_TO_ROW_MAJOR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COMPARE_AND_SET_KERNEL">MISC_TIMER_COMPARE_AND_SET_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_BACKWARD_DATA_LIB">MISC_TIMER_CONVOLUTION_BACKWARD_DATA_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_BACKWARD_FILTER_LIB">MISC_TIMER_CONVOLUTION_BACKWARD_FILTER_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_FORWARD_LIB">MISC_TIMER_CONVOLUTION_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COS_KERNEL">MISC_TIMER_COS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COSH_KERNEL">MISC_TIMER_COSH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDA_FREE">MISC_TIMER_CUDA_FREE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDA_SYNC">MISC_TIMER_CUDA_SYNC</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDNN_CLEANUP">MISC_TIMER_CUDNN_CLEANUP</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDNN_INIT">MISC_TIMER_CUDNN_INIT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUMULATIVE_SCAN_KERNEL">MISC_TIMER_CUMULATIVE_SCAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUMULATIVE_SUMPROD_KERNEL">MISC_TIMER_CUMULATIVE_SUMPROD_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DAXPY_LIB">MISC_TIMER_DAXPY_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DAXPY_MV_KERNEL">MISC_TIMER_DAXPY_MV_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_DGEAM_LIB">MISC_TIMER_DENSE_DGEAM_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_DOT_LIB">MISC_TIMER_DENSE_DOT_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_IM2COL_KERNEL">MISC_TIMER_DENSE_IM2COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_MATRIX_DENSE_MATRIX_LIB">MISC_TIMER_DENSE_MATRIX_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_MATRIX_DENSE_VECTOR_LIB">MISC_TIMER_DENSE_MATRIX_DENSE_VECTOR_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_REORG_KNPQ_KERNEL">MISC_TIMER_DENSE_REORG_KNPQ_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_TO_SPARSE">MISC_TIMER_DENSE_TO_SPARSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_VECTOR_DENSE_MATRIX_LIB">MISC_TIMER_DENSE_VECTOR_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DEVICE_TO_DEVICE">MISC_TIMER_DEVICE_TO_DEVICE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DEVICE_TO_HOST">MISC_TIMER_DEVICE_TO_HOST</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_EVICT">MISC_TIMER_EVICT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_EXP_KERNEL">MISC_TIMER_EXP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_FILL_KERNEL">MISC_TIMER_FILL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_FLOOR_KERNEL">MISC_TIMER_FLOOR_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_HOST_TO_DEVICE">MISC_TIMER_HOST_TO_DEVICE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_LOG_KERNEL">MISC_TIMER_LOG_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MATRIX_MATRIX_CELLWISE_OP_KERNEL">MISC_TIMER_MATRIX_MATRIX_CELLWISE_OP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MATRIX_SCALAR_OP_KERNEL">MISC_TIMER_MATRIX_SCALAR_OP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MAXPOOLING_BACKWARD_LIB">MISC_TIMER_MAXPOOLING_BACKWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MAXPOOLING_FORWARD_LIB">MISC_TIMER_MAXPOOLING_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_OBJECT_CLONE">MISC_TIMER_OBJECT_CLONE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ORMQR">MISC_TIMER_ORMQR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_QR">MISC_TIMER_QR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_QR_BUFFER">MISC_TIMER_QR_BUFFER</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RBIND_KERNEL">MISC_TIMER_RBIND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_ALL_KERNEL">MISC_TIMER_REDUCE_ALL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_COL_KERNEL">MISC_TIMER_REDUCE_COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_ROW_KERNEL">MISC_TIMER_REDUCE_ROW_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RELU_BACKWARD_KERNEL">MISC_TIMER_RELU_BACKWARD_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RELU_KERNEL">MISC_TIMER_RELU_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REUSE">MISC_TIMER_REUSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_DENSE_OP">MISC_TIMER_RIX_DENSE_OP</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_SPARSE_DENSE_OP_NNZ">MISC_TIMER_RIX_SPARSE_DENSE_OP_NNZ</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_SPARSE_DENSE_OP_ROWWISE">MISC_TIMER_RIX_SPARSE_DENSE_OP_ROWWISE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ROUND_KERNEL">MISC_TIMER_ROUND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ROW_TO_COLUMN_MAJOR">MISC_TIMER_ROW_TO_COLUMN_MAJOR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SET_ZERO">MISC_TIMER_SET_ZERO</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIGMOID_KERNEL">MISC_TIMER_SIGMOID_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIGN_KERNEL">MISC_TIMER_SIGN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIN_KERNEL">MISC_TIMER_SIN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SINH_KERNEL">MISC_TIMER_SINH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_ALLOCATE_LIB">MISC_TIMER_SPARSE_ALLOCATE_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_DGEAM_LIB">MISC_TIMER_SPARSE_DGEAM_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_IM2COL_KERNEL">MISC_TIMER_SPARSE_IM2COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_DENSE_MATRIX_LIB">MISC_TIMER_SPARSE_MATRIX_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_DENSE_VECTOR_LIB">MISC_TIMER_SPARSE_MATRIX_DENSE_VECTOR_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_SPARSE_MATRIX_LIB">MISC_TIMER_SPARSE_MATRIX_SPARSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_TO_DENSE">MISC_TIMER_SPARSE_TO_DENSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SQRT_KERNEL">MISC_TIMER_SQRT_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SYRK_LIB">MISC_TIMER_SYRK_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TAN_KERNEL">MISC_TIMER_TAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TANH_KERNEL">MISC_TIMER_TANH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TRANSPOSE_LIB">MISC_TIMER_TRANSPOSE_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TRSM">MISC_TIMER_TRSM</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_UPPER_TO_LOWER_TRIANGLE_KERNEL">MISC_TIMER_UPPER_TO_LOWER_TRIANGLE_KERNEL</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#Z:Z_input1">_input1</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#Z:Z_input2">_input2</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#Z:Z_output">_output</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ABS_KERNEL">MISC_TIMER_ABS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ACOS_KERNEL">MISC_TIMER_ACOS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ACTIVATION_FORWARD_LIB">MISC_TIMER_ACTIVATION_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE">MISC_TIMER_ALLOCATE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE_DENSE_OUTPUT">MISC_TIMER_ALLOCATE_DENSE_OUTPUT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE_SPARSE_OUTPUT">MISC_TIMER_ALLOCATE_SPARSE_OUTPUT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ASIN_KERNEL">MISC_TIMER_ASIN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ATAN_KERNEL">MISC_TIMER_ATAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_BIAS_ADD_LIB">MISC_TIMER_BIAS_ADD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CBIND_KERNEL">MISC_TIMER_CBIND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CEIL_KERNEL">MISC_TIMER_CEIL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COLUMN_TO_ROW_MAJOR">MISC_TIMER_COLUMN_TO_ROW_MAJOR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COMPARE_AND_SET_KERNEL">MISC_TIMER_COMPARE_AND_SET_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_BACKWARD_DATA_LIB">MISC_TIMER_CONVOLUTION_BACKWARD_DATA_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_BACKWARD_FILTER_LIB">MISC_TIMER_CONVOLUTION_BACKWARD_FILTER_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_FORWARD_LIB">MISC_TIMER_CONVOLUTION_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COS_KERNEL">MISC_TIMER_COS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COSH_KERNEL">MISC_TIMER_COSH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDA_FREE">MISC_TIMER_CUDA_FREE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDA_SYNC">MISC_TIMER_CUDA_SYNC</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDNN_CLEANUP">MISC_TIMER_CUDNN_CLEANUP</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDNN_INIT">MISC_TIMER_CUDNN_INIT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUMULATIVE_SCAN_KERNEL">MISC_TIMER_CUMULATIVE_SCAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUMULATIVE_SUMPROD_KERNEL">MISC_TIMER_CUMULATIVE_SUMPROD_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DAXPY_LIB">MISC_TIMER_DAXPY_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DAXPY_MV_KERNEL">MISC_TIMER_DAXPY_MV_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_DGEAM_LIB">MISC_TIMER_DENSE_DGEAM_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_DOT_LIB">MISC_TIMER_DENSE_DOT_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_IM2COL_KERNEL">MISC_TIMER_DENSE_IM2COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_MATRIX_DENSE_MATRIX_LIB">MISC_TIMER_DENSE_MATRIX_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_MATRIX_DENSE_VECTOR_LIB">MISC_TIMER_DENSE_MATRIX_DENSE_VECTOR_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_REORG_KNPQ_KERNEL">MISC_TIMER_DENSE_REORG_KNPQ_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_TO_SPARSE">MISC_TIMER_DENSE_TO_SPARSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_VECTOR_DENSE_MATRIX_LIB">MISC_TIMER_DENSE_VECTOR_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DEVICE_TO_DEVICE">MISC_TIMER_DEVICE_TO_DEVICE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DEVICE_TO_HOST">MISC_TIMER_DEVICE_TO_HOST</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_EVICT">MISC_TIMER_EVICT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_EXP_KERNEL">MISC_TIMER_EXP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_FILL_KERNEL">MISC_TIMER_FILL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_FLOOR_KERNEL">MISC_TIMER_FLOOR_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_HOST_TO_DEVICE">MISC_TIMER_HOST_TO_DEVICE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_LOG_KERNEL">MISC_TIMER_LOG_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MATRIX_MATRIX_CELLWISE_OP_KERNEL">MISC_TIMER_MATRIX_MATRIX_CELLWISE_OP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MATRIX_SCALAR_OP_KERNEL">MISC_TIMER_MATRIX_SCALAR_OP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MAXPOOLING_BACKWARD_LIB">MISC_TIMER_MAXPOOLING_BACKWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MAXPOOLING_FORWARD_LIB">MISC_TIMER_MAXPOOLING_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_OBJECT_CLONE">MISC_TIMER_OBJECT_CLONE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ORMQR">MISC_TIMER_ORMQR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_QR">MISC_TIMER_QR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_QR_BUFFER">MISC_TIMER_QR_BUFFER</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RBIND_KERNEL">MISC_TIMER_RBIND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_ALL_KERNEL">MISC_TIMER_REDUCE_ALL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_COL_KERNEL">MISC_TIMER_REDUCE_COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_ROW_KERNEL">MISC_TIMER_REDUCE_ROW_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RELU_BACKWARD_KERNEL">MISC_TIMER_RELU_BACKWARD_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RELU_KERNEL">MISC_TIMER_RELU_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REUSE">MISC_TIMER_REUSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_DENSE_OP">MISC_TIMER_RIX_DENSE_OP</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_SPARSE_DENSE_OP_NNZ">MISC_TIMER_RIX_SPARSE_DENSE_OP_NNZ</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_SPARSE_DENSE_OP_ROWWISE">MISC_TIMER_RIX_SPARSE_DENSE_OP_ROWWISE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ROUND_KERNEL">MISC_TIMER_ROUND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ROW_TO_COLUMN_MAJOR">MISC_TIMER_ROW_TO_COLUMN_MAJOR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SET_ZERO">MISC_TIMER_SET_ZERO</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIGMOID_KERNEL">MISC_TIMER_SIGMOID_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIGN_KERNEL">MISC_TIMER_SIGN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIN_KERNEL">MISC_TIMER_SIN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SINH_KERNEL">MISC_TIMER_SINH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_ALLOCATE_LIB">MISC_TIMER_SPARSE_ALLOCATE_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_DGEAM_LIB">MISC_TIMER_SPARSE_DGEAM_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_IM2COL_KERNEL">MISC_TIMER_SPARSE_IM2COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_DENSE_MATRIX_LIB">MISC_TIMER_SPARSE_MATRIX_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_DENSE_VECTOR_LIB">MISC_TIMER_SPARSE_MATRIX_DENSE_VECTOR_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_SPARSE_MATRIX_LIB">MISC_TIMER_SPARSE_MATRIX_SPARSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_TO_DENSE">MISC_TIMER_SPARSE_TO_DENSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SQRT_KERNEL">MISC_TIMER_SQRT_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SYRK_LIB">MISC_TIMER_SYRK_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TAN_KERNEL">MISC_TIMER_TAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TANH_KERNEL">MISC_TIMER_TANH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TRANSPOSE_LIB">MISC_TIMER_TRANSPOSE_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TRSM">MISC_TIMER_TRSM</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_UPPER_TO_LOWER_TRIANGLE_KERNEL">MISC_TIMER_UPPER_TO_LOWER_TRIANGLE_KERNEL</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="fields.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
@@ -184,10 +188,16 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
+<td class="colFirst"><code>org.apache.commons.lang3.tuple.Pair&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/MatrixReshapeGPUInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>
+<div class="block">Obtain lineage trace of an instruction with a single output.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/MatrixReshapeGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">MatrixReshapeGPUInstruction</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/MatrixReshapeGPUInstruction.html#parseInstruction-java.lang.String-">parseInstruction</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</code>&nbsp;</td>
 </tr>
-<tr id="i1" class="rowColor">
+<tr id="i2" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/MatrixReshapeGPUInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>
 <div class="block">This method should be used to execute the instruction.</div>
@@ -215,6 +225,13 @@
 <h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
 <code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.lineage.LineageTraceable">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.sysds.runtime.lineage.<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#getLineageItems-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItems</a>, <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#hasSingleLineage--">hasSingleLineage</a></code></li>
+</ul>
 </li>
 </ul>
 </li>
@@ -241,7 +258,7 @@
 <a name="processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>processInstruction</h4>
 <pre>public&nbsp;void&nbsp;processInstruction(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</pre>
@@ -255,6 +272,27 @@
 </dl>
 </li>
 </ul>
+<a name="getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getLineageItem</h4>
+<pre>public&nbsp;org.apache.commons.lang3.tuple.Pair&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&gt;&nbsp;getLineageItem(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">LineageTraceable</a></code></span></div>
+<div class="block">Obtain lineage trace of an instruction with a single output.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">GPUInstruction</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>ec</code> - execution context w/ live variables</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>pair of (output variable name, output lineage item)</dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>
@@ -324,6 +362,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/RelationalBinaryGPUInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/RelationalBinaryGPUInstruction.html
index d2e63d1..0b87bc2 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/RelationalBinaryGPUInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/RelationalBinaryGPUInstruction.html
@@ -118,6 +118,10 @@
 <ul class="blockList">
 <li class="blockList">
 <dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a></dd>
+</dl>
+<dl>
 <dt>Direct Known Subclasses:</dt>
 <dd><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/MatrixMatrixRelationalBinaryGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">MatrixMatrixRelationalBinaryGPUInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/ScalarMatrixRelationalBinaryGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">ScalarMatrixRelationalBinaryGPUInstruction</a></dd>
 </dl>
@@ -164,7 +168,7 @@
 <!--   -->
 </a>
 <h3>Fields inherited from class&nbsp;org.apache.sysds.runtime.instructions.gpu.<a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">GPUInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ABS_KERNEL">MISC_TIMER_ABS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ACOS_KERNEL">MISC_TIMER_ACOS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ACTIVATION_FORWARD_LIB">MISC_TIMER_ACTIVATION_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE">MISC_TIMER_ALLOCATE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE_DENSE_OUTPUT">MISC_TIMER_ALLOCATE_DENSE_OUTPUT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE_SPARSE_OUTPUT">MISC_TIMER_ALLOCATE_SPARSE_OUTPUT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ASIN_KERNEL">MISC_TIMER_ASIN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ATAN_KERNEL">MISC_TIMER_ATAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_BIAS_ADD_LIB">MISC_TIMER_BIAS_ADD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CBIND_KERNEL">MISC_TIMER_CBIND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CEIL_KERNEL">MISC_TIMER_CEIL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COLUMN_TO_ROW_MAJOR">MISC_TIMER_COLUMN_TO_ROW_MAJOR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COMPARE_AND_SET_KERNEL">MISC_TIMER_COMPARE_AND_SET_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_BACKWARD_DATA_LIB">MISC_TIMER_CONVOLUTION_BACKWARD_DATA_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_BACKWARD_FILTER_LIB">MISC_TIMER_CONVOLUTION_BACKWARD_FILTER_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_FORWARD_LIB">MISC_TIMER_CONVOLUTION_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COS_KERNEL">MISC_TIMER_COS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COSH_KERNEL">MISC_TIMER_COSH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDA_FREE">MISC_TIMER_CUDA_FREE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDA_SYNC">MISC_TIMER_CUDA_SYNC</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDNN_CLEANUP">MISC_TIMER_CUDNN_CLEANUP</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDNN_INIT">MISC_TIMER_CUDNN_INIT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUMULATIVE_SCAN_KERNEL">MISC_TIMER_CUMULATIVE_SCAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUMULATIVE_SUMPROD_KERNEL">MISC_TIMER_CUMULATIVE_SUMPROD_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DAXPY_LIB">MISC_TIMER_DAXPY_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DAXPY_MV_KERNEL">MISC_TIMER_DAXPY_MV_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_DGEAM_LIB">MISC_TIMER_DENSE_DGEAM_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_DOT_LIB">MISC_TIMER_DENSE_DOT_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_IM2COL_KERNEL">MISC_TIMER_DENSE_IM2COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_MATRIX_DENSE_MATRIX_LIB">MISC_TIMER_DENSE_MATRIX_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_MATRIX_DENSE_VECTOR_LIB">MISC_TIMER_DENSE_MATRIX_DENSE_VECTOR_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_REORG_KNPQ_KERNEL">MISC_TIMER_DENSE_REORG_KNPQ_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_TO_SPARSE">MISC_TIMER_DENSE_TO_SPARSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_VECTOR_DENSE_MATRIX_LIB">MISC_TIMER_DENSE_VECTOR_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DEVICE_TO_DEVICE">MISC_TIMER_DEVICE_TO_DEVICE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DEVICE_TO_HOST">MISC_TIMER_DEVICE_TO_HOST</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_EVICT">MISC_TIMER_EVICT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_EXP_KERNEL">MISC_TIMER_EXP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_FILL_KERNEL">MISC_TIMER_FILL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_FLOOR_KERNEL">MISC_TIMER_FLOOR_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_HOST_TO_DEVICE">MISC_TIMER_HOST_TO_DEVICE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_LOG_KERNEL">MISC_TIMER_LOG_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MATRIX_MATRIX_CELLWISE_OP_KERNEL">MISC_TIMER_MATRIX_MATRIX_CELLWISE_OP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MATRIX_SCALAR_OP_KERNEL">MISC_TIMER_MATRIX_SCALAR_OP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MAXPOOLING_BACKWARD_LIB">MISC_TIMER_MAXPOOLING_BACKWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MAXPOOLING_FORWARD_LIB">MISC_TIMER_MAXPOOLING_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_OBJECT_CLONE">MISC_TIMER_OBJECT_CLONE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ORMQR">MISC_TIMER_ORMQR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_QR">MISC_TIMER_QR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_QR_BUFFER">MISC_TIMER_QR_BUFFER</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RBIND_KERNEL">MISC_TIMER_RBIND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_ALL_KERNEL">MISC_TIMER_REDUCE_ALL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_COL_KERNEL">MISC_TIMER_REDUCE_COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_ROW_KERNEL">MISC_TIMER_REDUCE_ROW_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RELU_BACKWARD_KERNEL">MISC_TIMER_RELU_BACKWARD_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RELU_KERNEL">MISC_TIMER_RELU_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REUSE">MISC_TIMER_REUSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_DENSE_OP">MISC_TIMER_RIX_DENSE_OP</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_SPARSE_DENSE_OP_NNZ">MISC_TIMER_RIX_SPARSE_DENSE_OP_NNZ</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_SPARSE_DENSE_OP_ROWWISE">MISC_TIMER_RIX_SPARSE_DENSE_OP_ROWWISE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ROUND_KERNEL">MISC_TIMER_ROUND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ROW_TO_COLUMN_MAJOR">MISC_TIMER_ROW_TO_COLUMN_MAJOR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SET_ZERO">MISC_TIMER_SET_ZERO</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIGMOID_KERNEL">MISC_TIMER_SIGMOID_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIGN_KERNEL">MISC_TIMER_SIGN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIN_KERNEL">MISC_TIMER_SIN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SINH_KERNEL">MISC_TIMER_SINH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_ALLOCATE_LIB">MISC_TIMER_SPARSE_ALLOCATE_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_DGEAM_LIB">MISC_TIMER_SPARSE_DGEAM_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_IM2COL_KERNEL">MISC_TIMER_SPARSE_IM2COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_DENSE_MATRIX_LIB">MISC_TIMER_SPARSE_MATRIX_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_DENSE_VECTOR_LIB">MISC_TIMER_SPARSE_MATRIX_DENSE_VECTOR_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_SPARSE_MATRIX_LIB">MISC_TIMER_SPARSE_MATRIX_SPARSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_TO_DENSE">MISC_TIMER_SPARSE_TO_DENSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SQRT_KERNEL">MISC_TIMER_SQRT_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SYRK_LIB">MISC_TIMER_SYRK_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TAN_KERNEL">MISC_TIMER_TAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TANH_KERNEL">MISC_TIMER_TANH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TRANSPOSE_LIB">MISC_TIMER_TRANSPOSE_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TRSM">MISC_TIMER_TRSM</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_UPPER_TO_LOWER_TRIANGLE_KERNEL">MISC_TIMER_UPPER_TO_LOWER_TRIANGLE_KERNEL</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#Z:Z_input1">_input1</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#Z:Z_input2">_input2</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#Z:Z_output">_output</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ABS_KERNEL">MISC_TIMER_ABS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ACOS_KERNEL">MISC_TIMER_ACOS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ACTIVATION_FORWARD_LIB">MISC_TIMER_ACTIVATION_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE">MISC_TIMER_ALLOCATE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE_DENSE_OUTPUT">MISC_TIMER_ALLOCATE_DENSE_OUTPUT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE_SPARSE_OUTPUT">MISC_TIMER_ALLOCATE_SPARSE_OUTPUT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ASIN_KERNEL">MISC_TIMER_ASIN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ATAN_KERNEL">MISC_TIMER_ATAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_BIAS_ADD_LIB">MISC_TIMER_BIAS_ADD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CBIND_KERNEL">MISC_TIMER_CBIND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CEIL_KERNEL">MISC_TIMER_CEIL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COLUMN_TO_ROW_MAJOR">MISC_TIMER_COLUMN_TO_ROW_MAJOR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COMPARE_AND_SET_KERNEL">MISC_TIMER_COMPARE_AND_SET_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_BACKWARD_DATA_LIB">MISC_TIMER_CONVOLUTION_BACKWARD_DATA_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_BACKWARD_FILTER_LIB">MISC_TIMER_CONVOLUTION_BACKWARD_FILTER_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_FORWARD_LIB">MISC_TIMER_CONVOLUTION_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COS_KERNEL">MISC_TIMER_COS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COSH_KERNEL">MISC_TIMER_COSH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDA_FREE">MISC_TIMER_CUDA_FREE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDA_SYNC">MISC_TIMER_CUDA_SYNC</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDNN_CLEANUP">MISC_TIMER_CUDNN_CLEANUP</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDNN_INIT">MISC_TIMER_CUDNN_INIT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUMULATIVE_SCAN_KERNEL">MISC_TIMER_CUMULATIVE_SCAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUMULATIVE_SUMPROD_KERNEL">MISC_TIMER_CUMULATIVE_SUMPROD_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DAXPY_LIB">MISC_TIMER_DAXPY_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DAXPY_MV_KERNEL">MISC_TIMER_DAXPY_MV_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_DGEAM_LIB">MISC_TIMER_DENSE_DGEAM_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_DOT_LIB">MISC_TIMER_DENSE_DOT_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_IM2COL_KERNEL">MISC_TIMER_DENSE_IM2COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_MATRIX_DENSE_MATRIX_LIB">MISC_TIMER_DENSE_MATRIX_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_MATRIX_DENSE_VECTOR_LIB">MISC_TIMER_DENSE_MATRIX_DENSE_VECTOR_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_REORG_KNPQ_KERNEL">MISC_TIMER_DENSE_REORG_KNPQ_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_TO_SPARSE">MISC_TIMER_DENSE_TO_SPARSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_VECTOR_DENSE_MATRIX_LIB">MISC_TIMER_DENSE_VECTOR_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DEVICE_TO_DEVICE">MISC_TIMER_DEVICE_TO_DEVICE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DEVICE_TO_HOST">MISC_TIMER_DEVICE_TO_HOST</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_EVICT">MISC_TIMER_EVICT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_EXP_KERNEL">MISC_TIMER_EXP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_FILL_KERNEL">MISC_TIMER_FILL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_FLOOR_KERNEL">MISC_TIMER_FLOOR_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_HOST_TO_DEVICE">MISC_TIMER_HOST_TO_DEVICE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_LOG_KERNEL">MISC_TIMER_LOG_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MATRIX_MATRIX_CELLWISE_OP_KERNEL">MISC_TIMER_MATRIX_MATRIX_CELLWISE_OP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MATRIX_SCALAR_OP_KERNEL">MISC_TIMER_MATRIX_SCALAR_OP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MAXPOOLING_BACKWARD_LIB">MISC_TIMER_MAXPOOLING_BACKWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MAXPOOLING_FORWARD_LIB">MISC_TIMER_MAXPOOLING_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_OBJECT_CLONE">MISC_TIMER_OBJECT_CLONE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ORMQR">MISC_TIMER_ORMQR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_QR">MISC_TIMER_QR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_QR_BUFFER">MISC_TIMER_QR_BUFFER</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RBIND_KERNEL">MISC_TIMER_RBIND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_ALL_KERNEL">MISC_TIMER_REDUCE_ALL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_COL_KERNEL">MISC_TIMER_REDUCE_COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_ROW_KERNEL">MISC_TIMER_REDUCE_ROW_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RELU_BACKWARD_KERNEL">MISC_TIMER_RELU_BACKWARD_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RELU_KERNEL">MISC_TIMER_RELU_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REUSE">MISC_TIMER_REUSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_DENSE_OP">MISC_TIMER_RIX_DENSE_OP</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_SPARSE_DENSE_OP_NNZ">MISC_TIMER_RIX_SPARSE_DENSE_OP_NNZ</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_SPARSE_DENSE_OP_ROWWISE">MISC_TIMER_RIX_SPARSE_DENSE_OP_ROWWISE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ROUND_KERNEL">MISC_TIMER_ROUND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ROW_TO_COLUMN_MAJOR">MISC_TIMER_ROW_TO_COLUMN_MAJOR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SET_ZERO">MISC_TIMER_SET_ZERO</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIGMOID_KERNEL">MISC_TIMER_SIGMOID_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIGN_KERNEL">MISC_TIMER_SIGN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIN_KERNEL">MISC_TIMER_SIN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SINH_KERNEL">MISC_TIMER_SINH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_ALLOCATE_LIB">MISC_TIMER_SPARSE_ALLOCATE_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_DGEAM_LIB">MISC_TIMER_SPARSE_DGEAM_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_IM2COL_KERNEL">MISC_TIMER_SPARSE_IM2COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_DENSE_MATRIX_LIB">MISC_TIMER_SPARSE_MATRIX_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_DENSE_VECTOR_LIB">MISC_TIMER_SPARSE_MATRIX_DENSE_VECTOR_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_SPARSE_MATRIX_LIB">MISC_TIMER_SPARSE_MATRIX_SPARSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_TO_DENSE">MISC_TIMER_SPARSE_TO_DENSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SQRT_KERNEL">MISC_TIMER_SQRT_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SYRK_LIB">MISC_TIMER_SYRK_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TAN_KERNEL">MISC_TIMER_TAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TANH_KERNEL">MISC_TIMER_TANH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TRANSPOSE_LIB">MISC_TIMER_TRANSPOSE_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TRSM">MISC_TIMER_TRSM</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_UPPER_TO_LOWER_TRIANGLE_KERNEL">MISC_TIMER_UPPER_TO_LOWER_TRIANGLE_KERNEL</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="fields.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
@@ -197,7 +201,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.gpu.<a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">GPUInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getGPUInstructionType--">getGPUInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getGPUInstructionType--">getGPUInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
@@ -213,6 +217,13 @@
 <h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
 <code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.lineage.LineageTraceable">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.sysds.runtime.lineage.<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#getLineageItems-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItems</a>, <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#hasSingleLineage--">hasSingleLineage</a></code></li>
+</ul>
 </li>
 </ul>
 </li>
@@ -305,6 +316,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/ReorgGPUInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/ReorgGPUInstruction.html
index 94131cb..554df1a 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/ReorgGPUInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/ReorgGPUInstruction.html
@@ -117,6 +117,10 @@
 <div class="description">
 <ul class="blockList">
 <li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a></dd>
+</dl>
 <hr>
 <br>
 <pre>public class <span class="typeNameLabel">ReorgGPUInstruction</span>
@@ -160,7 +164,7 @@
 <!--   -->
 </a>
 <h3>Fields inherited from class&nbsp;org.apache.sysds.runtime.instructions.gpu.<a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">GPUInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ABS_KERNEL">MISC_TIMER_ABS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ACOS_KERNEL">MISC_TIMER_ACOS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ACTIVATION_FORWARD_LIB">MISC_TIMER_ACTIVATION_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE">MISC_TIMER_ALLOCATE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE_DENSE_OUTPUT">MISC_TIMER_ALLOCATE_DENSE_OUTPUT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE_SPARSE_OUTPUT">MISC_TIMER_ALLOCATE_SPARSE_OUTPUT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ASIN_KERNEL">MISC_TIMER_ASIN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ATAN_KERNEL">MISC_TIMER_ATAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_BIAS_ADD_LIB">MISC_TIMER_BIAS_ADD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CBIND_KERNEL">MISC_TIMER_CBIND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CEIL_KERNEL">MISC_TIMER_CEIL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COLUMN_TO_ROW_MAJOR">MISC_TIMER_COLUMN_TO_ROW_MAJOR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COMPARE_AND_SET_KERNEL">MISC_TIMER_COMPARE_AND_SET_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_BACKWARD_DATA_LIB">MISC_TIMER_CONVOLUTION_BACKWARD_DATA_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_BACKWARD_FILTER_LIB">MISC_TIMER_CONVOLUTION_BACKWARD_FILTER_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_FORWARD_LIB">MISC_TIMER_CONVOLUTION_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COS_KERNEL">MISC_TIMER_COS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COSH_KERNEL">MISC_TIMER_COSH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDA_FREE">MISC_TIMER_CUDA_FREE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDA_SYNC">MISC_TIMER_CUDA_SYNC</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDNN_CLEANUP">MISC_TIMER_CUDNN_CLEANUP</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDNN_INIT">MISC_TIMER_CUDNN_INIT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUMULATIVE_SCAN_KERNEL">MISC_TIMER_CUMULATIVE_SCAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUMULATIVE_SUMPROD_KERNEL">MISC_TIMER_CUMULATIVE_SUMPROD_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DAXPY_LIB">MISC_TIMER_DAXPY_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DAXPY_MV_KERNEL">MISC_TIMER_DAXPY_MV_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_DGEAM_LIB">MISC_TIMER_DENSE_DGEAM_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_DOT_LIB">MISC_TIMER_DENSE_DOT_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_IM2COL_KERNEL">MISC_TIMER_DENSE_IM2COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_MATRIX_DENSE_MATRIX_LIB">MISC_TIMER_DENSE_MATRIX_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_MATRIX_DENSE_VECTOR_LIB">MISC_TIMER_DENSE_MATRIX_DENSE_VECTOR_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_REORG_KNPQ_KERNEL">MISC_TIMER_DENSE_REORG_KNPQ_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_TO_SPARSE">MISC_TIMER_DENSE_TO_SPARSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_VECTOR_DENSE_MATRIX_LIB">MISC_TIMER_DENSE_VECTOR_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DEVICE_TO_DEVICE">MISC_TIMER_DEVICE_TO_DEVICE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DEVICE_TO_HOST">MISC_TIMER_DEVICE_TO_HOST</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_EVICT">MISC_TIMER_EVICT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_EXP_KERNEL">MISC_TIMER_EXP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_FILL_KERNEL">MISC_TIMER_FILL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_FLOOR_KERNEL">MISC_TIMER_FLOOR_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_HOST_TO_DEVICE">MISC_TIMER_HOST_TO_DEVICE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_LOG_KERNEL">MISC_TIMER_LOG_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MATRIX_MATRIX_CELLWISE_OP_KERNEL">MISC_TIMER_MATRIX_MATRIX_CELLWISE_OP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MATRIX_SCALAR_OP_KERNEL">MISC_TIMER_MATRIX_SCALAR_OP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MAXPOOLING_BACKWARD_LIB">MISC_TIMER_MAXPOOLING_BACKWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MAXPOOLING_FORWARD_LIB">MISC_TIMER_MAXPOOLING_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_OBJECT_CLONE">MISC_TIMER_OBJECT_CLONE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ORMQR">MISC_TIMER_ORMQR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_QR">MISC_TIMER_QR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_QR_BUFFER">MISC_TIMER_QR_BUFFER</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RBIND_KERNEL">MISC_TIMER_RBIND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_ALL_KERNEL">MISC_TIMER_REDUCE_ALL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_COL_KERNEL">MISC_TIMER_REDUCE_COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_ROW_KERNEL">MISC_TIMER_REDUCE_ROW_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RELU_BACKWARD_KERNEL">MISC_TIMER_RELU_BACKWARD_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RELU_KERNEL">MISC_TIMER_RELU_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REUSE">MISC_TIMER_REUSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_DENSE_OP">MISC_TIMER_RIX_DENSE_OP</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_SPARSE_DENSE_OP_NNZ">MISC_TIMER_RIX_SPARSE_DENSE_OP_NNZ</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_SPARSE_DENSE_OP_ROWWISE">MISC_TIMER_RIX_SPARSE_DENSE_OP_ROWWISE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ROUND_KERNEL">MISC_TIMER_ROUND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ROW_TO_COLUMN_MAJOR">MISC_TIMER_ROW_TO_COLUMN_MAJOR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SET_ZERO">MISC_TIMER_SET_ZERO</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIGMOID_KERNEL">MISC_TIMER_SIGMOID_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIGN_KERNEL">MISC_TIMER_SIGN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIN_KERNEL">MISC_TIMER_SIN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SINH_KERNEL">MISC_TIMER_SINH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_ALLOCATE_LIB">MISC_TIMER_SPARSE_ALLOCATE_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_DGEAM_LIB">MISC_TIMER_SPARSE_DGEAM_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_IM2COL_KERNEL">MISC_TIMER_SPARSE_IM2COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_DENSE_MATRIX_LIB">MISC_TIMER_SPARSE_MATRIX_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_DENSE_VECTOR_LIB">MISC_TIMER_SPARSE_MATRIX_DENSE_VECTOR_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_SPARSE_MATRIX_LIB">MISC_TIMER_SPARSE_MATRIX_SPARSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_TO_DENSE">MISC_TIMER_SPARSE_TO_DENSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SQRT_KERNEL">MISC_TIMER_SQRT_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SYRK_LIB">MISC_TIMER_SYRK_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TAN_KERNEL">MISC_TIMER_TAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TANH_KERNEL">MISC_TIMER_TANH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TRANSPOSE_LIB">MISC_TIMER_TRANSPOSE_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TRSM">MISC_TIMER_TRSM</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_UPPER_TO_LOWER_TRIANGLE_KERNEL">MISC_TIMER_UPPER_TO_LOWER_TRIANGLE_KERNEL</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#Z:Z_input1">_input1</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#Z:Z_input2">_input2</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#Z:Z_output">_output</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ABS_KERNEL">MISC_TIMER_ABS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ACOS_KERNEL">MISC_TIMER_ACOS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ACTIVATION_FORWARD_LIB">MISC_TIMER_ACTIVATION_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE">MISC_TIMER_ALLOCATE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE_DENSE_OUTPUT">MISC_TIMER_ALLOCATE_DENSE_OUTPUT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE_SPARSE_OUTPUT">MISC_TIMER_ALLOCATE_SPARSE_OUTPUT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ASIN_KERNEL">MISC_TIMER_ASIN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ATAN_KERNEL">MISC_TIMER_ATAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_BIAS_ADD_LIB">MISC_TIMER_BIAS_ADD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CBIND_KERNEL">MISC_TIMER_CBIND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CEIL_KERNEL">MISC_TIMER_CEIL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COLUMN_TO_ROW_MAJOR">MISC_TIMER_COLUMN_TO_ROW_MAJOR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COMPARE_AND_SET_KERNEL">MISC_TIMER_COMPARE_AND_SET_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_BACKWARD_DATA_LIB">MISC_TIMER_CONVOLUTION_BACKWARD_DATA_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_BACKWARD_FILTER_LIB">MISC_TIMER_CONVOLUTION_BACKWARD_FILTER_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_FORWARD_LIB">MISC_TIMER_CONVOLUTION_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COS_KERNEL">MISC_TIMER_COS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COSH_KERNEL">MISC_TIMER_COSH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDA_FREE">MISC_TIMER_CUDA_FREE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDA_SYNC">MISC_TIMER_CUDA_SYNC</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDNN_CLEANUP">MISC_TIMER_CUDNN_CLEANUP</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDNN_INIT">MISC_TIMER_CUDNN_INIT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUMULATIVE_SCAN_KERNEL">MISC_TIMER_CUMULATIVE_SCAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUMULATIVE_SUMPROD_KERNEL">MISC_TIMER_CUMULATIVE_SUMPROD_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DAXPY_LIB">MISC_TIMER_DAXPY_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DAXPY_MV_KERNEL">MISC_TIMER_DAXPY_MV_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_DGEAM_LIB">MISC_TIMER_DENSE_DGEAM_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_DOT_LIB">MISC_TIMER_DENSE_DOT_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_IM2COL_KERNEL">MISC_TIMER_DENSE_IM2COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_MATRIX_DENSE_MATRIX_LIB">MISC_TIMER_DENSE_MATRIX_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_MATRIX_DENSE_VECTOR_LIB">MISC_TIMER_DENSE_MATRIX_DENSE_VECTOR_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_REORG_KNPQ_KERNEL">MISC_TIMER_DENSE_REORG_KNPQ_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_TO_SPARSE">MISC_TIMER_DENSE_TO_SPARSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_VECTOR_DENSE_MATRIX_LIB">MISC_TIMER_DENSE_VECTOR_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DEVICE_TO_DEVICE">MISC_TIMER_DEVICE_TO_DEVICE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DEVICE_TO_HOST">MISC_TIMER_DEVICE_TO_HOST</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_EVICT">MISC_TIMER_EVICT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_EXP_KERNEL">MISC_TIMER_EXP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_FILL_KERNEL">MISC_TIMER_FILL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_FLOOR_KERNEL">MISC_TIMER_FLOOR_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_HOST_TO_DEVICE">MISC_TIMER_HOST_TO_DEVICE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_LOG_KERNEL">MISC_TIMER_LOG_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MATRIX_MATRIX_CELLWISE_OP_KERNEL">MISC_TIMER_MATRIX_MATRIX_CELLWISE_OP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MATRIX_SCALAR_OP_KERNEL">MISC_TIMER_MATRIX_SCALAR_OP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MAXPOOLING_BACKWARD_LIB">MISC_TIMER_MAXPOOLING_BACKWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MAXPOOLING_FORWARD_LIB">MISC_TIMER_MAXPOOLING_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_OBJECT_CLONE">MISC_TIMER_OBJECT_CLONE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ORMQR">MISC_TIMER_ORMQR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_QR">MISC_TIMER_QR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_QR_BUFFER">MISC_TIMER_QR_BUFFER</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RBIND_KERNEL">MISC_TIMER_RBIND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_ALL_KERNEL">MISC_TIMER_REDUCE_ALL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_COL_KERNEL">MISC_TIMER_REDUCE_COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_ROW_KERNEL">MISC_TIMER_REDUCE_ROW_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RELU_BACKWARD_KERNEL">MISC_TIMER_RELU_BACKWARD_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RELU_KERNEL">MISC_TIMER_RELU_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REUSE">MISC_TIMER_REUSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_DENSE_OP">MISC_TIMER_RIX_DENSE_OP</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_SPARSE_DENSE_OP_NNZ">MISC_TIMER_RIX_SPARSE_DENSE_OP_NNZ</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_SPARSE_DENSE_OP_ROWWISE">MISC_TIMER_RIX_SPARSE_DENSE_OP_ROWWISE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ROUND_KERNEL">MISC_TIMER_ROUND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ROW_TO_COLUMN_MAJOR">MISC_TIMER_ROW_TO_COLUMN_MAJOR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SET_ZERO">MISC_TIMER_SET_ZERO</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIGMOID_KERNEL">MISC_TIMER_SIGMOID_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIGN_KERNEL">MISC_TIMER_SIGN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIN_KERNEL">MISC_TIMER_SIN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SINH_KERNEL">MISC_TIMER_SINH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_ALLOCATE_LIB">MISC_TIMER_SPARSE_ALLOCATE_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_DGEAM_LIB">MISC_TIMER_SPARSE_DGEAM_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_IM2COL_KERNEL">MISC_TIMER_SPARSE_IM2COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_DENSE_MATRIX_LIB">MISC_TIMER_SPARSE_MATRIX_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_DENSE_VECTOR_LIB">MISC_TIMER_SPARSE_MATRIX_DENSE_VECTOR_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_SPARSE_MATRIX_LIB">MISC_TIMER_SPARSE_MATRIX_SPARSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_TO_DENSE">MISC_TIMER_SPARSE_TO_DENSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SQRT_KERNEL">MISC_TIMER_SQRT_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SYRK_LIB">MISC_TIMER_SYRK_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TAN_KERNEL">MISC_TIMER_TAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TANH_KERNEL">MISC_TIMER_TANH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TRANSPOSE_LIB">MISC_TIMER_TRANSPOSE_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TRSM">MISC_TIMER_TRSM</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_UPPER_TO_LOWER_TRIANGLE_KERNEL">MISC_TIMER_UPPER_TO_LOWER_TRIANGLE_KERNEL</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="fields.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
@@ -199,7 +203,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.gpu.<a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">GPUInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getGPUInstructionType--">getGPUInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getGPUInstructionType--">getGPUInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
@@ -215,6 +219,13 @@
 <h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
 <code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.lineage.LineageTraceable">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.sysds.runtime.lineage.<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#getLineageItems-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItems</a>, <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#hasSingleLineage--">hasSingleLineage</a></code></li>
+</ul>
 </li>
 </ul>
 </li>
@@ -324,6 +335,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/ScalarMatrixArithmeticGPUInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/ScalarMatrixArithmeticGPUInstruction.html
index 99b18c8..4d124c4 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/ScalarMatrixArithmeticGPUInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/ScalarMatrixArithmeticGPUInstruction.html
@@ -122,6 +122,10 @@
 <div class="description">
 <ul class="blockList">
 <li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a></dd>
+</dl>
 <hr>
 <br>
 <pre>public class <span class="typeNameLabel">ScalarMatrixArithmeticGPUInstruction</span>
@@ -165,7 +169,7 @@
 <!--   -->
 </a>
 <h3>Fields inherited from class&nbsp;org.apache.sysds.runtime.instructions.gpu.<a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">GPUInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ABS_KERNEL">MISC_TIMER_ABS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ACOS_KERNEL">MISC_TIMER_ACOS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ACTIVATION_FORWARD_LIB">MISC_TIMER_ACTIVATION_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE">MISC_TIMER_ALLOCATE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE_DENSE_OUTPUT">MISC_TIMER_ALLOCATE_DENSE_OUTPUT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE_SPARSE_OUTPUT">MISC_TIMER_ALLOCATE_SPARSE_OUTPUT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ASIN_KERNEL">MISC_TIMER_ASIN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ATAN_KERNEL">MISC_TIMER_ATAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_BIAS_ADD_LIB">MISC_TIMER_BIAS_ADD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CBIND_KERNEL">MISC_TIMER_CBIND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CEIL_KERNEL">MISC_TIMER_CEIL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COLUMN_TO_ROW_MAJOR">MISC_TIMER_COLUMN_TO_ROW_MAJOR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COMPARE_AND_SET_KERNEL">MISC_TIMER_COMPARE_AND_SET_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_BACKWARD_DATA_LIB">MISC_TIMER_CONVOLUTION_BACKWARD_DATA_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_BACKWARD_FILTER_LIB">MISC_TIMER_CONVOLUTION_BACKWARD_FILTER_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_FORWARD_LIB">MISC_TIMER_CONVOLUTION_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COS_KERNEL">MISC_TIMER_COS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COSH_KERNEL">MISC_TIMER_COSH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDA_FREE">MISC_TIMER_CUDA_FREE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDA_SYNC">MISC_TIMER_CUDA_SYNC</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDNN_CLEANUP">MISC_TIMER_CUDNN_CLEANUP</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDNN_INIT">MISC_TIMER_CUDNN_INIT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUMULATIVE_SCAN_KERNEL">MISC_TIMER_CUMULATIVE_SCAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUMULATIVE_SUMPROD_KERNEL">MISC_TIMER_CUMULATIVE_SUMPROD_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DAXPY_LIB">MISC_TIMER_DAXPY_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DAXPY_MV_KERNEL">MISC_TIMER_DAXPY_MV_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_DGEAM_LIB">MISC_TIMER_DENSE_DGEAM_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_DOT_LIB">MISC_TIMER_DENSE_DOT_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_IM2COL_KERNEL">MISC_TIMER_DENSE_IM2COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_MATRIX_DENSE_MATRIX_LIB">MISC_TIMER_DENSE_MATRIX_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_MATRIX_DENSE_VECTOR_LIB">MISC_TIMER_DENSE_MATRIX_DENSE_VECTOR_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_REORG_KNPQ_KERNEL">MISC_TIMER_DENSE_REORG_KNPQ_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_TO_SPARSE">MISC_TIMER_DENSE_TO_SPARSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_VECTOR_DENSE_MATRIX_LIB">MISC_TIMER_DENSE_VECTOR_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DEVICE_TO_DEVICE">MISC_TIMER_DEVICE_TO_DEVICE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DEVICE_TO_HOST">MISC_TIMER_DEVICE_TO_HOST</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_EVICT">MISC_TIMER_EVICT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_EXP_KERNEL">MISC_TIMER_EXP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_FILL_KERNEL">MISC_TIMER_FILL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_FLOOR_KERNEL">MISC_TIMER_FLOOR_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_HOST_TO_DEVICE">MISC_TIMER_HOST_TO_DEVICE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_LOG_KERNEL">MISC_TIMER_LOG_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MATRIX_MATRIX_CELLWISE_OP_KERNEL">MISC_TIMER_MATRIX_MATRIX_CELLWISE_OP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MATRIX_SCALAR_OP_KERNEL">MISC_TIMER_MATRIX_SCALAR_OP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MAXPOOLING_BACKWARD_LIB">MISC_TIMER_MAXPOOLING_BACKWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MAXPOOLING_FORWARD_LIB">MISC_TIMER_MAXPOOLING_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_OBJECT_CLONE">MISC_TIMER_OBJECT_CLONE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ORMQR">MISC_TIMER_ORMQR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_QR">MISC_TIMER_QR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_QR_BUFFER">MISC_TIMER_QR_BUFFER</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RBIND_KERNEL">MISC_TIMER_RBIND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_ALL_KERNEL">MISC_TIMER_REDUCE_ALL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_COL_KERNEL">MISC_TIMER_REDUCE_COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_ROW_KERNEL">MISC_TIMER_REDUCE_ROW_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RELU_BACKWARD_KERNEL">MISC_TIMER_RELU_BACKWARD_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RELU_KERNEL">MISC_TIMER_RELU_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REUSE">MISC_TIMER_REUSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_DENSE_OP">MISC_TIMER_RIX_DENSE_OP</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_SPARSE_DENSE_OP_NNZ">MISC_TIMER_RIX_SPARSE_DENSE_OP_NNZ</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_SPARSE_DENSE_OP_ROWWISE">MISC_TIMER_RIX_SPARSE_DENSE_OP_ROWWISE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ROUND_KERNEL">MISC_TIMER_ROUND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ROW_TO_COLUMN_MAJOR">MISC_TIMER_ROW_TO_COLUMN_MAJOR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SET_ZERO">MISC_TIMER_SET_ZERO</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIGMOID_KERNEL">MISC_TIMER_SIGMOID_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIGN_KERNEL">MISC_TIMER_SIGN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIN_KERNEL">MISC_TIMER_SIN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SINH_KERNEL">MISC_TIMER_SINH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_ALLOCATE_LIB">MISC_TIMER_SPARSE_ALLOCATE_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_DGEAM_LIB">MISC_TIMER_SPARSE_DGEAM_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_IM2COL_KERNEL">MISC_TIMER_SPARSE_IM2COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_DENSE_MATRIX_LIB">MISC_TIMER_SPARSE_MATRIX_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_DENSE_VECTOR_LIB">MISC_TIMER_SPARSE_MATRIX_DENSE_VECTOR_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_SPARSE_MATRIX_LIB">MISC_TIMER_SPARSE_MATRIX_SPARSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_TO_DENSE">MISC_TIMER_SPARSE_TO_DENSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SQRT_KERNEL">MISC_TIMER_SQRT_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SYRK_LIB">MISC_TIMER_SYRK_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TAN_KERNEL">MISC_TIMER_TAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TANH_KERNEL">MISC_TIMER_TANH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TRANSPOSE_LIB">MISC_TIMER_TRANSPOSE_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TRSM">MISC_TIMER_TRSM</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_UPPER_TO_LOWER_TRIANGLE_KERNEL">MISC_TIMER_UPPER_TO_LOWER_TRIANGLE_KERNEL</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#Z:Z_input1">_input1</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#Z:Z_input2">_input2</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#Z:Z_output">_output</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ABS_KERNEL">MISC_TIMER_ABS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ACOS_KERNEL">MISC_TIMER_ACOS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ACTIVATION_FORWARD_LIB">MISC_TIMER_ACTIVATION_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE">MISC_TIMER_ALLOCATE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE_DENSE_OUTPUT">MISC_TIMER_ALLOCATE_DENSE_OUTPUT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE_SPARSE_OUTPUT">MISC_TIMER_ALLOCATE_SPARSE_OUTPUT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ASIN_KERNEL">MISC_TIMER_ASIN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ATAN_KERNEL">MISC_TIMER_ATAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_BIAS_ADD_LIB">MISC_TIMER_BIAS_ADD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CBIND_KERNEL">MISC_TIMER_CBIND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CEIL_KERNEL">MISC_TIMER_CEIL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COLUMN_TO_ROW_MAJOR">MISC_TIMER_COLUMN_TO_ROW_MAJOR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COMPARE_AND_SET_KERNEL">MISC_TIMER_COMPARE_AND_SET_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_BACKWARD_DATA_LIB">MISC_TIMER_CONVOLUTION_BACKWARD_DATA_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_BACKWARD_FILTER_LIB">MISC_TIMER_CONVOLUTION_BACKWARD_FILTER_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_FORWARD_LIB">MISC_TIMER_CONVOLUTION_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COS_KERNEL">MISC_TIMER_COS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COSH_KERNEL">MISC_TIMER_COSH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDA_FREE">MISC_TIMER_CUDA_FREE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDA_SYNC">MISC_TIMER_CUDA_SYNC</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDNN_CLEANUP">MISC_TIMER_CUDNN_CLEANUP</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDNN_INIT">MISC_TIMER_CUDNN_INIT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUMULATIVE_SCAN_KERNEL">MISC_TIMER_CUMULATIVE_SCAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUMULATIVE_SUMPROD_KERNEL">MISC_TIMER_CUMULATIVE_SUMPROD_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DAXPY_LIB">MISC_TIMER_DAXPY_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DAXPY_MV_KERNEL">MISC_TIMER_DAXPY_MV_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_DGEAM_LIB">MISC_TIMER_DENSE_DGEAM_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_DOT_LIB">MISC_TIMER_DENSE_DOT_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_IM2COL_KERNEL">MISC_TIMER_DENSE_IM2COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_MATRIX_DENSE_MATRIX_LIB">MISC_TIMER_DENSE_MATRIX_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_MATRIX_DENSE_VECTOR_LIB">MISC_TIMER_DENSE_MATRIX_DENSE_VECTOR_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_REORG_KNPQ_KERNEL">MISC_TIMER_DENSE_REORG_KNPQ_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_TO_SPARSE">MISC_TIMER_DENSE_TO_SPARSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_VECTOR_DENSE_MATRIX_LIB">MISC_TIMER_DENSE_VECTOR_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DEVICE_TO_DEVICE">MISC_TIMER_DEVICE_TO_DEVICE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DEVICE_TO_HOST">MISC_TIMER_DEVICE_TO_HOST</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_EVICT">MISC_TIMER_EVICT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_EXP_KERNEL">MISC_TIMER_EXP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_FILL_KERNEL">MISC_TIMER_FILL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_FLOOR_KERNEL">MISC_TIMER_FLOOR_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_HOST_TO_DEVICE">MISC_TIMER_HOST_TO_DEVICE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_LOG_KERNEL">MISC_TIMER_LOG_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MATRIX_MATRIX_CELLWISE_OP_KERNEL">MISC_TIMER_MATRIX_MATRIX_CELLWISE_OP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MATRIX_SCALAR_OP_KERNEL">MISC_TIMER_MATRIX_SCALAR_OP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MAXPOOLING_BACKWARD_LIB">MISC_TIMER_MAXPOOLING_BACKWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MAXPOOLING_FORWARD_LIB">MISC_TIMER_MAXPOOLING_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_OBJECT_CLONE">MISC_TIMER_OBJECT_CLONE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ORMQR">MISC_TIMER_ORMQR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_QR">MISC_TIMER_QR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_QR_BUFFER">MISC_TIMER_QR_BUFFER</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RBIND_KERNEL">MISC_TIMER_RBIND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_ALL_KERNEL">MISC_TIMER_REDUCE_ALL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_COL_KERNEL">MISC_TIMER_REDUCE_COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_ROW_KERNEL">MISC_TIMER_REDUCE_ROW_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RELU_BACKWARD_KERNEL">MISC_TIMER_RELU_BACKWARD_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RELU_KERNEL">MISC_TIMER_RELU_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REUSE">MISC_TIMER_REUSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_DENSE_OP">MISC_TIMER_RIX_DENSE_OP</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_SPARSE_DENSE_OP_NNZ">MISC_TIMER_RIX_SPARSE_DENSE_OP_NNZ</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_SPARSE_DENSE_OP_ROWWISE">MISC_TIMER_RIX_SPARSE_DENSE_OP_ROWWISE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ROUND_KERNEL">MISC_TIMER_ROUND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ROW_TO_COLUMN_MAJOR">MISC_TIMER_ROW_TO_COLUMN_MAJOR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SET_ZERO">MISC_TIMER_SET_ZERO</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIGMOID_KERNEL">MISC_TIMER_SIGMOID_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIGN_KERNEL">MISC_TIMER_SIGN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIN_KERNEL">MISC_TIMER_SIN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SINH_KERNEL">MISC_TIMER_SINH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_ALLOCATE_LIB">MISC_TIMER_SPARSE_ALLOCATE_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_DGEAM_LIB">MISC_TIMER_SPARSE_DGEAM_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_IM2COL_KERNEL">MISC_TIMER_SPARSE_IM2COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_DENSE_MATRIX_LIB">MISC_TIMER_SPARSE_MATRIX_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_DENSE_VECTOR_LIB">MISC_TIMER_SPARSE_MATRIX_DENSE_VECTOR_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_SPARSE_MATRIX_LIB">MISC_TIMER_SPARSE_MATRIX_SPARSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_TO_DENSE">MISC_TIMER_SPARSE_TO_DENSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SQRT_KERNEL">MISC_TIMER_SQRT_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SYRK_LIB">MISC_TIMER_SYRK_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TAN_KERNEL">MISC_TIMER_TAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TANH_KERNEL">MISC_TIMER_TANH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TRANSPOSE_LIB">MISC_TIMER_TRANSPOSE_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TRSM">MISC_TIMER_TRSM</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_UPPER_TO_LOWER_TRIANGLE_KERNEL">MISC_TIMER_UPPER_TO_LOWER_TRIANGLE_KERNEL</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="fields.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
@@ -207,7 +211,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.gpu.<a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">GPUInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getGPUInstructionType--">getGPUInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getGPUInstructionType--">getGPUInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
@@ -223,6 +227,13 @@
 <h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
 <code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.lineage.LineageTraceable">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.sysds.runtime.lineage.<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#getLineageItems-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItems</a>, <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#hasSingleLineage--">hasSingleLineage</a></code></li>
+</ul>
 </li>
 </ul>
 </li>
@@ -323,6 +334,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/ScalarMatrixBuiltinGPUInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/ScalarMatrixBuiltinGPUInstruction.html
index b046dc1..bf1fe7e 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/ScalarMatrixBuiltinGPUInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/ScalarMatrixBuiltinGPUInstruction.html
@@ -122,6 +122,10 @@
 <div class="description">
 <ul class="blockList">
 <li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a></dd>
+</dl>
 <hr>
 <br>
 <pre>public class <span class="typeNameLabel">ScalarMatrixBuiltinGPUInstruction</span>
@@ -165,7 +169,7 @@
 <!--   -->
 </a>
 <h3>Fields inherited from class&nbsp;org.apache.sysds.runtime.instructions.gpu.<a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">GPUInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ABS_KERNEL">MISC_TIMER_ABS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ACOS_KERNEL">MISC_TIMER_ACOS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ACTIVATION_FORWARD_LIB">MISC_TIMER_ACTIVATION_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE">MISC_TIMER_ALLOCATE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE_DENSE_OUTPUT">MISC_TIMER_ALLOCATE_DENSE_OUTPUT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE_SPARSE_OUTPUT">MISC_TIMER_ALLOCATE_SPARSE_OUTPUT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ASIN_KERNEL">MISC_TIMER_ASIN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ATAN_KERNEL">MISC_TIMER_ATAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_BIAS_ADD_LIB">MISC_TIMER_BIAS_ADD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CBIND_KERNEL">MISC_TIMER_CBIND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CEIL_KERNEL">MISC_TIMER_CEIL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COLUMN_TO_ROW_MAJOR">MISC_TIMER_COLUMN_TO_ROW_MAJOR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COMPARE_AND_SET_KERNEL">MISC_TIMER_COMPARE_AND_SET_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_BACKWARD_DATA_LIB">MISC_TIMER_CONVOLUTION_BACKWARD_DATA_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_BACKWARD_FILTER_LIB">MISC_TIMER_CONVOLUTION_BACKWARD_FILTER_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_FORWARD_LIB">MISC_TIMER_CONVOLUTION_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COS_KERNEL">MISC_TIMER_COS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COSH_KERNEL">MISC_TIMER_COSH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDA_FREE">MISC_TIMER_CUDA_FREE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDA_SYNC">MISC_TIMER_CUDA_SYNC</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDNN_CLEANUP">MISC_TIMER_CUDNN_CLEANUP</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDNN_INIT">MISC_TIMER_CUDNN_INIT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUMULATIVE_SCAN_KERNEL">MISC_TIMER_CUMULATIVE_SCAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUMULATIVE_SUMPROD_KERNEL">MISC_TIMER_CUMULATIVE_SUMPROD_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DAXPY_LIB">MISC_TIMER_DAXPY_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DAXPY_MV_KERNEL">MISC_TIMER_DAXPY_MV_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_DGEAM_LIB">MISC_TIMER_DENSE_DGEAM_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_DOT_LIB">MISC_TIMER_DENSE_DOT_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_IM2COL_KERNEL">MISC_TIMER_DENSE_IM2COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_MATRIX_DENSE_MATRIX_LIB">MISC_TIMER_DENSE_MATRIX_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_MATRIX_DENSE_VECTOR_LIB">MISC_TIMER_DENSE_MATRIX_DENSE_VECTOR_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_REORG_KNPQ_KERNEL">MISC_TIMER_DENSE_REORG_KNPQ_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_TO_SPARSE">MISC_TIMER_DENSE_TO_SPARSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_VECTOR_DENSE_MATRIX_LIB">MISC_TIMER_DENSE_VECTOR_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DEVICE_TO_DEVICE">MISC_TIMER_DEVICE_TO_DEVICE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DEVICE_TO_HOST">MISC_TIMER_DEVICE_TO_HOST</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_EVICT">MISC_TIMER_EVICT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_EXP_KERNEL">MISC_TIMER_EXP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_FILL_KERNEL">MISC_TIMER_FILL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_FLOOR_KERNEL">MISC_TIMER_FLOOR_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_HOST_TO_DEVICE">MISC_TIMER_HOST_TO_DEVICE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_LOG_KERNEL">MISC_TIMER_LOG_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MATRIX_MATRIX_CELLWISE_OP_KERNEL">MISC_TIMER_MATRIX_MATRIX_CELLWISE_OP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MATRIX_SCALAR_OP_KERNEL">MISC_TIMER_MATRIX_SCALAR_OP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MAXPOOLING_BACKWARD_LIB">MISC_TIMER_MAXPOOLING_BACKWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MAXPOOLING_FORWARD_LIB">MISC_TIMER_MAXPOOLING_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_OBJECT_CLONE">MISC_TIMER_OBJECT_CLONE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ORMQR">MISC_TIMER_ORMQR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_QR">MISC_TIMER_QR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_QR_BUFFER">MISC_TIMER_QR_BUFFER</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RBIND_KERNEL">MISC_TIMER_RBIND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_ALL_KERNEL">MISC_TIMER_REDUCE_ALL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_COL_KERNEL">MISC_TIMER_REDUCE_COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_ROW_KERNEL">MISC_TIMER_REDUCE_ROW_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RELU_BACKWARD_KERNEL">MISC_TIMER_RELU_BACKWARD_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RELU_KERNEL">MISC_TIMER_RELU_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REUSE">MISC_TIMER_REUSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_DENSE_OP">MISC_TIMER_RIX_DENSE_OP</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_SPARSE_DENSE_OP_NNZ">MISC_TIMER_RIX_SPARSE_DENSE_OP_NNZ</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_SPARSE_DENSE_OP_ROWWISE">MISC_TIMER_RIX_SPARSE_DENSE_OP_ROWWISE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ROUND_KERNEL">MISC_TIMER_ROUND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ROW_TO_COLUMN_MAJOR">MISC_TIMER_ROW_TO_COLUMN_MAJOR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SET_ZERO">MISC_TIMER_SET_ZERO</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIGMOID_KERNEL">MISC_TIMER_SIGMOID_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIGN_KERNEL">MISC_TIMER_SIGN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIN_KERNEL">MISC_TIMER_SIN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SINH_KERNEL">MISC_TIMER_SINH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_ALLOCATE_LIB">MISC_TIMER_SPARSE_ALLOCATE_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_DGEAM_LIB">MISC_TIMER_SPARSE_DGEAM_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_IM2COL_KERNEL">MISC_TIMER_SPARSE_IM2COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_DENSE_MATRIX_LIB">MISC_TIMER_SPARSE_MATRIX_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_DENSE_VECTOR_LIB">MISC_TIMER_SPARSE_MATRIX_DENSE_VECTOR_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_SPARSE_MATRIX_LIB">MISC_TIMER_SPARSE_MATRIX_SPARSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_TO_DENSE">MISC_TIMER_SPARSE_TO_DENSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SQRT_KERNEL">MISC_TIMER_SQRT_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SYRK_LIB">MISC_TIMER_SYRK_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TAN_KERNEL">MISC_TIMER_TAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TANH_KERNEL">MISC_TIMER_TANH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TRANSPOSE_LIB">MISC_TIMER_TRANSPOSE_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TRSM">MISC_TIMER_TRSM</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_UPPER_TO_LOWER_TRIANGLE_KERNEL">MISC_TIMER_UPPER_TO_LOWER_TRIANGLE_KERNEL</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#Z:Z_input1">_input1</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#Z:Z_input2">_input2</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#Z:Z_output">_output</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ABS_KERNEL">MISC_TIMER_ABS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ACOS_KERNEL">MISC_TIMER_ACOS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ACTIVATION_FORWARD_LIB">MISC_TIMER_ACTIVATION_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE">MISC_TIMER_ALLOCATE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE_DENSE_OUTPUT">MISC_TIMER_ALLOCATE_DENSE_OUTPUT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE_SPARSE_OUTPUT">MISC_TIMER_ALLOCATE_SPARSE_OUTPUT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ASIN_KERNEL">MISC_TIMER_ASIN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ATAN_KERNEL">MISC_TIMER_ATAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_BIAS_ADD_LIB">MISC_TIMER_BIAS_ADD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CBIND_KERNEL">MISC_TIMER_CBIND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CEIL_KERNEL">MISC_TIMER_CEIL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COLUMN_TO_ROW_MAJOR">MISC_TIMER_COLUMN_TO_ROW_MAJOR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COMPARE_AND_SET_KERNEL">MISC_TIMER_COMPARE_AND_SET_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_BACKWARD_DATA_LIB">MISC_TIMER_CONVOLUTION_BACKWARD_DATA_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_BACKWARD_FILTER_LIB">MISC_TIMER_CONVOLUTION_BACKWARD_FILTER_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_FORWARD_LIB">MISC_TIMER_CONVOLUTION_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COS_KERNEL">MISC_TIMER_COS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COSH_KERNEL">MISC_TIMER_COSH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDA_FREE">MISC_TIMER_CUDA_FREE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDA_SYNC">MISC_TIMER_CUDA_SYNC</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDNN_CLEANUP">MISC_TIMER_CUDNN_CLEANUP</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDNN_INIT">MISC_TIMER_CUDNN_INIT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUMULATIVE_SCAN_KERNEL">MISC_TIMER_CUMULATIVE_SCAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUMULATIVE_SUMPROD_KERNEL">MISC_TIMER_CUMULATIVE_SUMPROD_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DAXPY_LIB">MISC_TIMER_DAXPY_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DAXPY_MV_KERNEL">MISC_TIMER_DAXPY_MV_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_DGEAM_LIB">MISC_TIMER_DENSE_DGEAM_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_DOT_LIB">MISC_TIMER_DENSE_DOT_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_IM2COL_KERNEL">MISC_TIMER_DENSE_IM2COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_MATRIX_DENSE_MATRIX_LIB">MISC_TIMER_DENSE_MATRIX_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_MATRIX_DENSE_VECTOR_LIB">MISC_TIMER_DENSE_MATRIX_DENSE_VECTOR_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_REORG_KNPQ_KERNEL">MISC_TIMER_DENSE_REORG_KNPQ_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_TO_SPARSE">MISC_TIMER_DENSE_TO_SPARSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_VECTOR_DENSE_MATRIX_LIB">MISC_TIMER_DENSE_VECTOR_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DEVICE_TO_DEVICE">MISC_TIMER_DEVICE_TO_DEVICE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DEVICE_TO_HOST">MISC_TIMER_DEVICE_TO_HOST</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_EVICT">MISC_TIMER_EVICT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_EXP_KERNEL">MISC_TIMER_EXP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_FILL_KERNEL">MISC_TIMER_FILL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_FLOOR_KERNEL">MISC_TIMER_FLOOR_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_HOST_TO_DEVICE">MISC_TIMER_HOST_TO_DEVICE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_LOG_KERNEL">MISC_TIMER_LOG_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MATRIX_MATRIX_CELLWISE_OP_KERNEL">MISC_TIMER_MATRIX_MATRIX_CELLWISE_OP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MATRIX_SCALAR_OP_KERNEL">MISC_TIMER_MATRIX_SCALAR_OP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MAXPOOLING_BACKWARD_LIB">MISC_TIMER_MAXPOOLING_BACKWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MAXPOOLING_FORWARD_LIB">MISC_TIMER_MAXPOOLING_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_OBJECT_CLONE">MISC_TIMER_OBJECT_CLONE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ORMQR">MISC_TIMER_ORMQR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_QR">MISC_TIMER_QR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_QR_BUFFER">MISC_TIMER_QR_BUFFER</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RBIND_KERNEL">MISC_TIMER_RBIND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_ALL_KERNEL">MISC_TIMER_REDUCE_ALL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_COL_KERNEL">MISC_TIMER_REDUCE_COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_ROW_KERNEL">MISC_TIMER_REDUCE_ROW_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RELU_BACKWARD_KERNEL">MISC_TIMER_RELU_BACKWARD_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RELU_KERNEL">MISC_TIMER_RELU_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REUSE">MISC_TIMER_REUSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_DENSE_OP">MISC_TIMER_RIX_DENSE_OP</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_SPARSE_DENSE_OP_NNZ">MISC_TIMER_RIX_SPARSE_DENSE_OP_NNZ</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_SPARSE_DENSE_OP_ROWWISE">MISC_TIMER_RIX_SPARSE_DENSE_OP_ROWWISE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ROUND_KERNEL">MISC_TIMER_ROUND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ROW_TO_COLUMN_MAJOR">MISC_TIMER_ROW_TO_COLUMN_MAJOR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SET_ZERO">MISC_TIMER_SET_ZERO</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIGMOID_KERNEL">MISC_TIMER_SIGMOID_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIGN_KERNEL">MISC_TIMER_SIGN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIN_KERNEL">MISC_TIMER_SIN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SINH_KERNEL">MISC_TIMER_SINH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_ALLOCATE_LIB">MISC_TIMER_SPARSE_ALLOCATE_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_DGEAM_LIB">MISC_TIMER_SPARSE_DGEAM_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_IM2COL_KERNEL">MISC_TIMER_SPARSE_IM2COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_DENSE_MATRIX_LIB">MISC_TIMER_SPARSE_MATRIX_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_DENSE_VECTOR_LIB">MISC_TIMER_SPARSE_MATRIX_DENSE_VECTOR_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_SPARSE_MATRIX_LIB">MISC_TIMER_SPARSE_MATRIX_SPARSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_TO_DENSE">MISC_TIMER_SPARSE_TO_DENSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SQRT_KERNEL">MISC_TIMER_SQRT_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SYRK_LIB">MISC_TIMER_SYRK_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TAN_KERNEL">MISC_TIMER_TAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TANH_KERNEL">MISC_TIMER_TANH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TRANSPOSE_LIB">MISC_TIMER_TRANSPOSE_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TRSM">MISC_TIMER_TRSM</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_UPPER_TO_LOWER_TRIANGLE_KERNEL">MISC_TIMER_UPPER_TO_LOWER_TRIANGLE_KERNEL</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="fields.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
@@ -207,7 +211,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.gpu.<a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">GPUInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getGPUInstructionType--">getGPUInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getGPUInstructionType--">getGPUInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
@@ -223,6 +227,13 @@
 <h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
 <code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.lineage.LineageTraceable">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.sysds.runtime.lineage.<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#getLineageItems-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItems</a>, <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#hasSingleLineage--">hasSingleLineage</a></code></li>
+</ul>
 </li>
 </ul>
 </li>
@@ -323,6 +334,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/ScalarMatrixRelationalBinaryGPUInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/ScalarMatrixRelationalBinaryGPUInstruction.html
index 7f2ed95..5855cda 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/ScalarMatrixRelationalBinaryGPUInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/ScalarMatrixRelationalBinaryGPUInstruction.html
@@ -50,7 +50,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/ScalarMatrixBuiltinGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li>Next&nbsp;Class</li>
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/sysds/runtime/instructions/gpu/ScalarMatrixRelationalBinaryGPUInstruction.html" target="_top">Frames</a></li>
@@ -122,6 +122,10 @@
 <div class="description">
 <ul class="blockList">
 <li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a></dd>
+</dl>
 <hr>
 <br>
 <pre>public class <span class="typeNameLabel">ScalarMatrixRelationalBinaryGPUInstruction</span>
@@ -165,7 +169,7 @@
 <!--   -->
 </a>
 <h3>Fields inherited from class&nbsp;org.apache.sysds.runtime.instructions.gpu.<a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">GPUInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ABS_KERNEL">MISC_TIMER_ABS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ACOS_KERNEL">MISC_TIMER_ACOS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ACTIVATION_FORWARD_LIB">MISC_TIMER_ACTIVATION_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE">MISC_TIMER_ALLOCATE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE_DENSE_OUTPUT">MISC_TIMER_ALLOCATE_DENSE_OUTPUT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE_SPARSE_OUTPUT">MISC_TIMER_ALLOCATE_SPARSE_OUTPUT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ASIN_KERNEL">MISC_TIMER_ASIN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ATAN_KERNEL">MISC_TIMER_ATAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_BIAS_ADD_LIB">MISC_TIMER_BIAS_ADD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CBIND_KERNEL">MISC_TIMER_CBIND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CEIL_KERNEL">MISC_TIMER_CEIL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COLUMN_TO_ROW_MAJOR">MISC_TIMER_COLUMN_TO_ROW_MAJOR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COMPARE_AND_SET_KERNEL">MISC_TIMER_COMPARE_AND_SET_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_BACKWARD_DATA_LIB">MISC_TIMER_CONVOLUTION_BACKWARD_DATA_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_BACKWARD_FILTER_LIB">MISC_TIMER_CONVOLUTION_BACKWARD_FILTER_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_FORWARD_LIB">MISC_TIMER_CONVOLUTION_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COS_KERNEL">MISC_TIMER_COS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COSH_KERNEL">MISC_TIMER_COSH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDA_FREE">MISC_TIMER_CUDA_FREE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDA_SYNC">MISC_TIMER_CUDA_SYNC</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDNN_CLEANUP">MISC_TIMER_CUDNN_CLEANUP</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDNN_INIT">MISC_TIMER_CUDNN_INIT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUMULATIVE_SCAN_KERNEL">MISC_TIMER_CUMULATIVE_SCAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUMULATIVE_SUMPROD_KERNEL">MISC_TIMER_CUMULATIVE_SUMPROD_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DAXPY_LIB">MISC_TIMER_DAXPY_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DAXPY_MV_KERNEL">MISC_TIMER_DAXPY_MV_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_DGEAM_LIB">MISC_TIMER_DENSE_DGEAM_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_DOT_LIB">MISC_TIMER_DENSE_DOT_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_IM2COL_KERNEL">MISC_TIMER_DENSE_IM2COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_MATRIX_DENSE_MATRIX_LIB">MISC_TIMER_DENSE_MATRIX_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_MATRIX_DENSE_VECTOR_LIB">MISC_TIMER_DENSE_MATRIX_DENSE_VECTOR_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_REORG_KNPQ_KERNEL">MISC_TIMER_DENSE_REORG_KNPQ_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_TO_SPARSE">MISC_TIMER_DENSE_TO_SPARSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_VECTOR_DENSE_MATRIX_LIB">MISC_TIMER_DENSE_VECTOR_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DEVICE_TO_DEVICE">MISC_TIMER_DEVICE_TO_DEVICE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DEVICE_TO_HOST">MISC_TIMER_DEVICE_TO_HOST</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_EVICT">MISC_TIMER_EVICT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_EXP_KERNEL">MISC_TIMER_EXP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_FILL_KERNEL">MISC_TIMER_FILL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_FLOOR_KERNEL">MISC_TIMER_FLOOR_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_HOST_TO_DEVICE">MISC_TIMER_HOST_TO_DEVICE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_LOG_KERNEL">MISC_TIMER_LOG_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MATRIX_MATRIX_CELLWISE_OP_KERNEL">MISC_TIMER_MATRIX_MATRIX_CELLWISE_OP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MATRIX_SCALAR_OP_KERNEL">MISC_TIMER_MATRIX_SCALAR_OP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MAXPOOLING_BACKWARD_LIB">MISC_TIMER_MAXPOOLING_BACKWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MAXPOOLING_FORWARD_LIB">MISC_TIMER_MAXPOOLING_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_OBJECT_CLONE">MISC_TIMER_OBJECT_CLONE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ORMQR">MISC_TIMER_ORMQR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_QR">MISC_TIMER_QR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_QR_BUFFER">MISC_TIMER_QR_BUFFER</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RBIND_KERNEL">MISC_TIMER_RBIND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_ALL_KERNEL">MISC_TIMER_REDUCE_ALL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_COL_KERNEL">MISC_TIMER_REDUCE_COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_ROW_KERNEL">MISC_TIMER_REDUCE_ROW_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RELU_BACKWARD_KERNEL">MISC_TIMER_RELU_BACKWARD_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RELU_KERNEL">MISC_TIMER_RELU_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REUSE">MISC_TIMER_REUSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_DENSE_OP">MISC_TIMER_RIX_DENSE_OP</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_SPARSE_DENSE_OP_NNZ">MISC_TIMER_RIX_SPARSE_DENSE_OP_NNZ</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_SPARSE_DENSE_OP_ROWWISE">MISC_TIMER_RIX_SPARSE_DENSE_OP_ROWWISE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ROUND_KERNEL">MISC_TIMER_ROUND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ROW_TO_COLUMN_MAJOR">MISC_TIMER_ROW_TO_COLUMN_MAJOR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SET_ZERO">MISC_TIMER_SET_ZERO</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIGMOID_KERNEL">MISC_TIMER_SIGMOID_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIGN_KERNEL">MISC_TIMER_SIGN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIN_KERNEL">MISC_TIMER_SIN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SINH_KERNEL">MISC_TIMER_SINH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_ALLOCATE_LIB">MISC_TIMER_SPARSE_ALLOCATE_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_DGEAM_LIB">MISC_TIMER_SPARSE_DGEAM_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_IM2COL_KERNEL">MISC_TIMER_SPARSE_IM2COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_DENSE_MATRIX_LIB">MISC_TIMER_SPARSE_MATRIX_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_DENSE_VECTOR_LIB">MISC_TIMER_SPARSE_MATRIX_DENSE_VECTOR_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_SPARSE_MATRIX_LIB">MISC_TIMER_SPARSE_MATRIX_SPARSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_TO_DENSE">MISC_TIMER_SPARSE_TO_DENSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SQRT_KERNEL">MISC_TIMER_SQRT_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SYRK_LIB">MISC_TIMER_SYRK_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TAN_KERNEL">MISC_TIMER_TAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TANH_KERNEL">MISC_TIMER_TANH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TRANSPOSE_LIB">MISC_TIMER_TRANSPOSE_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TRSM">MISC_TIMER_TRSM</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_UPPER_TO_LOWER_TRIANGLE_KERNEL">MISC_TIMER_UPPER_TO_LOWER_TRIANGLE_KERNEL</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#Z:Z_input1">_input1</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#Z:Z_input2">_input2</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#Z:Z_output">_output</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ABS_KERNEL">MISC_TIMER_ABS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ACOS_KERNEL">MISC_TIMER_ACOS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ACTIVATION_FORWARD_LIB">MISC_TIMER_ACTIVATION_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE">MISC_TIMER_ALLOCATE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE_DENSE_OUTPUT">MISC_TIMER_ALLOCATE_DENSE_OUTPUT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE_SPARSE_OUTPUT">MISC_TIMER_ALLOCATE_SPARSE_OUTPUT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ASIN_KERNEL">MISC_TIMER_ASIN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ATAN_KERNEL">MISC_TIMER_ATAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_BIAS_ADD_LIB">MISC_TIMER_BIAS_ADD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CBIND_KERNEL">MISC_TIMER_CBIND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CEIL_KERNEL">MISC_TIMER_CEIL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COLUMN_TO_ROW_MAJOR">MISC_TIMER_COLUMN_TO_ROW_MAJOR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COMPARE_AND_SET_KERNEL">MISC_TIMER_COMPARE_AND_SET_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_BACKWARD_DATA_LIB">MISC_TIMER_CONVOLUTION_BACKWARD_DATA_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_BACKWARD_FILTER_LIB">MISC_TIMER_CONVOLUTION_BACKWARD_FILTER_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_FORWARD_LIB">MISC_TIMER_CONVOLUTION_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COS_KERNEL">MISC_TIMER_COS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COSH_KERNEL">MISC_TIMER_COSH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDA_FREE">MISC_TIMER_CUDA_FREE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDA_SYNC">MISC_TIMER_CUDA_SYNC</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDNN_CLEANUP">MISC_TIMER_CUDNN_CLEANUP</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDNN_INIT">MISC_TIMER_CUDNN_INIT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUMULATIVE_SCAN_KERNEL">MISC_TIMER_CUMULATIVE_SCAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUMULATIVE_SUMPROD_KERNEL">MISC_TIMER_CUMULATIVE_SUMPROD_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DAXPY_LIB">MISC_TIMER_DAXPY_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DAXPY_MV_KERNEL">MISC_TIMER_DAXPY_MV_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_DGEAM_LIB">MISC_TIMER_DENSE_DGEAM_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_DOT_LIB">MISC_TIMER_DENSE_DOT_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_IM2COL_KERNEL">MISC_TIMER_DENSE_IM2COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_MATRIX_DENSE_MATRIX_LIB">MISC_TIMER_DENSE_MATRIX_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_MATRIX_DENSE_VECTOR_LIB">MISC_TIMER_DENSE_MATRIX_DENSE_VECTOR_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_REORG_KNPQ_KERNEL">MISC_TIMER_DENSE_REORG_KNPQ_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_TO_SPARSE">MISC_TIMER_DENSE_TO_SPARSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_VECTOR_DENSE_MATRIX_LIB">MISC_TIMER_DENSE_VECTOR_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DEVICE_TO_DEVICE">MISC_TIMER_DEVICE_TO_DEVICE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DEVICE_TO_HOST">MISC_TIMER_DEVICE_TO_HOST</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_EVICT">MISC_TIMER_EVICT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_EXP_KERNEL">MISC_TIMER_EXP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_FILL_KERNEL">MISC_TIMER_FILL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_FLOOR_KERNEL">MISC_TIMER_FLOOR_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_HOST_TO_DEVICE">MISC_TIMER_HOST_TO_DEVICE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_LOG_KERNEL">MISC_TIMER_LOG_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MATRIX_MATRIX_CELLWISE_OP_KERNEL">MISC_TIMER_MATRIX_MATRIX_CELLWISE_OP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MATRIX_SCALAR_OP_KERNEL">MISC_TIMER_MATRIX_SCALAR_OP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MAXPOOLING_BACKWARD_LIB">MISC_TIMER_MAXPOOLING_BACKWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MAXPOOLING_FORWARD_LIB">MISC_TIMER_MAXPOOLING_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_OBJECT_CLONE">MISC_TIMER_OBJECT_CLONE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ORMQR">MISC_TIMER_ORMQR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_QR">MISC_TIMER_QR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_QR_BUFFER">MISC_TIMER_QR_BUFFER</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RBIND_KERNEL">MISC_TIMER_RBIND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_ALL_KERNEL">MISC_TIMER_REDUCE_ALL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_COL_KERNEL">MISC_TIMER_REDUCE_COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_ROW_KERNEL">MISC_TIMER_REDUCE_ROW_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RELU_BACKWARD_KERNEL">MISC_TIMER_RELU_BACKWARD_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RELU_KERNEL">MISC_TIMER_RELU_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REUSE">MISC_TIMER_REUSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_DENSE_OP">MISC_TIMER_RIX_DENSE_OP</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_SPARSE_DENSE_OP_NNZ">MISC_TIMER_RIX_SPARSE_DENSE_OP_NNZ</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_SPARSE_DENSE_OP_ROWWISE">MISC_TIMER_RIX_SPARSE_DENSE_OP_ROWWISE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ROUND_KERNEL">MISC_TIMER_ROUND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ROW_TO_COLUMN_MAJOR">MISC_TIMER_ROW_TO_COLUMN_MAJOR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SET_ZERO">MISC_TIMER_SET_ZERO</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIGMOID_KERNEL">MISC_TIMER_SIGMOID_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIGN_KERNEL">MISC_TIMER_SIGN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIN_KERNEL">MISC_TIMER_SIN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SINH_KERNEL">MISC_TIMER_SINH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_ALLOCATE_LIB">MISC_TIMER_SPARSE_ALLOCATE_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_DGEAM_LIB">MISC_TIMER_SPARSE_DGEAM_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_IM2COL_KERNEL">MISC_TIMER_SPARSE_IM2COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_DENSE_MATRIX_LIB">MISC_TIMER_SPARSE_MATRIX_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_DENSE_VECTOR_LIB">MISC_TIMER_SPARSE_MATRIX_DENSE_VECTOR_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_SPARSE_MATRIX_LIB">MISC_TIMER_SPARSE_MATRIX_SPARSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_TO_DENSE">MISC_TIMER_SPARSE_TO_DENSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SQRT_KERNEL">MISC_TIMER_SQRT_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SYRK_LIB">MISC_TIMER_SYRK_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TAN_KERNEL">MISC_TIMER_TAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TANH_KERNEL">MISC_TIMER_TANH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TRANSPOSE_LIB">MISC_TIMER_TRANSPOSE_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TRSM">MISC_TIMER_TRSM</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_UPPER_TO_LOWER_TRIANGLE_KERNEL">MISC_TIMER_UPPER_TO_LOWER_TRIANGLE_KERNEL</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="fields.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
@@ -207,7 +211,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.gpu.<a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">GPUInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getGPUInstructionType--">getGPUInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getGPUInstructionType--">getGPUInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
@@ -223,6 +227,13 @@
 <h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
 <code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.lineage.LineageTraceable">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.sysds.runtime.lineage.<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#getLineageItems-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItems</a>, <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#hasSingleLineage--">hasSingleLineage</a></code></li>
+</ul>
 </li>
 </ul>
 </li>
@@ -283,7 +294,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/ScalarMatrixBuiltinGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li>Next&nbsp;Class</li>
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/sysds/runtime/instructions/gpu/ScalarMatrixRelationalBinaryGPUInstruction.html" target="_top">Frames</a></li>
@@ -323,6 +334,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/DenseRowIterator.html b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.DoublePrecision.html
similarity index 60%
copy from docs/api/java/org/apache/sysds/runtime/compress/colgroup/DenseRowIterator.html
copy to docs/api/java/org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.DoublePrecision.html
index 858b58c..de33159 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/DenseRowIterator.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.DoublePrecision.html
@@ -4,7 +4,7 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DenseRowIterator (SystemDS 2.1.0-SNAPSHOT API)</title>
+<title>SpoofCUDAInstruction.DoublePrecision (SystemDS 2.1.0-SNAPSHOT API)</title>
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,13 +12,13 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DenseRowIterator (SystemDS 2.1.0-SNAPSHOT API)";
+            parent.document.title="SpoofCUDAInstruction.DoublePrecision (SystemDS 2.1.0-SNAPSHOT API)";
         }
     }
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10};
+var methods = {"i0":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -40,7 +40,7 @@
 <li><a href="../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="package-summary.html">Package</a></li>
 <li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/DenseRowIterator.html">Use</a></li>
+<li><a href="class-use/SpoofCUDAInstruction.DoublePrecision.html">Use</a></li>
 <li><a href="package-tree.html">Tree</a></li>
 <li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
 <li><a href="../../../../../../index-all.html">Index</a></li>
@@ -49,12 +49,12 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.SinglePrecision.html" title="class in org.apache.sysds.runtime.instructions.gpu"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/DenseRowIterator.html" target="_top">Frames</a></li>
-<li><a href="DenseRowIterator.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.DoublePrecision.html" target="_top">Frames</a></li>
+<li><a href="SpoofCUDAInstruction.DoublePrecision.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
 <li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -92,15 +92,20 @@
 <!-- ========= END OF TOP NAVBAR ========= -->
 <!-- ======== START OF CLASS DATA ======== -->
 <div class="header">
-<div class="subTitle">org.apache.sysds.runtime.compress.colgroup</div>
-<h2 title="Class DenseRowIterator" class="title">Class DenseRowIterator</h2>
+<div class="subTitle">org.apache.sysds.runtime.instructions.gpu</div>
+<h2 title="Class SpoofCUDAInstruction.DoublePrecision" class="title">Class SpoofCUDAInstruction.DoublePrecision</h2>
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
 <li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
-<li>org.apache.sysds.runtime.compress.colgroup.DenseRowIterator</li>
+<li><a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.PrecisionProxy.html" title="class in org.apache.sysds.runtime.codegen">org.apache.sysds.runtime.codegen.SpoofCUDAOperator.PrecisionProxy</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.sysds.runtime.instructions.gpu.SpoofCUDAInstruction.DoublePrecision</li>
+</ul>
+</li>
 </ul>
 </li>
 </ul>
@@ -108,13 +113,13 @@
 <ul class="blockList">
 <li class="blockList">
 <dl>
-<dt>All Implemented Interfaces:</dt>
-<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;double[]&gt;</dd>
+<dt>Enclosing class:</dt>
+<dd><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">SpoofCUDAInstruction</a></dd>
 </dl>
 <hr>
 <br>
-<pre>public class <span class="typeNameLabel">DenseRowIterator</span>
-extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<pre>public static class <span class="typeNameLabel">SpoofCUDAInstruction.DoublePrecision</span>
+extends <a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.PrecisionProxy.html" title="class in org.apache.sysds.runtime.codegen">SpoofCUDAOperator.PrecisionProxy</a></pre>
 </li>
 </ul>
 </div>
@@ -133,10 +138,7 @@
 <th class="colOne" scope="col">Constructor and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/DenseRowIterator.html#DenseRowIterator-int-int-java.util.List-int-">DenseRowIterator</a></span>(int&nbsp;rl,
-                int&nbsp;ru,
-                <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>&gt;&nbsp;colGroups,
-                int&nbsp;clen)</code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.DoublePrecision.html#DoublePrecision--">DoublePrecision</a></span>()</code>&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -154,12 +156,15 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
-<td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/DenseRowIterator.html#hasNext--">hasNext</a></span>()</code>&nbsp;</td>
-</tr>
-<tr id="i1" class="rowColor">
-<td class="colFirst"><code>double[]</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/DenseRowIterator.html#next--">next</a></span>()</code>&nbsp;</td>
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.DoublePrecision.html#exec-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.runtime.codegen.SpoofCUDAOperator-int-long:A-long:A-long:A-java.util.ArrayList-long-">exec</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
+    <a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html" title="interface in org.apache.sysds.runtime.codegen">SpoofCUDAOperator</a>&nbsp;op,
+    int&nbsp;opID,
+    long[]&nbsp;in,
+    long[]&nbsp;sides,
+    long[]&nbsp;out,
+    <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&gt;&nbsp;scalarObjects,
+    long&nbsp;grix)</code>&nbsp;</td>
 </tr>
 </table>
 <ul class="blockList">
@@ -169,13 +174,6 @@
 <h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
 <code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.java.util.Iterator">
-<!--   -->
-</a>
-<h3>Methods inherited from interface&nbsp;java.util.<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a></h3>
-<code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true#forEachRemaining-java.util.function.Consumer-" title="class or interface in java.util">forEachRemaining</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true#remove--" title="class or interface in java.util">remove</a></code></li>
-</ul>
 </li>
 </ul>
 </li>
@@ -190,16 +188,13 @@
 <!--   -->
 </a>
 <h3>Constructor Detail</h3>
-<a name="DenseRowIterator-int-int-java.util.List-int-">
+<a name="DoublePrecision--">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>DenseRowIterator</h4>
-<pre>public&nbsp;DenseRowIterator(int&nbsp;rl,
-                        int&nbsp;ru,
-                        <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>&gt;&nbsp;colGroups,
-                        int&nbsp;clen)</pre>
+<h4>DoublePrecision</h4>
+<pre>public&nbsp;DoublePrecision()</pre>
 </li>
 </ul>
 </li>
@@ -210,25 +205,23 @@
 <!--   -->
 </a>
 <h3>Method Detail</h3>
-<a name="next--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>next</h4>
-<pre>public&nbsp;double[]&nbsp;next()</pre>
-</li>
-</ul>
-<a name="hasNext--">
+<a name="exec-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.runtime.codegen.SpoofCUDAOperator-int-long:A-long:A-long:A-java.util.ArrayList-long-">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>hasNext</h4>
-<pre>public&nbsp;boolean&nbsp;hasNext()</pre>
+<h4>exec</h4>
+<pre>public&nbsp;int&nbsp;exec(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
+                <a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html" title="interface in org.apache.sysds.runtime.codegen">SpoofCUDAOperator</a>&nbsp;op,
+                int&nbsp;opID,
+                long[]&nbsp;in,
+                long[]&nbsp;sides,
+                long[]&nbsp;out,
+                <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&gt;&nbsp;scalarObjects,
+                long&nbsp;grix)</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true#hasNext--" title="class or interface in java.util">hasNext</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;T&gt;</code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.PrecisionProxy.html#exec-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.runtime.codegen.SpoofCUDAOperator-int-long:A-long:A-long:A-java.util.ArrayList-long-">exec</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.PrecisionProxy.html" title="class in org.apache.sysds.runtime.codegen">SpoofCUDAOperator.PrecisionProxy</a></code></dd>
 </dl>
 </li>
 </ul>
@@ -251,7 +244,7 @@
 <li><a href="../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="package-summary.html">Package</a></li>
 <li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/DenseRowIterator.html">Use</a></li>
+<li><a href="class-use/SpoofCUDAInstruction.DoublePrecision.html">Use</a></li>
 <li><a href="package-tree.html">Tree</a></li>
 <li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
 <li><a href="../../../../../../index-all.html">Index</a></li>
@@ -260,12 +253,12 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.SinglePrecision.html" title="class in org.apache.sysds.runtime.instructions.gpu"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/DenseRowIterator.html" target="_top">Frames</a></li>
-<li><a href="DenseRowIterator.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.DoublePrecision.html" target="_top">Frames</a></li>
+<li><a href="SpoofCUDAInstruction.DoublePrecision.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
 <li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -301,6 +294,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/DenseRowIterator.html b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.SinglePrecision.html
similarity index 62%
copy from docs/api/java/org/apache/sysds/runtime/compress/colgroup/DenseRowIterator.html
copy to docs/api/java/org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.SinglePrecision.html
index 858b58c..c72d2f4 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/DenseRowIterator.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.SinglePrecision.html
@@ -4,7 +4,7 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DenseRowIterator (SystemDS 2.1.0-SNAPSHOT API)</title>
+<title>SpoofCUDAInstruction.SinglePrecision (SystemDS 2.1.0-SNAPSHOT API)</title>
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,13 +12,13 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DenseRowIterator (SystemDS 2.1.0-SNAPSHOT API)";
+            parent.document.title="SpoofCUDAInstruction.SinglePrecision (SystemDS 2.1.0-SNAPSHOT API)";
         }
     }
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10};
+var methods = {"i0":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -40,7 +40,7 @@
 <li><a href="../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="package-summary.html">Package</a></li>
 <li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/DenseRowIterator.html">Use</a></li>
+<li><a href="class-use/SpoofCUDAInstruction.SinglePrecision.html">Use</a></li>
 <li><a href="package-tree.html">Tree</a></li>
 <li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
 <li><a href="../../../../../../index-all.html">Index</a></li>
@@ -49,12 +49,12 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.DoublePrecision.html" title="class in org.apache.sysds.runtime.instructions.gpu"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/DenseRowIterator.html" target="_top">Frames</a></li>
-<li><a href="DenseRowIterator.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.SinglePrecision.html" target="_top">Frames</a></li>
+<li><a href="SpoofCUDAInstruction.SinglePrecision.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
 <li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -92,15 +92,20 @@
 <!-- ========= END OF TOP NAVBAR ========= -->
 <!-- ======== START OF CLASS DATA ======== -->
 <div class="header">
-<div class="subTitle">org.apache.sysds.runtime.compress.colgroup</div>
-<h2 title="Class DenseRowIterator" class="title">Class DenseRowIterator</h2>
+<div class="subTitle">org.apache.sysds.runtime.instructions.gpu</div>
+<h2 title="Class SpoofCUDAInstruction.SinglePrecision" class="title">Class SpoofCUDAInstruction.SinglePrecision</h2>
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
 <li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
-<li>org.apache.sysds.runtime.compress.colgroup.DenseRowIterator</li>
+<li><a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.PrecisionProxy.html" title="class in org.apache.sysds.runtime.codegen">org.apache.sysds.runtime.codegen.SpoofCUDAOperator.PrecisionProxy</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.sysds.runtime.instructions.gpu.SpoofCUDAInstruction.SinglePrecision</li>
+</ul>
+</li>
 </ul>
 </li>
 </ul>
@@ -108,13 +113,13 @@
 <ul class="blockList">
 <li class="blockList">
 <dl>
-<dt>All Implemented Interfaces:</dt>
-<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;double[]&gt;</dd>
+<dt>Enclosing class:</dt>
+<dd><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">SpoofCUDAInstruction</a></dd>
 </dl>
 <hr>
 <br>
-<pre>public class <span class="typeNameLabel">DenseRowIterator</span>
-extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<pre>public static class <span class="typeNameLabel">SpoofCUDAInstruction.SinglePrecision</span>
+extends <a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.PrecisionProxy.html" title="class in org.apache.sysds.runtime.codegen">SpoofCUDAOperator.PrecisionProxy</a></pre>
 </li>
 </ul>
 </div>
@@ -133,10 +138,7 @@
 <th class="colOne" scope="col">Constructor and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/DenseRowIterator.html#DenseRowIterator-int-int-java.util.List-int-">DenseRowIterator</a></span>(int&nbsp;rl,
-                int&nbsp;ru,
-                <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>&gt;&nbsp;colGroups,
-                int&nbsp;clen)</code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.SinglePrecision.html#SinglePrecision--">SinglePrecision</a></span>()</code>&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -154,12 +156,15 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
-<td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/DenseRowIterator.html#hasNext--">hasNext</a></span>()</code>&nbsp;</td>
-</tr>
-<tr id="i1" class="rowColor">
-<td class="colFirst"><code>double[]</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/DenseRowIterator.html#next--">next</a></span>()</code>&nbsp;</td>
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.SinglePrecision.html#exec-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.runtime.codegen.SpoofCUDAOperator-int-long:A-long:A-long:A-java.util.ArrayList-long-">exec</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
+    <a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html" title="interface in org.apache.sysds.runtime.codegen">SpoofCUDAOperator</a>&nbsp;op,
+    int&nbsp;opID,
+    long[]&nbsp;in,
+    long[]&nbsp;sides,
+    long[]&nbsp;out,
+    <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&gt;&nbsp;scalarObjects,
+    long&nbsp;grix)</code>&nbsp;</td>
 </tr>
 </table>
 <ul class="blockList">
@@ -169,13 +174,6 @@
 <h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
 <code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.java.util.Iterator">
-<!--   -->
-</a>
-<h3>Methods inherited from interface&nbsp;java.util.<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a></h3>
-<code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true#forEachRemaining-java.util.function.Consumer-" title="class or interface in java.util">forEachRemaining</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true#remove--" title="class or interface in java.util">remove</a></code></li>
-</ul>
 </li>
 </ul>
 </li>
@@ -190,16 +188,13 @@
 <!--   -->
 </a>
 <h3>Constructor Detail</h3>
-<a name="DenseRowIterator-int-int-java.util.List-int-">
+<a name="SinglePrecision--">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>DenseRowIterator</h4>
-<pre>public&nbsp;DenseRowIterator(int&nbsp;rl,
-                        int&nbsp;ru,
-                        <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>&gt;&nbsp;colGroups,
-                        int&nbsp;clen)</pre>
+<h4>SinglePrecision</h4>
+<pre>public&nbsp;SinglePrecision()</pre>
 </li>
 </ul>
 </li>
@@ -210,25 +205,23 @@
 <!--   -->
 </a>
 <h3>Method Detail</h3>
-<a name="next--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>next</h4>
-<pre>public&nbsp;double[]&nbsp;next()</pre>
-</li>
-</ul>
-<a name="hasNext--">
+<a name="exec-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.runtime.codegen.SpoofCUDAOperator-int-long:A-long:A-long:A-java.util.ArrayList-long-">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>hasNext</h4>
-<pre>public&nbsp;boolean&nbsp;hasNext()</pre>
+<h4>exec</h4>
+<pre>public&nbsp;int&nbsp;exec(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
+                <a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html" title="interface in org.apache.sysds.runtime.codegen">SpoofCUDAOperator</a>&nbsp;op,
+                int&nbsp;opID,
+                long[]&nbsp;in,
+                long[]&nbsp;sides,
+                long[]&nbsp;out,
+                <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&gt;&nbsp;scalarObjects,
+                long&nbsp;grix)</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true#hasNext--" title="class or interface in java.util">hasNext</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;T&gt;</code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.PrecisionProxy.html#exec-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.runtime.codegen.SpoofCUDAOperator-int-long:A-long:A-long:A-java.util.ArrayList-long-">exec</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.PrecisionProxy.html" title="class in org.apache.sysds.runtime.codegen">SpoofCUDAOperator.PrecisionProxy</a></code></dd>
 </dl>
 </li>
 </ul>
@@ -251,7 +244,7 @@
 <li><a href="../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="package-summary.html">Package</a></li>
 <li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/DenseRowIterator.html">Use</a></li>
+<li><a href="class-use/SpoofCUDAInstruction.SinglePrecision.html">Use</a></li>
 <li><a href="package-tree.html">Tree</a></li>
 <li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
 <li><a href="../../../../../../index-all.html">Index</a></li>
@@ -260,12 +253,12 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.DoublePrecision.html" title="class in org.apache.sysds.runtime.instructions.gpu"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/DenseRowIterator.html" target="_top">Frames</a></li>
-<li><a href="DenseRowIterator.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.SinglePrecision.html" target="_top">Frames</a></li>
+<li><a href="SpoofCUDAInstruction.SinglePrecision.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
 <li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -301,6 +294,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.html
new file mode 100644
index 0000000..8e9b721
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.html
@@ -0,0 +1,440 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>SpoofCUDAInstruction (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="SpoofCUDAInstruction (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":9,"i2":10,"i3":9};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/SpoofCUDAInstruction.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/ScalarMatrixRelationalBinaryGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.DoublePrecision.html" title="class in org.apache.sysds.runtime.instructions.gpu"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.html" target="_top">Frames</a></li>
+<li><a href="SpoofCUDAInstruction.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.sysds.runtime.instructions.gpu</div>
+<h2 title="Class SpoofCUDAInstruction" class="title">Class SpoofCUDAInstruction</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">org.apache.sysds.runtime.instructions.Instruction</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">org.apache.sysds.runtime.instructions.gpu.GPUInstruction</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.sysds.runtime.instructions.gpu.SpoofCUDAInstruction</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">SpoofCUDAInstruction</span>
+extends <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">GPUInstruction</a>
+implements <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!--   -->
+</a>
+<h3>Nested Class Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
+<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.DoublePrecision.html" title="class in org.apache.sysds.runtime.instructions.gpu">SpoofCUDAInstruction.DoublePrecision</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.SinglePrecision.html" title="class in org.apache.sysds.runtime.instructions.gpu">SpoofCUDAInstruction.SinglePrecision</a></span></code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.sysds.runtime.instructions.gpu.GPUInstruction">
+<!--   -->
+</a>
+<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.sysds.runtime.instructions.gpu.<a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">GPUInstruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.GPUINSTRUCTION_TYPE.html" title="enum in org.apache.sysds.runtime.instructions.gpu">GPUInstruction.GPUINSTRUCTION_TYPE</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
+<!--   -->
+</a>
+<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.IType.html" title="enum in org.apache.sysds.runtime.instructions">Instruction.IType</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!--   -->
+</a>
+<h3>Field Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
+<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.html#Z:Z_out">_out</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.PrecisionProxy.html" title="class in org.apache.sysds.runtime.codegen">SpoofCUDAOperator.PrecisionProxy</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.html#proxy">proxy</a></span></code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.org.apache.sysds.runtime.instructions.gpu.GPUInstruction">
+<!--   -->
+</a>
+<h3>Fields inherited from class&nbsp;org.apache.sysds.runtime.instructions.gpu.<a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">GPUInstruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#Z:Z_input1">_input1</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#Z:Z_input2">_input2</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#Z:Z_output">_output</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ABS_KERNEL">MISC_TIMER_ABS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ACOS_KERNEL">MISC_TIMER_ACOS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ACTIVATION_FORWARD_LIB">MISC_TIMER_ACTIVATION_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE">MISC_TIMER_ALLOCATE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE_DENSE_OUTPUT">MISC_TIMER_ALLOCATE_DENSE_OUTPUT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ALLOCATE_SPARSE_OUTPUT">MISC_TIMER_ALLOCATE_SPARSE_OUTPUT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ASIN_KERNEL">MISC_TIMER_ASIN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ATAN_KERNEL">MISC_TIMER_ATAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_BIAS_ADD_LIB">MISC_TIMER_BIAS_ADD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CBIND_KERNEL">MISC_TIMER_CBIND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CEIL_KERNEL">MISC_TIMER_CEIL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COLUMN_TO_ROW_MAJOR">MISC_TIMER_COLUMN_TO_ROW_MAJOR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COMPARE_AND_SET_KERNEL">MISC_TIMER_COMPARE_AND_SET_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_BACKWARD_DATA_LIB">MISC_TIMER_CONVOLUTION_BACKWARD_DATA_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_BACKWARD_FILTER_LIB">MISC_TIMER_CONVOLUTION_BACKWARD_FILTER_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CONVOLUTION_FORWARD_LIB">MISC_TIMER_CONVOLUTION_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COS_KERNEL">MISC_TIMER_COS_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_COSH_KERNEL">MISC_TIMER_COSH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDA_FREE">MISC_TIMER_CUDA_FREE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDA_SYNC">MISC_TIMER_CUDA_SYNC</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDNN_CLEANUP">MISC_TIMER_CUDNN_CLEANUP</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUDNN_INIT">MISC_TIMER_CUDNN_INIT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUMULATIVE_SCAN_KERNEL">MISC_TIMER_CUMULATIVE_SCAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_CUMULATIVE_SUMPROD_KERNEL">MISC_TIMER_CUMULATIVE_SUMPROD_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DAXPY_LIB">MISC_TIMER_DAXPY_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DAXPY_MV_KERNEL">MISC_TIMER_DAXPY_MV_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_DGEAM_LIB">MISC_TIMER_DENSE_DGEAM_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_DOT_LIB">MISC_TIMER_DENSE_DOT_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_IM2COL_KERNEL">MISC_TIMER_DENSE_IM2COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_MATRIX_DENSE_MATRIX_LIB">MISC_TIMER_DENSE_MATRIX_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_MATRIX_DENSE_VECTOR_LIB">MISC_TIMER_DENSE_MATRIX_DENSE_VECTOR_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_REORG_KNPQ_KERNEL">MISC_TIMER_DENSE_REORG_KNPQ_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_TO_SPARSE">MISC_TIMER_DENSE_TO_SPARSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DENSE_VECTOR_DENSE_MATRIX_LIB">MISC_TIMER_DENSE_VECTOR_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DEVICE_TO_DEVICE">MISC_TIMER_DEVICE_TO_DEVICE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_DEVICE_TO_HOST">MISC_TIMER_DEVICE_TO_HOST</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_EVICT">MISC_TIMER_EVICT</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_EXP_KERNEL">MISC_TIMER_EXP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_FILL_KERNEL">MISC_TIMER_FILL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_FLOOR_KERNEL">MISC_TIMER_FLOOR_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_HOST_TO_DEVICE">MISC_TIMER_HOST_TO_DEVICE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_LOG_KERNEL">MISC_TIMER_LOG_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MATRIX_MATRIX_CELLWISE_OP_KERNEL">MISC_TIMER_MATRIX_MATRIX_CELLWISE_OP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MATRIX_SCALAR_OP_KERNEL">MISC_TIMER_MATRIX_SCALAR_OP_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MAXPOOLING_BACKWARD_LIB">MISC_TIMER_MAXPOOLING_BACKWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_MAXPOOLING_FORWARD_LIB">MISC_TIMER_MAXPOOLING_FORWARD_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_OBJECT_CLONE">MISC_TIMER_OBJECT_CLONE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ORMQR">MISC_TIMER_ORMQR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_QR">MISC_TIMER_QR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_QR_BUFFER">MISC_TIMER_QR_BUFFER</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RBIND_KERNEL">MISC_TIMER_RBIND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_ALL_KERNEL">MISC_TIMER_REDUCE_ALL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_COL_KERNEL">MISC_TIMER_REDUCE_COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REDUCE_ROW_KERNEL">MISC_TIMER_REDUCE_ROW_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RELU_BACKWARD_KERNEL">MISC_TIMER_RELU_BACKWARD_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RELU_KERNEL">MISC_TIMER_RELU_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_REUSE">MISC_TIMER_REUSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_DENSE_OP">MISC_TIMER_RIX_DENSE_OP</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_SPARSE_DENSE_OP_NNZ">MISC_TIMER_RIX_SPARSE_DENSE_OP_NNZ</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_RIX_SPARSE_DENSE_OP_ROWWISE">MISC_TIMER_RIX_SPARSE_DENSE_OP_ROWWISE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ROUND_KERNEL">MISC_TIMER_ROUND_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_ROW_TO_COLUMN_MAJOR">MISC_TIMER_ROW_TO_COLUMN_MAJOR</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SET_ZERO">MISC_TIMER_SET_ZERO</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIGMOID_KERNEL">MISC_TIMER_SIGMOID_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIGN_KERNEL">MISC_TIMER_SIGN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SIN_KERNEL">MISC_TIMER_SIN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SINH_KERNEL">MISC_TIMER_SINH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_ALLOCATE_LIB">MISC_TIMER_SPARSE_ALLOCATE_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_DGEAM_LIB">MISC_TIMER_SPARSE_DGEAM_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_IM2COL_KERNEL">MISC_TIMER_SPARSE_IM2COL_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_DENSE_MATRIX_LIB">MISC_TIMER_SPARSE_MATRIX_DENSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_DENSE_VECTOR_LIB">MISC_TIMER_SPARSE_MATRIX_DENSE_VECTOR_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_MATRIX_SPARSE_MATRIX_LIB">MISC_TIMER_SPARSE_MATRIX_SPARSE_MATRIX_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SPARSE_TO_DENSE">MISC_TIMER_SPARSE_TO_DENSE</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SQRT_KERNEL">MISC_TIMER_SQRT_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_SYRK_LIB">MISC_TIMER_SYRK_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TAN_KERNEL">MISC_TIMER_TAN_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TANH_KERNEL">MISC_TIMER_TANH_KERNEL</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TRANSPOSE_LIB">MISC_TIMER_TRANSPOSE_LIB</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_TRSM">MISC_TIMER_TRSM</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#MISC_TIMER_UPPER_TO_LOWER_TRIANGLE_KERNEL">MISC_TIMER_UPPER_TO_LOWER_TRIANGLE_KERNEL</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
+<!--   -->
+</a>
+<h3>Fields inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#DATATYPE_PREFIX">DATATYPE_PREFIX</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#FEDERATED_INST_PREFIX">FEDERATED_INST_PREFIX</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#GPU_INST_PREFIX">GPU_INST_PREFIX</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#INSTRUCTION_DELIM">INSTRUCTION_DELIM</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#LITERAL_PREFIX">LITERAL_PREFIX</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#OPERAND_DELIM">OPERAND_DELIM</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#SP_INST_PREFIX">SP_INST_PREFIX</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#VALUETYPE_PREFIX">VALUETYPE_PREFIX</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>org.apache.commons.lang3.tuple.Pair&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>
+<div class="block">Obtain lineage trace of an instruction with a single output.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">SpoofCUDAInstruction</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.html#parseInstruction-java.lang.String-">parseInstruction</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>
+<div class="block">This method should be used to execute the instruction.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.html#resetFloatingPointPrecision--">resetFloatingPointPrecision</a></span>()</code>
+<div class="block">Sets the internal state based on the DMLScript.DATA_TYPE</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.gpu.GPUInstruction">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.gpu.<a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">GPUInstruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getGPUInstructionType--">getGPUInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.lineage.LineageTraceable">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.sysds.runtime.lineage.<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#getLineageItems-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItems</a>, <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#hasSingleLineage--">hasSingleLineage</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ FIELD DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.detail">
+<!--   -->
+</a>
+<h3>Field Detail</h3>
+<a name="proxy">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>proxy</h4>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.PrecisionProxy.html" title="class in org.apache.sysds.runtime.codegen">SpoofCUDAOperator.PrecisionProxy</a> proxy</pre>
+</li>
+</ul>
+<a name="Z:Z_out">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>_out</h4>
+<pre>public final&nbsp;<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a> _out</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="resetFloatingPointPrecision--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>resetFloatingPointPrecision</h4>
+<pre>public static&nbsp;void&nbsp;resetFloatingPointPrecision()</pre>
+<div class="block">Sets the internal state based on the DMLScript.DATA_TYPE</div>
+</li>
+</ul>
+<a name="parseInstruction-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>parseInstruction</h4>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">SpoofCUDAInstruction</a>&nbsp;parseInstruction(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</pre>
+</li>
+</ul>
+<a name="processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>processInstruction</h4>
+<pre>public&nbsp;void&nbsp;processInstruction(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">Instruction</a></code></span></div>
+<div class="block">This method should be used to execute the instruction.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">GPUInstruction</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>ec</code> - execution context</dd>
+</dl>
+</li>
+</ul>
+<a name="getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getLineageItem</h4>
+<pre>public&nbsp;org.apache.commons.lang3.tuple.Pair&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&gt;&nbsp;getLineageItem(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">LineageTraceable</a></code></span></div>
+<div class="block">Obtain lineage trace of an instruction with a single output.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">GPUInstruction</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>ec</code> - execution context w/ live variables</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>pair of (output variable name, output lineage item)</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/SpoofCUDAInstruction.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/ScalarMatrixRelationalBinaryGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.DoublePrecision.html" title="class in org.apache.sysds.runtime.instructions.gpu"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.html" target="_top">Frames</a></li>
+<li><a href="SpoofCUDAInstruction.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/class-use/AggregateBinaryGPUInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/class-use/AggregateBinaryGPUInstruction.html
index 197d4ac..2386589 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/class-use/AggregateBinaryGPUInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/class-use/AggregateBinaryGPUInstruction.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/class-use/AggregateUnaryGPUInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/class-use/AggregateUnaryGPUInstruction.html
index fbf25c1..ce93e59 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/class-use/AggregateUnaryGPUInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/class-use/AggregateUnaryGPUInstruction.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/class-use/ArithmeticBinaryGPUInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/class-use/ArithmeticBinaryGPUInstruction.html
index e415f58..a5a9675 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/class-use/ArithmeticBinaryGPUInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/class-use/ArithmeticBinaryGPUInstruction.html
@@ -181,6 +181,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/class-use/BuiltinBinaryGPUInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/class-use/BuiltinBinaryGPUInstruction.html
index 5cb68db..61ec635 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/class-use/BuiltinBinaryGPUInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/class-use/BuiltinBinaryGPUInstruction.html
@@ -177,6 +177,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/class-use/BuiltinUnaryGPUInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/class-use/BuiltinUnaryGPUInstruction.html
index 90c3690..79998a6 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/class-use/BuiltinUnaryGPUInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/class-use/BuiltinUnaryGPUInstruction.html
@@ -173,6 +173,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/class-use/DnnGPUInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/class-use/DnnGPUInstruction.html
index 2e40e3e..cd5ef5d 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/class-use/DnnGPUInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/class-use/DnnGPUInstruction.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/class-use/GPUInstruction.GPUINSTRUCTION_TYPE.html b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/class-use/GPUInstruction.GPUINSTRUCTION_TYPE.html
index d642d7a..4d99b3f 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/class-use/GPUInstruction.GPUINSTRUCTION_TYPE.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/class-use/GPUInstruction.GPUINSTRUCTION_TYPE.html
@@ -209,6 +209,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/class-use/GPUInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/class-use/GPUInstruction.html
index 84df8f1..837b2bf 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/class-use/GPUInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/class-use/GPUInstruction.html
@@ -213,6 +213,10 @@
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/ScalarMatrixRelationalBinaryGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">ScalarMatrixRelationalBinaryGPUInstruction</a></span></code>&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">SpoofCUDAInstruction</a></span></code>&nbsp;</td>
+</tr>
 </tbody>
 </table>
 </li>
@@ -267,6 +271,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/class-use/MMTSJGPUInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/class-use/MMTSJGPUInstruction.html
index f308fee..9a9c36f 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/class-use/MMTSJGPUInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/class-use/MMTSJGPUInstruction.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/class-use/MatrixAppendGPUInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/class-use/MatrixAppendGPUInstruction.html
index 00fe4a9..19969ae 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/class-use/MatrixAppendGPUInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/class-use/MatrixAppendGPUInstruction.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/class-use/MatrixBuiltinGPUInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/class-use/MatrixBuiltinGPUInstruction.html
index 88b3554..a1587e9 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/class-use/MatrixBuiltinGPUInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/class-use/MatrixBuiltinGPUInstruction.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/class-use/MatrixIndexingGPUInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/class-use/MatrixIndexingGPUInstruction.html
index bb19636..93a4730 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/class-use/MatrixIndexingGPUInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/class-use/MatrixIndexingGPUInstruction.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/class-use/MatrixMatrixArithmeticGPUInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/class-use/MatrixMatrixArithmeticGPUInstruction.html
index 15a4d1c..2f1f9a1 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/class-use/MatrixMatrixArithmeticGPUInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/class-use/MatrixMatrixArithmeticGPUInstruction.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/class-use/MatrixMatrixAxpyGPUInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/class-use/MatrixMatrixAxpyGPUInstruction.html
index c9994e5..0dc9d70 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/class-use/MatrixMatrixAxpyGPUInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/class-use/MatrixMatrixAxpyGPUInstruction.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/class-use/MatrixMatrixBuiltinGPUInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/class-use/MatrixMatrixBuiltinGPUInstruction.html
index cd8839f..3057fba 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/class-use/MatrixMatrixBuiltinGPUInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/class-use/MatrixMatrixBuiltinGPUInstruction.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/class-use/MatrixMatrixRelationalBinaryGPUInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/class-use/MatrixMatrixRelationalBinaryGPUInstruction.html
index 1506ccf..28dec60 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/class-use/MatrixMatrixRelationalBinaryGPUInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/class-use/MatrixMatrixRelationalBinaryGPUInstruction.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/class-use/MatrixReshapeGPUInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/class-use/MatrixReshapeGPUInstruction.html
index 45b4991..da75eb6 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/class-use/MatrixReshapeGPUInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/class-use/MatrixReshapeGPUInstruction.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/class-use/RelationalBinaryGPUInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/class-use/RelationalBinaryGPUInstruction.html
index 5391675..b1695fb 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/class-use/RelationalBinaryGPUInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/class-use/RelationalBinaryGPUInstruction.html
@@ -177,6 +177,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/class-use/ReorgGPUInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/class-use/ReorgGPUInstruction.html
index 8eca884..b9a38e2 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/class-use/ReorgGPUInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/class-use/ReorgGPUInstruction.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/class-use/ScalarMatrixArithmeticGPUInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/class-use/ScalarMatrixArithmeticGPUInstruction.html
index 4b71f84..4f55c9a 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/class-use/ScalarMatrixArithmeticGPUInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/class-use/ScalarMatrixArithmeticGPUInstruction.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/class-use/ScalarMatrixBuiltinGPUInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/class-use/ScalarMatrixBuiltinGPUInstruction.html
index 71d9704..d624b1b 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/class-use/ScalarMatrixBuiltinGPUInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/class-use/ScalarMatrixBuiltinGPUInstruction.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/class-use/ScalarMatrixRelationalBinaryGPUInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/class-use/ScalarMatrixRelationalBinaryGPUInstruction.html
index 39b62e5..4054f7c 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/class-use/ScalarMatrixRelationalBinaryGPUInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/class-use/ScalarMatrixRelationalBinaryGPUInstruction.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/EncoderComposite.html b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/class-use/SpoofCUDAInstruction.DoublePrecision.html
similarity index 72%
copy from docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/EncoderComposite.html
copy to docs/api/java/org/apache/sysds/runtime/instructions/gpu/class-use/SpoofCUDAInstruction.DoublePrecision.html
index 33a7472..6550ce4 100644
--- a/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/EncoderComposite.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/class-use/SpoofCUDAInstruction.DoublePrecision.html
@@ -4,7 +4,7 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.sysds.runtime.transform.encode.EncoderComposite (SystemDS 2.1.0-SNAPSHOT API)</title>
+<title>Uses of Class org.apache.sysds.runtime.instructions.gpu.SpoofCUDAInstruction.DoublePrecision (SystemDS 2.1.0-SNAPSHOT API)</title>
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.sysds.runtime.transform.encode.EncoderComposite (SystemDS 2.1.0-SNAPSHOT API)";
+            parent.document.title="Uses of Class org.apache.sysds.runtime.instructions.gpu.SpoofCUDAInstruction.DoublePrecision (SystemDS 2.1.0-SNAPSHOT API)";
         }
     }
     catch(err) {
@@ -33,7 +33,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">Class</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.DoublePrecision.html" title="class in org.apache.sysds.runtime.instructions.gpu">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -47,8 +47,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/transform/encode/class-use/EncoderComposite.html" target="_top">Frames</a></li>
-<li><a href="EncoderComposite.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/instructions/gpu/class-use/SpoofCUDAInstruction.DoublePrecision.html" target="_top">Frames</a></li>
+<li><a href="SpoofCUDAInstruction.DoublePrecision.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -70,9 +70,9 @@
 </a></div>
 <!-- ========= END OF TOP NAVBAR ========= -->
 <div class="header">
-<h2 title="Uses of Class org.apache.sysds.runtime.transform.encode.EncoderComposite" class="title">Uses of Class<br>org.apache.sysds.runtime.transform.encode.EncoderComposite</h2>
+<h2 title="Uses of Class org.apache.sysds.runtime.instructions.gpu.SpoofCUDAInstruction.DoublePrecision" class="title">Uses of Class<br>org.apache.sysds.runtime.instructions.gpu.SpoofCUDAInstruction.DoublePrecision</h2>
 </div>
-<div class="classUseContainer">No usage of org.apache.sysds.runtime.transform.encode.EncoderComposite</div>
+<div class="classUseContainer">No usage of org.apache.sysds.runtime.instructions.gpu.SpoofCUDAInstruction.DoublePrecision</div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
 <!--   -->
@@ -84,7 +84,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">Class</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.DoublePrecision.html" title="class in org.apache.sysds.runtime.instructions.gpu">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -98,8 +98,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/transform/encode/class-use/EncoderComposite.html" target="_top">Frames</a></li>
-<li><a href="EncoderComposite.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/instructions/gpu/class-use/SpoofCUDAInstruction.DoublePrecision.html" target="_top">Frames</a></li>
+<li><a href="SpoofCUDAInstruction.DoublePrecision.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/EncoderComposite.html b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/class-use/SpoofCUDAInstruction.SinglePrecision.html
similarity index 72%
copy from docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/EncoderComposite.html
copy to docs/api/java/org/apache/sysds/runtime/instructions/gpu/class-use/SpoofCUDAInstruction.SinglePrecision.html
index 33a7472..3e93729 100644
--- a/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/EncoderComposite.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/class-use/SpoofCUDAInstruction.SinglePrecision.html
@@ -4,7 +4,7 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.sysds.runtime.transform.encode.EncoderComposite (SystemDS 2.1.0-SNAPSHOT API)</title>
+<title>Uses of Class org.apache.sysds.runtime.instructions.gpu.SpoofCUDAInstruction.SinglePrecision (SystemDS 2.1.0-SNAPSHOT API)</title>
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.sysds.runtime.transform.encode.EncoderComposite (SystemDS 2.1.0-SNAPSHOT API)";
+            parent.document.title="Uses of Class org.apache.sysds.runtime.instructions.gpu.SpoofCUDAInstruction.SinglePrecision (SystemDS 2.1.0-SNAPSHOT API)";
         }
     }
     catch(err) {
@@ -33,7 +33,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">Class</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.SinglePrecision.html" title="class in org.apache.sysds.runtime.instructions.gpu">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -47,8 +47,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/transform/encode/class-use/EncoderComposite.html" target="_top">Frames</a></li>
-<li><a href="EncoderComposite.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/instructions/gpu/class-use/SpoofCUDAInstruction.SinglePrecision.html" target="_top">Frames</a></li>
+<li><a href="SpoofCUDAInstruction.SinglePrecision.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -70,9 +70,9 @@
 </a></div>
 <!-- ========= END OF TOP NAVBAR ========= -->
 <div class="header">
-<h2 title="Uses of Class org.apache.sysds.runtime.transform.encode.EncoderComposite" class="title">Uses of Class<br>org.apache.sysds.runtime.transform.encode.EncoderComposite</h2>
+<h2 title="Uses of Class org.apache.sysds.runtime.instructions.gpu.SpoofCUDAInstruction.SinglePrecision" class="title">Uses of Class<br>org.apache.sysds.runtime.instructions.gpu.SpoofCUDAInstruction.SinglePrecision</h2>
 </div>
-<div class="classUseContainer">No usage of org.apache.sysds.runtime.transform.encode.EncoderComposite</div>
+<div class="classUseContainer">No usage of org.apache.sysds.runtime.instructions.gpu.SpoofCUDAInstruction.SinglePrecision</div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
 <!--   -->
@@ -84,7 +84,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">Class</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.SinglePrecision.html" title="class in org.apache.sysds.runtime.instructions.gpu">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -98,8 +98,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/transform/encode/class-use/EncoderComposite.html" target="_top">Frames</a></li>
-<li><a href="EncoderComposite.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/instructions/gpu/class-use/SpoofCUDAInstruction.SinglePrecision.html" target="_top">Frames</a></li>
+<li><a href="SpoofCUDAInstruction.SinglePrecision.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/class-use/SpoofCUDAInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/class-use/SpoofCUDAInstruction.html
new file mode 100644
index 0000000..bd010dc
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/class-use/SpoofCUDAInstruction.html
@@ -0,0 +1,165 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.sysds.runtime.instructions.gpu.SpoofCUDAInstruction (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.sysds.runtime.instructions.gpu.SpoofCUDAInstruction (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/instructions/gpu/class-use/SpoofCUDAInstruction.html" target="_top">Frames</a></li>
+<li><a href="SpoofCUDAInstruction.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.sysds.runtime.instructions.gpu.SpoofCUDAInstruction" class="title">Uses of Class<br>org.apache.sysds.runtime.instructions.gpu.SpoofCUDAInstruction</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">SpoofCUDAInstruction</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.gpu">org.apache.sysds.runtime.instructions.gpu</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.sysds.runtime.instructions.gpu">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">SpoofCUDAInstruction</a> in <a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/package-summary.html">org.apache.sysds.runtime.instructions.gpu</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/package-summary.html">org.apache.sysds.runtime.instructions.gpu</a> that return <a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">SpoofCUDAInstruction</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">SpoofCUDAInstruction</a></code></td>
+<td class="colLast"><span class="typeNameLabel">SpoofCUDAInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.html#parseInstruction-java.lang.String-">parseInstruction</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/instructions/gpu/class-use/SpoofCUDAInstruction.html" target="_top">Frames</a></li>
+<li><a href="SpoofCUDAInstruction.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/CSRPointer.html b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/CSRPointer.html
index fc7a865..6703a66 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/CSRPointer.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/CSRPointer.html
@@ -723,6 +723,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/CudaMemoryAllocator.html b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/CudaMemoryAllocator.html
index 73d7065..9e3d052 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/CudaMemoryAllocator.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/CudaMemoryAllocator.html
@@ -358,6 +358,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/ExecutionConfig.html b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/ExecutionConfig.html
index 53c00ad..441061d 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/ExecutionConfig.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/ExecutionConfig.html
@@ -563,6 +563,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/GPUContext.html b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/GPUContext.html
index 00b071e..a0dd865 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/GPUContext.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/GPUContext.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":9,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":9,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -269,6 +269,14 @@
 </td>
 </tr>
 <tr id="i23" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">GPUObject</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUContext.html#shallowCopyGPUObject-org.apache.sysds.runtime.instructions.gpu.context.GPUObject-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-">shallowCopyGPUObject</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">GPUObject</a>&nbsp;source,
+                    <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;mo)</code>
+<div class="block">Shallow copy the given source <a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html" title="class in org.apache.sysds.runtime.instructions.gpu.context"><code>GPUObject</code></a> to a new <a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html" title="class in org.apache.sysds.runtime.instructions.gpu.context"><code>GPUObject</code></a> and 
+ assign that to the given <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching"><code>MatrixObject</code></a>.</div>
+</td>
+</tr>
+<tr id="i24" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUContext.html#toString--">toString</a></span>()</code>&nbsp;</td>
 </tr>
@@ -435,6 +443,26 @@
 </dl>
 </li>
 </ul>
+<a name="shallowCopyGPUObject-org.apache.sysds.runtime.instructions.gpu.context.GPUObject-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>shallowCopyGPUObject</h4>
+<pre>public&nbsp;<a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">GPUObject</a>&nbsp;shallowCopyGPUObject(<a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">GPUObject</a>&nbsp;source,
+                                      <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;mo)</pre>
+<div class="block">Shallow copy the given source <a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html" title="class in org.apache.sysds.runtime.instructions.gpu.context"><code>GPUObject</code></a> to a new <a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html" title="class in org.apache.sysds.runtime.instructions.gpu.context"><code>GPUObject</code></a> and 
+ assign that to the given <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching"><code>MatrixObject</code></a>.
+ This copy doesn't memcopy the device memory.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>source</code> - a <a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html" title="class in org.apache.sysds.runtime.instructions.gpu.context"><code>GPUObject</code></a> which is the source of the copy</dd>
+<dd><code>mo</code> - a <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching"><code>MatrixObject</code></a> to associate with the new <a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html" title="class in org.apache.sysds.runtime.instructions.gpu.context"><code>GPUObject</code></a></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a new <a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html" title="class in org.apache.sysds.runtime.instructions.gpu.context"><code>GPUObject</code></a> instance</dd>
+</dl>
+</li>
+</ul>
 <a name="getGPUProperties--">
 <!--   -->
 </a>
@@ -690,6 +718,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/GPUContextPool.html b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/GPUContextPool.html
index 1abae12..9c9e76d 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/GPUContextPool.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/GPUContextPool.html
@@ -445,6 +445,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/GPULazyCudaFreeMemoryManager.html b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/GPULazyCudaFreeMemoryManager.html
index 31396ce..bdf03cb 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/GPULazyCudaFreeMemoryManager.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/GPULazyCudaFreeMemoryManager.html
@@ -411,6 +411,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/GPUMatrixMemoryManager.html b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/GPUMatrixMemoryManager.html
index b12818e..ab5c162 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/GPUMatrixMemoryManager.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/GPUMatrixMemoryManager.html
@@ -233,6 +233,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/GPUMemoryAllocator.html b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/GPUMemoryAllocator.html
index ae5c6e0..8dd44aa 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/GPUMemoryAllocator.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/GPUMemoryAllocator.html
@@ -299,6 +299,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/GPUMemoryManager.EvictionPolicyBasedComparator.html b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/GPUMemoryManager.EvictionPolicyBasedComparator.html
index f915cc1..e8209e3 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/GPUMemoryManager.EvictionPolicyBasedComparator.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/GPUMemoryManager.EvictionPolicyBasedComparator.html
@@ -290,6 +290,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/GPUMemoryManager.html b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/GPUMemoryManager.html
index 17a38ea..bbf5498 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/GPUMemoryManager.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/GPUMemoryManager.html
@@ -451,6 +451,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html
index 19813fd..7f3993e 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":9,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":9,"i36":10,"i37":9};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":9,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":9,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10,"i37":10,"i38":10,"i39":9,"i40":10,"i41":9};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -76,13 +76,13 @@
 <li>Summary:&nbsp;</li>
 <li>Nested&nbsp;|&nbsp;</li>
 <li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
 <li><a href="#method.summary">Method</a></li>
 </ul>
 <ul class="subNavList">
 <li>Detail:&nbsp;</li>
 <li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
 <li><a href="#method.detail">Method</a></li>
 </ul>
 </div>
@@ -118,6 +118,25 @@
 <div class="summary">
 <ul class="blockList">
 <li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html#GPUObject-org.apache.sysds.runtime.instructions.gpu.context.GPUContext-org.apache.sysds.runtime.instructions.gpu.context.GPUObject-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-">GPUObject</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUContext.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">GPUContext</a>&nbsp;gCtx,
+         <a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">GPUObject</a>&nbsp;that,
+         <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;mat)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
 <!-- ========== METHOD SUMMARY =========== -->
 <ul class="blockList">
 <li class="blockList"><a name="method.summary">
@@ -223,120 +242,136 @@
 </td>
 </tr>
 <tr id="i16" class="altColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html#getDensePointerAddress--">getDensePointerAddress</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i17" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/CSRPointer.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">CSRPointer</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html#getJcudaSparseMatrixPtr--">getJcudaSparseMatrixPtr</a></span>()</code>
 <div class="block">Pointer to sparse matrix</div>
 </td>
 </tr>
-<tr id="i17" class="rowColor">
+<tr id="i18" class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html#getNnz-java.lang.String-boolean-">getNnz</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;instName,
       boolean&nbsp;recomputeDenseNNZ)</code>
 <div class="block">Being allocated is a prerequisite for computing nnz.</div>
 </td>
 </tr>
-<tr id="i18" class="altColor">
+<tr id="i19" class="rowColor">
+<td class="colFirst"><code>static long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html#getPointerAddress-jcuda.Pointer-">getPointerAddress</a></span>(jcuda.Pointer&nbsp;p)</code>&nbsp;</td>
+</tr>
+<tr id="i20" class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/CSRPointer.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">CSRPointer</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html#getSparseMatrixCudaPointer--">getSparseMatrixCudaPointer</a></span>()</code>
 <div class="block">Convenience method to directly examine the Sparse matrix on GPU</div>
 </td>
 </tr>
-<tr id="i19" class="rowColor">
+<tr id="i21" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html#isAllocated--">isAllocated</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i20" class="altColor">
+<tr id="i22" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html#isDensePointerNull--">isDensePointerNull</a></span>()</code>
 <div class="block">Checks if the dense pointer is null</div>
 </td>
 </tr>
-<tr id="i21" class="rowColor">
+<tr id="i23" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html#isDirty--">isDirty</a></span>()</code>
 <div class="block">Whether this block is dirty on the GPU</div>
 </td>
 </tr>
-<tr id="i22" class="altColor">
+<tr id="i24" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html#isLocked--">isLocked</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i23" class="rowColor">
+<tr id="i25" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html#isSparse--">isSparse</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i24" class="altColor">
+<tr id="i26" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html#isSparseAndEmpty--">isSparseAndEmpty</a></span>()</code>
 <div class="block">If this <a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html" title="class in org.apache.sysds.runtime.instructions.gpu.context"><code>GPUObject</code></a> is sparse and empty
  Being allocated is a prerequisite to being sparse and empty.</div>
 </td>
 </tr>
-<tr id="i25" class="rowColor">
+<tr id="i27" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html#releaseInput--">releaseInput</a></span>()</code>
 <div class="block">Releases input allocated on GPU</div>
 </td>
 </tr>
-<tr id="i26" class="altColor">
+<tr id="i28" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html#releaseOutput--">releaseOutput</a></span>()</code>
 <div class="block">releases output allocated on GPU</div>
 </td>
 </tr>
-<tr id="i27" class="rowColor">
+<tr id="i29" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html#releaseReadLock--">releaseReadLock</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i28" class="altColor">
+<tr id="i30" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html#releaseWriteLock--">releaseWriteLock</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i29" class="rowColor">
+<tr id="i31" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html#resetReadWriteLock--">resetReadWriteLock</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i30" class="altColor">
+<tr id="i32" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html#setDensePointer-jcuda.Pointer-">setDensePointer</a></span>(jcuda.Pointer&nbsp;densePtr)</code>
 <div class="block">Convenience method to directly set the dense matrix pointer on GPU</div>
 </td>
 </tr>
-<tr id="i31" class="rowColor">
+<tr id="i33" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html#setDirty-boolean-">setDirty</a></span>(boolean&nbsp;flag)</code>&nbsp;</td>
+</tr>
+<tr id="i34" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html#setIsLinCached-boolean-">setIsLinCached</a></span>(boolean&nbsp;val)</code>&nbsp;</td>
+</tr>
+<tr id="i35" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html#setSparseMatrixCudaPointer-org.apache.sysds.runtime.instructions.gpu.context.CSRPointer-">setSparseMatrixCudaPointer</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/CSRPointer.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">CSRPointer</a>&nbsp;sparseMatrixPtr)</code>
 <div class="block">Convenience method to directly set the sparse matrix on GPU
  Needed for operations like cusparseDcsrgemm(cusparseHandle, int, int, int, int, int, cusparseMatDescr, int, Pointer, Pointer, Pointer, cusparseMatDescr, int, Pointer, Pointer, Pointer, cusparseMatDescr, Pointer, Pointer, Pointer)</div>
 </td>
 </tr>
-<tr id="i32" class="altColor">
+<tr id="i36" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html#sparseToColumnMajorDense--">sparseToColumnMajorDense</a></span>()</code>
 <div class="block">More efficient method to convert sparse to dense but returns dense in column major format</div>
 </td>
 </tr>
-<tr id="i33" class="rowColor">
+<tr id="i37" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html#sparseToDense--">sparseToDense</a></span>()</code>
 <div class="block">Convert sparse to dense (Performs transpose, use sparseToColumnMajorDense if the kernel can deal with column major format)</div>
 </td>
 </tr>
-<tr id="i34" class="altColor">
+<tr id="i38" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html#sparseToDense-java.lang.String-">sparseToDense</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;instructionName)</code>
 <div class="block">Convert sparse to dense (Performs transpose, use sparseToColumnMajorDense if the kernel can deal with column major format)
  Also records per instruction invokation of sparseToDense.</div>
 </td>
 </tr>
-<tr id="i35" class="rowColor">
+<tr id="i39" class="rowColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html#toIntExact-long-">toIntExact</a></span>(long&nbsp;l)</code>&nbsp;</td>
 </tr>
-<tr id="i36" class="altColor">
+<tr id="i40" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html#toString--">toString</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i37" class="rowColor">
+<tr id="i41" class="rowColor">
 <td class="colFirst"><code>static jcuda.Pointer</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html#transpose-org.apache.sysds.runtime.instructions.gpu.context.GPUContext-jcuda.Pointer-int-int-int-int-">transpose</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUContext.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">GPUContext</a>&nbsp;gCtx,
          jcuda.Pointer&nbsp;densePtr,
@@ -363,6 +398,25 @@
 <div class="details">
 <ul class="blockList">
 <li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="GPUObject-org.apache.sysds.runtime.instructions.gpu.context.GPUContext-org.apache.sysds.runtime.instructions.gpu.context.GPUObject-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>GPUObject</h4>
+<pre>public&nbsp;GPUObject(<a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUContext.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">GPUContext</a>&nbsp;gCtx,
+                 <a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">GPUObject</a>&nbsp;that,
+                 <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;mat)</pre>
+</li>
+</ul>
+</li>
+</ul>
 <!-- ============ METHOD DETAIL ========== -->
 <ul class="blockList">
 <li class="blockList"><a name="method.detail">
@@ -421,6 +475,15 @@
 </dl>
 </li>
 </ul>
+<a name="setDirty-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setDirty</h4>
+<pre>public&nbsp;void&nbsp;setDirty(boolean&nbsp;flag)</pre>
+</li>
+</ul>
 <a name="clone--">
 <!--   -->
 </a>
@@ -832,10 +895,19 @@
 </dl>
 </li>
 </ul>
+<a name="setIsLinCached-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setIsLinCached</h4>
+<pre>public&nbsp;void&nbsp;setIsLinCached(boolean&nbsp;val)</pre>
+</li>
+</ul>
 <a name="toString--">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>toString</h4>
 <pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
@@ -845,6 +917,24 @@
 </dl>
 </li>
 </ul>
+<a name="getDensePointerAddress--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getDensePointerAddress</h4>
+<pre>public&nbsp;long&nbsp;getDensePointerAddress()</pre>
+</li>
+</ul>
+<a name="getPointerAddress-jcuda.Pointer-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getPointerAddress</h4>
+<pre>public static&nbsp;long&nbsp;getPointerAddress(jcuda.Pointer&nbsp;p)</pre>
+</li>
+</ul>
 </li>
 </ul>
 </li>
@@ -900,13 +990,13 @@
 <li>Summary:&nbsp;</li>
 <li>Nested&nbsp;|&nbsp;</li>
 <li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
 <li><a href="#method.summary">Method</a></li>
 </ul>
 <ul class="subNavList">
 <li>Detail:&nbsp;</li>
 <li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
 <li><a href="#method.detail">Method</a></li>
 </ul>
 </div>
@@ -914,6 +1004,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/JCudaKernels.html b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/JCudaKernels.html
index 7839687..06e9de5 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/JCudaKernels.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/JCudaKernels.html
@@ -260,6 +260,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/ShadowBuffer.html b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/ShadowBuffer.html
index 343562e..5566bf8 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/ShadowBuffer.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/ShadowBuffer.html
@@ -367,6 +367,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/UnifiedMemoryAllocator.html b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/UnifiedMemoryAllocator.html
index 96689ff..e6c3f1f 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/UnifiedMemoryAllocator.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/UnifiedMemoryAllocator.html
@@ -358,6 +358,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/class-use/CSRPointer.html b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/class-use/CSRPointer.html
index 7eeb18b..e73925a 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/class-use/CSRPointer.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/class-use/CSRPointer.html
@@ -83,6 +83,10 @@
 </tr>
 <tbody>
 <tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.controlprogram.context">org.apache.sysds.runtime.controlprogram.context</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.gpu.context">org.apache.sysds.runtime.instructions.gpu.context</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
@@ -91,6 +95,24 @@
 </li>
 <li class="blockList">
 <ul class="blockList">
+<li class="blockList"><a name="org.apache.sysds.runtime.controlprogram.context">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/CSRPointer.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">CSRPointer</a> in <a href="../../../../../../../../org/apache/sysds/runtime/controlprogram/context/package-summary.html">org.apache.sysds.runtime.controlprogram.context</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../../org/apache/sysds/runtime/controlprogram/context/package-summary.html">org.apache.sysds.runtime.controlprogram.context</a> that return <a href="../../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/CSRPointer.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">CSRPointer</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/CSRPointer.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">CSRPointer</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ExecutionContext.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getGPUSparsePointerAddress-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-">getGPUSparsePointerAddress</a></span>(<a href="../../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;obj)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
 <li class="blockList"><a name="org.apache.sysds.runtime.instructions.gpu.context">
 <!--   -->
 </a>
@@ -283,6 +305,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/class-use/CudaMemoryAllocator.html b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/class-use/CudaMemoryAllocator.html
index 4f485ad..8ec093d 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/class-use/CudaMemoryAllocator.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/class-use/CudaMemoryAllocator.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/class-use/ExecutionConfig.html b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/class-use/ExecutionConfig.html
index 621f69a..aeb3e01 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/class-use/ExecutionConfig.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/class-use/ExecutionConfig.html
@@ -192,6 +192,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/class-use/GPUContext.html b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/class-use/GPUContext.html
index a5fe28e..fd650cf 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/class-use/GPUContext.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/class-use/GPUContext.html
@@ -120,6 +120,10 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">CacheableData.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#removeGPUObject-org.apache.sysds.runtime.instructions.gpu.context.GPUContext-">removeGPUObject</a></span>(<a href="../../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUContext.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">GPUContext</a>&nbsp;gCtx)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">CacheableData.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#setGPUObject-org.apache.sysds.runtime.instructions.gpu.context.GPUContext-org.apache.sysds.runtime.instructions.gpu.context.GPUObject-">setGPUObject</a></span>(<a href="../../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUContext.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">GPUContext</a>&nbsp;gCtx,
             <a href="../../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">GPUObject</a>&nbsp;gObj)</code>&nbsp;</td>
 </tr>
@@ -282,6 +286,11 @@
 <tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUMemoryManager.html#GPUMemoryManager-org.apache.sysds.runtime.instructions.gpu.context.GPUContext-">GPUMemoryManager</a></span>(<a href="../../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUContext.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">GPUContext</a>&nbsp;gpuCtx)</code>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html#GPUObject-org.apache.sysds.runtime.instructions.gpu.context.GPUContext-org.apache.sysds.runtime.instructions.gpu.context.GPUObject-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-">GPUObject</a></span>(<a href="../../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUContext.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">GPUContext</a>&nbsp;gCtx,
+         <a href="../../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">GPUObject</a>&nbsp;that,
+         <a href="../../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;mat)</code>&nbsp;</td>
+</tr>
 </tbody>
 </table>
 </li>
@@ -1266,6 +1275,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/class-use/GPUContextPool.html b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/class-use/GPUContextPool.html
index 541dd51..ecc307d 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/class-use/GPUContextPool.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/class-use/GPUContextPool.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/class-use/GPULazyCudaFreeMemoryManager.html b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/class-use/GPULazyCudaFreeMemoryManager.html
index df8e8e1..a96a271 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/class-use/GPULazyCudaFreeMemoryManager.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/class-use/GPULazyCudaFreeMemoryManager.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/class-use/GPUMatrixMemoryManager.html b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/class-use/GPUMatrixMemoryManager.html
index 337ed93..f7e7ec3 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/class-use/GPUMatrixMemoryManager.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/class-use/GPUMatrixMemoryManager.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/class-use/GPUMemoryAllocator.html b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/class-use/GPUMemoryAllocator.html
index 0f9a2d8..7e04f52 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/class-use/GPUMemoryAllocator.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/class-use/GPUMemoryAllocator.html
@@ -164,6 +164,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/class-use/GPUMemoryManager.EvictionPolicyBasedComparator.html b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/class-use/GPUMemoryManager.EvictionPolicyBasedComparator.html
index 7e55976..27a11a8 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/class-use/GPUMemoryManager.EvictionPolicyBasedComparator.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/class-use/GPUMemoryManager.EvictionPolicyBasedComparator.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/class-use/GPUMemoryManager.html b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/class-use/GPUMemoryManager.html
index d4cafdb..7c9fefd 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/class-use/GPUMemoryManager.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/class-use/GPUMemoryManager.html
@@ -174,6 +174,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/class-use/GPUObject.html b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/class-use/GPUObject.html
index 441f168..f720546 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/class-use/GPUObject.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/class-use/GPUObject.html
@@ -144,6 +144,14 @@
 <div class="block">Instantiates a new <a href="../../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html" title="class in org.apache.sysds.runtime.instructions.gpu.context"><code>GPUObject</code></a> initialized with the given <a href="../../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching"><code>MatrixObject</code></a>.</div>
 </td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">GPUObject</a></code></td>
+<td class="colLast"><span class="typeNameLabel">GPUContext.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUContext.html#shallowCopyGPUObject-org.apache.sysds.runtime.instructions.gpu.context.GPUObject-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-">shallowCopyGPUObject</a></span>(<a href="../../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">GPUObject</a>&nbsp;source,
+                    <a href="../../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;mo)</code>
+<div class="block">Shallow copy the given source <a href="../../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html" title="class in org.apache.sysds.runtime.instructions.gpu.context"><code>GPUObject</code></a> to a new <a href="../../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html" title="class in org.apache.sysds.runtime.instructions.gpu.context"><code>GPUObject</code></a> and 
+ assign that to the given <a href="../../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching"><code>MatrixObject</code></a>.</div>
+</td>
+</tr>
 </tbody>
 </table>
 <table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
@@ -164,6 +172,14 @@
 <div class="block">Removes the GPU object from the memory manager</div>
 </td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">GPUObject</a></code></td>
+<td class="colLast"><span class="typeNameLabel">GPUContext.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUContext.html#shallowCopyGPUObject-org.apache.sysds.runtime.instructions.gpu.context.GPUObject-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-">shallowCopyGPUObject</a></span>(<a href="../../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">GPUObject</a>&nbsp;source,
+                    <a href="../../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;mo)</code>
+<div class="block">Shallow copy the given source <a href="../../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html" title="class in org.apache.sysds.runtime.instructions.gpu.context"><code>GPUObject</code></a> to a new <a href="../../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html" title="class in org.apache.sysds.runtime.instructions.gpu.context"><code>GPUObject</code></a> and 
+ assign that to the given <a href="../../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching"><code>MatrixObject</code></a>.</div>
+</td>
+</tr>
 </tbody>
 </table>
 <table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
@@ -173,6 +189,11 @@
 </tr>
 <tbody>
 <tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html#GPUObject-org.apache.sysds.runtime.instructions.gpu.context.GPUContext-org.apache.sysds.runtime.instructions.gpu.context.GPUObject-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-">GPUObject</a></span>(<a href="../../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUContext.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">GPUContext</a>&nbsp;gCtx,
+         <a href="../../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">GPUObject</a>&nbsp;that,
+         <a href="../../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;mat)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/ShadowBuffer.html#ShadowBuffer-org.apache.sysds.runtime.instructions.gpu.context.GPUObject-">ShadowBuffer</a></span>(<a href="../../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">GPUObject</a>&nbsp;gpuObj)</code>&nbsp;</td>
 </tr>
 </tbody>
@@ -229,6 +250,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/class-use/JCudaKernels.html b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/class-use/JCudaKernels.html
index dc5d4c2..75325be 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/class-use/JCudaKernels.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/class-use/JCudaKernels.html
@@ -184,6 +184,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/class-use/ShadowBuffer.html b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/class-use/ShadowBuffer.html
index 0d266e8..1df5f6e 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/class-use/ShadowBuffer.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/class-use/ShadowBuffer.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/class-use/UnifiedMemoryAllocator.html b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/class-use/UnifiedMemoryAllocator.html
index 171925d..d88f930 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/class-use/UnifiedMemoryAllocator.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/class-use/UnifiedMemoryAllocator.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/package-summary.html b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/package-summary.html
index cd93c75..9c75129 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/package-summary.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/package-summary.html
@@ -216,6 +216,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/package-tree.html b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/package-tree.html
index e5f6194..35af12b 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/package-tree.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/package-tree.html
@@ -149,6 +149,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/package-use.html b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/package-use.html
index 148cabf..6a9a9c0 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/package-use.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/context/package-use.html
@@ -133,6 +133,14 @@
 </tr>
 <tbody>
 <tr class="altColor">
+<td class="colOne"><a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/class-use/CSRPointer.html#org.apache.sysds.runtime.controlprogram.context">CSRPointer</a>
+<div class="block">Compressed Sparse Row (CSR) format for CUDA
+ Generalized matrix multiply is implemented for CSR format in the cuSparse library among other operations
+ 
+ Since we assume that the matrix is stored with zero-based indexing (i.e.</div>
+</td>
+</tr>
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/class-use/GPUContext.html#org.apache.sysds.runtime.controlprogram.context">GPUContext</a>
 <div class="block">Represents a context per GPU accessible through the same JVM.</div>
 </td>
@@ -261,6 +269,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/package-frame.html b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/package-frame.html
index 9ab4f97..74a8c5f 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/package-frame.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/package-frame.html
@@ -34,6 +34,9 @@
 <li><a href="ScalarMatrixArithmeticGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu" target="classFrame">ScalarMatrixArithmeticGPUInstruction</a></li>
 <li><a href="ScalarMatrixBuiltinGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu" target="classFrame">ScalarMatrixBuiltinGPUInstruction</a></li>
 <li><a href="ScalarMatrixRelationalBinaryGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu" target="classFrame">ScalarMatrixRelationalBinaryGPUInstruction</a></li>
+<li><a href="SpoofCUDAInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu" target="classFrame">SpoofCUDAInstruction</a></li>
+<li><a href="SpoofCUDAInstruction.DoublePrecision.html" title="class in org.apache.sysds.runtime.instructions.gpu" target="classFrame">SpoofCUDAInstruction.DoublePrecision</a></li>
+<li><a href="SpoofCUDAInstruction.SinglePrecision.html" title="class in org.apache.sysds.runtime.instructions.gpu" target="classFrame">SpoofCUDAInstruction.SinglePrecision</a></li>
 </ul>
 <h2 title="Enums">Enums</h2>
 <ul title="Enums">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/package-summary.html b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/package-summary.html
index c2c2eb5..01a9269 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/package-summary.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/package-summary.html
@@ -170,6 +170,18 @@
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/ScalarMatrixRelationalBinaryGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">ScalarMatrixRelationalBinaryGPUInstruction</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">SpoofCUDAInstruction</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.DoublePrecision.html" title="class in org.apache.sysds.runtime.instructions.gpu">SpoofCUDAInstruction.DoublePrecision</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.SinglePrecision.html" title="class in org.apache.sysds.runtime.instructions.gpu">SpoofCUDAInstruction.SinglePrecision</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
 </tbody>
 </table>
 </li>
@@ -237,6 +249,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/package-tree.html b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/package-tree.html
index 539de11..d343737 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/package-tree.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/package-tree.html
@@ -83,7 +83,7 @@
 <ul>
 <li type="circle">org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions"><span class="typeNameLink">Instruction</span></a>
 <ul>
-<li type="circle">org.apache.sysds.runtime.instructions.gpu.<a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu"><span class="typeNameLink">GPUInstruction</span></a>
+<li type="circle">org.apache.sysds.runtime.instructions.gpu.<a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu"><span class="typeNameLink">GPUInstruction</span></a> (implements org.apache.sysds.runtime.lineage.<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a>)
 <ul>
 <li type="circle">org.apache.sysds.runtime.instructions.gpu.<a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/AggregateBinaryGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu"><span class="typeNameLink">AggregateBinaryGPUInstruction</span></a></li>
 <li type="circle">org.apache.sysds.runtime.instructions.gpu.<a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/AggregateUnaryGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu"><span class="typeNameLink">AggregateUnaryGPUInstruction</span></a></li>
@@ -117,10 +117,17 @@
 </ul>
 </li>
 <li type="circle">org.apache.sysds.runtime.instructions.gpu.<a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/ReorgGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu"><span class="typeNameLink">ReorgGPUInstruction</span></a></li>
+<li type="circle">org.apache.sysds.runtime.instructions.gpu.<a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu"><span class="typeNameLink">SpoofCUDAInstruction</span></a> (implements org.apache.sysds.runtime.lineage.<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a>)</li>
 </ul>
 </li>
 </ul>
 </li>
+<li type="circle">org.apache.sysds.runtime.codegen.<a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCUDAOperator.PrecisionProxy.html" title="class in org.apache.sysds.runtime.codegen"><span class="typeNameLink">SpoofCUDAOperator.PrecisionProxy</span></a>
+<ul>
+<li type="circle">org.apache.sysds.runtime.instructions.gpu.<a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.DoublePrecision.html" title="class in org.apache.sysds.runtime.instructions.gpu"><span class="typeNameLink">SpoofCUDAInstruction.DoublePrecision</span></a></li>
+<li type="circle">org.apache.sysds.runtime.instructions.gpu.<a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.SinglePrecision.html" title="class in org.apache.sysds.runtime.instructions.gpu"><span class="typeNameLink">SpoofCUDAInstruction.SinglePrecision</span></a></li>
+</ul>
+</li>
 </ul>
 </li>
 </ul>
@@ -184,6 +191,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/package-use.html b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/package-use.html
index 892ac24..9a37c2b 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/package-use.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/package-use.html
@@ -169,6 +169,9 @@
 <tr class="altColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/class-use/ReorgGPUInstruction.html#org.apache.sysds.runtime.instructions.gpu">ReorgGPUInstruction</a>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/class-use/SpoofCUDAInstruction.html#org.apache.sysds.runtime.instructions.gpu">SpoofCUDAInstruction</a>&nbsp;</td>
+</tr>
 </tbody>
 </table>
 </li>
@@ -221,6 +224,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/package-summary.html b/docs/api/java/org/apache/sysds/runtime/instructions/package-summary.html
index b2daa57..07681f6 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/package-summary.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/package-summary.html
@@ -177,6 +177,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/package-tree.html b/docs/api/java/org/apache/sysds/runtime/instructions/package-tree.html
index e84100d..c1d6490 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/package-tree.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/package-tree.html
@@ -154,6 +154,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/package-use.html b/docs/api/java/org/apache/sysds/runtime/instructions/package-use.html
index 41a50e5..385542d 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/package-use.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/package-use.html
@@ -475,6 +475,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/AggregateTernarySPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/AggregateTernarySPInstruction.html
index 496c673..b9220f7 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/AggregateTernarySPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/AggregateTernarySPInstruction.html
@@ -347,6 +347,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/AggregateUnarySPInstruction.RDDUAggFunction2.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/AggregateUnarySPInstruction.RDDUAggFunction2.html
index 43576e1..a9bc160 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/AggregateUnarySPInstruction.RDDUAggFunction2.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/AggregateUnarySPInstruction.RDDUAggFunction2.html
@@ -290,6 +290,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/AggregateUnarySPInstruction.RDDUTensorAggFunction2.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/AggregateUnarySPInstruction.RDDUTensorAggFunction2.html
index 2ab1ad3..b317011 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/AggregateUnarySPInstruction.RDDUTensorAggFunction2.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/AggregateUnarySPInstruction.RDDUTensorAggFunction2.html
@@ -288,6 +288,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/AggregateUnarySPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/AggregateUnarySPInstruction.html
index 58a3d78..fe6a140 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/AggregateUnarySPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/AggregateUnarySPInstruction.html
@@ -375,6 +375,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/AppendGAlignedSPInstruction.ShiftColumnIndex.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/AppendGAlignedSPInstruction.ShiftColumnIndex.html
index fda6c66..aebbdec 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/AppendGAlignedSPInstruction.ShiftColumnIndex.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/AppendGAlignedSPInstruction.ShiftColumnIndex.html
@@ -289,6 +289,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/AppendGAlignedSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/AppendGAlignedSPInstruction.html
index 18793a2..00e4146 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/AppendGAlignedSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/AppendGAlignedSPInstruction.html
@@ -363,6 +363,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/AppendGSPInstruction.MergeWithShiftedBlocks.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/AppendGSPInstruction.MergeWithShiftedBlocks.html
index 96eedba..f9af645 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/AppendGSPInstruction.MergeWithShiftedBlocks.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/AppendGSPInstruction.MergeWithShiftedBlocks.html
@@ -291,6 +291,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/AppendGSPInstruction.ShiftMatrix.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/AppendGSPInstruction.ShiftMatrix.html
index 9761745..d9a27bc 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/AppendGSPInstruction.ShiftMatrix.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/AppendGSPInstruction.ShiftMatrix.html
@@ -291,6 +291,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/AppendGSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/AppendGSPInstruction.html
index d87d50d..1e0e9b5 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/AppendGSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/AppendGSPInstruction.html
@@ -367,6 +367,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/AppendMSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/AppendMSPInstruction.html
index 1abcb3f..4e2dd04 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/AppendMSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/AppendMSPInstruction.html
@@ -333,6 +333,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/AppendRSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/AppendRSPInstruction.html
index 2eccaa6..19e9aea 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/AppendRSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/AppendRSPInstruction.html
@@ -333,6 +333,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/BinUaggChainSPInstruction.RDDBinUaggChainFunction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/BinUaggChainSPInstruction.RDDBinUaggChainFunction.html
index 5a995e7..c0ae938 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/BinUaggChainSPInstruction.RDDBinUaggChainFunction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/BinUaggChainSPInstruction.RDDBinUaggChainFunction.html
@@ -289,6 +289,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/BinUaggChainSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/BinUaggChainSPInstruction.html
index 3d3b1b9..4ef1c3f 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/BinUaggChainSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/BinUaggChainSPInstruction.html
@@ -363,6 +363,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/BinaryFrameFrameSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/BinaryFrameFrameSPInstruction.html
index 613538f..66f2042 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/BinaryFrameFrameSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/BinaryFrameFrameSPInstruction.html
@@ -346,6 +346,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/BinaryFrameMatrixSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/BinaryFrameMatrixSPInstruction.html
index 23e25fb..70e1d2d 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/BinaryFrameMatrixSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/BinaryFrameMatrixSPInstruction.html
@@ -346,6 +346,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/BinaryFrameScalarSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/BinaryFrameScalarSPInstruction.html
index 423d5fe..94a60db 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/BinaryFrameScalarSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/BinaryFrameScalarSPInstruction.html
@@ -346,6 +346,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/BinaryMatrixBVectorSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/BinaryMatrixBVectorSPInstruction.html
index 0c64857..ae1e7f9 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/BinaryMatrixBVectorSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/BinaryMatrixBVectorSPInstruction.html
@@ -346,6 +346,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/BinaryMatrixMatrixSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/BinaryMatrixMatrixSPInstruction.html
index 31ebce2..20e86e7 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/BinaryMatrixMatrixSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/BinaryMatrixMatrixSPInstruction.html
@@ -346,6 +346,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/BinaryMatrixScalarSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/BinaryMatrixScalarSPInstruction.html
index 21facfd..e98cd34 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/BinaryMatrixScalarSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/BinaryMatrixScalarSPInstruction.html
@@ -346,6 +346,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/BinarySPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/BinarySPInstruction.html
index 0218cd6..934689e 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/BinarySPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/BinarySPInstruction.html
@@ -328,6 +328,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/BinaryTensorTensorBroadcastSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/BinaryTensorTensorBroadcastSPInstruction.html
index 893510a..4065d61 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/BinaryTensorTensorBroadcastSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/BinaryTensorTensorBroadcastSPInstruction.html
@@ -346,6 +346,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/BinaryTensorTensorSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/BinaryTensorTensorSPInstruction.html
index bffddd8..769b0b3 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/BinaryTensorTensorSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/BinaryTensorTensorSPInstruction.html
@@ -346,6 +346,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/BuiltinNarySPInstruction.PadBlocksFunction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/BuiltinNarySPInstruction.PadBlocksFunction.html
index 3f9590e..024f3fc 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/BuiltinNarySPInstruction.PadBlocksFunction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/BuiltinNarySPInstruction.PadBlocksFunction.html
@@ -287,6 +287,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/BuiltinNarySPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/BuiltinNarySPInstruction.html
index bc103a0..6547bde 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/BuiltinNarySPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/BuiltinNarySPInstruction.html
@@ -365,6 +365,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/CSVReblockSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/CSVReblockSPInstruction.html
index 8faaa00..cbe505d 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/CSVReblockSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/CSVReblockSPInstruction.html
@@ -352,6 +352,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/CastSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/CastSPInstruction.html
index 0e5065e..2b2ccad 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/CastSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/CastSPInstruction.html
@@ -352,6 +352,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/CentralMomentSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/CentralMomentSPInstruction.html
index f9081fd..c88701e 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/CentralMomentSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/CentralMomentSPInstruction.html
@@ -352,6 +352,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/CheckpointSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/CheckpointSPInstruction.html
index 949db92..cbd56c4 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/CheckpointSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/CheckpointSPInstruction.html
@@ -352,6 +352,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/CompressionSPInstruction.CompressionFunction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/CompressionSPInstruction.CompressionFunction.html
index 28ae188..4684a4d 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/CompressionSPInstruction.CompressionFunction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/CompressionSPInstruction.CompressionFunction.html
@@ -287,6 +287,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/CompressionSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/CompressionSPInstruction.html
index f035178..4ad329f 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/CompressionSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/CompressionSPInstruction.html
@@ -363,6 +363,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/ComputationSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/ComputationSPInstruction.html
index a5563a5..8364789 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/ComputationSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/ComputationSPInstruction.html
@@ -402,6 +402,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/CovarianceSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/CovarianceSPInstruction.html
index 1fafa92..6f58d6c 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/CovarianceSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/CovarianceSPInstruction.html
@@ -352,6 +352,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/CpmmSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/CpmmSPInstruction.html
index c161a75..cb602f1 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/CpmmSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/CpmmSPInstruction.html
@@ -358,6 +358,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/CtableSPInstruction.MapJoinSignature1.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/CtableSPInstruction.MapJoinSignature1.html
index 788a6a4..01db0bf 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/CtableSPInstruction.MapJoinSignature1.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/CtableSPInstruction.MapJoinSignature1.html
@@ -287,6 +287,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/CtableSPInstruction.MapJoinSignature2.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/CtableSPInstruction.MapJoinSignature2.html
index 1f563fd..ca34a7b 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/CtableSPInstruction.MapJoinSignature2.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/CtableSPInstruction.MapJoinSignature2.html
@@ -287,6 +287,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/CtableSPInstruction.MapJoinSignature3.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/CtableSPInstruction.MapJoinSignature3.html
index ac96236..8279612 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/CtableSPInstruction.MapJoinSignature3.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/CtableSPInstruction.MapJoinSignature3.html
@@ -287,6 +287,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/CtableSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/CtableSPInstruction.html
index 194c643..f23e6eb 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/CtableSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/CtableSPInstruction.html
@@ -366,6 +366,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/CumulativeAggregateSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/CumulativeAggregateSPInstruction.html
index 58566cd..6fbf6b0 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/CumulativeAggregateSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/CumulativeAggregateSPInstruction.html
@@ -364,6 +364,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/CumulativeOffsetSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/CumulativeOffsetSPInstruction.html
index 954f8fe..1b3432c 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/CumulativeOffsetSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/CumulativeOffsetSPInstruction.html
@@ -50,7 +50,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/CumulativeAggregateSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/DnnSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/DeCompressionSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/sysds/runtime/instructions/spark/CumulativeOffsetSPInstruction.html" target="_top">Frames</a></li>
@@ -312,7 +312,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/CumulativeAggregateSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/DnnSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/DeCompressionSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/sysds/runtime/instructions/spark/CumulativeOffsetSPInstruction.html" target="_top">Frames</a></li>
@@ -352,6 +352,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/SparseRowIterator.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/DeCompressionSPInstruction.DeCompressionFunction.html
similarity index 62%
rename from docs/api/java/org/apache/sysds/runtime/compress/colgroup/SparseRowIterator.html
rename to docs/api/java/org/apache/sysds/runtime/instructions/spark/DeCompressionSPInstruction.DeCompressionFunction.html
index 8f87db4..ad4b7b1 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/SparseRowIterator.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/DeCompressionSPInstruction.DeCompressionFunction.html
@@ -4,7 +4,7 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>SparseRowIterator (SystemDS 2.1.0-SNAPSHOT API)</title>
+<title>DeCompressionSPInstruction.DeCompressionFunction (SystemDS 2.1.0-SNAPSHOT API)</title>
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,13 +12,13 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="SparseRowIterator (SystemDS 2.1.0-SNAPSHOT API)";
+            parent.document.title="DeCompressionSPInstruction.DeCompressionFunction (SystemDS 2.1.0-SNAPSHOT API)";
         }
     }
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10};
+var methods = {"i0":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -40,7 +40,7 @@
 <li><a href="../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="package-summary.html">Package</a></li>
 <li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/SparseRowIterator.html">Use</a></li>
+<li><a href="class-use/DeCompressionSPInstruction.DeCompressionFunction.html">Use</a></li>
 <li><a href="package-tree.html">Tree</a></li>
 <li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
 <li><a href="../../../../../../index-all.html">Index</a></li>
@@ -49,12 +49,12 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li>Next&nbsp;Class</li>
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/DeCompressionSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/DnnSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/SparseRowIterator.html" target="_top">Frames</a></li>
-<li><a href="SparseRowIterator.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/instructions/spark/DeCompressionSPInstruction.DeCompressionFunction.html" target="_top">Frames</a></li>
+<li><a href="DeCompressionSPInstruction.DeCompressionFunction.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
 <li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -92,15 +92,15 @@
 <!-- ========= END OF TOP NAVBAR ========= -->
 <!-- ======== START OF CLASS DATA ======== -->
 <div class="header">
-<div class="subTitle">org.apache.sysds.runtime.compress.colgroup</div>
-<h2 title="Class SparseRowIterator" class="title">Class SparseRowIterator</h2>
+<div class="subTitle">org.apache.sysds.runtime.instructions.spark</div>
+<h2 title="Class DeCompressionSPInstruction.DeCompressionFunction" class="title">Class DeCompressionSPInstruction.DeCompressionFunction</h2>
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
 <li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
-<li>org.apache.sysds.runtime.compress.colgroup.SparseRowIterator</li>
+<li>org.apache.sysds.runtime.instructions.spark.DeCompressionSPInstruction.DeCompressionFunction</li>
 </ul>
 </li>
 </ul>
@@ -109,12 +109,21 @@
 <li class="blockList">
 <dl>
 <dt>All Implemented Interfaces:</dt>
-<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/data/SparseRow.html" title="class in org.apache.sysds.runtime.data">SparseRow</a>&gt;</dd>
+<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, org.apache.spark.api.java.function.Function&lt;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>,<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&gt;</dd>
+</dl>
+<dl>
+<dt>Enclosing class:</dt>
+<dd><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/DeCompressionSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">DeCompressionSPInstruction</a></dd>
 </dl>
 <hr>
 <br>
-<pre>public class <span class="typeNameLabel">SparseRowIterator</span>
-extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<pre>public static class <span class="typeNameLabel">DeCompressionSPInstruction.DeCompressionFunction</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
+implements org.apache.spark.api.java.function.Function&lt;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>,<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&gt;</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../../serialized-form.html#org.apache.sysds.runtime.instructions.spark.DeCompressionSPInstruction.DeCompressionFunction">Serialized Form</a></dd>
+</dl>
 </li>
 </ul>
 </div>
@@ -133,10 +142,7 @@
 <th class="colOne" scope="col">Constructor and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/SparseRowIterator.html#SparseRowIterator-int-int-java.util.List-int-">SparseRowIterator</a></span>(int&nbsp;rl,
-                 int&nbsp;ru,
-                 <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>&gt;&nbsp;colGroups,
-                 int&nbsp;clen)</code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/DeCompressionSPInstruction.DeCompressionFunction.html#DeCompressionFunction--">DeCompressionFunction</a></span>()</code>&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -154,12 +160,8 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
-<td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/SparseRowIterator.html#hasNext--">hasNext</a></span>()</code>&nbsp;</td>
-</tr>
-<tr id="i1" class="rowColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/data/SparseRow.html" title="class in org.apache.sysds.runtime.data">SparseRow</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/SparseRowIterator.html#next--">next</a></span>()</code>&nbsp;</td>
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/DeCompressionSPInstruction.DeCompressionFunction.html#call-org.apache.sysds.runtime.matrix.data.MatrixBlock-">call</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;arg0)</code>&nbsp;</td>
 </tr>
 </table>
 <ul class="blockList">
@@ -169,13 +171,6 @@
 <h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
 <code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.java.util.Iterator">
-<!--   -->
-</a>
-<h3>Methods inherited from interface&nbsp;java.util.<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a></h3>
-<code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true#forEachRemaining-java.util.function.Consumer-" title="class or interface in java.util">forEachRemaining</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true#remove--" title="class or interface in java.util">remove</a></code></li>
-</ul>
 </li>
 </ul>
 </li>
@@ -190,16 +185,13 @@
 <!--   -->
 </a>
 <h3>Constructor Detail</h3>
-<a name="SparseRowIterator-int-int-java.util.List-int-">
+<a name="DeCompressionFunction--">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>SparseRowIterator</h4>
-<pre>public&nbsp;SparseRowIterator(int&nbsp;rl,
-                         int&nbsp;ru,
-                         <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>&gt;&nbsp;colGroups,
-                         int&nbsp;clen)</pre>
+<h4>DeCompressionFunction</h4>
+<pre>public&nbsp;DeCompressionFunction()</pre>
 </li>
 </ul>
 </li>
@@ -210,25 +202,19 @@
 <!--   -->
 </a>
 <h3>Method Detail</h3>
-<a name="next--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>next</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/data/SparseRow.html" title="class in org.apache.sysds.runtime.data">SparseRow</a>&nbsp;next()</pre>
-</li>
-</ul>
-<a name="hasNext--">
+<a name="call-org.apache.sysds.runtime.matrix.data.MatrixBlock-">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>hasNext</h4>
-<pre>public&nbsp;boolean&nbsp;hasNext()</pre>
+<h4>call</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;call(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;arg0)
+                 throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true#hasNext--" title="class or interface in java.util">hasNext</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;T&gt;</code></dd>
+<dd><code>call</code>&nbsp;in interface&nbsp;<code>org.apache.spark.api.java.function.Function&lt;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>,<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&gt;</code></dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
 </dl>
 </li>
 </ul>
@@ -251,7 +237,7 @@
 <li><a href="../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="package-summary.html">Package</a></li>
 <li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/SparseRowIterator.html">Use</a></li>
+<li><a href="class-use/DeCompressionSPInstruction.DeCompressionFunction.html">Use</a></li>
 <li><a href="package-tree.html">Tree</a></li>
 <li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
 <li><a href="../../../../../../index-all.html">Index</a></li>
@@ -260,12 +246,12 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li>Next&nbsp;Class</li>
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/DeCompressionSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/DnnSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/SparseRowIterator.html" target="_top">Frames</a></li>
-<li><a href="SparseRowIterator.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/instructions/spark/DeCompressionSPInstruction.DeCompressionFunction.html" target="_top">Frames</a></li>
+<li><a href="DeCompressionSPInstruction.DeCompressionFunction.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
 <li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -301,6 +287,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/DeCompressionSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/DeCompressionSPInstruction.html
new file mode 100644
index 0000000..e61c6c4
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/DeCompressionSPInstruction.html
@@ -0,0 +1,368 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>DeCompressionSPInstruction (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="DeCompressionSPInstruction (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":9,"i1":10};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/DeCompressionSPInstruction.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/CumulativeOffsetSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/DeCompressionSPInstruction.DeCompressionFunction.html" title="class in org.apache.sysds.runtime.instructions.spark"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/instructions/spark/DeCompressionSPInstruction.html" target="_top">Frames</a></li>
+<li><a href="DeCompressionSPInstruction.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#fields.inherited.from.class.org.apache.sysds.runtime.instructions.spark.ComputationSPInstruction">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.sysds.runtime.instructions.spark</div>
+<h2 title="Class DeCompressionSPInstruction" class="title">Class DeCompressionSPInstruction</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">org.apache.sysds.runtime.instructions.Instruction</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">org.apache.sysds.runtime.instructions.spark.SPInstruction</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/ComputationSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">org.apache.sysds.runtime.instructions.spark.ComputationSPInstruction</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/UnarySPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">org.apache.sysds.runtime.instructions.spark.UnarySPInstruction</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.sysds.runtime.instructions.spark.DeCompressionSPInstruction</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">DeCompressionSPInstruction</span>
+extends <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/UnarySPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">UnarySPInstruction</a></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!--   -->
+</a>
+<h3>Nested Class Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
+<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/DeCompressionSPInstruction.DeCompressionFunction.html" title="class in org.apache.sysds.runtime.instructions.spark">DeCompressionSPInstruction.DeCompressionFunction</a></span></code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.sysds.runtime.instructions.spark.SPInstruction">
+<!--   -->
+</a>
+<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.sysds.runtime.instructions.spark.<a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">SPInstruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.SPType.html" title="enum in org.apache.sysds.runtime.instructions.spark">SPInstruction.SPType</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
+<!--   -->
+</a>
+<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.IType.html" title="enum in org.apache.sysds.runtime.instructions">Instruction.IType</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!--   -->
+</a>
+<h3>Field Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.org.apache.sysds.runtime.instructions.spark.ComputationSPInstruction">
+<!--   -->
+</a>
+<h3>Fields inherited from class&nbsp;org.apache.sysds.runtime.instructions.spark.<a href="../../../../../../org/apache/sysds/runtime/instructions/spark/ComputationSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">ComputationSPInstruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/ComputationSPInstruction.html#input1">input1</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/ComputationSPInstruction.html#input2">input2</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/ComputationSPInstruction.html#input3">input3</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/ComputationSPInstruction.html#output">output</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
+<!--   -->
+</a>
+<h3>Fields inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#DATATYPE_PREFIX">DATATYPE_PREFIX</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#FEDERATED_INST_PREFIX">FEDERATED_INST_PREFIX</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#GPU_INST_PREFIX">GPU_INST_PREFIX</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#INSTRUCTION_DELIM">INSTRUCTION_DELIM</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#LITERAL_PREFIX">LITERAL_PREFIX</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#OPERAND_DELIM">OPERAND_DELIM</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#SP_INST_PREFIX">SP_INST_PREFIX</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#VALUETYPE_PREFIX">VALUETYPE_PREFIX</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/DeCompressionSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">DeCompressionSPInstruction</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/DeCompressionSPInstruction.html#parseInstruction-java.lang.String-">parseInstruction</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/DeCompressionSPInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>
+<div class="block">This method should be used to execute the instruction.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.spark.ComputationSPInstruction">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.spark.<a href="../../../../../../org/apache/sysds/runtime/instructions/spark/ComputationSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">ComputationSPInstruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/ComputationSPInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/ComputationSPInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.spark.SPInstruction">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.spark.<a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">SPInstruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.lineage.LineageTraceable">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.sysds.runtime.lineage.<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#getLineageItems-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItems</a>, <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#hasSingleLineage--">hasSingleLineage</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="parseInstruction-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>parseInstruction</h4>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/instructions/spark/DeCompressionSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">DeCompressionSPInstruction</a>&nbsp;parseInstruction(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</pre>
+</li>
+</ul>
+<a name="processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>processInstruction</h4>
+<pre>public&nbsp;void&nbsp;processInstruction(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">Instruction</a></code></span></div>
+<div class="block">This method should be used to execute the instruction.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">SPInstruction</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>ec</code> - execution context</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/DeCompressionSPInstruction.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/CumulativeOffsetSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/DeCompressionSPInstruction.DeCompressionFunction.html" title="class in org.apache.sysds.runtime.instructions.spark"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/instructions/spark/DeCompressionSPInstruction.html" target="_top">Frames</a></li>
+<li><a href="DeCompressionSPInstruction.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#fields.inherited.from.class.org.apache.sysds.runtime.instructions.spark.ComputationSPInstruction">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/DnnSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/DnnSPInstruction.html
index c3fcdd1..a4df64f 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/DnnSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/DnnSPInstruction.html
@@ -49,7 +49,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/CumulativeOffsetSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/DeCompressionSPInstruction.DeCompressionFunction.html" title="class in org.apache.sysds.runtime.instructions.spark"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/FrameAppendMSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -311,7 +311,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/CumulativeOffsetSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/DeCompressionSPInstruction.DeCompressionFunction.html" title="class in org.apache.sysds.runtime.instructions.spark"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/FrameAppendMSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -352,6 +352,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/FrameAppendMSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/FrameAppendMSPInstruction.html
index 45af447..b03f1c2 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/FrameAppendMSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/FrameAppendMSPInstruction.html
@@ -351,6 +351,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/FrameAppendRSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/FrameAppendRSPInstruction.html
index 26f6423..6e7551c 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/FrameAppendRSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/FrameAppendRSPInstruction.html
@@ -351,6 +351,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/FrameIndexingSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/FrameIndexingSPInstruction.html
index 18a08c8..bfe74e8 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/FrameIndexingSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/FrameIndexingSPInstruction.html
@@ -352,6 +352,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/IndexingSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/IndexingSPInstruction.html
index d1a8c14..6e85ac5 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/IndexingSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/IndexingSPInstruction.html
@@ -334,6 +334,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/MapmmChainSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/MapmmChainSPInstruction.html
index 2dff098..555354f 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/MapmmChainSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/MapmmChainSPInstruction.html
@@ -317,6 +317,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/MapmmSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/MapmmSPInstruction.html
index 4b802ba..103d908 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/MapmmSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/MapmmSPInstruction.html
@@ -352,6 +352,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/MatrixAppendMSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/MatrixAppendMSPInstruction.html
index b9aeae6..b347788 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/MatrixAppendMSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/MatrixAppendMSPInstruction.html
@@ -351,6 +351,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/MatrixAppendRSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/MatrixAppendRSPInstruction.html
index e8d7511..3c81cc7 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/MatrixAppendRSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/MatrixAppendRSPInstruction.html
@@ -351,6 +351,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/MatrixIndexingSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/MatrixIndexingSPInstruction.html
index 3d6315a..d28b931 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/MatrixIndexingSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/MatrixIndexingSPInstruction.html
@@ -462,6 +462,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/MatrixReshapeSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/MatrixReshapeSPInstruction.html
index 84ce905..7c13856 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/MatrixReshapeSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/MatrixReshapeSPInstruction.html
@@ -352,6 +352,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/MultiReturnParameterizedBuiltinSPInstruction.TransformEncodeBuild2Function.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/MultiReturnParameterizedBuiltinSPInstruction.TransformEncodeBuild2Function.html
index 2851530..9622e8b 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/MultiReturnParameterizedBuiltinSPInstruction.TransformEncodeBuild2Function.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/MultiReturnParameterizedBuiltinSPInstruction.TransformEncodeBuild2Function.html
@@ -287,6 +287,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/MultiReturnParameterizedBuiltinSPInstruction.TransformEncodeBuildFunction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/MultiReturnParameterizedBuiltinSPInstruction.TransformEncodeBuildFunction.html
index 596798c..c5c03e4 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/MultiReturnParameterizedBuiltinSPInstruction.TransformEncodeBuildFunction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/MultiReturnParameterizedBuiltinSPInstruction.TransformEncodeBuildFunction.html
@@ -120,10 +120,9 @@
 <pre>public static class <span class="typeNameLabel">MultiReturnParameterizedBuiltinSPInstruction.TransformEncodeBuildFunction</span>
 extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements org.apache.spark.api.java.function.PairFlatMapFunction&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;scala.Tuple2&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&gt;&gt;,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;</pre>
-<div class="block">This function pre-aggregates distinct values of recoded columns per partition
- (part of distributed recode map construction, used for recoding, binning and 
- dummy coding). We operate directly over schema-specific objects to avoid 
- unnecessary string conversion, as well as reduce memory overhead and shuffle.</div>
+<div class="block">This function pre-aggregates distinct values of recoded columns per partition (part of distributed recode map
+ construction, used for recoding, binning and dummy coding). We operate directly over schema-specific objects to
+ avoid unnecessary string conversion, as well as reduce memory overhead and shuffle.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../../serialized-form.html#org.apache.sysds.runtime.instructions.spark.MultiReturnParameterizedBuiltinSPInstruction.TransformEncodeBuildFunction">Serialized Form</a></dd>
@@ -146,7 +145,7 @@
 <th class="colOne" scope="col">Constructor and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/MultiReturnParameterizedBuiltinSPInstruction.TransformEncodeBuildFunction.html#TransformEncodeBuildFunction-org.apache.sysds.runtime.transform.encode.Encoder-">TransformEncodeBuildFunction</a></span>(<a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&nbsp;encoder)</code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/MultiReturnParameterizedBuiltinSPInstruction.TransformEncodeBuildFunction.html#TransformEncodeBuildFunction-org.apache.sysds.runtime.transform.encode.MultiColumnEncoder-">TransformEncodeBuildFunction</a></span>(<a href="../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a>&nbsp;encoder)</code>&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -189,13 +188,13 @@
 <!--   -->
 </a>
 <h3>Constructor Detail</h3>
-<a name="TransformEncodeBuildFunction-org.apache.sysds.runtime.transform.encode.Encoder-">
+<a name="TransformEncodeBuildFunction-org.apache.sysds.runtime.transform.encode.MultiColumnEncoder-">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>TransformEncodeBuildFunction</h4>
-<pre>public&nbsp;TransformEncodeBuildFunction(<a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&nbsp;encoder)</pre>
+<pre>public&nbsp;TransformEncodeBuildFunction(<a href="../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a>&nbsp;encoder)</pre>
 </li>
 </ul>
 </li>
@@ -291,6 +290,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/MultiReturnParameterizedBuiltinSPInstruction.TransformEncodeGroup2Function.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/MultiReturnParameterizedBuiltinSPInstruction.TransformEncodeGroup2Function.html
index 79cc818..3b9e2b8 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/MultiReturnParameterizedBuiltinSPInstruction.TransformEncodeGroup2Function.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/MultiReturnParameterizedBuiltinSPInstruction.TransformEncodeGroup2Function.html
@@ -287,6 +287,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/MultiReturnParameterizedBuiltinSPInstruction.TransformEncodeGroupFunction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/MultiReturnParameterizedBuiltinSPInstruction.TransformEncodeGroupFunction.html
index 98ced1c..d35414d 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/MultiReturnParameterizedBuiltinSPInstruction.TransformEncodeGroupFunction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/MultiReturnParameterizedBuiltinSPInstruction.TransformEncodeGroupFunction.html
@@ -120,11 +120,10 @@
 <pre>public static class <span class="typeNameLabel">MultiReturnParameterizedBuiltinSPInstruction.TransformEncodeGroupFunction</span>
 extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements org.apache.spark.api.java.function.FlatMapFunction&lt;scala.Tuple2&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;&gt;,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</pre>
-<div class="block">This function assigns codes to globally distinct values of recoded columns 
- and writes the resulting column map in textcell (IJV) format to the output. 
- (part of distributed recode map construction, used for recoding, binning and 
- dummy coding). We operate directly over schema-specific objects to avoid 
- unnecessary string conversion, as well as reduce memory overhead and shuffle.</div>
+<div class="block">This function assigns codes to globally distinct values of recoded columns and writes the resulting column map in
+ textcell (IJV) format to the output. (part of distributed recode map construction, used for recoding, binning and
+ dummy coding). We operate directly over schema-specific objects to avoid unnecessary string conversion, as well
+ as reduce memory overhead and shuffle.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../../serialized-form.html#org.apache.sysds.runtime.instructions.spark.MultiReturnParameterizedBuiltinSPInstruction.TransformEncodeGroupFunction">Serialized Form</a></dd>
@@ -147,7 +146,8 @@
 <th class="colOne" scope="col">Constructor and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/MultiReturnParameterizedBuiltinSPInstruction.TransformEncodeGroupFunction.html#TransformEncodeGroupFunction-org.apache.sysds.runtime.instructions.spark.MultiReturnParameterizedBuiltinSPInstruction.MaxLongAccumulator-">TransformEncodeGroupFunction</a></span>(org.apache.sysds.runtime.instructions.spark.MultiReturnParameterizedBuiltinSPInstruction.MaxLongAccumulator&nbsp;accMax)</code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/MultiReturnParameterizedBuiltinSPInstruction.TransformEncodeGroupFunction.html#TransformEncodeGroupFunction-org.apache.sysds.runtime.transform.encode.MultiColumnEncoder-org.apache.sysds.runtime.instructions.spark.MultiReturnParameterizedBuiltinSPInstruction.MaxLongAccumulator-">TransformEncodeGroupFunction</a></span>(<a href="../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a>&nbsp;encoder,
+                            org.apache.sysds.runtime.instructions.spark.MultiReturnParameterizedBuiltinSPInstruction.MaxLongAccumulator&nbsp;accMax)</code>&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -190,13 +190,14 @@
 <!--   -->
 </a>
 <h3>Constructor Detail</h3>
-<a name="TransformEncodeGroupFunction-org.apache.sysds.runtime.instructions.spark.MultiReturnParameterizedBuiltinSPInstruction.MaxLongAccumulator-">
+<a name="TransformEncodeGroupFunction-org.apache.sysds.runtime.transform.encode.MultiColumnEncoder-org.apache.sysds.runtime.instructions.spark.MultiReturnParameterizedBuiltinSPInstruction.MaxLongAccumulator-">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>TransformEncodeGroupFunction</h4>
-<pre>public&nbsp;TransformEncodeGroupFunction(org.apache.sysds.runtime.instructions.spark.MultiReturnParameterizedBuiltinSPInstruction.MaxLongAccumulator&nbsp;accMax)</pre>
+<pre>public&nbsp;TransformEncodeGroupFunction(<a href="../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a>&nbsp;encoder,
+                                    org.apache.sysds.runtime.instructions.spark.MultiReturnParameterizedBuiltinSPInstruction.MaxLongAccumulator&nbsp;accMax)</pre>
 </li>
 </ul>
 </li>
@@ -292,6 +293,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/MultiReturnParameterizedBuiltinSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/MultiReturnParameterizedBuiltinSPInstruction.html
index 70e2d5b..2c5a04b 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/MultiReturnParameterizedBuiltinSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/MultiReturnParameterizedBuiltinSPInstruction.html
@@ -155,9 +155,8 @@
 <tr class="rowColor">
 <td class="colFirst"><code>static class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/MultiReturnParameterizedBuiltinSPInstruction.TransformEncodeBuildFunction.html" title="class in org.apache.sysds.runtime.instructions.spark">MultiReturnParameterizedBuiltinSPInstruction.TransformEncodeBuildFunction</a></span></code>
-<div class="block">This function pre-aggregates distinct values of recoded columns per partition
- (part of distributed recode map construction, used for recoding, binning and 
- dummy coding).</div>
+<div class="block">This function pre-aggregates distinct values of recoded columns per partition (part of distributed recode map
+ construction, used for recoding, binning and dummy coding).</div>
 </td>
 </tr>
 <tr class="altColor">
@@ -167,8 +166,8 @@
 <tr class="rowColor">
 <td class="colFirst"><code>static class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/MultiReturnParameterizedBuiltinSPInstruction.TransformEncodeGroupFunction.html" title="class in org.apache.sysds.runtime.instructions.spark">MultiReturnParameterizedBuiltinSPInstruction.TransformEncodeGroupFunction</a></span></code>
-<div class="block">This function assigns codes to globally distinct values of recoded columns 
- and writes the resulting column map in textcell (IJV) format to the output.</div>
+<div class="block">This function assigns codes to globally distinct values of recoded columns and writes the resulting column map in
+ textcell (IJV) format to the output.</div>
 </td>
 </tr>
 </table>
@@ -377,6 +376,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/PMapmmSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/PMapmmSPInstruction.html
index 7385e05..43c5d2b 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/PMapmmSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/PMapmmSPInstruction.html
@@ -354,6 +354,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.CreateMatrixCell.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.CreateMatrixCell.html
index 7ef3f33..6341bdb 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.CreateMatrixCell.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.CreateMatrixCell.html
@@ -289,6 +289,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDMapGroupedAggFunction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDMapGroupedAggFunction.html
index a3a6978..49e0f43 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDMapGroupedAggFunction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDMapGroupedAggFunction.html
@@ -293,6 +293,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDMapGroupedAggFunction2.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDMapGroupedAggFunction2.html
index 7104dc1..fbcdd42 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDMapGroupedAggFunction2.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDMapGroupedAggFunction2.html
@@ -292,6 +292,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDRExpandFunction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDRExpandFunction.html
index 658cd1c..c22efaa 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDRExpandFunction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDRExpandFunction.html
@@ -50,7 +50,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDReplaceFunction.html" title="class in org.apache.sysds.runtime.instructions.spark"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDTransformApplyFunction.html" title="class in org.apache.sysds.runtime.instructions.spark"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDTokenizeFunction.html" title="class in org.apache.sysds.runtime.instructions.spark"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDRExpandFunction.html" target="_top">Frames</a></li>
@@ -142,7 +142,7 @@
 <th class="colOne" scope="col">Constructor and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDRExpandFunction.html#RDDRExpandFunction-double-boolean-boolean-boolean-long-">RDDRExpandFunction</a></span>(double&nbsp;maxVal,
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDRExpandFunction.html#RDDRExpandFunction-long-boolean-boolean-boolean-long-">RDDRExpandFunction</a></span>(long&nbsp;maxVal,
                   boolean&nbsp;dirRows,
                   boolean&nbsp;cast,
                   boolean&nbsp;ignore,
@@ -189,13 +189,13 @@
 <!--   -->
 </a>
 <h3>Constructor Detail</h3>
-<a name="RDDRExpandFunction-double-boolean-boolean-boolean-long-">
+<a name="RDDRExpandFunction-long-boolean-boolean-boolean-long-">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>RDDRExpandFunction</h4>
-<pre>public&nbsp;RDDRExpandFunction(double&nbsp;maxVal,
+<pre>public&nbsp;RDDRExpandFunction(long&nbsp;maxVal,
                           boolean&nbsp;dirRows,
                           boolean&nbsp;cast,
                           boolean&nbsp;ignore,
@@ -255,7 +255,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDReplaceFunction.html" title="class in org.apache.sysds.runtime.instructions.spark"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDTransformApplyFunction.html" title="class in org.apache.sysds.runtime.instructions.spark"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDTokenizeFunction.html" title="class in org.apache.sysds.runtime.instructions.spark"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDRExpandFunction.html" target="_top">Frames</a></li>
@@ -295,6 +295,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDRemoveEmptyFunction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDRemoveEmptyFunction.html
index eec069e..3230450 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDRemoveEmptyFunction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDRemoveEmptyFunction.html
@@ -291,6 +291,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDRemoveEmptyFunctionInMem.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDRemoveEmptyFunctionInMem.html
index 72a34f6..0362e87 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDRemoveEmptyFunctionInMem.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDRemoveEmptyFunctionInMem.html
@@ -293,6 +293,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDReplaceFunction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDReplaceFunction.html
index ba8c319..3241c2e 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDReplaceFunction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDReplaceFunction.html
@@ -286,6 +286,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDTokenizeFunction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDTokenizeFunction.html
new file mode 100644
index 0000000..26f036d
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDTokenizeFunction.html
@@ -0,0 +1,294 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>ParameterizedBuiltinSPInstruction.RDDTokenizeFunction (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="ParameterizedBuiltinSPInstruction.RDDTokenizeFunction (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ParameterizedBuiltinSPInstruction.RDDTokenizeFunction.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDRExpandFunction.html" title="class in org.apache.sysds.runtime.instructions.spark"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDTransformApplyFunction.html" title="class in org.apache.sysds.runtime.instructions.spark"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDTokenizeFunction.html" target="_top">Frames</a></li>
+<li><a href="ParameterizedBuiltinSPInstruction.RDDTokenizeFunction.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.sysds.runtime.instructions.spark</div>
+<h2 title="Class ParameterizedBuiltinSPInstruction.RDDTokenizeFunction" class="title">Class ParameterizedBuiltinSPInstruction.RDDTokenizeFunction</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.sysds.runtime.instructions.spark.ParameterizedBuiltinSPInstruction.RDDTokenizeFunction</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, org.apache.spark.api.java.function.PairFunction&lt;scala.Tuple2&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&gt;,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&gt;</dd>
+</dl>
+<dl>
+<dt>Enclosing class:</dt>
+<dd><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">ParameterizedBuiltinSPInstruction</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public static class <span class="typeNameLabel">ParameterizedBuiltinSPInstruction.RDDTokenizeFunction</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
+implements org.apache.spark.api.java.function.PairFunction&lt;scala.Tuple2&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&gt;,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&gt;</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../../serialized-form.html#org.apache.sysds.runtime.instructions.spark.ParameterizedBuiltinSPInstruction.RDDTokenizeFunction">Serialized Form</a></dd>
+</dl>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDTokenizeFunction.html#RDDTokenizeFunction-org.apache.sysds.runtime.transform.tokenize.Tokenizer-int-">RDDTokenizeFunction</a></span>(<a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/Tokenizer.html" title="class in org.apache.sysds.runtime.transform.tokenize">Tokenizer</a>&nbsp;tokenizer,
+                   int&nbsp;blen)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>scala.Tuple2&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDTokenizeFunction.html#call-scala.Tuple2-">call</a></span>(scala.Tuple2&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&gt;&nbsp;in)</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="RDDTokenizeFunction-org.apache.sysds.runtime.transform.tokenize.Tokenizer-int-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>RDDTokenizeFunction</h4>
+<pre>public&nbsp;RDDTokenizeFunction(<a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/Tokenizer.html" title="class in org.apache.sysds.runtime.transform.tokenize">Tokenizer</a>&nbsp;tokenizer,
+                           int&nbsp;blen)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="call-scala.Tuple2-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>call</h4>
+<pre>public&nbsp;scala.Tuple2&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&gt;&nbsp;call(scala.Tuple2&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&gt;&nbsp;in)
+                                   throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code>call</code>&nbsp;in interface&nbsp;<code>org.apache.spark.api.java.function.PairFunction&lt;scala.Tuple2&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&gt;,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&gt;</code></dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ParameterizedBuiltinSPInstruction.RDDTokenizeFunction.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDRExpandFunction.html" title="class in org.apache.sysds.runtime.instructions.spark"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDTransformApplyFunction.html" title="class in org.apache.sysds.runtime.instructions.spark"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDTokenizeFunction.html" target="_top">Frames</a></li>
+<li><a href="ParameterizedBuiltinSPInstruction.RDDTokenizeFunction.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDTransformApplyFunction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDTransformApplyFunction.html
index 9d12efc..6a84c29 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDTransformApplyFunction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDTransformApplyFunction.html
@@ -49,7 +49,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDRExpandFunction.html" title="class in org.apache.sysds.runtime.instructions.spark"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDTokenizeFunction.html" title="class in org.apache.sysds.runtime.instructions.spark"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDTransformApplyOffsetFunction.html" title="class in org.apache.sysds.runtime.instructions.spark"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -142,7 +142,7 @@
 <th class="colOne" scope="col">Constructor and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDTransformApplyFunction.html#RDDTransformApplyFunction-org.apache.spark.broadcast.Broadcast-org.apache.spark.broadcast.Broadcast-">RDDTransformApplyFunction</a></span>(org.apache.spark.broadcast.Broadcast&lt;<a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&gt;&nbsp;bencoder,
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDTransformApplyFunction.html#RDDTransformApplyFunction-org.apache.spark.broadcast.Broadcast-org.apache.spark.broadcast.Broadcast-">RDDTransformApplyFunction</a></span>(org.apache.spark.broadcast.Broadcast&lt;<a href="../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a>&gt;&nbsp;bencoder,
                          org.apache.spark.broadcast.Broadcast&lt;<a href="../../../../../../org/apache/sysds/runtime/transform/meta/TfOffsetMap.html" title="class in org.apache.sysds.runtime.transform.meta">TfOffsetMap</a>&gt;&nbsp;omap)</code>&nbsp;</td>
 </tr>
 </table>
@@ -192,7 +192,7 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>RDDTransformApplyFunction</h4>
-<pre>public&nbsp;RDDTransformApplyFunction(org.apache.spark.broadcast.Broadcast&lt;<a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&gt;&nbsp;bencoder,
+<pre>public&nbsp;RDDTransformApplyFunction(org.apache.spark.broadcast.Broadcast&lt;<a href="../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a>&gt;&nbsp;bencoder,
                                  org.apache.spark.broadcast.Broadcast&lt;<a href="../../../../../../org/apache/sysds/runtime/transform/meta/TfOffsetMap.html" title="class in org.apache.sysds.runtime.transform.meta">TfOffsetMap</a>&gt;&nbsp;omap)</pre>
 </li>
 </ul>
@@ -248,7 +248,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDRExpandFunction.html" title="class in org.apache.sysds.runtime.instructions.spark"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDTokenizeFunction.html" title="class in org.apache.sysds.runtime.instructions.spark"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDTransformApplyOffsetFunction.html" title="class in org.apache.sysds.runtime.instructions.spark"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -289,6 +289,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDTransformApplyOffsetFunction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDTransformApplyOffsetFunction.html
index d35ec2a..5d33757 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDTransformApplyOffsetFunction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDTransformApplyOffsetFunction.html
@@ -289,6 +289,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDTransformDecodeExpandFunction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDTransformDecodeExpandFunction.html
index 1735796..3ba80ec 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDTransformDecodeExpandFunction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDTransformDecodeExpandFunction.html
@@ -289,6 +289,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDTransformDecodeFunction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDTransformDecodeFunction.html
index 44c841c..0090bbd 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDTransformDecodeFunction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDTransformDecodeFunction.html
@@ -289,6 +289,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.html
index 00f5d5a..b4d5c2b 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.html
@@ -180,18 +180,22 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDTransformApplyFunction.html" title="class in org.apache.sysds.runtime.instructions.spark">ParameterizedBuiltinSPInstruction.RDDTransformApplyFunction</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDTokenizeFunction.html" title="class in org.apache.sysds.runtime.instructions.spark">ParameterizedBuiltinSPInstruction.RDDTokenizeFunction</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDTransformApplyOffsetFunction.html" title="class in org.apache.sysds.runtime.instructions.spark">ParameterizedBuiltinSPInstruction.RDDTransformApplyOffsetFunction</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDTransformApplyFunction.html" title="class in org.apache.sysds.runtime.instructions.spark">ParameterizedBuiltinSPInstruction.RDDTransformApplyFunction</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDTransformDecodeExpandFunction.html" title="class in org.apache.sysds.runtime.instructions.spark">ParameterizedBuiltinSPInstruction.RDDTransformDecodeExpandFunction</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDTransformApplyOffsetFunction.html" title="class in org.apache.sysds.runtime.instructions.spark">ParameterizedBuiltinSPInstruction.RDDTransformApplyOffsetFunction</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDTransformDecodeExpandFunction.html" title="class in org.apache.sysds.runtime.instructions.spark">ParameterizedBuiltinSPInstruction.RDDTransformDecodeExpandFunction</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDTransformDecodeFunction.html" title="class in org.apache.sysds.runtime.instructions.spark">ParameterizedBuiltinSPInstruction.RDDTransformDecodeFunction</a></span></code>&nbsp;</td>
 </tr>
 </table>
@@ -443,6 +447,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/PmmSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/PmmSPInstruction.html
index 6497cd6..d92285c 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/PmmSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/PmmSPInstruction.html
@@ -352,6 +352,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/QuantilePickSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/QuantilePickSPInstruction.html
index 623ba4d..a75ebc7 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/QuantilePickSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/QuantilePickSPInstruction.html
@@ -352,6 +352,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/QuantileSortSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/QuantileSortSPInstruction.html
index d25cdc0..ffaaf09 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/QuantileSortSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/QuantileSortSPInstruction.html
@@ -357,6 +357,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/QuaternarySPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/QuaternarySPInstruction.html
index 903b715..37068e2 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/QuaternarySPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/QuaternarySPInstruction.html
@@ -347,6 +347,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/RandSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/RandSPInstruction.html
index d99f9f5..a115c6b 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/RandSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/RandSPInstruction.html
@@ -509,6 +509,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/ReblockSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/ReblockSPInstruction.html
index e9ec950..fe32dd0 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/ReblockSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/ReblockSPInstruction.html
@@ -352,6 +352,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/ReorgSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/ReorgSPInstruction.html
index 7609ec2..41c297d 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/ReorgSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/ReorgSPInstruction.html
@@ -352,6 +352,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/RmmSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/RmmSPInstruction.html
index 6e47aad..2597fa1 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/RmmSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/RmmSPInstruction.html
@@ -352,6 +352,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/SPInstruction.SPType.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/SPInstruction.SPType.html
index 5bc74f8..d718805 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/SPInstruction.SPType.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/SPInstruction.SPType.html
@@ -190,87 +190,90 @@
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.SPType.html#CumsumOffset">CumsumOffset</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.SPType.html#DeCompression">DeCompression</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.SPType.html#Dnn">Dnn</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.SPType.html#GAlignedAppend">GAlignedAppend</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.SPType.html#GAppend">GAppend</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.SPType.html#MAPMM">MAPMM</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.SPType.html#MAPMMCHAIN">MAPMMCHAIN</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.SPType.html#MAppend">MAppend</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.SPType.html#MatrixIndexing">MatrixIndexing</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.SPType.html#MatrixReshape">MatrixReshape</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.SPType.html#MultiReturnBuiltin">MultiReturnBuiltin</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.SPType.html#ParameterizedBuiltin">ParameterizedBuiltin</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.SPType.html#PMAPMM">PMAPMM</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.SPType.html#PMM">PMM</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.SPType.html#QPick">QPick</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.SPType.html#QSort">QSort</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.SPType.html#Quaternary">Quaternary</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.SPType.html#Rand">Rand</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.SPType.html#RAppend">RAppend</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.SPType.html#Reblock">Reblock</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.SPType.html#Reorg">Reorg</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.SPType.html#RMM">RMM</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.SPType.html#SpoofFused">SpoofFused</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.SPType.html#Ternary">Ternary</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.SPType.html#TSMM">TSMM</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.SPType.html#TSMM2">TSMM2</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.SPType.html#UaggOuterChain">UaggOuterChain</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.SPType.html#Unary">Unary</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.SPType.html#Write">Write</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.SPType.html#ZIPMM">ZIPMM</a></span></code>&nbsp;</td>
 </tr>
 </table>
@@ -537,6 +540,15 @@
 <pre>public static final&nbsp;<a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.SPType.html" title="enum in org.apache.sysds.runtime.instructions.spark">SPInstruction.SPType</a> Compression</pre>
 </li>
 </ul>
+<a name="DeCompression">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>DeCompression</h4>
+<pre>public static final&nbsp;<a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.SPType.html" title="enum in org.apache.sysds.runtime.instructions.spark">SPInstruction.SPType</a> DeCompression</pre>
+</li>
+</ul>
 <a name="Cast">
 <!--   -->
 </a>
@@ -845,6 +857,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/SPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/SPInstruction.html
index 8c6c3fd..dba6634 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/SPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/SPInstruction.html
@@ -416,6 +416,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/SpoofSPInstruction.ReplicateRightFactorFunction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/SpoofSPInstruction.ReplicateRightFactorFunction.html
index ea35f17..c65594e 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/SpoofSPInstruction.ReplicateRightFactorFunction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/SpoofSPInstruction.ReplicateRightFactorFunction.html
@@ -289,6 +289,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/SpoofSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/SpoofSPInstruction.html
index 3e48175..f46df2d 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/SpoofSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/SpoofSPInstruction.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":9,"i2":10};
+var methods = {"i0":9,"i1":10,"i2":10,"i3":9,"i4":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -192,10 +192,18 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SpoofSPInstruction.html#getAggregateOperator-org.apache.sysds.runtime.codegen.SpoofCellwise.AggOp-">getAggregateOperator</a></span>(<a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCellwise.AggOp.html" title="enum in org.apache.sysds.runtime.codegen">SpoofCellwise.AggOp</a>&nbsp;aggop)</code>&nbsp;</td>
 </tr>
 <tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SpoofSPInstruction.html#getOperatorClass--">getOperatorClass</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SpoofSPInstruction.html#isFederated-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">isFederated</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SpoofSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">SpoofSPInstruction</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SpoofSPInstruction.html#parseInstruction-java.lang.String-">parseInstruction</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</code>&nbsp;</td>
 </tr>
-<tr id="i2" class="altColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SpoofSPInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>
 <div class="block">This method should be used to execute the instruction.</div>
@@ -246,6 +254,15 @@
 <pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SpoofSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">SpoofSPInstruction</a>&nbsp;parseInstruction(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</pre>
 </li>
 </ul>
+<a name="getOperatorClass--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getOperatorClass</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;getOperatorClass()</pre>
+</li>
+</ul>
 <a name="processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">
 <!--   -->
 </a>
@@ -266,12 +283,21 @@
 <a name="getAggregateOperator-org.apache.sysds.runtime.codegen.SpoofCellwise.AggOp-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>getAggregateOperator</h4>
 <pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateOperator</a>&nbsp;getAggregateOperator(<a href="../../../../../../org/apache/sysds/runtime/codegen/SpoofCellwise.AggOp.html" title="enum in org.apache.sysds.runtime.codegen">SpoofCellwise.AggOp</a>&nbsp;aggop)</pre>
 </li>
 </ul>
+<a name="isFederated-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>isFederated</h4>
+<pre>public&nbsp;boolean&nbsp;isFederated(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</pre>
+</li>
+</ul>
 </li>
 </ul>
 </li>
@@ -341,6 +367,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/TernarySPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/TernarySPInstruction.html
index ab83fe5..84ea28c 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/TernarySPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/TernarySPInstruction.html
@@ -347,6 +347,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/Tsmm2SPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/Tsmm2SPInstruction.html
index 690e5b8..7b8a23f 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/Tsmm2SPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/Tsmm2SPInstruction.html
@@ -352,6 +352,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/TsmmSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/TsmmSPInstruction.html
index 0627b14..4705abd 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/TsmmSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/TsmmSPInstruction.html
@@ -352,6 +352,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/UaggOuterChainSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/UaggOuterChainSPInstruction.html
index f234ebe..fee8120 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/UaggOuterChainSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/UaggOuterChainSPInstruction.html
@@ -355,6 +355,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/UnaryFrameSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/UnaryFrameSPInstruction.html
index de97bfe..980e19d 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/UnaryFrameSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/UnaryFrameSPInstruction.html
@@ -365,6 +365,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/UnaryMatrixSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/UnaryMatrixSPInstruction.html
index 26cef88..63b1817 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/UnaryMatrixSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/UnaryMatrixSPInstruction.html
@@ -352,6 +352,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/UnarySPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/UnarySPInstruction.html
index 7884050..97de6e5 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/UnarySPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/UnarySPInstruction.html
@@ -122,7 +122,7 @@
 </dl>
 <dl>
 <dt>Direct Known Subclasses:</dt>
-<dd><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/AggregateUnarySPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">AggregateUnarySPInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/BinUaggChainSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">BinUaggChainSPInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/CastSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">CastSPInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/CentralMomentSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">CentralMomentSPInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/CheckpointSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">CheckpointSPInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/CompressionSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">CompressionSPInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/CSVReblockSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">CSVReblockSPInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/DnnSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">DnnSPInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/IndexingSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">IndexingSPInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/MatrixReshapeSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">MatrixReshapeSPInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/QuantileSortSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">QuantileSortSPInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/RandSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">RandSPInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/ReblockSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">ReblockSPInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/ReorgSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">ReorgSPInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/Tsmm2SPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">Tsmm2SPInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/TsmmSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">TsmmSPInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/UnaryFrameSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">UnaryFrameSPInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/UnaryMatrixSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">UnaryMatrixSPInstruction</a></dd>
+<dd><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/AggregateUnarySPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">AggregateUnarySPInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/BinUaggChainSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">BinUaggChainSPInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/CastSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">CastSPInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/CentralMomentSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">CentralMomentSPInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/CheckpointSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">CheckpointSPInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/CompressionSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">CompressionSPInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/CSVReblockSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">CSVReblockSPInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/DeCompressionSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">DeCompressionSPInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/DnnSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">DnnSPInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/IndexingSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">IndexingSPInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/MatrixReshapeSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">MatrixReshapeSPInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/QuantileSortSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">QuantileSortSPInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/RandSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">RandSPInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/ReblockSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">ReblockSPInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/ReorgSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">ReorgSPInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/Tsmm2SPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">Tsmm2SPInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/TsmmSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">TsmmSPInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/UnaryFrameSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">UnaryFrameSPInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/UnaryMatrixSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">UnaryMatrixSPInstruction</a></dd>
 </dl>
 <hr>
 <br>
@@ -288,6 +288,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/WriteSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/WriteSPInstruction.html
index a0c639c..b677f62 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/WriteSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/WriteSPInstruction.html
@@ -434,6 +434,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/ZipmmSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/ZipmmSPInstruction.html
index 6d8cebf..d7efbdb 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/ZipmmSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/ZipmmSPInstruction.html
@@ -352,6 +352,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/AggregateTernarySPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/AggregateTernarySPInstruction.html
index 0ae30bc..55a1365 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/AggregateTernarySPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/AggregateTernarySPInstruction.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/AggregateUnarySPInstruction.RDDUAggFunction2.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/AggregateUnarySPInstruction.RDDUAggFunction2.html
index 3e59e35..fc26f4c 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/AggregateUnarySPInstruction.RDDUAggFunction2.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/AggregateUnarySPInstruction.RDDUAggFunction2.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/AggregateUnarySPInstruction.RDDUTensorAggFunction2.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/AggregateUnarySPInstruction.RDDUTensorAggFunction2.html
index 6effceb..b852233 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/AggregateUnarySPInstruction.RDDUTensorAggFunction2.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/AggregateUnarySPInstruction.RDDUTensorAggFunction2.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/AggregateUnarySPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/AggregateUnarySPInstruction.html
index 555d3a8..7d2aad8 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/AggregateUnarySPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/AggregateUnarySPInstruction.html
@@ -173,6 +173,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/AppendGAlignedSPInstruction.ShiftColumnIndex.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/AppendGAlignedSPInstruction.ShiftColumnIndex.html
index 85beb98..ce983f5 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/AppendGAlignedSPInstruction.ShiftColumnIndex.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/AppendGAlignedSPInstruction.ShiftColumnIndex.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/AppendGAlignedSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/AppendGAlignedSPInstruction.html
index f2d2c3d..a398dad 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/AppendGAlignedSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/AppendGAlignedSPInstruction.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/AppendGSPInstruction.MergeWithShiftedBlocks.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/AppendGSPInstruction.MergeWithShiftedBlocks.html
index 3d1c6d2..af70e48 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/AppendGSPInstruction.MergeWithShiftedBlocks.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/AppendGSPInstruction.MergeWithShiftedBlocks.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/AppendGSPInstruction.ShiftMatrix.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/AppendGSPInstruction.ShiftMatrix.html
index 00e4485..75c24b5 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/AppendGSPInstruction.ShiftMatrix.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/AppendGSPInstruction.ShiftMatrix.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/AppendGSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/AppendGSPInstruction.html
index 9d20ab8..e2dbfde 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/AppendGSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/AppendGSPInstruction.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/AppendMSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/AppendMSPInstruction.html
index 9bd73cd..19a2c53 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/AppendMSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/AppendMSPInstruction.html
@@ -177,6 +177,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/AppendRSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/AppendRSPInstruction.html
index 5f2ec33..1807c4a 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/AppendRSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/AppendRSPInstruction.html
@@ -177,6 +177,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/BinUaggChainSPInstruction.RDDBinUaggChainFunction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/BinUaggChainSPInstruction.RDDBinUaggChainFunction.html
index cbbc005..5020112 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/BinUaggChainSPInstruction.RDDBinUaggChainFunction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/BinUaggChainSPInstruction.RDDBinUaggChainFunction.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/BinUaggChainSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/BinUaggChainSPInstruction.html
index 4f4fcf7..77afc91 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/BinUaggChainSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/BinUaggChainSPInstruction.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/BinaryFrameFrameSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/BinaryFrameFrameSPInstruction.html
index 0583883..5373ebb 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/BinaryFrameFrameSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/BinaryFrameFrameSPInstruction.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/BinaryFrameMatrixSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/BinaryFrameMatrixSPInstruction.html
index edd7acd..49285ef 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/BinaryFrameMatrixSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/BinaryFrameMatrixSPInstruction.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/BinaryFrameScalarSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/BinaryFrameScalarSPInstruction.html
index 942a418..c521f9d 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/BinaryFrameScalarSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/BinaryFrameScalarSPInstruction.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/BinaryMatrixBVectorSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/BinaryMatrixBVectorSPInstruction.html
index bcf0af0..49b6818 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/BinaryMatrixBVectorSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/BinaryMatrixBVectorSPInstruction.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/BinaryMatrixMatrixSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/BinaryMatrixMatrixSPInstruction.html
index 00245be..b283943 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/BinaryMatrixMatrixSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/BinaryMatrixMatrixSPInstruction.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/BinaryMatrixScalarSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/BinaryMatrixScalarSPInstruction.html
index c5b95e5..6041ae8 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/BinaryMatrixScalarSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/BinaryMatrixScalarSPInstruction.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/BinarySPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/BinarySPInstruction.html
index ec62e57..567a3d2 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/BinarySPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/BinarySPInstruction.html
@@ -281,6 +281,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/BinaryTensorTensorBroadcastSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/BinaryTensorTensorBroadcastSPInstruction.html
index f06bf57..3327eed 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/BinaryTensorTensorBroadcastSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/BinaryTensorTensorBroadcastSPInstruction.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/BinaryTensorTensorSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/BinaryTensorTensorSPInstruction.html
index 176df53..b7165c7 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/BinaryTensorTensorSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/BinaryTensorTensorSPInstruction.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/BuiltinNarySPInstruction.PadBlocksFunction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/BuiltinNarySPInstruction.PadBlocksFunction.html
index b474c24..02b98d0 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/BuiltinNarySPInstruction.PadBlocksFunction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/BuiltinNarySPInstruction.PadBlocksFunction.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/BuiltinNarySPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/BuiltinNarySPInstruction.html
index 37e2482..a68de28 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/BuiltinNarySPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/BuiltinNarySPInstruction.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/CSVReblockSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/CSVReblockSPInstruction.html
index 040c143..d1c4924 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/CSVReblockSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/CSVReblockSPInstruction.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/CastSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/CastSPInstruction.html
index 4385a45..2267faa 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/CastSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/CastSPInstruction.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/CentralMomentSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/CentralMomentSPInstruction.html
index 2455987..907846f 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/CentralMomentSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/CentralMomentSPInstruction.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/CheckpointSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/CheckpointSPInstruction.html
index d016e9c..8abba9c 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/CheckpointSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/CheckpointSPInstruction.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/CompressionSPInstruction.CompressionFunction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/CompressionSPInstruction.CompressionFunction.html
index 77a3cf9..d2810b4 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/CompressionSPInstruction.CompressionFunction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/CompressionSPInstruction.CompressionFunction.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/CompressionSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/CompressionSPInstruction.html
index 31ffe65..2b59fd6 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/CompressionSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/CompressionSPInstruction.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/ComputationSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/ComputationSPInstruction.html
index 5854449..9422873 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/ComputationSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/ComputationSPInstruction.html
@@ -211,130 +211,134 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/DnnSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">DnnSPInstruction</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/DeCompressionSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">DeCompressionSPInstruction</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/FrameAppendMSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">FrameAppendMSPInstruction</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/DnnSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">DnnSPInstruction</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/FrameAppendRSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">FrameAppendRSPInstruction</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/FrameAppendMSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">FrameAppendMSPInstruction</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/FrameAppendRSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">FrameAppendRSPInstruction</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/FrameIndexingSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">FrameIndexingSPInstruction</a></span></code>
 <div class="block">This class implements the frame indexing functionality inside Spark.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/IndexingSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">IndexingSPInstruction</a></span></code>
 <div class="block">This class implements the matrix indexing functionality inside Spark.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/MapmmSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">MapmmSPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/MatrixAppendMSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">MatrixAppendMSPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/MatrixAppendRSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">MatrixAppendRSPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/MatrixIndexingSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">MatrixIndexingSPInstruction</a></span></code>
 <div class="block">This class implements the matrix indexing functionality inside CP.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/MatrixReshapeSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">MatrixReshapeSPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/MultiReturnParameterizedBuiltinSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">MultiReturnParameterizedBuiltinSPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">ParameterizedBuiltinSPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/PMapmmSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">PMapmmSPInstruction</a></span></code>
 <div class="block">This pmapmm matrix multiplication instruction is still experimental
  not integrated in automatic operator selection yet.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/PmmSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">PmmSPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/QuantilePickSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">QuantilePickSPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/QuantileSortSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">QuantileSortSPInstruction</a></span></code>
 <div class="block">This class supports two variants of sort operation on a 1-dimensional input matrix.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/QuaternarySPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">QuaternarySPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/RandSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">RandSPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/ReblockSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">ReblockSPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/ReorgSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">ReorgSPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/RmmSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">RmmSPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/TernarySPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">TernarySPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/Tsmm2SPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">Tsmm2SPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/TsmmSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">TsmmSPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/UaggOuterChainSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">UaggOuterChainSPInstruction</a></span></code>
 <div class="block">Two types of broadcast variables used -- 1.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/UnaryFrameSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">UnaryFrameSPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/UnaryMatrixSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">UnaryMatrixSPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/UnarySPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">UnarySPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/ZipmmSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">ZipmmSPInstruction</a></span></code>&nbsp;</td>
 </tr>
@@ -392,6 +396,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/CovarianceSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/CovarianceSPInstruction.html
index ead1aa4..2c92f72 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/CovarianceSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/CovarianceSPInstruction.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/CpmmSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/CpmmSPInstruction.html
index f6665ee..c8fbb15 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/CpmmSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/CpmmSPInstruction.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/CtableSPInstruction.MapJoinSignature1.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/CtableSPInstruction.MapJoinSignature1.html
index eb09419..0a06472 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/CtableSPInstruction.MapJoinSignature1.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/CtableSPInstruction.MapJoinSignature1.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/CtableSPInstruction.MapJoinSignature2.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/CtableSPInstruction.MapJoinSignature2.html
index 343d57f..f8f5e91 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/CtableSPInstruction.MapJoinSignature2.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/CtableSPInstruction.MapJoinSignature2.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/CtableSPInstruction.MapJoinSignature3.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/CtableSPInstruction.MapJoinSignature3.html
index 53b79ae..7bfc48e 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/CtableSPInstruction.MapJoinSignature3.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/CtableSPInstruction.MapJoinSignature3.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/CtableSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/CtableSPInstruction.html
index a02290a..14f3903 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/CtableSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/CtableSPInstruction.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/CumulativeAggregateSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/CumulativeAggregateSPInstruction.html
index 2e44f17..f63ef76 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/CumulativeAggregateSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/CumulativeAggregateSPInstruction.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/CumulativeOffsetSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/CumulativeOffsetSPInstruction.html
index 82b3f9d..4d34fce 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/CumulativeOffsetSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/CumulativeOffsetSPInstruction.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/EncoderComposite.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/DeCompressionSPInstruction.DeCompressionFunction.html
similarity index 70%
copy from docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/EncoderComposite.html
copy to docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/DeCompressionSPInstruction.DeCompressionFunction.html
index 33a7472..8741439 100644
--- a/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/EncoderComposite.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/DeCompressionSPInstruction.DeCompressionFunction.html
@@ -4,7 +4,7 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.sysds.runtime.transform.encode.EncoderComposite (SystemDS 2.1.0-SNAPSHOT API)</title>
+<title>Uses of Class org.apache.sysds.runtime.instructions.spark.DeCompressionSPInstruction.DeCompressionFunction (SystemDS 2.1.0-SNAPSHOT API)</title>
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.sysds.runtime.transform.encode.EncoderComposite (SystemDS 2.1.0-SNAPSHOT API)";
+            parent.document.title="Uses of Class org.apache.sysds.runtime.instructions.spark.DeCompressionSPInstruction.DeCompressionFunction (SystemDS 2.1.0-SNAPSHOT API)";
         }
     }
     catch(err) {
@@ -33,7 +33,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">Class</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/DeCompressionSPInstruction.DeCompressionFunction.html" title="class in org.apache.sysds.runtime.instructions.spark">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -47,8 +47,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/transform/encode/class-use/EncoderComposite.html" target="_top">Frames</a></li>
-<li><a href="EncoderComposite.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/instructions/spark/class-use/DeCompressionSPInstruction.DeCompressionFunction.html" target="_top">Frames</a></li>
+<li><a href="DeCompressionSPInstruction.DeCompressionFunction.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -70,9 +70,9 @@
 </a></div>
 <!-- ========= END OF TOP NAVBAR ========= -->
 <div class="header">
-<h2 title="Uses of Class org.apache.sysds.runtime.transform.encode.EncoderComposite" class="title">Uses of Class<br>org.apache.sysds.runtime.transform.encode.EncoderComposite</h2>
+<h2 title="Uses of Class org.apache.sysds.runtime.instructions.spark.DeCompressionSPInstruction.DeCompressionFunction" class="title">Uses of Class<br>org.apache.sysds.runtime.instructions.spark.DeCompressionSPInstruction.DeCompressionFunction</h2>
 </div>
-<div class="classUseContainer">No usage of org.apache.sysds.runtime.transform.encode.EncoderComposite</div>
+<div class="classUseContainer">No usage of org.apache.sysds.runtime.instructions.spark.DeCompressionSPInstruction.DeCompressionFunction</div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
 <!--   -->
@@ -84,7 +84,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">Class</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/DeCompressionSPInstruction.DeCompressionFunction.html" title="class in org.apache.sysds.runtime.instructions.spark">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -98,8 +98,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/transform/encode/class-use/EncoderComposite.html" target="_top">Frames</a></li>
-<li><a href="EncoderComposite.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/instructions/spark/class-use/DeCompressionSPInstruction.DeCompressionFunction.html" target="_top">Frames</a></li>
+<li><a href="DeCompressionSPInstruction.DeCompressionFunction.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/DeCompressionSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/DeCompressionSPInstruction.html
new file mode 100644
index 0000000..3ef6dc8
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/DeCompressionSPInstruction.html
@@ -0,0 +1,165 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.sysds.runtime.instructions.spark.DeCompressionSPInstruction (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.sysds.runtime.instructions.spark.DeCompressionSPInstruction (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/DeCompressionSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/instructions/spark/class-use/DeCompressionSPInstruction.html" target="_top">Frames</a></li>
+<li><a href="DeCompressionSPInstruction.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.sysds.runtime.instructions.spark.DeCompressionSPInstruction" class="title">Uses of Class<br>org.apache.sysds.runtime.instructions.spark.DeCompressionSPInstruction</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/DeCompressionSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">DeCompressionSPInstruction</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.spark">org.apache.sysds.runtime.instructions.spark</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.sysds.runtime.instructions.spark">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/DeCompressionSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">DeCompressionSPInstruction</a> in <a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/package-summary.html">org.apache.sysds.runtime.instructions.spark</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/package-summary.html">org.apache.sysds.runtime.instructions.spark</a> that return <a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/DeCompressionSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">DeCompressionSPInstruction</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/DeCompressionSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">DeCompressionSPInstruction</a></code></td>
+<td class="colLast"><span class="typeNameLabel">DeCompressionSPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/DeCompressionSPInstruction.html#parseInstruction-java.lang.String-">parseInstruction</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/DeCompressionSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/instructions/spark/class-use/DeCompressionSPInstruction.html" target="_top">Frames</a></li>
+<li><a href="DeCompressionSPInstruction.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/DnnSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/DnnSPInstruction.html
index 1e7dbe5..69b7b6f 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/DnnSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/DnnSPInstruction.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/FrameAppendMSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/FrameAppendMSPInstruction.html
index f6e0d43..b129b21 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/FrameAppendMSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/FrameAppendMSPInstruction.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/FrameAppendRSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/FrameAppendRSPInstruction.html
index 01cc283..cb9f50e 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/FrameAppendRSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/FrameAppendRSPInstruction.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/FrameIndexingSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/FrameIndexingSPInstruction.html
index bae82fd..5dfe3e7 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/FrameIndexingSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/FrameIndexingSPInstruction.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/IndexingSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/IndexingSPInstruction.html
index 536212c..ce3c67a 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/IndexingSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/IndexingSPInstruction.html
@@ -181,6 +181,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/MapmmChainSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/MapmmChainSPInstruction.html
index d46cc06..fc1a5e9 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/MapmmChainSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/MapmmChainSPInstruction.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/MapmmSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/MapmmSPInstruction.html
index 8db074e..622f631 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/MapmmSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/MapmmSPInstruction.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/MatrixAppendMSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/MatrixAppendMSPInstruction.html
index 6a2c92e..0f7869a 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/MatrixAppendMSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/MatrixAppendMSPInstruction.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/MatrixAppendRSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/MatrixAppendRSPInstruction.html
index 34ef373..8348f16 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/MatrixAppendRSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/MatrixAppendRSPInstruction.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/MatrixIndexingSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/MatrixIndexingSPInstruction.html
index cd76181..5c7c4df 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/MatrixIndexingSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/MatrixIndexingSPInstruction.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/MatrixReshapeSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/MatrixReshapeSPInstruction.html
index 6955c9c..49f0a52 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/MatrixReshapeSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/MatrixReshapeSPInstruction.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/MultiReturnParameterizedBuiltinSPInstruction.TransformEncodeBuild2Function.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/MultiReturnParameterizedBuiltinSPInstruction.TransformEncodeBuild2Function.html
index d9b2e7f..c02a763 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/MultiReturnParameterizedBuiltinSPInstruction.TransformEncodeBuild2Function.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/MultiReturnParameterizedBuiltinSPInstruction.TransformEncodeBuild2Function.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/MultiReturnParameterizedBuiltinSPInstruction.TransformEncodeBuildFunction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/MultiReturnParameterizedBuiltinSPInstruction.TransformEncodeBuildFunction.html
index e398b22..0dad57f 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/MultiReturnParameterizedBuiltinSPInstruction.TransformEncodeBuildFunction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/MultiReturnParameterizedBuiltinSPInstruction.TransformEncodeBuildFunction.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/MultiReturnParameterizedBuiltinSPInstruction.TransformEncodeGroup2Function.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/MultiReturnParameterizedBuiltinSPInstruction.TransformEncodeGroup2Function.html
index fed3628..7fc35c4 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/MultiReturnParameterizedBuiltinSPInstruction.TransformEncodeGroup2Function.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/MultiReturnParameterizedBuiltinSPInstruction.TransformEncodeGroup2Function.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/MultiReturnParameterizedBuiltinSPInstruction.TransformEncodeGroupFunction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/MultiReturnParameterizedBuiltinSPInstruction.TransformEncodeGroupFunction.html
index 49d8f0e..73f0c4a 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/MultiReturnParameterizedBuiltinSPInstruction.TransformEncodeGroupFunction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/MultiReturnParameterizedBuiltinSPInstruction.TransformEncodeGroupFunction.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/MultiReturnParameterizedBuiltinSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/MultiReturnParameterizedBuiltinSPInstruction.html
index 3012fa6..70bf057 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/MultiReturnParameterizedBuiltinSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/MultiReturnParameterizedBuiltinSPInstruction.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/PMapmmSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/PMapmmSPInstruction.html
index 02b0ecd..d22bebd 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/PMapmmSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/PMapmmSPInstruction.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/ParameterizedBuiltinSPInstruction.CreateMatrixCell.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/ParameterizedBuiltinSPInstruction.CreateMatrixCell.html
index f34038a..85bc402 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/ParameterizedBuiltinSPInstruction.CreateMatrixCell.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/ParameterizedBuiltinSPInstruction.CreateMatrixCell.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/ParameterizedBuiltinSPInstruction.RDDMapGroupedAggFunction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/ParameterizedBuiltinSPInstruction.RDDMapGroupedAggFunction.html
index a4a6eb8..33579f1 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/ParameterizedBuiltinSPInstruction.RDDMapGroupedAggFunction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/ParameterizedBuiltinSPInstruction.RDDMapGroupedAggFunction.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/ParameterizedBuiltinSPInstruction.RDDMapGroupedAggFunction2.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/ParameterizedBuiltinSPInstruction.RDDMapGroupedAggFunction2.html
index bc09078..93c1a0e 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/ParameterizedBuiltinSPInstruction.RDDMapGroupedAggFunction2.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/ParameterizedBuiltinSPInstruction.RDDMapGroupedAggFunction2.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/ParameterizedBuiltinSPInstruction.RDDRExpandFunction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/ParameterizedBuiltinSPInstruction.RDDRExpandFunction.html
index ccbf449..74c5411 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/ParameterizedBuiltinSPInstruction.RDDRExpandFunction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/ParameterizedBuiltinSPInstruction.RDDRExpandFunction.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/ParameterizedBuiltinSPInstruction.RDDRemoveEmptyFunction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/ParameterizedBuiltinSPInstruction.RDDRemoveEmptyFunction.html
index b0bd1c1..6c52df4 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/ParameterizedBuiltinSPInstruction.RDDRemoveEmptyFunction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/ParameterizedBuiltinSPInstruction.RDDRemoveEmptyFunction.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/ParameterizedBuiltinSPInstruction.RDDRemoveEmptyFunctionInMem.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/ParameterizedBuiltinSPInstruction.RDDRemoveEmptyFunctionInMem.html
index 51983d5..b30ad23 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/ParameterizedBuiltinSPInstruction.RDDRemoveEmptyFunctionInMem.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/ParameterizedBuiltinSPInstruction.RDDRemoveEmptyFunctionInMem.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/ParameterizedBuiltinSPInstruction.RDDReplaceFunction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/ParameterizedBuiltinSPInstruction.RDDReplaceFunction.html
index 0a0b966..42962d3 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/ParameterizedBuiltinSPInstruction.RDDReplaceFunction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/ParameterizedBuiltinSPInstruction.RDDReplaceFunction.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/EncoderComposite.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/ParameterizedBuiltinSPInstruction.RDDTokenizeFunction.html
similarity index 69%
copy from docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/EncoderComposite.html
copy to docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/ParameterizedBuiltinSPInstruction.RDDTokenizeFunction.html
index 33a7472..b44bd0e 100644
--- a/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/EncoderComposite.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/ParameterizedBuiltinSPInstruction.RDDTokenizeFunction.html
@@ -4,7 +4,7 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.sysds.runtime.transform.encode.EncoderComposite (SystemDS 2.1.0-SNAPSHOT API)</title>
+<title>Uses of Class org.apache.sysds.runtime.instructions.spark.ParameterizedBuiltinSPInstruction.RDDTokenizeFunction (SystemDS 2.1.0-SNAPSHOT API)</title>
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.sysds.runtime.transform.encode.EncoderComposite (SystemDS 2.1.0-SNAPSHOT API)";
+            parent.document.title="Uses of Class org.apache.sysds.runtime.instructions.spark.ParameterizedBuiltinSPInstruction.RDDTokenizeFunction (SystemDS 2.1.0-SNAPSHOT API)";
         }
     }
     catch(err) {
@@ -33,7 +33,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">Class</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDTokenizeFunction.html" title="class in org.apache.sysds.runtime.instructions.spark">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -47,8 +47,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/transform/encode/class-use/EncoderComposite.html" target="_top">Frames</a></li>
-<li><a href="EncoderComposite.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/instructions/spark/class-use/ParameterizedBuiltinSPInstruction.RDDTokenizeFunction.html" target="_top">Frames</a></li>
+<li><a href="ParameterizedBuiltinSPInstruction.RDDTokenizeFunction.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -70,9 +70,9 @@
 </a></div>
 <!-- ========= END OF TOP NAVBAR ========= -->
 <div class="header">
-<h2 title="Uses of Class org.apache.sysds.runtime.transform.encode.EncoderComposite" class="title">Uses of Class<br>org.apache.sysds.runtime.transform.encode.EncoderComposite</h2>
+<h2 title="Uses of Class org.apache.sysds.runtime.instructions.spark.ParameterizedBuiltinSPInstruction.RDDTokenizeFunction" class="title">Uses of Class<br>org.apache.sysds.runtime.instructions.spark.ParameterizedBuiltinSPInstruction.RDDTokenizeFunction</h2>
 </div>
-<div class="classUseContainer">No usage of org.apache.sysds.runtime.transform.encode.EncoderComposite</div>
+<div class="classUseContainer">No usage of org.apache.sysds.runtime.instructions.spark.ParameterizedBuiltinSPInstruction.RDDTokenizeFunction</div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
 <!--   -->
@@ -84,7 +84,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">Class</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDTokenizeFunction.html" title="class in org.apache.sysds.runtime.instructions.spark">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -98,8 +98,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/transform/encode/class-use/EncoderComposite.html" target="_top">Frames</a></li>
-<li><a href="EncoderComposite.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/instructions/spark/class-use/ParameterizedBuiltinSPInstruction.RDDTokenizeFunction.html" target="_top">Frames</a></li>
+<li><a href="ParameterizedBuiltinSPInstruction.RDDTokenizeFunction.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/ParameterizedBuiltinSPInstruction.RDDTransformApplyFunction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/ParameterizedBuiltinSPInstruction.RDDTransformApplyFunction.html
index 0190846..661497a 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/ParameterizedBuiltinSPInstruction.RDDTransformApplyFunction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/ParameterizedBuiltinSPInstruction.RDDTransformApplyFunction.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/ParameterizedBuiltinSPInstruction.RDDTransformApplyOffsetFunction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/ParameterizedBuiltinSPInstruction.RDDTransformApplyOffsetFunction.html
index faf0a43..aa25dd2 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/ParameterizedBuiltinSPInstruction.RDDTransformApplyOffsetFunction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/ParameterizedBuiltinSPInstruction.RDDTransformApplyOffsetFunction.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/ParameterizedBuiltinSPInstruction.RDDTransformDecodeExpandFunction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/ParameterizedBuiltinSPInstruction.RDDTransformDecodeExpandFunction.html
index ca6db06..dc5bed9 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/ParameterizedBuiltinSPInstruction.RDDTransformDecodeExpandFunction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/ParameterizedBuiltinSPInstruction.RDDTransformDecodeExpandFunction.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/ParameterizedBuiltinSPInstruction.RDDTransformDecodeFunction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/ParameterizedBuiltinSPInstruction.RDDTransformDecodeFunction.html
index 6eac015..cefc0a7 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/ParameterizedBuiltinSPInstruction.RDDTransformDecodeFunction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/ParameterizedBuiltinSPInstruction.RDDTransformDecodeFunction.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/ParameterizedBuiltinSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/ParameterizedBuiltinSPInstruction.html
index a3e79be..6c41011 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/ParameterizedBuiltinSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/ParameterizedBuiltinSPInstruction.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/PmmSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/PmmSPInstruction.html
index 1dbf957..3c367b9 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/PmmSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/PmmSPInstruction.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/QuantilePickSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/QuantilePickSPInstruction.html
index 165a35e..44a5f1f 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/QuantilePickSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/QuantilePickSPInstruction.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/QuantileSortSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/QuantileSortSPInstruction.html
index c9a9e9a..cab4149 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/QuantileSortSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/QuantileSortSPInstruction.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/QuaternarySPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/QuaternarySPInstruction.html
index 1369df2..90f1327 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/QuaternarySPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/QuaternarySPInstruction.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/RandSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/RandSPInstruction.html
index 6e9a426..4b5fce5 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/RandSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/RandSPInstruction.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/ReblockSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/ReblockSPInstruction.html
index 843bc5b..5665601 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/ReblockSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/ReblockSPInstruction.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/ReorgSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/ReorgSPInstruction.html
index 2143ceb..9565491 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/ReorgSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/ReorgSPInstruction.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/RmmSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/RmmSPInstruction.html
index c056055..b62fb64 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/RmmSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/RmmSPInstruction.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/SPInstruction.SPType.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/SPInstruction.SPType.html
index 0166bbe..0a95cd3 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/SPInstruction.SPType.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/SPInstruction.SPType.html
@@ -226,6 +226,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/SPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/SPInstruction.html
index 0a297c9..8775b8a 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/SPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/SPInstruction.html
@@ -246,142 +246,146 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/DnnSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">DnnSPInstruction</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/DeCompressionSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">DeCompressionSPInstruction</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/FrameAppendMSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">FrameAppendMSPInstruction</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/DnnSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">DnnSPInstruction</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/FrameAppendRSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">FrameAppendRSPInstruction</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/FrameAppendMSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">FrameAppendMSPInstruction</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/FrameAppendRSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">FrameAppendRSPInstruction</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/FrameIndexingSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">FrameIndexingSPInstruction</a></span></code>
 <div class="block">This class implements the frame indexing functionality inside Spark.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/IndexingSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">IndexingSPInstruction</a></span></code>
 <div class="block">This class implements the matrix indexing functionality inside Spark.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/MapmmChainSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">MapmmChainSPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/MapmmSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">MapmmSPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/MatrixAppendMSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">MatrixAppendMSPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/MatrixAppendRSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">MatrixAppendRSPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/MatrixIndexingSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">MatrixIndexingSPInstruction</a></span></code>
 <div class="block">This class implements the matrix indexing functionality inside CP.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/MatrixReshapeSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">MatrixReshapeSPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/MultiReturnParameterizedBuiltinSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">MultiReturnParameterizedBuiltinSPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">ParameterizedBuiltinSPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/PMapmmSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">PMapmmSPInstruction</a></span></code>
 <div class="block">This pmapmm matrix multiplication instruction is still experimental
  not integrated in automatic operator selection yet.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/PmmSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">PmmSPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/QuantilePickSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">QuantilePickSPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/QuantileSortSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">QuantileSortSPInstruction</a></span></code>
 <div class="block">This class supports two variants of sort operation on a 1-dimensional input matrix.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/QuaternarySPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">QuaternarySPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/RandSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">RandSPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/ReblockSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">ReblockSPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/ReorgSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">ReorgSPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/RmmSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">RmmSPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/SpoofSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">SpoofSPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/TernarySPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">TernarySPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/Tsmm2SPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">Tsmm2SPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/TsmmSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">TsmmSPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/UaggOuterChainSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">UaggOuterChainSPInstruction</a></span></code>
 <div class="block">Two types of broadcast variables used -- 1.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/UnaryFrameSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">UnaryFrameSPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/UnaryMatrixSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">UnaryMatrixSPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/UnarySPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">UnarySPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/WriteSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">WriteSPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/ZipmmSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">ZipmmSPInstruction</a></span></code>&nbsp;</td>
 </tr>
@@ -439,6 +443,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/SpoofSPInstruction.ReplicateRightFactorFunction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/SpoofSPInstruction.ReplicateRightFactorFunction.html
index 73261cc..698aeb0 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/SpoofSPInstruction.ReplicateRightFactorFunction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/SpoofSPInstruction.ReplicateRightFactorFunction.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/SpoofSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/SpoofSPInstruction.html
index 5958451..0a6a2e4 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/SpoofSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/SpoofSPInstruction.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/TernarySPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/TernarySPInstruction.html
index ca9e997..d6b47ee 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/TernarySPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/TernarySPInstruction.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/Tsmm2SPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/Tsmm2SPInstruction.html
index 3cf3957..19f5a2a 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/Tsmm2SPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/Tsmm2SPInstruction.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/TsmmSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/TsmmSPInstruction.html
index 8ddc623..2a296f8 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/TsmmSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/TsmmSPInstruction.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/UaggOuterChainSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/UaggOuterChainSPInstruction.html
index 8209f6f..0ebe635 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/UaggOuterChainSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/UaggOuterChainSPInstruction.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/UnaryFrameSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/UnaryFrameSPInstruction.html
index dedae7a..a19e368 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/UnaryFrameSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/UnaryFrameSPInstruction.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/UnaryMatrixSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/UnaryMatrixSPInstruction.html
index d60d789..246f5e7 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/UnaryMatrixSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/UnaryMatrixSPInstruction.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/UnarySPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/UnarySPInstruction.html
index f0eca97..6999807 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/UnarySPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/UnarySPInstruction.html
@@ -136,61 +136,65 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/DnnSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">DnnSPInstruction</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/DeCompressionSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">DeCompressionSPInstruction</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/DnnSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">DnnSPInstruction</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/FrameIndexingSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">FrameIndexingSPInstruction</a></span></code>
 <div class="block">This class implements the frame indexing functionality inside Spark.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/IndexingSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">IndexingSPInstruction</a></span></code>
 <div class="block">This class implements the matrix indexing functionality inside Spark.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/MatrixIndexingSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">MatrixIndexingSPInstruction</a></span></code>
 <div class="block">This class implements the matrix indexing functionality inside CP.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/MatrixReshapeSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">MatrixReshapeSPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/QuantileSortSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">QuantileSortSPInstruction</a></span></code>
 <div class="block">This class supports two variants of sort operation on a 1-dimensional input matrix.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/RandSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">RandSPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/ReblockSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">ReblockSPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/ReorgSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">ReorgSPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/Tsmm2SPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">Tsmm2SPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/TsmmSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">TsmmSPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/UnaryFrameSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">UnaryFrameSPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/UnaryMatrixSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">UnaryMatrixSPInstruction</a></span></code>&nbsp;</td>
 </tr>
@@ -261,6 +265,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/WriteSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/WriteSPInstruction.html
index dab444c..6eeac71 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/WriteSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/WriteSPInstruction.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/ZipmmSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/ZipmmSPInstruction.html
index 8d24942..4eb5109 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/ZipmmSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/class-use/ZipmmSPInstruction.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/BlockPartitioner.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/BlockPartitioner.html
index 54d747d..cb33a73 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/BlockPartitioner.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/BlockPartitioner.html
@@ -349,6 +349,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/BroadcastObject.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/BroadcastObject.html
index aee035e..749a7f6 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/BroadcastObject.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/BroadcastObject.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -156,31 +156,27 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/data/BroadcastObject.html#getNonPartitionedBroadcast--">getNonPartitionedBroadcast</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i1" class="rowColor">
-<td class="colFirst"><code>long</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/data/BroadcastObject.html#getNonPartitionedBroadcastSize--">getNonPartitionedBroadcastSize</a></span>()</code>&nbsp;</td>
-</tr>
-<tr id="i2" class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/data/PartitionedBroadcast.html" title="class in org.apache.sysds.runtime.instructions.spark.data">PartitionedBroadcast</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/data/BroadcastObject.html#getPartitionedBroadcast--">getPartitionedBroadcast</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i2" class="altColor">
 <td class="colFirst"><code>long</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/data/BroadcastObject.html#getPartitionedBroadcastSize--">getPartitionedBroadcastSize</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/data/BroadcastObject.html#getSize--">getSize</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/data/BroadcastObject.html#isNonPartitionedBroadcastValid--">isNonPartitionedBroadcastValid</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/data/BroadcastObject.html#isPartitionedBroadcastValid--">isPartitionedBroadcastValid</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/data/BroadcastObject.html#setNonPartitionedBroadcast-org.apache.spark.broadcast.Broadcast-long-">setNonPartitionedBroadcast</a></span>(org.apache.spark.broadcast.Broadcast&lt;<a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/data/BroadcastObject.html" title="type parameter in BroadcastObject">T</a>&gt;&nbsp;bvar,
                           long&nbsp;size)</code>&nbsp;</td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/data/BroadcastObject.html#setPartitionedBroadcast-org.apache.sysds.runtime.instructions.spark.data.PartitionedBroadcast-long-">setPartitionedBroadcast</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/data/PartitionedBroadcast.html" title="class in org.apache.sysds.runtime.instructions.spark.data">PartitionedBroadcast</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/data/BroadcastObject.html" title="type parameter in BroadcastObject">T</a>&gt;&nbsp;bvar,
                        long&nbsp;size)</code>&nbsp;</td>
@@ -269,22 +265,13 @@
 <pre>public&nbsp;org.apache.spark.broadcast.Broadcast&lt;<a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/data/BroadcastObject.html" title="type parameter in BroadcastObject">T</a>&gt;&nbsp;getNonPartitionedBroadcast()</pre>
 </li>
 </ul>
-<a name="getPartitionedBroadcastSize--">
+<a name="getSize--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getPartitionedBroadcastSize</h4>
-<pre>public&nbsp;long&nbsp;getPartitionedBroadcastSize()</pre>
-</li>
-</ul>
-<a name="getNonPartitionedBroadcastSize--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getNonPartitionedBroadcastSize</h4>
-<pre>public&nbsp;long&nbsp;getNonPartitionedBroadcastSize()</pre>
+<h4>getSize</h4>
+<pre>public&nbsp;long&nbsp;getSize()</pre>
 </li>
 </ul>
 <a name="isPartitionedBroadcastValid--">
@@ -374,6 +361,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/CorrMatrixBlock.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/CorrMatrixBlock.html
index 26a79a8..e699778 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/CorrMatrixBlock.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/CorrMatrixBlock.html
@@ -384,6 +384,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/DatasetObject.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/DatasetObject.html
index 93e2435..aa38de9 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/DatasetObject.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/DatasetObject.html
@@ -321,6 +321,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/FrameReblockBuffer.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/FrameReblockBuffer.html
index 3f74eb4..be37f49 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/FrameReblockBuffer.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/FrameReblockBuffer.html
@@ -361,6 +361,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/IndexedMatrixValue.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/IndexedMatrixValue.html
index cbbfd74..8ba75bb 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/IndexedMatrixValue.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/IndexedMatrixValue.html
@@ -359,6 +359,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/LazyIterableIterator.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/LazyIterableIterator.html
index 1936806..014499a 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/LazyIterableIterator.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/LazyIterableIterator.html
@@ -345,6 +345,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/LineageObject.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/LineageObject.html
index a12feaa..95bf7b9 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/LineageObject.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/LineageObject.html
@@ -315,6 +315,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/PartitionedBlock.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/PartitionedBlock.html
index 8521b45..fa51178 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/PartitionedBlock.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/PartitionedBlock.html
@@ -563,6 +563,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/PartitionedBroadcast.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/PartitionedBroadcast.html
index 53563f5..4d5b1ca 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/PartitionedBroadcast.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/PartitionedBroadcast.html
@@ -477,6 +477,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/RDDObject.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/RDDObject.html
index c2aad16..e4726c5 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/RDDObject.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/RDDObject.html
@@ -459,6 +459,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/ReblockBuffer.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/ReblockBuffer.html
index 1012fc3..257fe0d 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/ReblockBuffer.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/ReblockBuffer.html
@@ -361,6 +361,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/RowMatrixBlock.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/RowMatrixBlock.html
index 3d95881..1e70072 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/RowMatrixBlock.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/RowMatrixBlock.html
@@ -372,6 +372,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/SerLongWritable.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/SerLongWritable.html
index ca5f3a1..163c446 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/SerLongWritable.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/SerLongWritable.html
@@ -271,6 +271,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/SerText.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/SerText.html
index faaef3d..6ffb0a4 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/SerText.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/SerText.html
@@ -305,6 +305,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/class-use/BlockPartitioner.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/class-use/BlockPartitioner.html
index bc285be..71267d7 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/class-use/BlockPartitioner.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/class-use/BlockPartitioner.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/class-use/BroadcastObject.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/class-use/BroadcastObject.html
index 3793301..648e6f0 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/class-use/BroadcastObject.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/class-use/BroadcastObject.html
@@ -173,6 +173,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/class-use/CorrMatrixBlock.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/class-use/CorrMatrixBlock.html
index 86c9dcf..90462e6 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/class-use/CorrMatrixBlock.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/class-use/CorrMatrixBlock.html
@@ -161,6 +161,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/class-use/DatasetObject.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/class-use/DatasetObject.html
index c18f2ea..6eacd9c 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/class-use/DatasetObject.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/class-use/DatasetObject.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/class-use/FrameReblockBuffer.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/class-use/FrameReblockBuffer.html
index 2ff4bcf..444aa85 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/class-use/FrameReblockBuffer.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/class-use/FrameReblockBuffer.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/class-use/IndexedMatrixValue.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/class-use/IndexedMatrixValue.html
index 2b1c725..b4ecd9d 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/class-use/IndexedMatrixValue.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/class-use/IndexedMatrixValue.html
@@ -124,7 +124,7 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#append-org.apache.sysds.runtime.matrix.data.MatrixValue-java.util.ArrayList-int-boolean-boolean-int-">append</a></span>(<a href="../../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;v2,
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#append-org.apache.sysds.runtime.matrix.data.MatrixValue-java.util.ArrayList-int-boolean-boolean-int-">append</a></span>(<a href="../../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;v2,
       <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../../org/apache/sysds/runtime/instructions/spark/data/IndexedMatrixValue.html" title="class in org.apache.sysds.runtime.instructions.spark.data">IndexedMatrixValue</a>&gt;&nbsp;outlist,
       int&nbsp;blen,
       boolean&nbsp;cbind,
@@ -133,7 +133,7 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#slice-java.util.ArrayList-org.apache.sysds.runtime.util.IndexRange-int-int-int-int-int-">slice</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../../org/apache/sysds/runtime/instructions/spark/data/IndexedMatrixValue.html" title="class in org.apache.sysds.runtime.instructions.spark.data">IndexedMatrixValue</a>&gt;&nbsp;outlist,
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#slice-java.util.ArrayList-org.apache.sysds.runtime.util.IndexRange-int-int-int-int-int-">slice</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../../org/apache/sysds/runtime/instructions/spark/data/IndexedMatrixValue.html" title="class in org.apache.sysds.runtime.instructions.spark.data">IndexedMatrixValue</a>&gt;&nbsp;outlist,
      <a href="../../../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;range,
      int&nbsp;rowCut,
      int&nbsp;colCut,
@@ -263,6 +263,12 @@
 </tr>
 <tbody>
 <tr class="altColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../../org/apache/sysds/runtime/instructions/spark/data/IndexedMatrixValue.html" title="class in org.apache.sysds.runtime.instructions.spark.data">IndexedMatrixValue</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">OperationsOnMatrixValues.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/matrix/data/OperationsOnMatrixValues.html#performSlice-org.apache.sysds.runtime.instructions.spark.data.IndexedMatrixValue-org.apache.sysds.runtime.util.IndexRange-int-">performSlice</a></span>(<a href="../../../../../../../../org/apache/sysds/runtime/instructions/spark/data/IndexedMatrixValue.html" title="class in org.apache.sysds.runtime.instructions.spark.data">IndexedMatrixValue</a>&nbsp;in,
+            <a href="../../../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixrange,
+            int&nbsp;blen)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../../org/apache/sysds/runtime/instructions/spark/data/IndexedMatrixValue.html" title="class in org.apache.sysds.runtime.instructions.spark.data">IndexedMatrixValue</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">LibMatrixReorg.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixReorg.html#reshape-org.apache.sysds.runtime.instructions.spark.data.IndexedMatrixValue-org.apache.sysds.runtime.meta.DataCharacteristics-org.apache.sysds.runtime.meta.DataCharacteristics-boolean-boolean-">reshape</a></span>(<a href="../../../../../../../../org/apache/sysds/runtime/instructions/spark/data/IndexedMatrixValue.html" title="class in org.apache.sysds.runtime.instructions.spark.data">IndexedMatrixValue</a>&nbsp;in,
        <a href="../../../../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a>&nbsp;mcIn,
@@ -301,11 +307,10 @@
             <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../../org/apache/sysds/runtime/instructions/spark/data/IndexedMatrixValue.html" title="class in org.apache.sysds.runtime.instructions.spark.data">IndexedMatrixValue</a>&gt;&nbsp;outlist)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><span class="typeNameLabel">OperationsOnMatrixValues.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/matrix/data/OperationsOnMatrixValues.html#performSlice-org.apache.sysds.runtime.instructions.spark.data.IndexedMatrixValue-org.apache.sysds.runtime.util.IndexRange-int-java.util.ArrayList-">performSlice</a></span>(<a href="../../../../../../../../org/apache/sysds/runtime/instructions/spark/data/IndexedMatrixValue.html" title="class in org.apache.sysds.runtime.instructions.spark.data">IndexedMatrixValue</a>&nbsp;in,
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../../org/apache/sysds/runtime/instructions/spark/data/IndexedMatrixValue.html" title="class in org.apache.sysds.runtime.instructions.spark.data">IndexedMatrixValue</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">OperationsOnMatrixValues.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/matrix/data/OperationsOnMatrixValues.html#performSlice-org.apache.sysds.runtime.instructions.spark.data.IndexedMatrixValue-org.apache.sysds.runtime.util.IndexRange-int-">performSlice</a></span>(<a href="../../../../../../../../org/apache/sysds/runtime/instructions/spark/data/IndexedMatrixValue.html" title="class in org.apache.sysds.runtime.instructions.spark.data">IndexedMatrixValue</a>&nbsp;in,
             <a href="../../../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixrange,
-            int&nbsp;blen,
-            <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../../org/apache/sysds/runtime/instructions/spark/data/IndexedMatrixValue.html" title="class in org.apache.sysds.runtime.instructions.spark.data">IndexedMatrixValue</a>&gt;&nbsp;outlist)</code>&nbsp;</td>
+            int&nbsp;blen)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../../org/apache/sysds/runtime/instructions/spark/data/IndexedMatrixValue.html" title="class in org.apache.sysds.runtime.instructions.spark.data">IndexedMatrixValue</a>&gt;</code></td>
@@ -424,19 +429,12 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static void</code></td>
-<td class="colLast"><span class="typeNameLabel">OperationsOnMatrixValues.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/matrix/data/OperationsOnMatrixValues.html#performSlice-org.apache.sysds.runtime.instructions.spark.data.IndexedMatrixValue-org.apache.sysds.runtime.util.IndexRange-int-java.util.ArrayList-">performSlice</a></span>(<a href="../../../../../../../../org/apache/sysds/runtime/instructions/spark/data/IndexedMatrixValue.html" title="class in org.apache.sysds.runtime.instructions.spark.data">IndexedMatrixValue</a>&nbsp;in,
-            <a href="../../../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixrange,
-            int&nbsp;blen,
-            <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../../org/apache/sysds/runtime/instructions/spark/data/IndexedMatrixValue.html" title="class in org.apache.sysds.runtime.instructions.spark.data">IndexedMatrixValue</a>&gt;&nbsp;outlist)</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">LibMatrixReorg.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixReorg.html#rev-org.apache.sysds.runtime.instructions.spark.data.IndexedMatrixValue-long-int-java.util.ArrayList-">rev</a></span>(<a href="../../../../../../../../org/apache/sysds/runtime/instructions/spark/data/IndexedMatrixValue.html" title="class in org.apache.sysds.runtime.instructions.spark.data">IndexedMatrixValue</a>&nbsp;in,
    long&nbsp;rlen,
    int&nbsp;blen,
    <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../../org/apache/sysds/runtime/instructions/spark/data/IndexedMatrixValue.html" title="class in org.apache.sysds.runtime.instructions.spark.data">IndexedMatrixValue</a>&gt;&nbsp;out)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">LibMatrixReorg.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixReorg.html#rexpand-org.apache.sysds.runtime.instructions.spark.data.IndexedMatrixValue-double-boolean-boolean-boolean-long-java.util.ArrayList-">rexpand</a></span>(<a href="../../../../../../../../org/apache/sysds/runtime/instructions/spark/data/IndexedMatrixValue.html" title="class in org.apache.sysds.runtime.instructions.spark.data">IndexedMatrixValue</a>&nbsp;data,
        double&nbsp;max,
@@ -448,7 +446,7 @@
 <div class="block">MR/Spark rexpand operation (single input, multiple outputs incl empty blocks)</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">LibMatrixReorg.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixReorg.html#rmempty-org.apache.sysds.runtime.instructions.spark.data.IndexedMatrixValue-org.apache.sysds.runtime.instructions.spark.data.IndexedMatrixValue-boolean-long-long-java.util.ArrayList-">rmempty</a></span>(<a href="../../../../../../../../org/apache/sysds/runtime/instructions/spark/data/IndexedMatrixValue.html" title="class in org.apache.sysds.runtime.instructions.spark.data">IndexedMatrixValue</a>&nbsp;data,
        <a href="../../../../../../../../org/apache/sysds/runtime/instructions/spark/data/IndexedMatrixValue.html" title="class in org.apache.sysds.runtime.instructions.spark.data">IndexedMatrixValue</a>&nbsp;offset,
@@ -460,7 +458,7 @@
  there are different CP and MR interfaces.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>abstract void</code></td>
 <td class="colLast"><span class="typeNameLabel">MatrixValue.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html#slice-java.util.ArrayList-org.apache.sysds.runtime.util.IndexRange-int-int-int-int-int-">slice</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../../org/apache/sysds/runtime/instructions/spark/data/IndexedMatrixValue.html" title="class in org.apache.sysds.runtime.instructions.spark.data">IndexedMatrixValue</a>&gt;&nbsp;outlist,
      <a href="../../../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;range,
@@ -468,9 +466,11 @@
      int&nbsp;colCut,
      int&nbsp;blen,
      int&nbsp;boundaryRlen,
-     int&nbsp;boundaryClen)</code>&nbsp;</td>
+     int&nbsp;boundaryClen)</code>
+<div class="block">Slice out up to 4 matrixBlocks that are separated by the row and col Cuts.</div>
+</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">MatrixCell.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixCell.html#slice-java.util.ArrayList-org.apache.sysds.runtime.util.IndexRange-int-int-int-int-int-">slice</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../../org/apache/sysds/runtime/instructions/spark/data/IndexedMatrixValue.html" title="class in org.apache.sysds.runtime.instructions.spark.data">IndexedMatrixValue</a>&gt;&nbsp;outlist,
      <a href="../../../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;range,
@@ -480,7 +480,7 @@
      int&nbsp;boundaryRlen,
      int&nbsp;boundaryClen)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">MatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#slice-java.util.ArrayList-org.apache.sysds.runtime.util.IndexRange-int-int-int-int-int-">slice</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../../org/apache/sysds/runtime/instructions/spark/data/IndexedMatrixValue.html" title="class in org.apache.sysds.runtime.instructions.spark.data">IndexedMatrixValue</a>&gt;&nbsp;outlist,
      <a href="../../../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;range,
@@ -490,7 +490,7 @@
      int&nbsp;boundaryRlen,
      int&nbsp;boundaryClen)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">CM_N_COVCell.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/sysds/runtime/matrix/data/CM_N_COVCell.html#slice-java.util.ArrayList-org.apache.sysds.runtime.util.IndexRange-int-int-int-int-int-">slice</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../../org/apache/sysds/runtime/instructions/spark/data/IndexedMatrixValue.html" title="class in org.apache.sysds.runtime.instructions.spark.data">IndexedMatrixValue</a>&gt;&nbsp;outlist,
      <a href="../../../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;range,
@@ -574,6 +574,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/class-use/LazyIterableIterator.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/class-use/LazyIterableIterator.html
index a00f28a..946b9c0 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/class-use/LazyIterableIterator.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/class-use/LazyIterableIterator.html
@@ -172,6 +172,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/class-use/LineageObject.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/class-use/LineageObject.html
index d20d4ba..73c5220 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/class-use/LineageObject.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/class-use/LineageObject.html
@@ -194,6 +194,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/class-use/PartitionedBlock.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/class-use/PartitionedBlock.html
index 24d341c..7fa6883 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/class-use/PartitionedBlock.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/class-use/PartitionedBlock.html
@@ -187,6 +187,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/class-use/PartitionedBroadcast.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/class-use/PartitionedBroadcast.html
index 490198a..d1c77d6 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/class-use/PartitionedBroadcast.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/class-use/PartitionedBroadcast.html
@@ -283,6 +283,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/class-use/RDDObject.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/class-use/RDDObject.html
index 2beaf3f..c2d910d 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/class-use/RDDObject.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/class-use/RDDObject.html
@@ -227,6 +227,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/class-use/ReblockBuffer.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/class-use/ReblockBuffer.html
index 9a9ecf2..7b1128e 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/class-use/ReblockBuffer.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/class-use/ReblockBuffer.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/class-use/RowMatrixBlock.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/class-use/RowMatrixBlock.html
index 450867d..3ff0af3 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/class-use/RowMatrixBlock.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/class-use/RowMatrixBlock.html
@@ -162,6 +162,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/class-use/SerLongWritable.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/class-use/SerLongWritable.html
index 65bfaf1..f57823f 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/class-use/SerLongWritable.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/class-use/SerLongWritable.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/class-use/SerText.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/class-use/SerText.html
index a9dae78..ecdccdb 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/class-use/SerText.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/class-use/SerText.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/package-summary.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/package-summary.html
index cf1ddea..52ec415 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/package-summary.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/package-summary.html
@@ -213,6 +213,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/package-tree.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/package-tree.html
index e6d4c1d..82dafec 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/package-tree.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/package-tree.html
@@ -166,6 +166,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/package-use.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/package-use.html
index dc7af55..a57169c 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/package-use.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/data/package-use.html
@@ -371,6 +371,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/AggregateDropCorrectionFunction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/AggregateDropCorrectionFunction.html
index 6f3ca1c..c924f76 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/AggregateDropCorrectionFunction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/AggregateDropCorrectionFunction.html
@@ -283,6 +283,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/ComputeBinaryBlockNnzFunction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/ComputeBinaryBlockNnzFunction.html
index 993ce64..64fcc62 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/ComputeBinaryBlockNnzFunction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/ComputeBinaryBlockNnzFunction.html
@@ -280,6 +280,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/ConvertFrameBlockToIJVLines.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/ConvertFrameBlockToIJVLines.html
index b1e24ac..ad796c6 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/ConvertFrameBlockToIJVLines.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/ConvertFrameBlockToIJVLines.html
@@ -283,6 +283,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/ConvertMatrixBlockToIJVLines.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/ConvertMatrixBlockToIJVLines.html
index 8710d98..57abc53 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/ConvertMatrixBlockToIJVLines.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/ConvertMatrixBlockToIJVLines.html
@@ -280,6 +280,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/ConvertStringToLongTextPair.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/ConvertStringToLongTextPair.html
index 9558372..ec0bcd0 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/ConvertStringToLongTextPair.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/ConvertStringToLongTextPair.html
@@ -280,6 +280,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/CopyBinaryCellFunction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/CopyBinaryCellFunction.html
index ee6e670..ab7fa7a 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/CopyBinaryCellFunction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/CopyBinaryCellFunction.html
@@ -283,6 +283,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/CopyFrameBlockFunction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/CopyFrameBlockFunction.html
index 654887f..33f1326 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/CopyFrameBlockFunction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/CopyFrameBlockFunction.html
@@ -297,6 +297,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/CopyFrameBlockPairFunction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/CopyFrameBlockPairFunction.html
index b0a27bd..c059b89 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/CopyFrameBlockPairFunction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/CopyFrameBlockPairFunction.html
@@ -298,6 +298,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/CopyMatrixBlockFunction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/CopyMatrixBlockFunction.html
index b10c977..197238a 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/CopyMatrixBlockFunction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/CopyMatrixBlockFunction.html
@@ -297,6 +297,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/CopyMatrixBlockPairFunction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/CopyMatrixBlockPairFunction.html
index 2b61ccf..a05d415 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/CopyMatrixBlockPairFunction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/CopyMatrixBlockPairFunction.html
@@ -298,6 +298,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/CopyTensorBlockFunction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/CopyTensorBlockFunction.html
index 590609e..408876b 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/CopyTensorBlockFunction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/CopyTensorBlockFunction.html
@@ -297,6 +297,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/CopyTensorBlockPairFunction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/CopyTensorBlockPairFunction.html
index 668007a..f9a8298 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/CopyTensorBlockPairFunction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/CopyTensorBlockPairFunction.html
@@ -298,6 +298,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/CopyTextInputFunction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/CopyTextInputFunction.html
index 2fbc6024..6270ec3 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/CopyTextInputFunction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/CopyTextInputFunction.html
@@ -283,6 +283,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/CreateSparseBlockFunction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/CreateSparseBlockFunction.html
index d160d40..59521ae 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/CreateSparseBlockFunction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/CreateSparseBlockFunction.html
@@ -286,6 +286,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/ExtractBlockForBinaryReblock.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/ExtractBlockForBinaryReblock.html
index 9d8a3bd..a989e86 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/ExtractBlockForBinaryReblock.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/ExtractBlockForBinaryReblock.html
@@ -285,6 +285,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/ExtractGroup.ExtractGroupBroadcast.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/ExtractGroup.ExtractGroupBroadcast.html
index 1cd22d3..d14094a 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/ExtractGroup.ExtractGroupBroadcast.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/ExtractGroup.ExtractGroupBroadcast.html
@@ -313,6 +313,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/ExtractGroup.ExtractGroupJoin.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/ExtractGroup.ExtractGroupJoin.html
index 91ffc60..b7981f0 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/ExtractGroup.ExtractGroupJoin.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/ExtractGroup.ExtractGroupJoin.html
@@ -311,6 +311,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/ExtractGroup.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/ExtractGroup.html
index e7387d9..0e774f2 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/ExtractGroup.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/ExtractGroup.html
@@ -273,6 +273,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/ExtractGroupNWeights.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/ExtractGroupNWeights.html
index 37acf7a..a8c00ec 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/ExtractGroupNWeights.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/ExtractGroupNWeights.html
@@ -283,6 +283,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/FilterDiagMatrixBlocksFunction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/FilterDiagMatrixBlocksFunction.html
index 7ea1517..2dad4e6 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/FilterDiagMatrixBlocksFunction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/FilterDiagMatrixBlocksFunction.html
@@ -283,6 +283,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/FilterNonEmptyBlocksFunction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/FilterNonEmptyBlocksFunction.html
index 2ffdca5..8ea4e70 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/FilterNonEmptyBlocksFunction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/FilterNonEmptyBlocksFunction.html
@@ -283,6 +283,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/FilterNonEmptyBlocksFunction2.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/FilterNonEmptyBlocksFunction2.html
index 034172b..8dbf4cd 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/FilterNonEmptyBlocksFunction2.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/FilterNonEmptyBlocksFunction2.html
@@ -283,6 +283,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/GetMIMBFromRow.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/GetMIMBFromRow.html
index 442f954..89ec2f8 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/GetMIMBFromRow.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/GetMIMBFromRow.html
@@ -283,6 +283,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/IsBlockInList.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/IsBlockInList.html
index bc5d67f..da01f79 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/IsBlockInList.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/IsBlockInList.html
@@ -285,6 +285,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/IsBlockInRange.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/IsBlockInRange.html
index cea5746..86613c5 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/IsBlockInRange.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/IsBlockInRange.html
@@ -291,6 +291,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/IsFrameBlockInRange.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/IsFrameBlockInRange.html
index 9b8ef07..ed2fe11 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/IsFrameBlockInRange.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/IsFrameBlockInRange.html
@@ -287,6 +287,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/MapInputSignature.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/MapInputSignature.html
index 70a1b75..4bc3395 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/MapInputSignature.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/MapInputSignature.html
@@ -283,6 +283,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/MapJoinSignature.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/MapJoinSignature.html
index 914cfe9..6cf0349 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/MapJoinSignature.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/MapJoinSignature.html
@@ -283,6 +283,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/MatrixMatrixBinaryOpFunction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/MatrixMatrixBinaryOpFunction.html
index 4d03c5e..71e38c2 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/MatrixMatrixBinaryOpFunction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/MatrixMatrixBinaryOpFunction.html
@@ -283,6 +283,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/MatrixScalarUnaryFunction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/MatrixScalarUnaryFunction.html
index 90c6be4..49811ac 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/MatrixScalarUnaryFunction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/MatrixScalarUnaryFunction.html
@@ -283,6 +283,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/MatrixVectorBinaryOpPartitionFunction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/MatrixVectorBinaryOpPartitionFunction.html
index 3cd3adf..f4bdb2d 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/MatrixVectorBinaryOpPartitionFunction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/MatrixVectorBinaryOpPartitionFunction.html
@@ -287,6 +287,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/OuterVectorBinaryOpFunction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/OuterVectorBinaryOpFunction.html
index ccad278..5a3a317 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/OuterVectorBinaryOpFunction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/OuterVectorBinaryOpFunction.html
@@ -285,6 +285,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/PerformGroupByAggInCombiner.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/PerformGroupByAggInCombiner.html
index b50bcdc..c938b9e 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/PerformGroupByAggInCombiner.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/PerformGroupByAggInCombiner.html
@@ -285,6 +285,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/PerformGroupByAggInReducer.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/PerformGroupByAggInReducer.html
index 5a17bcb..67ea071 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/PerformGroupByAggInReducer.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/PerformGroupByAggInReducer.html
@@ -283,6 +283,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/ReblockTensorFunction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/ReblockTensorFunction.html
index 4aed76e..e46c35e 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/ReblockTensorFunction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/ReblockTensorFunction.html
@@ -285,6 +285,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/RecomputeNnzFunction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/RecomputeNnzFunction.html
index 958e913..ce574bf 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/RecomputeNnzFunction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/RecomputeNnzFunction.html
@@ -283,6 +283,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/ReorgMapFunction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/ReorgMapFunction.html
index 07f1c87..0f7c33d 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/ReorgMapFunction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/ReorgMapFunction.html
@@ -283,6 +283,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/ReplicateBlockFunction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/ReplicateBlockFunction.html
index 6809e6d..e3c0aa0 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/ReplicateBlockFunction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/ReplicateBlockFunction.html
@@ -305,6 +305,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/ReplicateTensorFunction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/ReplicateTensorFunction.html
index 33b7abb..948f1c7 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/ReplicateTensorFunction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/ReplicateTensorFunction.html
@@ -285,6 +285,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/ReplicateVectorFunction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/ReplicateVectorFunction.html
index 452e16e..c6c1404 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/ReplicateVectorFunction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/ReplicateVectorFunction.html
@@ -285,6 +285,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/TensorTensorBinaryOpFunction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/TensorTensorBinaryOpFunction.html
index 8aca956..1fa920b 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/TensorTensorBinaryOpFunction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/TensorTensorBinaryOpFunction.html
@@ -283,6 +283,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/TensorTensorBinaryOpPartitionFunction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/TensorTensorBinaryOpPartitionFunction.html
index a3600e5..2f984cc 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/TensorTensorBinaryOpPartitionFunction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/TensorTensorBinaryOpPartitionFunction.html
@@ -287,6 +287,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/AggregateDropCorrectionFunction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/AggregateDropCorrectionFunction.html
index bd8059a..0bb2cc2 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/AggregateDropCorrectionFunction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/AggregateDropCorrectionFunction.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/ComputeBinaryBlockNnzFunction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/ComputeBinaryBlockNnzFunction.html
index 331bc33..620289d 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/ComputeBinaryBlockNnzFunction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/ComputeBinaryBlockNnzFunction.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/ConvertFrameBlockToIJVLines.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/ConvertFrameBlockToIJVLines.html
index c3c3343..b4d0ebd 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/ConvertFrameBlockToIJVLines.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/ConvertFrameBlockToIJVLines.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/ConvertMatrixBlockToIJVLines.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/ConvertMatrixBlockToIJVLines.html
index 5a74d33..2777f6b 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/ConvertMatrixBlockToIJVLines.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/ConvertMatrixBlockToIJVLines.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/ConvertStringToLongTextPair.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/ConvertStringToLongTextPair.html
index 17680dd..6836cc3 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/ConvertStringToLongTextPair.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/ConvertStringToLongTextPair.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/CopyBinaryCellFunction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/CopyBinaryCellFunction.html
index 7cbd0e3..5a9e544 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/CopyBinaryCellFunction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/CopyBinaryCellFunction.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/CopyFrameBlockFunction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/CopyFrameBlockFunction.html
index 8c6f743..d1aed56 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/CopyFrameBlockFunction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/CopyFrameBlockFunction.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/CopyFrameBlockPairFunction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/CopyFrameBlockPairFunction.html
index cb57546..7082157 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/CopyFrameBlockPairFunction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/CopyFrameBlockPairFunction.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/CopyMatrixBlockFunction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/CopyMatrixBlockFunction.html
index b2e6b75..0e55ea1 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/CopyMatrixBlockFunction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/CopyMatrixBlockFunction.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/CopyMatrixBlockPairFunction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/CopyMatrixBlockPairFunction.html
index f553995..74cfd24 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/CopyMatrixBlockPairFunction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/CopyMatrixBlockPairFunction.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/CopyTensorBlockFunction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/CopyTensorBlockFunction.html
index 83958bd..94e726d 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/CopyTensorBlockFunction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/CopyTensorBlockFunction.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/CopyTensorBlockPairFunction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/CopyTensorBlockPairFunction.html
index 06ddde5..6ae076f 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/CopyTensorBlockPairFunction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/CopyTensorBlockPairFunction.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/CopyTextInputFunction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/CopyTextInputFunction.html
index c7337e4..d89000a 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/CopyTextInputFunction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/CopyTextInputFunction.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/CreateSparseBlockFunction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/CreateSparseBlockFunction.html
index ec9d68d..350a10a 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/CreateSparseBlockFunction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/CreateSparseBlockFunction.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/ExtractBlockForBinaryReblock.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/ExtractBlockForBinaryReblock.html
index 9c6f366..bcbb1c9 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/ExtractBlockForBinaryReblock.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/ExtractBlockForBinaryReblock.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/ExtractGroup.ExtractGroupBroadcast.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/ExtractGroup.ExtractGroupBroadcast.html
index 279848a..98ed808 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/ExtractGroup.ExtractGroupBroadcast.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/ExtractGroup.ExtractGroupBroadcast.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/ExtractGroup.ExtractGroupJoin.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/ExtractGroup.ExtractGroupJoin.html
index 295b247..f76a5af 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/ExtractGroup.ExtractGroupJoin.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/ExtractGroup.ExtractGroupJoin.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/ExtractGroup.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/ExtractGroup.html
index a1107d6..ec9eff4 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/ExtractGroup.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/ExtractGroup.html
@@ -164,6 +164,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/ExtractGroupNWeights.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/ExtractGroupNWeights.html
index 86a3486..02d08ff 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/ExtractGroupNWeights.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/ExtractGroupNWeights.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/FilterDiagMatrixBlocksFunction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/FilterDiagMatrixBlocksFunction.html
index c4cfc50..a11dae7 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/FilterDiagMatrixBlocksFunction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/FilterDiagMatrixBlocksFunction.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/FilterNonEmptyBlocksFunction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/FilterNonEmptyBlocksFunction.html
index 4d33d93..ad11dc5 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/FilterNonEmptyBlocksFunction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/FilterNonEmptyBlocksFunction.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/FilterNonEmptyBlocksFunction2.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/FilterNonEmptyBlocksFunction2.html
index 08541a3..037cdc2 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/FilterNonEmptyBlocksFunction2.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/FilterNonEmptyBlocksFunction2.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/GetMIMBFromRow.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/GetMIMBFromRow.html
index 58abdc8..198cd88 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/GetMIMBFromRow.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/GetMIMBFromRow.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/IsBlockInList.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/IsBlockInList.html
index 9c74d50..5fea39a 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/IsBlockInList.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/IsBlockInList.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/IsBlockInRange.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/IsBlockInRange.html
index 9415bf9..2fa2ee4 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/IsBlockInRange.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/IsBlockInRange.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/IsFrameBlockInRange.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/IsFrameBlockInRange.html
index 54e062f..dbc8027 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/IsFrameBlockInRange.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/IsFrameBlockInRange.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/MapInputSignature.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/MapInputSignature.html
index 0adef37..aa991fc 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/MapInputSignature.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/MapInputSignature.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/MapJoinSignature.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/MapJoinSignature.html
index 288a2af..f5939cc 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/MapJoinSignature.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/MapJoinSignature.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/MatrixMatrixBinaryOpFunction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/MatrixMatrixBinaryOpFunction.html
index dfe63e6..897651f 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/MatrixMatrixBinaryOpFunction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/MatrixMatrixBinaryOpFunction.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/MatrixScalarUnaryFunction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/MatrixScalarUnaryFunction.html
index fd3ff9b..800d0a3 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/MatrixScalarUnaryFunction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/MatrixScalarUnaryFunction.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/MatrixVectorBinaryOpPartitionFunction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/MatrixVectorBinaryOpPartitionFunction.html
index c3910e6..1aad74a 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/MatrixVectorBinaryOpPartitionFunction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/MatrixVectorBinaryOpPartitionFunction.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/OuterVectorBinaryOpFunction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/OuterVectorBinaryOpFunction.html
index c0eeead..a3a2a06 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/OuterVectorBinaryOpFunction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/OuterVectorBinaryOpFunction.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/PerformGroupByAggInCombiner.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/PerformGroupByAggInCombiner.html
index 64a6ad9..e5bf0d0 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/PerformGroupByAggInCombiner.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/PerformGroupByAggInCombiner.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/PerformGroupByAggInReducer.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/PerformGroupByAggInReducer.html
index 2d0cbba..285e86d 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/PerformGroupByAggInReducer.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/PerformGroupByAggInReducer.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/ReblockTensorFunction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/ReblockTensorFunction.html
index 77c13d1..fd02457 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/ReblockTensorFunction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/ReblockTensorFunction.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/RecomputeNnzFunction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/RecomputeNnzFunction.html
index d1c9f4d..f723ec6 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/RecomputeNnzFunction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/RecomputeNnzFunction.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/ReorgMapFunction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/ReorgMapFunction.html
index 7ead567..1d3be69 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/ReorgMapFunction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/ReorgMapFunction.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/ReplicateBlockFunction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/ReplicateBlockFunction.html
index 59b0dc7..6b212ab 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/ReplicateBlockFunction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/ReplicateBlockFunction.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/ReplicateTensorFunction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/ReplicateTensorFunction.html
index ab9f78e..62b6df3 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/ReplicateTensorFunction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/ReplicateTensorFunction.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/ReplicateVectorFunction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/ReplicateVectorFunction.html
index 35c255d..935d91a 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/ReplicateVectorFunction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/ReplicateVectorFunction.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/TensorTensorBinaryOpFunction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/TensorTensorBinaryOpFunction.html
index d8c599b..60e6299 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/TensorTensorBinaryOpFunction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/TensorTensorBinaryOpFunction.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/TensorTensorBinaryOpPartitionFunction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/TensorTensorBinaryOpPartitionFunction.html
index 0c8ce75..8182d9c 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/TensorTensorBinaryOpPartitionFunction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/class-use/TensorTensorBinaryOpPartitionFunction.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/package-summary.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/package-summary.html
index 9f4c09a..f3de5c4 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/package-summary.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/package-summary.html
@@ -316,6 +316,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/package-tree.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/package-tree.html
index 001a493..51f92ac 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/package-tree.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/package-tree.html
@@ -177,6 +177,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/package-use.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/package-use.html
index d1856ba..bb8896f 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/package-use.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/functions/package-use.html
@@ -153,6 +153,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/package-frame.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/package-frame.html
index 6002c47..a5efe48 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/package-frame.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/package-frame.html
@@ -52,6 +52,8 @@
 <li><a href="CtableSPInstruction.MapJoinSignature3.html" title="class in org.apache.sysds.runtime.instructions.spark" target="classFrame">CtableSPInstruction.MapJoinSignature3</a></li>
 <li><a href="CumulativeAggregateSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark" target="classFrame">CumulativeAggregateSPInstruction</a></li>
 <li><a href="CumulativeOffsetSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark" target="classFrame">CumulativeOffsetSPInstruction</a></li>
+<li><a href="DeCompressionSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark" target="classFrame">DeCompressionSPInstruction</a></li>
+<li><a href="DeCompressionSPInstruction.DeCompressionFunction.html" title="class in org.apache.sysds.runtime.instructions.spark" target="classFrame">DeCompressionSPInstruction.DeCompressionFunction</a></li>
 <li><a href="DnnSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark" target="classFrame">DnnSPInstruction</a></li>
 <li><a href="FrameAppendMSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark" target="classFrame">FrameAppendMSPInstruction</a></li>
 <li><a href="FrameAppendRSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark" target="classFrame">FrameAppendRSPInstruction</a></li>
@@ -76,6 +78,7 @@
 <li><a href="ParameterizedBuiltinSPInstruction.RDDRemoveEmptyFunctionInMem.html" title="class in org.apache.sysds.runtime.instructions.spark" target="classFrame">ParameterizedBuiltinSPInstruction.RDDRemoveEmptyFunctionInMem</a></li>
 <li><a href="ParameterizedBuiltinSPInstruction.RDDReplaceFunction.html" title="class in org.apache.sysds.runtime.instructions.spark" target="classFrame">ParameterizedBuiltinSPInstruction.RDDReplaceFunction</a></li>
 <li><a href="ParameterizedBuiltinSPInstruction.RDDRExpandFunction.html" title="class in org.apache.sysds.runtime.instructions.spark" target="classFrame">ParameterizedBuiltinSPInstruction.RDDRExpandFunction</a></li>
+<li><a href="ParameterizedBuiltinSPInstruction.RDDTokenizeFunction.html" title="class in org.apache.sysds.runtime.instructions.spark" target="classFrame">ParameterizedBuiltinSPInstruction.RDDTokenizeFunction</a></li>
 <li><a href="ParameterizedBuiltinSPInstruction.RDDTransformApplyFunction.html" title="class in org.apache.sysds.runtime.instructions.spark" target="classFrame">ParameterizedBuiltinSPInstruction.RDDTransformApplyFunction</a></li>
 <li><a href="ParameterizedBuiltinSPInstruction.RDDTransformApplyOffsetFunction.html" title="class in org.apache.sysds.runtime.instructions.spark" target="classFrame">ParameterizedBuiltinSPInstruction.RDDTransformApplyOffsetFunction</a></li>
 <li><a href="ParameterizedBuiltinSPInstruction.RDDTransformDecodeExpandFunction.html" title="class in org.apache.sysds.runtime.instructions.spark" target="classFrame">ParameterizedBuiltinSPInstruction.RDDTransformDecodeExpandFunction</a></li>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/package-summary.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/package-summary.html
index 1c29335..2b2a80c 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/package-summary.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/package-summary.html
@@ -246,6 +246,14 @@
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/DeCompressionSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">DeCompressionSPInstruction</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/DeCompressionSPInstruction.DeCompressionFunction.html" title="class in org.apache.sysds.runtime.instructions.spark">DeCompressionSPInstruction.DeCompressionFunction</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/DnnSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">DnnSPInstruction</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
@@ -306,9 +314,8 @@
 <tr class="altColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/MultiReturnParameterizedBuiltinSPInstruction.TransformEncodeBuildFunction.html" title="class in org.apache.sysds.runtime.instructions.spark">MultiReturnParameterizedBuiltinSPInstruction.TransformEncodeBuildFunction</a></td>
 <td class="colLast">
-<div class="block">This function pre-aggregates distinct values of recoded columns per partition
- (part of distributed recode map construction, used for recoding, binning and 
- dummy coding).</div>
+<div class="block">This function pre-aggregates distinct values of recoded columns per partition (part of distributed recode map
+ construction, used for recoding, binning and dummy coding).</div>
 </td>
 </tr>
 <tr class="rowColor">
@@ -318,8 +325,8 @@
 <tr class="altColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/MultiReturnParameterizedBuiltinSPInstruction.TransformEncodeGroupFunction.html" title="class in org.apache.sysds.runtime.instructions.spark">MultiReturnParameterizedBuiltinSPInstruction.TransformEncodeGroupFunction</a></td>
 <td class="colLast">
-<div class="block">This function assigns codes to globally distinct values of recoded columns 
- and writes the resulting column map in textcell (IJV) format to the output.</div>
+<div class="block">This function assigns codes to globally distinct values of recoded columns and writes the resulting column map in
+ textcell (IJV) format to the output.</div>
 </td>
 </tr>
 <tr class="rowColor">
@@ -357,109 +364,113 @@
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDTokenizeFunction.html" title="class in org.apache.sysds.runtime.instructions.spark">ParameterizedBuiltinSPInstruction.RDDTokenizeFunction</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDTransformApplyFunction.html" title="class in org.apache.sysds.runtime.instructions.spark">ParameterizedBuiltinSPInstruction.RDDTransformApplyFunction</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDTransformApplyOffsetFunction.html" title="class in org.apache.sysds.runtime.instructions.spark">ParameterizedBuiltinSPInstruction.RDDTransformApplyOffsetFunction</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDTransformDecodeExpandFunction.html" title="class in org.apache.sysds.runtime.instructions.spark">ParameterizedBuiltinSPInstruction.RDDTransformDecodeExpandFunction</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDTransformDecodeFunction.html" title="class in org.apache.sysds.runtime.instructions.spark">ParameterizedBuiltinSPInstruction.RDDTransformDecodeFunction</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/PMapmmSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">PMapmmSPInstruction</a></td>
 <td class="colLast">
 <div class="block">This pmapmm matrix multiplication instruction is still experimental
  not integrated in automatic operator selection yet.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/PmmSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">PmmSPInstruction</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/QuantilePickSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">QuantilePickSPInstruction</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/QuantileSortSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">QuantileSortSPInstruction</a></td>
 <td class="colLast">
 <div class="block">This class supports two variants of sort operation on a 1-dimensional input matrix.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/QuaternarySPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">QuaternarySPInstruction</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/RandSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">RandSPInstruction</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/ReblockSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">ReblockSPInstruction</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/ReorgSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">ReorgSPInstruction</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/RmmSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">RmmSPInstruction</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">SPInstruction</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SpoofSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">SpoofSPInstruction</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SpoofSPInstruction.ReplicateRightFactorFunction.html" title="class in org.apache.sysds.runtime.instructions.spark">SpoofSPInstruction.ReplicateRightFactorFunction</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/TernarySPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">TernarySPInstruction</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/Tsmm2SPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">Tsmm2SPInstruction</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/TsmmSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">TsmmSPInstruction</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/UaggOuterChainSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">UaggOuterChainSPInstruction</a></td>
 <td class="colLast">
 <div class="block">Two types of broadcast variables used -- 1.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/UnaryFrameSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">UnaryFrameSPInstruction</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/UnaryMatrixSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">UnaryMatrixSPInstruction</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/UnarySPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">UnarySPInstruction</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/WriteSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">WriteSPInstruction</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/ZipmmSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">ZipmmSPInstruction</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
@@ -530,6 +541,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/package-tree.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/package-tree.html
index 4c1c063..5f4bd91 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/package-tree.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/package-tree.html
@@ -92,6 +92,7 @@
 <li type="circle">org.apache.sysds.runtime.instructions.spark.<a href="../../../../../../org/apache/sysds/runtime/instructions/spark/CtableSPInstruction.MapJoinSignature1.html" title="class in org.apache.sysds.runtime.instructions.spark"><span class="typeNameLink">CtableSPInstruction.MapJoinSignature1</span></a> (implements org.apache.spark.api.java.function.Function&lt;T1,R&gt;)</li>
 <li type="circle">org.apache.sysds.runtime.instructions.spark.<a href="../../../../../../org/apache/sysds/runtime/instructions/spark/CtableSPInstruction.MapJoinSignature2.html" title="class in org.apache.sysds.runtime.instructions.spark"><span class="typeNameLink">CtableSPInstruction.MapJoinSignature2</span></a> (implements org.apache.spark.api.java.function.Function&lt;T1,R&gt;)</li>
 <li type="circle">org.apache.sysds.runtime.instructions.spark.<a href="../../../../../../org/apache/sysds/runtime/instructions/spark/CtableSPInstruction.MapJoinSignature3.html" title="class in org.apache.sysds.runtime.instructions.spark"><span class="typeNameLink">CtableSPInstruction.MapJoinSignature3</span></a> (implements org.apache.spark.api.java.function.Function&lt;T1,R&gt;)</li>
+<li type="circle">org.apache.sysds.runtime.instructions.spark.<a href="../../../../../../org/apache/sysds/runtime/instructions/spark/DeCompressionSPInstruction.DeCompressionFunction.html" title="class in org.apache.sysds.runtime.instructions.spark"><span class="typeNameLink">DeCompressionSPInstruction.DeCompressionFunction</span></a> (implements org.apache.spark.api.java.function.Function&lt;T1,R&gt;)</li>
 <li type="circle">org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions"><span class="typeNameLink">Instruction</span></a>
 <ul>
 <li type="circle">org.apache.sysds.runtime.instructions.spark.<a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark"><span class="typeNameLink">SPInstruction</span></a>
@@ -154,6 +155,7 @@
 <li type="circle">org.apache.sysds.runtime.instructions.spark.<a href="../../../../../../org/apache/sysds/runtime/instructions/spark/CheckpointSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark"><span class="typeNameLink">CheckpointSPInstruction</span></a></li>
 <li type="circle">org.apache.sysds.runtime.instructions.spark.<a href="../../../../../../org/apache/sysds/runtime/instructions/spark/CompressionSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark"><span class="typeNameLink">CompressionSPInstruction</span></a></li>
 <li type="circle">org.apache.sysds.runtime.instructions.spark.<a href="../../../../../../org/apache/sysds/runtime/instructions/spark/CSVReblockSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark"><span class="typeNameLink">CSVReblockSPInstruction</span></a></li>
+<li type="circle">org.apache.sysds.runtime.instructions.spark.<a href="../../../../../../org/apache/sysds/runtime/instructions/spark/DeCompressionSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark"><span class="typeNameLink">DeCompressionSPInstruction</span></a></li>
 <li type="circle">org.apache.sysds.runtime.instructions.spark.<a href="../../../../../../org/apache/sysds/runtime/instructions/spark/DnnSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark"><span class="typeNameLink">DnnSPInstruction</span></a></li>
 <li type="circle">org.apache.sysds.runtime.instructions.spark.<a href="../../../../../../org/apache/sysds/runtime/instructions/spark/IndexingSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark"><span class="typeNameLink">IndexingSPInstruction</span></a>
 <ul>
@@ -192,6 +194,7 @@
 <li type="circle">org.apache.sysds.runtime.instructions.spark.<a href="../../../../../../org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDRemoveEmptyFunctionInMem.html" title="class in org.apache.sysds.runtime.instructions.spark"><span class="typeNameLink">ParameterizedBuiltinSPInstruction.RDDRemoveEmptyFunctionInMem</span></a> (implements org.apache.spark.api.java.function.PairFlatMapFunction&lt;T,K,V&gt;)</li>
 <li type="circle">org.apache.sysds.runtime.instructions.spark.<a href="../../../../../../org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDReplaceFunction.html" title="class in org.apache.sysds.runtime.instructions.spark"><span class="typeNameLink">ParameterizedBuiltinSPInstruction.RDDReplaceFunction</span></a> (implements org.apache.spark.api.java.function.Function&lt;T1,R&gt;)</li>
 <li type="circle">org.apache.sysds.runtime.instructions.spark.<a href="../../../../../../org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDRExpandFunction.html" title="class in org.apache.sysds.runtime.instructions.spark"><span class="typeNameLink">ParameterizedBuiltinSPInstruction.RDDRExpandFunction</span></a> (implements org.apache.spark.api.java.function.PairFlatMapFunction&lt;T,K,V&gt;)</li>
+<li type="circle">org.apache.sysds.runtime.instructions.spark.<a href="../../../../../../org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDTokenizeFunction.html" title="class in org.apache.sysds.runtime.instructions.spark"><span class="typeNameLink">ParameterizedBuiltinSPInstruction.RDDTokenizeFunction</span></a> (implements org.apache.spark.api.java.function.PairFunction&lt;T,K,V&gt;)</li>
 <li type="circle">org.apache.sysds.runtime.instructions.spark.<a href="../../../../../../org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDTransformApplyFunction.html" title="class in org.apache.sysds.runtime.instructions.spark"><span class="typeNameLink">ParameterizedBuiltinSPInstruction.RDDTransformApplyFunction</span></a> (implements org.apache.spark.api.java.function.PairFunction&lt;T,K,V&gt;)</li>
 <li type="circle">org.apache.sysds.runtime.instructions.spark.<a href="../../../../../../org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDTransformApplyOffsetFunction.html" title="class in org.apache.sysds.runtime.instructions.spark"><span class="typeNameLink">ParameterizedBuiltinSPInstruction.RDDTransformApplyOffsetFunction</span></a> (implements org.apache.spark.api.java.function.PairFunction&lt;T,K,V&gt;)</li>
 <li type="circle">org.apache.sysds.runtime.instructions.spark.<a href="../../../../../../org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDTransformDecodeExpandFunction.html" title="class in org.apache.sysds.runtime.instructions.spark"><span class="typeNameLink">ParameterizedBuiltinSPInstruction.RDDTransformDecodeExpandFunction</span></a> (implements org.apache.spark.api.java.function.PairFunction&lt;T,K,V&gt;)</li>
@@ -260,6 +263,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/package-use.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/package-use.html
index 6e26d8b..7191cd7 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/package-use.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/package-use.html
@@ -184,93 +184,96 @@
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/class-use/CumulativeOffsetSPInstruction.html#org.apache.sysds.runtime.instructions.spark">CumulativeOffsetSPInstruction</a>&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/class-use/DnnSPInstruction.html#org.apache.sysds.runtime.instructions.spark">DnnSPInstruction</a>&nbsp;</td>
+<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/class-use/DeCompressionSPInstruction.html#org.apache.sysds.runtime.instructions.spark">DeCompressionSPInstruction</a>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/class-use/DnnSPInstruction.html#org.apache.sysds.runtime.instructions.spark">DnnSPInstruction</a>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/class-use/IndexingSPInstruction.html#org.apache.sysds.runtime.instructions.spark">IndexingSPInstruction</a>
 <div class="block">This class implements the matrix indexing functionality inside Spark.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/class-use/MapmmChainSPInstruction.html#org.apache.sysds.runtime.instructions.spark">MapmmChainSPInstruction</a>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/class-use/MapmmSPInstruction.html#org.apache.sysds.runtime.instructions.spark">MapmmSPInstruction</a>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/class-use/MatrixReshapeSPInstruction.html#org.apache.sysds.runtime.instructions.spark">MatrixReshapeSPInstruction</a>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/class-use/MultiReturnParameterizedBuiltinSPInstruction.html#org.apache.sysds.runtime.instructions.spark">MultiReturnParameterizedBuiltinSPInstruction</a>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/class-use/ParameterizedBuiltinSPInstruction.html#org.apache.sysds.runtime.instructions.spark">ParameterizedBuiltinSPInstruction</a>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/class-use/PMapmmSPInstruction.html#org.apache.sysds.runtime.instructions.spark">PMapmmSPInstruction</a>
 <div class="block">This pmapmm matrix multiplication instruction is still experimental
  not integrated in automatic operator selection yet.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/class-use/PmmSPInstruction.html#org.apache.sysds.runtime.instructions.spark">PmmSPInstruction</a>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/class-use/QuantilePickSPInstruction.html#org.apache.sysds.runtime.instructions.spark">QuantilePickSPInstruction</a>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/class-use/QuantileSortSPInstruction.html#org.apache.sysds.runtime.instructions.spark">QuantileSortSPInstruction</a>
 <div class="block">This class supports two variants of sort operation on a 1-dimensional input matrix.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/class-use/QuaternarySPInstruction.html#org.apache.sysds.runtime.instructions.spark">QuaternarySPInstruction</a>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/class-use/RandSPInstruction.html#org.apache.sysds.runtime.instructions.spark">RandSPInstruction</a>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/class-use/ReblockSPInstruction.html#org.apache.sysds.runtime.instructions.spark">ReblockSPInstruction</a>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/class-use/ReorgSPInstruction.html#org.apache.sysds.runtime.instructions.spark">ReorgSPInstruction</a>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/class-use/RmmSPInstruction.html#org.apache.sysds.runtime.instructions.spark">RmmSPInstruction</a>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/class-use/SPInstruction.html#org.apache.sysds.runtime.instructions.spark">SPInstruction</a>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/class-use/SPInstruction.SPType.html#org.apache.sysds.runtime.instructions.spark">SPInstruction.SPType</a>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/class-use/SpoofSPInstruction.html#org.apache.sysds.runtime.instructions.spark">SpoofSPInstruction</a>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/class-use/TernarySPInstruction.html#org.apache.sysds.runtime.instructions.spark">TernarySPInstruction</a>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/class-use/Tsmm2SPInstruction.html#org.apache.sysds.runtime.instructions.spark">Tsmm2SPInstruction</a>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/class-use/TsmmSPInstruction.html#org.apache.sysds.runtime.instructions.spark">TsmmSPInstruction</a>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/class-use/UaggOuterChainSPInstruction.html#org.apache.sysds.runtime.instructions.spark">UaggOuterChainSPInstruction</a>
 <div class="block">Two types of broadcast variables used -- 1.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/class-use/UnaryFrameSPInstruction.html#org.apache.sysds.runtime.instructions.spark">UnaryFrameSPInstruction</a>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/class-use/UnarySPInstruction.html#org.apache.sysds.runtime.instructions.spark">UnarySPInstruction</a>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/class-use/WriteSPInstruction.html#org.apache.sysds.runtime.instructions.spark">WriteSPInstruction</a>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/class-use/ZipmmSPInstruction.html#org.apache.sysds.runtime.instructions.spark">ZipmmSPInstruction</a>&nbsp;</td>
 </tr>
 </tbody>
@@ -325,6 +328,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/FrameRDDAggregateUtils.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/FrameRDDAggregateUtils.html
index 4c7bcd8..6038f7a 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/FrameRDDAggregateUtils.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/FrameRDDAggregateUtils.html
@@ -267,6 +267,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/FrameRDDConverterUtils.LongFrameToLongWritableFrameFunction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/FrameRDDConverterUtils.LongFrameToLongWritableFrameFunction.html
index a3c4855..5245cb3 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/FrameRDDConverterUtils.LongFrameToLongWritableFrameFunction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/FrameRDDConverterUtils.LongFrameToLongWritableFrameFunction.html
@@ -287,6 +287,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/FrameRDDConverterUtils.LongWritableFrameToLongFrameFunction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/FrameRDDConverterUtils.LongWritableFrameToLongFrameFunction.html
index 7ee4a49..c529fac 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/FrameRDDConverterUtils.LongWritableFrameToLongFrameFunction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/FrameRDDConverterUtils.LongWritableFrameToLongFrameFunction.html
@@ -287,6 +287,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/FrameRDDConverterUtils.LongWritableTextToLongTextFunction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/FrameRDDConverterUtils.LongWritableTextToLongTextFunction.html
index 6fa4c26..93adf8e 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/FrameRDDConverterUtils.LongWritableTextToLongTextFunction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/FrameRDDConverterUtils.LongWritableTextToLongTextFunction.html
@@ -287,6 +287,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/FrameRDDConverterUtils.LongWritableToSerFunction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/FrameRDDConverterUtils.LongWritableToSerFunction.html
index 2fc6cdc..ce38fa9 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/FrameRDDConverterUtils.LongWritableToSerFunction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/FrameRDDConverterUtils.LongWritableToSerFunction.html
@@ -287,6 +287,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/FrameRDDConverterUtils.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/FrameRDDConverterUtils.html
index 22a9c94..16292bd 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/FrameRDDConverterUtils.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/FrameRDDConverterUtils.html
@@ -646,6 +646,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/RDDAggregateUtils.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/RDDAggregateUtils.html
index 4ca493c..f04caf7 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/RDDAggregateUtils.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/RDDAggregateUtils.html
@@ -630,6 +630,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/RDDConverterUtils.BinaryCellToBinaryBlockFunction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/RDDConverterUtils.BinaryCellToBinaryBlockFunction.html
index aee8d14..d7679e9 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/RDDConverterUtils.BinaryCellToBinaryBlockFunction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/RDDConverterUtils.BinaryCellToBinaryBlockFunction.html
@@ -287,6 +287,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/RDDConverterUtils.DataFrameExtractIDFunction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/RDDConverterUtils.DataFrameExtractIDFunction.html
index 6135939..559063a 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/RDDConverterUtils.DataFrameExtractIDFunction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/RDDConverterUtils.DataFrameExtractIDFunction.html
@@ -287,6 +287,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/RDDConverterUtils.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/RDDConverterUtils.html
index b74e26c..209cd1f 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/RDDConverterUtils.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/RDDConverterUtils.html
@@ -583,6 +583,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/RDDConverterUtilsExt.AddRowID.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/RDDConverterUtilsExt.AddRowID.html
index 7aa9340..4eb8ea6 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/RDDConverterUtilsExt.AddRowID.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/RDDConverterUtilsExt.AddRowID.html
@@ -287,6 +287,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/RDDConverterUtilsExt.RDDConverterTypes.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/RDDConverterUtilsExt.RDDConverterTypes.html
index 37dc558..96b21c5 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/RDDConverterUtilsExt.RDDConverterTypes.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/RDDConverterUtilsExt.RDDConverterTypes.html
@@ -341,6 +341,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/RDDConverterUtilsExt.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/RDDConverterUtilsExt.html
index bed8014..0e22d4c 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/RDDConverterUtilsExt.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/RDDConverterUtilsExt.html
@@ -503,6 +503,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/RDDSortUtils.IndexComparator.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/RDDSortUtils.IndexComparator.html
index 3032f0a..edf1af7 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/RDDSortUtils.IndexComparator.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/RDDSortUtils.IndexComparator.html
@@ -293,6 +293,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/RDDSortUtils.IndexComparator2.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/RDDSortUtils.IndexComparator2.html
index 0638ec8..c92d4a4 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/RDDSortUtils.IndexComparator2.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/RDDSortUtils.IndexComparator2.html
@@ -293,6 +293,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/RDDSortUtils.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/RDDSortUtils.html
index ebf9b85..ebdc113 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/RDDSortUtils.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/RDDSortUtils.html
@@ -484,6 +484,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/SparkUtils.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/SparkUtils.html
index 05afb5f..d674b07 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/SparkUtils.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/SparkUtils.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":9,"i11":9,"i12":9,"i13":9,"i14":9,"i15":9,"i16":9,"i17":9,"i18":9,"i19":9,"i20":9,"i21":9,"i22":9,"i23":9,"i24":9};
+var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":9,"i11":9,"i12":9,"i13":9,"i14":9,"i15":9,"i16":9,"i17":9,"i18":9,"i19":9,"i20":9,"i21":9,"i22":9,"i23":9,"i24":9,"i25":9,"i26":9,"i27":9};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -239,52 +239,66 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/utils/SparkUtils.html#getNonZeros-org.apache.spark.api.java.JavaPairRDD-">getNonZeros</a></span>(org.apache.spark.api.java.JavaPairRDD&lt;<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixIndexes.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixIndexes</a>,<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&gt;&nbsp;input)</code>&nbsp;</td>
 </tr>
 <tr id="i14" class="altColor">
+<td class="colFirst"><code>static long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/utils/SparkUtils.html#getNonZeros-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-">getNonZeros</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;mo)</code>&nbsp;</td>
+</tr>
+<tr id="i15" class="rowColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/utils/SparkUtils.html#getNumPreferredPartitions-org.apache.sysds.runtime.meta.DataCharacteristics-">getNumPreferredPartitions</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a>&nbsp;dc)</code>&nbsp;</td>
 </tr>
-<tr id="i15" class="rowColor">
+<tr id="i16" class="altColor">
+<td class="colFirst"><code>static int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/utils/SparkUtils.html#getNumPreferredPartitions-org.apache.sysds.runtime.meta.DataCharacteristics-boolean-">getNumPreferredPartitions</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a>&nbsp;dc,
+                         boolean&nbsp;outputEmptyBlocks)</code>&nbsp;</td>
+</tr>
+<tr id="i17" class="rowColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/utils/SparkUtils.html#getNumPreferredPartitions-org.apache.sysds.runtime.meta.DataCharacteristics-org.apache.spark.api.java.JavaPairRDD-">getNumPreferredPartitions</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a>&nbsp;dc,
                          org.apache.spark.api.java.JavaPairRDD&lt;?,?&gt;&nbsp;in)</code>&nbsp;</td>
 </tr>
-<tr id="i16" class="altColor">
+<tr id="i18" class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/utils/SparkUtils.html#getPrefixFromSparkDebugInfo-java.lang.String-">getPrefixFromSparkDebugInfo</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;line)</code>&nbsp;</td>
 </tr>
-<tr id="i17" class="rowColor">
+<tr id="i19" class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/utils/SparkUtils.html#getStartLineFromSparkDebugInfo-java.lang.String-">getStartLineFromSparkDebugInfo</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;line)</code>&nbsp;</td>
 </tr>
-<tr id="i18" class="altColor">
+<tr id="i20" class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/utils/SparkUtils.html#isHashPartitioned-org.apache.spark.api.java.JavaPairRDD-">isHashPartitioned</a></span>(org.apache.spark.api.java.JavaPairRDD&lt;?,?&gt;&nbsp;in)</code>
 <div class="block">Indicates if the input RDD is hash partitioned, i.e., it has a partitioner
  of type <code>org.apache.spark.HashPartitioner</code>.</div>
 </td>
 </tr>
-<tr id="i19" class="rowColor">
+<tr id="i21" class="rowColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/utils/SparkUtils.html#postprocessUltraSparseOutput-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-org.apache.sysds.runtime.meta.DataCharacteristics-">postprocessUltraSparseOutput</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;mo,
+                            <a href="../../../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a>&nbsp;mcOut)</code>&nbsp;</td>
+</tr>
+<tr id="i22" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/Pair.html" title="class in org.apache.sysds.runtime.matrix.data">Pair</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/utils/SparkUtils.html#toIndexedFrameBlock-scala.Tuple2-">toIndexedFrameBlock</a></span>(scala.Tuple2&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&gt;&nbsp;in)</code>&nbsp;</td>
 </tr>
-<tr id="i20" class="altColor">
+<tr id="i23" class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/Pair.html" title="class in org.apache.sysds.runtime.matrix.data">Pair</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/utils/SparkUtils.html#toIndexedLong-java.util.List-">toIndexedLong</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;scala.Tuple2&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&gt;&nbsp;in)</code>&nbsp;</td>
 </tr>
-<tr id="i21" class="rowColor">
+<tr id="i24" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/data/IndexedMatrixValue.html" title="class in org.apache.sysds.runtime.instructions.spark.data">IndexedMatrixValue</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/utils/SparkUtils.html#toIndexedMatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixIndexes-org.apache.sysds.runtime.matrix.data.MatrixBlock-">toIndexedMatrixBlock</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixIndexes.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixIndexes</a>&nbsp;ix,
                     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mb)</code>&nbsp;</td>
 </tr>
-<tr id="i22" class="altColor">
+<tr id="i25" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/data/IndexedMatrixValue.html" title="class in org.apache.sysds.runtime.instructions.spark.data">IndexedMatrixValue</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/utils/SparkUtils.html#toIndexedMatrixBlock-scala.Tuple2-">toIndexedMatrixBlock</a></span>(scala.Tuple2&lt;<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixIndexes.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixIndexes</a>,<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&gt;&nbsp;in)</code>&nbsp;</td>
 </tr>
-<tr id="i23" class="rowColor">
+<tr id="i26" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/data/IndexedTensorBlock.html" title="class in org.apache.sysds.runtime.data">IndexedTensorBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/utils/SparkUtils.html#toIndexedTensorBlock-org.apache.sysds.runtime.data.TensorIndexes-org.apache.sysds.runtime.data.TensorBlock-">toIndexedTensorBlock</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/data/TensorIndexes.html" title="class in org.apache.sysds.runtime.data">TensorIndexes</a>&nbsp;ix,
                     <a href="../../../../../../../org/apache/sysds/runtime/data/TensorBlock.html" title="class in org.apache.sysds.runtime.data">TensorBlock</a>&nbsp;mb)</code>&nbsp;</td>
 </tr>
-<tr id="i24" class="altColor">
+<tr id="i27" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/data/IndexedTensorBlock.html" title="class in org.apache.sysds.runtime.data">IndexedTensorBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/utils/SparkUtils.html#toIndexedTensorBlock-scala.Tuple2-">toIndexedTensorBlock</a></span>(scala.Tuple2&lt;<a href="../../../../../../../org/apache/sysds/runtime/data/TensorIndexes.html" title="class in org.apache.sysds.runtime.data">TensorIndexes</a>,<a href="../../../../../../../org/apache/sysds/runtime/data/TensorBlock.html" title="class in org.apache.sysds.runtime.data">TensorBlock</a>&gt;&nbsp;in)</code>&nbsp;</td>
 </tr>
@@ -490,6 +504,16 @@
 <pre>public static&nbsp;int&nbsp;getNumPreferredPartitions(<a href="../../../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a>&nbsp;dc)</pre>
 </li>
 </ul>
+<a name="getNumPreferredPartitions-org.apache.sysds.runtime.meta.DataCharacteristics-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getNumPreferredPartitions</h4>
+<pre>public static&nbsp;int&nbsp;getNumPreferredPartitions(<a href="../../../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a>&nbsp;dc,
+                                            boolean&nbsp;outputEmptyBlocks)</pre>
+</li>
+</ul>
 <a name="copyBinaryBlockMatrix-org.apache.spark.api.java.JavaPairRDD-">
 <!--   -->
 </a>
@@ -625,13 +649,32 @@
 </dl>
 </li>
 </ul>
+<a name="getNonZeros-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getNonZeros</h4>
+<pre>public static&nbsp;long&nbsp;getNonZeros(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;mo)</pre>
+</li>
+</ul>
 <a name="getNonZeros-org.apache.spark.api.java.JavaPairRDD-">
 <!--   -->
 </a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getNonZeros</h4>
+<pre>public static&nbsp;long&nbsp;getNonZeros(org.apache.spark.api.java.JavaPairRDD&lt;<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixIndexes.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixIndexes</a>,<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&gt;&nbsp;input)</pre>
+</li>
+</ul>
+<a name="postprocessUltraSparseOutput-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-org.apache.sysds.runtime.meta.DataCharacteristics-">
+<!--   -->
+</a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>getNonZeros</h4>
-<pre>public static&nbsp;long&nbsp;getNonZeros(org.apache.spark.api.java.JavaPairRDD&lt;<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixIndexes.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixIndexes</a>,<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&gt;&nbsp;input)</pre>
+<h4>postprocessUltraSparseOutput</h4>
+<pre>public static&nbsp;void&nbsp;postprocessUltraSparseOutput(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;mo,
+                                                <a href="../../../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a>&nbsp;mcOut)</pre>
 </li>
 </ul>
 </li>
@@ -703,6 +746,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/class-use/FrameRDDAggregateUtils.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/class-use/FrameRDDAggregateUtils.html
index c08e3e7..88c6c32 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/class-use/FrameRDDAggregateUtils.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/class-use/FrameRDDAggregateUtils.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/class-use/FrameRDDConverterUtils.LongFrameToLongWritableFrameFunction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/class-use/FrameRDDConverterUtils.LongFrameToLongWritableFrameFunction.html
index c6d5e5b..084a86d 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/class-use/FrameRDDConverterUtils.LongFrameToLongWritableFrameFunction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/class-use/FrameRDDConverterUtils.LongFrameToLongWritableFrameFunction.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/class-use/FrameRDDConverterUtils.LongWritableFrameToLongFrameFunction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/class-use/FrameRDDConverterUtils.LongWritableFrameToLongFrameFunction.html
index 9df967b..2596a81 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/class-use/FrameRDDConverterUtils.LongWritableFrameToLongFrameFunction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/class-use/FrameRDDConverterUtils.LongWritableFrameToLongFrameFunction.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/class-use/FrameRDDConverterUtils.LongWritableTextToLongTextFunction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/class-use/FrameRDDConverterUtils.LongWritableTextToLongTextFunction.html
index 777dda5..2123710 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/class-use/FrameRDDConverterUtils.LongWritableTextToLongTextFunction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/class-use/FrameRDDConverterUtils.LongWritableTextToLongTextFunction.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/class-use/FrameRDDConverterUtils.LongWritableToSerFunction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/class-use/FrameRDDConverterUtils.LongWritableToSerFunction.html
index 43e987b..92fb069 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/class-use/FrameRDDConverterUtils.LongWritableToSerFunction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/class-use/FrameRDDConverterUtils.LongWritableToSerFunction.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/class-use/FrameRDDConverterUtils.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/class-use/FrameRDDConverterUtils.html
index 45b224e..be31339 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/class-use/FrameRDDConverterUtils.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/class-use/FrameRDDConverterUtils.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/class-use/RDDAggregateUtils.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/class-use/RDDAggregateUtils.html
index d5d1c8c..07978c6 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/class-use/RDDAggregateUtils.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/class-use/RDDAggregateUtils.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/class-use/RDDConverterUtils.BinaryCellToBinaryBlockFunction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/class-use/RDDConverterUtils.BinaryCellToBinaryBlockFunction.html
index 676214e..3d74140 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/class-use/RDDConverterUtils.BinaryCellToBinaryBlockFunction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/class-use/RDDConverterUtils.BinaryCellToBinaryBlockFunction.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/class-use/RDDConverterUtils.DataFrameExtractIDFunction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/class-use/RDDConverterUtils.DataFrameExtractIDFunction.html
index effe3e4..5ce17ff 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/class-use/RDDConverterUtils.DataFrameExtractIDFunction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/class-use/RDDConverterUtils.DataFrameExtractIDFunction.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/class-use/RDDConverterUtils.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/class-use/RDDConverterUtils.html
index 255c60d..5ef21ab 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/class-use/RDDConverterUtils.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/class-use/RDDConverterUtils.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/class-use/RDDConverterUtilsExt.AddRowID.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/class-use/RDDConverterUtilsExt.AddRowID.html
index b43441d..ff5a753 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/class-use/RDDConverterUtilsExt.AddRowID.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/class-use/RDDConverterUtilsExt.AddRowID.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/class-use/RDDConverterUtilsExt.RDDConverterTypes.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/class-use/RDDConverterUtilsExt.RDDConverterTypes.html
index 0a57b0b..c36714f 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/class-use/RDDConverterUtilsExt.RDDConverterTypes.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/class-use/RDDConverterUtilsExt.RDDConverterTypes.html
@@ -169,6 +169,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/class-use/RDDConverterUtilsExt.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/class-use/RDDConverterUtilsExt.html
index 5fe385b..4ff5b35 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/class-use/RDDConverterUtilsExt.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/class-use/RDDConverterUtilsExt.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/class-use/RDDSortUtils.IndexComparator.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/class-use/RDDSortUtils.IndexComparator.html
index 0c22631..8ed5734 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/class-use/RDDSortUtils.IndexComparator.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/class-use/RDDSortUtils.IndexComparator.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/class-use/RDDSortUtils.IndexComparator2.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/class-use/RDDSortUtils.IndexComparator2.html
index 297ddf9..24dc447 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/class-use/RDDSortUtils.IndexComparator2.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/class-use/RDDSortUtils.IndexComparator2.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/class-use/RDDSortUtils.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/class-use/RDDSortUtils.html
index ad7e287..3a12add 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/class-use/RDDSortUtils.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/class-use/RDDSortUtils.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/class-use/SparkUtils.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/class-use/SparkUtils.html
index 33f41a4..cf63666 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/class-use/SparkUtils.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/class-use/SparkUtils.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/package-summary.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/package-summary.html
index f8ec665..1b1ecce 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/package-summary.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/package-summary.html
@@ -217,6 +217,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/package-tree.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/package-tree.html
index 8791135..734a4a0 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/package-tree.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/package-tree.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/package-use.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/package-use.html
index 2b8b883..3e02c58 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/package-use.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/utils/package-use.html
@@ -153,6 +153,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/BinaryBlockSerialization.MatrixBlockDeserializer.html b/docs/api/java/org/apache/sysds/runtime/io/BinaryBlockSerialization.MatrixBlockDeserializer.html
index 1682c28..df52f0c 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/BinaryBlockSerialization.MatrixBlockDeserializer.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/BinaryBlockSerialization.MatrixBlockDeserializer.html
@@ -323,6 +323,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/BinaryBlockSerialization.MatrixBlockSerializer.html b/docs/api/java/org/apache/sysds/runtime/io/BinaryBlockSerialization.MatrixBlockSerializer.html
index 54f90e1..6da0e99 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/BinaryBlockSerialization.MatrixBlockSerializer.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/BinaryBlockSerialization.MatrixBlockSerializer.html
@@ -323,6 +323,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/BinaryBlockSerialization.html b/docs/api/java/org/apache/sysds/runtime/io/BinaryBlockSerialization.html
index cda98d8..926f110 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/BinaryBlockSerialization.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/BinaryBlockSerialization.html
@@ -335,6 +335,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/FileFormatProperties.html b/docs/api/java/org/apache/sysds/runtime/io/FileFormatProperties.html
index 464ba7f..b729696 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/FileFormatProperties.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/FileFormatProperties.html
@@ -284,6 +284,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/FileFormatPropertiesCSV.html b/docs/api/java/org/apache/sysds/runtime/io/FileFormatPropertiesCSV.html
index fb90e4a..2142066 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/FileFormatPropertiesCSV.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/FileFormatPropertiesCSV.html
@@ -484,6 +484,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/FileFormatPropertiesMM.MMField.html b/docs/api/java/org/apache/sysds/runtime/io/FileFormatPropertiesMM.MMField.html
index 2e21e8c..f9f961d 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/FileFormatPropertiesMM.MMField.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/FileFormatPropertiesMM.MMField.html
@@ -382,6 +382,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/FileFormatPropertiesMM.MMFormat.html b/docs/api/java/org/apache/sysds/runtime/io/FileFormatPropertiesMM.MMFormat.html
index a651ebe..04ec6c3 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/FileFormatPropertiesMM.MMFormat.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/FileFormatPropertiesMM.MMFormat.html
@@ -358,6 +358,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/FileFormatPropertiesMM.MMSymmetry.html b/docs/api/java/org/apache/sysds/runtime/io/FileFormatPropertiesMM.MMSymmetry.html
index 1f19b3d..83eb605 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/FileFormatPropertiesMM.MMSymmetry.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/FileFormatPropertiesMM.MMSymmetry.html
@@ -370,6 +370,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/FileFormatPropertiesMM.html b/docs/api/java/org/apache/sysds/runtime/io/FileFormatPropertiesMM.html
index b8cada8..d20acd8 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/FileFormatPropertiesMM.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/FileFormatPropertiesMM.html
@@ -409,6 +409,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/FrameReader.html b/docs/api/java/org/apache/sysds/runtime/io/FrameReader.html
index 0b7a916..73d4b87 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/FrameReader.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/FrameReader.html
@@ -453,6 +453,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/FrameReaderBinaryBlock.html b/docs/api/java/org/apache/sysds/runtime/io/FrameReaderBinaryBlock.html
index 7172742..8a5053d 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/FrameReaderBinaryBlock.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/FrameReaderBinaryBlock.html
@@ -356,6 +356,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/FrameReaderBinaryBlockParallel.html b/docs/api/java/org/apache/sysds/runtime/io/FrameReaderBinaryBlockParallel.html
index 3cb3aab..11b133e 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/FrameReaderBinaryBlockParallel.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/FrameReaderBinaryBlockParallel.html
@@ -258,6 +258,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/FrameReaderFactory.html b/docs/api/java/org/apache/sysds/runtime/io/FrameReaderFactory.html
index a98494d..2e8852a 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/FrameReaderFactory.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/FrameReaderFactory.html
@@ -282,6 +282,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/FrameReaderJSONL.html b/docs/api/java/org/apache/sysds/runtime/io/FrameReaderJSONL.html
index 82b827a..371f172 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/FrameReaderJSONL.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/FrameReaderJSONL.html
@@ -288,6 +288,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/FrameReaderJSONLParallel.html b/docs/api/java/org/apache/sysds/runtime/io/FrameReaderJSONLParallel.html
index 9e6a4e6..e60c7cd 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/FrameReaderJSONLParallel.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/FrameReaderJSONLParallel.html
@@ -245,6 +245,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/FrameReaderProto.html b/docs/api/java/org/apache/sysds/runtime/io/FrameReaderProto.html
index dd09295..1583a0f 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/FrameReaderProto.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/FrameReaderProto.html
@@ -319,6 +319,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/FrameReaderTextCSV.html b/docs/api/java/org/apache/sysds/runtime/io/FrameReaderTextCSV.html
index 7afdd09..020b51b 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/FrameReaderTextCSV.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/FrameReaderTextCSV.html
@@ -331,6 +331,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/FrameReaderTextCSVParallel.html b/docs/api/java/org/apache/sysds/runtime/io/FrameReaderTextCSVParallel.html
index 280bd2e..5fe3847 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/FrameReaderTextCSVParallel.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/FrameReaderTextCSVParallel.html
@@ -258,6 +258,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/FrameReaderTextCell.html b/docs/api/java/org/apache/sysds/runtime/io/FrameReaderTextCell.html
index 767ff64..2b343b2 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/FrameReaderTextCell.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/FrameReaderTextCell.html
@@ -331,6 +331,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/FrameReaderTextCellParallel.ReadTask.html b/docs/api/java/org/apache/sysds/runtime/io/FrameReaderTextCellParallel.ReadTask.html
index c3348c2..4cf1e26 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/FrameReaderTextCellParallel.ReadTask.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/FrameReaderTextCellParallel.ReadTask.html
@@ -289,6 +289,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/FrameReaderTextCellParallel.html b/docs/api/java/org/apache/sysds/runtime/io/FrameReaderTextCellParallel.html
index 9887be7..2b6e388 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/FrameReaderTextCellParallel.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/FrameReaderTextCellParallel.html
@@ -277,6 +277,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/FrameWriter.html b/docs/api/java/org/apache/sysds/runtime/io/FrameWriter.html
index 37f87f6..5f9f763 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/FrameWriter.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/FrameWriter.html
@@ -318,6 +318,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/FrameWriterBinaryBlock.html b/docs/api/java/org/apache/sysds/runtime/io/FrameWriterBinaryBlock.html
index b7120fa..1e18e50 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/FrameWriterBinaryBlock.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/FrameWriterBinaryBlock.html
@@ -299,6 +299,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/FrameWriterBinaryBlockParallel.html b/docs/api/java/org/apache/sysds/runtime/io/FrameWriterBinaryBlockParallel.html
index a42e106..711c19f 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/FrameWriterBinaryBlockParallel.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/FrameWriterBinaryBlockParallel.html
@@ -258,6 +258,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/FrameWriterFactory.html b/docs/api/java/org/apache/sysds/runtime/io/FrameWriterFactory.html
index 6abec1d..be63f69 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/FrameWriterFactory.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/FrameWriterFactory.html
@@ -282,6 +282,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/FrameWriterJSONL.html b/docs/api/java/org/apache/sysds/runtime/io/FrameWriterJSONL.html
index b9c58dd..125c596 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/FrameWriterJSONL.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/FrameWriterJSONL.html
@@ -288,6 +288,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/FrameWriterJSONLParallel.html b/docs/api/java/org/apache/sysds/runtime/io/FrameWriterJSONLParallel.html
index 37ccc40..d726785 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/FrameWriterJSONLParallel.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/FrameWriterJSONLParallel.html
@@ -245,6 +245,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/FrameWriterProto.html b/docs/api/java/org/apache/sysds/runtime/io/FrameWriterProto.html
index 5dda74e..d43518f 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/FrameWriterProto.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/FrameWriterProto.html
@@ -292,6 +292,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/FrameWriterTextCSV.html b/docs/api/java/org/apache/sysds/runtime/io/FrameWriterTextCSV.html
index a5d2b3d..b57285b 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/FrameWriterTextCSV.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/FrameWriterTextCSV.html
@@ -339,6 +339,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/FrameWriterTextCSVParallel.html b/docs/api/java/org/apache/sysds/runtime/io/FrameWriterTextCSVParallel.html
index 814d756..33d8147 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/FrameWriterTextCSVParallel.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/FrameWriterTextCSVParallel.html
@@ -273,6 +273,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/FrameWriterTextCell.html b/docs/api/java/org/apache/sysds/runtime/io/FrameWriterTextCell.html
index 3f8edd7..88bdd65 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/FrameWriterTextCell.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/FrameWriterTextCell.html
@@ -299,6 +299,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/FrameWriterTextCellParallel.html b/docs/api/java/org/apache/sysds/runtime/io/FrameWriterTextCellParallel.html
index 7d4e379..ab879d9 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/FrameWriterTextCellParallel.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/FrameWriterTextCellParallel.html
@@ -258,6 +258,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/IOUtilFunctions.CountRowsTask.html b/docs/api/java/org/apache/sysds/runtime/io/IOUtilFunctions.CountRowsTask.html
index 82a796f..7eb0004 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/IOUtilFunctions.CountRowsTask.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/IOUtilFunctions.CountRowsTask.html
@@ -305,6 +305,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/IOUtilFunctions.html b/docs/api/java/org/apache/sysds/runtime/io/IOUtilFunctions.html
index fdee50b..bc4c308 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/IOUtilFunctions.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/IOUtilFunctions.html
@@ -1046,6 +1046,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/InputOutputInfo.html b/docs/api/java/org/apache/sysds/runtime/io/InputOutputInfo.html
index 3022cd4..0561ab8 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/InputOutputInfo.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/InputOutputInfo.html
@@ -463,6 +463,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/MatrixReader.html b/docs/api/java/org/apache/sysds/runtime/io/MatrixReader.html
index 3d41cd5..5ad789b 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/MatrixReader.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/MatrixReader.html
@@ -318,6 +318,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/MatrixReaderFactory.html b/docs/api/java/org/apache/sysds/runtime/io/MatrixReaderFactory.html
index 12b0434..86711af 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/MatrixReaderFactory.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/MatrixReaderFactory.html
@@ -280,6 +280,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/MatrixWriter.html b/docs/api/java/org/apache/sysds/runtime/io/MatrixWriter.html
index a219b95..f4b091e 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/MatrixWriter.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/MatrixWriter.html
@@ -392,6 +392,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/MatrixWriterFactory.html b/docs/api/java/org/apache/sysds/runtime/io/MatrixWriterFactory.html
index fc17efe..1f6a3cc 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/MatrixWriterFactory.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/MatrixWriterFactory.html
@@ -284,6 +284,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/ReadProperties.html b/docs/api/java/org/apache/sysds/runtime/io/ReadProperties.html
index c7cbb79..8f5304b 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/ReadProperties.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/ReadProperties.html
@@ -43,7 +43,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/sysds/runtime/io/ReaderTextLIBSVMParallel.html" title="class in org.apache.sysds.runtime.io"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/sysds/runtime/io/ReaderWriterFederated.html" title="class in org.apache.sysds.runtime.io"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../org/apache/sysds/runtime/io/TensorReader.html" title="class in org.apache.sysds.runtime.io"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -319,7 +319,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/sysds/runtime/io/ReaderTextLIBSVMParallel.html" title="class in org.apache.sysds.runtime.io"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/sysds/runtime/io/ReaderWriterFederated.html" title="class in org.apache.sysds.runtime.io"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../org/apache/sysds/runtime/io/TensorReader.html" title="class in org.apache.sysds.runtime.io"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -360,6 +360,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/ReaderBinaryBlock.html b/docs/api/java/org/apache/sysds/runtime/io/ReaderBinaryBlock.html
index 0d00592..e94234c 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/ReaderBinaryBlock.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/ReaderBinaryBlock.html
@@ -362,6 +362,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/ReaderBinaryBlockParallel.html b/docs/api/java/org/apache/sysds/runtime/io/ReaderBinaryBlockParallel.html
index 29b0dfd..6c2d4f7 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/ReaderBinaryBlockParallel.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/ReaderBinaryBlockParallel.html
@@ -301,6 +301,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/ReaderTextCSV.html b/docs/api/java/org/apache/sysds/runtime/io/ReaderTextCSV.html
index bf7b198..dd2f929 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/ReaderTextCSV.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/ReaderTextCSV.html
@@ -319,6 +319,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/ReaderTextCSVParallel.html b/docs/api/java/org/apache/sysds/runtime/io/ReaderTextCSVParallel.html
index 5f70326..ce15c39 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/ReaderTextCSVParallel.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/ReaderTextCSVParallel.html
@@ -116,14 +116,11 @@
 <br>
 <pre>public class <span class="typeNameLabel">ReaderTextCSVParallel</span>
 extends <a href="../../../../../org/apache/sysds/runtime/io/MatrixReader.html" title="class in org.apache.sysds.runtime.io">MatrixReader</a></pre>
-<div class="block">Parallel version of ReaderTextCSV.java. To summarize, we do two passes in
- order to compute row offsets and the actual read. We accordingly create count
- and read tasks and use fixed-size thread pools to execute these tasks. If the
- target matrix is dense, the inserts are done lock-free. In contrast to
- textcell parallel read, we also do lock-free inserts. If the matrix is
- sparse, because splits contain row partitioned lines and hence there is no
- danger of lost updates. Note, there is also no sorting of sparse rows
- required because data comes in sorted order per row.</div>
+<div class="block">Parallel version of ReaderTextCSV.java. To summarize, we do two passes in order to compute row offsets and the actual
+ read. We accordingly create count and read tasks and use fixed-size thread pools to execute these tasks. If the
+ target matrix is dense, the inserts are done lock-free. In contrast to textcell parallel read, we also do lock-free
+ inserts. If the matrix is sparse, because splits contain row partitioned lines and hence there is no danger of lost
+ updates. Note, there is also no sorting of sparse rows required because data comes in sorted order per row.</div>
 </li>
 </ul>
 </div>
@@ -327,6 +324,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/ReaderTextCell.html b/docs/api/java/org/apache/sysds/runtime/io/ReaderTextCell.html
index e4c2cdc..da28e13 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/ReaderTextCell.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/ReaderTextCell.html
@@ -337,6 +337,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/ReaderTextCellParallel.CellBuffer.html b/docs/api/java/org/apache/sysds/runtime/io/ReaderTextCellParallel.CellBuffer.html
index 8e33057..5104b02 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/ReaderTextCellParallel.CellBuffer.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/ReaderTextCellParallel.CellBuffer.html
@@ -356,6 +356,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/ReaderTextCellParallel.CountNnzTask.html b/docs/api/java/org/apache/sysds/runtime/io/ReaderTextCellParallel.CountNnzTask.html
index 06d371e..8309273 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/ReaderTextCellParallel.CountNnzTask.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/ReaderTextCellParallel.CountNnzTask.html
@@ -291,6 +291,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/ReaderTextCellParallel.ReadTask.html b/docs/api/java/org/apache/sysds/runtime/io/ReaderTextCellParallel.ReadTask.html
index 84db62b..a9b58d5 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/ReaderTextCellParallel.ReadTask.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/ReaderTextCellParallel.ReadTask.html
@@ -297,6 +297,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/ReaderTextCellParallel.html b/docs/api/java/org/apache/sysds/runtime/io/ReaderTextCellParallel.html
index d6113bf..0775559 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/ReaderTextCellParallel.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/ReaderTextCellParallel.html
@@ -295,6 +295,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/ReaderTextLIBSVM.html b/docs/api/java/org/apache/sysds/runtime/io/ReaderTextLIBSVM.html
index 3066612..742f67e 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/ReaderTextLIBSVM.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/ReaderTextLIBSVM.html
@@ -319,6 +319,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/ReaderTextLIBSVMParallel.html b/docs/api/java/org/apache/sysds/runtime/io/ReaderTextLIBSVMParallel.html
index a9a60c9..777c568 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/ReaderTextLIBSVMParallel.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/ReaderTextLIBSVMParallel.html
@@ -50,7 +50,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../org/apache/sysds/runtime/io/ReaderTextLIBSVM.html" title="class in org.apache.sysds.runtime.io"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/sysds/runtime/io/ReadProperties.html" title="class in org.apache.sysds.runtime.io"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/sysds/runtime/io/ReaderWriterFederated.html" title="class in org.apache.sysds.runtime.io"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?org/apache/sysds/runtime/io/ReaderTextLIBSVMParallel.html" target="_top">Frames</a></li>
@@ -279,7 +279,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../org/apache/sysds/runtime/io/ReaderTextLIBSVM.html" title="class in org.apache.sysds.runtime.io"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/sysds/runtime/io/ReadProperties.html" title="class in org.apache.sysds.runtime.io"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/sysds/runtime/io/ReaderWriterFederated.html" title="class in org.apache.sysds.runtime.io"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?org/apache/sysds/runtime/io/ReaderTextLIBSVMParallel.html" target="_top">Frames</a></li>
@@ -319,6 +319,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/ReaderWriterFederated.html b/docs/api/java/org/apache/sysds/runtime/io/ReaderWriterFederated.html
new file mode 100644
index 0000000..807c627
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/io/ReaderWriterFederated.html
@@ -0,0 +1,324 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>ReaderWriterFederated (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="ReaderWriterFederated (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":9,"i1":9};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ReaderWriterFederated.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/sysds/runtime/io/ReaderTextLIBSVMParallel.html" title="class in org.apache.sysds.runtime.io"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/sysds/runtime/io/ReadProperties.html" title="class in org.apache.sysds.runtime.io"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/sysds/runtime/io/ReaderWriterFederated.html" target="_top">Frames</a></li>
+<li><a href="ReaderWriterFederated.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.sysds.runtime.io</div>
+<h2 title="Class ReaderWriterFederated" class="title">Class ReaderWriterFederated</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.sysds.runtime.io.ReaderWriterFederated</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">ReaderWriterFederated</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block">This class serves as the reader for federated objects. To read the files a mdt file is required. The reader is
+ different from the other readers in the since that it does not return a MatrixBlock but a Matrix Object wrapper,
+ containing the federated Mapping.
+ 
+ On the Matrix Object the function isFederated() will if called read in the federated locations and instantiate the
+ map. The reading is done through this code.
+ 
+ This means in practice that it circumvent the other reading code. See more in:
+ 
+ org.apache.sysds.runtime.controlprogram.caching.MatrixObject.readBlobFromHDFS()
+ org.apache.sysds.runtime.controlprogram.caching.CacheableData.isFederated()</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/io/ReaderWriterFederated.html#ReaderWriterFederated--">ReaderWriterFederated</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.commons.lang3.tuple.Pair&lt;<a href="../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRange.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRange</a>,<a href="../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedData.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedData</a>&gt;&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/io/ReaderWriterFederated.html#read-java.lang.String-org.apache.sysds.runtime.meta.DataCharacteristics-">read</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;file,
+    <a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a>&nbsp;mc)</code>
+<div class="block">Read a federated map from disk, It is not initialized before it is used in:
+ 
+ org.apache.sysds.runtime.instructions.fed.InitFEDInstruction</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/io/ReaderWriterFederated.html#write-java.lang.String-org.apache.sysds.runtime.controlprogram.federated.FederationMap-">write</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;file,
+     <a href="../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationMap</a>&nbsp;fedMap)</code>
+<div class="block">TODO add writing to each of the federated locations so that they also save their matrices.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="ReaderWriterFederated--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>ReaderWriterFederated</h4>
+<pre>public&nbsp;ReaderWriterFederated()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="read-java.lang.String-org.apache.sysds.runtime.meta.DataCharacteristics-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>read</h4>
+<pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.commons.lang3.tuple.Pair&lt;<a href="../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRange.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRange</a>,<a href="../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedData.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedData</a>&gt;&gt;&nbsp;read(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;file,
+                                                                                           <a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a>&nbsp;mc)</pre>
+<div class="block">Read a federated map from disk, It is not initialized before it is used in:
+ 
+ org.apache.sysds.runtime.instructions.fed.InitFEDInstruction</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>file</code> - The file to read (defaults to HDFS)</dd>
+<dd><code>mc</code> - The data characteristics of the file, that can be read from the mtd file.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>A List of federatedRanges and Federated Data</dd>
+</dl>
+</li>
+</ul>
+<a name="write-java.lang.String-org.apache.sysds.runtime.controlprogram.federated.FederationMap-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>write</h4>
+<pre>public static&nbsp;void&nbsp;write(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;file,
+                         <a href="../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationMap</a>&nbsp;fedMap)</pre>
+<div class="block">TODO add writing to each of the federated locations so that they also save their matrices.
+ 
+ Currently this would write the federated matrix to disk only locally.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>file</code> - The file to save to, (defaults to HDFS paths)</dd>
+<dd><code>fedMap</code> - The federated map to save.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ReaderWriterFederated.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/sysds/runtime/io/ReaderTextLIBSVMParallel.html" title="class in org.apache.sysds.runtime.io"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/sysds/runtime/io/ReadProperties.html" title="class in org.apache.sysds.runtime.io"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/sysds/runtime/io/ReaderWriterFederated.html" target="_top">Frames</a></li>
+<li><a href="ReaderWriterFederated.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/TensorReader.html b/docs/api/java/org/apache/sysds/runtime/io/TensorReader.html
index 10ba491..9391d08 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/TensorReader.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/TensorReader.html
@@ -284,6 +284,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/TensorReaderBinaryBlock.html b/docs/api/java/org/apache/sysds/runtime/io/TensorReaderBinaryBlock.html
index 4bc8b52..797c39f 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/TensorReaderBinaryBlock.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/TensorReaderBinaryBlock.html
@@ -291,6 +291,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/TensorReaderBinaryBlockParallel.html b/docs/api/java/org/apache/sysds/runtime/io/TensorReaderBinaryBlockParallel.html
index 13e32a2..b47b070 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/TensorReaderBinaryBlockParallel.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/TensorReaderBinaryBlockParallel.html
@@ -250,6 +250,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/TensorReaderFactory.html b/docs/api/java/org/apache/sysds/runtime/io/TensorReaderFactory.html
index bec6aa5..a96c0dc 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/TensorReaderFactory.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/TensorReaderFactory.html
@@ -267,6 +267,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/TensorReaderTextCell.html b/docs/api/java/org/apache/sysds/runtime/io/TensorReaderTextCell.html
index 56b28a4..8955756 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/TensorReaderTextCell.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/TensorReaderTextCell.html
@@ -291,6 +291,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/TensorReaderTextCellParallel.html b/docs/api/java/org/apache/sysds/runtime/io/TensorReaderTextCellParallel.html
index 7299f25..87c87c9 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/TensorReaderTextCellParallel.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/TensorReaderTextCellParallel.html
@@ -250,6 +250,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/TensorWriter.html b/docs/api/java/org/apache/sysds/runtime/io/TensorWriter.html
index 83e05f9..ac2cebc 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/TensorWriter.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/TensorWriter.html
@@ -280,6 +280,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/TensorWriterBinaryBlock.html b/docs/api/java/org/apache/sysds/runtime/io/TensorWriterBinaryBlock.html
index e241d34..d536143 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/TensorWriterBinaryBlock.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/TensorWriterBinaryBlock.html
@@ -287,6 +287,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/TensorWriterBinaryBlockParallel.WriteFileTask.html b/docs/api/java/org/apache/sysds/runtime/io/TensorWriterBinaryBlockParallel.WriteFileTask.html
index ec747a9..6a2d310 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/TensorWriterBinaryBlockParallel.WriteFileTask.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/TensorWriterBinaryBlockParallel.WriteFileTask.html
@@ -295,6 +295,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/TensorWriterBinaryBlockParallel.html b/docs/api/java/org/apache/sysds/runtime/io/TensorWriterBinaryBlockParallel.html
index 4c5ab11..bb4a083 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/TensorWriterBinaryBlockParallel.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/TensorWriterBinaryBlockParallel.html
@@ -269,6 +269,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/TensorWriterFactory.html b/docs/api/java/org/apache/sysds/runtime/io/TensorWriterFactory.html
index b3f9733..14f1dd3 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/TensorWriterFactory.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/TensorWriterFactory.html
@@ -267,6 +267,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/TensorWriterTextCell.html b/docs/api/java/org/apache/sysds/runtime/io/TensorWriterTextCell.html
index d05b1a2..a8cd7ba 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/TensorWriterTextCell.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/TensorWriterTextCell.html
@@ -287,6 +287,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/TensorWriterTextCellParallel.html b/docs/api/java/org/apache/sysds/runtime/io/TensorWriterTextCellParallel.html
index 17d94e4..454a3e1 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/TensorWriterTextCellParallel.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/TensorWriterTextCellParallel.html
@@ -250,6 +250,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/WriterBinaryBlock.html b/docs/api/java/org/apache/sysds/runtime/io/WriterBinaryBlock.html
index 9125baa..d8ebfdb 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/WriterBinaryBlock.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/WriterBinaryBlock.html
@@ -341,6 +341,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/WriterBinaryBlockParallel.html b/docs/api/java/org/apache/sysds/runtime/io/WriterBinaryBlockParallel.html
index b712b3c..876a629 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/WriterBinaryBlockParallel.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/WriterBinaryBlockParallel.html
@@ -257,6 +257,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/WriterMatrixMarket.html b/docs/api/java/org/apache/sysds/runtime/io/WriterMatrixMarket.html
index fd67168..24dfab8 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/WriterMatrixMarket.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/WriterMatrixMarket.html
@@ -367,6 +367,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/WriterMatrixMarketParallel.html b/docs/api/java/org/apache/sysds/runtime/io/WriterMatrixMarketParallel.html
index 9162007..1933a39 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/WriterMatrixMarketParallel.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/WriterMatrixMarketParallel.html
@@ -257,6 +257,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/WriterTextCSV.html b/docs/api/java/org/apache/sysds/runtime/io/WriterTextCSV.html
index ab28a86..cc151b3 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/WriterTextCSV.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/WriterTextCSV.html
@@ -405,6 +405,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/WriterTextCSVParallel.html b/docs/api/java/org/apache/sysds/runtime/io/WriterTextCSVParallel.html
index fdd5987..dca4434 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/WriterTextCSVParallel.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/WriterTextCSVParallel.html
@@ -272,6 +272,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/WriterTextCell.html b/docs/api/java/org/apache/sysds/runtime/io/WriterTextCell.html
index 39c9bc4..4033da0 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/WriterTextCell.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/WriterTextCell.html
@@ -341,6 +341,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/WriterTextCellParallel.html b/docs/api/java/org/apache/sysds/runtime/io/WriterTextCellParallel.html
index acad7b3..4439965 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/WriterTextCellParallel.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/WriterTextCellParallel.html
@@ -257,6 +257,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/WriterTextLIBSVM.html b/docs/api/java/org/apache/sysds/runtime/io/WriterTextLIBSVM.html
index ecd3da0..a8df37b 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/WriterTextLIBSVM.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/WriterTextLIBSVM.html
@@ -341,6 +341,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/WriterTextLIBSVMParallel.html b/docs/api/java/org/apache/sysds/runtime/io/WriterTextLIBSVMParallel.html
index c588430..5fa07f9 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/WriterTextLIBSVMParallel.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/WriterTextLIBSVMParallel.html
@@ -257,6 +257,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/class-use/BinaryBlockSerialization.MatrixBlockDeserializer.html b/docs/api/java/org/apache/sysds/runtime/io/class-use/BinaryBlockSerialization.MatrixBlockDeserializer.html
index d47cac2..80a87cc 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/class-use/BinaryBlockSerialization.MatrixBlockDeserializer.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/class-use/BinaryBlockSerialization.MatrixBlockDeserializer.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/class-use/BinaryBlockSerialization.MatrixBlockSerializer.html b/docs/api/java/org/apache/sysds/runtime/io/class-use/BinaryBlockSerialization.MatrixBlockSerializer.html
index 3038b26..0ef9395 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/class-use/BinaryBlockSerialization.MatrixBlockSerializer.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/class-use/BinaryBlockSerialization.MatrixBlockSerializer.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/class-use/BinaryBlockSerialization.html b/docs/api/java/org/apache/sysds/runtime/io/class-use/BinaryBlockSerialization.html
index c152ef8..8ef1ac4 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/class-use/BinaryBlockSerialization.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/class-use/BinaryBlockSerialization.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/class-use/FileFormatProperties.html b/docs/api/java/org/apache/sysds/runtime/io/class-use/FileFormatProperties.html
index b56e3d3..f485d69 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/class-use/FileFormatProperties.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/class-use/FileFormatProperties.html
@@ -413,6 +413,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/class-use/FileFormatPropertiesCSV.html b/docs/api/java/org/apache/sysds/runtime/io/class-use/FileFormatPropertiesCSV.html
index 094624d..0c3af59 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/class-use/FileFormatPropertiesCSV.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/class-use/FileFormatPropertiesCSV.html
@@ -211,6 +211,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/class-use/FileFormatPropertiesMM.MMField.html b/docs/api/java/org/apache/sysds/runtime/io/class-use/FileFormatPropertiesMM.MMField.html
index 59b533a..0a0c66e 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/class-use/FileFormatPropertiesMM.MMField.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/class-use/FileFormatPropertiesMM.MMField.html
@@ -186,6 +186,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/class-use/FileFormatPropertiesMM.MMFormat.html b/docs/api/java/org/apache/sysds/runtime/io/class-use/FileFormatPropertiesMM.MMFormat.html
index 8da1254..f82a1a9 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/class-use/FileFormatPropertiesMM.MMFormat.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/class-use/FileFormatPropertiesMM.MMFormat.html
@@ -186,6 +186,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/class-use/FileFormatPropertiesMM.MMSymmetry.html b/docs/api/java/org/apache/sysds/runtime/io/class-use/FileFormatPropertiesMM.MMSymmetry.html
index 317cfb0..e00974e 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/class-use/FileFormatPropertiesMM.MMSymmetry.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/class-use/FileFormatPropertiesMM.MMSymmetry.html
@@ -186,6 +186,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/class-use/FileFormatPropertiesMM.html b/docs/api/java/org/apache/sysds/runtime/io/class-use/FileFormatPropertiesMM.html
index 5b84e74..cb2166f 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/class-use/FileFormatPropertiesMM.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/class-use/FileFormatPropertiesMM.html
@@ -208,6 +208,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/class-use/FrameReader.html b/docs/api/java/org/apache/sysds/runtime/io/class-use/FrameReader.html
index 45152f1..0b63e57 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/class-use/FrameReader.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/class-use/FrameReader.html
@@ -214,6 +214,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/class-use/FrameReaderBinaryBlock.html b/docs/api/java/org/apache/sysds/runtime/io/class-use/FrameReaderBinaryBlock.html
index 1f0330d..fd74be6 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/class-use/FrameReaderBinaryBlock.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/class-use/FrameReaderBinaryBlock.html
@@ -162,6 +162,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/class-use/FrameReaderBinaryBlockParallel.html b/docs/api/java/org/apache/sysds/runtime/io/class-use/FrameReaderBinaryBlockParallel.html
index 2db44f2..e0765f9 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/class-use/FrameReaderBinaryBlockParallel.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/class-use/FrameReaderBinaryBlockParallel.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/class-use/FrameReaderFactory.html b/docs/api/java/org/apache/sysds/runtime/io/class-use/FrameReaderFactory.html
index 911199a..40eae4d 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/class-use/FrameReaderFactory.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/class-use/FrameReaderFactory.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/class-use/FrameReaderJSONL.html b/docs/api/java/org/apache/sysds/runtime/io/class-use/FrameReaderJSONL.html
index 9d19379..772e20f 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/class-use/FrameReaderJSONL.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/class-use/FrameReaderJSONL.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/class-use/FrameReaderJSONLParallel.html b/docs/api/java/org/apache/sysds/runtime/io/class-use/FrameReaderJSONLParallel.html
index 2ce95a6..60a81cc 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/class-use/FrameReaderJSONLParallel.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/class-use/FrameReaderJSONLParallel.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/class-use/FrameReaderProto.html b/docs/api/java/org/apache/sysds/runtime/io/class-use/FrameReaderProto.html
index 9c03653..d6c1767 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/class-use/FrameReaderProto.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/class-use/FrameReaderProto.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/class-use/FrameReaderTextCSV.html b/docs/api/java/org/apache/sysds/runtime/io/class-use/FrameReaderTextCSV.html
index deff46a..68d75e3 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/class-use/FrameReaderTextCSV.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/class-use/FrameReaderTextCSV.html
@@ -162,6 +162,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/class-use/FrameReaderTextCSVParallel.html b/docs/api/java/org/apache/sysds/runtime/io/class-use/FrameReaderTextCSVParallel.html
index 32e416f..d7da1e3 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/class-use/FrameReaderTextCSVParallel.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/class-use/FrameReaderTextCSVParallel.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/class-use/FrameReaderTextCell.html b/docs/api/java/org/apache/sysds/runtime/io/class-use/FrameReaderTextCell.html
index 2a03a17..6acb56b 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/class-use/FrameReaderTextCell.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/class-use/FrameReaderTextCell.html
@@ -162,6 +162,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/class-use/FrameReaderTextCellParallel.ReadTask.html b/docs/api/java/org/apache/sysds/runtime/io/class-use/FrameReaderTextCellParallel.ReadTask.html
index 7391236..44c520c 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/class-use/FrameReaderTextCellParallel.ReadTask.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/class-use/FrameReaderTextCellParallel.ReadTask.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/class-use/FrameReaderTextCellParallel.html b/docs/api/java/org/apache/sysds/runtime/io/class-use/FrameReaderTextCellParallel.html
index 1d87235..e607961 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/class-use/FrameReaderTextCellParallel.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/class-use/FrameReaderTextCellParallel.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/class-use/FrameWriter.html b/docs/api/java/org/apache/sysds/runtime/io/class-use/FrameWriter.html
index 6a61caa..cb5cc51 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/class-use/FrameWriter.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/class-use/FrameWriter.html
@@ -214,6 +214,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/class-use/FrameWriterBinaryBlock.html b/docs/api/java/org/apache/sysds/runtime/io/class-use/FrameWriterBinaryBlock.html
index cb02b46..4a6fe2e 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/class-use/FrameWriterBinaryBlock.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/class-use/FrameWriterBinaryBlock.html
@@ -162,6 +162,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/class-use/FrameWriterBinaryBlockParallel.html b/docs/api/java/org/apache/sysds/runtime/io/class-use/FrameWriterBinaryBlockParallel.html
index a4d3fec..5df84d5 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/class-use/FrameWriterBinaryBlockParallel.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/class-use/FrameWriterBinaryBlockParallel.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/class-use/FrameWriterFactory.html b/docs/api/java/org/apache/sysds/runtime/io/class-use/FrameWriterFactory.html
index b1a69ad..55e5568 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/class-use/FrameWriterFactory.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/class-use/FrameWriterFactory.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/class-use/FrameWriterJSONL.html b/docs/api/java/org/apache/sysds/runtime/io/class-use/FrameWriterJSONL.html
index 6a01231..c7d0646 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/class-use/FrameWriterJSONL.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/class-use/FrameWriterJSONL.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/class-use/FrameWriterJSONLParallel.html b/docs/api/java/org/apache/sysds/runtime/io/class-use/FrameWriterJSONLParallel.html
index 1af552e..95c38c3 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/class-use/FrameWriterJSONLParallel.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/class-use/FrameWriterJSONLParallel.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/class-use/FrameWriterProto.html b/docs/api/java/org/apache/sysds/runtime/io/class-use/FrameWriterProto.html
index 90cb337..a866d7c 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/class-use/FrameWriterProto.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/class-use/FrameWriterProto.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/class-use/FrameWriterTextCSV.html b/docs/api/java/org/apache/sysds/runtime/io/class-use/FrameWriterTextCSV.html
index 35c8f24..21db1e6 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/class-use/FrameWriterTextCSV.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/class-use/FrameWriterTextCSV.html
@@ -162,6 +162,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/class-use/FrameWriterTextCSVParallel.html b/docs/api/java/org/apache/sysds/runtime/io/class-use/FrameWriterTextCSVParallel.html
index d2bf0de..a09f12d 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/class-use/FrameWriterTextCSVParallel.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/class-use/FrameWriterTextCSVParallel.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/class-use/FrameWriterTextCell.html b/docs/api/java/org/apache/sysds/runtime/io/class-use/FrameWriterTextCell.html
index d282e86..4b777ac 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/class-use/FrameWriterTextCell.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/class-use/FrameWriterTextCell.html
@@ -162,6 +162,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/class-use/FrameWriterTextCellParallel.html b/docs/api/java/org/apache/sysds/runtime/io/class-use/FrameWriterTextCellParallel.html
index 0659ada..156518a 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/class-use/FrameWriterTextCellParallel.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/class-use/FrameWriterTextCellParallel.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/class-use/IOUtilFunctions.CountRowsTask.html b/docs/api/java/org/apache/sysds/runtime/io/class-use/IOUtilFunctions.CountRowsTask.html
index 566f0ff..af20ac5 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/class-use/IOUtilFunctions.CountRowsTask.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/class-use/IOUtilFunctions.CountRowsTask.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/class-use/IOUtilFunctions.html b/docs/api/java/org/apache/sysds/runtime/io/class-use/IOUtilFunctions.html
index 474569a..311add1 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/class-use/IOUtilFunctions.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/class-use/IOUtilFunctions.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/class-use/InputOutputInfo.html b/docs/api/java/org/apache/sysds/runtime/io/class-use/InputOutputInfo.html
index 08edda0..c20a9be 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/class-use/InputOutputInfo.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/class-use/InputOutputInfo.html
@@ -198,6 +198,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/class-use/MatrixReader.html b/docs/api/java/org/apache/sysds/runtime/io/class-use/MatrixReader.html
index fe11532..f909466 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/class-use/MatrixReader.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/class-use/MatrixReader.html
@@ -209,6 +209,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/class-use/MatrixReaderFactory.html b/docs/api/java/org/apache/sysds/runtime/io/class-use/MatrixReaderFactory.html
index 579b09a..365a46e 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/class-use/MatrixReaderFactory.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/class-use/MatrixReaderFactory.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/class-use/MatrixWriter.html b/docs/api/java/org/apache/sysds/runtime/io/class-use/MatrixWriter.html
index 26aa65d..8ac3237 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/class-use/MatrixWriter.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/class-use/MatrixWriter.html
@@ -215,6 +215,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/class-use/MatrixWriterFactory.html b/docs/api/java/org/apache/sysds/runtime/io/class-use/MatrixWriterFactory.html
index 4d10953..f249722 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/class-use/MatrixWriterFactory.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/class-use/MatrixWriterFactory.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/class-use/ReadProperties.html b/docs/api/java/org/apache/sysds/runtime/io/class-use/ReadProperties.html
index 62a2294..f5660bd 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/class-use/ReadProperties.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/class-use/ReadProperties.html
@@ -185,6 +185,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/class-use/ReaderBinaryBlock.html b/docs/api/java/org/apache/sysds/runtime/io/class-use/ReaderBinaryBlock.html
index 2d7e76e..b2a8f18 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/class-use/ReaderBinaryBlock.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/class-use/ReaderBinaryBlock.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/class-use/ReaderBinaryBlockParallel.html b/docs/api/java/org/apache/sysds/runtime/io/class-use/ReaderBinaryBlockParallel.html
index 9c8c429..7543139 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/class-use/ReaderBinaryBlockParallel.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/class-use/ReaderBinaryBlockParallel.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/class-use/ReaderTextCSV.html b/docs/api/java/org/apache/sysds/runtime/io/class-use/ReaderTextCSV.html
index d37f98c..963d85e 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/class-use/ReaderTextCSV.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/class-use/ReaderTextCSV.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/class-use/ReaderTextCSVParallel.html b/docs/api/java/org/apache/sysds/runtime/io/class-use/ReaderTextCSVParallel.html
index 57a3a23..a32a858 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/class-use/ReaderTextCSVParallel.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/class-use/ReaderTextCSVParallel.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/class-use/ReaderTextCell.html b/docs/api/java/org/apache/sysds/runtime/io/class-use/ReaderTextCell.html
index b13fa96..be60b6e 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/class-use/ReaderTextCell.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/class-use/ReaderTextCell.html
@@ -162,6 +162,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/class-use/ReaderTextCellParallel.CellBuffer.html b/docs/api/java/org/apache/sysds/runtime/io/class-use/ReaderTextCellParallel.CellBuffer.html
index 5f4d3db..d4071ad 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/class-use/ReaderTextCellParallel.CellBuffer.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/class-use/ReaderTextCellParallel.CellBuffer.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/class-use/ReaderTextCellParallel.CountNnzTask.html b/docs/api/java/org/apache/sysds/runtime/io/class-use/ReaderTextCellParallel.CountNnzTask.html
index 83ee161..7c1c0c8 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/class-use/ReaderTextCellParallel.CountNnzTask.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/class-use/ReaderTextCellParallel.CountNnzTask.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/class-use/ReaderTextCellParallel.ReadTask.html b/docs/api/java/org/apache/sysds/runtime/io/class-use/ReaderTextCellParallel.ReadTask.html
index 9c5aaff..1b3050f 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/class-use/ReaderTextCellParallel.ReadTask.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/class-use/ReaderTextCellParallel.ReadTask.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/class-use/ReaderTextCellParallel.html b/docs/api/java/org/apache/sysds/runtime/io/class-use/ReaderTextCellParallel.html
index 603dad0..48434b9 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/class-use/ReaderTextCellParallel.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/class-use/ReaderTextCellParallel.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/class-use/ReaderTextLIBSVM.html b/docs/api/java/org/apache/sysds/runtime/io/class-use/ReaderTextLIBSVM.html
index 206dcca..a043aab 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/class-use/ReaderTextLIBSVM.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/class-use/ReaderTextLIBSVM.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/class-use/ReaderTextLIBSVMParallel.html b/docs/api/java/org/apache/sysds/runtime/io/class-use/ReaderTextLIBSVMParallel.html
index 9c6ad5e..76542a4 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/class-use/ReaderTextLIBSVMParallel.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/class-use/ReaderTextLIBSVMParallel.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/class-use/BitmapEncoder.html b/docs/api/java/org/apache/sysds/runtime/io/class-use/ReaderWriterFederated.html
similarity index 77%
copy from docs/api/java/org/apache/sysds/runtime/compress/class-use/BitmapEncoder.html
copy to docs/api/java/org/apache/sysds/runtime/io/class-use/ReaderWriterFederated.html
index f4f340f..d744874 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/class-use/BitmapEncoder.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/class-use/ReaderWriterFederated.html
@@ -4,7 +4,7 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.sysds.runtime.compress.BitmapEncoder (SystemDS 2.1.0-SNAPSHOT API)</title>
+<title>Uses of Class org.apache.sysds.runtime.io.ReaderWriterFederated (SystemDS 2.1.0-SNAPSHOT API)</title>
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.sysds.runtime.compress.BitmapEncoder (SystemDS 2.1.0-SNAPSHOT API)";
+            parent.document.title="Uses of Class org.apache.sysds.runtime.io.ReaderWriterFederated (SystemDS 2.1.0-SNAPSHOT API)";
         }
     }
     catch(err) {
@@ -33,7 +33,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/BitmapEncoder.html" title="class in org.apache.sysds.runtime.compress">Class</a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/io/ReaderWriterFederated.html" title="class in org.apache.sysds.runtime.io">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -47,8 +47,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/class-use/BitmapEncoder.html" target="_top">Frames</a></li>
-<li><a href="BitmapEncoder.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/io/class-use/ReaderWriterFederated.html" target="_top">Frames</a></li>
+<li><a href="ReaderWriterFederated.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
 <li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -70,9 +70,9 @@
 </a></div>
 <!-- ========= END OF TOP NAVBAR ========= -->
 <div class="header">
-<h2 title="Uses of Class org.apache.sysds.runtime.compress.BitmapEncoder" class="title">Uses of Class<br>org.apache.sysds.runtime.compress.BitmapEncoder</h2>
+<h2 title="Uses of Class org.apache.sysds.runtime.io.ReaderWriterFederated" class="title">Uses of Class<br>org.apache.sysds.runtime.io.ReaderWriterFederated</h2>
 </div>
-<div class="classUseContainer">No usage of org.apache.sysds.runtime.compress.BitmapEncoder</div>
+<div class="classUseContainer">No usage of org.apache.sysds.runtime.io.ReaderWriterFederated</div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
 <!--   -->
@@ -84,7 +84,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/BitmapEncoder.html" title="class in org.apache.sysds.runtime.compress">Class</a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/io/ReaderWriterFederated.html" title="class in org.apache.sysds.runtime.io">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -98,8 +98,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/class-use/BitmapEncoder.html" target="_top">Frames</a></li>
-<li><a href="BitmapEncoder.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/io/class-use/ReaderWriterFederated.html" target="_top">Frames</a></li>
+<li><a href="ReaderWriterFederated.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
 <li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/class-use/TensorReader.html b/docs/api/java/org/apache/sysds/runtime/io/class-use/TensorReader.html
index 109c192..dbd6bd6 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/class-use/TensorReader.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/class-use/TensorReader.html
@@ -185,6 +185,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/class-use/TensorReaderBinaryBlock.html b/docs/api/java/org/apache/sysds/runtime/io/class-use/TensorReaderBinaryBlock.html
index ef17f95..59bf5ef 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/class-use/TensorReaderBinaryBlock.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/class-use/TensorReaderBinaryBlock.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/class-use/TensorReaderBinaryBlockParallel.html b/docs/api/java/org/apache/sysds/runtime/io/class-use/TensorReaderBinaryBlockParallel.html
index 7a2150c..84a8cc9 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/class-use/TensorReaderBinaryBlockParallel.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/class-use/TensorReaderBinaryBlockParallel.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/class-use/TensorReaderFactory.html b/docs/api/java/org/apache/sysds/runtime/io/class-use/TensorReaderFactory.html
index 81beecd..e4faff2 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/class-use/TensorReaderFactory.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/class-use/TensorReaderFactory.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/class-use/TensorReaderTextCell.html b/docs/api/java/org/apache/sysds/runtime/io/class-use/TensorReaderTextCell.html
index e78f3ff..ca9f04c 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/class-use/TensorReaderTextCell.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/class-use/TensorReaderTextCell.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/class-use/TensorReaderTextCellParallel.html b/docs/api/java/org/apache/sysds/runtime/io/class-use/TensorReaderTextCellParallel.html
index 9441592..1e79e37 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/class-use/TensorReaderTextCellParallel.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/class-use/TensorReaderTextCellParallel.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/class-use/TensorWriter.html b/docs/api/java/org/apache/sysds/runtime/io/class-use/TensorWriter.html
index 849721f..c801195 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/class-use/TensorWriter.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/class-use/TensorWriter.html
@@ -185,6 +185,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/class-use/TensorWriterBinaryBlock.html b/docs/api/java/org/apache/sysds/runtime/io/class-use/TensorWriterBinaryBlock.html
index af6f427..bdc9de6 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/class-use/TensorWriterBinaryBlock.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/class-use/TensorWriterBinaryBlock.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/class-use/TensorWriterBinaryBlockParallel.WriteFileTask.html b/docs/api/java/org/apache/sysds/runtime/io/class-use/TensorWriterBinaryBlockParallel.WriteFileTask.html
index 5139aed..b29fa69 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/class-use/TensorWriterBinaryBlockParallel.WriteFileTask.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/class-use/TensorWriterBinaryBlockParallel.WriteFileTask.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/class-use/TensorWriterBinaryBlockParallel.html b/docs/api/java/org/apache/sysds/runtime/io/class-use/TensorWriterBinaryBlockParallel.html
index 0a69cc5..7dd92a2 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/class-use/TensorWriterBinaryBlockParallel.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/class-use/TensorWriterBinaryBlockParallel.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/class-use/TensorWriterFactory.html b/docs/api/java/org/apache/sysds/runtime/io/class-use/TensorWriterFactory.html
index ce6e887..096143d 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/class-use/TensorWriterFactory.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/class-use/TensorWriterFactory.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/class-use/TensorWriterTextCell.html b/docs/api/java/org/apache/sysds/runtime/io/class-use/TensorWriterTextCell.html
index af8fa51..df1d006 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/class-use/TensorWriterTextCell.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/class-use/TensorWriterTextCell.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/class-use/TensorWriterTextCellParallel.html b/docs/api/java/org/apache/sysds/runtime/io/class-use/TensorWriterTextCellParallel.html
index f2f247d..7859775 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/class-use/TensorWriterTextCellParallel.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/class-use/TensorWriterTextCellParallel.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/class-use/WriterBinaryBlock.html b/docs/api/java/org/apache/sysds/runtime/io/class-use/WriterBinaryBlock.html
index 36f981f..3fd66bc 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/class-use/WriterBinaryBlock.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/class-use/WriterBinaryBlock.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/class-use/WriterBinaryBlockParallel.html b/docs/api/java/org/apache/sysds/runtime/io/class-use/WriterBinaryBlockParallel.html
index 8bd10dc..5da7246 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/class-use/WriterBinaryBlockParallel.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/class-use/WriterBinaryBlockParallel.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/class-use/WriterMatrixMarket.html b/docs/api/java/org/apache/sysds/runtime/io/class-use/WriterMatrixMarket.html
index d289d6e..15289bf 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/class-use/WriterMatrixMarket.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/class-use/WriterMatrixMarket.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/class-use/WriterMatrixMarketParallel.html b/docs/api/java/org/apache/sysds/runtime/io/class-use/WriterMatrixMarketParallel.html
index 0175ba2..7fa1c99 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/class-use/WriterMatrixMarketParallel.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/class-use/WriterMatrixMarketParallel.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/class-use/WriterTextCSV.html b/docs/api/java/org/apache/sysds/runtime/io/class-use/WriterTextCSV.html
index 7d00552..72c3759 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/class-use/WriterTextCSV.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/class-use/WriterTextCSV.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/class-use/WriterTextCSVParallel.html b/docs/api/java/org/apache/sysds/runtime/io/class-use/WriterTextCSVParallel.html
index d2f3b1d..fb93a7f 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/class-use/WriterTextCSVParallel.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/class-use/WriterTextCSVParallel.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/class-use/WriterTextCell.html b/docs/api/java/org/apache/sysds/runtime/io/class-use/WriterTextCell.html
index cf3f285..a24ea03 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/class-use/WriterTextCell.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/class-use/WriterTextCell.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/class-use/WriterTextCellParallel.html b/docs/api/java/org/apache/sysds/runtime/io/class-use/WriterTextCellParallel.html
index 54ec386..e858624 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/class-use/WriterTextCellParallel.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/class-use/WriterTextCellParallel.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/class-use/WriterTextLIBSVM.html b/docs/api/java/org/apache/sysds/runtime/io/class-use/WriterTextLIBSVM.html
index de80dbd..bf88a46 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/class-use/WriterTextLIBSVM.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/class-use/WriterTextLIBSVM.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/class-use/WriterTextLIBSVMParallel.html b/docs/api/java/org/apache/sysds/runtime/io/class-use/WriterTextLIBSVMParallel.html
index 922bd0e..b703c12 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/class-use/WriterTextLIBSVMParallel.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/class-use/WriterTextLIBSVMParallel.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/package-frame.html b/docs/api/java/org/apache/sysds/runtime/io/package-frame.html
index f72504b..0ca5692 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/package-frame.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/package-frame.html
@@ -59,6 +59,7 @@
 <li><a href="ReaderTextCSVParallel.html" title="class in org.apache.sysds.runtime.io" target="classFrame">ReaderTextCSVParallel</a></li>
 <li><a href="ReaderTextLIBSVM.html" title="class in org.apache.sysds.runtime.io" target="classFrame">ReaderTextLIBSVM</a></li>
 <li><a href="ReaderTextLIBSVMParallel.html" title="class in org.apache.sysds.runtime.io" target="classFrame">ReaderTextLIBSVMParallel</a></li>
+<li><a href="ReaderWriterFederated.html" title="class in org.apache.sysds.runtime.io" target="classFrame">ReaderWriterFederated</a></li>
 <li><a href="ReadProperties.html" title="class in org.apache.sysds.runtime.io" target="classFrame">ReadProperties</a></li>
 <li><a href="TensorReader.html" title="class in org.apache.sysds.runtime.io" target="classFrame">TensorReader</a></li>
 <li><a href="TensorReaderBinaryBlock.html" title="class in org.apache.sysds.runtime.io" target="classFrame">TensorReaderBinaryBlock</a></li>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/package-summary.html b/docs/api/java/org/apache/sysds/runtime/io/package-summary.html
index 319e5b1..d68242a 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/package-summary.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/package-summary.html
@@ -309,98 +309,104 @@
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/sysds/runtime/io/ReaderWriterFederated.html" title="class in org.apache.sysds.runtime.io">ReaderWriterFederated</a></td>
+<td class="colLast">
+<div class="block">This class serves as the reader for federated objects.</div>
+</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/sysds/runtime/io/ReadProperties.html" title="class in org.apache.sysds.runtime.io">ReadProperties</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/sysds/runtime/io/TensorReader.html" title="class in org.apache.sysds.runtime.io">TensorReader</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/sysds/runtime/io/TensorReaderBinaryBlock.html" title="class in org.apache.sysds.runtime.io">TensorReaderBinaryBlock</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/sysds/runtime/io/TensorReaderBinaryBlockParallel.html" title="class in org.apache.sysds.runtime.io">TensorReaderBinaryBlockParallel</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/sysds/runtime/io/TensorReaderFactory.html" title="class in org.apache.sysds.runtime.io">TensorReaderFactory</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/sysds/runtime/io/TensorReaderTextCell.html" title="class in org.apache.sysds.runtime.io">TensorReaderTextCell</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/sysds/runtime/io/TensorReaderTextCellParallel.html" title="class in org.apache.sysds.runtime.io">TensorReaderTextCellParallel</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/sysds/runtime/io/TensorWriter.html" title="class in org.apache.sysds.runtime.io">TensorWriter</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/sysds/runtime/io/TensorWriterBinaryBlock.html" title="class in org.apache.sysds.runtime.io">TensorWriterBinaryBlock</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/sysds/runtime/io/TensorWriterBinaryBlockParallel.html" title="class in org.apache.sysds.runtime.io">TensorWriterBinaryBlockParallel</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/sysds/runtime/io/TensorWriterBinaryBlockParallel.WriteFileTask.html" title="class in org.apache.sysds.runtime.io">TensorWriterBinaryBlockParallel.WriteFileTask</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/sysds/runtime/io/TensorWriterFactory.html" title="class in org.apache.sysds.runtime.io">TensorWriterFactory</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/sysds/runtime/io/TensorWriterTextCell.html" title="class in org.apache.sysds.runtime.io">TensorWriterTextCell</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/sysds/runtime/io/TensorWriterTextCellParallel.html" title="class in org.apache.sysds.runtime.io">TensorWriterTextCellParallel</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/sysds/runtime/io/WriterBinaryBlock.html" title="class in org.apache.sysds.runtime.io">WriterBinaryBlock</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/sysds/runtime/io/WriterBinaryBlockParallel.html" title="class in org.apache.sysds.runtime.io">WriterBinaryBlockParallel</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/sysds/runtime/io/WriterMatrixMarket.html" title="class in org.apache.sysds.runtime.io">WriterMatrixMarket</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/sysds/runtime/io/WriterMatrixMarketParallel.html" title="class in org.apache.sysds.runtime.io">WriterMatrixMarketParallel</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/sysds/runtime/io/WriterTextCell.html" title="class in org.apache.sysds.runtime.io">WriterTextCell</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/sysds/runtime/io/WriterTextCellParallel.html" title="class in org.apache.sysds.runtime.io">WriterTextCellParallel</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/sysds/runtime/io/WriterTextCSV.html" title="class in org.apache.sysds.runtime.io">WriterTextCSV</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/sysds/runtime/io/WriterTextCSVParallel.html" title="class in org.apache.sysds.runtime.io">WriterTextCSVParallel</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/sysds/runtime/io/WriterTextLIBSVM.html" title="class in org.apache.sysds.runtime.io">WriterTextLIBSVM</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/sysds/runtime/io/WriterTextLIBSVMParallel.html" title="class in org.apache.sysds.runtime.io">WriterTextLIBSVMParallel</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
@@ -479,6 +485,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/package-tree.html b/docs/api/java/org/apache/sysds/runtime/io/package-tree.html
index 44d4e6a..8932eec 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/package-tree.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/package-tree.html
@@ -198,6 +198,7 @@
 <li type="circle">org.apache.sysds.runtime.io.<a href="../../../../../org/apache/sysds/runtime/io/ReaderTextCellParallel.CellBuffer.html" title="class in org.apache.sysds.runtime.io"><span class="typeNameLink">ReaderTextCellParallel.CellBuffer</span></a></li>
 <li type="circle">org.apache.sysds.runtime.io.<a href="../../../../../org/apache/sysds/runtime/io/ReaderTextCellParallel.CountNnzTask.html" title="class in org.apache.sysds.runtime.io"><span class="typeNameLink">ReaderTextCellParallel.CountNnzTask</span></a> (implements java.util.concurrent.<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Callable.html?is-external=true" title="class or interface in java.util.concurrent">Callable</a>&lt;V&gt;)</li>
 <li type="circle">org.apache.sysds.runtime.io.<a href="../../../../../org/apache/sysds/runtime/io/ReaderTextCellParallel.ReadTask.html" title="class in org.apache.sysds.runtime.io"><span class="typeNameLink">ReaderTextCellParallel.ReadTask</span></a> (implements java.util.concurrent.<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Callable.html?is-external=true" title="class or interface in java.util.concurrent">Callable</a>&lt;V&gt;)</li>
+<li type="circle">org.apache.sysds.runtime.io.<a href="../../../../../org/apache/sysds/runtime/io/ReaderWriterFederated.html" title="class in org.apache.sysds.runtime.io"><span class="typeNameLink">ReaderWriterFederated</span></a></li>
 <li type="circle">org.apache.sysds.runtime.io.<a href="../../../../../org/apache/sysds/runtime/io/ReadProperties.html" title="class in org.apache.sysds.runtime.io"><span class="typeNameLink">ReadProperties</span></a></li>
 <li type="circle">org.apache.sysds.runtime.io.<a href="../../../../../org/apache/sysds/runtime/io/TensorReader.html" title="class in org.apache.sysds.runtime.io"><span class="typeNameLink">TensorReader</span></a>
 <ul>
@@ -295,6 +296,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/io/package-use.html b/docs/api/java/org/apache/sysds/runtime/io/package-use.html
index 7601e15..e2c9665 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/package-use.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/package-use.html
@@ -370,6 +370,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/lineage/Lineage.html b/docs/api/java/org/apache/sysds/runtime/lineage/Lineage.html
index 1a082fd..31c4821 100644
--- a/docs/api/java/org/apache/sysds/runtime/lineage/Lineage.html
+++ b/docs/api/java/org/apache/sysds/runtime/lineage/Lineage.html
@@ -605,6 +605,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/lineage/LineageCache.html b/docs/api/java/org/apache/sysds/runtime/lineage/LineageCache.html
index 5165200..fc3a45e 100644
--- a/docs/api/java/org/apache/sysds/runtime/lineage/LineageCache.html
+++ b/docs/api/java/org/apache/sysds/runtime/lineage/LineageCache.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9};
+var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":9,"i11":9};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -147,26 +147,36 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/runtime/lineage/LineageCacheEntry.html" title="class in org.apache.sysds.runtime.lineage">LineageCacheEntry</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageCache.html#getEntry-org.apache.sysds.runtime.lineage.LineageItem-">getEntry</a></span>(<a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;key)</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageCache.html#getMatrix-org.apache.sysds.runtime.lineage.LineageItem-">getMatrix</a></span>(<a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;key)</code>&nbsp;</td>
 </tr>
-<tr id="i1" class="rowColor">
+<tr id="i2" class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageCache.html#probe-org.apache.sysds.runtime.lineage.LineageItem-">probe</a></span>(<a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;key)</code>&nbsp;</td>
 </tr>
-<tr id="i2" class="altColor">
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageCache.html#putMatrix-org.apache.sysds.runtime.instructions.Instruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-long-">putMatrix</a></span>(<a href="../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a>&nbsp;inst,
          <a href="../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
          long&nbsp;computetime)</code>&nbsp;</td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageCache.html#putValue-org.apache.sysds.runtime.controlprogram.federated.FederatedUDF-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-long-">putValue</a></span>(<a href="../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedUDF.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedUDF</a>&nbsp;udf,
+        <a href="../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
+        long&nbsp;computetime)</code>&nbsp;</td>
+</tr>
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageCache.html#putValue-org.apache.sysds.runtime.instructions.Instruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-long-">putValue</a></span>(<a href="../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a>&nbsp;inst,
         <a href="../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
         long&nbsp;starttime)</code>&nbsp;</td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageCache.html#putValue-java.util.List-org.apache.sysds.runtime.lineage.LineageItem:A-java.lang.String-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-long-">putValue</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/sysds/parser/DataIdentifier.html" title="class in org.apache.sysds.parser">DataIdentifier</a>&gt;&nbsp;outputs,
         <a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>[]&nbsp;liInputs,
@@ -174,16 +184,25 @@
         <a href="../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
         long&nbsp;computetime)</code>&nbsp;</td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageCache.html#removeEntry-org.apache.sysds.runtime.lineage.LineageItem-">removeEntry</a></span>(<a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;key)</code>&nbsp;</td>
+</tr>
+<tr id="i8" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageCache.html#resetCache--">resetCache</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedResponse</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageCache.html#reuse-org.apache.sysds.runtime.controlprogram.federated.FederatedUDF-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">reuse</a></span>(<a href="../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedUDF.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedUDF</a>&nbsp;udf,
+     <a href="../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
+</tr>
+<tr id="i10" class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageCache.html#reuse-org.apache.sysds.runtime.instructions.Instruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">reuse</a></span>(<a href="../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a>&nbsp;inst,
      <a href="../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageCache.html#reuse-java.util.List-java.util.List-int-org.apache.sysds.runtime.lineage.LineageItem:A-java.lang.String-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">reuse</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;outNames,
      <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/sysds/parser/DataIdentifier.html" title="class in org.apache.sysds.parser">DataIdentifier</a>&gt;&nbsp;outParams,
@@ -255,6 +274,16 @@
                             <a href="../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</pre>
 </li>
 </ul>
+<a name="reuse-org.apache.sysds.runtime.controlprogram.federated.FederatedUDF-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>reuse</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedResponse</a>&nbsp;reuse(<a href="../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedUDF.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedUDF</a>&nbsp;udf,
+                                      <a href="../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</pre>
+</li>
+</ul>
 <a name="probe-org.apache.sysds.runtime.lineage.LineageItem-">
 <!--   -->
 </a>
@@ -264,6 +293,15 @@
 <pre>public static&nbsp;boolean&nbsp;probe(<a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;key)</pre>
 </li>
 </ul>
+<a name="removeEntry-org.apache.sysds.runtime.lineage.LineageItem-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>removeEntry</h4>
+<pre>public static&nbsp;void&nbsp;removeEntry(<a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;key)</pre>
+</li>
+</ul>
 <a name="getMatrix-org.apache.sysds.runtime.lineage.LineageItem-">
 <!--   -->
 </a>
@@ -273,6 +311,15 @@
 <pre>public static&nbsp;<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;getMatrix(<a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;key)</pre>
 </li>
 </ul>
+<a name="getEntry-org.apache.sysds.runtime.lineage.LineageItem-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getEntry</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/sysds/runtime/lineage/LineageCacheEntry.html" title="class in org.apache.sysds.runtime.lineage">LineageCacheEntry</a>&nbsp;getEntry(<a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;key)</pre>
+</li>
+</ul>
 <a name="putMatrix-org.apache.sysds.runtime.instructions.Instruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-long-">
 <!--   -->
 </a>
@@ -308,6 +355,17 @@
                             long&nbsp;computetime)</pre>
 </li>
 </ul>
+<a name="putValue-org.apache.sysds.runtime.controlprogram.federated.FederatedUDF-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-long-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>putValue</h4>
+<pre>public static&nbsp;void&nbsp;putValue(<a href="../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedUDF.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedUDF</a>&nbsp;udf,
+                            <a href="../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
+                            long&nbsp;computetime)</pre>
+</li>
+</ul>
 <a name="resetCache--">
 <!--   -->
 </a>
@@ -386,6 +444,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/lineage/LineageCacheConfig.LineageCachePolicy.html b/docs/api/java/org/apache/sysds/runtime/lineage/LineageCacheConfig.LineageCachePolicy.html
index 6f94e7b..befa01e 100644
--- a/docs/api/java/org/apache/sysds/runtime/lineage/LineageCacheConfig.LineageCachePolicy.html
+++ b/docs/api/java/org/apache/sysds/runtime/lineage/LineageCacheConfig.LineageCachePolicy.html
@@ -145,7 +145,7 @@
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageCacheConfig.LineageCachePolicy.html#COSTNSIZE">COSTNSIZE</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageCacheConfig.LineageCachePolicy.html#HYBRID">HYBRID</a></span></code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageCacheConfig.LineageCachePolicy.html#DAGHEIGHT">DAGHEIGHT</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageCacheConfig.LineageCachePolicy.html#LRU">LRU</a></span></code>&nbsp;</td>
@@ -225,13 +225,13 @@
 <pre>public static final&nbsp;<a href="../../../../../org/apache/sysds/runtime/lineage/LineageCacheConfig.LineageCachePolicy.html" title="enum in org.apache.sysds.runtime.lineage">LineageCacheConfig.LineageCachePolicy</a> COSTNSIZE</pre>
 </li>
 </ul>
-<a name="HYBRID">
+<a name="DAGHEIGHT">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>HYBRID</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/sysds/runtime/lineage/LineageCacheConfig.LineageCachePolicy.html" title="enum in org.apache.sysds.runtime.lineage">LineageCacheConfig.LineageCachePolicy</a> HYBRID</pre>
+<h4>DAGHEIGHT</h4>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/sysds/runtime/lineage/LineageCacheConfig.LineageCachePolicy.html" title="enum in org.apache.sysds.runtime.lineage">LineageCacheConfig.LineageCachePolicy</a> DAGHEIGHT</pre>
 </li>
 </ul>
 </li>
@@ -353,6 +353,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/lineage/LineageCacheConfig.ReuseCacheType.html b/docs/api/java/org/apache/sysds/runtime/lineage/LineageCacheConfig.ReuseCacheType.html
index 7332a31..51040c7 100644
--- a/docs/api/java/org/apache/sysds/runtime/lineage/LineageCacheConfig.ReuseCacheType.html
+++ b/docs/api/java/org/apache/sysds/runtime/lineage/LineageCacheConfig.ReuseCacheType.html
@@ -429,6 +429,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/lineage/LineageCacheConfig.html b/docs/api/java/org/apache/sysds/runtime/lineage/LineageCacheConfig.html
index 9807ad6..cafcfac 100644
--- a/docs/api/java/org/apache/sysds/runtime/lineage/LineageCacheConfig.html
+++ b/docs/api/java/org/apache/sysds/runtime/lineage/LineageCacheConfig.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":9,"i11":9,"i12":9,"i13":9,"i14":9,"i15":9,"i16":9,"i17":9,"i18":9};
+var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":9,"i11":9,"i12":9,"i13":9,"i14":9,"i15":9,"i16":9,"i17":9,"i18":9,"i19":9,"i20":9,"i21":9,"i22":9};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -230,60 +230,77 @@
 </tr>
 <tr id="i5" class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageCacheConfig.html#isMultiLevelReuse--">isMultiLevelReuse</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageCacheConfig.html#isCostNsize--">isCostNsize</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i6" class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageCacheConfig.html#isDagHeightBased--">isDagHeightBased</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>static boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageCacheConfig.html#isEstimator--">isEstimator</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>static boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageCacheConfig.html#isMultiLevelReuse--">isMultiLevelReuse</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>static boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageCacheConfig.html#isOutputFederated-org.apache.sysds.runtime.instructions.Instruction-org.apache.sysds.runtime.instructions.cp.Data-">isOutputFederated</a></span>(<a href="../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a>&nbsp;inst,
+                 <a href="../../../../../org/apache/sysds/runtime/instructions/cp/Data.html" title="class in org.apache.sysds.runtime.instructions.cp">Data</a>&nbsp;data)</code>&nbsp;</td>
+</tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageCacheConfig.html#isReusable-org.apache.sysds.runtime.instructions.Instruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">isReusable</a></span>(<a href="../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a>&nbsp;inst,
           <a href="../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageCacheConfig.html#isSetSpill--">isSetSpill</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i12" class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageCacheConfig.html#isTimeBased--">isTimeBased</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i13" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageCacheConfig.html#resetReusableOpcodes--">resetReusableOpcodes</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i14" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageCacheConfig.html#restartReuse-org.apache.sysds.runtime.lineage.LineageCacheConfig.ReuseCacheType-">restartReuse</a></span>(<a href="../../../../../org/apache/sysds/runtime/lineage/LineageCacheConfig.ReuseCacheType.html" title="enum in org.apache.sysds.runtime.lineage">LineageCacheConfig.ReuseCacheType</a>&nbsp;rop)</code>&nbsp;</td>
 </tr>
-<tr id="i11" class="rowColor">
+<tr id="i15" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageCacheConfig.html#setCachePolicy-org.apache.sysds.runtime.lineage.LineageCacheConfig.LineageCachePolicy-">setCachePolicy</a></span>(<a href="../../../../../org/apache/sysds/runtime/lineage/LineageCacheConfig.LineageCachePolicy.html" title="enum in org.apache.sysds.runtime.lineage">LineageCacheConfig.LineageCachePolicy</a>&nbsp;policy)</code>&nbsp;</td>
 </tr>
-<tr id="i12" class="altColor">
+<tr id="i16" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageCacheConfig.html#setCompAssRW-boolean-">setCompAssRW</a></span>(boolean&nbsp;comp)</code>&nbsp;</td>
 </tr>
-<tr id="i13" class="rowColor">
+<tr id="i17" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageCacheConfig.html#setConfig-org.apache.sysds.runtime.lineage.LineageCacheConfig.ReuseCacheType-">setConfig</a></span>(<a href="../../../../../org/apache/sysds/runtime/lineage/LineageCacheConfig.ReuseCacheType.html" title="enum in org.apache.sysds.runtime.lineage">LineageCacheConfig.ReuseCacheType</a>&nbsp;ct)</code>&nbsp;</td>
 </tr>
-<tr id="i14" class="altColor">
+<tr id="i18" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageCacheConfig.html#setConfig-org.apache.sysds.runtime.lineage.LineageCacheConfig.ReuseCacheType-org.apache.sysds.runtime.lineage.LineageCacheConfig.CachedItemHead-org.apache.sysds.runtime.lineage.LineageCacheConfig.CachedItemTail-">setConfig</a></span>(<a href="../../../../../org/apache/sysds/runtime/lineage/LineageCacheConfig.ReuseCacheType.html" title="enum in org.apache.sysds.runtime.lineage">LineageCacheConfig.ReuseCacheType</a>&nbsp;ct,
          org.apache.sysds.runtime.lineage.LineageCacheConfig.CachedItemHead&nbsp;ith,
          org.apache.sysds.runtime.lineage.LineageCacheConfig.CachedItemTail&nbsp;itt)</code>&nbsp;</td>
 </tr>
-<tr id="i15" class="rowColor">
+<tr id="i19" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageCacheConfig.html#setConfigTsmmCbind-org.apache.sysds.runtime.lineage.LineageCacheConfig.ReuseCacheType-">setConfigTsmmCbind</a></span>(<a href="../../../../../org/apache/sysds/runtime/lineage/LineageCacheConfig.ReuseCacheType.html" title="enum in org.apache.sysds.runtime.lineage">LineageCacheConfig.ReuseCacheType</a>&nbsp;ct)</code>&nbsp;</td>
 </tr>
-<tr id="i16" class="altColor">
+<tr id="i20" class="altColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageCacheConfig.html#setEstimator-boolean-">setEstimator</a></span>(boolean&nbsp;onlyEstimator)</code>&nbsp;</td>
+</tr>
+<tr id="i21" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageCacheConfig.html#setReusableOpcodes-java.lang.String...-">setReusableOpcodes</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;ops)</code>&nbsp;</td>
 </tr>
-<tr id="i17" class="rowColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageCacheConfig.html#setSpill-boolean-">setSpill</a></span>(boolean&nbsp;toSpill)</code>&nbsp;</td>
-</tr>
-<tr id="i18" class="altColor">
+<tr id="i22" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageCacheConfig.html#shutdownReuse--">shutdownReuse</a></span>()</code>&nbsp;</td>
 </tr>
@@ -424,6 +441,16 @@
                                  <a href="../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</pre>
 </li>
 </ul>
+<a name="isOutputFederated-org.apache.sysds.runtime.instructions.Instruction-org.apache.sysds.runtime.instructions.cp.Data-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isOutputFederated</h4>
+<pre>public static&nbsp;boolean&nbsp;isOutputFederated(<a href="../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a>&nbsp;inst,
+                                        <a href="../../../../../org/apache/sysds/runtime/instructions/cp/Data.html" title="class in org.apache.sysds.runtime.instructions.cp">Data</a>&nbsp;data)</pre>
+</li>
+</ul>
 <a name="setConfigTsmmCbind-org.apache.sysds.runtime.lineage.LineageCacheConfig.ReuseCacheType-">
 <!--   -->
 </a>
@@ -543,6 +570,24 @@
 <pre>public static&nbsp;<a href="../../../../../org/apache/sysds/runtime/lineage/LineageCacheConfig.LineageCachePolicy.html" title="enum in org.apache.sysds.runtime.lineage">LineageCacheConfig.LineageCachePolicy</a>&nbsp;getCachePolicy()</pre>
 </li>
 </ul>
+<a name="setEstimator-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setEstimator</h4>
+<pre>public static&nbsp;void&nbsp;setEstimator(boolean&nbsp;onlyEstimator)</pre>
+</li>
+</ul>
+<a name="isEstimator--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isEstimator</h4>
+<pre>public static&nbsp;boolean&nbsp;isEstimator()</pre>
+</li>
+</ul>
 <a name="isTimeBased--">
 <!--   -->
 </a>
@@ -552,13 +597,22 @@
 <pre>public static&nbsp;boolean&nbsp;isTimeBased()</pre>
 </li>
 </ul>
-<a name="setSpill-boolean-">
+<a name="isCostNsize--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setSpill</h4>
-<pre>public static&nbsp;void&nbsp;setSpill(boolean&nbsp;toSpill)</pre>
+<h4>isCostNsize</h4>
+<pre>public static&nbsp;boolean&nbsp;isCostNsize()</pre>
+</li>
+</ul>
+<a name="isDagHeightBased--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isDagHeightBased</h4>
+<pre>public static&nbsp;boolean&nbsp;isDagHeightBased()</pre>
 </li>
 </ul>
 <a name="isSetSpill--">
@@ -639,6 +693,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/lineage/LineageCacheEntry.html b/docs/api/java/org/apache/sysds/runtime/lineage/LineageCacheEntry.html
index 43a3b5b..e425efd 100644
--- a/docs/api/java/org/apache/sysds/runtime/lineage/LineageCacheEntry.html
+++ b/docs/api/java/org/apache/sysds/runtime/lineage/LineageCacheEntry.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -175,15 +175,19 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageCacheEntry.html#isNullVal--">isNullVal</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i6" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageCacheEntry.html#isScalarValue--">isScalarValue</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageCacheEntry.html#setValue-org.apache.sysds.runtime.matrix.data.MatrixBlock-">setValue</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;val)</code>&nbsp;</td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageCacheEntry.html#setValue-org.apache.sysds.runtime.matrix.data.MatrixBlock-long-">setValue</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;val,
         long&nbsp;computetime)</code>&nbsp;</td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageCacheEntry.html#setValue-org.apache.sysds.runtime.instructions.cp.ScalarObject-long-">setValue</a></span>(<a href="../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&nbsp;val,
         long&nbsp;computetime)</code>&nbsp;</td>
@@ -285,6 +289,15 @@
 <pre>public&nbsp;boolean&nbsp;isMatrixValue()</pre>
 </li>
 </ul>
+<a name="isScalarValue--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isScalarValue</h4>
+<pre>public&nbsp;boolean&nbsp;isScalarValue()</pre>
+</li>
+</ul>
 <a name="setValue-org.apache.sysds.runtime.matrix.data.MatrixBlock-long-">
 <!--   -->
 </a>
@@ -383,6 +396,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/lineage/LineageCacheEviction.html b/docs/api/java/org/apache/sysds/runtime/lineage/LineageCacheEviction.html
index 6ed0f33..f4eec5a 100644
--- a/docs/api/java/org/apache/sysds/runtime/lineage/LineageCacheEviction.html
+++ b/docs/api/java/org/apache/sysds/runtime/lineage/LineageCacheEviction.html
@@ -267,6 +267,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/lineage/LineageCacheStatistics.html b/docs/api/java/org/apache/sysds/runtime/lineage/LineageCacheStatistics.html
index 0386500..0c8aaf2 100644
--- a/docs/api/java/org/apache/sysds/runtime/lineage/LineageCacheStatistics.html
+++ b/docs/api/java/org/apache/sysds/runtime/lineage/LineageCacheStatistics.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":9,"i11":9,"i12":9,"i13":9,"i14":9,"i15":9,"i16":9,"i17":9,"i18":9,"i19":9,"i20":9,"i21":9};
+var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":9,"i11":9,"i12":9,"i13":9,"i14":9,"i15":9,"i16":9,"i17":9,"i18":9,"i19":9,"i20":9,"i21":9,"i22":9,"i23":9,"i24":9};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -150,90 +150,102 @@
 </tr>
 <tr id="i0" class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageCacheStatistics.html#displayHits--">displayHits</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageCacheStatistics.html#displayComputeTime--">displayComputeTime</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i1" class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageCacheStatistics.html#displayMultiLevelHits--">displayMultiLevelHits</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageCacheStatistics.html#displayFSTime--">displayFSTime</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i2" class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageCacheStatistics.html#displayRewrites--">displayRewrites</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageCacheStatistics.html#displayHits--">displayHits</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i3" class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageCacheStatistics.html#displayTime--">displayTime</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageCacheStatistics.html#displayMultiLevelHits--">displayMultiLevelHits</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i4" class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageCacheStatistics.html#displayWtrites--">displayWtrites</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageCacheStatistics.html#displayRewrites--">displayRewrites</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i5" class="rowColor">
-<td class="colFirst"><code>static long</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageCacheStatistics.html#getInstHits--">getInstHits</a></span>()</code>&nbsp;</td>
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageCacheStatistics.html#displayWtrites--">displayWtrites</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i6" class="altColor">
 <td class="colFirst"><code>static long</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageCacheStatistics.html#getMemDeletes--">getMemDeletes</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageCacheStatistics.html#getInstHits--">getInstHits</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i7" class="rowColor">
 <td class="colFirst"><code>static long</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageCacheStatistics.html#getMultiLevelFnHits--">getMultiLevelFnHits</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageCacheStatistics.html#getMemDeletes--">getMemDeletes</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i8" class="altColor">
 <td class="colFirst"><code>static long</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageCacheStatistics.html#getMultiLevelSBHits--">getMultiLevelSBHits</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageCacheStatistics.html#getMultiLevelFnHits--">getMultiLevelFnHits</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i9" class="rowColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageCacheStatistics.html#incrementDelHits--">incrementDelHits</a></span>()</code>&nbsp;</td>
+<td class="colFirst"><code>static long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageCacheStatistics.html#getMultiLevelSBHits--">getMultiLevelSBHits</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i10" class="altColor">
 <td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageCacheStatistics.html#incrementFSHits--">incrementFSHits</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageCacheStatistics.html#incrementDelHits--">incrementDelHits</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i11" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageCacheStatistics.html#incrementFSReadTime-long-">incrementFSReadTime</a></span>(long&nbsp;delta)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageCacheStatistics.html#incrementFSHits--">incrementFSHits</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i12" class="altColor">
 <td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageCacheStatistics.html#incrementFSWrites--">incrementFSWrites</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageCacheStatistics.html#incrementFSReadTime-long-">incrementFSReadTime</a></span>(long&nbsp;delta)</code>&nbsp;</td>
 </tr>
 <tr id="i13" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageCacheStatistics.html#incrementFSWriteTime-long-">incrementFSWriteTime</a></span>(long&nbsp;delta)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageCacheStatistics.html#incrementFSWrites--">incrementFSWrites</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i14" class="altColor">
 <td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageCacheStatistics.html#incrementFuncHits--">incrementFuncHits</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageCacheStatistics.html#incrementFSWriteTime-long-">incrementFSWriteTime</a></span>(long&nbsp;delta)</code>&nbsp;</td>
 </tr>
 <tr id="i15" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageCacheStatistics.html#incrementInstHits--">incrementInstHits</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageCacheStatistics.html#incrementFuncHits--">incrementFuncHits</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i16" class="altColor">
 <td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageCacheStatistics.html#incrementMemDeletes--">incrementMemDeletes</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageCacheStatistics.html#incrementInstHits--">incrementInstHits</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i17" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageCacheStatistics.html#incrementMemHits--">incrementMemHits</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageCacheStatistics.html#incrementMemDeletes--">incrementMemDeletes</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i18" class="altColor">
 <td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageCacheStatistics.html#incrementMemWrites--">incrementMemWrites</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageCacheStatistics.html#incrementMemHits--">incrementMemHits</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i19" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageCacheStatistics.html#incrementPRewrites--">incrementPRewrites</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageCacheStatistics.html#incrementMemWrites--">incrementMemWrites</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i20" class="altColor">
 <td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageCacheStatistics.html#incrementSBHits--">incrementSBHits</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageCacheStatistics.html#incrementMissedComputeTime-long-">incrementMissedComputeTime</a></span>(long&nbsp;delta)</code>&nbsp;</td>
 </tr>
 <tr id="i21" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageCacheStatistics.html#incrementPRewrites--">incrementPRewrites</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i22" class="altColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageCacheStatistics.html#incrementSavedComputeTime-long-">incrementSavedComputeTime</a></span>(long&nbsp;delta)</code>&nbsp;</td>
+</tr>
+<tr id="i23" class="rowColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageCacheStatistics.html#incrementSBHits--">incrementSBHits</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i24" class="altColor">
+<td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageCacheStatistics.html#reset--">reset</a></span>()</code>&nbsp;</td>
 </tr>
 </table>
@@ -410,6 +422,24 @@
 <pre>public static&nbsp;void&nbsp;incrementFSWriteTime(long&nbsp;delta)</pre>
 </li>
 </ul>
+<a name="incrementSavedComputeTime-long-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>incrementSavedComputeTime</h4>
+<pre>public static&nbsp;void&nbsp;incrementSavedComputeTime(long&nbsp;delta)</pre>
+</li>
+</ul>
+<a name="incrementMissedComputeTime-long-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>incrementMissedComputeTime</h4>
+<pre>public static&nbsp;void&nbsp;incrementMissedComputeTime(long&nbsp;delta)</pre>
+</li>
+</ul>
 <a name="getMultiLevelFnHits--">
 <!--   -->
 </a>
@@ -464,13 +494,22 @@
 <pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;displayRewrites()</pre>
 </li>
 </ul>
-<a name="displayTime--">
+<a name="displayFSTime--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>displayFSTime</h4>
+<pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;displayFSTime()</pre>
+</li>
+</ul>
+<a name="displayComputeTime--">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>displayTime</h4>
-<pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;displayTime()</pre>
+<h4>displayComputeTime</h4>
+<pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;displayComputeTime()</pre>
 </li>
 </ul>
 </li>
@@ -542,6 +581,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/lineage/LineageCodegenItem.html b/docs/api/java/org/apache/sysds/runtime/lineage/LineageCodegenItem.html
index c5c9514..d73108f 100644
--- a/docs/api/java/org/apache/sysds/runtime/lineage/LineageCodegenItem.html
+++ b/docs/api/java/org/apache/sysds/runtime/lineage/LineageCodegenItem.html
@@ -295,6 +295,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/lineage/LineageDedupBlock.html b/docs/api/java/org/apache/sysds/runtime/lineage/LineageDedupBlock.html
index 3ad9b70..8863494 100644
--- a/docs/api/java/org/apache/sysds/runtime/lineage/LineageDedupBlock.html
+++ b/docs/api/java/org/apache/sysds/runtime/lineage/LineageDedupBlock.html
@@ -456,6 +456,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/lineage/LineageDedupUtils.html b/docs/api/java/org/apache/sysds/runtime/lineage/LineageDedupUtils.html
index 0f51b32..7fab034 100644
--- a/docs/api/java/org/apache/sysds/runtime/lineage/LineageDedupUtils.html
+++ b/docs/api/java/org/apache/sysds/runtime/lineage/LineageDedupUtils.html
@@ -50,7 +50,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../org/apache/sysds/runtime/lineage/LineageDedupBlock.html" title="class in org.apache.sysds.runtime.lineage"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/sysds/runtime/lineage/LineageEstimator.html" title="class in org.apache.sysds.runtime.lineage"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?org/apache/sysds/runtime/lineage/LineageDedupUtils.html" target="_top">Frames</a></li>
@@ -199,7 +199,7 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageDedupUtils.html#replaceLineage-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">replaceLineage</a></span>(<a href="../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
 <tr id="i7" class="rowColor">
-<td class="colFirst"><code>static void</code></td>
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageDedupUtils.html#setDedupMap-org.apache.sysds.runtime.lineage.LineageDedupBlock-long-">setDedupMap</a></span>(<a href="../../../../../org/apache/sysds/runtime/lineage/LineageDedupBlock.html" title="class in org.apache.sysds.runtime.lineage">LineageDedupBlock</a>&nbsp;ldb,
            long&nbsp;takenPath)</code>&nbsp;</td>
 </tr>
@@ -325,8 +325,8 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>setDedupMap</h4>
-<pre>public static&nbsp;void&nbsp;setDedupMap(<a href="../../../../../org/apache/sysds/runtime/lineage/LineageDedupBlock.html" title="class in org.apache.sysds.runtime.lineage">LineageDedupBlock</a>&nbsp;ldb,
-                               long&nbsp;takenPath)</pre>
+<pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;setDedupMap(<a href="../../../../../org/apache/sysds/runtime/lineage/LineageDedupBlock.html" title="class in org.apache.sysds.runtime.lineage">LineageDedupBlock</a>&nbsp;ldb,
+                                              long&nbsp;takenPath)</pre>
 </li>
 </ul>
 <a name="mergeExplainDedupBlocks-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">
@@ -387,7 +387,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../org/apache/sysds/runtime/lineage/LineageDedupBlock.html" title="class in org.apache.sysds.runtime.lineage"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/sysds/runtime/lineage/LineageEstimator.html" title="class in org.apache.sysds.runtime.lineage"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?org/apache/sysds/runtime/lineage/LineageDedupUtils.html" target="_top">Frames</a></li>
@@ -427,6 +427,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/lineage/LineageEstimator.html b/docs/api/java/org/apache/sysds/runtime/lineage/LineageEstimator.html
new file mode 100644
index 0000000..01c3714
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/lineage/LineageEstimator.html
@@ -0,0 +1,340 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>LineageEstimator (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="LineageEstimator (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/LineageEstimator.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/sysds/runtime/lineage/LineageDedupUtils.html" title="class in org.apache.sysds.runtime.lineage"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/sysds/runtime/lineage/LineageEstimatorStatistics.html" title="class in org.apache.sysds.runtime.lineage"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/sysds/runtime/lineage/LineageEstimator.html" target="_top">Frames</a></li>
+<li><a href="LineageEstimator.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.sysds.runtime.lineage</div>
+<h2 title="Class LineageEstimator" class="title">Class LineageEstimator</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.sysds.runtime.lineage.LineageEstimator</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">LineageEstimator</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageEstimator.html#LineageEstimator--">LineageEstimator</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>static int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageEstimator.html#computeCacheFullTime--">computeCacheFullTime</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageEstimator.html#processFunc-java.util.List-org.apache.sysds.runtime.lineage.LineageItem:A-java.lang.String-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-long-">processFunc</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/sysds/parser/DataIdentifier.html" title="class in org.apache.sysds.parser">DataIdentifier</a>&gt;&nbsp;outputs,
+           <a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>[]&nbsp;liInputs,
+           <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+           <a href="../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
+           long&nbsp;computetime)</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageEstimator.html#processSingleInst-org.apache.sysds.runtime.instructions.Instruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-long-">processSingleInst</a></span>(<a href="../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a>&nbsp;inst,
+                 <a href="../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
+                 long&nbsp;starttime)</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageEstimator.html#resetEstimatorCache--">resetEstimatorCache</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageEstimator.html#stopEstimator-java.util.List-org.apache.sysds.runtime.lineage.LineageItem:A-java.lang.String-">stopEstimator</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/sysds/parser/DataIdentifier.html" title="class in org.apache.sysds.parser">DataIdentifier</a>&gt;&nbsp;outputs,
+             <a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>[]&nbsp;liInputs,
+             <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="LineageEstimator--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>LineageEstimator</h4>
+<pre>public&nbsp;LineageEstimator()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="processSingleInst-org.apache.sysds.runtime.instructions.Instruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-long-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>processSingleInst</h4>
+<pre>public static&nbsp;void&nbsp;processSingleInst(<a href="../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a>&nbsp;inst,
+                                     <a href="../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
+                                     long&nbsp;starttime)</pre>
+</li>
+</ul>
+<a name="stopEstimator-java.util.List-org.apache.sysds.runtime.lineage.LineageItem:A-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>stopEstimator</h4>
+<pre>public static&nbsp;void&nbsp;stopEstimator(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/sysds/parser/DataIdentifier.html" title="class in org.apache.sysds.parser">DataIdentifier</a>&gt;&nbsp;outputs,
+                                 <a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>[]&nbsp;liInputs,
+                                 <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
+</li>
+</ul>
+<a name="processFunc-java.util.List-org.apache.sysds.runtime.lineage.LineageItem:A-java.lang.String-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-long-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>processFunc</h4>
+<pre>public static&nbsp;void&nbsp;processFunc(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/sysds/parser/DataIdentifier.html" title="class in org.apache.sysds.parser">DataIdentifier</a>&gt;&nbsp;outputs,
+                               <a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>[]&nbsp;liInputs,
+                               <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+                               <a href="../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
+                               long&nbsp;computetime)</pre>
+</li>
+</ul>
+<a name="computeCacheFullTime--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>computeCacheFullTime</h4>
+<pre>public static&nbsp;int&nbsp;computeCacheFullTime()</pre>
+</li>
+</ul>
+<a name="resetEstimatorCache--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>resetEstimatorCache</h4>
+<pre>public static&nbsp;void&nbsp;resetEstimatorCache()</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/LineageEstimator.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/sysds/runtime/lineage/LineageDedupUtils.html" title="class in org.apache.sysds.runtime.lineage"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/sysds/runtime/lineage/LineageEstimatorStatistics.html" title="class in org.apache.sysds.runtime.lineage"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/sysds/runtime/lineage/LineageEstimator.html" target="_top">Frames</a></li>
+<li><a href="LineageEstimator.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/lineage/LineageEstimatorStatistics.html b/docs/api/java/org/apache/sysds/runtime/lineage/LineageEstimatorStatistics.html
new file mode 100644
index 0000000..9351305
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/lineage/LineageEstimatorStatistics.html
@@ -0,0 +1,337 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>LineageEstimatorStatistics (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="LineageEstimatorStatistics (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/LineageEstimatorStatistics.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/sysds/runtime/lineage/LineageEstimator.html" title="class in org.apache.sysds.runtime.lineage"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/sysds/runtime/lineage/LineageEstimatorStatistics.html" target="_top">Frames</a></li>
+<li><a href="LineageEstimatorStatistics.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.sysds.runtime.lineage</div>
+<h2 title="Class LineageEstimatorStatistics" class="title">Class LineageEstimatorStatistics</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.sysds.runtime.lineage.LineageEstimatorStatistics</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">LineageEstimatorStatistics</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageEstimatorStatistics.html#LineageEstimatorStatistics--">LineageEstimatorStatistics</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageEstimatorStatistics.html#displayComputeTime--">displayComputeTime</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageEstimatorStatistics.html#displayLineageEstimates--">displayLineageEstimates</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageEstimatorStatistics.html#displayReusableInsts--">displayReusableInsts</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageEstimatorStatistics.html#displaySize--">displaySize</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageEstimatorStatistics.html#incrementSavedComputeTime-long-">incrementSavedComputeTime</a></span>(long&nbsp;delta)</code>&nbsp;</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageEstimatorStatistics.html#reset--">reset</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="LineageEstimatorStatistics--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>LineageEstimatorStatistics</h4>
+<pre>public&nbsp;LineageEstimatorStatistics()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="reset--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>reset</h4>
+<pre>public static&nbsp;void&nbsp;reset()</pre>
+</li>
+</ul>
+<a name="incrementSavedComputeTime-long-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>incrementSavedComputeTime</h4>
+<pre>public static&nbsp;void&nbsp;incrementSavedComputeTime(long&nbsp;delta)</pre>
+</li>
+</ul>
+<a name="displayComputeTime--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>displayComputeTime</h4>
+<pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;displayComputeTime()</pre>
+</li>
+</ul>
+<a name="displaySize--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>displaySize</h4>
+<pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;displaySize()</pre>
+</li>
+</ul>
+<a name="displayReusableInsts--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>displayReusableInsts</h4>
+<pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;displayReusableInsts()</pre>
+</li>
+</ul>
+<a name="displayLineageEstimates--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>displayLineageEstimates</h4>
+<pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;displayLineageEstimates()</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/LineageEstimatorStatistics.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/sysds/runtime/lineage/LineageEstimator.html" title="class in org.apache.sysds.runtime.lineage"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/sysds/runtime/lineage/LineageEstimatorStatistics.html" target="_top">Frames</a></li>
+<li><a href="LineageEstimatorStatistics.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/lineage/LineageItem.LineageItemType.html b/docs/api/java/org/apache/sysds/runtime/lineage/LineageItem.LineageItemType.html
index 4ebc01de..10d1543 100644
--- a/docs/api/java/org/apache/sysds/runtime/lineage/LineageItem.LineageItemType.html
+++ b/docs/api/java/org/apache/sysds/runtime/lineage/LineageItem.LineageItemType.html
@@ -365,6 +365,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/lineage/LineageItem.html b/docs/api/java/org/apache/sysds/runtime/lineage/LineageItem.html
index fb38d42..ce0d03f 100644
--- a/docs/api/java/org/apache/sysds/runtime/lineage/LineageItem.html
+++ b/docs/api/java/org/apache/sysds/runtime/lineage/LineageItem.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":9,"i13":42,"i14":41,"i15":10,"i16":9,"i17":10,"i18":10,"i19":10,"i20":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":9,"i17":10,"i18":42,"i19":41,"i20":10,"i21":9,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -49,7 +49,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/sysds/runtime/lineage/LineageDedupUtils.html" title="class in org.apache.sysds.runtime.lineage"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/sysds/runtime/lineage/LineageEstimatorStatistics.html" title="class in org.apache.sysds.runtime.lineage"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.LineageItemType.html" title="enum in org.apache.sysds.runtime.lineage"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -199,6 +199,17 @@
            <a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>[]&nbsp;inputs)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html#LineageItem-java.lang.String-org.apache.sysds.runtime.lineage.LineageItem-int-org.apache.sysds.runtime.lineage.LineageItem:A-">LineageItem</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;opcode,
+           <a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;dedupPatch,
+           int&nbsp;dpatchHash,
+           <a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>[]&nbsp;inputs)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html#LineageItem-java.lang.String-org.apache.sysds.runtime.lineage.LineageItem-org.apache.sysds.runtime.lineage.LineageItem:A-">LineageItem</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;opcode,
+           <a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;dedupPatch,
+           <a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>[]&nbsp;inputs)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html#LineageItem-java.lang.String-java.lang.String-">LineageItem</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;data,
            <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;opcode)</code>&nbsp;</td>
 </tr>
@@ -231,89 +242,113 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html#equals-java.lang.Object-">equals</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;o)</code>&nbsp;</td>
 </tr>
 <tr id="i2" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html#fixHash--">fixHash</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html#getData--">getData</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i4" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html#getDedupPatch--">getDedupPatch</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html#getDistLeaf2Node--">getDistLeaf2Node</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html#getId--">getId</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html#getInputs--">getInputs</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html#getOpcode--">getOpcode</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.LineageItemType.html" title="enum in org.apache.sysds.runtime.lineage">LineageItem.LineageItemType</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html#getType--">getType</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i10" class="altColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html#hashCode--">hashCode</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html#isDedup--">isDedup</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i12" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html#isInstruction--">isInstruction</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i13" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html#isLeaf--">isLeaf</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i11" class="rowColor">
+<tr id="i14" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html#isPlaceholder--">isPlaceholder</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i15" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html#isVisited--">isVisited</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i12" class="altColor">
+<tr id="i16" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html#resetIDSequence--">resetIDSequence</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i13" class="rowColor">
+<tr id="i17" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html#resetInputs--">resetInputs</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i18" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html#resetVisitStatus--">resetVisitStatus</a></span>()</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </td>
 </tr>
-<tr id="i14" class="altColor">
+<tr id="i19" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html#resetVisitStatus-org.apache.sysds.runtime.lineage.LineageItem:A-">resetVisitStatus</a></span>(<a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>[]&nbsp;lis)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </td>
 </tr>
-<tr id="i15" class="rowColor">
+<tr id="i20" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html#resetVisitStatusNR--">resetVisitStatusNR</a></span>()</code>
 <div class="block">Non-recursive equivalent of <a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html#resetVisitStatus--"><code>resetVisitStatus()</code></a> 
  for robustness with regard to stack overflow errors.</div>
 </td>
 </tr>
-<tr id="i16" class="altColor">
+<tr id="i21" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html#resetVisitStatusNR-org.apache.sysds.runtime.lineage.LineageItem:A-">resetVisitStatusNR</a></span>(<a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>[]&nbsp;lis)</code>
 <div class="block">Non-recursive equivalent of <a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html#resetVisitStatus-org.apache.sysds.runtime.lineage.LineageItem:A-"><code>resetVisitStatus(LineageItem[])</code></a> 
  for robustness with regard to stack overflow errors.</div>
 </td>
 </tr>
-<tr id="i17" class="rowColor">
+<tr id="i22" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html#setDistLeaf2Node-long-">setDistLeaf2Node</a></span>(long&nbsp;d)</code>&nbsp;</td>
+</tr>
+<tr id="i23" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html#setInput-int-org.apache.sysds.runtime.lineage.LineageItem-">setInput</a></span>(int&nbsp;i,
         <a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;item)</code>&nbsp;</td>
 </tr>
-<tr id="i18" class="altColor">
+<tr id="i24" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html#setVisited--">setVisited</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i19" class="rowColor">
+<tr id="i25" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html#setVisited-boolean-">setVisited</a></span>(boolean&nbsp;flag)</code>&nbsp;</td>
 </tr>
-<tr id="i20" class="altColor">
+<tr id="i26" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html#toString--">toString</a></span>()</code>&nbsp;</td>
 </tr>
@@ -419,6 +454,29 @@
                    <a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>[]&nbsp;inputs)</pre>
 </li>
 </ul>
+<a name="LineageItem-java.lang.String-org.apache.sysds.runtime.lineage.LineageItem-org.apache.sysds.runtime.lineage.LineageItem:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>LineageItem</h4>
+<pre>public&nbsp;LineageItem(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;opcode,
+                   <a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;dedupPatch,
+                   <a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>[]&nbsp;inputs)</pre>
+</li>
+</ul>
+<a name="LineageItem-java.lang.String-org.apache.sysds.runtime.lineage.LineageItem-int-org.apache.sysds.runtime.lineage.LineageItem:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>LineageItem</h4>
+<pre>public&nbsp;LineageItem(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;opcode,
+                   <a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;dedupPatch,
+                   int&nbsp;dpatchHash,
+                   <a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>[]&nbsp;inputs)</pre>
+</li>
+</ul>
 <a name="LineageItem-org.apache.sysds.runtime.lineage.LineageItem-">
 <!--   -->
 </a>
@@ -478,6 +536,15 @@
 <pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>[]&nbsp;getInputs()</pre>
 </li>
 </ul>
+<a name="resetInputs--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>resetInputs</h4>
+<pre>public&nbsp;void&nbsp;resetInputs()</pre>
+</li>
+</ul>
 <a name="setInput-int-org.apache.sysds.runtime.lineage.LineageItem-">
 <!--   -->
 </a>
@@ -497,6 +564,15 @@
 <pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getData()</pre>
 </li>
 </ul>
+<a name="fixHash--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>fixHash</h4>
+<pre>public&nbsp;void&nbsp;fixHash()</pre>
+</li>
+</ul>
 <a name="isVisited--">
 <!--   -->
 </a>
@@ -542,6 +618,42 @@
 <pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getOpcode()</pre>
 </li>
 </ul>
+<a name="isPlaceholder--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isPlaceholder</h4>
+<pre>public&nbsp;boolean&nbsp;isPlaceholder()</pre>
+</li>
+</ul>
+<a name="setDistLeaf2Node-long-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setDistLeaf2Node</h4>
+<pre>public&nbsp;void&nbsp;setDistLeaf2Node(long&nbsp;d)</pre>
+</li>
+</ul>
+<a name="getDistLeaf2Node--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getDistLeaf2Node</h4>
+<pre>public&nbsp;long&nbsp;getDistLeaf2Node()</pre>
+</li>
+</ul>
+<a name="getDedupPatch--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getDedupPatch</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;getDedupPatch()</pre>
+</li>
+</ul>
 <a name="getType--">
 <!--   -->
 </a>
@@ -711,7 +823,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/sysds/runtime/lineage/LineageDedupUtils.html" title="class in org.apache.sysds.runtime.lineage"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/sysds/runtime/lineage/LineageEstimatorStatistics.html" title="class in org.apache.sysds.runtime.lineage"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.LineageItemType.html" title="enum in org.apache.sysds.runtime.lineage"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -752,6 +864,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/lineage/LineageItemUtils.html b/docs/api/java/org/apache/sysds/runtime/lineage/LineageItemUtils.html
index 3969517..f1496cb 100644
--- a/docs/api/java/org/apache/sysds/runtime/lineage/LineageItemUtils.html
+++ b/docs/api/java/org/apache/sysds/runtime/lineage/LineageItemUtils.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":41,"i11":9,"i12":9,"i13":9,"i14":9,"i15":9,"i16":9};
+var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":41,"i11":9,"i12":9,"i13":9,"i14":9,"i15":9,"i16":9,"i17":9,"i18":9};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -254,6 +254,16 @@
 </td>
 </tr>
 <tr id="i16" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedResponse</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageItemUtils.html#setUDFResponse-org.apache.sysds.runtime.controlprogram.federated.FederatedUDF-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-">setUDFResponse</a></span>(<a href="../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedUDF.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedUDF</a>&nbsp;udf,
+              <a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;mo)</code>&nbsp;</td>
+</tr>
+<tr id="i17" class="rowColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageItemUtils.html#traceFedUDF-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.runtime.controlprogram.federated.FederatedUDF-">traceFedUDF</a></span>(<a href="../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
+           <a href="../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedUDF.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedUDF</a>&nbsp;udf)</code>&nbsp;</td>
+</tr>
+<tr id="i18" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageItemUtils.html#writeTraceToHDFS-java.lang.String-java.lang.String-">writeTraceToHDFS</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;trace,
                 <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;fname)</code>&nbsp;</td>
@@ -346,6 +356,26 @@
                                        <a href="../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>...&nbsp;operands)</pre>
 </li>
 </ul>
+<a name="traceFedUDF-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.runtime.controlprogram.federated.FederatedUDF-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>traceFedUDF</h4>
+<pre>public static&nbsp;void&nbsp;traceFedUDF(<a href="../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
+                               <a href="../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedUDF.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedUDF</a>&nbsp;udf)</pre>
+</li>
+</ul>
+<a name="setUDFResponse-org.apache.sysds.runtime.controlprogram.federated.FederatedUDF-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setUDFResponse</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedResponse</a>&nbsp;setUDFResponse(<a href="../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedUDF.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedUDF</a>&nbsp;udf,
+                                               <a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;mo)</pre>
+</li>
+</ul>
 <a name="constructLineageFromHops-org.apache.sysds.hops.Hop:A-java.lang.String-org.apache.sysds.hops.Hop:A-java.util.HashMap-">
 <!--   -->
 </a>
@@ -570,6 +600,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/lineage/LineageMap.html b/docs/api/java/org/apache/sysds/runtime/lineage/LineageMap.html
index 7823f49..31b5d6c 100644
--- a/docs/api/java/org/apache/sysds/runtime/lineage/LineageMap.html
+++ b/docs/api/java/org/apache/sysds/runtime/lineage/LineageMap.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -179,26 +179,31 @@
 </tr>
 <tr id="i7" class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageMap.html#processDedupItem-org.apache.sysds.runtime.lineage.LineageMap-java.lang.Long-org.apache.sysds.runtime.lineage.LineageItem:A-java.lang.String-">processDedupItem</a></span>(<a href="../../../../../org/apache/sysds/runtime/lineage/LineageMap.html" title="class in org.apache.sysds.runtime.lineage">LineageMap</a>&nbsp;lm,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageMap.html#processDedupItem-org.apache.sysds.runtime.lineage.LineageMap-java.lang.Long-org.apache.sysds.runtime.lineage.LineageItem:A-java.lang.String-java.util.Map-">processDedupItem</a></span>(<a href="../../../../../org/apache/sysds/runtime/lineage/LineageMap.html" title="class in org.apache.sysds.runtime.lineage">LineageMap</a>&nbsp;lm,
                 <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&nbsp;path,
                 <a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>[]&nbsp;liinputs,
-                <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>&nbsp;</td>
+                <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+                <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;dpatchHashList)</code>&nbsp;</td>
 </tr>
 <tr id="i8" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageMap.html#removeLineageItem-java.lang.String-">removeLineageItem</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key)</code>&nbsp;</td>
+</tr>
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageMap.html#resetLineageMaps--">resetLineageMaps</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i10" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageMap.html#set-java.lang.String-org.apache.sysds.runtime.lineage.LineageItem-">set</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;varName,
    <a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;li)</code>&nbsp;</td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageMap.html#setLiteral-java.lang.String-org.apache.sysds.runtime.lineage.LineageItem-">setLiteral</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;varName,
           <a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;li)</code>&nbsp;</td>
 </tr>
-<tr id="i11" class="rowColor">
+<tr id="i12" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageMap.html#trace-org.apache.sysds.runtime.instructions.Instruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">trace</a></span>(<a href="../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a>&nbsp;inst,
      <a href="../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
@@ -261,7 +266,7 @@
                   <a href="../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</pre>
 </li>
 </ul>
-<a name="processDedupItem-org.apache.sysds.runtime.lineage.LineageMap-java.lang.Long-org.apache.sysds.runtime.lineage.LineageItem:A-java.lang.String-">
+<a name="processDedupItem-org.apache.sysds.runtime.lineage.LineageMap-java.lang.Long-org.apache.sysds.runtime.lineage.LineageItem:A-java.lang.String-java.util.Map-">
 <!--   -->
 </a>
 <ul class="blockList">
@@ -270,7 +275,8 @@
 <pre>public&nbsp;void&nbsp;processDedupItem(<a href="../../../../../org/apache/sysds/runtime/lineage/LineageMap.html" title="class in org.apache.sysds.runtime.lineage">LineageMap</a>&nbsp;lm,
                              <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&nbsp;path,
                              <a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>[]&nbsp;liinputs,
-                             <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
+                             <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+                             <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;dpatchHashList)</pre>
 </li>
 </ul>
 <a name="getOrCreate-org.apache.sysds.runtime.instructions.cp.CPOperand-">
@@ -359,12 +365,21 @@
 <a name="getLiterals--">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>getLiterals</h4>
 <pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&gt;&nbsp;getLiterals()</pre>
 </li>
 </ul>
+<a name="removeLineageItem-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>removeLineageItem</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;removeLineageItem(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key)</pre>
+</li>
+</ul>
 </li>
 </ul>
 </li>
@@ -434,6 +449,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/lineage/LineageParser.html b/docs/api/java/org/apache/sysds/runtime/lineage/LineageParser.html
index d5646d2..23d451f 100644
--- a/docs/api/java/org/apache/sysds/runtime/lineage/LineageParser.html
+++ b/docs/api/java/org/apache/sysds/runtime/lineage/LineageParser.html
@@ -318,6 +318,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/lineage/LineageRecomputeUtils.html b/docs/api/java/org/apache/sysds/runtime/lineage/LineageRecomputeUtils.html
index 515f4614..2cec785 100644
--- a/docs/api/java/org/apache/sysds/runtime/lineage/LineageRecomputeUtils.html
+++ b/docs/api/java/org/apache/sysds/runtime/lineage/LineageRecomputeUtils.html
@@ -322,6 +322,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/lineage/LineageRewriteReuse.html b/docs/api/java/org/apache/sysds/runtime/lineage/LineageRewriteReuse.html
index bb32a2d..fbb5795 100644
--- a/docs/api/java/org/apache/sysds/runtime/lineage/LineageRewriteReuse.html
+++ b/docs/api/java/org/apache/sysds/runtime/lineage/LineageRewriteReuse.html
@@ -269,6 +269,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/lineage/LineageTokenizer.html b/docs/api/java/org/apache/sysds/runtime/lineage/LineageTokenizer.html
index b02fdf1..4326bb8 100644
--- a/docs/api/java/org/apache/sysds/runtime/lineage/LineageTokenizer.html
+++ b/docs/api/java/org/apache/sysds/runtime/lineage/LineageTokenizer.html
@@ -295,6 +295,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/lineage/LineageTraceable.html b/docs/api/java/org/apache/sysds/runtime/lineage/LineageTraceable.html
index fa3de7f..b619922 100644
--- a/docs/api/java/org/apache/sysds/runtime/lineage/LineageTraceable.html
+++ b/docs/api/java/org/apache/sysds/runtime/lineage/LineageTraceable.html
@@ -101,7 +101,7 @@
 <li class="blockList">
 <dl>
 <dt>All Known Implementing Classes:</dt>
-<dd><a href="../../../../../org/apache/sysds/runtime/instructions/cp/AggregateBinaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">AggregateBinaryCPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/fed/AggregateBinaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">AggregateBinaryFEDInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/cp/AggregateTernaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">AggregateTernaryCPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/AggregateTernarySPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">AggregateTernarySPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/cp/AggregateUnaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">AggregateUnaryCPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/fed/AggregateUnaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">AggregateUnaryFEDInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/AggregateUnarySPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">AggregateUnarySPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/cp/AppendCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">AppendCPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/fed/AppendFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">AppendFEDInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/AppendGAlignedSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">AppendGAlignedSPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/AppendGSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">AppendGSPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/AppendMSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">AppendMSPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/AppendRSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">AppendRSPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/cp/BinaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">BinaryCPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/fed/BinaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">BinaryFEDInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/cp/BinaryFrameFrameCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">BinaryFrameFrameCPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/BinaryFrameFrameSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">BinaryFrameFrameSPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/cp/BinaryFrameMatrixCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">BinaryFrameMatrixCPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/BinaryFrameMatrixSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">BinaryFrameMatrixSPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/cp/BinaryFrameScalarCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">BinaryFrameScalarCPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/BinaryFrameScalarSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">BinaryFrameScalarSPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/BinaryMatrixBVectorSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">BinaryMatrixBVectorSPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/cp/BinaryMatrixMatrixCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">BinaryMatrixMatrixCPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/fed/BinaryMatrixMatrixFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">BinaryMatrixMatrixFEDInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/BinaryMatrixMatrixSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">BinaryMatrixMatrixSPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/cp/BinaryMatrixScalarCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">BinaryMatrixScalarCPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/fed/BinaryMatrixScalarFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">BinaryMatrixScalarFEDInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/BinaryMatrixScalarSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">BinaryMatrixScalarSPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/cp/BinaryScalarScalarCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">BinaryScalarScalarCPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/BinarySPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">BinarySPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/BinaryTensorTensorBroadcastSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">BinaryTensorTensorBroadcastSPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/cp/BinaryTensorTensorCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">BinaryTensorTensorCPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/BinaryTensorTensorSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">BinaryTensorTensorSPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/BinUaggChainSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">BinUaggChainSPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/BuiltinNarySPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">BuiltinNarySPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/CastSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">CastSPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/cp/CentralMomentCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">CentralMomentCPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/CentralMomentSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">CentralMomentSPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/CheckpointSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">CheckpointSPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/cp/CompressionCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">CompressionCPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/CompressionSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">CompressionSPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ComputationCPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">ComputationFEDInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/ComputationSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">ComputationSPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/cp/CovarianceCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">CovarianceCPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/CovarianceSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">CovarianceSPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/CpmmSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">CpmmSPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/CSVReblockSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">CSVReblockSPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/cp/CtableCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">CtableCPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/CtableSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">CtableSPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/CumulativeAggregateSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">CumulativeAggregateSPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/CumulativeOffsetSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">CumulativeOffsetSPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/cp/DataGenCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">DataGenCPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/cp/DnnCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">DnnCPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/DnnSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">DnnSPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/cp/FrameAppendCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">FrameAppendCPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/FrameAppendMSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">FrameAppendMSPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/FrameAppendRSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">FrameAppendRSPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/cp/FrameIndexingCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">FrameIndexingCPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/FrameIndexingSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">FrameIndexingSPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/cp/IndexingCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">IndexingCPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/IndexingSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">IndexingSPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/cp/ListAppendRemoveCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ListAppendRemoveCPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/cp/ListIndexingCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ListIndexingCPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/MapmmSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">MapmmSPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/cp/MatrixAppendCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">MatrixAppendCPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/MatrixAppendMSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">MatrixAppendMSPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/MatrixAppendRSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">MatrixAppendRSPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/cp/MatrixBuiltinNaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">MatrixBuiltinNaryCPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/cpfile/MatrixIndexingCPFileInstruction.html" title="class in org.apache.sysds.runtime.instructions.cpfile">MatrixIndexingCPFileInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/cp/MatrixIndexingCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">MatrixIndexingCPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/MatrixIndexingSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">MatrixIndexingSPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/MatrixReshapeSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">MatrixReshapeSPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/cp/MMChainCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">MMChainCPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/fed/MMChainFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">MMChainFEDInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/cp/MMTSJCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">MMTSJCPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/cp/MultiReturnBuiltinCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">MultiReturnBuiltinCPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/cp/MultiReturnParameterizedBuiltinCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">MultiReturnParameterizedBuiltinCPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/fed/MultiReturnParameterizedBuiltinFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">MultiReturnParameterizedBuiltinFEDInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/MultiReturnParameterizedBuiltinSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">MultiReturnParameterizedBuiltinSPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/cp/ParameterizedBuiltinCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ParameterizedBuiltinCPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/fed/ParameterizedBuiltinFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">ParameterizedBuiltinFEDInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">ParameterizedBuiltinSPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/cp/ParamservBuiltinCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ParamservBuiltinCPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/PMapmmSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">PMapmmSPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/cp/PMMJCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">PMMJCPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/PmmSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">PmmSPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/cp/QuantilePickCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">QuantilePickCPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/QuantilePickSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">QuantilePickSPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/cp/QuantileSortCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">QuantileSortCPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/QuantileSortSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">QuantileSortSPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/cp/QuaternaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">QuaternaryCPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/QuaternarySPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">QuaternarySPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/RandSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">RandSPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/ReblockSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">ReblockSPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/cp/ReorgCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ReorgCPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">ReorgFEDInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/ReorgSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">ReorgSPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/cp/ReshapeCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ReshapeCPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/RmmSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">RmmSPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/cp/ScalarAppendCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarAppendCPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/cp/ScalarBuiltinNaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarBuiltinNaryCPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/cp/SpoofCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">SpoofCPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/cp/StringInitCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">StringInitCPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/cp/TernaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">TernaryCPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/TernarySPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">TernarySPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/Tsmm2SPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">Tsmm2SPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/fed/TsmmFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">TsmmFEDInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/TsmmSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">TsmmSPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/cp/UaggOuterChainCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">UaggOuterChainCPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/UaggOuterChainSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">UaggOuterChainSPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/cp/UnaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">UnaryCPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/fed/UnaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">UnaryFEDInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/cp/UnaryFrameCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">UnaryFrameCPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/UnaryFrameSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">UnaryFrameSPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/cp/UnaryMatrixCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">UnaryMatrixCPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/UnaryMatrixSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">UnaryMatrixSPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/cp/UnaryScalarCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">UnaryScalarCPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/UnarySPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">UnarySPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/cp/VariableCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">VariableCPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/WriteSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">WriteSPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/ZipmmSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">ZipmmSPInstruction</a></dd>
+<dd><a href="../../../../../org/apache/sysds/runtime/instructions/cp/AggregateBinaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">AggregateBinaryCPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/fed/AggregateBinaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">AggregateBinaryFEDInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/gpu/AggregateBinaryGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">AggregateBinaryGPUInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/cp/AggregateTernaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">AggregateTernaryCPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/AggregateTernarySPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">AggregateTernarySPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/cp/AggregateUnaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">AggregateUnaryCPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/fed/AggregateUnaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">AggregateUnaryFEDInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/gpu/AggregateUnaryGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">AggregateUnaryGPUInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/AggregateUnarySPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">AggregateUnarySPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/cp/AppendCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">AppendCPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/fed/AppendFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">AppendFEDInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/AppendGAlignedSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">AppendGAlignedSPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/AppendGSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">AppendGSPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/AppendMSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">AppendMSPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/AppendRSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">AppendRSPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/gpu/ArithmeticBinaryGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">ArithmeticBinaryGPUInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/cp/BinaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">BinaryCPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/fed/BinaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">BinaryFEDInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/cp/BinaryFrameFrameCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">BinaryFrameFrameCPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/BinaryFrameFrameSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">BinaryFrameFrameSPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/cp/BinaryFrameMatrixCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">BinaryFrameMatrixCPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/BinaryFrameMatrixSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">BinaryFrameMatrixSPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/cp/BinaryFrameScalarCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">BinaryFrameScalarCPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/BinaryFrameScalarSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">BinaryFrameScalarSPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/BinaryMatrixBVectorSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">BinaryMatrixBVectorSPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/cp/BinaryMatrixMatrixCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">BinaryMatrixMatrixCPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/fed/BinaryMatrixMatrixFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">BinaryMatrixMatrixFEDInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/BinaryMatrixMatrixSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">BinaryMatrixMatrixSPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/cp/BinaryMatrixScalarCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">BinaryMatrixScalarCPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/fed/BinaryMatrixScalarFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">BinaryMatrixScalarFEDInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/BinaryMatrixScalarSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">BinaryMatrixScalarSPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/cp/BinaryScalarScalarCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">BinaryScalarScalarCPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/BinarySPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">BinarySPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/BinaryTensorTensorBroadcastSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">BinaryTensorTensorBroadcastSPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/cp/BinaryTensorTensorCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">BinaryTensorTensorCPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/BinaryTensorTensorSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">BinaryTensorTensorSPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/BinUaggChainSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">BinUaggChainSPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/gpu/BuiltinBinaryGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">BuiltinBinaryGPUInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/BuiltinNarySPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">BuiltinNarySPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/gpu/BuiltinUnaryGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">BuiltinUnaryGPUInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/CastSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">CastSPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/cp/CentralMomentCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">CentralMomentCPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/fed/CentralMomentFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">CentralMomentFEDInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/CentralMomentSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">CentralMomentSPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/CheckpointSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">CheckpointSPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/cp/CompressionCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">CompressionCPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/CompressionSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">CompressionSPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ComputationCPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">ComputationFEDInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/ComputationSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">ComputationSPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/cp/CovarianceCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">CovarianceCPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/fed/CovarianceFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">CovarianceFEDInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/CovarianceSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">CovarianceSPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/CpmmSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">CpmmSPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/CSVReblockSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">CSVReblockSPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/cp/CtableCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">CtableCPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/CtableSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">CtableSPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/CumulativeAggregateSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">CumulativeAggregateSPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/CumulativeOffsetSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">CumulativeOffsetSPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/cp/DataGenCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">DataGenCPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/cp/DeCompressionCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">DeCompressionCPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/DeCompressionSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">DeCompressionSPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/cp/DnnCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">DnnCPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/gpu/DnnGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">DnnGPUInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/DnnSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">DnnSPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedUDF.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedUDF</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/cp/FrameAppendCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">FrameAppendCPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/FrameAppendMSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">FrameAppendMSPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/FrameAppendRSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">FrameAppendRSPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/cp/FrameIndexingCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">FrameIndexingCPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/FrameIndexingSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">FrameIndexingSPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">GPUInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/cp/IndexingCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">IndexingCPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/fed/IndexingFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">IndexingFEDInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/IndexingSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">IndexingSPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/fed/InitFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">InitFEDInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/cp/ListAppendRemoveCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ListAppendRemoveCPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/cp/ListIndexingCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ListIndexingCPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/MapmmSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">MapmmSPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/cp/MatrixAppendCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">MatrixAppendCPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/gpu/MatrixAppendGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">MatrixAppendGPUInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/MatrixAppendMSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">MatrixAppendMSPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/MatrixAppendRSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">MatrixAppendRSPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/gpu/MatrixBuiltinGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">MatrixBuiltinGPUInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/cp/MatrixBuiltinNaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">MatrixBuiltinNaryCPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/cpfile/MatrixIndexingCPFileInstruction.html" title="class in org.apache.sysds.runtime.instructions.cpfile">MatrixIndexingCPFileInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/cp/MatrixIndexingCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">MatrixIndexingCPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/gpu/MatrixIndexingGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">MatrixIndexingGPUInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/MatrixIndexingSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">MatrixIndexingSPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/gpu/MatrixMatrixArithmeticGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">MatrixMatrixArithmeticGPUInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/gpu/MatrixMatrixAxpyGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">MatrixMatrixAxpyGPUInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/gpu/MatrixMatrixBuiltinGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">MatrixMatrixBuiltinGPUInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/gpu/MatrixMatrixRelationalBinaryGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">MatrixMatrixRelationalBinaryGPUInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/gpu/MatrixReshapeGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">MatrixReshapeGPUInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/MatrixReshapeSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">MatrixReshapeSPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/cp/MMChainCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">MMChainCPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/fed/MMChainFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">MMChainFEDInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/cp/MMTSJCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">MMTSJCPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/gpu/MMTSJGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">MMTSJGPUInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/cp/MultiReturnBuiltinCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">MultiReturnBuiltinCPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/cp/MultiReturnParameterizedBuiltinCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">MultiReturnParameterizedBuiltinCPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/fed/MultiReturnParameterizedBuiltinFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">MultiReturnParameterizedBuiltinFEDInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/fed/MultiReturnParameterizedBuiltinFEDInstruction.CreateFrameEncoder.html" title="class in org.apache.sysds.runtime.instructions.fed">MultiReturnParameterizedBuiltinFEDInstruction.CreateFrameEncoder</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/fed/MultiReturnParameterizedBuiltinFEDInstruction.ExecuteFrameEncoder.html" title="class in org.apache.sysds.runtime.instructions.fed">MultiReturnParameterizedBuiltinFEDInstruction.ExecuteFrameEncoder</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/MultiReturnParameterizedBuiltinSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">MultiReturnParameterizedBuiltinSPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/cp/ParameterizedBuiltinCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ParameterizedBuiltinCPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/fed/ParameterizedBuiltinFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">ParameterizedBuiltinFEDInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/fed/ParameterizedBuiltinFEDInstruction.DecodeMatrix.html" title="class in org.apache.sysds.runtime.instructions.fed">ParameterizedBuiltinFEDInstruction.DecodeMatrix</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">ParameterizedBuiltinSPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/cp/ParamservBuiltinCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ParamservBuiltinCPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/PMapmmSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">PMapmmSPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/cp/PMMJCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">PMMJCPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/PmmSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">PmmSPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/cp/QuantilePickCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">QuantilePickCPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/fed/QuantilePickFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuantilePickFEDInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/QuantilePickSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">QuantilePickSPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/cp/QuantileSortCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">QuantileSortCPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/fed/QuantileSortFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuantileSortFEDInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/QuantileSortSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">QuantileSortSPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/cp/QuaternaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">QuaternaryCPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuaternaryFEDInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/QuaternarySPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">QuaternarySPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryWCeMMFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuaternaryWCeMMFEDInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryWDivMMFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuaternaryWDivMMFEDInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryWSigmoidFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuaternaryWSigmoidFEDInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryWSLossFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuaternaryWSLossFEDInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryWUMMFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuaternaryWUMMFEDInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/RandSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">RandSPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/ReblockSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">ReblockSPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/gpu/RelationalBinaryGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">RelationalBinaryGPUInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/cp/ReorgCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ReorgCPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">ReorgFEDInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.DiagMatrix.html" title="class in org.apache.sysds.runtime.instructions.fed">ReorgFEDInstruction.DiagMatrix</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.Rdiag.html" title="class in org.apache.sysds.runtime.instructions.fed">ReorgFEDInstruction.Rdiag</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/gpu/ReorgGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">ReorgGPUInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/ReorgSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">ReorgSPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/cp/ReshapeCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ReshapeCPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/fed/ReshapeFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">ReshapeFEDInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/RmmSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">RmmSPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/cp/ScalarAppendCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarAppendCPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/cp/ScalarBuiltinNaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarBuiltinNaryCPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/gpu/ScalarMatrixArithmeticGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">ScalarMatrixArithmeticGPUInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/gpu/ScalarMatrixBuiltinGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">ScalarMatrixBuiltinGPUInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/gpu/ScalarMatrixRelationalBinaryGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">ScalarMatrixRelationalBinaryGPUInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/cp/SpoofCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">SpoofCPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">SpoofCUDAInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/cp/StringInitCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">StringInitCPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/cp/TernaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">TernaryCPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/fed/TernaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">TernaryFEDInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/TernarySPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">TernarySPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/Tsmm2SPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">Tsmm2SPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/fed/TsmmFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">TsmmFEDInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/TsmmSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">TsmmSPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/cp/UaggOuterChainCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">UaggOuterChainCPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/UaggOuterChainSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">UaggOuterChainSPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/cp/UnaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">UnaryCPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/fed/UnaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">UnaryFEDInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/cp/UnaryFrameCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">UnaryFrameCPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/UnaryFrameSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">UnaryFrameSPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/cp/UnaryMatrixCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">UnaryMatrixCPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/fed/UnaryMatrixFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">UnaryMatrixFEDInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/UnaryMatrixSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">UnaryMatrixSPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/cp/UnaryScalarCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">UnaryScalarCPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/UnarySPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">UnarySPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/cp/VariableCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">VariableCPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/fed/VariableFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">VariableFEDInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/WriteSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">WriteSPInstruction</a>, <a href="../../../../../org/apache/sysds/runtime/instructions/spark/ZipmmSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">ZipmmSPInstruction</a></dd>
 </dl>
 <hr>
 <br>
@@ -272,6 +272,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/lineage/class-use/Lineage.html b/docs/api/java/org/apache/sysds/runtime/lineage/class-use/Lineage.html
index 1d515ef..b7ecd01 100644
--- a/docs/api/java/org/apache/sysds/runtime/lineage/class-use/Lineage.html
+++ b/docs/api/java/org/apache/sysds/runtime/lineage/class-use/Lineage.html
@@ -265,6 +265,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/lineage/class-use/LineageCache.html b/docs/api/java/org/apache/sysds/runtime/lineage/class-use/LineageCache.html
index 592e889..94a566b 100644
--- a/docs/api/java/org/apache/sysds/runtime/lineage/class-use/LineageCache.html
+++ b/docs/api/java/org/apache/sysds/runtime/lineage/class-use/LineageCache.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/lineage/class-use/LineageCacheConfig.LineageCachePolicy.html b/docs/api/java/org/apache/sysds/runtime/lineage/class-use/LineageCacheConfig.LineageCachePolicy.html
index 5f3d342..65cb0f9 100644
--- a/docs/api/java/org/apache/sysds/runtime/lineage/class-use/LineageCacheConfig.LineageCachePolicy.html
+++ b/docs/api/java/org/apache/sysds/runtime/lineage/class-use/LineageCacheConfig.LineageCachePolicy.html
@@ -212,6 +212,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/lineage/class-use/LineageCacheConfig.ReuseCacheType.html b/docs/api/java/org/apache/sysds/runtime/lineage/class-use/LineageCacheConfig.ReuseCacheType.html
index 1a4daec..880127d 100644
--- a/docs/api/java/org/apache/sysds/runtime/lineage/class-use/LineageCacheConfig.ReuseCacheType.html
+++ b/docs/api/java/org/apache/sysds/runtime/lineage/class-use/LineageCacheConfig.ReuseCacheType.html
@@ -250,6 +250,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/lineage/class-use/LineageCacheConfig.html b/docs/api/java/org/apache/sysds/runtime/lineage/class-use/LineageCacheConfig.html
index c6aeecb..4190e23 100644
--- a/docs/api/java/org/apache/sysds/runtime/lineage/class-use/LineageCacheConfig.html
+++ b/docs/api/java/org/apache/sysds/runtime/lineage/class-use/LineageCacheConfig.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/lineage/class-use/LineageCacheEntry.html b/docs/api/java/org/apache/sysds/runtime/lineage/class-use/LineageCacheEntry.html
index 659748c..3c401e8 100644
--- a/docs/api/java/org/apache/sysds/runtime/lineage/class-use/LineageCacheEntry.html
+++ b/docs/api/java/org/apache/sysds/runtime/lineage/class-use/LineageCacheEntry.html
@@ -72,7 +72,47 @@
 <div class="header">
 <h2 title="Uses of Class org.apache.sysds.runtime.lineage.LineageCacheEntry" class="title">Uses of Class<br>org.apache.sysds.runtime.lineage.LineageCacheEntry</h2>
 </div>
-<div class="classUseContainer">No usage of org.apache.sysds.runtime.lineage.LineageCacheEntry</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageCacheEntry.html" title="class in org.apache.sysds.runtime.lineage">LineageCacheEntry</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.lineage">org.apache.sysds.runtime.lineage</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.sysds.runtime.lineage">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageCacheEntry.html" title="class in org.apache.sysds.runtime.lineage">LineageCacheEntry</a> in <a href="../../../../../../org/apache/sysds/runtime/lineage/package-summary.html">org.apache.sysds.runtime.lineage</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/sysds/runtime/lineage/package-summary.html">org.apache.sysds.runtime.lineage</a> that return <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageCacheEntry.html" title="class in org.apache.sysds.runtime.lineage">LineageCacheEntry</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageCacheEntry.html" title="class in org.apache.sysds.runtime.lineage">LineageCacheEntry</a></code></td>
+<td class="colLast"><span class="typeNameLabel">LineageCache.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageCache.html#getEntry-org.apache.sysds.runtime.lineage.LineageItem-">getEntry</a></span>(<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;key)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
 <!--   -->
@@ -120,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/lineage/class-use/LineageCacheEviction.html b/docs/api/java/org/apache/sysds/runtime/lineage/class-use/LineageCacheEviction.html
index a149c81..1a122d1 100644
--- a/docs/api/java/org/apache/sysds/runtime/lineage/class-use/LineageCacheEviction.html
+++ b/docs/api/java/org/apache/sysds/runtime/lineage/class-use/LineageCacheEviction.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/lineage/class-use/LineageCacheStatistics.html b/docs/api/java/org/apache/sysds/runtime/lineage/class-use/LineageCacheStatistics.html
index e79c1a8..43b6136 100644
--- a/docs/api/java/org/apache/sysds/runtime/lineage/class-use/LineageCacheStatistics.html
+++ b/docs/api/java/org/apache/sysds/runtime/lineage/class-use/LineageCacheStatistics.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/lineage/class-use/LineageCodegenItem.html b/docs/api/java/org/apache/sysds/runtime/lineage/class-use/LineageCodegenItem.html
index 1d861a4..c844470 100644
--- a/docs/api/java/org/apache/sysds/runtime/lineage/class-use/LineageCodegenItem.html
+++ b/docs/api/java/org/apache/sysds/runtime/lineage/class-use/LineageCodegenItem.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/lineage/class-use/LineageDedupBlock.html b/docs/api/java/org/apache/sysds/runtime/lineage/class-use/LineageDedupBlock.html
index fd90539..5282954 100644
--- a/docs/api/java/org/apache/sysds/runtime/lineage/class-use/LineageDedupBlock.html
+++ b/docs/api/java/org/apache/sysds/runtime/lineage/class-use/LineageDedupBlock.html
@@ -139,7 +139,7 @@
 <td class="colLast"><span class="typeNameLabel">Lineage.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/lineage/Lineage.html#setDedupBlock-org.apache.sysds.runtime.lineage.LineageDedupBlock-">setDedupBlock</a></span>(<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageDedupBlock.html" title="class in org.apache.sysds.runtime.lineage">LineageDedupBlock</a>&nbsp;ldb)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>static void</code></td>
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">LineageDedupUtils.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageDedupUtils.html#setDedupMap-org.apache.sysds.runtime.lineage.LineageDedupBlock-long-">setDedupMap</a></span>(<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageDedupBlock.html" title="class in org.apache.sysds.runtime.lineage">LineageDedupBlock</a>&nbsp;ldb,
            long&nbsp;takenPath)</code>&nbsp;</td>
 </tr>
@@ -207,6 +207,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/lineage/class-use/LineageDedupUtils.html b/docs/api/java/org/apache/sysds/runtime/lineage/class-use/LineageDedupUtils.html
index bcef016..63bea96 100644
--- a/docs/api/java/org/apache/sysds/runtime/lineage/class-use/LineageDedupUtils.html
+++ b/docs/api/java/org/apache/sysds/runtime/lineage/class-use/LineageDedupUtils.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/class-use/BitmapEncoder.html b/docs/api/java/org/apache/sysds/runtime/lineage/class-use/LineageEstimator.html
similarity index 77%
copy from docs/api/java/org/apache/sysds/runtime/compress/class-use/BitmapEncoder.html
copy to docs/api/java/org/apache/sysds/runtime/lineage/class-use/LineageEstimator.html
index f4f340f..8cac78d 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/class-use/BitmapEncoder.html
+++ b/docs/api/java/org/apache/sysds/runtime/lineage/class-use/LineageEstimator.html
@@ -4,7 +4,7 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.sysds.runtime.compress.BitmapEncoder (SystemDS 2.1.0-SNAPSHOT API)</title>
+<title>Uses of Class org.apache.sysds.runtime.lineage.LineageEstimator (SystemDS 2.1.0-SNAPSHOT API)</title>
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.sysds.runtime.compress.BitmapEncoder (SystemDS 2.1.0-SNAPSHOT API)";
+            parent.document.title="Uses of Class org.apache.sysds.runtime.lineage.LineageEstimator (SystemDS 2.1.0-SNAPSHOT API)";
         }
     }
     catch(err) {
@@ -33,7 +33,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/BitmapEncoder.html" title="class in org.apache.sysds.runtime.compress">Class</a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageEstimator.html" title="class in org.apache.sysds.runtime.lineage">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -47,8 +47,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/class-use/BitmapEncoder.html" target="_top">Frames</a></li>
-<li><a href="BitmapEncoder.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/lineage/class-use/LineageEstimator.html" target="_top">Frames</a></li>
+<li><a href="LineageEstimator.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
 <li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -70,9 +70,9 @@
 </a></div>
 <!-- ========= END OF TOP NAVBAR ========= -->
 <div class="header">
-<h2 title="Uses of Class org.apache.sysds.runtime.compress.BitmapEncoder" class="title">Uses of Class<br>org.apache.sysds.runtime.compress.BitmapEncoder</h2>
+<h2 title="Uses of Class org.apache.sysds.runtime.lineage.LineageEstimator" class="title">Uses of Class<br>org.apache.sysds.runtime.lineage.LineageEstimator</h2>
 </div>
-<div class="classUseContainer">No usage of org.apache.sysds.runtime.compress.BitmapEncoder</div>
+<div class="classUseContainer">No usage of org.apache.sysds.runtime.lineage.LineageEstimator</div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
 <!--   -->
@@ -84,7 +84,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/BitmapEncoder.html" title="class in org.apache.sysds.runtime.compress">Class</a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageEstimator.html" title="class in org.apache.sysds.runtime.lineage">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -98,8 +98,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/class-use/BitmapEncoder.html" target="_top">Frames</a></li>
-<li><a href="BitmapEncoder.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/lineage/class-use/LineageEstimator.html" target="_top">Frames</a></li>
+<li><a href="LineageEstimator.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
 <li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/class-use/ReaderColumnSelectionDense.html b/docs/api/java/org/apache/sysds/runtime/lineage/class-use/LineageEstimatorStatistics.html
similarity index 76%
rename from docs/api/java/org/apache/sysds/runtime/compress/class-use/ReaderColumnSelectionDense.html
rename to docs/api/java/org/apache/sysds/runtime/lineage/class-use/LineageEstimatorStatistics.html
index a0e620f..ed7fb93 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/class-use/ReaderColumnSelectionDense.html
+++ b/docs/api/java/org/apache/sysds/runtime/lineage/class-use/LineageEstimatorStatistics.html
@@ -4,7 +4,7 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.sysds.runtime.compress.ReaderColumnSelectionDense (SystemDS 2.1.0-SNAPSHOT API)</title>
+<title>Uses of Class org.apache.sysds.runtime.lineage.LineageEstimatorStatistics (SystemDS 2.1.0-SNAPSHOT API)</title>
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.sysds.runtime.compress.ReaderColumnSelectionDense (SystemDS 2.1.0-SNAPSHOT API)";
+            parent.document.title="Uses of Class org.apache.sysds.runtime.lineage.LineageEstimatorStatistics (SystemDS 2.1.0-SNAPSHOT API)";
         }
     }
     catch(err) {
@@ -33,7 +33,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelectionDense.html" title="class in org.apache.sysds.runtime.compress">Class</a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageEstimatorStatistics.html" title="class in org.apache.sysds.runtime.lineage">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -47,8 +47,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/class-use/ReaderColumnSelectionDense.html" target="_top">Frames</a></li>
-<li><a href="ReaderColumnSelectionDense.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/lineage/class-use/LineageEstimatorStatistics.html" target="_top">Frames</a></li>
+<li><a href="LineageEstimatorStatistics.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
 <li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -70,9 +70,9 @@
 </a></div>
 <!-- ========= END OF TOP NAVBAR ========= -->
 <div class="header">
-<h2 title="Uses of Class org.apache.sysds.runtime.compress.ReaderColumnSelectionDense" class="title">Uses of Class<br>org.apache.sysds.runtime.compress.ReaderColumnSelectionDense</h2>
+<h2 title="Uses of Class org.apache.sysds.runtime.lineage.LineageEstimatorStatistics" class="title">Uses of Class<br>org.apache.sysds.runtime.lineage.LineageEstimatorStatistics</h2>
 </div>
-<div class="classUseContainer">No usage of org.apache.sysds.runtime.compress.ReaderColumnSelectionDense</div>
+<div class="classUseContainer">No usage of org.apache.sysds.runtime.lineage.LineageEstimatorStatistics</div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
 <!--   -->
@@ -84,7 +84,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelectionDense.html" title="class in org.apache.sysds.runtime.compress">Class</a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageEstimatorStatistics.html" title="class in org.apache.sysds.runtime.lineage">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -98,8 +98,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/class-use/ReaderColumnSelectionDense.html" target="_top">Frames</a></li>
-<li><a href="ReaderColumnSelectionDense.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/lineage/class-use/LineageEstimatorStatistics.html" target="_top">Frames</a></li>
+<li><a href="LineageEstimatorStatistics.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
 <li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/lineage/class-use/LineageItem.LineageItemType.html b/docs/api/java/org/apache/sysds/runtime/lineage/class-use/LineageItem.LineageItemType.html
index b03f505..1ff8558 100644
--- a/docs/api/java/org/apache/sysds/runtime/lineage/class-use/LineageItem.LineageItemType.html
+++ b/docs/api/java/org/apache/sysds/runtime/lineage/class-use/LineageItem.LineageItemType.html
@@ -177,6 +177,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/lineage/class-use/LineageItem.html b/docs/api/java/org/apache/sysds/runtime/lineage/class-use/LineageItem.html
index 4812e96..ede43b6 100644
--- a/docs/api/java/org/apache/sysds/runtime/lineage/class-use/LineageItem.html
+++ b/docs/api/java/org/apache/sysds/runtime/lineage/class-use/LineageItem.html
@@ -83,17 +83,25 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><a href="#org.apache.sysds.runtime.controlprogram.context">org.apache.sysds.runtime.controlprogram.context</a></td>
+<td class="colFirst"><a href="#org.apache.sysds.runtime.controlprogram.caching">org.apache.sysds.runtime.controlprogram.caching</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.cp">org.apache.sysds.runtime.instructions.cp</a></td>
+<td class="colFirst"><a href="#org.apache.sysds.runtime.controlprogram.context">org.apache.sysds.runtime.controlprogram.context</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.cp">org.apache.sysds.runtime.instructions.cp</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.fed">org.apache.sysds.runtime.instructions.fed</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.gpu">org.apache.sysds.runtime.instructions.gpu</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
 <tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.spark">org.apache.sysds.runtime.instructions.spark</a></td>
 <td class="colLast">&nbsp;</td>
@@ -111,6 +119,37 @@
 </li>
 <li class="blockList">
 <ul class="blockList">
+<li class="blockList"><a name="org.apache.sysds.runtime.controlprogram.caching">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a> in <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/package-summary.html">org.apache.sysds.runtime.controlprogram.caching</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/package-summary.html">org.apache.sysds.runtime.controlprogram.caching</a> that return <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a></code></td>
+<td class="colLast"><span class="typeNameLabel">CacheableData.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#getCacheLineage--">getCacheLineage</a></span>()</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/package-summary.html">org.apache.sysds.runtime.controlprogram.caching</a> with parameters of type <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">CacheableData.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#setCacheLineage-org.apache.sysds.runtime.lineage.LineageItem-">setCacheLineage</a></span>(<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;li)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
 <li class="blockList"><a name="org.apache.sysds.runtime.controlprogram.context">
 <!--   -->
 </a>
@@ -132,6 +171,21 @@
 </tr>
 </tbody>
 </table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/package-summary.html">org.apache.sysds.runtime.controlprogram.context</a> with parameters of type <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">ExecutionContext.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#setMatrixOutputAndLineage-java.lang.String-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.lineage.LineageItem-">setMatrixOutputAndLineage</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;varName,
+                         <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;outputData,
+                         <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;li)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
 </li>
 <li class="blockList"><a name="org.apache.sysds.runtime.instructions.cp">
 <!--   -->
@@ -179,33 +233,37 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>org.apache.commons.lang3.tuple.Pair&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">ParameterizedBuiltinCPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ParameterizedBuiltinCPInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">FrameIndexingCPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/FrameIndexingCPInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>org.apache.commons.lang3.tuple.Pair&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">ParameterizedBuiltinCPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ParameterizedBuiltinCPInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>org.apache.commons.lang3.tuple.Pair&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">VariableCPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/VariableCPInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>org.apache.commons.lang3.tuple.Pair&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">MatrixBuiltinNaryCPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/MatrixBuiltinNaryCPInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>org.apache.commons.lang3.tuple.Pair&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">DataGenCPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/DataGenCPInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>org.apache.commons.lang3.tuple.Pair&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">CtableCPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CtableCPInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>org.apache.commons.lang3.tuple.Pair&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">ComputationCPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>org.apache.commons.lang3.tuple.Pair&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">ListIndexingCPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ListIndexingCPInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">ListObject.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ListObject.html#getLineageItems--">getLineageItems</a></span>()</code>&nbsp;</td>
 </tr>
@@ -258,8 +316,70 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>org.apache.commons.lang3.tuple.Pair&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">MultiReturnParameterizedBuiltinFEDInstruction.CreateFrameEncoder.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/MultiReturnParameterizedBuiltinFEDInstruction.CreateFrameEncoder.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>org.apache.commons.lang3.tuple.Pair&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">MultiReturnParameterizedBuiltinFEDInstruction.ExecuteFrameEncoder.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/MultiReturnParameterizedBuiltinFEDInstruction.ExecuteFrameEncoder.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>org.apache.commons.lang3.tuple.Pair&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">ParameterizedBuiltinFEDInstruction.DecodeMatrix.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ParameterizedBuiltinFEDInstruction.DecodeMatrix.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>org.apache.commons.lang3.tuple.Pair&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">ReshapeFEDInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ReshapeFEDInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>org.apache.commons.lang3.tuple.Pair&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">ComputationFEDInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code>org.apache.commons.lang3.tuple.Pair&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">VariableFEDInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/VariableFEDInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>org.apache.commons.lang3.tuple.Pair&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">ReorgFEDInstruction.Rdiag.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.Rdiag.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>org.apache.commons.lang3.tuple.Pair&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">ReorgFEDInstruction.DiagMatrix.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.DiagMatrix.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>org.apache.commons.lang3.tuple.Pair&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">InitFEDInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/InitFEDInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.sysds.runtime.instructions.gpu">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a> in <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/package-summary.html">org.apache.sysds.runtime.instructions.gpu</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/package-summary.html">org.apache.sysds.runtime.instructions.gpu</a> that return types with arguments of type <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>org.apache.commons.lang3.tuple.Pair&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">MatrixReshapeGPUInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/MatrixReshapeGPUInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>org.apache.commons.lang3.tuple.Pair&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">MatrixIndexingGPUInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/MatrixIndexingGPUInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>org.apache.commons.lang3.tuple.Pair&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">GPUInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>org.apache.commons.lang3.tuple.Pair&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">SpoofCUDAInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
+</tr>
 </tbody>
 </table>
 </li>
@@ -333,42 +453,50 @@
 <td class="colLast"><span class="typeNameLabel">LineageCodegenItem.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageCodegenItem.html#getCodegenLTrace-java.lang.String-">getCodegenLTrace</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;classname)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a></code></td>
+<td class="colLast"><span class="typeNameLabel">LineageItem.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html#getDedupPatch--">getDedupPatch</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>[]</code></td>
 <td class="colLast"><span class="typeNameLabel">LineageItem.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html#getInputs--">getInputs</a></span>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>[]</code></td>
 <td class="colLast"><span class="typeNameLabel">LineageItemUtils.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItemUtils.html#getLineage-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.runtime.instructions.cp.CPOperand...-">getLineage</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
           <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>...&nbsp;operands)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>[]</code></td>
 <td class="colLast"><span class="typeNameLabel">LineageItemUtils.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItemUtils.html#getLineageItemInputstoSB-java.util.ArrayList-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItemInputstoSB</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;inputs,
                         <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a></code></td>
 <td class="colLast"><span class="typeNameLabel">Lineage.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/lineage/Lineage.html#getOrCreate-org.apache.sysds.runtime.instructions.cp.CPOperand-">getOrCreate</a></span>(<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;variable)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a></code></td>
 <td class="colLast"><span class="typeNameLabel">LineageMap.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageMap.html#getOrCreate-org.apache.sysds.runtime.instructions.cp.CPOperand-">getOrCreate</a></span>(<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;variable)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a></code></td>
 <td class="colLast"><span class="typeNameLabel">LineageParser.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageParser.html#parseLineageTrace-java.lang.String-">parseLineageTrace</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a></code></td>
 <td class="colLast"><span class="typeNameLabel">LineageParser.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageParser.html#parseLineageTrace-java.lang.String-java.lang.String-">parseLineageTrace</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str,
                  <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a></code></td>
 <td class="colLast"><span class="typeNameLabel">LineageItemUtils.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItemUtils.html#rDecompress-org.apache.sysds.runtime.lineage.LineageItem-">rDecompress</a></span>(<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;item)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a></code></td>
+<td class="colLast"><span class="typeNameLabel">LineageMap.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageMap.html#removeLineageItem-java.lang.String-">removeLineageItem</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key)</code>&nbsp;</td>
+</tr>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a></code></td>
 <td class="colLast"><span class="typeNameLabel">LineageItemUtils.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItemUtils.html#replace-org.apache.sysds.runtime.lineage.LineageItem-org.apache.sysds.runtime.lineage.LineageItem-org.apache.sysds.runtime.lineage.LineageItem-">replace</a></span>(<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;root,
@@ -436,19 +564,32 @@
 <td class="colLast"><span class="typeNameLabel">LineageItemUtils.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItemUtils.html#explainSingleLineageItem-org.apache.sysds.runtime.lineage.LineageItem-">explainSingleLineageItem</a></span>(<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;li)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageCacheEntry.html" title="class in org.apache.sysds.runtime.lineage">LineageCacheEntry</a></code></td>
+<td class="colLast"><span class="typeNameLabel">LineageCache.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageCache.html#getEntry-org.apache.sysds.runtime.lineage.LineageItem-">getEntry</a></span>(<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;key)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">LineageCache.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageCache.html#getMatrix-org.apache.sysds.runtime.lineage.LineageItem-">getMatrix</a></span>(<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;key)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">LineageCache.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageCache.html#probe-org.apache.sysds.runtime.lineage.LineageItem-">probe</a></span>(<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;key)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">LineageMap.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageMap.html#processDedupItem-org.apache.sysds.runtime.lineage.LineageMap-java.lang.Long-org.apache.sysds.runtime.lineage.LineageItem:A-java.lang.String-">processDedupItem</a></span>(<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageMap.html" title="class in org.apache.sysds.runtime.lineage">LineageMap</a>&nbsp;lm,
+<td class="colLast"><span class="typeNameLabel">LineageMap.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageMap.html#processDedupItem-org.apache.sysds.runtime.lineage.LineageMap-java.lang.Long-org.apache.sysds.runtime.lineage.LineageItem:A-java.lang.String-java.util.Map-">processDedupItem</a></span>(<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageMap.html" title="class in org.apache.sysds.runtime.lineage">LineageMap</a>&nbsp;lm,
                 <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&nbsp;path,
                 <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>[]&nbsp;liinputs,
-                <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>&nbsp;</td>
+                <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+                <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;dpatchHashList)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><span class="typeNameLabel">LineageEstimator.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageEstimator.html#processFunc-java.util.List-org.apache.sysds.runtime.lineage.LineageItem:A-java.lang.String-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-long-">processFunc</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/parser/DataIdentifier.html" title="class in org.apache.sysds.parser">DataIdentifier</a>&gt;&nbsp;outputs,
+           <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>[]&nbsp;liInputs,
+           <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+           <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
+           long&nbsp;computetime)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static void</code></td>
@@ -471,31 +612,35 @@
 </td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><span class="typeNameLabel">LineageCache.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageCache.html#removeEntry-org.apache.sysds.runtime.lineage.LineageItem-">removeEntry</a></span>(<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;key)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a></code></td>
 <td class="colLast"><span class="typeNameLabel">LineageItemUtils.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItemUtils.html#replace-org.apache.sysds.runtime.lineage.LineageItem-org.apache.sysds.runtime.lineage.LineageItem-org.apache.sysds.runtime.lineage.LineageItem-">replace</a></span>(<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;root,
        <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;liOld,
        <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;liNew)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">LineageItemUtils.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItemUtils.html#replaceDagLeaves-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.runtime.lineage.LineageItem-org.apache.sysds.runtime.instructions.cp.CPOperand:A-">replaceDagLeaves</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
                 <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;root,
                 <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>[]&nbsp;newLeaves)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">LineageItem.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html#resetVisitStatus-org.apache.sysds.runtime.lineage.LineageItem:A-">resetVisitStatus</a></span>(<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>[]&nbsp;lis)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">LineageItem.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html#resetVisitStatusNR-org.apache.sysds.runtime.lineage.LineageItem:A-">resetVisitStatusNR</a></span>(<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>[]&nbsp;lis)</code>
 <div class="block">Non-recursive equivalent of <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html#resetVisitStatus-org.apache.sysds.runtime.lineage.LineageItem:A-"><code>resetVisitStatus(LineageItem[])</code></a> 
  for robustness with regard to stack overflow errors.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">LineageCache.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageCache.html#reuse-java.util.List-java.util.List-int-org.apache.sysds.runtime.lineage.LineageItem:A-java.lang.String-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">reuse</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;outNames,
      <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/parser/DataIdentifier.html" title="class in org.apache.sysds.parser">DataIdentifier</a>&gt;&nbsp;outParams,
@@ -504,16 +649,11 @@
      <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
      <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">LineageItemUtils.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItemUtils.html#rGetDagLeaves-java.util.HashSet-org.apache.sysds.runtime.lineage.LineageItem-">rGetDagLeaves</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashSet.html?is-external=true" title="class or interface in java.util">HashSet</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&gt;&nbsp;leaves,
              <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;root)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><span class="typeNameLabel">LineageItemUtils.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItemUtils.html#rReplaceDagLeaves-org.apache.sysds.runtime.lineage.LineageItem-org.apache.sysds.runtime.lineage.LineageItem:A-">rReplaceDagLeaves</a></span>(<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;root,
-                 <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>[]&nbsp;newleaves)</code>&nbsp;</td>
-</tr>
 <tr class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">LineageItemUtils.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItemUtils.html#rReplaceDagLeaves-org.apache.sysds.runtime.lineage.LineageItem-org.apache.sysds.runtime.lineage.LineageItem:A-">rReplaceDagLeaves</a></span>(<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;root,
@@ -521,6 +661,11 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static void</code></td>
+<td class="colLast"><span class="typeNameLabel">LineageItemUtils.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItemUtils.html#rReplaceDagLeaves-org.apache.sysds.runtime.lineage.LineageItem-org.apache.sysds.runtime.lineage.LineageItem:A-">rReplaceDagLeaves</a></span>(<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;root,
+                 <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>[]&nbsp;newleaves)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">LineageItemUtils.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItemUtils.html#rReplaceNR-org.apache.sysds.runtime.lineage.LineageItem-org.apache.sysds.runtime.lineage.LineageItem-org.apache.sysds.runtime.lineage.LineageItem-">rReplaceNR</a></span>(<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;current,
           <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;liOld,
           <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;liNew)</code>
@@ -528,36 +673,42 @@
  for robustness with regard to stack overflow errors.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">Lineage.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/lineage/Lineage.html#set-java.lang.String-org.apache.sysds.runtime.lineage.LineageItem-">set</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;varName,
    <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;li)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a></code></td>
 <td class="colLast"><span class="typeNameLabel">LineageMap.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageMap.html#set-java.lang.String-org.apache.sysds.runtime.lineage.LineageItem-">set</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;varName,
    <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;li)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a></code></td>
 <td class="colLast"><span class="typeNameLabel">LineageCodegenItem.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageCodegenItem.html#setCodegenLTrace-java.lang.String-org.apache.sysds.runtime.lineage.LineageItem-">setCodegenLTrace</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;classname,
                 <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;li)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">LineageItem.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html#setInput-int-org.apache.sysds.runtime.lineage.LineageItem-">setInput</a></span>(int&nbsp;i,
         <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;item)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">Lineage.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/lineage/Lineage.html#setLiteral-java.lang.String-org.apache.sysds.runtime.lineage.LineageItem-">setLiteral</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;varName,
           <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;li)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a></code></td>
 <td class="colLast"><span class="typeNameLabel">LineageMap.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageMap.html#setLiteral-java.lang.String-org.apache.sysds.runtime.lineage.LineageItem-">setLiteral</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;varName,
           <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;li)</code>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><span class="typeNameLabel">LineageEstimator.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageEstimator.html#stopEstimator-java.util.List-org.apache.sysds.runtime.lineage.LineageItem:A-java.lang.String-">stopEstimator</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/parser/DataIdentifier.html" title="class in org.apache.sysds.parser">DataIdentifier</a>&gt;&nbsp;outputs,
+             <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>[]&nbsp;liInputs,
+             <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>&nbsp;</td>
+</tr>
 </tbody>
 </table>
 <table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
@@ -617,6 +768,28 @@
            <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>[]&nbsp;inputs)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html#LineageItem-java.lang.String-org.apache.sysds.runtime.lineage.LineageItem-int-org.apache.sysds.runtime.lineage.LineageItem:A-">LineageItem</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;opcode,
+           <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;dedupPatch,
+           int&nbsp;dpatchHash,
+           <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>[]&nbsp;inputs)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html#LineageItem-java.lang.String-org.apache.sysds.runtime.lineage.LineageItem-int-org.apache.sysds.runtime.lineage.LineageItem:A-">LineageItem</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;opcode,
+           <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;dedupPatch,
+           int&nbsp;dpatchHash,
+           <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>[]&nbsp;inputs)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html#LineageItem-java.lang.String-org.apache.sysds.runtime.lineage.LineageItem-org.apache.sysds.runtime.lineage.LineageItem:A-">LineageItem</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;opcode,
+           <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;dedupPatch,
+           <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>[]&nbsp;inputs)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html#LineageItem-java.lang.String-org.apache.sysds.runtime.lineage.LineageItem-org.apache.sysds.runtime.lineage.LineageItem:A-">LineageItem</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;opcode,
+           <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;dedupPatch,
+           <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>[]&nbsp;inputs)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html#LineageItem-java.lang.String-java.lang.String-org.apache.sysds.runtime.lineage.LineageItem:A-">LineageItem</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;data,
            <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;opcode,
            <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>[]&nbsp;inputs)</code>&nbsp;</td>
@@ -702,6 +875,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/lineage/class-use/LineageItemUtils.html b/docs/api/java/org/apache/sysds/runtime/lineage/class-use/LineageItemUtils.html
index f8c8996..337f895 100644
--- a/docs/api/java/org/apache/sysds/runtime/lineage/class-use/LineageItemUtils.html
+++ b/docs/api/java/org/apache/sysds/runtime/lineage/class-use/LineageItemUtils.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/lineage/class-use/LineageMap.html b/docs/api/java/org/apache/sysds/runtime/lineage/class-use/LineageMap.html
index 07495e4..e3f31e0 100644
--- a/docs/api/java/org/apache/sysds/runtime/lineage/class-use/LineageMap.html
+++ b/docs/api/java/org/apache/sysds/runtime/lineage/class-use/LineageMap.html
@@ -138,10 +138,11 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">LineageMap.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageMap.html#processDedupItem-org.apache.sysds.runtime.lineage.LineageMap-java.lang.Long-org.apache.sysds.runtime.lineage.LineageItem:A-java.lang.String-">processDedupItem</a></span>(<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageMap.html" title="class in org.apache.sysds.runtime.lineage">LineageMap</a>&nbsp;lm,
+<td class="colLast"><span class="typeNameLabel">LineageMap.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageMap.html#processDedupItem-org.apache.sysds.runtime.lineage.LineageMap-java.lang.Long-org.apache.sysds.runtime.lineage.LineageItem:A-java.lang.String-java.util.Map-">processDedupItem</a></span>(<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageMap.html" title="class in org.apache.sysds.runtime.lineage">LineageMap</a>&nbsp;lm,
                 <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&nbsp;path,
                 <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>[]&nbsp;liinputs,
-                <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>&nbsp;</td>
+                <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+                <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;dpatchHashList)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
@@ -240,6 +241,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/lineage/class-use/LineageParser.html b/docs/api/java/org/apache/sysds/runtime/lineage/class-use/LineageParser.html
index 222553f..24586a3 100644
--- a/docs/api/java/org/apache/sysds/runtime/lineage/class-use/LineageParser.html
+++ b/docs/api/java/org/apache/sysds/runtime/lineage/class-use/LineageParser.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/lineage/class-use/LineageRecomputeUtils.html b/docs/api/java/org/apache/sysds/runtime/lineage/class-use/LineageRecomputeUtils.html
index 40a935b..3c6f9bf 100644
--- a/docs/api/java/org/apache/sysds/runtime/lineage/class-use/LineageRecomputeUtils.html
+++ b/docs/api/java/org/apache/sysds/runtime/lineage/class-use/LineageRecomputeUtils.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/lineage/class-use/LineageRewriteReuse.html b/docs/api/java/org/apache/sysds/runtime/lineage/class-use/LineageRewriteReuse.html
index 59f31c0..87c1625 100644
--- a/docs/api/java/org/apache/sysds/runtime/lineage/class-use/LineageRewriteReuse.html
+++ b/docs/api/java/org/apache/sysds/runtime/lineage/class-use/LineageRewriteReuse.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/lineage/class-use/LineageTokenizer.html b/docs/api/java/org/apache/sysds/runtime/lineage/class-use/LineageTokenizer.html
index dea7b86..256a0f1 100644
--- a/docs/api/java/org/apache/sysds/runtime/lineage/class-use/LineageTokenizer.html
+++ b/docs/api/java/org/apache/sysds/runtime/lineage/class-use/LineageTokenizer.html
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/lineage/class-use/LineageTraceable.html b/docs/api/java/org/apache/sysds/runtime/lineage/class-use/LineageTraceable.html
index 6079117..2756d1b 100644
--- a/docs/api/java/org/apache/sysds/runtime/lineage/class-use/LineageTraceable.html
+++ b/docs/api/java/org/apache/sysds/runtime/lineage/class-use/LineageTraceable.html
@@ -83,17 +83,25 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.cp">org.apache.sysds.runtime.instructions.cp</a></td>
+<td class="colFirst"><a href="#org.apache.sysds.runtime.controlprogram.federated">org.apache.sysds.runtime.controlprogram.federated</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.cpfile">org.apache.sysds.runtime.instructions.cpfile</a></td>
+<td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.cp">org.apache.sysds.runtime.instructions.cp</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.cpfile">org.apache.sysds.runtime.instructions.cpfile</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.fed">org.apache.sysds.runtime.instructions.fed</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.gpu">org.apache.sysds.runtime.instructions.gpu</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
 <tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.spark">org.apache.sysds.runtime.instructions.spark</a></td>
 <td class="colLast">&nbsp;</td>
@@ -103,6 +111,24 @@
 </li>
 <li class="blockList">
 <ul class="blockList">
+<li class="blockList"><a name="org.apache.sysds.runtime.controlprogram.federated">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a> in <a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/package-summary.html">org.apache.sysds.runtime.controlprogram.federated</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/package-summary.html">org.apache.sysds.runtime.controlprogram.federated</a> that implement <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedUDF.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedUDF</a></span></code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
 <li class="blockList"><a name="org.apache.sysds.runtime.instructions.cp">
 <!--   -->
 </a>
@@ -188,134 +214,138 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/DnnCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">DnnCPInstruction</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/DeCompressionCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">DeCompressionCPInstruction</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/DnnCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">DnnCPInstruction</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/FrameAppendCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">FrameAppendCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/FrameIndexingCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">FrameIndexingCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/IndexingCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">IndexingCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ListAppendRemoveCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ListAppendRemoveCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ListIndexingCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ListIndexingCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/MatrixAppendCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">MatrixAppendCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/MatrixBuiltinNaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">MatrixBuiltinNaryCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/MatrixIndexingCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">MatrixIndexingCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/MMChainCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">MMChainCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/MMTSJCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">MMTSJCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/MultiReturnBuiltinCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">MultiReturnBuiltinCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/MultiReturnParameterizedBuiltinCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">MultiReturnParameterizedBuiltinCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ParameterizedBuiltinCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ParameterizedBuiltinCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ParamservBuiltinCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ParamservBuiltinCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/PMMJCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">PMMJCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/QuantilePickCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">QuantilePickCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/QuantileSortCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">QuantileSortCPInstruction</a></span></code>
 <div class="block">This class supports two variants of sort operation on a 1-dimensional input matrix.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/QuaternaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">QuaternaryCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ReorgCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ReorgCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ReshapeCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ReshapeCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarAppendCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarAppendCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarBuiltinNaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarBuiltinNaryCPInstruction</a></span></code>
 <div class="block">The ScalarBuiltinMultipleCPInstruction class is responsible for printf-style
  Java-based string formatting.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/SpoofCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">SpoofCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/StringInitCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">StringInitCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/TernaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">TernaryCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/UaggOuterChainCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">UaggOuterChainCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/UnaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">UnaryCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/UnaryFrameCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">UnaryFrameCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/UnaryMatrixCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">UnaryMatrixCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/UnaryScalarCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">UnaryScalarCPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/VariableCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">VariableCPInstruction</a></span></code>&nbsp;</td>
 </tr>
@@ -379,8 +409,24 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/CentralMomentFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">CentralMomentFEDInstruction</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">ComputationFEDInstruction</a></span></code>&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/CovarianceFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">CovarianceFEDInstruction</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/IndexingFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">IndexingFEDInstruction</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/InitFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">InitFEDInstruction</a></span></code>&nbsp;</td>
+</tr>
 <tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/MMChainFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">MMChainFEDInstruction</a></span></code>&nbsp;</td>
@@ -390,21 +436,195 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/MultiReturnParameterizedBuiltinFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">MultiReturnParameterizedBuiltinFEDInstruction</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><code>static class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/MultiReturnParameterizedBuiltinFEDInstruction.CreateFrameEncoder.html" title="class in org.apache.sysds.runtime.instructions.fed">MultiReturnParameterizedBuiltinFEDInstruction.CreateFrameEncoder</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/MultiReturnParameterizedBuiltinFEDInstruction.ExecuteFrameEncoder.html" title="class in org.apache.sysds.runtime.instructions.fed">MultiReturnParameterizedBuiltinFEDInstruction.ExecuteFrameEncoder</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ParameterizedBuiltinFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">ParameterizedBuiltinFEDInstruction</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">ReorgFEDInstruction</a></span></code>&nbsp;</td>
+<td class="colFirst"><code>static class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ParameterizedBuiltinFEDInstruction.DecodeMatrix.html" title="class in org.apache.sysds.runtime.instructions.fed">ParameterizedBuiltinFEDInstruction.DecodeMatrix</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/TsmmFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">TsmmFEDInstruction</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/QuantilePickFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuantilePickFEDInstruction</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/QuantileSortFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuantileSortFEDInstruction</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuaternaryFEDInstruction</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryWCeMMFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuaternaryWCeMMFEDInstruction</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryWDivMMFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuaternaryWDivMMFEDInstruction</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryWSigmoidFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuaternaryWSigmoidFEDInstruction</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryWSLossFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuaternaryWSLossFEDInstruction</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/QuaternaryWUMMFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuaternaryWUMMFEDInstruction</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">ReorgFEDInstruction</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.DiagMatrix.html" title="class in org.apache.sysds.runtime.instructions.fed">ReorgFEDInstruction.DiagMatrix</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.Rdiag.html" title="class in org.apache.sysds.runtime.instructions.fed">ReorgFEDInstruction.Rdiag</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ReshapeFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">ReshapeFEDInstruction</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/TernaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">TernaryFEDInstruction</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/TsmmFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">TsmmFEDInstruction</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/UnaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">UnaryFEDInstruction</a></span></code>&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/UnaryMatrixFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">UnaryMatrixFEDInstruction</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/VariableFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">VariableFEDInstruction</a></span></code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.sysds.runtime.instructions.gpu">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a> in <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/package-summary.html">org.apache.sysds.runtime.instructions.gpu</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/package-summary.html">org.apache.sysds.runtime.instructions.gpu</a> that implement <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/AggregateBinaryGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">AggregateBinaryGPUInstruction</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/AggregateUnaryGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">AggregateUnaryGPUInstruction</a></span></code>
+<div class="block">Implements aggregate unary instructions for CUDA</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/ArithmeticBinaryGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">ArithmeticBinaryGPUInstruction</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/BuiltinBinaryGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">BuiltinBinaryGPUInstruction</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/BuiltinUnaryGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">BuiltinUnaryGPUInstruction</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/DnnGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">DnnGPUInstruction</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">GPUInstruction</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/MatrixAppendGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">MatrixAppendGPUInstruction</a></span></code>
+<div class="block">Implements the cbind and rbind functions for matrices</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/MatrixBuiltinGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">MatrixBuiltinGPUInstruction</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/MatrixIndexingGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">MatrixIndexingGPUInstruction</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/MatrixMatrixArithmeticGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">MatrixMatrixArithmeticGPUInstruction</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/MatrixMatrixAxpyGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">MatrixMatrixAxpyGPUInstruction</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/MatrixMatrixBuiltinGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">MatrixMatrixBuiltinGPUInstruction</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/MatrixMatrixRelationalBinaryGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">MatrixMatrixRelationalBinaryGPUInstruction</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/MatrixReshapeGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">MatrixReshapeGPUInstruction</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/MMTSJGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">MMTSJGPUInstruction</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/RelationalBinaryGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">RelationalBinaryGPUInstruction</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/ReorgGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">ReorgGPUInstruction</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/ScalarMatrixArithmeticGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">ScalarMatrixArithmeticGPUInstruction</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/ScalarMatrixBuiltinGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">ScalarMatrixBuiltinGPUInstruction</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/ScalarMatrixRelationalBinaryGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">ScalarMatrixRelationalBinaryGPUInstruction</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">SpoofCUDAInstruction</a></span></code>&nbsp;</td>
+</tr>
 </tbody>
 </table>
 </li>
@@ -536,134 +756,138 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/DnnSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">DnnSPInstruction</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/DeCompressionSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">DeCompressionSPInstruction</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/FrameAppendMSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">FrameAppendMSPInstruction</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/DnnSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">DnnSPInstruction</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/FrameAppendRSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">FrameAppendRSPInstruction</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/FrameAppendMSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">FrameAppendMSPInstruction</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/FrameAppendRSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">FrameAppendRSPInstruction</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/FrameIndexingSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">FrameIndexingSPInstruction</a></span></code>
 <div class="block">This class implements the frame indexing functionality inside Spark.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/IndexingSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">IndexingSPInstruction</a></span></code>
 <div class="block">This class implements the matrix indexing functionality inside Spark.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/MapmmSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">MapmmSPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/MatrixAppendMSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">MatrixAppendMSPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/MatrixAppendRSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">MatrixAppendRSPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/MatrixIndexingSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">MatrixIndexingSPInstruction</a></span></code>
 <div class="block">This class implements the matrix indexing functionality inside CP.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/MatrixReshapeSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">MatrixReshapeSPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/MultiReturnParameterizedBuiltinSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">MultiReturnParameterizedBuiltinSPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">ParameterizedBuiltinSPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/PMapmmSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">PMapmmSPInstruction</a></span></code>
 <div class="block">This pmapmm matrix multiplication instruction is still experimental
  not integrated in automatic operator selection yet.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/PmmSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">PmmSPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/QuantilePickSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">QuantilePickSPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/QuantileSortSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">QuantileSortSPInstruction</a></span></code>
 <div class="block">This class supports two variants of sort operation on a 1-dimensional input matrix.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/QuaternarySPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">QuaternarySPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/RandSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">RandSPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/ReblockSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">ReblockSPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/ReorgSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">ReorgSPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/RmmSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">RmmSPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/TernarySPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">TernarySPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/Tsmm2SPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">Tsmm2SPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/TsmmSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">TsmmSPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/UaggOuterChainSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">UaggOuterChainSPInstruction</a></span></code>
 <div class="block">Two types of broadcast variables used -- 1.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/UnaryFrameSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">UnaryFrameSPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/UnaryMatrixSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">UnaryMatrixSPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/UnarySPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">UnarySPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/WriteSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">WriteSPInstruction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/ZipmmSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">ZipmmSPInstruction</a></span></code>&nbsp;</td>
 </tr>
@@ -721,6 +945,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/lineage/package-frame.html b/docs/api/java/org/apache/sysds/runtime/lineage/package-frame.html
index 69cfc77..d559fb91 100644
--- a/docs/api/java/org/apache/sysds/runtime/lineage/package-frame.html
+++ b/docs/api/java/org/apache/sysds/runtime/lineage/package-frame.html
@@ -26,6 +26,8 @@
 <li><a href="LineageCodegenItem.html" title="class in org.apache.sysds.runtime.lineage" target="classFrame">LineageCodegenItem</a></li>
 <li><a href="LineageDedupBlock.html" title="class in org.apache.sysds.runtime.lineage" target="classFrame">LineageDedupBlock</a></li>
 <li><a href="LineageDedupUtils.html" title="class in org.apache.sysds.runtime.lineage" target="classFrame">LineageDedupUtils</a></li>
+<li><a href="LineageEstimator.html" title="class in org.apache.sysds.runtime.lineage" target="classFrame">LineageEstimator</a></li>
+<li><a href="LineageEstimatorStatistics.html" title="class in org.apache.sysds.runtime.lineage" target="classFrame">LineageEstimatorStatistics</a></li>
 <li><a href="LineageItem.html" title="class in org.apache.sysds.runtime.lineage" target="classFrame">LineageItem</a></li>
 <li><a href="LineageItemUtils.html" title="class in org.apache.sysds.runtime.lineage" target="classFrame">LineageItemUtils</a></li>
 <li><a href="LineageMap.html" title="class in org.apache.sysds.runtime.lineage" target="classFrame">LineageMap</a></li>
diff --git a/docs/api/java/org/apache/sysds/runtime/lineage/package-summary.html b/docs/api/java/org/apache/sysds/runtime/lineage/package-summary.html
index 4212b58..d15070f 100644
--- a/docs/api/java/org/apache/sysds/runtime/lineage/package-summary.html
+++ b/docs/api/java/org/apache/sysds/runtime/lineage/package-summary.html
@@ -136,6 +136,14 @@
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageEstimator.html" title="class in org.apache.sysds.runtime.lineage">LineageEstimator</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageEstimatorStatistics.html" title="class in org.apache.sysds.runtime.lineage">LineageEstimatorStatistics</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
@@ -238,6 +246,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/lineage/package-tree.html b/docs/api/java/org/apache/sysds/runtime/lineage/package-tree.html
index 286db76..6408029 100644
--- a/docs/api/java/org/apache/sysds/runtime/lineage/package-tree.html
+++ b/docs/api/java/org/apache/sysds/runtime/lineage/package-tree.html
@@ -90,6 +90,8 @@
 <li type="circle">org.apache.sysds.runtime.lineage.<a href="../../../../../org/apache/sysds/runtime/lineage/LineageCodegenItem.html" title="class in org.apache.sysds.runtime.lineage"><span class="typeNameLink">LineageCodegenItem</span></a></li>
 <li type="circle">org.apache.sysds.runtime.lineage.<a href="../../../../../org/apache/sysds/runtime/lineage/LineageDedupBlock.html" title="class in org.apache.sysds.runtime.lineage"><span class="typeNameLink">LineageDedupBlock</span></a></li>
 <li type="circle">org.apache.sysds.runtime.lineage.<a href="../../../../../org/apache/sysds/runtime/lineage/LineageDedupUtils.html" title="class in org.apache.sysds.runtime.lineage"><span class="typeNameLink">LineageDedupUtils</span></a></li>
+<li type="circle">org.apache.sysds.runtime.lineage.<a href="../../../../../org/apache/sysds/runtime/lineage/LineageEstimator.html" title="class in org.apache.sysds.runtime.lineage"><span class="typeNameLink">LineageEstimator</span></a></li>
+<li type="circle">org.apache.sysds.runtime.lineage.<a href="../../../../../org/apache/sysds/runtime/lineage/LineageEstimatorStatistics.html" title="class in org.apache.sysds.runtime.lineage"><span class="typeNameLink">LineageEstimatorStatistics</span></a></li>
 <li type="circle">org.apache.sysds.runtime.lineage.<a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage"><span class="typeNameLink">LineageItem</span></a></li>
 <li type="circle">org.apache.sysds.runtime.lineage.<a href="../../../../../org/apache/sysds/runtime/lineage/LineageItemUtils.html" title="class in org.apache.sysds.runtime.lineage"><span class="typeNameLink">LineageItemUtils</span></a></li>
 <li type="circle">org.apache.sysds.runtime.lineage.<a href="../../../../../org/apache/sysds/runtime/lineage/LineageMap.html" title="class in org.apache.sysds.runtime.lineage"><span class="typeNameLink">LineageMap</span></a></li>
@@ -166,6 +168,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/lineage/package-use.html b/docs/api/java/org/apache/sysds/runtime/lineage/package-use.html
index 4fa42f1..d69777f 100644
--- a/docs/api/java/org/apache/sysds/runtime/lineage/package-use.html
+++ b/docs/api/java/org/apache/sysds/runtime/lineage/package-use.html
@@ -91,9 +91,17 @@
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.controlprogram.caching">org.apache.sysds.runtime.controlprogram.caching</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.controlprogram.context">org.apache.sysds.runtime.controlprogram.context</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.controlprogram.federated">org.apache.sysds.runtime.controlprogram.federated</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
 <tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.controlprogram.parfor">org.apache.sysds.runtime.controlprogram.parfor</a></td>
 <td class="colLast">&nbsp;</td>
@@ -111,14 +119,18 @@
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.spark">org.apache.sysds.runtime.instructions.spark</a></td>
+<td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.gpu">org.apache.sysds.runtime.instructions.gpu</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><a href="#org.apache.sysds.runtime.lineage">org.apache.sysds.runtime.lineage</a></td>
+<td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.spark">org.apache.sysds.runtime.instructions.spark</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.lineage">org.apache.sysds.runtime.lineage</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.sysds.utils">org.apache.sysds.utils</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
@@ -158,6 +170,21 @@
 </tbody>
 </table>
 </li>
+<li class="blockList"><a name="org.apache.sysds.runtime.controlprogram.caching">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/sysds/runtime/lineage/package-summary.html">org.apache.sysds.runtime.lineage</a> used by <a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/package-summary.html">org.apache.sysds.runtime.controlprogram.caching</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/sysds/runtime/lineage/class-use/LineageItem.html#org.apache.sysds.runtime.controlprogram.caching">LineageItem</a>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
 <li class="blockList"><a name="org.apache.sysds.runtime.controlprogram.context">
 <!--   -->
 </a>
@@ -176,6 +203,21 @@
 </tbody>
 </table>
 </li>
+<li class="blockList"><a name="org.apache.sysds.runtime.controlprogram.federated">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/sysds/runtime/lineage/package-summary.html">org.apache.sysds.runtime.lineage</a> used by <a href="../../../../../org/apache/sysds/runtime/controlprogram/federated/package-summary.html">org.apache.sysds.runtime.controlprogram.federated</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/sysds/runtime/lineage/class-use/LineageTraceable.html#org.apache.sysds.runtime.controlprogram.federated">LineageTraceable</a>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
 <li class="blockList"><a name="org.apache.sysds.runtime.controlprogram.parfor">
 <!--   -->
 </a>
@@ -242,6 +284,24 @@
 </tbody>
 </table>
 </li>
+<li class="blockList"><a name="org.apache.sysds.runtime.instructions.gpu">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/sysds/runtime/lineage/package-summary.html">org.apache.sysds.runtime.lineage</a> used by <a href="../../../../../org/apache/sysds/runtime/instructions/gpu/package-summary.html">org.apache.sysds.runtime.instructions.gpu</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/sysds/runtime/lineage/class-use/LineageItem.html#org.apache.sysds.runtime.instructions.gpu">LineageItem</a>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../org/apache/sysds/runtime/lineage/class-use/LineageTraceable.html#org.apache.sysds.runtime.instructions.gpu">LineageTraceable</a>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
 <li class="blockList"><a name="org.apache.sysds.runtime.instructions.spark">
 <!--   -->
 </a>
@@ -279,18 +339,21 @@
 <td class="colOne"><a href="../../../../../org/apache/sysds/runtime/lineage/class-use/LineageCacheConfig.ReuseCacheType.html#org.apache.sysds.runtime.lineage">LineageCacheConfig.ReuseCacheType</a>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colOne"><a href="../../../../../org/apache/sysds/runtime/lineage/class-use/LineageCacheEntry.html#org.apache.sysds.runtime.lineage">LineageCacheEntry</a>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../org/apache/sysds/runtime/lineage/class-use/LineageDedupBlock.html#org.apache.sysds.runtime.lineage">LineageDedupBlock</a>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../org/apache/sysds/runtime/lineage/class-use/LineageItem.html#org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../org/apache/sysds/runtime/lineage/class-use/LineageItem.LineageItemType.html#org.apache.sysds.runtime.lineage">LineageItem.LineageItemType</a>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../org/apache/sysds/runtime/lineage/class-use/LineageMap.html#org.apache.sysds.runtime.lineage">LineageMap</a>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../org/apache/sysds/runtime/lineage/class-use/LineageTokenizer.html#org.apache.sysds.runtime.lineage">LineageTokenizer</a>&nbsp;</td>
 </tr>
 </tbody>
@@ -360,6 +423,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/BinaryBlockToTextCellConverter.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/BinaryBlockToTextCellConverter.html
index fea8985..8227cd5 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/BinaryBlockToTextCellConverter.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/BinaryBlockToTextCellConverter.html
@@ -334,6 +334,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/CM_N_COVCell.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/CM_N_COVCell.html
index 92c87b3..bd133e7 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/CM_N_COVCell.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/CM_N_COVCell.html
@@ -212,12 +212,16 @@
 </tr>
 <tr id="i6" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/CM_N_COVCell.html#copy-org.apache.sysds.runtime.matrix.data.MatrixValue-">copy</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;that)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/CM_N_COVCell.html#copy-org.apache.sysds.runtime.matrix.data.MatrixValue-">copy</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;that)</code>
+<div class="block">Copy this MatrixValue into that MatrixValue.</div>
+</td>
 </tr>
 <tr id="i7" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/CM_N_COVCell.html#copy-org.apache.sysds.runtime.matrix.data.MatrixValue-boolean-">copy</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;that,
-    boolean&nbsp;sp)</code>&nbsp;</td>
+    boolean&nbsp;sp)</code>
+<div class="block">Copy this MatrixValue into that MatrixValue.</div>
+</td>
 </tr>
 <tr id="i8" class="altColor">
 <td class="colFirst"><code>void</code></td>
@@ -386,7 +390,9 @@
      int&nbsp;colCut,
      int&nbsp;blen,
      int&nbsp;boundaryRlen,
-     int&nbsp;boundaryClen)</code>&nbsp;</td>
+     int&nbsp;boundaryClen)</code>
+<div class="block">Slice out up to 4 matrixBlocks that are separated by the row and col Cuts.</div>
+</td>
 </tr>
 <tr id="i37" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
@@ -512,9 +518,14 @@
 <h4>copy</h4>
 <pre>public&nbsp;void&nbsp;copy(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;that,
                  boolean&nbsp;sp)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html#copy-org.apache.sysds.runtime.matrix.data.MatrixValue-boolean-">MatrixValue</a></code></span></div>
+<div class="block">Copy this MatrixValue into that MatrixValue. But select sparse destination block depending on boolean parameter.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html#copy-org.apache.sysds.runtime.matrix.data.MatrixValue-boolean-">copy</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>that</code> - object to copy the values into.</dd>
+<dd><code>sp</code> - boolean specifying if output should be forced sparse or dense. (only applicable if the 'that' is a MatrixBlock)</dd>
 </dl>
 </li>
 </ul>
@@ -525,9 +536,16 @@
 <li class="blockList">
 <h4>copy</h4>
 <pre>public&nbsp;void&nbsp;copy(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;that)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html#copy-org.apache.sysds.runtime.matrix.data.MatrixValue-">MatrixValue</a></code></span></div>
+<div class="block">Copy this MatrixValue into that MatrixValue.
+ 
+ If the MatrixValue is a MatrixBlock evaluate the sparsity of the original matrix,
+ and copy into either a sparse or a dense matrix.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html#copy-org.apache.sysds.runtime.matrix.data.MatrixValue-">copy</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>that</code> - object to copy the values into.</dd>
 </dl>
 </li>
 </ul>
@@ -989,9 +1007,23 @@
                   int&nbsp;blen,
                   int&nbsp;boundaryRlen,
                   int&nbsp;boundaryClen)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html#slice-java.util.ArrayList-org.apache.sysds.runtime.util.IndexRange-int-int-int-int-int-">MatrixValue</a></code></span></div>
+<div class="block">Slice out up to 4 matrixBlocks that are separated by the row and col Cuts.
+ 
+ This is used in the context of spark execution to distributed sliced out matrix blocks of correct block size.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html#slice-java.util.ArrayList-org.apache.sysds.runtime.util.IndexRange-int-int-int-int-int-">slice</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>outlist</code> - The output matrix blocks that is extracted from the matrix</dd>
+<dd><code>range</code> - An index range containing overlapping information.</dd>
+<dd><code>rowCut</code> - The row to cut and split the matrix.</dd>
+<dd><code>colCut</code> - The column to cut ans split the matrix.</dd>
+<dd><code>blen</code> - The Block size of the output matrices.</dd>
+<dd><code>boundaryRlen</code> - The row length of the edge case matrix block, used for the final blocks
+                     that does not have enough rows to construct a full block.</dd>
+<dd><code>boundaryClen</code> - The col length of the edge case matrix block, used for the final blocks
+                     that does not have enough cols to construct a full block.</dd>
 </dl>
 </li>
 </ul>
@@ -1114,6 +1146,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/CTableMap.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/CTableMap.html
index 2e981fa..ec20e54 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/CTableMap.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/CTableMap.html
@@ -354,6 +354,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/Converter.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/Converter.html
index 4143979..85c8ff7 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/Converter.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/Converter.html
@@ -266,6 +266,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/CudaSupportFunctions.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/CudaSupportFunctions.html
index 8878e58..d338d09 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/CudaSupportFunctions.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/CudaSupportFunctions.html
@@ -941,6 +941,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/DnnParameters.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/DnnParameters.html
index 4daf348..62520e4 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/DnnParameters.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/DnnParameters.html
@@ -760,6 +760,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/DoublePrecisionCudaSupportFunctions.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/DoublePrecisionCudaSupportFunctions.html
index 4e3cd07..a2667e4 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/DoublePrecisionCudaSupportFunctions.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/DoublePrecisionCudaSupportFunctions.html
@@ -1020,6 +1020,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/FrameBlock.ColumnMetadata.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/FrameBlock.ColumnMetadata.html
index ea63616..6c20143 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/FrameBlock.ColumnMetadata.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/FrameBlock.ColumnMetadata.html
@@ -345,6 +345,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/FrameBlock.FrameMapFunction.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/FrameBlock.FrameMapFunction.html
index b264cce..e244924 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/FrameBlock.FrameMapFunction.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/FrameBlock.FrameMapFunction.html
@@ -18,8 +18,8 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":6};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
+var methods = {"i0":10,"i1":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
 var tableTab = "tableTab";
@@ -117,7 +117,7 @@
 </dl>
 <hr>
 <br>
-<pre>public abstract static class <span class="typeNameLabel">FrameBlock.FrameMapFunction</span>
+<pre>public static class <span class="typeNameLabel">FrameBlock.FrameMapFunction</span>
 extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></pre>
 <dl>
@@ -154,15 +154,20 @@
 </a>
 <h3>Method Summary</h3>
 <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
-<td class="colFirst"><code>abstract <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.FrameMapFunction.html#apply-java.lang.String-">apply</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;input)</code>&nbsp;</td>
 </tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.FrameMapFunction.html#apply-java.lang.String-java.lang.String-">apply</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;input1,
+     <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;input2)</code>&nbsp;</td>
+</tr>
 </table>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -205,10 +210,20 @@
 <a name="apply-java.lang.String-">
 <!--   -->
 </a>
+<ul class="blockList">
+<li class="blockList">
+<h4>apply</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;apply(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;input)</pre>
+</li>
+</ul>
+<a name="apply-java.lang.String-java.lang.String-">
+<!--   -->
+</a>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>apply</h4>
-<pre>public abstract&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;apply(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;input)</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;apply(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;input1,
+                    <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;input2)</pre>
 </li>
 </ul>
 </li>
@@ -280,6 +295,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/FrameBlock.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/FrameBlock.html
index 30d51b0..43d6d07 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/FrameBlock.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/FrameBlock.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":9,"i15":9,"i16":9,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":9,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10,"i37":10,"i38":10,"i39":10,"i40":10,"i41":10,"i42":10,"i43":10,"i44":10,"i45":10,"i46":10,"i47":10,"i48":10,"i49":10,"i50":10,"i51":10,"i52":10,"i53":10,"i54":10,"i55":10,"i56":10,"i57":10,"i58":10,"i59":10,"i60":10,"i61":9,"i62":10,"i63":10,"i64":10,"i65":10,"i66":10,"i67":10,"i68":10,"i69":10,"i70":10,"i71":10,"i72":10,"i73":10,"i74":10,"i75":10,"i76":10,"i77":10,"i78":10,"i79":10,"i80":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":9,"i15":9,"i16":9,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":9,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10,"i37":10,"i38":10,"i39":10,"i40":10,"i41":10,"i42":10,"i43":10,"i44":10,"i45":10,"i46":10,"i47":10,"i48":10,"i49":10,"i50":10,"i51":10,"i52":10,"i53":10,"i54":10,"i55":10,"i56":10,"i57":10,"i58":10,"i59":10,"i60":10,"i61":10,"i62":10,"i63":10,"i64":10,"i65":9,"i66":10,"i67":10,"i68":10,"i69":10,"i70":10,"i71":10,"i72":10,"i73":10,"i74":10,"i75":10,"i76":10,"i77":10,"i78":10,"i79":10,"i80":10,"i81":10,"i82":10,"i83":10,"i84":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -185,7 +185,7 @@
 <tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html#FrameBlock-org.apache.sysds.runtime.matrix.data.FrameBlock-">FrameBlock</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;that)</code>
 <div class="block">Copy constructor for frame blocks, which uses a shallow copy for
- the schema (column types and names) but a deep copy for meta data 
+ the schema (column types and names) but a deep copy for meta data
  and actual column data.</div>
 </td>
 </tr>
@@ -229,14 +229,14 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html#append-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.FrameBlock-boolean-">append</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;that,
       <a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;ret,
       boolean&nbsp;cbind)</code>
-<div class="block">Appends the given argument frameblock 'that' to this frameblock by 
+<div class="block">Appends the given argument frameblock 'that' to this frameblock by
  creating a deep copy to prevent side effects.</div>
 </td>
 </tr>
 <tr id="i1" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html#appendColumn-boolean:A-">appendColumn</a></span>(boolean[]&nbsp;col)</code>
-<div class="block">Append a column of value type BOOLEAN as the last column of 
+<div class="block">Append a column of value type BOOLEAN as the last column of
  the data frame.</div>
 </td>
 </tr>
@@ -257,7 +257,7 @@
 <tr id="i4" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html#appendColumn-int:A-">appendColumn</a></span>(int[]&nbsp;col)</code>
-<div class="block">Append a column of value type INT as the last column of 
+<div class="block">Append a column of value type INT as the last column of
  the data frame.</div>
 </td>
 </tr>
@@ -271,7 +271,7 @@
 <tr id="i6" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html#appendColumn-java.lang.String:A-">appendColumn</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;col)</code>
-<div class="block">Append a column of value type STRING as the last column of 
+<div class="block">Append a column of value type STRING as the last column of
  the data frame.</div>
 </td>
 </tr>
@@ -392,7 +392,7 @@
 <tr id="i27" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html#getColumnNameIDMap--">getColumnNameIDMap</a></span>()</code>
-<div class="block">Creates a mapping from column names to column IDs, i.e., 
+<div class="block">Creates a mapping from column names to column IDs, i.e.,
  1-based column indexes</div>
 </td>
 </tr>
@@ -417,45 +417,49 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html#getCompiledFunction-java.lang.String-">getCompiledFunction</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;lambdaExpr)</code>&nbsp;</td>
 </tr>
 <tr id="i32" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html#getDataCharacteristics--">getDataCharacteristics</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i33" class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html#getExactSerializedSize--">getExactSerializedSize</a></span>()</code>
 <div class="block">Get the exact serialized size in bytes of the cache block.</div>
 </td>
 </tr>
-<tr id="i33" class="rowColor">
+<tr id="i34" class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html#getInMemorySize--">getInMemorySize</a></span>()</code>
 <div class="block">Get the in-memory size in bytes of the cache block.</div>
 </td>
 </tr>
-<tr id="i34" class="altColor">
+<tr id="i35" class="rowColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html#getNumColumns--">getNumColumns</a></span>()</code>
 <div class="block">Get the number of columns of the frame block, that is
  the number of columns defined in the schema.</div>
 </td>
 </tr>
-<tr id="i35" class="rowColor">
+<tr id="i36" class="altColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html#getNumRows--">getNumRows</a></span>()</code>
 <div class="block">Get the number of rows of the frame block.</div>
 </td>
 </tr>
-<tr id="i36" class="altColor">
+<tr id="i37" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>[]&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html#getObjectRowIterator--">getObjectRowIterator</a></span>()</code>
 <div class="block">Get a row iterator over the frame where all fields are encoded
  as boxed objects according to their value types.</div>
 </td>
 </tr>
-<tr id="i37" class="rowColor">
+<tr id="i38" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>[]&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html#getObjectRowIterator-int:A-">getObjectRowIterator</a></span>(int[]&nbsp;cols)</code>
-<div class="block">Get a row iterator over the frame where all selected fields are 
+<div class="block">Get a row iterator over the frame where all selected fields are
  encoded as boxed objects according to their value types.</div>
 </td>
 </tr>
-<tr id="i38" class="altColor">
+<tr id="i39" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>[]&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html#getObjectRowIterator-int-int-">getObjectRowIterator</a></span>(int&nbsp;rl,
                     int&nbsp;ru)</code>
@@ -463,16 +467,16 @@
  as boxed objects according to their value types.</div>
 </td>
 </tr>
-<tr id="i39" class="rowColor">
+<tr id="i40" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>[]&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html#getObjectRowIterator-int-int-int:A-">getObjectRowIterator</a></span>(int&nbsp;rl,
                     int&nbsp;ru,
                     int[]&nbsp;cols)</code>
-<div class="block">Get a row iterator over the frame where all selected fields are 
+<div class="block">Get a row iterator over the frame where all selected fields are
  encoded as boxed objects according to their value types.</div>
 </td>
 </tr>
-<tr id="i40" class="altColor">
+<tr id="i41" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>[]&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html#getObjectRowIterator-org.apache.sysds.common.Types.ValueType:A-">getObjectRowIterator</a></span>(<a href="../../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>[]&nbsp;schema)</code>
 <div class="block">Get a row iterator over the frame where all fields are encoded
@@ -480,39 +484,46 @@
  target schema.</div>
 </td>
 </tr>
-<tr id="i41" class="rowColor">
+<tr id="i42" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html#getRecodeMap-int-">getRecodeMap</a></span>(int&nbsp;col)</code>
-<div class="block">This function will split every Recode map in the column using delimiter Lop.DATATYPE_PREFIX, 
- as Recode map generated earlier in the form of Code+Lop.DATATYPE_PREFIX+Token and store it in a map 
+<div class="block">This function will split every Recode map in the column using delimiter Lop.DATATYPE_PREFIX,
+ as Recode map generated earlier in the form of Code+Lop.DATATYPE_PREFIX+Token and store it in a map
  which contains token and code for every unique tokens.</div>
 </td>
 </tr>
-<tr id="i42" class="altColor">
+<tr id="i43" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html#getSchema--">getSchema</a></span>()</code>
 <div class="block">Returns the schema of the frame block.</div>
 </td>
 </tr>
-<tr id="i43" class="rowColor">
+<tr id="i44" class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html#getSchemaTypeOf--">getSchemaTypeOf</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i44" class="altColor">
+<tr id="i45" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html#getStringRowIterator--">getStringRowIterator</a></span>()</code>
 <div class="block">Get a row iterator over the frame where all fields are encoded
  as strings independent of their value types.</div>
 </td>
 </tr>
-<tr id="i45" class="rowColor">
+<tr id="i46" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html#getStringRowIterator-int-">getStringRowIterator</a></span>(int&nbsp;colID)</code>
+<div class="block">Get a row iterator over the frame where all selected fields are encoded as strings independent of their value
+ types.</div>
+</td>
+</tr>
+<tr id="i47" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html#getStringRowIterator-int:A-">getStringRowIterator</a></span>(int[]&nbsp;cols)</code>
-<div class="block">Get a row iterator over the frame where all selected fields are 
+<div class="block">Get a row iterator over the frame where all selected fields are
  encoded as strings independent of their value types.</div>
 </td>
 </tr>
-<tr id="i46" class="altColor">
+<tr id="i48" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html#getStringRowIterator-int-int-">getStringRowIterator</a></span>(int&nbsp;rl,
                     int&nbsp;ru)</code>
@@ -520,16 +531,16 @@
  as strings independent of their value types.</div>
 </td>
 </tr>
-<tr id="i47" class="rowColor">
+<tr id="i49" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html#getStringRowIterator-int-int-int:A-">getStringRowIterator</a></span>(int&nbsp;rl,
                     int&nbsp;ru,
                     int[]&nbsp;cols)</code>
-<div class="block">Get a row iterator over the frame where all selected fields are 
+<div class="block">Get a row iterator over the frame where all selected fields are
  encoded as strings independent of their value types.</div>
 </td>
 </tr>
-<tr id="i48" class="altColor">
+<tr id="i50" class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html#invalidByLength-org.apache.sysds.runtime.matrix.data.MatrixBlock-">invalidByLength</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;feaLen)</code>
 <div class="block">This method validates the frame data against an attribute length constrain
@@ -537,23 +548,23 @@
   the output frame will store a null on that cell position, thus removing the length-violating values.</div>
 </td>
 </tr>
-<tr id="i49" class="rowColor">
+<tr id="i51" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html#isColNameDefault-int-">isColNameDefault</a></span>(int&nbsp;i)</code>&nbsp;</td>
 </tr>
-<tr id="i50" class="altColor">
+<tr id="i52" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html#isColNamesDefault--">isColNamesDefault</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i51" class="rowColor">
+<tr id="i53" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html#isColumnMetadataDefault--">isColumnMetadataDefault</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i52" class="altColor">
+<tr id="i54" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html#isColumnMetadataDefault-int-">isColumnMetadataDefault</a></span>(int&nbsp;c)</code>&nbsp;</td>
 </tr>
-<tr id="i53" class="rowColor">
+<tr id="i55" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html#isShallowSerialize--">isShallowSerialize</a></span>()</code>
 <div class="block">Indicates if the cache block is subject to shallow serialized,
@@ -561,7 +572,7 @@
  are almost identical allowing to avoid unnecessary deep serialize.</div>
 </td>
 </tr>
-<tr id="i54" class="altColor">
+<tr id="i56" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html#isShallowSerialize-boolean-">isShallowSerialize</a></span>(boolean&nbsp;inclConvert)</code>
 <div class="block">Indicates if the cache block is subject to shallow serialized,
@@ -569,13 +580,13 @@
  are almost identical allowing to avoid unnecessary deep serialize.</div>
 </td>
 </tr>
-<tr id="i55" class="rowColor">
+<tr id="i57" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html#leftIndexingOperations-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.util.IndexRange-org.apache.sysds.runtime.matrix.data.FrameBlock-">leftIndexingOperations</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;rhsFrame,
                       <a href="../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixrange,
                       <a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;ret)</code>&nbsp;</td>
 </tr>
-<tr id="i56" class="altColor">
+<tr id="i58" class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html#leftIndexingOperations-org.apache.sysds.runtime.matrix.data.FrameBlock-int-int-int-int-org.apache.sysds.runtime.matrix.data.FrameBlock-">leftIndexingOperations</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;rhsFrame,
                       int&nbsp;rl,
@@ -584,52 +595,60 @@
                       int&nbsp;cu,
                       <a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;ret)</code>&nbsp;</td>
 </tr>
-<tr id="i57" class="rowColor">
+<tr id="i59" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html#map-org.apache.sysds.runtime.matrix.data.FrameBlock.FrameMapFunction-">map</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.FrameMapFunction.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock.FrameMapFunction</a>&nbsp;lambdaExpr)</code>&nbsp;</td>
 </tr>
-<tr id="i58" class="altColor">
+<tr id="i60" class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html#map-java.lang.String-">map</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;lambdaExpr)</code>&nbsp;</td>
 </tr>
-<tr id="i59" class="rowColor">
+<tr id="i61" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html#mapDist-org.apache.sysds.runtime.matrix.data.FrameBlock.FrameMapFunction-">mapDist</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.FrameMapFunction.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock.FrameMapFunction</a>&nbsp;lambdaExpr)</code>&nbsp;</td>
+</tr>
+<tr id="i62" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html#mapInplace-java.util.function.Function-">mapInplace</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Function.html?is-external=true" title="class or interface in java.util.function">Function</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;fun)</code>&nbsp;</td>
+</tr>
+<tr id="i63" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html#merge-org.apache.sysds.runtime.controlprogram.caching.CacheBlock-boolean-">merge</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html" title="interface in org.apache.sysds.runtime.controlprogram.caching">CacheBlock</a>&nbsp;that,
      boolean&nbsp;bDummy)</code>
 <div class="block">Merge the given block into the current block.</div>
 </td>
 </tr>
-<tr id="i60" class="altColor">
+<tr id="i64" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html#merge-org.apache.sysds.runtime.matrix.data.FrameBlock-">merge</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;that)</code>&nbsp;</td>
 </tr>
-<tr id="i61" class="rowColor">
+<tr id="i65" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html#mergeSchema-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.FrameBlock-">mergeSchema</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;temp1,
            <a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;temp2)</code>&nbsp;</td>
 </tr>
-<tr id="i62" class="altColor">
+<tr id="i66" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html#readExternal-java.io.ObjectInput-">readExternal</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectInput.html?is-external=true" title="class or interface in java.io">ObjectInput</a>&nbsp;in)</code>&nbsp;</td>
 </tr>
-<tr id="i63" class="rowColor">
+<tr id="i67" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html#readFields-java.io.DataInput-">readFields</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a>&nbsp;in)</code>&nbsp;</td>
 </tr>
-<tr id="i64" class="altColor">
+<tr id="i68" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html#recomputeColumnCardinality--">recomputeColumnCardinality</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i65" class="rowColor">
+<tr id="i69" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html#reset--">reset</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i66" class="altColor">
+<tr id="i70" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html#reset-int-boolean-">reset</a></span>(int&nbsp;nrow,
      boolean&nbsp;clearMeta)</code>&nbsp;</td>
 </tr>
-<tr id="i67" class="rowColor">
+<tr id="i71" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html#set-int-int-java.lang.Object-">set</a></span>(int&nbsp;r,
    int&nbsp;c,
@@ -638,46 +657,46 @@
  to be a boxed object consistent with the schema definition.</div>
 </td>
 </tr>
-<tr id="i68" class="altColor">
+<tr id="i72" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html#setColumn-int-org.apache.sysds.runtime.matrix.data.FrameBlock.Array-">setColumn</a></span>(int&nbsp;c,
          org.apache.sysds.runtime.matrix.data.FrameBlock.Array&nbsp;column)</code>&nbsp;</td>
 </tr>
-<tr id="i69" class="rowColor">
+<tr id="i73" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html#setColumnMetadata-org.apache.sysds.runtime.matrix.data.FrameBlock.ColumnMetadata:A-">setColumnMetadata</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.ColumnMetadata.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock.ColumnMetadata</a>[]&nbsp;colmeta)</code>&nbsp;</td>
 </tr>
-<tr id="i70" class="altColor">
+<tr id="i74" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html#setColumnMetadata-int-org.apache.sysds.runtime.matrix.data.FrameBlock.ColumnMetadata-">setColumnMetadata</a></span>(int&nbsp;c,
                  <a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.ColumnMetadata.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock.ColumnMetadata</a>&nbsp;colmeta)</code>&nbsp;</td>
 </tr>
-<tr id="i71" class="rowColor">
+<tr id="i75" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html#setColumnNames-java.lang.String:A-">setColumnNames</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;colnames)</code>&nbsp;</td>
 </tr>
-<tr id="i72" class="altColor">
+<tr id="i76" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html#setNumRows-int-">setNumRows</a></span>(int&nbsp;numRows)</code>&nbsp;</td>
 </tr>
-<tr id="i73" class="rowColor">
+<tr id="i77" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html#setSchema-org.apache.sysds.common.Types.ValueType:A-">setSchema</a></span>(<a href="../../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>[]&nbsp;schema)</code>
 <div class="block">Sets the schema of the frame block.</div>
 </td>
 </tr>
-<tr id="i74" class="altColor">
+<tr id="i78" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html#slice-java.util.ArrayList-org.apache.sysds.runtime.util.IndexRange-int-">slice</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/Pair.html" title="class in org.apache.sysds.runtime.matrix.data">Pair</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&gt;&gt;&nbsp;outlist,
      <a href="../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;range,
      int&nbsp;rowCut)</code>&nbsp;</td>
 </tr>
-<tr id="i75" class="rowColor">
+<tr id="i79" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html#slice-org.apache.sysds.runtime.util.IndexRange-org.apache.sysds.runtime.matrix.data.FrameBlock-">slice</a></span>(<a href="../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixrange,
      <a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;ret)</code>&nbsp;</td>
 </tr>
-<tr id="i76" class="altColor">
+<tr id="i80" class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html#slice-int-int-int-int-org.apache.sysds.runtime.controlprogram.caching.CacheBlock-">slice</a></span>(int&nbsp;rl,
      int&nbsp;ru,
@@ -687,22 +706,22 @@
 <div class="block">Right indexing operations to slice a subframe out of this frame block.</div>
 </td>
 </tr>
-<tr id="i77" class="rowColor">
+<tr id="i81" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html#toShallowSerializeBlock--">toShallowSerializeBlock</a></span>()</code>
 <div class="block">Converts a cache block that is not shallow serializable into
  a form that is shallow serializable.</div>
 </td>
 </tr>
-<tr id="i78" class="altColor">
+<tr id="i82" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html#write-java.io.DataOutput-">write</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataOutput.html?is-external=true" title="class or interface in java.io">DataOutput</a>&nbsp;out)</code>&nbsp;</td>
 </tr>
-<tr id="i79" class="rowColor">
+<tr id="i83" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html#writeExternal-java.io.ObjectOutput-">writeExternal</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectOutput.html?is-external=true" title="class or interface in java.io">ObjectOutput</a>&nbsp;out)</code>&nbsp;</td>
 </tr>
-<tr id="i80" class="altColor">
+<tr id="i84" class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html#zeroOutOperations-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.util.IndexRange-boolean-int-int-int-int-">zeroOutOperations</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;result,
                  <a href="../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;range,
@@ -774,7 +793,7 @@
 <h4>FrameBlock</h4>
 <pre>public&nbsp;FrameBlock(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;that)</pre>
 <div class="block">Copy constructor for frame blocks, which uses a shallow copy for
- the schema (column types and names) but a deep copy for meta data 
+ the schema (column types and names) but a deep copy for meta data
  and actual column data.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -882,6 +901,19 @@
 </dl>
 </li>
 </ul>
+<a name="getDataCharacteristics--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getDataCharacteristics</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a>&nbsp;getDataCharacteristics()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html#getDataCharacteristics--">getDataCharacteristics</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html" title="interface in org.apache.sysds.runtime.controlprogram.caching">CacheBlock</a></code></dd>
+</dl>
+</li>
+</ul>
 <a name="getSchema--">
 <!--   -->
 </a>
@@ -917,7 +949,7 @@
 <li class="blockList">
 <h4>getColumnNames</h4>
 <pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;getColumnNames()</pre>
-<div class="block">Returns the column names of the frame block. This method 
+<div class="block">Returns the column names of the frame block. This method
  allocates default column names if required.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -941,7 +973,7 @@
 <li class="blockList">
 <h4>getColumnNames</h4>
 <pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;getColumnNames(boolean&nbsp;alloc)</pre>
-<div class="block">Returns the column names of the frame block. This method 
+<div class="block">Returns the column names of the frame block. This method
  allocates default column names if required.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -958,7 +990,7 @@
 <li class="blockList">
 <h4>getColumnName</h4>
 <pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getColumnName(int&nbsp;c)</pre>
-<div class="block">Returns the column name for the requested column. This 
+<div class="block">Returns the column name for the requested column. This
  method allocates default column names if required.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -1039,7 +1071,7 @@
 <li class="blockList">
 <h4>getColumnNameIDMap</h4>
 <pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;getColumnNameIDMap()</pre>
-<div class="block">Creates a mapping from column names to column IDs, i.e., 
+<div class="block">Creates a mapping from column names to column IDs, i.e.,
  1-based column indexes</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -1224,8 +1256,8 @@
 <li class="blockList">
 <h4>appendColumn</h4>
 <pre>public&nbsp;void&nbsp;appendColumn(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;col)</pre>
-<div class="block">Append a column of value type STRING as the last column of 
- the data frame. The given array is wrapped but not copied 
+<div class="block">Append a column of value type STRING as the last column of
+ the data frame. The given array is wrapped but not copied
  and hence might be updated in the future.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -1240,8 +1272,8 @@
 <li class="blockList">
 <h4>appendColumn</h4>
 <pre>public&nbsp;void&nbsp;appendColumn(boolean[]&nbsp;col)</pre>
-<div class="block">Append a column of value type BOOLEAN as the last column of 
- the data frame. The given array is wrapped but not copied 
+<div class="block">Append a column of value type BOOLEAN as the last column of
+ the data frame. The given array is wrapped but not copied
  and hence might be updated in the future.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -1256,8 +1288,8 @@
 <li class="blockList">
 <h4>appendColumn</h4>
 <pre>public&nbsp;void&nbsp;appendColumn(int[]&nbsp;col)</pre>
-<div class="block">Append a column of value type INT as the last column of 
- the data frame. The given array is wrapped but not copied 
+<div class="block">Append a column of value type INT as the last column of
+ the data frame. The given array is wrapped but not copied
  and hence might be updated in the future.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -1321,7 +1353,7 @@
 <h4>appendColumns</h4>
 <pre>public&nbsp;void&nbsp;appendColumns(double[][]&nbsp;cols)</pre>
 <div class="block">Append a set of column of value type DOUBLE at the end of the frame
- in order to avoid repeated allocation with appendColumns. The given 
+ in order to avoid repeated allocation with appendColumns. The given
  array is wrapped but not copied and hence might be updated in the future.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -1379,7 +1411,7 @@
 <li class="blockList">
 <h4>getStringRowIterator</h4>
 <pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&gt;&nbsp;getStringRowIterator(int[]&nbsp;cols)</pre>
-<div class="block">Get a row iterator over the frame where all selected fields are 
+<div class="block">Get a row iterator over the frame where all selected fields are
  encoded as strings independent of their value types.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -1389,6 +1421,23 @@
 </dl>
 </li>
 </ul>
+<a name="getStringRowIterator-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getStringRowIterator</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&gt;&nbsp;getStringRowIterator(int&nbsp;colID)</pre>
+<div class="block">Get a row iterator over the frame where all selected fields are encoded as strings independent of their value
+ types.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>colID</code> - column selection, 1-based</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>string array iterator</dd>
+</dl>
+</li>
+</ul>
 <a name="getStringRowIterator-int-int-">
 <!--   -->
 </a>
@@ -1417,7 +1466,7 @@
 <pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&gt;&nbsp;getStringRowIterator(int&nbsp;rl,
                                                int&nbsp;ru,
                                                int[]&nbsp;cols)</pre>
-<div class="block">Get a row iterator over the frame where all selected fields are 
+<div class="block">Get a row iterator over the frame where all selected fields are
  encoded as strings independent of their value types.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -1469,7 +1518,7 @@
 <li class="blockList">
 <h4>getObjectRowIterator</h4>
 <pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>[]&gt;&nbsp;getObjectRowIterator(int[]&nbsp;cols)</pre>
-<div class="block">Get a row iterator over the frame where all selected fields are 
+<div class="block">Get a row iterator over the frame where all selected fields are
  encoded as boxed objects according to their value types.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -1507,7 +1556,7 @@
 <pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>[]&gt;&nbsp;getObjectRowIterator(int&nbsp;rl,
                                                int&nbsp;ru,
                                                int[]&nbsp;cols)</pre>
-<div class="block">Get a row iterator over the frame where all selected fields are 
+<div class="block">Get a row iterator over the frame where all selected fields are
  encoded as boxed objects according to their value types.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -1761,7 +1810,7 @@
                         int&nbsp;cl,
                         int&nbsp;cu,
                         <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html" title="interface in org.apache.sysds.runtime.controlprogram.caching">CacheBlock</a>&nbsp;retCache)</pre>
-<div class="block">Right indexing operations to slice a subframe out of this frame block. 
+<div class="block">Right indexing operations to slice a subframe out of this frame block.
  Note that the existing column value types are preserved.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -1797,9 +1846,9 @@
 <pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;append(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;that,
                          <a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;ret,
                          boolean&nbsp;cbind)</pre>
-<div class="block">Appends the given argument frameblock 'that' to this frameblock by 
+<div class="block">Appends the given argument frameblock 'that' to this frameblock by
  creating a deep copy to prevent side effects. For cbind, the frames
- are appended column-wise (same number of rows), while for rbind the 
+ are appended column-wise (same number of rows), while for rbind the
  frames are appended row-wise (same number of columns).</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -1840,8 +1889,8 @@
 <li class="blockList">
 <h4>getRecodeMap</h4>
 <pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&nbsp;getRecodeMap(int&nbsp;col)</pre>
-<div class="block">This function will split every Recode map in the column using delimiter Lop.DATATYPE_PREFIX, 
- as Recode map generated earlier in the form of Code+Lop.DATATYPE_PREFIX+Token and store it in a map 
+<div class="block">This function will split every Recode map in the column using delimiter Lop.DATATYPE_PREFIX,
+ as Recode map generated earlier in the form of Code+Lop.DATATYPE_PREFIX+Token and store it in a map
  which contains token and code for every unique tokens.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -1970,6 +2019,15 @@
                                      <a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;temp2)</pre>
 </li>
 </ul>
+<a name="mapInplace-java.util.function.Function-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>mapInplace</h4>
+<pre>public&nbsp;void&nbsp;mapInplace(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Function.html?is-external=true" title="class or interface in java.util.function">Function</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;fun)</pre>
+</li>
+</ul>
 <a name="map-java.lang.String-">
 <!--   -->
 </a>
@@ -1988,6 +2046,15 @@
 <pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;map(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.FrameMapFunction.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock.FrameMapFunction</a>&nbsp;lambdaExpr)</pre>
 </li>
 </ul>
+<a name="mapDist-org.apache.sysds.runtime.matrix.data.FrameBlock.FrameMapFunction-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>mapDist</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;mapDist(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.FrameMapFunction.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock.FrameMapFunction</a>&nbsp;lambdaExpr)</pre>
+</li>
+</ul>
 <a name="getCompiledFunction-java.lang.String-">
 <!--   -->
 </a>
@@ -2066,6 +2133,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/IJV.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/IJV.html
index 15d8323..7bd2d41 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/IJV.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/IJV.html
@@ -341,6 +341,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/LibCommonsMath.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/LibCommonsMath.html
index 84731b2..eab7f1f 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/LibCommonsMath.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/LibCommonsMath.html
@@ -311,6 +311,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/LibMatrixAgg.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/LibMatrixAgg.html
index 8792d8b..f2a889b 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/LibMatrixAgg.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/LibMatrixAgg.html
@@ -326,7 +326,9 @@
                                          <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;aggVal,
                                          <a href="../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateOperator</a>&nbsp;aop)</pre>
 <div class="block">Core incremental matrix aggregate (ak+) as used for uack+ and acrk+.
- Embedded correction values.</div>
+ Embedded correction values.
+ 
+ DOES NOT EVALUATE SPARSITY SINCE IT IS USED IN INCREMENTAL AGGREGATION</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>in</code> - matrix block</dd>
@@ -594,6 +596,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/LibMatrixBincell.BinaryAccessType.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/LibMatrixBincell.BinaryAccessType.html
index eda7db3..4eb84ec 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/LibMatrixBincell.BinaryAccessType.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/LibMatrixBincell.BinaryAccessType.html
@@ -18,8 +18,8 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":9};
-var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
+var methods = {"i0":10,"i1":9,"i2":9};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
 var tableTab = "tableTab";
@@ -166,18 +166,22 @@
 </a>
 <h3>Method Summary</h3>
 <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixBincell.BinaryAccessType.html#isMatrixVector--">isMatrixVector</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixBincell.BinaryAccessType.html" title="enum in org.apache.sysds.runtime.matrix.data">LibMatrixBincell.BinaryAccessType</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixBincell.BinaryAccessType.html#valueOf-java.lang.String-">valueOf</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
 <div class="block">Returns the enum constant of this type with the specified name.</div>
 </td>
 </tr>
-<tr id="i1" class="rowColor">
+<tr id="i2" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixBincell.BinaryAccessType.html" title="enum in org.apache.sysds.runtime.matrix.data">LibMatrixBincell.BinaryAccessType</a>[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixBincell.BinaryAccessType.html#values--">values</a></span>()</code>
 <div class="block">Returns an array containing the constants of this enum type, in
@@ -289,7 +293,7 @@
 <a name="valueOf-java.lang.String-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>valueOf</h4>
 <pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixBincell.BinaryAccessType.html" title="enum in org.apache.sysds.runtime.matrix.data">LibMatrixBincell.BinaryAccessType</a>&nbsp;valueOf(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
@@ -308,6 +312,15 @@
 </dl>
 </li>
 </ul>
+<a name="isMatrixVector--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>isMatrixVector</h4>
+<pre>public&nbsp;boolean&nbsp;isMatrixVector()</pre>
+</li>
+</ul>
 </li>
 </ul>
 </li>
@@ -377,6 +390,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/LibMatrixBincell.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/LibMatrixBincell.html
index 947f86a..6f029ea 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/LibMatrixBincell.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/LibMatrixBincell.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9};
+var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -163,13 +163,28 @@
 </tr>
 <tr id="i1" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixBincell.html#bincellOp-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.BinaryOperator-int-">bincellOp</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m1,
+         <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2,
+         <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
+         <a href="../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
+         int&nbsp;k)</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixBincell.html#bincellOp-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">bincellOp</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m1,
          <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
          <a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op)</code>
 <div class="block">matrix-scalar, scalar-matrix binary operations.</div>
 </td>
 </tr>
-<tr id="i2" class="altColor">
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixBincell.html#bincellOp-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.ScalarOperator-int-">bincellOp</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m1,
+         <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
+         <a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op,
+         int&nbsp;k)</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixBincell.html#bincellOpInPlace-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.BinaryOperator-">bincellOpInPlace</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m1ret,
                 <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2,
@@ -177,18 +192,22 @@
 <div class="block">NOTE: operations in place always require m1 and m2 to be of equal dimensions</div>
 </td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixBincell.BinaryAccessType.html" title="enum in org.apache.sysds.runtime.matrix.data">LibMatrixBincell.BinaryAccessType</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixBincell.html#getBinaryAccessType-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">getBinaryAccessType</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m1,
                    <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2)</code>&nbsp;</td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>static boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixBincell.html#isAllDense-org.apache.sysds.runtime.matrix.data.MatrixBlock...-">isAllDense</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>...&nbsp;mb)</code>&nbsp;</td>
+</tr>
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixBincell.html#isSparseSafeDivide-org.apache.sysds.runtime.matrix.operators.BinaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-">isSparseSafeDivide</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
                   <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;rhs)</code>&nbsp;</td>
 </tr>
-<tr id="i5" class="rowColor">
-<td class="colFirst"><code>static boolean</code></td>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixBincell.html#isValidDimensionsBinary-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">isValidDimensionsBinary</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m1,
                        <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2)</code>&nbsp;</td>
 </tr>
@@ -232,6 +251,18 @@
 </dl>
 </li>
 </ul>
+<a name="bincellOp-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.ScalarOperator-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>bincellOp</h4>
+<pre>public static&nbsp;void&nbsp;bincellOp(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m1,
+                             <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
+                             <a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op,
+                             int&nbsp;k)</pre>
+</li>
+</ul>
 <a name="bincellOp-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.BinaryOperator-">
 <!--   -->
 </a>
@@ -252,6 +283,19 @@
 </dl>
 </li>
 </ul>
+<a name="bincellOp-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.BinaryOperator-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>bincellOp</h4>
+<pre>public static&nbsp;void&nbsp;bincellOp(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m1,
+                             <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2,
+                             <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
+                             <a href="../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
+                             int&nbsp;k)</pre>
+</li>
+</ul>
 <a name="bincellOpInPlace-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.BinaryOperator-">
 <!--   -->
 </a>
@@ -286,20 +330,29 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>isValidDimensionsBinary</h4>
-<pre>public static&nbsp;boolean&nbsp;isValidDimensionsBinary(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m1,
-                                              <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2)</pre>
+<pre>public static&nbsp;void&nbsp;isValidDimensionsBinary(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m1,
+                                           <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2)</pre>
 </li>
 </ul>
 <a name="isSparseSafeDivide-org.apache.sysds.runtime.matrix.operators.BinaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>isSparseSafeDivide</h4>
 <pre>public static&nbsp;boolean&nbsp;isSparseSafeDivide(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
                                          <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;rhs)</pre>
 </li>
 </ul>
+<a name="isAllDense-org.apache.sysds.runtime.matrix.data.MatrixBlock...-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>isAllDense</h4>
+<pre>public static&nbsp;boolean&nbsp;isAllDense(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>...&nbsp;mb)</pre>
+</li>
+</ul>
 </li>
 </ul>
 </li>
@@ -369,6 +422,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/LibMatrixCUDA.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/LibMatrixCUDA.html
index 06776cb..c1baf1b 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/LibMatrixCUDA.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/LibMatrixCUDA.html
@@ -1907,6 +1907,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/LibMatrixCountDistinct.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/LibMatrixCountDistinct.html
index a37d9ad..70112df 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/LibMatrixCountDistinct.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/LibMatrixCountDistinct.html
@@ -294,6 +294,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/LibMatrixCuDNN.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/LibMatrixCuDNN.html
index 1e6ddcf..e3a0101 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/LibMatrixCuDNN.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/LibMatrixCuDNN.html
@@ -1117,6 +1117,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/LibMatrixCuDNNConvolutionAlgorithm.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/LibMatrixCuDNNConvolutionAlgorithm.html
index 4844a93..727e4f7 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/LibMatrixCuDNNConvolutionAlgorithm.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/LibMatrixCuDNNConvolutionAlgorithm.html
@@ -517,6 +517,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/LibMatrixCuDNNInputRowFetcher.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/LibMatrixCuDNNInputRowFetcher.html
index 701b527..d6280d0 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/LibMatrixCuDNNInputRowFetcher.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/LibMatrixCuDNNInputRowFetcher.html
@@ -342,6 +342,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/LibMatrixCuDNNPoolingDescriptors.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/LibMatrixCuDNNPoolingDescriptors.html
index dffe3f5..aa1300e 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/LibMatrixCuDNNPoolingDescriptors.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/LibMatrixCuDNNPoolingDescriptors.html
@@ -502,6 +502,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/LibMatrixCuDNNRnnAlgorithm.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/LibMatrixCuDNNRnnAlgorithm.html
index 9e37b76..cf84291 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/LibMatrixCuDNNRnnAlgorithm.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/LibMatrixCuDNNRnnAlgorithm.html
@@ -299,6 +299,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/LibMatrixCuMatMult.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/LibMatrixCuMatMult.html
index 935fbc1..a4de223 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/LibMatrixCuMatMult.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/LibMatrixCuMatMult.html
@@ -333,6 +333,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/LibMatrixDNN.PoolingType.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/LibMatrixDNN.PoolingType.html
index d7aa9ce..d24f49d 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/LibMatrixDNN.PoolingType.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/LibMatrixDNN.PoolingType.html
@@ -341,6 +341,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/LibMatrixDNN.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/LibMatrixDNN.html
index 0f40836..1a1617f 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/LibMatrixDNN.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/LibMatrixDNN.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":9,"i11":9,"i12":9,"i13":9};
+var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":9,"i11":9,"i12":9};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -297,10 +297,6 @@
 <div class="block">This method computes the backpropagation errors for previous layer of relu operation</div>
 </td>
 </tr>
-<tr id="i13" class="rowColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixDNN.html#resetStatistics--">resetStatistics</a></span>()</code>&nbsp;</td>
-</tr>
 </table>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -340,15 +336,6 @@
 <!--   -->
 </a>
 <h3>Method Detail</h3>
-<a name="resetStatistics--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>resetStatistics</h4>
-<pre>public static&nbsp;void&nbsp;resetStatistics()</pre>
-</li>
-</ul>
 <a name="conv2d-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.DnnParameters-">
 <!--   -->
 </a>
@@ -665,6 +652,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/LibMatrixDNNConv2d.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/LibMatrixDNNConv2d.html
index fd361e4..84f21a5 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/LibMatrixDNNConv2d.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/LibMatrixDNNConv2d.html
@@ -321,6 +321,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/LibMatrixDNNHelper.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/LibMatrixDNNHelper.html
index 240eb24..d9fee61 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/LibMatrixDNNHelper.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/LibMatrixDNNHelper.html
@@ -233,6 +233,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/LibMatrixDNNIm2Col.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/LibMatrixDNNIm2Col.html
index d0ad92b..045b294 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/LibMatrixDNNIm2Col.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/LibMatrixDNNIm2Col.html
@@ -462,6 +462,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/LibMatrixDNNPooling.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/LibMatrixDNNPooling.html
index 60268e7..f1d53a4 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/LibMatrixDNNPooling.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/LibMatrixDNNPooling.html
@@ -351,6 +351,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/LibMatrixDNNRelu.ReluBackward.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/LibMatrixDNNRelu.ReluBackward.html
index f95b3f1..7c21613 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/LibMatrixDNNRelu.ReluBackward.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/LibMatrixDNNRelu.ReluBackward.html
@@ -337,6 +337,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/LibMatrixDNNRelu.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/LibMatrixDNNRelu.html
index d80a2b7..538dbad 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/LibMatrixDNNRelu.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/LibMatrixDNNRelu.html
@@ -298,6 +298,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/LibMatrixDNNRotate180.Rotate180Worker.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/LibMatrixDNNRotate180.Rotate180Worker.html
index 0ed7042..977f8ac 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/LibMatrixDNNRotate180.Rotate180Worker.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/LibMatrixDNNRotate180.Rotate180Worker.html
@@ -244,6 +244,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/LibMatrixDNNRotate180.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/LibMatrixDNNRotate180.html
index 128d79f..a276dae 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/LibMatrixDNNRotate180.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/LibMatrixDNNRotate180.html
@@ -253,6 +253,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/LibMatrixDatagen.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/LibMatrixDatagen.html
index 8a6428a..367eac5 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/LibMatrixDatagen.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/LibMatrixDatagen.html
@@ -501,6 +501,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/LibMatrixMult.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/LibMatrixMult.html
index 04e025e..afe949b 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/LibMatrixMult.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/LibMatrixMult.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":9,"i11":9,"i12":9,"i13":9,"i14":9,"i15":9,"i16":9,"i17":9,"i18":9,"i19":9,"i20":9,"i21":9,"i22":9,"i23":9,"i24":9,"i25":9,"i26":9,"i27":9,"i28":9,"i29":9,"i30":9,"i31":9,"i32":9,"i33":9,"i34":9,"i35":9,"i36":9,"i37":9,"i38":9,"i39":9,"i40":9};
+var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":9,"i11":9,"i12":9,"i13":9,"i14":9,"i15":9,"i16":9,"i17":9,"i18":9,"i19":9,"i20":9,"i21":9,"i22":9,"i23":9,"i24":9,"i25":9,"i26":9,"i27":9,"i28":9,"i29":9,"i30":9,"i31":9,"i32":9,"i33":9,"i34":9,"i35":9,"i36":9,"i37":9,"i38":9,"i39":9,"i40":9,"i41":9,"i42":9};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -184,19 +184,30 @@
 </tr>
 <tr id="i3" class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixMult.html#isOuterProductTSMM-int-int-boolean-">isOuterProductTSMM</a></span>(int&nbsp;rlen,
+                  int&nbsp;clen,
+                  boolean&nbsp;left)</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixMult.html#isSkinnyRightHandSide-long-long-long-long-boolean-">isSkinnyRightHandSide</a></span>(long&nbsp;m1rlen,
                      long&nbsp;m1clen,
                      long&nbsp;m2rlen,
                      long&nbsp;m2clen,
                      boolean&nbsp;inclCacheSize)</code>&nbsp;</td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>static boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixMult.html#isSparseOutputMatrixMult-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">isSparseOutputMatrixMult</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m1,
+                        <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2)</code>&nbsp;</td>
+</tr>
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixMult.html#isUltraSparseMatrixMult-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-">isUltraSparseMatrixMult</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m1,
                        <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2,
                        boolean&nbsp;m1Perm)</code>&nbsp;</td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixMult.html#matrixMult-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">matrixMult</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m1,
           <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2,
@@ -204,7 +215,7 @@
 <div class="block">Performs a matrix multiplication and stores the result in the output matrix.</div>
 </td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixMult.html#matrixMult-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-">matrixMult</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m1,
           <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2,
@@ -213,7 +224,7 @@
 <div class="block">This method allows one to disabling exam sparsity.</div>
 </td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixMult.html#matrixMult-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">matrixMult</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m1,
           <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2,
@@ -222,7 +233,7 @@
 <div class="block">Performs a multi-threaded matrix multiplication and stores the result in the output matrix.</div>
 </td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i10" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixMult.html#matrixMult-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">matrixMult</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m1,
           <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2,
@@ -230,7 +241,7 @@
           int&nbsp;rl,
           int&nbsp;ru)</code>&nbsp;</td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixMult.html#matrixMult-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-boolean-">matrixMult</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m1,
           <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2,
@@ -239,7 +250,7 @@
           int&nbsp;ru,
           boolean&nbsp;fixedRet)</code>&nbsp;</td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i12" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixMult.html#matrixMultChain-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.lops.MapMultChain.ChainType-">matrixMultChain</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mX,
                <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mV,
@@ -249,7 +260,7 @@
 <div class="block">Performs a matrix multiplication chain operation of type t(X)%*%(X%*%v) or t(X)%*%(w*(X%*%v)).</div>
 </td>
 </tr>
-<tr id="i11" class="rowColor">
+<tr id="i13" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixMult.html#matrixMultChain-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.lops.MapMultChain.ChainType-int-">matrixMultChain</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mX,
                <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mV,
@@ -260,7 +271,7 @@
 <div class="block">Performs a parallel matrix multiplication chain operation of type t(X)%*%(X%*%v) or t(X)%*%(w*(X%*%v)).</div>
 </td>
 </tr>
-<tr id="i12" class="altColor">
+<tr id="i14" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixMult.html#matrixMultDenseDenseMM-org.apache.sysds.runtime.data.DenseBlock-org.apache.sysds.runtime.data.DenseBlock-org.apache.sysds.runtime.data.DenseBlock-int-int-int-int-int-int-">matrixMultDenseDenseMM</a></span>(<a href="../../../../../../org/apache/sysds/runtime/data/DenseBlock.html" title="class in org.apache.sysds.runtime.data">DenseBlock</a>&nbsp;a,
                       <a href="../../../../../../org/apache/sysds/runtime/data/DenseBlock.html" title="class in org.apache.sysds.runtime.data">DenseBlock</a>&nbsp;b,
@@ -272,14 +283,14 @@
                       int&nbsp;cl,
                       int&nbsp;cu)</code>&nbsp;</td>
 </tr>
-<tr id="i13" class="rowColor">
+<tr id="i15" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixMult.html#matrixMultPermute-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">matrixMultPermute</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;pm1,
                  <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2,
                  <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret1,
                  <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret2)</code>&nbsp;</td>
 </tr>
-<tr id="i14" class="altColor">
+<tr id="i16" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixMult.html#matrixMultPermute-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">matrixMultPermute</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;pm1,
                  <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2,
@@ -287,20 +298,20 @@
                  <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret2,
                  int&nbsp;k)</code>&nbsp;</td>
 </tr>
-<tr id="i15" class="rowColor">
+<tr id="i17" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixMult.html#matrixMultTransposeSelf-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-">matrixMultTransposeSelf</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m1,
                        <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
                        boolean&nbsp;leftTranspose)</code>&nbsp;</td>
 </tr>
-<tr id="i16" class="altColor">
+<tr id="i18" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixMult.html#matrixMultTransposeSelf-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-int-">matrixMultTransposeSelf</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m1,
                        <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
                        boolean&nbsp;leftTranspose,
                        int&nbsp;k)</code>&nbsp;</td>
 </tr>
-<tr id="i17" class="rowColor">
+<tr id="i19" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixMult.html#matrixMultWCeMM-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-double-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.lops.WeightedCrossEntropy.WCeMMType-">matrixMultWCeMM</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mW,
                <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mU,
@@ -309,7 +320,7 @@
                <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
                <a href="../../../../../../org/apache/sysds/lops/WeightedCrossEntropy.WCeMMType.html" title="enum in org.apache.sysds.lops">WeightedCrossEntropy.WCeMMType</a>&nbsp;wt)</code>&nbsp;</td>
 </tr>
-<tr id="i18" class="altColor">
+<tr id="i20" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixMult.html#matrixMultWCeMM-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-double-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.lops.WeightedCrossEntropy.WCeMMType-int-">matrixMultWCeMM</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mW,
                <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mU,
@@ -319,7 +330,7 @@
                <a href="../../../../../../org/apache/sysds/lops/WeightedCrossEntropy.WCeMMType.html" title="enum in org.apache.sysds.lops">WeightedCrossEntropy.WCeMMType</a>&nbsp;wt,
                int&nbsp;k)</code>&nbsp;</td>
 </tr>
-<tr id="i19" class="rowColor">
+<tr id="i21" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixMult.html#matrixMultWDivMM-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.lops.WeightedDivMM.WDivMMType-">matrixMultWDivMM</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mW,
                 <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mU,
@@ -331,7 +342,7 @@
  have only limited NaN support.</div>
 </td>
 </tr>
-<tr id="i20" class="altColor">
+<tr id="i22" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixMult.html#matrixMultWDivMM-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.lops.WeightedDivMM.WDivMMType-int-">matrixMultWDivMM</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mW,
                 <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mU,
@@ -344,7 +355,7 @@
  have only limited NaN support.</div>
 </td>
 </tr>
-<tr id="i21" class="rowColor">
+<tr id="i23" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixMult.html#matrixMultWSigmoid-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.lops.WeightedSigmoid.WSigmoidType-">matrixMultWSigmoid</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mW,
                   <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mU,
@@ -352,7 +363,7 @@
                   <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
                   <a href="../../../../../../org/apache/sysds/lops/WeightedSigmoid.WSigmoidType.html" title="enum in org.apache.sysds.lops">WeightedSigmoid.WSigmoidType</a>&nbsp;wt)</code>&nbsp;</td>
 </tr>
-<tr id="i22" class="altColor">
+<tr id="i24" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixMult.html#matrixMultWSigmoid-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.lops.WeightedSigmoid.WSigmoidType-int-">matrixMultWSigmoid</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mW,
                   <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mU,
@@ -361,7 +372,7 @@
                   <a href="../../../../../../org/apache/sysds/lops/WeightedSigmoid.WSigmoidType.html" title="enum in org.apache.sysds.lops">WeightedSigmoid.WSigmoidType</a>&nbsp;wt,
                   int&nbsp;k)</code>&nbsp;</td>
 </tr>
-<tr id="i23" class="rowColor">
+<tr id="i25" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixMult.html#matrixMultWSLoss-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.lops.WeightedSquaredLoss.WeightsType-">matrixMultWSLoss</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mX,
                 <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mU,
@@ -370,7 +381,7 @@
                 <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
                 <a href="../../../../../../org/apache/sysds/lops/WeightedSquaredLoss.WeightsType.html" title="enum in org.apache.sysds.lops">WeightedSquaredLoss.WeightsType</a>&nbsp;wt)</code>&nbsp;</td>
 </tr>
-<tr id="i24" class="altColor">
+<tr id="i26" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixMult.html#matrixMultWSLoss-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.lops.WeightedSquaredLoss.WeightsType-int-">matrixMultWSLoss</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mX,
                 <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mU,
@@ -380,7 +391,7 @@
                 <a href="../../../../../../org/apache/sysds/lops/WeightedSquaredLoss.WeightsType.html" title="enum in org.apache.sysds.lops">WeightedSquaredLoss.WeightsType</a>&nbsp;wt,
                 int&nbsp;k)</code>&nbsp;</td>
 </tr>
-<tr id="i25" class="rowColor">
+<tr id="i27" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixMult.html#matrixMultWuMM-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.lops.WeightedUnaryMM.WUMMType-org.apache.sysds.runtime.functionobjects.ValueFunction-">matrixMultWuMM</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mW,
               <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mU,
@@ -389,7 +400,7 @@
               <a href="../../../../../../org/apache/sysds/lops/WeightedUnaryMM.WUMMType.html" title="enum in org.apache.sysds.lops">WeightedUnaryMM.WUMMType</a>&nbsp;wt,
               <a href="../../../../../../org/apache/sysds/runtime/functionobjects/ValueFunction.html" title="class in org.apache.sysds.runtime.functionobjects">ValueFunction</a>&nbsp;fn)</code>&nbsp;</td>
 </tr>
-<tr id="i26" class="altColor">
+<tr id="i28" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixMult.html#matrixMultWuMM-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.lops.WeightedUnaryMM.WUMMType-org.apache.sysds.runtime.functionobjects.ValueFunction-int-">matrixMultWuMM</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mW,
               <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mU,
@@ -399,13 +410,13 @@
               <a href="../../../../../../org/apache/sysds/runtime/functionobjects/ValueFunction.html" title="class in org.apache.sysds.runtime.functionobjects">ValueFunction</a>&nbsp;fn,
               int&nbsp;k)</code>&nbsp;</td>
 </tr>
-<tr id="i27" class="rowColor">
+<tr id="i29" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixMult.html#prepMatrixMultTransposeSelfInput-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-boolean-">prepMatrixMultTransposeSelfInput</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m1,
                                 boolean&nbsp;leftTranspose,
                                 boolean&nbsp;par)</code>&nbsp;</td>
 </tr>
-<tr id="i28" class="altColor">
+<tr id="i30" class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixMult.html#satisfiesMultiThreadingConstraints-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-boolean-long-int-">satisfiesMultiThreadingConstraints</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m1,
                                   boolean&nbsp;checkMem,
@@ -413,12 +424,12 @@
                                   long&nbsp;FPfactor,
                                   int&nbsp;k)</code>&nbsp;</td>
 </tr>
-<tr id="i29" class="rowColor">
+<tr id="i31" class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixMult.html#satisfiesMultiThreadingConstraints-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">satisfiesMultiThreadingConstraints</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m1,
                                   int&nbsp;k)</code>&nbsp;</td>
 </tr>
-<tr id="i30" class="altColor">
+<tr id="i32" class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixMult.html#satisfiesMultiThreadingConstraints-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-boolean-long-int-">satisfiesMultiThreadingConstraints</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m1,
                                   <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2,
@@ -427,7 +438,7 @@
                                   long&nbsp;FPfactor,
                                   int&nbsp;k)</code>&nbsp;</td>
 </tr>
-<tr id="i31" class="rowColor">
+<tr id="i33" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixMult.html#vectAdd-double:A-double:A-int:A-int-int-int-">vectAdd</a></span>(double[]&nbsp;a,
        double[]&nbsp;c,
@@ -436,7 +447,7 @@
        int&nbsp;ci,
        int&nbsp;alen)</code>&nbsp;</td>
 </tr>
-<tr id="i32" class="altColor">
+<tr id="i34" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixMult.html#vectAdd-double:A-double:A-int-int-int-">vectAdd</a></span>(double[]&nbsp;a,
        double[]&nbsp;c,
@@ -444,7 +455,7 @@
        int&nbsp;ci,
        int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i33" class="rowColor">
+<tr id="i35" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixMult.html#vectAdd-double:A-double-double:A-int-int-int-">vectAdd</a></span>(double[]&nbsp;a,
        double&nbsp;bval,
@@ -453,14 +464,14 @@
        int&nbsp;ci,
        int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i34" class="altColor">
+<tr id="i36" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixMult.html#vectAddInPlace-double-double:A-int-int-">vectAddInPlace</a></span>(double&nbsp;aval,
               double[]&nbsp;c,
               int&nbsp;ci,
               int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i35" class="rowColor">
+<tr id="i37" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixMult.html#vectMultiplyAdd-double-double:A-double:A-int:A-int-int-int-">vectMultiplyAdd</a></span>(double&nbsp;aval,
                double[]&nbsp;b,
@@ -470,7 +481,7 @@
                int&nbsp;ci,
                int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i36" class="altColor">
+<tr id="i38" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixMult.html#vectMultiplyAdd-double-double:A-double:A-int-int-int-">vectMultiplyAdd</a></span>(double&nbsp;aval,
                double[]&nbsp;b,
@@ -479,14 +490,14 @@
                int&nbsp;ci,
                int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i37" class="rowColor">
+<tr id="i39" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixMult.html#vectMultiplyInPlace-double-double:A-int-int-">vectMultiplyInPlace</a></span>(double&nbsp;aval,
                    double[]&nbsp;c,
                    int&nbsp;ci,
                    int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i38" class="altColor">
+<tr id="i40" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixMult.html#vectMultiplyWrite-double:A-double:A-double:A-int:A-int-int-int-int-">vectMultiplyWrite</a></span>(double[]&nbsp;a,
                  double[]&nbsp;b,
@@ -497,7 +508,7 @@
                  int&nbsp;ci,
                  int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i39" class="rowColor">
+<tr id="i41" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixMult.html#vectMultiplyWrite-double:A-double:A-double:A-int-int-int-int-">vectMultiplyWrite</a></span>(double[]&nbsp;a,
                  double[]&nbsp;b,
@@ -507,7 +518,7 @@
                  int&nbsp;ci,
                  int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i40" class="altColor">
+<tr id="i42" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixMult.html#vectMultiplyWrite-double-double:A-double:A-int-int-int-">vectMultiplyWrite</a></span>(double&nbsp;aval,
                  double[]&nbsp;b,
@@ -1203,7 +1214,7 @@
 <a name="isUltraSparseMatrixMult-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>isUltraSparseMatrixMult</h4>
 <pre>public static&nbsp;boolean&nbsp;isUltraSparseMatrixMult(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m1,
@@ -1211,6 +1222,27 @@
                                               boolean&nbsp;m1Perm)</pre>
 </li>
 </ul>
+<a name="isSparseOutputMatrixMult-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isSparseOutputMatrixMult</h4>
+<pre>public static&nbsp;boolean&nbsp;isSparseOutputMatrixMult(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m1,
+                                               <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2)</pre>
+</li>
+</ul>
+<a name="isOuterProductTSMM-int-int-boolean-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>isOuterProductTSMM</h4>
+<pre>public static&nbsp;boolean&nbsp;isOuterProductTSMM(int&nbsp;rlen,
+                                         int&nbsp;clen,
+                                         boolean&nbsp;left)</pre>
+</li>
+</ul>
 </li>
 </ul>
 </li>
@@ -1280,6 +1312,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/LibMatrixNative.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/LibMatrixNative.html
index d3a9603..ff05e60 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/LibMatrixNative.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/LibMatrixNative.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9};
+var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -185,6 +185,10 @@
                     int&nbsp;m2Clen)</code>&nbsp;</td>
 </tr>
 <tr id="i5" class="rowColor">
+<td class="colFirst"><code>static boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixNative.html#isSinglePrecision--">isSinglePrecision</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixNative.html#matrixMult-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">matrixMult</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m1,
           <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2,
@@ -194,7 +198,7 @@
  Java BLAS.</div>
 </td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixNative.html#matrixMult-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-boolean-">matrixMult</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m1,
           <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2,
@@ -202,7 +206,7 @@
           int&nbsp;k,
           boolean&nbsp;examSparsity)</code>&nbsp;</td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixNative.html#tsmm-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-int-">tsmm</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m1,
     <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
@@ -365,6 +369,15 @@
 </dl>
 </li>
 </ul>
+<a name="isSinglePrecision--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isSinglePrecision</h4>
+<pre>public static&nbsp;boolean&nbsp;isSinglePrecision()</pre>
+</li>
+</ul>
 <a name="fromFloatBuffer-java.nio.FloatBuffer-double:A-">
 <!--   -->
 </a>
@@ -444,6 +457,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/LibMatrixOuterAgg.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/LibMatrixOuterAgg.html
index 8c8d170..87718a5 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/LibMatrixOuterAgg.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/LibMatrixOuterAgg.html
@@ -669,6 +669,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/LibMatrixReorg.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/LibMatrixReorg.html
index 29b982c..caf317d 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/LibMatrixReorg.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/LibMatrixReorg.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":9,"i11":9,"i12":9,"i13":9,"i14":9};
+var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":9,"i11":9,"i12":9,"i13":9,"i14":9,"i15":9,"i16":9};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -50,7 +50,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixOuterAgg.html" title="class in org.apache.sysds.runtime.matrix.data"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixTercell.html" title="class in org.apache.sysds.runtime.matrix.data"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/sysds/runtime/matrix/data/LibMatrixReorg.html" target="_top">Frames</a></li>
@@ -187,6 +187,11 @@
      <a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ReorgOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ReorgOperator</a>&nbsp;op)</code>&nbsp;</td>
 </tr>
 <tr id="i3" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixReorg.html#reorgInPlace-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.ReorgOperator-">reorgInPlace</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;in,
+            <a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ReorgOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ReorgOperator</a>&nbsp;op)</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/instructions/spark/data/IndexedMatrixValue.html" title="class in org.apache.sysds.runtime.instructions.spark.data">IndexedMatrixValue</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixReorg.html#reshape-org.apache.sysds.runtime.instructions.spark.data.IndexedMatrixValue-org.apache.sysds.runtime.meta.DataCharacteristics-org.apache.sysds.runtime.meta.DataCharacteristics-boolean-boolean-">reshape</a></span>(<a href="../../../../../../org/apache/sysds/runtime/instructions/spark/data/IndexedMatrixValue.html" title="class in org.apache.sysds.runtime.instructions.spark.data">IndexedMatrixValue</a>&nbsp;in,
        <a href="../../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a>&nbsp;mcIn,
@@ -197,7 +202,7 @@
  there are different CP and MR interfaces.</div>
 </td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixReorg.html#reshape-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-boolean-">reshape</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;in,
        <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
@@ -212,19 +217,19 @@
  order and column-wise being the default.</div>
 </td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixReorg.html#rev-org.apache.sysds.runtime.instructions.spark.data.IndexedMatrixValue-long-int-java.util.ArrayList-">rev</a></span>(<a href="../../../../../../org/apache/sysds/runtime/instructions/spark/data/IndexedMatrixValue.html" title="class in org.apache.sysds.runtime.instructions.spark.data">IndexedMatrixValue</a>&nbsp;in,
    long&nbsp;rlen,
    int&nbsp;blen,
    <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/instructions/spark/data/IndexedMatrixValue.html" title="class in org.apache.sysds.runtime.instructions.spark.data">IndexedMatrixValue</a>&gt;&nbsp;out)</code>&nbsp;</td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixReorg.html#rev-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">rev</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;in,
    <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</code>&nbsp;</td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixReorg.html#rexpand-org.apache.sysds.runtime.instructions.spark.data.IndexedMatrixValue-double-boolean-boolean-boolean-long-java.util.ArrayList-">rexpand</a></span>(<a href="../../../../../../org/apache/sysds/runtime/instructions/spark/data/IndexedMatrixValue.html" title="class in org.apache.sysds.runtime.instructions.spark.data">IndexedMatrixValue</a>&nbsp;data,
        double&nbsp;max,
@@ -236,7 +241,7 @@
 <div class="block">MR/Spark rexpand operation (single input, multiple outputs incl empty blocks)</div>
 </td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixReorg.html#rexpand-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-double-boolean-boolean-boolean-int-">rexpand</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;in,
        <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
@@ -248,7 +253,7 @@
 <div class="block">CP rexpand operation (single input, single output)</div>
 </td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i10" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixReorg.html#rmempty-org.apache.sysds.runtime.instructions.spark.data.IndexedMatrixValue-org.apache.sysds.runtime.instructions.spark.data.IndexedMatrixValue-boolean-long-long-java.util.ArrayList-">rmempty</a></span>(<a href="../../../../../../org/apache/sysds/runtime/instructions/spark/data/IndexedMatrixValue.html" title="class in org.apache.sysds.runtime.instructions.spark.data">IndexedMatrixValue</a>&nbsp;data,
        <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/data/IndexedMatrixValue.html" title="class in org.apache.sysds.runtime.instructions.spark.data">IndexedMatrixValue</a>&nbsp;offset,
@@ -260,7 +265,7 @@
  there are different CP and MR interfaces.</div>
 </td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixReorg.html#rmempty-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-boolean-org.apache.sysds.runtime.matrix.data.MatrixBlock-">rmempty</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;in,
        <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
@@ -270,7 +275,7 @@
 <div class="block">CP rmempty operation (single input, single output matrix)</div>
 </td>
 </tr>
-<tr id="i11" class="rowColor">
+<tr id="i12" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixReorg.html#sort-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-boolean-boolean-">sort</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;in,
     <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
@@ -278,7 +283,7 @@
     boolean&nbsp;desc,
     boolean&nbsp;ixret)</code>&nbsp;</td>
 </tr>
-<tr id="i12" class="altColor">
+<tr id="i13" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixReorg.html#sort-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-boolean-boolean-int-">sort</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;in,
     <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
@@ -287,17 +292,22 @@
     boolean&nbsp;ixret,
     int&nbsp;k)</code>&nbsp;</td>
 </tr>
-<tr id="i13" class="rowColor">
+<tr id="i14" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixReorg.html#transpose-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">transpose</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;in,
          <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</code>&nbsp;</td>
 </tr>
-<tr id="i14" class="altColor">
+<tr id="i15" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixReorg.html#transpose-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">transpose</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;in,
          <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
          int&nbsp;k)</code>&nbsp;</td>
 </tr>
+<tr id="i16" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixReorg.html#transposeInPlace-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">transposeInPlace</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;in,
+                int&nbsp;k)</code>&nbsp;</td>
+</tr>
 </table>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -400,6 +410,16 @@
                                 <a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ReorgOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ReorgOperator</a>&nbsp;op)</pre>
 </li>
 </ul>
+<a name="reorgInPlace-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.ReorgOperator-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>reorgInPlace</h4>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;reorgInPlace(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;in,
+                                       <a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ReorgOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ReorgOperator</a>&nbsp;op)</pre>
+</li>
+</ul>
 <a name="transpose-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">
 <!--   -->
 </a>
@@ -421,6 +441,16 @@
                                     int&nbsp;k)</pre>
 </li>
 </ul>
+<a name="transposeInPlace-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>transposeInPlace</h4>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;transposeInPlace(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;in,
+                                           int&nbsp;k)</pre>
+</li>
+</ul>
 <a name="rev-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">
 <!--   -->
 </a>
@@ -677,7 +707,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixOuterAgg.html" title="class in org.apache.sysds.runtime.matrix.data"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixTercell.html" title="class in org.apache.sysds.runtime.matrix.data"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/sysds/runtime/matrix/data/LibMatrixReorg.html" target="_top">Frames</a></li>
@@ -717,6 +747,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/lib/LibScalar.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/LibMatrixTercell.html
similarity index 62%
copy from docs/api/java/org/apache/sysds/runtime/compress/lib/LibScalar.html
copy to docs/api/java/org/apache/sysds/runtime/matrix/data/LibMatrixTercell.html
index 8f81450..2ba424f 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/lib/LibScalar.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/LibMatrixTercell.html
@@ -4,7 +4,7 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>LibScalar (SystemDS 2.1.0-SNAPSHOT API)</title>
+<title>LibMatrixTercell (SystemDS 2.1.0-SNAPSHOT API)</title>
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="LibScalar (SystemDS 2.1.0-SNAPSHOT API)";
+            parent.document.title="LibMatrixTercell (SystemDS 2.1.0-SNAPSHOT API)";
         }
     }
     catch(err) {
@@ -40,7 +40,7 @@
 <li><a href="../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="package-summary.html">Package</a></li>
 <li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/LibScalar.html">Use</a></li>
+<li><a href="class-use/LibMatrixTercell.html">Use</a></li>
 <li><a href="package-tree.html">Tree</a></li>
 <li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
 <li><a href="../../../../../../index-all.html">Index</a></li>
@@ -49,12 +49,12 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/lib/LibRightMultBy.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li>Next&nbsp;Class</li>
+<li><a href="../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixReorg.html" title="class in org.apache.sysds.runtime.matrix.data"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/lib/LibScalar.html" target="_top">Frames</a></li>
-<li><a href="LibScalar.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/matrix/data/LibMatrixTercell.html" target="_top">Frames</a></li>
+<li><a href="LibMatrixTercell.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
 <li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -76,13 +76,13 @@
 <li>Summary:&nbsp;</li>
 <li>Nested&nbsp;|&nbsp;</li>
 <li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
 <li><a href="#method.summary">Method</a></li>
 </ul>
 <ul class="subNavList">
 <li>Detail:&nbsp;</li>
 <li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
 <li><a href="#method.detail">Method</a></li>
 </ul>
 </div>
@@ -92,15 +92,15 @@
 <!-- ========= END OF TOP NAVBAR ========= -->
 <!-- ======== START OF CLASS DATA ======== -->
 <div class="header">
-<div class="subTitle">org.apache.sysds.runtime.compress.lib</div>
-<h2 title="Class LibScalar" class="title">Class LibScalar</h2>
+<div class="subTitle">org.apache.sysds.runtime.matrix.data</div>
+<h2 title="Class LibMatrixTercell" class="title">Class LibMatrixTercell</h2>
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
 <li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
-<li>org.apache.sysds.runtime.compress.lib.LibScalar</li>
+<li>org.apache.sysds.runtime.matrix.data.LibMatrixTercell</li>
 </ul>
 </li>
 </ul>
@@ -109,31 +109,15 @@
 <li class="blockList">
 <hr>
 <br>
-<pre>public class <span class="typeNameLabel">LibScalar</span>
+<pre>public class <span class="typeNameLabel">LibMatrixTercell</span>
 extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block">Library for ternary cellwise operations.</div>
 </li>
 </ul>
 </div>
 <div class="summary">
 <ul class="blockList">
 <li class="blockList">
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.summary">
-<!--   -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/lib/LibScalar.html#LibScalar--">LibScalar</a></span>()</code>&nbsp;</td>
-</tr>
-</table>
-</li>
-</ul>
 <!-- ========== METHOD SUMMARY =========== -->
 <ul class="blockList">
 <li class="blockList"><a name="method.summary">
@@ -147,11 +131,12 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/lib/LibScalar.html#scalarOperations-org.apache.sysds.runtime.matrix.operators.ScalarOperator-org.apache.sysds.runtime.compress.CompressedMatrixBlock-org.apache.sysds.runtime.compress.CompressedMatrixBlock-boolean-">scalarOperations</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;sop,
-                <a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;m1,
-                <a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;ret,
-                boolean&nbsp;overlapping)</code>&nbsp;</td>
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixTercell.html#tercellOp-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.TernaryOperator-">tercellOp</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m1,
+         <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2,
+         <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m3,
+         <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
+         <a href="../../../../../../org/apache/sysds/runtime/matrix/operators/TernaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">TernaryOperator</a>&nbsp;op)</code>&nbsp;</td>
 </tr>
 </table>
 <ul class="blockList">
@@ -169,39 +154,23 @@
 <div class="details">
 <ul class="blockList">
 <li class="blockList">
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.detail">
-<!--   -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="LibScalar--">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>LibScalar</h4>
-<pre>public&nbsp;LibScalar()</pre>
-</li>
-</ul>
-</li>
-</ul>
 <!-- ============ METHOD DETAIL ========== -->
 <ul class="blockList">
 <li class="blockList"><a name="method.detail">
 <!--   -->
 </a>
 <h3>Method Detail</h3>
-<a name="scalarOperations-org.apache.sysds.runtime.matrix.operators.ScalarOperator-org.apache.sysds.runtime.compress.CompressedMatrixBlock-org.apache.sysds.runtime.compress.CompressedMatrixBlock-boolean-">
+<a name="tercellOp-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.TernaryOperator-">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>scalarOperations</h4>
-<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;scalarOperations(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;sop,
-                                           <a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;m1,
-                                           <a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;ret,
-                                           boolean&nbsp;overlapping)</pre>
+<h4>tercellOp</h4>
+<pre>public static&nbsp;void&nbsp;tercellOp(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m1,
+                             <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2,
+                             <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m3,
+                             <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
+                             <a href="../../../../../../org/apache/sysds/runtime/matrix/operators/TernaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">TernaryOperator</a>&nbsp;op)</pre>
 </li>
 </ul>
 </li>
@@ -223,7 +192,7 @@
 <li><a href="../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="package-summary.html">Package</a></li>
 <li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/LibScalar.html">Use</a></li>
+<li><a href="class-use/LibMatrixTercell.html">Use</a></li>
 <li><a href="package-tree.html">Tree</a></li>
 <li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
 <li><a href="../../../../../../index-all.html">Index</a></li>
@@ -232,12 +201,12 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/lib/LibRightMultBy.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li>Next&nbsp;Class</li>
+<li><a href="../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixReorg.html" title="class in org.apache.sysds.runtime.matrix.data"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/lib/LibScalar.html" target="_top">Frames</a></li>
-<li><a href="LibScalar.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/matrix/data/LibMatrixTercell.html" target="_top">Frames</a></li>
+<li><a href="LibMatrixTercell.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
 <li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -259,13 +228,13 @@
 <li>Summary:&nbsp;</li>
 <li>Nested&nbsp;|&nbsp;</li>
 <li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
 <li><a href="#method.summary">Method</a></li>
 </ul>
 <ul class="subNavList">
 <li>Detail:&nbsp;</li>
 <li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
 <li><a href="#method.detail">Method</a></li>
 </ul>
 </div>
@@ -273,6 +242,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/MatrixBlock.SparsityEstimate.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/MatrixBlock.SparsityEstimate.html
index 3f434fa..fbc89ee 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/MatrixBlock.SparsityEstimate.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/MatrixBlock.SparsityEstimate.html
@@ -300,6 +300,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/MatrixBlock.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/MatrixBlock.html
index b655acf..56bf93d 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/MatrixBlock.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/MatrixBlock.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10,"i36":9,"i37":10,"i38":10,"i39":10,"i40":10,"i41":10,"i42":10,"i43":10,"i44":10,"i45":10,"i46":10,"i47":10,"i48":10,"i49":10,"i50":10,"i51":10,"i52":10,"i53":9,"i54":10,"i55":9,"i56":10,"i57":9,"i58":9,"i59":9,"i60":9,"i61":10,"i62":9,"i63":9,"i64":10,"i65":9,"i66":10,"i67":10,"i68":10,"i69":10,"i70":10,"i71":10,"i72":10,"i73":10,"i74":10,"i75":10,"i76":10,"i77":10,"i78":10,"i79":10,"i80":10,"i81":10,"i82":10,"i83":10,"i84":10,"i85":10,"i86":10,"i87":10,"i88":10,"i89":10,"i90":10,"i91":10,"i92":10,"i93":10,"i94":10,"i95":10,"i96":10,"i97":10,"i98":10,"i99":10,"i100":10,"i101":10,"i102":9,"i103":10,"i104":10,"i105":10,"i106":10,"i107":10,"i108":10,"i109":10,"i110":10,"i111":10,"i112":10,"i113":10,"i114":10,"i115":10,"i116":10,"i117":10,"i118":9,"i119":10,"i120":10,"i121":10,"i122":10,"i123":10,"i124":10,"i125":10,"i126":10,"i127":10,"i128":10,"i129":9,"i130":9,"i131":9,"i132":9,"i133":10,"i134":10,"i135":10,"i136":10,"i137":10,"i138":10,"i139":10,"i140":10,"i141":10,"i142":10,"i143":10,"i144":10,"i145":10,"i146":10,"i147":10,"i148":10,"i149":10,"i150":10,"i151":9,"i152":10,"i153":9,"i154":10,"i155":10,"i156":10,"i157":10,"i158":10,"i159":10,"i160":10,"i161":10,"i162":10,"i163":10,"i164":10,"i165":10,"i166":10,"i167":10,"i168":10,"i169":10,"i170":10,"i171":10,"i172":10,"i173":10,"i174":10,"i175":10,"i176":10,"i177":10,"i178":10,"i179":10,"i180":10,"i181":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10,"i37":9,"i38":10,"i39":10,"i40":10,"i41":10,"i42":10,"i43":10,"i44":10,"i45":10,"i46":10,"i47":10,"i48":10,"i49":10,"i50":10,"i51":10,"i52":10,"i53":10,"i54":10,"i55":9,"i56":10,"i57":9,"i58":10,"i59":9,"i60":9,"i61":9,"i62":9,"i63":10,"i64":9,"i65":9,"i66":10,"i67":9,"i68":10,"i69":10,"i70":10,"i71":10,"i72":10,"i73":10,"i74":10,"i75":10,"i76":9,"i77":10,"i78":10,"i79":10,"i80":10,"i81":10,"i82":10,"i83":10,"i84":10,"i85":10,"i86":10,"i87":10,"i88":10,"i89":10,"i90":10,"i91":10,"i92":10,"i93":10,"i94":10,"i95":10,"i96":10,"i97":10,"i98":10,"i99":10,"i100":10,"i101":10,"i102":10,"i103":10,"i104":10,"i105":9,"i106":10,"i107":10,"i108":10,"i109":10,"i110":10,"i111":10,"i112":10,"i113":10,"i114":10,"i115":10,"i116":10,"i117":10,"i118":10,"i119":10,"i120":10,"i121":9,"i122":10,"i123":10,"i124":10,"i125":10,"i126":10,"i127":10,"i128":10,"i129":10,"i130":10,"i131":10,"i132":9,"i133":9,"i134":9,"i135":9,"i136":10,"i137":10,"i138":10,"i139":10,"i140":10,"i141":10,"i142":10,"i143":10,"i144":10,"i145":10,"i146":10,"i147":10,"i148":10,"i149":10,"i150":10,"i151":10,"i152":10,"i153":10,"i154":9,"i155":10,"i156":9,"i157":10,"i158":10,"i159":10,"i160":10,"i161":10,"i162":10,"i163":10,"i164":10,"i165":10,"i166":10,"i167":10,"i168":10,"i169":10,"i170":10,"i171":10,"i172":10,"i173":10,"i174":10,"i175":10,"i176":10,"i177":10,"i178":10,"i179":10,"i180":10,"i181":10,"i182":10,"i183":10,"i184":10,"i185":10,"i186":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -49,7 +49,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixReorg.html" title="class in org.apache.sysds.runtime.matrix.data"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixTercell.html" title="class in org.apache.sysds.runtime.matrix.data"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.SparsityEstimate.html" title="class in org.apache.sysds.runtime.matrix.data"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -118,7 +118,7 @@
 </dl>
 <dl>
 <dt>Direct Known Subclasses:</dt>
-<dd><a href="../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">AbstractCompressedMatrixBlock</a></dd>
+<dd><a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></dd>
 </dl>
 <hr>
 <br>
@@ -432,24 +432,30 @@
 </td>
 </tr>
 <tr id="i23" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#appendValuePlain-int-int-double-">appendValuePlain</a></span>(int&nbsp;r,
+                int&nbsp;c,
+                double&nbsp;v)</code>&nbsp;</td>
+</tr>
+<tr id="i24" class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#binaryOperations-org.apache.sysds.runtime.matrix.operators.BinaryOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-">binaryOperations</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
                 <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;thatValue,
                 <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result)</code>&nbsp;</td>
 </tr>
-<tr id="i24" class="altColor">
+<tr id="i25" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#binaryOperationsInPlace-org.apache.sysds.runtime.matrix.operators.BinaryOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-">binaryOperationsInPlace</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
                        <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;thatValue)</code>&nbsp;</td>
 </tr>
-<tr id="i25" class="rowColor">
+<tr id="i26" class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#chainMatrixMultOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.lops.MapMultChain.ChainType-">chainMatrixMultOperations</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;v,
                          <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;w,
                          <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
                          <a href="../../../../../../org/apache/sysds/lops/MapMultChain.ChainType.html" title="enum in org.apache.sysds.lops">MapMultChain.ChainType</a>&nbsp;ctype)</code>&nbsp;</td>
 </tr>
-<tr id="i26" class="altColor">
+<tr id="i27" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#chainMatrixMultOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.lops.MapMultChain.ChainType-int-">chainMatrixMultOperations</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;v,
                          <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;w,
@@ -457,56 +463,56 @@
                          <a href="../../../../../../org/apache/sysds/lops/MapMultChain.ChainType.html" title="enum in org.apache.sysds.lops">MapMultChain.ChainType</a>&nbsp;ctype,
                          int&nbsp;k)</code>&nbsp;</td>
 </tr>
-<tr id="i27" class="rowColor">
+<tr id="i28" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#checkNaN--">checkNaN</a></span>()</code>
 <div class="block">Checks for existing NaN values in the matrix block.</div>
 </td>
 </tr>
-<tr id="i28" class="altColor">
+<tr id="i29" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#checkNonZeros--">checkNonZeros</a></span>()</code>
 <div class="block">Basic debugging primitive to check correctness of nnz.</div>
 </td>
 </tr>
-<tr id="i29" class="rowColor">
+<tr id="i30" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#checkSparseRows--">checkSparseRows</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i30" class="altColor">
+<tr id="i31" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#checkSparseRows-int-int-">checkSparseRows</a></span>(int&nbsp;rl,
                int&nbsp;ru)</code>
 <div class="block">Basic debugging primitive to check sparse block column ordering.</div>
 </td>
 </tr>
-<tr id="i31" class="rowColor">
+<tr id="i32" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#cleanupBlock-boolean-boolean-">cleanupBlock</a></span>(boolean&nbsp;dense,
             boolean&nbsp;sparse)</code>
 <div class="block">Allows to cleanup all previously allocated sparserows or denseblocks.</div>
 </td>
 </tr>
-<tr id="i32" class="altColor">
+<tr id="i33" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CM_COV_Object.html" title="class in org.apache.sysds.runtime.instructions.cp">CM_COV_Object</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#cmOperations-org.apache.sysds.runtime.matrix.operators.CMOperator-">cmOperations</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/CMOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">CMOperator</a>&nbsp;op)</code>&nbsp;</td>
 </tr>
-<tr id="i33" class="rowColor">
+<tr id="i34" class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CM_COV_Object.html" title="class in org.apache.sysds.runtime.instructions.cp">CM_COV_Object</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#cmOperations-org.apache.sysds.runtime.matrix.operators.CMOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-">cmOperations</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/CMOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">CMOperator</a>&nbsp;op,
             <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;weights)</code>&nbsp;</td>
 </tr>
-<tr id="i34" class="altColor">
+<tr id="i35" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#compactEmptyBlock--">compactEmptyBlock</a></span>()</code>
 <div class="block">Free unnecessarily allocated empty block.</div>
 </td>
 </tr>
-<tr id="i35" class="rowColor">
+<tr id="i36" class="altColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#compareTo-java.lang.Object-">compareTo</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;arg0)</code>&nbsp;</td>
 </tr>
-<tr id="i36" class="altColor">
+<tr id="i37" class="rowColor">
 <td class="colFirst"><code>static double</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#computeIQMCorrection-double-double-double-double-double-double-">computeIQMCorrection</a></span>(double&nbsp;sum,
                     double&nbsp;sum_wt,
@@ -515,11 +521,11 @@
                     double&nbsp;q75Part,
                     double&nbsp;q75Val)</code>&nbsp;</td>
 </tr>
-<tr id="i37" class="rowColor">
+<tr id="i38" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#containsValue-double-">containsValue</a></span>(double&nbsp;pattern)</code>&nbsp;</td>
 </tr>
-<tr id="i38" class="altColor">
+<tr id="i39" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#copy-int-int-int-int-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-">copy</a></span>(int&nbsp;rl,
     int&nbsp;ru,
@@ -530,31 +536,35 @@
 <div class="block">In-place copy of matrix src into the index range of the existing current matrix.</div>
 </td>
 </tr>
-<tr id="i39" class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#copy-org.apache.sysds.runtime.matrix.data.MatrixValue-">copy</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;thatValue)</code>&nbsp;</td>
-</tr>
 <tr id="i40" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#copy-org.apache.sysds.runtime.matrix.data.MatrixValue-boolean-">copy</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;thatValue,
-    boolean&nbsp;sp)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#copy-org.apache.sysds.runtime.matrix.data.MatrixValue-">copy</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;thatValue)</code>
+<div class="block">Copy this MatrixValue into that MatrixValue.</div>
+</td>
 </tr>
 <tr id="i41" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#copy-org.apache.sysds.runtime.matrix.data.MatrixValue-boolean-">copy</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;thatValue,
+    boolean&nbsp;sp)</code>
+<div class="block">Copy this MatrixValue into that MatrixValue.</div>
+</td>
+</tr>
+<tr id="i42" class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#copyShallow-org.apache.sysds.runtime.matrix.data.MatrixBlock-">copyShallow</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;that)</code>&nbsp;</td>
 </tr>
-<tr id="i42" class="altColor">
+<tr id="i43" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CM_COV_Object.html" title="class in org.apache.sysds.runtime.instructions.cp">CM_COV_Object</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#covOperations-org.apache.sysds.runtime.matrix.operators.COVOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-">covOperations</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/COVOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">COVOperator</a>&nbsp;op,
              <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;that)</code>&nbsp;</td>
 </tr>
-<tr id="i43" class="rowColor">
+<tr id="i44" class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CM_COV_Object.html" title="class in org.apache.sysds.runtime.instructions.cp">CM_COV_Object</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#covOperations-org.apache.sysds.runtime.matrix.operators.COVOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">covOperations</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/COVOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">COVOperator</a>&nbsp;op,
              <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;that,
              <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;weights)</code>&nbsp;</td>
 </tr>
-<tr id="i44" class="altColor">
+<tr id="i45" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-double-double-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ctableOperations</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
                 double&nbsp;scalarThat,
@@ -569,7 +579,7 @@
  (w)  from scalar_input3 (scalarThat2)</div>
 </td>
 </tr>
-<tr id="i45" class="rowColor">
+<tr id="i46" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-double-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ctableOperations</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
                 double&nbsp;scalarThat,
@@ -584,7 +594,7 @@
  (i3,j3,w)  from input3 (that2)</div>
 </td>
 </tr>
-<tr id="i46" class="altColor">
+<tr id="i47" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.runtime.matrix.data.MatrixIndexes-double-boolean-int-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ctableOperations</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
                 <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixIndexes.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixIndexes</a>&nbsp;ix1,
@@ -597,7 +607,7 @@
  matrix input.</div>
 </td>
 </tr>
-<tr id="i47" class="rowColor">
+<tr id="i48" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.runtime.matrix.data.MatrixValue-double-boolean-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ctableOperations</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
                 <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;thatVal,
@@ -615,7 +625,7 @@
  NOTE: This method supports both vectors and matrices.</div>
 </td>
 </tr>
-<tr id="i48" class="altColor">
+<tr id="i49" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.CTableMap-">ctableOperations</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
                 <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;thatVal,
@@ -629,7 +639,7 @@
  (i1,j1,w)  from input3 (that2)</div>
 </td>
 </tr>
-<tr id="i49" class="rowColor">
+<tr id="i50" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ctableOperations</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
                 <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;thatVal,
@@ -637,83 +647,90 @@
                 <a href="../../../../../../org/apache/sysds/runtime/matrix/data/CTableMap.html" title="class in org.apache.sysds.runtime.matrix.data">CTableMap</a>&nbsp;resultMap,
                 <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;resultBlock)</code>&nbsp;</td>
 </tr>
-<tr id="i50" class="altColor">
+<tr id="i51" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#ctableSeqOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-double-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ctableSeqOperations</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;thatMatrix,
                    double&nbsp;thatScalar,
                    <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;resultBlock)</code>
 <div class="block">D = ctable(seq,A,w)
   this &lt;- seq; thatMatrix &lt;- A; thatScalar &lt;- w; result &lt;- D
-  
+
  (i1,j1,v1) from input1 (this)
  (i1,j1,v2) from input2 (that)
  (w)  from scalar_input3 (scalarThat2)</div>
 </td>
 </tr>
-<tr id="i51" class="rowColor">
+<tr id="i52" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#ctableSeqOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-double-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-">ctableSeqOperations</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;thatMatrix,
+                   double&nbsp;thatScalar,
+                   <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;resultBlock,
+                   boolean&nbsp;updateClen)</code>&nbsp;</td>
+</tr>
+<tr id="i53" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#dropLastRowsOrColumns-org.apache.sysds.common.Types.CorrectionLocationType-">dropLastRowsOrColumns</a></span>(<a href="../../../../../../org/apache/sysds/common/Types.CorrectionLocationType.html" title="enum in org.apache.sysds.common">Types.CorrectionLocationType</a>&nbsp;correctionLocation)</code>&nbsp;</td>
 </tr>
-<tr id="i52" class="altColor">
+<tr id="i54" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#equals-java.lang.Object-">equals</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;arg0)</code>&nbsp;</td>
 </tr>
-<tr id="i53" class="rowColor">
+<tr id="i55" class="rowColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#estimateSizeDenseInMemory-long-long-">estimateSizeDenseInMemory</a></span>(long&nbsp;nrows,
                          long&nbsp;ncols)</code>&nbsp;</td>
 </tr>
-<tr id="i54" class="altColor">
+<tr id="i56" class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#estimateSizeInMemory--">estimateSizeInMemory</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i55" class="rowColor">
+<tr id="i57" class="rowColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#estimateSizeInMemory-long-long-double-">estimateSizeInMemory</a></span>(long&nbsp;nrows,
                     long&nbsp;ncols,
                     double&nbsp;sparsity)</code>&nbsp;</td>
 </tr>
-<tr id="i56" class="altColor">
+<tr id="i58" class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#estimateSizeOnDisk--">estimateSizeOnDisk</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i57" class="rowColor">
+<tr id="i59" class="rowColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#estimateSizeOnDisk-long-long-long-">estimateSizeOnDisk</a></span>(long&nbsp;nrows,
                   long&nbsp;ncols,
                   long&nbsp;nnz)</code>&nbsp;</td>
 </tr>
-<tr id="i58" class="altColor">
+<tr id="i60" class="altColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#estimateSizeSparseInMemory-long-long-double-">estimateSizeSparseInMemory</a></span>(long&nbsp;nrows,
                           long&nbsp;ncols,
                           double&nbsp;sparsity)</code>&nbsp;</td>
 </tr>
-<tr id="i59" class="rowColor">
+<tr id="i61" class="rowColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#estimateSizeSparseInMemory-long-long-double-org.apache.sysds.runtime.data.SparseBlock.Type-">estimateSizeSparseInMemory</a></span>(long&nbsp;nrows,
                           long&nbsp;ncols,
                           double&nbsp;sparsity,
                           <a href="../../../../../../org/apache/sysds/runtime/data/SparseBlock.Type.html" title="enum in org.apache.sysds.runtime.data">SparseBlock.Type</a>&nbsp;stype)</code>&nbsp;</td>
 </tr>
-<tr id="i60" class="altColor">
+<tr id="i62" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.SparsityEstimate.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock.SparsityEstimate</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#estimateSparsityOnAggBinary-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.AggregateBinaryOperator-">estimateSparsityOnAggBinary</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m1,
                            <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2,
                            <a href="../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateBinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateBinaryOperator</a>&nbsp;op)</code>&nbsp;</td>
 </tr>
-<tr id="i61" class="rowColor">
+<tr id="i63" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#evalSparseFormatInMemory--">evalSparseFormatInMemory</a></span>()</code>
 <div class="block">Evaluates if this matrix block should be in sparse format in
  memory.</div>
 </td>
 </tr>
-<tr id="i62" class="altColor">
+<tr id="i64" class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#evalSparseFormatInMemory-org.apache.sysds.runtime.meta.DataCharacteristics-">evalSparseFormatInMemory</a></span>(<a href="../../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a>&nbsp;dc)</code>&nbsp;</td>
 </tr>
-<tr id="i63" class="rowColor">
+<tr id="i65" class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#evalSparseFormatInMemory-long-long-long-">evalSparseFormatInMemory</a></span>(long&nbsp;nrows,
                         long&nbsp;ncols,
@@ -722,14 +739,14 @@
  in memory.</div>
 </td>
 </tr>
-<tr id="i64" class="altColor">
+<tr id="i66" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#evalSparseFormatOnDisk--">evalSparseFormatOnDisk</a></span>()</code>
 <div class="block">Evaluates if this matrix block should be in sparse format on
  disk.</div>
 </td>
 </tr>
-<tr id="i65" class="rowColor">
+<tr id="i67" class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#evalSparseFormatOnDisk-long-long-long-">evalSparseFormatOnDisk</a></span>(long&nbsp;nrows,
                       long&nbsp;ncols,
@@ -738,98 +755,102 @@
  on disk (or in any other serialized representation).</div>
 </td>
 </tr>
-<tr id="i66" class="altColor">
+<tr id="i68" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#examSparsity--">examSparsity</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i67" class="rowColor">
+<tr id="i69" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#examSparsity-boolean-">examSparsity</a></span>(boolean&nbsp;allowCSR)</code>
 <div class="block">Evaluates if this matrix block should be in sparse format in
  memory.</div>
 </td>
 </tr>
-<tr id="i68" class="altColor">
+<tr id="i70" class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#extractTriangular-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-boolean-boolean-">extractTriangular</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
                  boolean&nbsp;lower,
                  boolean&nbsp;diag,
                  boolean&nbsp;values)</code>&nbsp;</td>
 </tr>
-<tr id="i69" class="rowColor">
+<tr id="i71" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getDataCharacteristics--">getDataCharacteristics</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i70" class="altColor">
+<tr id="i72" class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/data/DenseBlock.html" title="class in org.apache.sysds.runtime.data">DenseBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getDenseBlock--">getDenseBlock</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i71" class="rowColor">
+<tr id="i73" class="rowColor">
 <td class="colFirst"><code>double[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getDenseBlockValues--">getDenseBlockValues</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i72" class="altColor">
+<tr id="i74" class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getExactSerializedSize--">getExactSerializedSize</a></span>()</code>
 <div class="block">Get the exact serialized size in bytes of the cache block.</div>
 </td>
 </tr>
-<tr id="i73" class="rowColor">
+<tr id="i75" class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getExactSizeOnDisk--">getExactSizeOnDisk</a></span>()</code>
 <div class="block">NOTE: The used estimates must be kept consistent with the respective write functions.</div>
 </td>
 </tr>
-<tr id="i74" class="altColor">
+<tr id="i76" class="altColor">
+<td class="colFirst"><code>static long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getHeaderSize--">getHeaderSize</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i77" class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getInMemorySize--">getInMemorySize</a></span>()</code>
 <div class="block">Get the in-memory size in bytes of the cache block.</div>
 </td>
 </tr>
-<tr id="i75" class="rowColor">
+<tr id="i78" class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getLength--">getLength</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i76" class="altColor">
+<tr id="i79" class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getNonZeros--">getNonZeros</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i77" class="rowColor">
+<tr id="i80" class="altColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getNumColumns--">getNumColumns</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i78" class="altColor">
+<tr id="i81" class="rowColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getNumRows--">getNumRows</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i79" class="rowColor">
+<tr id="i82" class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/data/SparseBlock.html" title="class in org.apache.sysds.runtime.data">SparseBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getSparseBlock--">getSparseBlock</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i80" class="altColor">
+<tr id="i83" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/IJV.html" title="class in org.apache.sysds.runtime.matrix.data">IJV</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getSparseBlockIterator--">getSparseBlockIterator</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i81" class="rowColor">
+<tr id="i84" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/IJV.html" title="class in org.apache.sysds.runtime.matrix.data">IJV</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getSparseBlockIterator-int-int-">getSparseBlockIterator</a></span>(int&nbsp;rl,
                       int&nbsp;ru)</code>&nbsp;</td>
 </tr>
-<tr id="i82" class="altColor">
+<tr id="i85" class="rowColor">
 <td class="colFirst"><code>double</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getSparsity--">getSparsity</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i83" class="rowColor">
+<tr id="i86" class="altColor">
 <td class="colFirst"><code>double</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getValue-int-int-">getValue</a></span>(int&nbsp;r,
         int&nbsp;c)</code>&nbsp;</td>
 </tr>
-<tr id="i84" class="altColor">
+<tr id="i87" class="rowColor">
 <td class="colFirst"><code>double</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getValueDenseUnsafe-int-int-">getValueDenseUnsafe</a></span>(int&nbsp;r,
                    int&nbsp;c)</code>&nbsp;</td>
 </tr>
-<tr id="i85" class="rowColor">
+<tr id="i88" class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#groupedAggOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-int-org.apache.sysds.runtime.matrix.operators.Operator-">groupedAggOperations</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;tgt,
                     <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;wghts,
@@ -839,7 +860,7 @@
 <div class="block">Invocation from CP instructions.</div>
 </td>
 </tr>
-<tr id="i86" class="altColor">
+<tr id="i89" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#groupedAggOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-int-org.apache.sysds.runtime.matrix.operators.Operator-int-">groupedAggOperations</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;tgt,
                     <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;wghts,
@@ -848,23 +869,23 @@
                     <a href="../../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
                     int&nbsp;k)</code>&nbsp;</td>
 </tr>
-<tr id="i87" class="rowColor">
+<tr id="i90" class="altColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#hashCode--">hashCode</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i88" class="altColor">
+<tr id="i91" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#incrementalAggregate-org.apache.sysds.runtime.matrix.operators.AggregateOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-">incrementalAggregate</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateOperator</a>&nbsp;aggOp,
                     <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;newWithCorrection)</code>&nbsp;</td>
 </tr>
-<tr id="i89" class="rowColor">
+<tr id="i92" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#incrementalAggregate-org.apache.sysds.runtime.matrix.operators.AggregateOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-boolean-">incrementalAggregate</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateOperator</a>&nbsp;aggOp,
                     <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;correction,
                     <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;newWithCorrection,
                     boolean&nbsp;deep)</code>&nbsp;</td>
 </tr>
-<tr id="i90" class="altColor">
+<tr id="i93" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#init-double:A:A-int-int-">init</a></span>(double[][]&nbsp;arr,
     int&nbsp;r,
@@ -872,7 +893,7 @@
 <div class="block">NOTE: This method is designed only for dense representation.</div>
 </td>
 </tr>
-<tr id="i91" class="rowColor">
+<tr id="i94" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#init-double:A-int-int-">init</a></span>(double[]&nbsp;arr,
     int&nbsp;r,
@@ -880,33 +901,33 @@
 <div class="block">NOTE: This method is designed only for dense representation.</div>
 </td>
 </tr>
-<tr id="i92" class="altColor">
+<tr id="i95" class="rowColor">
 <td class="colFirst"><code>double</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#interQuartileMean--">interQuartileMean</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i93" class="rowColor">
+<tr id="i96" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#isAllocated--">isAllocated</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i94" class="altColor">
+<tr id="i97" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#isEmpty--">isEmpty</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i95" class="rowColor">
+<tr id="i98" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#isEmptyBlock--">isEmptyBlock</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i96" class="altColor">
+<tr id="i99" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#isEmptyBlock-boolean-">isEmptyBlock</a></span>(boolean&nbsp;safe)</code>&nbsp;</td>
 </tr>
-<tr id="i97" class="rowColor">
+<tr id="i100" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#isInSparseFormat--">isInSparseFormat</a></span>()</code>
 <div class="block">Returns the current representation (true for sparse).</div>
 </td>
 </tr>
-<tr id="i98" class="altColor">
+<tr id="i101" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#isShallowSerialize--">isShallowSerialize</a></span>()</code>
 <div class="block">Indicates if the cache block is subject to shallow serialized,
@@ -914,7 +935,7 @@
  are almost identical allowing to avoid unnecessary deep serialize.</div>
 </td>
 </tr>
-<tr id="i99" class="rowColor">
+<tr id="i102" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#isShallowSerialize-boolean-">isShallowSerialize</a></span>(boolean&nbsp;inclConvert)</code>
 <div class="block">Indicates if the cache block is subject to shallow serialized,
@@ -922,42 +943,42 @@
  are almost identical allowing to avoid unnecessary deep serialize.</div>
 </td>
 </tr>
-<tr id="i100" class="altColor">
+<tr id="i103" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#isSparsePermutationMatrix--">isSparsePermutationMatrix</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i101" class="rowColor">
+<tr id="i104" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#isThreadSafe--">isThreadSafe</a></span>()</code>
 <div class="block">Indicates if concurrent modifications of disjoint rows are thread-safe.</div>
 </td>
 </tr>
-<tr id="i102" class="altColor">
+<tr id="i105" class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#isThreadSafe-boolean-">isThreadSafe</a></span>(boolean&nbsp;sparse)</code>
 <div class="block">Indicates if concurrent modifications of disjoint rows are thread-safe.</div>
 </td>
 </tr>
-<tr id="i103" class="rowColor">
+<tr id="i106" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#isUltraSparse--">isUltraSparse</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i104" class="altColor">
+<tr id="i107" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#isUltraSparse-boolean-">isUltraSparse</a></span>(boolean&nbsp;checkNnz)</code>&nbsp;</td>
 </tr>
-<tr id="i105" class="rowColor">
+<tr id="i108" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#isVector--">isVector</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i106" class="altColor">
+<tr id="i109" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#leftIndexingOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.util.IndexRange-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType-">leftIndexingOperations</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;rhsMatrix,
                       <a href="../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixrange,
                       <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
                       <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.UpdateType.html" title="enum in org.apache.sysds.runtime.controlprogram.caching">MatrixObject.UpdateType</a>&nbsp;update)</code>&nbsp;</td>
 </tr>
-<tr id="i107" class="rowColor">
+<tr id="i110" class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#leftIndexingOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-int-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType-">leftIndexingOperations</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;rhsMatrix,
                       int&nbsp;rl,
@@ -967,7 +988,7 @@
                       <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
                       <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.UpdateType.html" title="enum in org.apache.sysds.runtime.controlprogram.caching">MatrixObject.UpdateType</a>&nbsp;update)</code>&nbsp;</td>
 </tr>
-<tr id="i108" class="altColor">
+<tr id="i111" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#leftIndexingOperations-org.apache.sysds.runtime.instructions.cp.ScalarObject-int-int-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType-">leftIndexingOperations</a></span>(<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&nbsp;scalar,
                       int&nbsp;rl,
@@ -977,30 +998,30 @@
 <div class="block">Explicitly allow left indexing for scalars.</div>
 </td>
 </tr>
-<tr id="i109" class="rowColor">
+<tr id="i112" class="altColor">
 <td class="colFirst"><code>double</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#max--">max</a></span>()</code>
 <div class="block">Wrapper method for reduceall-max of a matrix.</div>
 </td>
 </tr>
-<tr id="i110" class="altColor">
+<tr id="i113" class="rowColor">
 <td class="colFirst"><code>double</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#mean--">mean</a></span>()</code>
 <div class="block">Wrapper method for reduceall-mean of a matrix.</div>
 </td>
 </tr>
-<tr id="i111" class="rowColor">
+<tr id="i114" class="altColor">
 <td class="colFirst"><code>double</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#median--">median</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i112" class="altColor">
+<tr id="i115" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#merge-org.apache.sysds.runtime.controlprogram.caching.CacheBlock-boolean-">merge</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html" title="interface in org.apache.sysds.runtime.controlprogram.caching">CacheBlock</a>&nbsp;that,
      boolean&nbsp;appendOnly)</code>
 <div class="block">Merge the given block into the current block.</div>
 </td>
 </tr>
-<tr id="i113" class="rowColor">
+<tr id="i116" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#merge-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-">merge</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;that,
      boolean&nbsp;appendOnly)</code>
@@ -1008,72 +1029,72 @@
  matrix block.</div>
 </td>
 </tr>
-<tr id="i114" class="altColor">
+<tr id="i117" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#merge-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-boolean-">merge</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;that,
      boolean&nbsp;appendOnly,
      boolean&nbsp;par)</code>&nbsp;</td>
 </tr>
-<tr id="i115" class="rowColor">
+<tr id="i118" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#merge-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-boolean-boolean-">merge</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;that,
      boolean&nbsp;appendOnly,
      boolean&nbsp;par,
      boolean&nbsp;deep)</code>&nbsp;</td>
 </tr>
-<tr id="i116" class="altColor">
+<tr id="i119" class="rowColor">
 <td class="colFirst"><code>double</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#min--">min</a></span>()</code>
 <div class="block">Wrapper method for reduceall-min of a matrix.</div>
 </td>
 </tr>
-<tr id="i117" class="rowColor">
+<tr id="i120" class="altColor">
 <td class="colFirst"><code>double</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#minNonZero--">minNonZero</a></span>()</code>
 <div class="block">Utility function for computing the min non-zero value.</div>
 </td>
 </tr>
-<tr id="i118" class="altColor">
+<tr id="i121" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#naryOperations-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.runtime.matrix.data.MatrixBlock:A-org.apache.sysds.runtime.instructions.cp.ScalarObject:A-org.apache.sysds.runtime.matrix.data.MatrixBlock-">naryOperations</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
               <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>[]&nbsp;matrices,
               <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>[]&nbsp;scalars,
               <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret)</code>&nbsp;</td>
 </tr>
-<tr id="i119" class="rowColor">
+<tr id="i122" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#permutationMatrixMultOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-">permutationMatrixMultOperations</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;m2Val,
                                <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;out1Val,
                                <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;out2Val)</code>&nbsp;</td>
 </tr>
-<tr id="i120" class="altColor">
+<tr id="i123" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#permutationMatrixMultOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-int-">permutationMatrixMultOperations</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;m2Val,
                                <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;out1Val,
                                <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;out2Val,
                                int&nbsp;k)</code>&nbsp;</td>
 </tr>
-<tr id="i121" class="rowColor">
+<tr id="i124" class="altColor">
 <td class="colFirst"><code>double</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#pickValue-double-">pickValue</a></span>(double&nbsp;quantile)</code>&nbsp;</td>
 </tr>
-<tr id="i122" class="altColor">
+<tr id="i125" class="rowColor">
 <td class="colFirst"><code>double</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#pickValue-double-boolean-">pickValue</a></span>(double&nbsp;quantile,
          boolean&nbsp;average)</code>&nbsp;</td>
 </tr>
-<tr id="i123" class="rowColor">
+<tr id="i126" class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#pickValues-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-">pickValues</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;quantiles,
           <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;ret)</code>&nbsp;</td>
 </tr>
-<tr id="i124" class="altColor">
+<tr id="i127" class="rowColor">
 <td class="colFirst"><code>double</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#prod--">prod</a></span>()</code>
 <div class="block">Wrapper method for reduceall-product of a matrix.</div>
 </td>
 </tr>
-<tr id="i125" class="rowColor">
+<tr id="i128" class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#quaternaryOperations-org.apache.sysds.runtime.matrix.operators.QuaternaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">quaternaryOperations</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/QuaternaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">QuaternaryOperator</a>&nbsp;qop,
                     <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;um,
@@ -1081,7 +1102,7 @@
                     <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;wm,
                     <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</code>&nbsp;</td>
 </tr>
-<tr id="i126" class="altColor">
+<tr id="i129" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#quaternaryOperations-org.apache.sysds.runtime.matrix.operators.QuaternaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">quaternaryOperations</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/QuaternaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">QuaternaryOperator</a>&nbsp;qop,
                     <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;U,
@@ -1090,18 +1111,18 @@
                     <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
                     int&nbsp;k)</code>&nbsp;</td>
 </tr>
-<tr id="i127" class="rowColor">
+<tr id="i130" class="altColor">
 <td class="colFirst"><code>double</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#quickGetValue-int-int-">quickGetValue</a></span>(int&nbsp;r,
              int&nbsp;c)</code>&nbsp;</td>
 </tr>
-<tr id="i128" class="altColor">
+<tr id="i131" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#quickSetValue-int-int-double-">quickSetValue</a></span>(int&nbsp;r,
              int&nbsp;c,
              double&nbsp;v)</code>&nbsp;</td>
 </tr>
-<tr id="i129" class="rowColor">
+<tr id="i132" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#randOperations-int-int-double-double-double-java.lang.String-long-">randOperations</a></span>(int&nbsp;rows,
               int&nbsp;cols,
@@ -1113,7 +1134,7 @@
 <div class="block">Function to generate the random matrix with specified dimensions (block sizes are not specified).</div>
 </td>
 </tr>
-<tr id="i130" class="altColor">
+<tr id="i133" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#randOperations-int-int-double-double-double-java.lang.String-long-int-">randOperations</a></span>(int&nbsp;rows,
               int&nbsp;cols,
@@ -1126,14 +1147,14 @@
 <div class="block">Function to generate the random matrix with specified dimensions (block sizes are not specified).</div>
 </td>
 </tr>
-<tr id="i131" class="rowColor">
+<tr id="i134" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#randOperations-org.apache.sysds.runtime.matrix.data.RandomMatrixGenerator-long-">randOperations</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/RandomMatrixGenerator.html" title="class in org.apache.sysds.runtime.matrix.data">RandomMatrixGenerator</a>&nbsp;rgen,
               long&nbsp;seed)</code>
 <div class="block">Function to generate the random matrix with specified dimensions and block dimensions.</div>
 </td>
 </tr>
-<tr id="i132" class="altColor">
+<tr id="i135" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#randOperations-org.apache.sysds.runtime.matrix.data.RandomMatrixGenerator-long-int-">randOperations</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/RandomMatrixGenerator.html" title="class in org.apache.sysds.runtime.matrix.data">RandomMatrixGenerator</a>&nbsp;rgen,
               long&nbsp;seed,
@@ -1141,7 +1162,7 @@
 <div class="block">Function to generate the random matrix with specified dimensions and block dimensions.</div>
 </td>
 </tr>
-<tr id="i133" class="rowColor">
+<tr id="i136" class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#randOperationsInPlace-org.apache.sysds.runtime.matrix.data.RandomMatrixGenerator-org.apache.commons.math3.random.Well1024a-long-">randOperationsInPlace</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/RandomMatrixGenerator.html" title="class in org.apache.sysds.runtime.matrix.data">RandomMatrixGenerator</a>&nbsp;rgen,
                      org.apache.commons.math3.random.Well1024a&nbsp;bigrand,
@@ -1149,7 +1170,7 @@
 <div class="block">Function to generate a matrix of random numbers.</div>
 </td>
 </tr>
-<tr id="i134" class="altColor">
+<tr id="i137" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#randOperationsInPlace-org.apache.sysds.runtime.matrix.data.RandomMatrixGenerator-org.apache.commons.math3.random.Well1024a-long-int-">randOperationsInPlace</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/RandomMatrixGenerator.html" title="class in org.apache.sysds.runtime.matrix.data">RandomMatrixGenerator</a>&nbsp;rgen,
                      org.apache.commons.math3.random.Well1024a&nbsp;bigrand,
@@ -1158,30 +1179,30 @@
 <div class="block">Function to generate a matrix of random numbers.</div>
 </td>
 </tr>
-<tr id="i135" class="rowColor">
+<tr id="i138" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#readExternal-java.io.ObjectInput-">readExternal</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectInput.html?is-external=true" title="class or interface in java.io">ObjectInput</a>&nbsp;is)</code>
 <div class="block">Redirects the default java serialization via externalizable to our default 
  hadoop writable serialization for efficient broadcast/rdd deserialization.</div>
 </td>
 </tr>
-<tr id="i136" class="altColor">
+<tr id="i139" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#readFields-java.io.DataInput-">readFields</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a>&nbsp;in)</code>&nbsp;</td>
 </tr>
-<tr id="i137" class="rowColor">
+<tr id="i140" class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#recomputeNonZeros--">recomputeNonZeros</a></span>()</code>
 <div class="block">Recomputes and materializes the number of non-zero values
  of the entire matrix block.</div>
 </td>
 </tr>
-<tr id="i138" class="altColor">
+<tr id="i141" class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#recomputeNonZeros-int-int-">recomputeNonZeros</a></span>(int&nbsp;rl,
                  int&nbsp;ru)</code>&nbsp;</td>
 </tr>
-<tr id="i139" class="rowColor">
+<tr id="i142" class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#recomputeNonZeros-int-int-int-int-">recomputeNonZeros</a></span>(int&nbsp;rl,
                  int&nbsp;ru,
@@ -1191,20 +1212,20 @@
  range of the matrix block.</div>
 </td>
 </tr>
-<tr id="i140" class="altColor">
+<tr id="i143" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#removeEmptyOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-boolean-">removeEmptyOperations</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
                      boolean&nbsp;rows,
                      boolean&nbsp;emptyReturn)</code>&nbsp;</td>
 </tr>
-<tr id="i141" class="rowColor">
+<tr id="i144" class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#removeEmptyOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-boolean-org.apache.sysds.runtime.matrix.data.MatrixBlock-">removeEmptyOperations</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
                      boolean&nbsp;rows,
                      boolean&nbsp;emptyReturn,
                      <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;select)</code>&nbsp;</td>
 </tr>
-<tr id="i142" class="altColor">
+<tr id="i145" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#reorgOperations-org.apache.sysds.runtime.matrix.operators.ReorgOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-int-int-int-">reorgOperations</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ReorgOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ReorgOperator</a>&nbsp;op,
                <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;ret,
@@ -1212,47 +1233,47 @@
                int&nbsp;startColumn,
                int&nbsp;length)</code>&nbsp;</td>
 </tr>
-<tr id="i143" class="rowColor">
+<tr id="i146" class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#replaceOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-double-double-">replaceOperations</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result,
                  double&nbsp;pattern,
                  double&nbsp;replacement)</code>&nbsp;</td>
 </tr>
-<tr id="i144" class="altColor">
+<tr id="i147" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#reset--">reset</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i145" class="rowColor">
+<tr id="i148" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#reset-int-int-">reset</a></span>(int&nbsp;rl,
      int&nbsp;cl)</code>&nbsp;</td>
 </tr>
-<tr id="i146" class="altColor">
+<tr id="i149" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#reset-int-int-boolean-">reset</a></span>(int&nbsp;rl,
      int&nbsp;cl,
      boolean&nbsp;sp)</code>&nbsp;</td>
 </tr>
-<tr id="i147" class="rowColor">
+<tr id="i150" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#reset-int-int-boolean-long-">reset</a></span>(int&nbsp;rl,
      int&nbsp;cl,
      boolean&nbsp;sp,
      long&nbsp;estnnz)</code>&nbsp;</td>
 </tr>
-<tr id="i148" class="altColor">
+<tr id="i151" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#reset-int-int-double-">reset</a></span>(int&nbsp;rl,
      int&nbsp;cl,
      double&nbsp;val)</code>&nbsp;</td>
 </tr>
-<tr id="i149" class="rowColor">
+<tr id="i152" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#reset-int-int-long-">reset</a></span>(int&nbsp;rl,
      int&nbsp;cl,
      long&nbsp;estnnz)</code>&nbsp;</td>
 </tr>
-<tr id="i150" class="altColor">
+<tr id="i153" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#rexpandOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-double-boolean-boolean-boolean-int-">rexpandOperations</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
                  double&nbsp;max,
@@ -1261,19 +1282,19 @@
                  boolean&nbsp;ignore,
                  int&nbsp;k)</code>&nbsp;</td>
 </tr>
-<tr id="i151" class="rowColor">
+<tr id="i154" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#sampleOperations-long-int-boolean-long-">sampleOperations</a></span>(long&nbsp;range,
                 int&nbsp;size,
                 boolean&nbsp;replace,
                 long&nbsp;seed)</code>&nbsp;</td>
 </tr>
-<tr id="i152" class="altColor">
+<tr id="i155" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#scalarOperations-org.apache.sysds.runtime.matrix.operators.ScalarOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-">scalarOperations</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op,
                 <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result)</code>&nbsp;</td>
 </tr>
-<tr id="i153" class="rowColor">
+<tr id="i156" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#seqOperations-double-double-double-">seqOperations</a></span>(double&nbsp;from,
              double&nbsp;to,
@@ -1281,38 +1302,42 @@
 <div class="block">Method to generate a sequence according to the given parameters.</div>
 </td>
 </tr>
-<tr id="i154" class="altColor">
+<tr id="i157" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#seqOperationsInPlace-double-double-double-">seqOperationsInPlace</a></span>(double&nbsp;from,
                     double&nbsp;to,
                     double&nbsp;incr)</code>&nbsp;</td>
 </tr>
-<tr id="i155" class="rowColor">
+<tr id="i158" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#setDenseBlock-org.apache.sysds.runtime.data.DenseBlock-">setDenseBlock</a></span>(<a href="../../../../../../org/apache/sysds/runtime/data/DenseBlock.html" title="class in org.apache.sysds.runtime.data">DenseBlock</a>&nbsp;dblock)</code>&nbsp;</td>
+</tr>
+<tr id="i159" class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#setNonZeros-long-">setNonZeros</a></span>(long&nbsp;nnz)</code>&nbsp;</td>
 </tr>
-<tr id="i156" class="altColor">
+<tr id="i160" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#setNumColumns-int-">setNumColumns</a></span>(int&nbsp;c)</code>&nbsp;</td>
 </tr>
-<tr id="i157" class="rowColor">
+<tr id="i161" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#setNumRows-int-">setNumRows</a></span>(int&nbsp;r)</code>
 <div class="block">NOTE: setNumRows() and setNumColumns() are used only in ternaryInstruction (for contingency tables)
  and pmm for meta corrections.</div>
 </td>
 </tr>
-<tr id="i158" class="altColor">
+<tr id="i162" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#setSparseBlock-org.apache.sysds.runtime.data.SparseBlock-">setSparseBlock</a></span>(<a href="../../../../../../org/apache/sysds/runtime/data/SparseBlock.html" title="class in org.apache.sysds.runtime.data">SparseBlock</a>&nbsp;sblock)</code>&nbsp;</td>
 </tr>
-<tr id="i159" class="rowColor">
+<tr id="i163" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#setValue-int-int-double-">setValue</a></span>(int&nbsp;r,
         int&nbsp;c,
         double&nbsp;v)</code>&nbsp;</td>
 </tr>
-<tr id="i160" class="altColor">
+<tr id="i164" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#slice-java.util.ArrayList-org.apache.sysds.runtime.util.IndexRange-int-int-int-int-int-">slice</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/instructions/spark/data/IndexedMatrixValue.html" title="class in org.apache.sysds.runtime.instructions.spark.data">IndexedMatrixValue</a>&gt;&nbsp;outlist,
      <a href="../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;range,
@@ -1320,19 +1345,30 @@
      int&nbsp;colCut,
      int&nbsp;blen,
      int&nbsp;boundaryRlen,
-     int&nbsp;boundaryClen)</code>&nbsp;</td>
+     int&nbsp;boundaryClen)</code>
+<div class="block">Slice out up to 4 matrixBlocks that are separated by the row and col Cuts.</div>
+</td>
 </tr>
-<tr id="i161" class="rowColor">
+<tr id="i165" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#slice-org.apache.sysds.runtime.util.IndexRange-org.apache.sysds.runtime.matrix.data.MatrixBlock-">slice</a></span>(<a href="../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixrange,
      <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret)</code>&nbsp;</td>
 </tr>
-<tr id="i162" class="altColor">
+<tr id="i166" class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#slice-int-int-">slice</a></span>(int&nbsp;rl,
-     int&nbsp;ru)</code>&nbsp;</td>
+     int&nbsp;ru)</code>
+<div class="block">Slice out a row block</div>
+</td>
 </tr>
-<tr id="i163" class="rowColor">
+<tr id="i167" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#slice-int-int-int-int-">slice</a></span>(int&nbsp;rl,
+     int&nbsp;ru,
+     int&nbsp;cl,
+     int&nbsp;cu)</code>&nbsp;</td>
+</tr>
+<tr id="i168" class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#slice-int-int-int-int-boolean-org.apache.sysds.runtime.controlprogram.caching.CacheBlock-">slice</a></span>(int&nbsp;rl,
      int&nbsp;ru,
@@ -1343,7 +1379,7 @@
 <div class="block">Method to perform rightIndex operation for a given lower and upper bounds in row and column dimensions.</div>
 </td>
 </tr>
-<tr id="i164" class="altColor">
+<tr id="i169" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#slice-int-int-int-int-org.apache.sysds.runtime.controlprogram.caching.CacheBlock-">slice</a></span>(int&nbsp;rl,
      int&nbsp;ru,
@@ -1353,18 +1389,18 @@
 <div class="block">Slice a sub block out of the current block and write into the given output block.</div>
 </td>
 </tr>
-<tr id="i165" class="rowColor">
+<tr id="i170" class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#sortOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixBlock-">sortOperations</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;weights,
               <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result)</code>&nbsp;</td>
 </tr>
-<tr id="i166" class="altColor">
+<tr id="i171" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#sortSparseRows--">sortSparseRows</a></span>()</code>
 <div class="block">Sorts all existing sparse rows by column indexes.</div>
 </td>
 </tr>
-<tr id="i167" class="rowColor">
+<tr id="i172" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#sortSparseRows-int-int-">sortSparseRows</a></span>(int&nbsp;rl,
               int&nbsp;ru)</code>
@@ -1372,58 +1408,58 @@
  column indexes.</div>
 </td>
 </tr>
-<tr id="i168" class="altColor">
+<tr id="i173" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#sparseToDense--">sparseToDense</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i169" class="rowColor">
+<tr id="i174" class="altColor">
 <td class="colFirst"><code>double</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#sum--">sum</a></span>()</code>
 <div class="block">Wrapper method for reduceall-sum of a matrix.</div>
 </td>
 </tr>
-<tr id="i170" class="altColor">
+<tr id="i175" class="rowColor">
 <td class="colFirst"><code>double</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#sumSq--">sumSq</a></span>()</code>
 <div class="block">Wrapper method for reduceall-sumSq of a matrix.</div>
 </td>
 </tr>
-<tr id="i171" class="rowColor">
+<tr id="i176" class="altColor">
 <td class="colFirst"><code>double</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#sumWeightForQuantile--">sumWeightForQuantile</a></span>()</code>
 <div class="block">In a given two column matrix, the second column denotes weights.</div>
 </td>
 </tr>
-<tr id="i172" class="altColor">
+<tr id="i177" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#ternaryOperations-org.apache.sysds.runtime.matrix.operators.TernaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ternaryOperations</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/TernaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">TernaryOperator</a>&nbsp;op,
                  <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2,
                  <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m3,
                  <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret)</code>&nbsp;</td>
 </tr>
-<tr id="i173" class="rowColor">
+<tr id="i178" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#toShallowSerializeBlock--">toShallowSerializeBlock</a></span>()</code>
 <div class="block">Converts a cache block that is not shallow serializable into
  a form that is shallow serializable.</div>
 </td>
 </tr>
-<tr id="i174" class="altColor">
+<tr id="i179" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#toString--">toString</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i175" class="rowColor">
+<tr id="i180" class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#transposeSelfMatrixMultOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.lops.MMTSJ.MMTSJType-">transposeSelfMatrixMultOperations</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
                                  <a href="../../../../../../org/apache/sysds/lops/MMTSJ.MMTSJType.html" title="enum in org.apache.sysds.lops">MMTSJ.MMTSJType</a>&nbsp;tstype)</code>&nbsp;</td>
 </tr>
-<tr id="i176" class="altColor">
+<tr id="i181" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#transposeSelfMatrixMultOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.lops.MMTSJ.MMTSJType-int-">transposeSelfMatrixMultOperations</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
                                  <a href="../../../../../../org/apache/sysds/lops/MMTSJ.MMTSJType.html" title="enum in org.apache.sysds.lops">MMTSJ.MMTSJType</a>&nbsp;tstype,
                                  int&nbsp;k)</code>&nbsp;</td>
 </tr>
-<tr id="i177" class="rowColor">
+<tr id="i182" class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#uaggouterchainOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.BinaryOperator-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-">uaggouterchainOperations</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mbLeft,
                         <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mbRight,
@@ -1431,23 +1467,23 @@
                         <a href="../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;bOp,
                         <a href="../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;uaggOp)</code>&nbsp;</td>
 </tr>
-<tr id="i178" class="altColor">
+<tr id="i183" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#unaryOperations-org.apache.sysds.runtime.matrix.operators.UnaryOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-">unaryOperations</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/UnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">UnaryOperator</a>&nbsp;op,
                <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result)</code>&nbsp;</td>
 </tr>
-<tr id="i179" class="rowColor">
+<tr id="i184" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#write-java.io.DataOutput-">write</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataOutput.html?is-external=true" title="class or interface in java.io">DataOutput</a>&nbsp;out)</code>&nbsp;</td>
 </tr>
-<tr id="i180" class="altColor">
+<tr id="i185" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#writeExternal-java.io.ObjectOutput-">writeExternal</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectOutput.html?is-external=true" title="class or interface in java.io">ObjectOutput</a>&nbsp;os)</code>
 <div class="block">Redirects the default java serialization via externalizable to our default 
  hadoop writable serialization for efficient broadcast/rdd serialization.</div>
 </td>
 </tr>
-<tr id="i181" class="rowColor">
+<tr id="i186" class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#zeroOutOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.util.IndexRange-boolean-">zeroOutOperations</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result,
                  <a href="../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;range,
@@ -2035,6 +2071,10 @@
 <li class="blockList">
 <h4>getDataCharacteristics</h4>
 <pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a>&nbsp;getDataCharacteristics()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html#getDataCharacteristics--">getDataCharacteristics</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html" title="interface in org.apache.sysds.runtime.controlprogram.caching">CacheBlock</a></code></dd>
+</dl>
 </li>
 </ul>
 <a name="isVector--">
@@ -2095,6 +2135,15 @@
 <pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/data/DenseBlock.html" title="class in org.apache.sysds.runtime.data">DenseBlock</a>&nbsp;getDenseBlock()</pre>
 </li>
 </ul>
+<a name="setDenseBlock-org.apache.sysds.runtime.data.DenseBlock-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setDenseBlock</h4>
+<pre>public&nbsp;void&nbsp;setDenseBlock(<a href="../../../../../../org/apache/sysds/runtime/data/DenseBlock.html" title="class in org.apache.sysds.runtime.data">DenseBlock</a>&nbsp;dblock)</pre>
+</li>
+</ul>
 <a name="getDenseBlockValues--">
 <!--   -->
 </a>
@@ -2229,6 +2278,17 @@
 </dl>
 </li>
 </ul>
+<a name="appendValuePlain-int-int-double-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>appendValuePlain</h4>
+<pre>public&nbsp;void&nbsp;appendValuePlain(int&nbsp;r,
+                             int&nbsp;c,
+                             double&nbsp;v)</pre>
+</li>
+</ul>
 <a name="appendRow-int-org.apache.sysds.runtime.data.SparseRow-">
 <!--   -->
 </a>
@@ -2668,9 +2728,16 @@
 <li class="blockList">
 <h4>copy</h4>
 <pre>public&nbsp;void&nbsp;copy(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;thatValue)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html#copy-org.apache.sysds.runtime.matrix.data.MatrixValue-">MatrixValue</a></code></span></div>
+<div class="block">Copy this MatrixValue into that MatrixValue.
+ 
+ If the MatrixValue is a MatrixBlock evaluate the sparsity of the original matrix,
+ and copy into either a sparse or a dense matrix.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html#copy-org.apache.sysds.runtime.matrix.data.MatrixValue-">copy</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>thatValue</code> - object to copy the values into.</dd>
 </dl>
 </li>
 </ul>
@@ -2682,9 +2749,14 @@
 <h4>copy</h4>
 <pre>public&nbsp;void&nbsp;copy(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;thatValue,
                  boolean&nbsp;sp)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html#copy-org.apache.sysds.runtime.matrix.data.MatrixValue-boolean-">MatrixValue</a></code></span></div>
+<div class="block">Copy this MatrixValue into that MatrixValue. But select sparse destination block depending on boolean parameter.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html#copy-org.apache.sysds.runtime.matrix.data.MatrixValue-boolean-">copy</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>thatValue</code> - object to copy the values into.</dd>
+<dd><code>sp</code> - boolean specifying if output should be forced sparse or dense. (only applicable if the 'that' is a MatrixBlock)</dd>
 </dl>
 </li>
 </ul>
@@ -2715,9 +2787,9 @@
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>rl</code> - row lower index, 0-based</dd>
-<dd><code>ru</code> - row upper index, 0-based</dd>
+<dd><code>ru</code> - row upper index, 0-based, inclusive</dd>
 <dd><code>cl</code> - column lower index, 0-based</dd>
-<dd><code>cu</code> - column upper index, 0-based</dd>
+<dd><code>cu</code> - column upper index, 0-based, inclusive</dd>
 <dd><code>src</code> - matrix block</dd>
 <dd><code>awareDestNZ</code> - true, forces (1) to remove existing non-zeros in the index range of the 
                  destination if not present in src and (2) to internally maintain nnz
@@ -2877,6 +2949,15 @@
 </dl>
 </li>
 </ul>
+<a name="getHeaderSize--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getHeaderSize</h4>
+<pre>public static&nbsp;long&nbsp;getHeaderSize()</pre>
+</li>
+</ul>
 <a name="estimateSizeInMemory--">
 <!--   -->
 </a>
@@ -3371,6 +3452,26 @@
 <h4>slice</h4>
 <pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;slice(int&nbsp;rl,
                          int&nbsp;ru)</pre>
+<div class="block">Slice out a row block</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>rl</code> - The row lower to start from</dd>
+<dd><code>ru</code> - The row lower to end at</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The sliced out matrix block.</dd>
+</dl>
+</li>
+</ul>
+<a name="slice-int-int-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>slice</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;slice(int&nbsp;rl,
+                         int&nbsp;ru,
+                         int&nbsp;cl,
+                         int&nbsp;cu)</pre>
 </li>
 </ul>
 <a name="slice-int-int-int-int-org.apache.sysds.runtime.controlprogram.caching.CacheBlock-">
@@ -3414,15 +3515,18 @@
                          boolean&nbsp;deep,
                          <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html" title="interface in org.apache.sysds.runtime.controlprogram.caching">CacheBlock</a>&nbsp;ret)</pre>
 <div class="block">Method to perform rightIndex operation for a given lower and upper bounds in row and column dimensions.
- Extracted submatrix is returned as "result". Note: This operation is now 0-based.</div>
+ Extracted submatrix is returned as "result". Note: This operation is now 0-based.
+ 
+ This means that if you call with rl == ru then you get 1 row output.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>rl</code> - row lower</dd>
-<dd><code>ru</code> - row upper</dd>
-<dd><code>cl</code> - column lower</dd>
-<dd><code>cu</code> - column upper</dd>
-<dd><code>deep</code> - should perform deep copy</dd>
-<dd><code>ret</code> - output matrix block</dd>
+<dd><code>rl</code> - row lower if this value is bellow 0 or above the number of rows contained in the matrix an execption is thrown</dd>
+<dd><code>ru</code> - row upper if this value is bellow rl or above the number of rows contained in the matrix an exception is thrown</dd>
+<dd><code>cl</code> - column lower if this value us bellow 0 or above the number of columns contained in the matrix an exception is thrown</dd>
+<dd><code>cu</code> - column upper if this value us bellow cl or above the number of columns contained in the matrix an exception is thrown</dd>
+<dd><code>deep</code> - should perform deep copy, this is relelvant in cases where the matrix is in sparse format,
+            or the entire matrix is sliced out</dd>
+<dd><code>ret</code> - output sliced out matrix block</dd>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>matrix block output matrix block</dd>
 </dl>
@@ -3441,9 +3545,23 @@
                   int&nbsp;blen,
                   int&nbsp;boundaryRlen,
                   int&nbsp;boundaryClen)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html#slice-java.util.ArrayList-org.apache.sysds.runtime.util.IndexRange-int-int-int-int-int-">MatrixValue</a></code></span></div>
+<div class="block">Slice out up to 4 matrixBlocks that are separated by the row and col Cuts.
+ 
+ This is used in the context of spark execution to distributed sliced out matrix blocks of correct block size.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html#slice-java.util.ArrayList-org.apache.sysds.runtime.util.IndexRange-int-int-int-int-int-">slice</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>outlist</code> - The output matrix blocks that is extracted from the matrix</dd>
+<dd><code>range</code> - An index range containing overlapping information.</dd>
+<dd><code>rowCut</code> - The row to cut and split the matrix.</dd>
+<dd><code>colCut</code> - The column to cut ans split the matrix.</dd>
+<dd><code>blen</code> - The Block size of the output matrices.</dd>
+<dd><code>boundaryRlen</code> - The row length of the edge case matrix block, used for the final blocks
+                     that does not have enough rows to construct a full block.</dd>
+<dd><code>boundaryClen</code> - The col length of the edge case matrix block, used for the final blocks
+                     that does not have enough cols to construct a full block.</dd>
 </dl>
 </li>
 </ul>
@@ -3905,6 +4023,27 @@
 </dl>
 </li>
 </ul>
+<a name="ctableSeqOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-double-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>ctableSeqOperations</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ctableSeqOperations(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;thatMatrix,
+                                       double&nbsp;thatScalar,
+                                       <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;resultBlock,
+                                       boolean&nbsp;updateClen)</pre>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>thatMatrix</code> - matrix value</dd>
+<dd><code>thatScalar</code> - scalar double</dd>
+<dd><code>resultBlock</code> - result matrix block</dd>
+<dd><code>updateClen</code> - when this matrix already has the desired number of columns updateClen can be set to false</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>resultBlock</dd>
+</dl>
+</li>
+</ul>
 <a name="ctableSeqOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-double-org.apache.sysds.runtime.matrix.data.MatrixBlock-">
 <!--   -->
 </a>
@@ -3916,7 +4055,7 @@
                                        <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;resultBlock)</pre>
 <div class="block">D = ctable(seq,A,w)
   this &lt;- seq; thatMatrix &lt;- A; thatScalar &lt;- w; result &lt;- D
-  
+
  (i1,j1,v1) from input1 (this)
  (i1,j1,v2) from input2 (that)
  (w)  from scalar_input3 (scalarThat2)</div>
@@ -4335,7 +4474,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixReorg.html" title="class in org.apache.sysds.runtime.matrix.data"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixTercell.html" title="class in org.apache.sysds.runtime.matrix.data"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.SparsityEstimate.html" title="class in org.apache.sysds.runtime.matrix.data"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -4376,6 +4515,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/MatrixBlockDataInput.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/MatrixBlockDataInput.html
index cf95a35..8bb5f99 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/MatrixBlockDataInput.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/MatrixBlockDataInput.html
@@ -279,6 +279,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/MatrixBlockDataOutput.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/MatrixBlockDataOutput.html
index 6574333..1383cc9 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/MatrixBlockDataOutput.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/MatrixBlockDataOutput.html
@@ -268,6 +268,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/MatrixCell.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/MatrixCell.html
index 68fd7e5..3b4224d 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/MatrixCell.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/MatrixCell.html
@@ -233,12 +233,16 @@
 </tr>
 <tr id="i7" class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixCell.html#copy-org.apache.sysds.runtime.matrix.data.MatrixValue-">copy</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;that)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixCell.html#copy-org.apache.sysds.runtime.matrix.data.MatrixValue-">copy</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;that)</code>
+<div class="block">Copy this MatrixValue into that MatrixValue.</div>
+</td>
 </tr>
 <tr id="i8" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixCell.html#copy-org.apache.sysds.runtime.matrix.data.MatrixValue-boolean-">copy</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;that,
-    boolean&nbsp;sp)</code>&nbsp;</td>
+    boolean&nbsp;sp)</code>
+<div class="block">Copy this MatrixValue into that MatrixValue.</div>
+</td>
 </tr>
 <tr id="i9" class="rowColor">
 <td class="colFirst"><code>void</code></td>
@@ -405,7 +409,9 @@
      int&nbsp;colCut,
      int&nbsp;blen,
      int&nbsp;boundaryRlen,
-     int&nbsp;boundaryClen)</code>&nbsp;</td>
+     int&nbsp;boundaryClen)</code>
+<div class="block">Slice out up to 4 matrixBlocks that are separated by the row and col Cuts.</div>
+</td>
 </tr>
 <tr id="i38" class="altColor">
 <td class="colFirst"><code>void</code></td>
@@ -522,9 +528,14 @@
 <h4>copy</h4>
 <pre>public&nbsp;void&nbsp;copy(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;that,
                  boolean&nbsp;sp)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html#copy-org.apache.sysds.runtime.matrix.data.MatrixValue-boolean-">MatrixValue</a></code></span></div>
+<div class="block">Copy this MatrixValue into that MatrixValue. But select sparse destination block depending on boolean parameter.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html#copy-org.apache.sysds.runtime.matrix.data.MatrixValue-boolean-">copy</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>that</code> - object to copy the values into.</dd>
+<dd><code>sp</code> - boolean specifying if output should be forced sparse or dense. (only applicable if the 'that' is a MatrixBlock)</dd>
 </dl>
 </li>
 </ul>
@@ -535,9 +546,16 @@
 <li class="blockList">
 <h4>copy</h4>
 <pre>public&nbsp;void&nbsp;copy(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;that)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html#copy-org.apache.sysds.runtime.matrix.data.MatrixValue-">MatrixValue</a></code></span></div>
+<div class="block">Copy this MatrixValue into that MatrixValue.
+ 
+ If the MatrixValue is a MatrixBlock evaluate the sparsity of the original matrix,
+ and copy into either a sparse or a dense matrix.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html#copy-org.apache.sysds.runtime.matrix.data.MatrixValue-">copy</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>that</code> - object to copy the values into.</dd>
 </dl>
 </li>
 </ul>
@@ -1051,9 +1069,23 @@
                   int&nbsp;blen,
                   int&nbsp;boundaryRlen,
                   int&nbsp;boundaryClen)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html#slice-java.util.ArrayList-org.apache.sysds.runtime.util.IndexRange-int-int-int-int-int-">MatrixValue</a></code></span></div>
+<div class="block">Slice out up to 4 matrixBlocks that are separated by the row and col Cuts.
+ 
+ This is used in the context of spark execution to distributed sliced out matrix blocks of correct block size.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html#slice-java.util.ArrayList-org.apache.sysds.runtime.util.IndexRange-int-int-int-int-int-">slice</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>outlist</code> - The output matrix blocks that is extracted from the matrix</dd>
+<dd><code>range</code> - An index range containing overlapping information.</dd>
+<dd><code>rowCut</code> - The row to cut and split the matrix.</dd>
+<dd><code>colCut</code> - The column to cut ans split the matrix.</dd>
+<dd><code>blen</code> - The Block size of the output matrices.</dd>
+<dd><code>boundaryRlen</code> - The row length of the edge case matrix block, used for the final blocks
+                     that does not have enough rows to construct a full block.</dd>
+<dd><code>boundaryClen</code> - The col length of the edge case matrix block, used for the final blocks
+                     that does not have enough cols to construct a full block.</dd>
 </dl>
 </li>
 </ul>
@@ -1176,6 +1208,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/MatrixIndexes.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/MatrixIndexes.html
index b094dbb..a9e476f 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/MatrixIndexes.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/MatrixIndexes.html
@@ -562,6 +562,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/MatrixValue.CellIndex.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/MatrixValue.CellIndex.html
index 5534e18..2d8610f 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/MatrixValue.CellIndex.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/MatrixValue.CellIndex.html
@@ -375,6 +375,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/MatrixValue.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/MatrixValue.html
index 03af5e8..016bd7b 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/MatrixValue.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/MatrixValue.html
@@ -214,12 +214,16 @@
 </tr>
 <tr id="i5" class="rowColor">
 <td class="colFirst"><code>abstract void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html#copy-org.apache.sysds.runtime.matrix.data.MatrixValue-">copy</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;that)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html#copy-org.apache.sysds.runtime.matrix.data.MatrixValue-">copy</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;that)</code>
+<div class="block">Copy this MatrixValue into that MatrixValue.</div>
+</td>
 </tr>
 <tr id="i6" class="altColor">
 <td class="colFirst"><code>abstract void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html#copy-org.apache.sysds.runtime.matrix.data.MatrixValue-boolean-">copy</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;that,
-    boolean&nbsp;sp)</code>&nbsp;</td>
+    boolean&nbsp;sp)</code>
+<div class="block">Copy this MatrixValue into that MatrixValue.</div>
+</td>
 </tr>
 <tr id="i7" class="rowColor">
 <td class="colFirst"><code>abstract void</code></td>
@@ -362,7 +366,9 @@
      int&nbsp;colCut,
      int&nbsp;blen,
      int&nbsp;boundaryRlen,
-     int&nbsp;boundaryClen)</code>&nbsp;</td>
+     int&nbsp;boundaryClen)</code>
+<div class="block">Slice out up to 4 matrixBlocks that are separated by the row and col Cuts.</div>
+</td>
 </tr>
 <tr id="i30" class="altColor">
 <td class="colFirst"><code>abstract <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a></code></td>
@@ -563,6 +569,14 @@
 <li class="blockList">
 <h4>copy</h4>
 <pre>public abstract&nbsp;void&nbsp;copy(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;that)</pre>
+<div class="block">Copy this MatrixValue into that MatrixValue.
+ 
+ If the MatrixValue is a MatrixBlock evaluate the sparsity of the original matrix,
+ and copy into either a sparse or a dense matrix.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>that</code> - object to copy the values into.</dd>
+</dl>
 </li>
 </ul>
 <a name="copy-org.apache.sysds.runtime.matrix.data.MatrixValue-boolean-">
@@ -573,6 +587,12 @@
 <h4>copy</h4>
 <pre>public abstract&nbsp;void&nbsp;copy(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;that,
                           boolean&nbsp;sp)</pre>
+<div class="block">Copy this MatrixValue into that MatrixValue. But select sparse destination block depending on boolean parameter.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>that</code> - object to copy the values into.</dd>
+<dd><code>sp</code> - boolean specifying if output should be forced sparse or dense. (only applicable if the 'that' is a MatrixBlock)</dd>
+</dl>
 </li>
 </ul>
 <a name="scalarOperations-org.apache.sysds.runtime.matrix.operators.ScalarOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-">
@@ -768,6 +788,21 @@
                            int&nbsp;blen,
                            int&nbsp;boundaryRlen,
                            int&nbsp;boundaryClen)</pre>
+<div class="block">Slice out up to 4 matrixBlocks that are separated by the row and col Cuts.
+ 
+ This is used in the context of spark execution to distributed sliced out matrix blocks of correct block size.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>outlist</code> - The output matrix blocks that is extracted from the matrix</dd>
+<dd><code>range</code> - An index range containing overlapping information.</dd>
+<dd><code>rowCut</code> - The row to cut and split the matrix.</dd>
+<dd><code>colCut</code> - The column to cut ans split the matrix.</dd>
+<dd><code>blen</code> - The Block size of the output matrices.</dd>
+<dd><code>boundaryRlen</code> - The row length of the edge case matrix block, used for the final blocks
+                     that does not have enough rows to construct a full block.</dd>
+<dd><code>boundaryClen</code> - The col length of the edge case matrix block, used for the final blocks
+                     that does not have enough cols to construct a full block.</dd>
+</dl>
 </li>
 </ul>
 <a name="replaceOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-double-double-">
@@ -864,6 +899,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/OperationsOnMatrixValues.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/OperationsOnMatrixValues.html
index ee7ce54..1d4430d 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/OperationsOnMatrixValues.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/OperationsOnMatrixValues.html
@@ -300,11 +300,10 @@
             <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/Pair.html" title="class in org.apache.sysds.runtime.matrix.data">Pair</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&gt;&gt;&nbsp;outlist)</code>&nbsp;</td>
 </tr>
 <tr id="i16" class="altColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/OperationsOnMatrixValues.html#performSlice-org.apache.sysds.runtime.instructions.spark.data.IndexedMatrixValue-org.apache.sysds.runtime.util.IndexRange-int-java.util.ArrayList-">performSlice</a></span>(<a href="../../../../../../org/apache/sysds/runtime/instructions/spark/data/IndexedMatrixValue.html" title="class in org.apache.sysds.runtime.instructions.spark.data">IndexedMatrixValue</a>&nbsp;in,
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/instructions/spark/data/IndexedMatrixValue.html" title="class in org.apache.sysds.runtime.instructions.spark.data">IndexedMatrixValue</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/OperationsOnMatrixValues.html#performSlice-org.apache.sysds.runtime.instructions.spark.data.IndexedMatrixValue-org.apache.sysds.runtime.util.IndexRange-int-">performSlice</a></span>(<a href="../../../../../../org/apache/sysds/runtime/instructions/spark/data/IndexedMatrixValue.html" title="class in org.apache.sysds.runtime.instructions.spark.data">IndexedMatrixValue</a>&nbsp;in,
             <a href="../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixrange,
-            int&nbsp;blen,
-            <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/instructions/spark/data/IndexedMatrixValue.html" title="class in org.apache.sysds.runtime.instructions.spark.data">IndexedMatrixValue</a>&gt;&nbsp;outlist)</code>&nbsp;</td>
+            int&nbsp;blen)</code>&nbsp;</td>
 </tr>
 <tr id="i17" class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a></code></td>
@@ -312,7 +311,10 @@
             int&nbsp;blen,
             int&nbsp;iix,
             int&nbsp;jix,
-            <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html" title="interface in org.apache.sysds.runtime.controlprogram.caching">CacheBlock</a>&nbsp;in)</code>&nbsp;</td>
+            <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html" title="interface in org.apache.sysds.runtime.controlprogram.caching">CacheBlock</a>&nbsp;in)</code>
+<div class="block">Slice used in broadcasting matrix blocks for spark, since this slice up a given matrix
+ into blocks.</div>
+</td>
 </tr>
 <tr id="i18" class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a></code></td>
@@ -331,11 +333,10 @@
             <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;in)</code>&nbsp;</td>
 </tr>
 <tr id="i20" class="altColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/OperationsOnMatrixValues.html#performSlice-org.apache.sysds.runtime.matrix.data.Pair-org.apache.sysds.runtime.util.IndexRange-int-java.util.ArrayList-">performSlice</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/Pair.html" title="class in org.apache.sysds.runtime.matrix.data">Pair</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&gt;&nbsp;in,
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/Pair.html" title="class in org.apache.sysds.runtime.matrix.data">Pair</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&gt;&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/OperationsOnMatrixValues.html#performSlice-org.apache.sysds.runtime.matrix.data.Pair-org.apache.sysds.runtime.util.IndexRange-int-">performSlice</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/Pair.html" title="class in org.apache.sysds.runtime.matrix.data">Pair</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&gt;&nbsp;in,
             <a href="../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixrange,
-            int&nbsp;blen,
-            <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/Pair.html" title="class in org.apache.sysds.runtime.matrix.data">Pair</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&gt;&gt;&nbsp;outlist)</code>
+            int&nbsp;blen)</code>
 <div class="block">This function will get slice of the input frame block overlapping in overall slice(Range), slice has requested for.</div>
 </td>
 </tr>
@@ -628,6 +629,20 @@
                                 int&nbsp;iix,
                                 int&nbsp;jix,
                                 <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html" title="interface in org.apache.sysds.runtime.controlprogram.caching">CacheBlock</a>&nbsp;in)</pre>
+<div class="block">Slice used in broadcasting matrix blocks for spark, since this slice up a given matrix
+ into blocks.
+ 
+ The slice call here returns a single block inside the idx range specified</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>ixrange</code> - Index range containing the row lower, row upper, col lower and col upper bounds</dd>
+<dd><code>blen</code> - The block size specified, this should align with the ranges.</dd>
+<dd><code>iix</code> - The block row index</dd>
+<dd><code>jix</code> - The block column index</dd>
+<dd><code>in</code> - The Cache block to slice out</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>A List containing pairs of MatrixIndices and CacheBlocks either containing MatrixBlock or FrameBlocks</dd>
+</dl>
 </li>
 </ul>
 <a name="performSlice-org.apache.sysds.runtime.util.IndexRange-int-int-int-org.apache.sysds.runtime.matrix.data.MatrixBlock-">
@@ -643,16 +658,15 @@
                                 <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;in)</pre>
 </li>
 </ul>
-<a name="performSlice-org.apache.sysds.runtime.instructions.spark.data.IndexedMatrixValue-org.apache.sysds.runtime.util.IndexRange-int-java.util.ArrayList-">
+<a name="performSlice-org.apache.sysds.runtime.instructions.spark.data.IndexedMatrixValue-org.apache.sysds.runtime.util.IndexRange-int-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>performSlice</h4>
-<pre>public static&nbsp;void&nbsp;performSlice(<a href="../../../../../../org/apache/sysds/runtime/instructions/spark/data/IndexedMatrixValue.html" title="class in org.apache.sysds.runtime.instructions.spark.data">IndexedMatrixValue</a>&nbsp;in,
-                                <a href="../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixrange,
-                                int&nbsp;blen,
-                                <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/instructions/spark/data/IndexedMatrixValue.html" title="class in org.apache.sysds.runtime.instructions.spark.data">IndexedMatrixValue</a>&gt;&nbsp;outlist)</pre>
+<pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/instructions/spark/data/IndexedMatrixValue.html" title="class in org.apache.sysds.runtime.instructions.spark.data">IndexedMatrixValue</a>&gt;&nbsp;performSlice(<a href="../../../../../../org/apache/sysds/runtime/instructions/spark/data/IndexedMatrixValue.html" title="class in org.apache.sysds.runtime.instructions.spark.data">IndexedMatrixValue</a>&nbsp;in,
+                                                         <a href="../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixrange,
+                                                         int&nbsp;blen)</pre>
 </li>
 </ul>
 <a name="performShift-org.apache.sysds.runtime.instructions.spark.data.IndexedMatrixValue-org.apache.sysds.runtime.util.IndexRange-int-long-long-java.util.ArrayList-">
@@ -696,23 +710,23 @@
                                      <a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in)</pre>
 </li>
 </ul>
-<a name="performSlice-org.apache.sysds.runtime.matrix.data.Pair-org.apache.sysds.runtime.util.IndexRange-int-java.util.ArrayList-">
+<a name="performSlice-org.apache.sysds.runtime.matrix.data.Pair-org.apache.sysds.runtime.util.IndexRange-int-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>performSlice</h4>
-<pre>public static&nbsp;void&nbsp;performSlice(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/Pair.html" title="class in org.apache.sysds.runtime.matrix.data">Pair</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&gt;&nbsp;in,
-                                <a href="../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixrange,
-                                int&nbsp;blen,
-                                <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/Pair.html" title="class in org.apache.sysds.runtime.matrix.data">Pair</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&gt;&gt;&nbsp;outlist)</pre>
+<pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/Pair.html" title="class in org.apache.sysds.runtime.matrix.data">Pair</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&gt;&gt;&nbsp;performSlice(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/Pair.html" title="class in org.apache.sysds.runtime.matrix.data">Pair</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&gt;&nbsp;in,
+                                                            <a href="../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixrange,
+                                                            int&nbsp;blen)</pre>
 <div class="block">This function will get slice of the input frame block overlapping in overall slice(Range), slice has requested for.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>in</code> - ?</dd>
+<dd><code>in</code> - A Pair of row index to assign the sliced block and input frame block to slice.</dd>
 <dd><code>ixrange</code> - index range</dd>
 <dd><code>blen</code> - block length</dd>
-<dd><code>outlist</code> - list of pairs of frame blocks</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Returns an ArrayList containing pairs of long ids and FrameBlocks</dd>
 </dl>
 </li>
 </ul>
@@ -799,6 +813,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/Pair.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/Pair.html
index 8a4c70f..f659599 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/Pair.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/Pair.html
@@ -343,6 +343,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/RandomMatrixGenerator.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/RandomMatrixGenerator.html
index efedfdb..3ed611d 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/RandomMatrixGenerator.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/RandomMatrixGenerator.html
@@ -495,6 +495,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/SinglePrecisionCudaSupportFunctions.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/SinglePrecisionCudaSupportFunctions.html
index c8bff49..95ba9fa 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/SinglePrecisionCudaSupportFunctions.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/SinglePrecisionCudaSupportFunctions.html
@@ -1020,6 +1020,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/TextToBinaryCellConverter.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/TextToBinaryCellConverter.html
index 981e0c7..2fdcadf 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/TextToBinaryCellConverter.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/TextToBinaryCellConverter.html
@@ -331,6 +331,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/TripleIndexes.Comparator.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/TripleIndexes.Comparator.html
index 1265e0d..b069b46 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/TripleIndexes.Comparator.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/TripleIndexes.Comparator.html
@@ -316,6 +316,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/TripleIndexes.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/TripleIndexes.html
index 596b0ae..c6db164 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/TripleIndexes.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/TripleIndexes.html
@@ -487,6 +487,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/WeightedCell.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/WeightedCell.html
index e33a5c0..bbebf20 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/WeightedCell.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/WeightedCell.html
@@ -196,7 +196,9 @@
 </tr>
 <tr id="i2" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/WeightedCell.html#copy-org.apache.sysds.runtime.matrix.data.MatrixValue-">copy</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;that)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/WeightedCell.html#copy-org.apache.sysds.runtime.matrix.data.MatrixValue-">copy</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;that)</code>
+<div class="block">Copy this MatrixValue into that MatrixValue.</div>
+</td>
 </tr>
 <tr id="i3" class="rowColor">
 <td class="colFirst"><code>void</code></td>
@@ -362,9 +364,16 @@
 <li class="blockList">
 <h4>copy</h4>
 <pre>public&nbsp;void&nbsp;copy(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;that)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html#copy-org.apache.sysds.runtime.matrix.data.MatrixValue-">MatrixValue</a></code></span></div>
+<div class="block">Copy this MatrixValue into that MatrixValue.
+ 
+ If the MatrixValue is a MatrixBlock evaluate the sparsity of the original matrix,
+ and copy into either a sparse or a dense matrix.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
 <dd><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixCell.html#copy-org.apache.sysds.runtime.matrix.data.MatrixValue-">copy</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixCell.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixCell</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>that</code> - object to copy the values into.</dd>
 </dl>
 </li>
 </ul>
@@ -609,6 +618,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/WeightedPair.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/WeightedPair.html
index 16fb85d..c090b91 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/WeightedPair.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/WeightedPair.html
@@ -190,7 +190,9 @@
 </tr>
 <tr id="i1" class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/WeightedPair.html#copy-org.apache.sysds.runtime.matrix.data.MatrixValue-">copy</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;that)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/WeightedPair.html#copy-org.apache.sysds.runtime.matrix.data.MatrixValue-">copy</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;that)</code>
+<div class="block">Copy this MatrixValue into that MatrixValue.</div>
+</td>
 </tr>
 <tr id="i2" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
@@ -329,9 +331,16 @@
 <li class="blockList">
 <h4>copy</h4>
 <pre>public&nbsp;void&nbsp;copy(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;that)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html#copy-org.apache.sysds.runtime.matrix.data.MatrixValue-">MatrixValue</a></code></span></div>
+<div class="block">Copy this MatrixValue into that MatrixValue.
+ 
+ If the MatrixValue is a MatrixBlock evaluate the sparsity of the original matrix,
+ and copy into either a sparse or a dense matrix.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
 <dd><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/WeightedCell.html#copy-org.apache.sysds.runtime.matrix.data.MatrixValue-">copy</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/WeightedCell.html" title="class in org.apache.sysds.runtime.matrix.data">WeightedCell</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>that</code> - object to copy the values into.</dd>
 </dl>
 </li>
 </ul>
@@ -463,6 +472,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/BinaryBlockToTextCellConverter.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/BinaryBlockToTextCellConverter.html
index 449e71f..eea8192 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/BinaryBlockToTextCellConverter.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/BinaryBlockToTextCellConverter.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/CM_N_COVCell.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/CM_N_COVCell.html
index 0495be3..c17e60b 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/CM_N_COVCell.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/CM_N_COVCell.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/CTableMap.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/CTableMap.html
index c6e1bfc..e9055bed 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/CTableMap.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/CTableMap.html
@@ -116,7 +116,7 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-double-double-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ctableOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-double-double-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ctableOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
                 double&nbsp;scalar,
                 double&nbsp;scalar2,
                 <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/CTableMap.html" title="class in org.apache.sysds.runtime.matrix.data">CTableMap</a>&nbsp;resultMap,
@@ -124,7 +124,7 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-double-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ctableOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-double-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ctableOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
                 double&nbsp;scalar,
                 <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;that,
                 <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/CTableMap.html" title="class in org.apache.sysds.runtime.matrix.data">CTableMap</a>&nbsp;resultMap,
@@ -132,7 +132,7 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.runtime.matrix.data.MatrixIndexes-double-boolean-int-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ctableOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.runtime.matrix.data.MatrixIndexes-double-boolean-int-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ctableOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
                 <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixIndexes.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixIndexes</a>&nbsp;ix1,
                 double&nbsp;scalar,
                 boolean&nbsp;left,
@@ -142,7 +142,7 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.runtime.matrix.data.MatrixValue-double-boolean-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ctableOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.runtime.matrix.data.MatrixValue-double-boolean-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ctableOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
                 <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;that,
                 double&nbsp;scalar,
                 boolean&nbsp;ignoreZeros,
@@ -151,14 +151,14 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.CTableMap-">ctableOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.CTableMap-">ctableOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
                 <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;that,
                 <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;that2,
                 <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/CTableMap.html" title="class in org.apache.sysds.runtime.matrix.data">CTableMap</a>&nbsp;resultMap)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ctableOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ctableOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
                 <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;that,
                 <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;that2,
                 <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/CTableMap.html" title="class in org.apache.sysds.runtime.matrix.data">CTableMap</a>&nbsp;resultMap,
@@ -556,6 +556,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/Converter.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/Converter.html
index d756402..591519a 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/Converter.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/Converter.html
@@ -164,6 +164,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/CudaSupportFunctions.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/CudaSupportFunctions.html
index 6796c64..b4a4d1b 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/CudaSupportFunctions.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/CudaSupportFunctions.html
@@ -177,6 +177,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/DnnParameters.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/DnnParameters.html
index f17fe5b..fefd23b 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/DnnParameters.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/DnnParameters.html
@@ -306,6 +306,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/DoublePrecisionCudaSupportFunctions.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/DoublePrecisionCudaSupportFunctions.html
index e487958..4c3dfef 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/DoublePrecisionCudaSupportFunctions.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/DoublePrecisionCudaSupportFunctions.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/FrameBlock.ColumnMetadata.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/FrameBlock.ColumnMetadata.html
index edadad6..b0d3a61 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/FrameBlock.ColumnMetadata.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/FrameBlock.ColumnMetadata.html
@@ -228,6 +228,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/FrameBlock.FrameMapFunction.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/FrameBlock.FrameMapFunction.html
index 3965fc8..1bb43e2 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/FrameBlock.FrameMapFunction.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/FrameBlock.FrameMapFunction.html
@@ -119,6 +119,10 @@
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">FrameBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html#map-org.apache.sysds.runtime.matrix.data.FrameBlock.FrameMapFunction-">map</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.FrameMapFunction.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock.FrameMapFunction</a>&nbsp;lambdaExpr)</code>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">FrameBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html#mapDist-org.apache.sysds.runtime.matrix.data.FrameBlock.FrameMapFunction-">mapDist</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.FrameMapFunction.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock.FrameMapFunction</a>&nbsp;lambdaExpr)</code>&nbsp;</td>
+</tr>
 </tbody>
 </table>
 </li>
@@ -173,6 +177,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/FrameBlock.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/FrameBlock.html
index 53d032b..e4351ca 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/FrameBlock.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/FrameBlock.html
@@ -135,10 +135,14 @@
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><a href="#org.apache.sysds.runtime.util">org.apache.sysds.runtime.util</a></td>
+<td class="colFirst"><a href="#org.apache.sysds.runtime.transform.tokenize">org.apache.sysds.runtime.transform.tokenize</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.util">org.apache.sysds.runtime.util</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.utils">org.apache.sysds.utils</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
@@ -495,10 +499,14 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>scala.Tuple2&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">ParameterizedBuiltinSPInstruction.RDDTransformApplyFunction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDTransformApplyFunction.html#call-scala.Tuple2-">call</a></span>(scala.Tuple2&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&gt;&nbsp;in)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">ParameterizedBuiltinSPInstruction.RDDTokenizeFunction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDTokenizeFunction.html#call-scala.Tuple2-">call</a></span>(scala.Tuple2&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&gt;&nbsp;in)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>scala.Tuple2&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">ParameterizedBuiltinSPInstruction.RDDTransformApplyFunction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDTransformApplyFunction.html#call-scala.Tuple2-">call</a></span>(scala.Tuple2&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&gt;&nbsp;in)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>scala.Tuple2&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">ParameterizedBuiltinSPInstruction.RDDTransformDecodeFunction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDTransformDecodeFunction.html#call-scala.Tuple2-">call</a></span>(scala.Tuple2&lt;<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixIndexes.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixIndexes</a>,<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&gt;&nbsp;in)</code>&nbsp;</td>
 </tr>
 </tbody>
@@ -520,9 +528,13 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>scala.Tuple2&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">ParameterizedBuiltinSPInstruction.RDDTransformApplyFunction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDTransformApplyFunction.html#call-scala.Tuple2-">call</a></span>(scala.Tuple2&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&gt;&nbsp;in)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">ParameterizedBuiltinSPInstruction.RDDTokenizeFunction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDTokenizeFunction.html#call-scala.Tuple2-">call</a></span>(scala.Tuple2&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&gt;&nbsp;in)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><code>scala.Tuple2&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">ParameterizedBuiltinSPInstruction.RDDTransformApplyFunction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDTransformApplyFunction.html#call-scala.Tuple2-">call</a></span>(scala.Tuple2&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&gt;&nbsp;in)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><code>scala.Tuple2&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">ParameterizedBuiltinSPInstruction.RDDTransformApplyOffsetFunction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDTransformApplyOffsetFunction.html#call-scala.Tuple2-">call</a></span>(scala.Tuple2&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&gt;&nbsp;in)</code>&nbsp;</td>
 </tr>
@@ -1020,7 +1032,7 @@
 <td class="colLast"><span class="typeNameLabel">FrameBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html#append-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.FrameBlock-boolean-">append</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;that,
       <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;ret,
       boolean&nbsp;cbind)</code>
-<div class="block">Appends the given argument frameblock 'that' to this frameblock by 
+<div class="block">Appends the given argument frameblock 'that' to this frameblock by
  creating a deep copy to prevent side effects.</div>
 </td>
 </tr>
@@ -1084,16 +1096,20 @@
 <td class="colLast"><span class="typeNameLabel">FrameBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html#map-java.lang.String-">map</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;lambdaExpr)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">FrameBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html#mapDist-org.apache.sysds.runtime.matrix.data.FrameBlock.FrameMapFunction-">mapDist</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.FrameMapFunction.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock.FrameMapFunction</a>&nbsp;lambdaExpr)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">FrameBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html#mergeSchema-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.FrameBlock-">mergeSchema</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;temp1,
            <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;temp2)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">FrameBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html#slice-org.apache.sysds.runtime.util.IndexRange-org.apache.sysds.runtime.matrix.data.FrameBlock-">slice</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixrange,
      <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;ret)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">FrameBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html#slice-int-int-int-int-org.apache.sysds.runtime.controlprogram.caching.CacheBlock-">slice</a></span>(int&nbsp;rl,
      int&nbsp;ru,
@@ -1103,7 +1119,7 @@
 <div class="block">Right indexing operations to slice a subframe out of this frame block.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">FrameBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html#zeroOutOperations-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.util.IndexRange-boolean-int-int-int-int-">zeroOutOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;result,
                  <a href="../../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;range,
@@ -1118,6 +1134,23 @@
 </tbody>
 </table>
 <table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/package-summary.html">org.apache.sysds.runtime.matrix.data</a> that return types with arguments of type <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/Pair.html" title="class in org.apache.sysds.runtime.matrix.data">Pair</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">OperationsOnMatrixValues.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/OperationsOnMatrixValues.html#performSlice-org.apache.sysds.runtime.matrix.data.Pair-org.apache.sysds.runtime.util.IndexRange-int-">performSlice</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/Pair.html" title="class in org.apache.sysds.runtime.matrix.data">Pair</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&gt;&nbsp;in,
+            <a href="../../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixrange,
+            int&nbsp;blen)</code>
+<div class="block">This function will get slice of the input frame block overlapping in overall slice(Range), slice has requested for.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
 <caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/package-summary.html">org.apache.sysds.runtime.matrix.data</a> with parameters of type <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
@@ -1129,7 +1162,7 @@
 <td class="colLast"><span class="typeNameLabel">FrameBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html#append-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.FrameBlock-boolean-">append</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;that,
       <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;ret,
       boolean&nbsp;cbind)</code>
-<div class="block">Appends the given argument frameblock 'that' to this frameblock by 
+<div class="block">Appends the given argument frameblock 'that' to this frameblock by
  creating a deep copy to prevent side effects.</div>
 </td>
 </tr>
@@ -1238,24 +1271,14 @@
             <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/Pair.html" title="class in org.apache.sysds.runtime.matrix.data">Pair</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&gt;&gt;&nbsp;outlist)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><span class="typeNameLabel">OperationsOnMatrixValues.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/OperationsOnMatrixValues.html#performSlice-org.apache.sysds.runtime.matrix.data.Pair-org.apache.sysds.runtime.util.IndexRange-int-java.util.ArrayList-">performSlice</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/Pair.html" title="class in org.apache.sysds.runtime.matrix.data">Pair</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&gt;&nbsp;in,
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/Pair.html" title="class in org.apache.sysds.runtime.matrix.data">Pair</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">OperationsOnMatrixValues.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/OperationsOnMatrixValues.html#performSlice-org.apache.sysds.runtime.matrix.data.Pair-org.apache.sysds.runtime.util.IndexRange-int-">performSlice</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/Pair.html" title="class in org.apache.sysds.runtime.matrix.data">Pair</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&gt;&nbsp;in,
             <a href="../../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixrange,
-            int&nbsp;blen,
-            <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/Pair.html" title="class in org.apache.sysds.runtime.matrix.data">Pair</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&gt;&gt;&nbsp;outlist)</code>
+            int&nbsp;blen)</code>
 <div class="block">This function will get slice of the input frame block overlapping in overall slice(Range), slice has requested for.</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><span class="typeNameLabel">OperationsOnMatrixValues.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/OperationsOnMatrixValues.html#performSlice-org.apache.sysds.runtime.matrix.data.Pair-org.apache.sysds.runtime.util.IndexRange-int-java.util.ArrayList-">performSlice</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/Pair.html" title="class in org.apache.sysds.runtime.matrix.data">Pair</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&gt;&nbsp;in,
-            <a href="../../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixrange,
-            int&nbsp;blen,
-            <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/Pair.html" title="class in org.apache.sysds.runtime.matrix.data">Pair</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&gt;&gt;&nbsp;outlist)</code>
-<div class="block">This function will get slice of the input frame block overlapping in overall slice(Range), slice has requested for.</div>
-</td>
-</tr>
-<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">FrameBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html#slice-java.util.ArrayList-org.apache.sysds.runtime.util.IndexRange-int-">slice</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/Pair.html" title="class in org.apache.sysds.runtime.matrix.data">Pair</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&gt;&gt;&nbsp;outlist,
      <a href="../../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;range,
@@ -1272,7 +1295,7 @@
 <tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html#FrameBlock-org.apache.sysds.runtime.matrix.data.FrameBlock-">FrameBlock</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;that)</code>
 <div class="block">Copy constructor for frame blocks, which uses a shallow copy for
- the schema (column types and names) but a deep copy for meta data 
+ the schema (column types and names) but a deep copy for meta data
  and actual column data.</div>
 </td>
 </tr>
@@ -1423,11 +1446,21 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">EncoderRecode.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderRecode.html#getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">getMetaData</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">ColumnEncoderPassThrough.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderPassThrough.html#getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">getMetaData</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">EncoderComposite.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderComposite.html#getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">getMetaData</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;out)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">ColumnEncoderComposite.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html#getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">getMetaData</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;out)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>abstract <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">LegacyEncoder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">getMetaData</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;out)</code>
+<div class="block">Construct a frame block out of the transform meta data.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColumnEncoderDummycode.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderDummycode.html#getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">getMetaData</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></code></td>
@@ -1438,26 +1471,26 @@
 <td class="colLast"><span class="typeNameLabel">EncoderOmit.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderOmit.html#getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">getMetaData</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;out)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>abstract <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></code></td>
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">Encoder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">getMetaData</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;out)</code>
 <div class="block">Construct a frame block out of the transform meta data.</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">EncoderDummycode.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderDummycode.html#getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">getMetaData</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;out)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">MultiColumnEncoder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">getMetaData</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">EncoderPassThrough.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderPassThrough.html#getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">getMetaData</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">ColumnEncoderRecode.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderRecode.html#getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">getMetaData</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">EncoderBin.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderBin.html#getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">getMetaData</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">ColumnEncoderFeatureHash.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderFeatureHash.html#getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">getMetaData</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">EncoderFeatureHash.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderFeatureHash.html#getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">getMetaData</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">ColumnEncoderBin.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderBin.html#getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">getMetaData</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</code>&nbsp;</td>
 </tr>
 </tbody>
 </table>
@@ -1470,13 +1503,14 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">EncoderRecode.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderRecode.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">apply</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
-     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">MultiColumnEncoder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-">apply</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">EncoderComposite.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderComposite.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">apply</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
-     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</code>&nbsp;</td>
+<td class="colFirst"><code>abstract <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">LegacyEncoder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">apply</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
+     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</code>
+<div class="block">Encode input data blockwise according to existing transform meta data (transform apply).</div>
+</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
@@ -1489,84 +1523,146 @@
      <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>abstract <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">Encoder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">apply</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
-     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</code>
-<div class="block">Encode input data blockwise according to existing transform meta
- data (transform apply).</div>
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColumnEncoderPassThrough.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderPassThrough.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">apply</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
+     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
+     int&nbsp;outputCol)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColumnEncoderComposite.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">apply</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
+     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
+     int&nbsp;outputCol)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColumnEncoderDummycode.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderDummycode.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">apply</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
+     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
+     int&nbsp;outputCol)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">Encoder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">apply</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
+     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
+     int&nbsp;outputCol)</code>
+<div class="block">Apply the generated metadata to the FrameBlock and saved the result in out.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">MultiColumnEncoder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">apply</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
+     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
+     int&nbsp;outputCol)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColumnEncoderRecode.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderRecode.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">apply</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
+     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
+     int&nbsp;outputCol)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColumnEncoderFeatureHash.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderFeatureHash.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">apply</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
+     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
+     int&nbsp;outputCol)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColumnEncoderBin.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderBin.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">apply</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
+     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
+     int&nbsp;outputCol)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">ColumnEncoderPassThrough.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderPassThrough.html#build-org.apache.sysds.runtime.matrix.data.FrameBlock-">build</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">ColumnEncoderComposite.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html#build-org.apache.sysds.runtime.matrix.data.FrameBlock-">build</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>abstract void</code></td>
+<td class="colLast"><span class="typeNameLabel">LegacyEncoder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#build-org.apache.sysds.runtime.matrix.data.FrameBlock-">build</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in)</code>
+<div class="block">Build the transform meta data for the given block input.</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">EncoderDummycode.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderDummycode.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">apply</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
-     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">EncoderPassThrough.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderPassThrough.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">apply</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
-     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">EncoderBin.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderBin.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">apply</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
-     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">EncoderFeatureHash.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderFeatureHash.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">apply</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
-     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">EncoderRecode.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderRecode.html#build-org.apache.sysds.runtime.matrix.data.FrameBlock-">build</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">ColumnEncoderDummycode.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderDummycode.html#build-org.apache.sysds.runtime.matrix.data.FrameBlock-">build</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">EncoderComposite.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderComposite.html#build-org.apache.sysds.runtime.matrix.data.FrameBlock-">build</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">EncoderMVImpute.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html#build-org.apache.sysds.runtime.matrix.data.FrameBlock-">build</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">EncoderOmit.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderOmit.html#build-org.apache.sysds.runtime.matrix.data.FrameBlock-">build</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
-<td class="colFirst"><code>abstract void</code></td>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">Encoder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#build-org.apache.sysds.runtime.matrix.data.FrameBlock-">build</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in)</code>
 <div class="block">Build the transform meta data for the given block input.</div>
 </td>
 </tr>
-<tr class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">EncoderDummycode.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderDummycode.html#build-org.apache.sysds.runtime.matrix.data.FrameBlock-">build</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in)</code>&nbsp;</td>
-</tr>
 <tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">EncoderPassThrough.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderPassThrough.html#build-org.apache.sysds.runtime.matrix.data.FrameBlock-">build</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">MultiColumnEncoder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#build-org.apache.sysds.runtime.matrix.data.FrameBlock-">build</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">EncoderBin.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderBin.html#build-org.apache.sysds.runtime.matrix.data.FrameBlock-">build</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">ColumnEncoderRecode.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderRecode.html#build-org.apache.sysds.runtime.matrix.data.FrameBlock-">build</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">EncoderFeatureHash.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderFeatureHash.html#build-org.apache.sysds.runtime.matrix.data.FrameBlock-">build</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">ColumnEncoderFeatureHash.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderFeatureHash.html#build-org.apache.sysds.runtime.matrix.data.FrameBlock-">build</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">EncoderRecode.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderRecode.html#buildPartial-org.apache.sysds.runtime.matrix.data.FrameBlock-">buildPartial</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">ColumnEncoderBin.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderBin.html#build-org.apache.sysds.runtime.matrix.data.FrameBlock-">build</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></td>
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">ColumnEncoderComposite.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html#buildPartial-org.apache.sysds.runtime.matrix.data.FrameBlock-">buildPartial</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">LegacyEncoder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#buildPartial-org.apache.sysds.runtime.matrix.data.FrameBlock-">buildPartial</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in)</code>
+<div class="block">Partial build of internal data structures (e.g., in distributed spark operations).</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">Encoder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#buildPartial-org.apache.sysds.runtime.matrix.data.FrameBlock-">buildPartial</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in)</code>
+<div class="block">Partial build of internal data structures (e.g., in distributed spark operations).</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">MultiColumnEncoder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#buildPartial-org.apache.sysds.runtime.matrix.data.FrameBlock-">buildPartial</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">ColumnEncoderRecode.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderRecode.html#buildPartial-org.apache.sysds.runtime.matrix.data.FrameBlock-">buildPartial</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">ColumnEncoderBin.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderBin.html#buildPartial-org.apache.sysds.runtime.matrix.data.FrameBlock-">buildPartial</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">ColumnEncoder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#buildPartial-org.apache.sysds.runtime.matrix.data.FrameBlock-">buildPartial</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in)</code>
+<div class="block">Partial build of internal data structures (e.g., in distributed spark operations).</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a></code></td>
 <td class="colLast"><span class="typeNameLabel">EncoderFactory.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderFactory.html#createEncoder-java.lang.String-java.lang.String:A-int-org.apache.sysds.runtime.matrix.data.FrameBlock-">createEncoder</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;spec,
              <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;colnames,
              int&nbsp;clen,
              <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></td>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a></code></td>
 <td class="colLast"><span class="typeNameLabel">EncoderFactory.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderFactory.html#createEncoder-java.lang.String-java.lang.String:A-int-org.apache.sysds.runtime.matrix.data.FrameBlock-int-int-">createEncoder</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;spec,
              <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;colnames,
              int&nbsp;clen,
@@ -1574,15 +1670,15 @@
              int&nbsp;minCol,
              int&nbsp;maxCol)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
-<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></td>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a></code></td>
 <td class="colLast"><span class="typeNameLabel">EncoderFactory.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderFactory.html#createEncoder-java.lang.String-java.lang.String:A-org.apache.sysds.common.Types.ValueType:A-org.apache.sysds.runtime.matrix.data.FrameBlock-">createEncoder</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;spec,
              <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;colnames,
              <a href="../../../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>[]&nbsp;schema,
              <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></td>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a></code></td>
 <td class="colLast"><span class="typeNameLabel">EncoderFactory.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderFactory.html#createEncoder-java.lang.String-java.lang.String:A-org.apache.sysds.common.Types.ValueType:A-org.apache.sysds.runtime.matrix.data.FrameBlock-int-int-">createEncoder</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;spec,
              <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;colnames,
              <a href="../../../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>[]&nbsp;schema,
@@ -1590,86 +1686,71 @@
              int&nbsp;minCol,
              int&nbsp;maxCol)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
-<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></td>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a></code></td>
 <td class="colLast"><span class="typeNameLabel">EncoderFactory.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderFactory.html#createEncoder-java.lang.String-java.lang.String:A-org.apache.sysds.common.Types.ValueType:A-int-org.apache.sysds.runtime.matrix.data.FrameBlock-">createEncoder</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;spec,
              <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;colnames,
              <a href="../../../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>[]&nbsp;schema,
              int&nbsp;clen,
              <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">EncoderRecode.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderRecode.html#encode-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">encode</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
-      <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</code>&nbsp;</td>
-</tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">EncoderComposite.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderComposite.html#encode-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">encode</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
-      <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">EncoderMVImpute.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html#encode-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">encode</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
-      <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">EncoderOmit.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderOmit.html#encode-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">encode</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
-      <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">MultiColumnEncoder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#encode-org.apache.sysds.runtime.matrix.data.FrameBlock-">encode</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>abstract <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">Encoder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#encode-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">encode</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
+<td class="colLast"><span class="typeNameLabel">LegacyEncoder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#encode-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">encode</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
       <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</code>
 <div class="block">Block encode: build and apply (transform encode).</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">EncoderDummycode.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderDummycode.html#encode-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">encode</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
+<td class="colLast"><span class="typeNameLabel">EncoderMVImpute.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html#encode-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">encode</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
       <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">EncoderPassThrough.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderPassThrough.html#encode-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">encode</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
+<td class="colLast"><span class="typeNameLabel">EncoderOmit.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderOmit.html#encode-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">encode</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
       <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">EncoderBin.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderBin.html#encode-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">encode</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
-      <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">MultiColumnEncoder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#getColMapping-org.apache.sysds.runtime.matrix.data.FrameBlock-">getColMapping</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</code>
+<div class="block">Obtain the column mapping of encoded frames based on the passed meta data frame.</div>
+</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">EncoderFeatureHash.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderFeatureHash.html#encode-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">encode</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
-      <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">EncoderComposite.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderComposite.html#getColMapping-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">getColMapping</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta,
-             <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">Encoder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#getColMapping-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">getColMapping</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta,
-             <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</code>
-<div class="block">Obtain the column mapping of encoded frames based on the passed
- meta data frame.</div>
+<td class="colLast"><span class="typeNameLabel">ColumnEncoder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#getColMapping-org.apache.sysds.runtime.matrix.data.FrameBlock-">getColMapping</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</code>
+<div class="block">Obtain the column mapping of encoded frames based on the passed meta data frame.</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">EncoderDummycode.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderDummycode.html#getColMapping-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">getColMapping</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta,
-             <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">LegacyEncoder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#getColMapping-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">getColMapping</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta,
+             <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</code>
+<div class="block">Obtain the column mapping of encoded frames based on the passed meta data frame.</div>
+</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">EncoderRecode.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderRecode.html#getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">getMetaData</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">ColumnEncoderPassThrough.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderPassThrough.html#getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">getMetaData</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">EncoderComposite.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderComposite.html#getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">getMetaData</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;out)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">ColumnEncoderComposite.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html#getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">getMetaData</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;out)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>abstract <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">LegacyEncoder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">getMetaData</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;out)</code>
+<div class="block">Construct a frame block out of the transform meta data.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColumnEncoderDummycode.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderDummycode.html#getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">getMetaData</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></code></td>
@@ -1680,37 +1761,44 @@
 <td class="colLast"><span class="typeNameLabel">EncoderOmit.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderOmit.html#getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">getMetaData</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;out)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>abstract <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></code></td>
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">Encoder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">getMetaData</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;out)</code>
 <div class="block">Construct a frame block out of the transform meta data.</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">EncoderDummycode.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderDummycode.html#getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">getMetaData</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;out)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">MultiColumnEncoder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">getMetaData</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">EncoderPassThrough.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderPassThrough.html#getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">getMetaData</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">ColumnEncoderRecode.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderRecode.html#getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">getMetaData</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">EncoderBin.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderBin.html#getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">getMetaData</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">ColumnEncoderFeatureHash.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderFeatureHash.html#getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">getMetaData</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">EncoderFeatureHash.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderFeatureHash.html#getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">getMetaData</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">ColumnEncoderBin.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderBin.html#getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">getMetaData</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">EncoderRecode.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderRecode.html#initMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">initMetaData</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</code>
-<div class="block">Construct the recodemaps from the given input frame for all 
- columns registered for recode.</div>
+<td class="colLast"><span class="typeNameLabel">ColumnEncoderPassThrough.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderPassThrough.html#initMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">initMetaData</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">ColumnEncoderComposite.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html#initMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">initMetaData</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;out)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>abstract void</code></td>
+<td class="colLast"><span class="typeNameLabel">LegacyEncoder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#initMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">initMetaData</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</code>
+<div class="block">Sets up the required meta data for a subsequent call to apply.</div>
 </td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">EncoderComposite.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderComposite.html#initMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">initMetaData</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;out)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">ColumnEncoderDummycode.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderDummycode.html#initMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">initMetaData</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
@@ -1721,26 +1809,44 @@
 <td class="colLast"><span class="typeNameLabel">EncoderOmit.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderOmit.html#initMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">initMetaData</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>abstract void</code></td>
+<td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">Encoder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#initMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">initMetaData</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</code>
 <div class="block">Sets up the required meta data for a subsequent call to apply.</div>
 </td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">EncoderDummycode.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderDummycode.html#initMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">initMetaData</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">MultiColumnEncoder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#initMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">initMetaData</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">EncoderPassThrough.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderPassThrough.html#initMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">initMetaData</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">ColumnEncoderRecode.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderRecode.html#initMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">initMetaData</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</code>
+<div class="block">Construct the recodemaps from the given input frame for all columns registered for recode.</div>
+</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">EncoderBin.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderBin.html#initMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">initMetaData</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">ColumnEncoderFeatureHash.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderFeatureHash.html#initMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">initMetaData</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">EncoderFeatureHash.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderFeatureHash.html#initMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">initMetaData</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">ColumnEncoderBin.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderBin.html#initMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">initMetaData</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">MultiColumnEncoder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#legacyBuild-org.apache.sysds.runtime.matrix.data.FrameBlock-">legacyBuild</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/package-summary.html">org.apache.sysds.runtime.transform.encode</a> with parameters of type <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html#ColumnEncoderComposite-java.util.List-org.apache.sysds.runtime.matrix.data.FrameBlock-">ColumnEncoderComposite</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a>&gt;&nbsp;columnEncoders,
+                      <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</code>&nbsp;</td>
 </tr>
 </tbody>
 </table>
@@ -1777,6 +1883,103 @@
 </tbody>
 </table>
 </li>
+<li class="blockList"><a name="org.apache.sysds.runtime.transform.tokenize">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a> in <a href="../../../../../../../org/apache/sysds/runtime/transform/tokenize/package-summary.html">org.apache.sysds.runtime.transform.tokenize</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/transform/tokenize/package-summary.html">org.apache.sysds.runtime.transform.tokenize</a> that return <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">Tokenizer.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/tokenize/Tokenizer.html#tokenize-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.FrameBlock-">tokenize</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
+        <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;out)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">TokenizerPostPosition.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPostPosition.html#tokenizePost-java.util.List-org.apache.sysds.runtime.matrix.data.FrameBlock-">tokenizePost</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.sysds.runtime.transform.tokenize.Tokenizer.DocumentToTokens&gt;&nbsp;tl,
+            <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;out)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">TokenizerPostCount.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPostCount.html#tokenizePost-java.util.List-org.apache.sysds.runtime.matrix.data.FrameBlock-">tokenizePost</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.sysds.runtime.transform.tokenize.Tokenizer.DocumentToTokens&gt;&nbsp;tl,
+            <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;out)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">TokenizerPost.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPost.html#tokenizePost-java.util.List-org.apache.sysds.runtime.matrix.data.FrameBlock-">tokenizePost</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.sysds.runtime.transform.tokenize.Tokenizer.DocumentToTokens&gt;&nbsp;tl,
+            <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;out)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">TokenizerPostHash.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPostHash.html#tokenizePost-java.util.List-org.apache.sysds.runtime.matrix.data.FrameBlock-">tokenizePost</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.sysds.runtime.transform.tokenize.Tokenizer.DocumentToTokens&gt;&nbsp;tl,
+            <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;out)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/transform/tokenize/package-summary.html">org.apache.sysds.runtime.transform.tokenize</a> with parameters of type <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">TokenizerPostPosition.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPostPosition.html#appendTokensLong-java.util.List-java.util.List-org.apache.sysds.runtime.matrix.data.FrameBlock-">appendTokensLong</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;&nbsp;keys,
+                <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.sysds.runtime.transform.tokenize.Tokenizer.Token&gt;&nbsp;tokenList,
+                <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;out)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">TokenizerPostPosition.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPostPosition.html#appendTokensWide-java.util.List-java.util.List-org.apache.sysds.runtime.matrix.data.FrameBlock-">appendTokensWide</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;&nbsp;keys,
+                <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.sysds.runtime.transform.tokenize.Tokenizer.Token&gt;&nbsp;tokenList,
+                <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;out)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">Tokenizer.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/tokenize/Tokenizer.html#tokenize-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.FrameBlock-">tokenize</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
+        <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;out)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">TokenizerPostPosition.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPostPosition.html#tokenizePost-java.util.List-org.apache.sysds.runtime.matrix.data.FrameBlock-">tokenizePost</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.sysds.runtime.transform.tokenize.Tokenizer.DocumentToTokens&gt;&nbsp;tl,
+            <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;out)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">TokenizerPostCount.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPostCount.html#tokenizePost-java.util.List-org.apache.sysds.runtime.matrix.data.FrameBlock-">tokenizePost</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.sysds.runtime.transform.tokenize.Tokenizer.DocumentToTokens&gt;&nbsp;tl,
+            <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;out)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">TokenizerPost.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPost.html#tokenizePost-java.util.List-org.apache.sysds.runtime.matrix.data.FrameBlock-">tokenizePost</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.sysds.runtime.transform.tokenize.Tokenizer.DocumentToTokens&gt;&nbsp;tl,
+            <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;out)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">TokenizerPostHash.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPostHash.html#tokenizePost-java.util.List-org.apache.sysds.runtime.matrix.data.FrameBlock-">tokenizePost</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.sysds.runtime.transform.tokenize.Tokenizer.DocumentToTokens&gt;&nbsp;tl,
+            <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;out)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.sysds.runtime.transform.tokenize.Tokenizer.DocumentToTokens&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">TokenizerPre.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPre.html#tokenizePre-org.apache.sysds.runtime.matrix.data.FrameBlock-">tokenizePre</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.sysds.runtime.transform.tokenize.Tokenizer.DocumentToTokens&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">TokenizerPreNgram.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPreNgram.html#tokenizePre-org.apache.sysds.runtime.matrix.data.FrameBlock-">tokenizePre</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.sysds.runtime.transform.tokenize.Tokenizer.DocumentToTokens&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">TokenizerPreWhitespaceSplit.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPreWhitespaceSplit.html#tokenizePre-org.apache.sysds.runtime.matrix.data.FrameBlock-">tokenizePre</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
 <li class="blockList"><a name="org.apache.sysds.runtime.util">
 <!--   -->
 </a>
@@ -1826,6 +2029,25 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">EMAUtils.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/util/EMAUtils.html#exponentialMovingAverageImputation-org.apache.sysds.runtime.matrix.data.FrameBlock-int-java.lang.String-int-java.lang.Double-java.lang.Double-java.lang.Double-">exponentialMovingAverageImputation</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;block,
+                                  int&nbsp;search_iterations,
+                                  <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;mode,
+                                  int&nbsp;freq,
+                                  <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a>&nbsp;alpha,
+                                  <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a>&nbsp;beta,
+                                  <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a>&nbsp;gamma)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">UtilFunctions.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/util/UtilFunctions.html#generateRandomFrameBlock-int-int-org.apache.sysds.common.Types.ValueType:A-java.util.Random-">generateRandomFrameBlock</a></span>(int&nbsp;rows,
+                        int&nbsp;cols,
+                        <a href="../../../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>[]&nbsp;schema,
+                        <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Random.html?is-external=true" title="class or interface in java.util">Random</a>&nbsp;random)</code>
+<div class="block">Generates a random FrameBlock with given parameters.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">LocalFileUtils.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/util/LocalFileUtils.html#readFrameBlockFromLocal-java.lang.String-">readFrameBlockFromLocal</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;fname)</code>
 <div class="block">Reads a frame block from local file system.</div>
 </td>
@@ -1837,6 +2059,12 @@
  with special support for matrix blocks.</div>
 </td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">DMVUtils.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/util/DMVUtils.html#syntacticalPatternDiscovery-org.apache.sysds.runtime.matrix.data.FrameBlock-double-java.lang.String-">syntacticalPatternDiscovery</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;frame,
+                           double&nbsp;threshold,
+                           <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;disguised_value)</code>&nbsp;</td>
+</tr>
 </tbody>
 </table>
 <table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
@@ -1860,6 +2088,22 @@
 </td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">EMAUtils.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/util/EMAUtils.html#exponentialMovingAverageImputation-org.apache.sysds.runtime.matrix.data.FrameBlock-int-java.lang.String-int-java.lang.Double-java.lang.Double-java.lang.Double-">exponentialMovingAverageImputation</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;block,
+                                  int&nbsp;search_iterations,
+                                  <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;mode,
+                                  int&nbsp;freq,
+                                  <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a>&nbsp;alpha,
+                                  <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a>&nbsp;beta,
+                                  <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a>&nbsp;gamma)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">DMVUtils.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/util/DMVUtils.html#syntacticalPatternDiscovery-org.apache.sysds.runtime.matrix.data.FrameBlock-double-java.lang.String-">syntacticalPatternDiscovery</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;frame,
+                           double&nbsp;threshold,
+                           <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;disguised_value)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><span class="typeNameLabel">DataConverter.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/util/DataConverter.html#toString-org.apache.sysds.runtime.matrix.data.FrameBlock-">toString</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;fb)</code>&nbsp;</td>
 </tr>
@@ -2096,6 +2340,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/IJV.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/IJV.html
index b8ac50f..49e318a 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/IJV.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/IJV.html
@@ -83,22 +83,10 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><a href="#org.apache.sysds.runtime.compress">org.apache.sysds.runtime.compress</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="#org.apache.sysds.runtime.compress.colgroup">org.apache.sysds.runtime.compress.colgroup</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><a href="#org.apache.sysds.runtime.compress.utils">org.apache.sysds.runtime.compress.utils</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.data">org.apache.sysds.runtime.data</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.matrix.data">org.apache.sysds.runtime.matrix.data</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
@@ -107,103 +95,6 @@
 </li>
 <li class="blockList">
 <ul class="blockList">
-<li class="blockList"><a name="org.apache.sysds.runtime.compress">
-<!--   -->
-</a>
-<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/IJV.html" title="class in org.apache.sysds.runtime.matrix.data">IJV</a> in <a href="../../../../../../../org/apache/sysds/runtime/compress/package-summary.html">org.apache.sysds.runtime.compress</a></h3>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/compress/package-summary.html">org.apache.sysds.runtime.compress</a> that return types with arguments of type <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/IJV.html" title="class in org.apache.sysds.runtime.matrix.data">IJV</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/IJV.html" title="class in org.apache.sysds.runtime.matrix.data">IJV</a>&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#getIterator-int-int-boolean-">getIterator</a></span>(int&nbsp;rl,
-           int&nbsp;ru,
-           boolean&nbsp;inclZeros)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/IJV.html" title="class in org.apache.sysds.runtime.matrix.data">IJV</a>&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#getIterator-int-int-int-int-boolean-">getIterator</a></span>(int&nbsp;rl,
-           int&nbsp;ru,
-           int&nbsp;cgl,
-           int&nbsp;cgu,
-           boolean&nbsp;inclZeros)</code>&nbsp;</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList"><a name="org.apache.sysds.runtime.compress.colgroup">
-<!--   -->
-</a>
-<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/IJV.html" title="class in org.apache.sysds.runtime.matrix.data">IJV</a> in <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a></h3>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a> that return types with arguments of type <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/IJV.html" title="class in org.apache.sysds.runtime.matrix.data">IJV</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/IJV.html" title="class in org.apache.sysds.runtime.matrix.data">IJV</a>&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupOffset.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#getIterator-int-int-boolean-boolean-">getIterator</a></span>(int&nbsp;rl,
-           int&nbsp;ru,
-           boolean&nbsp;inclZeros,
-           boolean&nbsp;rowMajor)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/IJV.html" title="class in org.apache.sysds.runtime.matrix.data">IJV</a>&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupConst.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#getIterator-int-int-boolean-boolean-">getIterator</a></span>(int&nbsp;rl,
-           int&nbsp;ru,
-           boolean&nbsp;inclZeros,
-           boolean&nbsp;rowMajor)</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/IJV.html" title="class in org.apache.sysds.runtime.matrix.data">IJV</a>&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupDDC.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#getIterator-int-int-boolean-boolean-">getIterator</a></span>(int&nbsp;rl,
-           int&nbsp;ru,
-           boolean&nbsp;inclZeros,
-           boolean&nbsp;rowMajor)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>abstract <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/IJV.html" title="class in org.apache.sysds.runtime.matrix.data">IJV</a>&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroup.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getIterator-int-int-boolean-boolean-">getIterator</a></span>(int&nbsp;rl,
-           int&nbsp;ru,
-           boolean&nbsp;inclZeros,
-           boolean&nbsp;rowMajor)</code>
-<div class="block">Create a column group iterator for a row index range.</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/IJV.html" title="class in org.apache.sysds.runtime.matrix.data">IJV</a>&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupUncompressed.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#getIterator-int-int-boolean-boolean-">getIterator</a></span>(int&nbsp;rl,
-           int&nbsp;ru,
-           boolean&nbsp;inclZeros,
-           boolean&nbsp;rowMajor)</code>&nbsp;</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList"><a name="org.apache.sysds.runtime.compress.utils">
-<!--   -->
-</a>
-<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/IJV.html" title="class in org.apache.sysds.runtime.matrix.data">IJV</a> in <a href="../../../../../../../org/apache/sysds/runtime/compress/utils/package-summary.html">org.apache.sysds.runtime.compress.utils</a></h3>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/compress/utils/package-summary.html">org.apache.sysds.runtime.compress.utils</a> that return <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/IJV.html" title="class in org.apache.sysds.runtime.matrix.data">IJV</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/IJV.html" title="class in org.apache.sysds.runtime.matrix.data">IJV</a></code></td>
-<td class="colLast"><span class="typeNameLabel">ColumnGroupIterator.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/utils/ColumnGroupIterator.html#next--">next</a></span>()</code>&nbsp;</td>
-</tr>
-</tbody>
-</table>
-</li>
 <li class="blockList"><a name="org.apache.sysds.runtime.data">
 <!--   -->
 </a>
@@ -339,6 +230,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/LibCommonsMath.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/LibCommonsMath.html
index 473f9ee..81d6cc2 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/LibCommonsMath.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/LibCommonsMath.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/LibMatrixAgg.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/LibMatrixAgg.html
index 3299e53..5bacf9c 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/LibMatrixAgg.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/LibMatrixAgg.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/LibMatrixBincell.BinaryAccessType.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/LibMatrixBincell.BinaryAccessType.html
index 73d4e1d..fc9bea1 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/LibMatrixBincell.BinaryAccessType.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/LibMatrixBincell.BinaryAccessType.html
@@ -174,6 +174,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/LibMatrixBincell.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/LibMatrixBincell.html
index 3439b9c..ce6c720 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/LibMatrixBincell.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/LibMatrixBincell.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/LibMatrixCUDA.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/LibMatrixCUDA.html
index f540c72..2710219 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/LibMatrixCUDA.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/LibMatrixCUDA.html
@@ -172,6 +172,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/LibMatrixCountDistinct.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/LibMatrixCountDistinct.html
index 0b3c675..63a5fdf 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/LibMatrixCountDistinct.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/LibMatrixCountDistinct.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/LibMatrixCuDNN.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/LibMatrixCuDNN.html
index a475735..48605c5 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/LibMatrixCuDNN.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/LibMatrixCuDNN.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/LibMatrixCuDNNConvolutionAlgorithm.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/LibMatrixCuDNNConvolutionAlgorithm.html
index f5854d1..96bf8f7 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/LibMatrixCuDNNConvolutionAlgorithm.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/LibMatrixCuDNNConvolutionAlgorithm.html
@@ -219,6 +219,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/LibMatrixCuDNNInputRowFetcher.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/LibMatrixCuDNNInputRowFetcher.html
index 2442dd3..72340ad 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/LibMatrixCuDNNInputRowFetcher.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/LibMatrixCuDNNInputRowFetcher.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/LibMatrixCuDNNPoolingDescriptors.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/LibMatrixCuDNNPoolingDescriptors.html
index 0a07b01..293f8ba 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/LibMatrixCuDNNPoolingDescriptors.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/LibMatrixCuDNNPoolingDescriptors.html
@@ -198,6 +198,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/LibMatrixCuDNNRnnAlgorithm.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/LibMatrixCuDNNRnnAlgorithm.html
index e48f300..4ed1c36 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/LibMatrixCuDNNRnnAlgorithm.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/LibMatrixCuDNNRnnAlgorithm.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/LibMatrixCuMatMult.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/LibMatrixCuMatMult.html
index b6b58e2..15becb2 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/LibMatrixCuMatMult.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/LibMatrixCuMatMult.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/LibMatrixDNN.PoolingType.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/LibMatrixDNN.PoolingType.html
index c0f24ac..7594484 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/LibMatrixDNN.PoolingType.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/LibMatrixDNN.PoolingType.html
@@ -323,6 +323,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/LibMatrixDNN.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/LibMatrixDNN.html
index a4a0638..3b9e256 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/LibMatrixDNN.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/LibMatrixDNN.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/LibMatrixDNNConv2d.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/LibMatrixDNNConv2d.html
index 12ed2f4..ea75cfe 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/LibMatrixDNNConv2d.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/LibMatrixDNNConv2d.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/LibMatrixDNNHelper.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/LibMatrixDNNHelper.html
index b2be65b..3ad86f5 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/LibMatrixDNNHelper.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/LibMatrixDNNHelper.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/LibMatrixDNNIm2Col.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/LibMatrixDNNIm2Col.html
index 0994588..d4de468 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/LibMatrixDNNIm2Col.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/LibMatrixDNNIm2Col.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/LibMatrixDNNPooling.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/LibMatrixDNNPooling.html
index 28fe5eb..5a84e3a 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/LibMatrixDNNPooling.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/LibMatrixDNNPooling.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/LibMatrixDNNRelu.ReluBackward.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/LibMatrixDNNRelu.ReluBackward.html
index 091167a..126dca7 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/LibMatrixDNNRelu.ReluBackward.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/LibMatrixDNNRelu.ReluBackward.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/LibMatrixDNNRelu.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/LibMatrixDNNRelu.html
index 918f808..ec55449 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/LibMatrixDNNRelu.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/LibMatrixDNNRelu.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/LibMatrixDNNRotate180.Rotate180Worker.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/LibMatrixDNNRotate180.Rotate180Worker.html
index 3a97592..39525d1 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/LibMatrixDNNRotate180.Rotate180Worker.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/LibMatrixDNNRotate180.Rotate180Worker.html
@@ -164,6 +164,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/LibMatrixDNNRotate180.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/LibMatrixDNNRotate180.html
index fc14dc7..b1b413f 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/LibMatrixDNNRotate180.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/LibMatrixDNNRotate180.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/LibMatrixDatagen.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/LibMatrixDatagen.html
index 3fbed6c..17c72bd 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/LibMatrixDatagen.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/LibMatrixDatagen.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/LibMatrixMult.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/LibMatrixMult.html
index 160a5de..71df76f 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/LibMatrixMult.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/LibMatrixMult.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/LibMatrixNative.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/LibMatrixNative.html
index ae2d2ae..64383bf 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/LibMatrixNative.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/LibMatrixNative.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/LibMatrixOuterAgg.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/LibMatrixOuterAgg.html
index 81c8faa..09c3f14 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/LibMatrixOuterAgg.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/LibMatrixOuterAgg.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/LibMatrixReorg.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/LibMatrixReorg.html
index be65501..38896f6 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/LibMatrixReorg.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/LibMatrixReorg.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/lib/class-use/LibBinaryCellOp.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/LibMatrixTercell.html
similarity index 77%
copy from docs/api/java/org/apache/sysds/runtime/compress/lib/class-use/LibBinaryCellOp.html
copy to docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/LibMatrixTercell.html
index e62dd8b..f06b2a8 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/lib/class-use/LibBinaryCellOp.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/LibMatrixTercell.html
@@ -4,7 +4,7 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.sysds.runtime.compress.lib.LibBinaryCellOp (SystemDS 2.1.0-SNAPSHOT API)</title>
+<title>Uses of Class org.apache.sysds.runtime.matrix.data.LibMatrixTercell (SystemDS 2.1.0-SNAPSHOT API)</title>
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.sysds.runtime.compress.lib.LibBinaryCellOp (SystemDS 2.1.0-SNAPSHOT API)";
+            parent.document.title="Uses of Class org.apache.sysds.runtime.matrix.data.LibMatrixTercell (SystemDS 2.1.0-SNAPSHOT API)";
         }
     }
     catch(err) {
@@ -33,7 +33,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/LibBinaryCellOp.html" title="class in org.apache.sysds.runtime.compress.lib">Class</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixTercell.html" title="class in org.apache.sysds.runtime.matrix.data">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -47,8 +47,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/lib/class-use/LibBinaryCellOp.html" target="_top">Frames</a></li>
-<li><a href="LibBinaryCellOp.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/matrix/data/class-use/LibMatrixTercell.html" target="_top">Frames</a></li>
+<li><a href="LibMatrixTercell.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -70,9 +70,9 @@
 </a></div>
 <!-- ========= END OF TOP NAVBAR ========= -->
 <div class="header">
-<h2 title="Uses of Class org.apache.sysds.runtime.compress.lib.LibBinaryCellOp" class="title">Uses of Class<br>org.apache.sysds.runtime.compress.lib.LibBinaryCellOp</h2>
+<h2 title="Uses of Class org.apache.sysds.runtime.matrix.data.LibMatrixTercell" class="title">Uses of Class<br>org.apache.sysds.runtime.matrix.data.LibMatrixTercell</h2>
 </div>
-<div class="classUseContainer">No usage of org.apache.sysds.runtime.compress.lib.LibBinaryCellOp</div>
+<div class="classUseContainer">No usage of org.apache.sysds.runtime.matrix.data.LibMatrixTercell</div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
 <!--   -->
@@ -84,7 +84,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/LibBinaryCellOp.html" title="class in org.apache.sysds.runtime.compress.lib">Class</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixTercell.html" title="class in org.apache.sysds.runtime.matrix.data">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -98,8 +98,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/lib/class-use/LibBinaryCellOp.html" target="_top">Frames</a></li>
-<li><a href="LibBinaryCellOp.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/matrix/data/class-use/LibMatrixTercell.html" target="_top">Frames</a></li>
+<li><a href="LibMatrixTercell.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/MatrixBlock.SparsityEstimate.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/MatrixBlock.SparsityEstimate.html
index 5e4386b..8cabbf7 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/MatrixBlock.SparsityEstimate.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/MatrixBlock.SparsityEstimate.html
@@ -162,6 +162,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/MatrixBlock.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/MatrixBlock.html
index 75fe003..c83d580 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/MatrixBlock.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/MatrixBlock.html
@@ -119,86 +119,90 @@
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.compress.readers">org.apache.sysds.runtime.compress.readers</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.compress.utils">org.apache.sysds.runtime.compress.utils</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.controlprogram.caching">org.apache.sysds.runtime.controlprogram.caching</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.controlprogram.context">org.apache.sysds.runtime.controlprogram.context</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.controlprogram.federated">org.apache.sysds.runtime.controlprogram.federated</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.controlprogram.paramserv">org.apache.sysds.runtime.controlprogram.paramserv</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.controlprogram.paramserv.dp">org.apache.sysds.runtime.controlprogram.paramserv.dp</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.controlprogram.parfor">org.apache.sysds.runtime.controlprogram.parfor</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.controlprogram.parfor.util">org.apache.sysds.runtime.controlprogram.parfor.util</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.data">org.apache.sysds.runtime.data</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.functionobjects">org.apache.sysds.runtime.functionobjects</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.spark">org.apache.sysds.runtime.instructions.spark</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.spark.data">org.apache.sysds.runtime.instructions.spark.data</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.spark.functions">org.apache.sysds.runtime.instructions.spark.functions</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.spark.utils">org.apache.sysds.runtime.instructions.spark.utils</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.io">org.apache.sysds.runtime.io</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.lineage">org.apache.sysds.runtime.lineage</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.matrix.data">org.apache.sysds.runtime.matrix.data</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.privacy.propagation">org.apache.sysds.runtime.privacy.propagation</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.transform.decode">org.apache.sysds.runtime.transform.decode</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.transform.encode">org.apache.sysds.runtime.transform.encode</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.util">org.apache.sysds.runtime.util</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
@@ -1096,10 +1100,6 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">AbstractCompressedMatrixBlock</a></span></code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></span></code>&nbsp;</td>
 </tr>
 </tbody>
@@ -1120,30 +1120,39 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#aggregateBinaryOperations-org.apache.sysds.runtime.matrix.data.MatrixIndexes-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixIndexes-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.AggregateBinaryOperator-">aggregateBinaryOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixIndexes.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixIndexes</a>&nbsp;m1Index,
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#aggregateBinaryOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.AggregateBinaryOperator-boolean-boolean-">aggregateBinaryOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m1,
+                         <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2,
+                         <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
+                         <a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateBinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateBinaryOperator</a>&nbsp;op,
+                         boolean&nbsp;transposeLeft,
+                         boolean&nbsp;transposeRight)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#aggregateBinaryOperations-org.apache.sysds.runtime.matrix.data.MatrixIndexes-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixIndexes-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.AggregateBinaryOperator-">aggregateBinaryOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixIndexes.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixIndexes</a>&nbsp;m1Index,
                          <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m1Value,
                          <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixIndexes.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixIndexes</a>&nbsp;m2Index,
                          <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2Value,
                          <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result,
                          <a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateBinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateBinaryOperator</a>&nbsp;op)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#aggregateTernaryOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.AggregateTernaryOperator-boolean-">aggregateTernaryOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m1,
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#aggregateTernaryOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.AggregateTernaryOperator-boolean-">aggregateTernaryOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m1,
                           <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2,
                           <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m3,
                           <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
                           <a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateTernaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateTernaryOperator</a>&nbsp;op,
                           boolean&nbsp;inCP)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#aggregateUnaryOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-int-org.apache.sysds.runtime.matrix.data.MatrixIndexes-">aggregateUnaryOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;op,
                         <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result,
                         int&nbsp;blen,
                         <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixIndexes.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixIndexes</a>&nbsp;indexesIn)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#aggregateUnaryOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-int-org.apache.sysds.runtime.matrix.data.MatrixIndexes-boolean-">aggregateUnaryOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;op,
                         <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result,
@@ -1151,27 +1160,33 @@
                         <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixIndexes.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixIndexes</a>&nbsp;indexesIn,
                         boolean&nbsp;inCP)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#append-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">append</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;that,
       <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#append-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-">append</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;that,
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#append-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-">append</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;that,
       <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
       boolean&nbsp;cbind)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#binaryOperations-org.apache.sysds.runtime.matrix.operators.BinaryOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-">binaryOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
                 <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;thatValue,
                 <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result)</code>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#binaryOperationsInPlace-org.apache.sysds.runtime.matrix.operators.BinaryOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-">binaryOperationsInPlace</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
+                       <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;thatValue)</code>&nbsp;</td>
+</tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#binaryOperationsInPlace-org.apache.sysds.runtime.matrix.operators.BinaryOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-">binaryOperationsInPlace</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
-                       <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;thatValue)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#binaryOperationsLeft-org.apache.sysds.runtime.matrix.operators.BinaryOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-">binaryOperationsLeft</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
+                    <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;thatValue,
+                    <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
@@ -1190,7 +1205,7 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#ctableSeqOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-double-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ctableSeqOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;that,
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#ctableSeqOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-double-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ctableSeqOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;that,
                    double&nbsp;scalar,
                    <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;resultBlock)</code>&nbsp;</td>
 </tr>
@@ -1201,35 +1216,39 @@
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>abstract <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#decompress--">decompress</a></span>()</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#decompress-int-">decompress</a></span>(int&nbsp;k)</code>
 <div class="block">Decompress block.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#groupedAggOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-int-org.apache.sysds.runtime.matrix.operators.Operator-">groupedAggOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;tgt,
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#getUncompressed--">getUncompressed</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#getUncompressed-org.apache.sysds.runtime.matrix.data.MatrixValue-">getUncompressed</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;mVal)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#groupedAggOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-int-org.apache.sysds.runtime.matrix.operators.Operator-">groupedAggOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;tgt,
                     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;wghts,
                     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;ret,
                     int&nbsp;ngroups,
                     <a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#groupedAggOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-int-org.apache.sysds.runtime.matrix.operators.Operator-int-">groupedAggOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;tgt,
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#groupedAggOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-int-org.apache.sysds.runtime.matrix.operators.Operator-int-">groupedAggOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;tgt,
                     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;wghts,
                     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;ret,
                     int&nbsp;ngroups,
                     <a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
                     int&nbsp;k)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#leftIndexingOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-int-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType-">leftIndexingOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;rhsMatrix,
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#leftIndexingOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-int-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType-">leftIndexingOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;rhsMatrix,
                       int&nbsp;rl,
                       int&nbsp;ru,
                       int&nbsp;cl,
@@ -1237,139 +1256,139 @@
                       <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
                       <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.UpdateType.html" title="enum in org.apache.sysds.runtime.controlprogram.caching">MatrixObject.UpdateType</a>&nbsp;update)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#leftIndexingOperations-org.apache.sysds.runtime.instructions.cp.ScalarObject-int-int-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType-">leftIndexingOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&nbsp;scalar,
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#leftIndexingOperations-org.apache.sysds.runtime.instructions.cp.ScalarObject-int-int-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType-">leftIndexingOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&nbsp;scalar,
                       int&nbsp;rl,
                       int&nbsp;cl,
                       <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
                       <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.UpdateType.html" title="enum in org.apache.sysds.runtime.controlprogram.caching">MatrixObject.UpdateType</a>&nbsp;update)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#quaternaryOperations-org.apache.sysds.runtime.matrix.operators.QuaternaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">quaternaryOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/QuaternaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">QuaternaryOperator</a>&nbsp;qop,
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#quaternaryOperations-org.apache.sysds.runtime.matrix.operators.QuaternaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">quaternaryOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/QuaternaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">QuaternaryOperator</a>&nbsp;qop,
                     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;um,
                     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;vm,
                     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;wm,
                     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#quaternaryOperations-org.apache.sysds.runtime.matrix.operators.QuaternaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">quaternaryOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/QuaternaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">QuaternaryOperator</a>&nbsp;qop,
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#quaternaryOperations-org.apache.sysds.runtime.matrix.operators.QuaternaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">quaternaryOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/QuaternaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">QuaternaryOperator</a>&nbsp;qop,
                     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;um,
                     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;vm,
                     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;wm,
                     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
                     int&nbsp;k)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#randOperationsInPlace-org.apache.sysds.runtime.matrix.data.RandomMatrixGenerator-org.apache.commons.math3.random.Well1024a-long-">randOperationsInPlace</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/RandomMatrixGenerator.html" title="class in org.apache.sysds.runtime.matrix.data">RandomMatrixGenerator</a>&nbsp;rgen,
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#randOperationsInPlace-org.apache.sysds.runtime.matrix.data.RandomMatrixGenerator-org.apache.commons.math3.random.Well1024a-long-">randOperationsInPlace</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/RandomMatrixGenerator.html" title="class in org.apache.sysds.runtime.matrix.data">RandomMatrixGenerator</a>&nbsp;rgen,
                      org.apache.commons.math3.random.Well1024a&nbsp;bigrand,
                      long&nbsp;bSeed)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#randOperationsInPlace-org.apache.sysds.runtime.matrix.data.RandomMatrixGenerator-org.apache.commons.math3.random.Well1024a-long-int-">randOperationsInPlace</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/RandomMatrixGenerator.html" title="class in org.apache.sysds.runtime.matrix.data">RandomMatrixGenerator</a>&nbsp;rgen,
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#randOperationsInPlace-org.apache.sysds.runtime.matrix.data.RandomMatrixGenerator-org.apache.commons.math3.random.Well1024a-long-int-">randOperationsInPlace</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/RandomMatrixGenerator.html" title="class in org.apache.sysds.runtime.matrix.data">RandomMatrixGenerator</a>&nbsp;rgen,
                      org.apache.commons.math3.random.Well1024a&nbsp;bigrand,
                      long&nbsp;bSeed,
                      int&nbsp;k)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#removeEmptyOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-boolean-">removeEmptyOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#removeEmptyOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-boolean-">removeEmptyOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
                      boolean&nbsp;rows,
                      boolean&nbsp;emptyReturn)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#removeEmptyOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-boolean-org.apache.sysds.runtime.matrix.data.MatrixBlock-">removeEmptyOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#removeEmptyOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-boolean-org.apache.sysds.runtime.matrix.data.MatrixBlock-">removeEmptyOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
                      boolean&nbsp;rows,
                      boolean&nbsp;emptyReturn,
                      <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;select)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#reorgOperations-org.apache.sysds.runtime.matrix.operators.ReorgOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-int-int-int-">reorgOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ReorgOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ReorgOperator</a>&nbsp;op,
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#reorgOperations-org.apache.sysds.runtime.matrix.operators.ReorgOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-int-int-int-">reorgOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ReorgOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ReorgOperator</a>&nbsp;op,
                <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;ret,
                int&nbsp;startRow,
                int&nbsp;startColumn,
                int&nbsp;length)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#replaceOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-double-double-">replaceOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result,
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#replaceOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-double-double-">replaceOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result,
                  double&nbsp;pattern,
                  double&nbsp;replacement)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#rexpandOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-double-boolean-boolean-boolean-int-">rexpandOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#rexpandOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-double-boolean-boolean-boolean-int-">rexpandOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
                  double&nbsp;max,
                  boolean&nbsp;rows,
                  boolean&nbsp;cast,
                  boolean&nbsp;ignore,
                  int&nbsp;k)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#scalarOperations-org.apache.sysds.runtime.matrix.operators.ScalarOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-">scalarOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;sop,
                 <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#seqOperationsInPlace-double-double-double-">seqOperationsInPlace</a></span>(double&nbsp;from,
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#seqOperationsInPlace-double-double-double-">seqOperationsInPlace</a></span>(double&nbsp;from,
                     double&nbsp;to,
                     double&nbsp;incr)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#slice-int-int-int-int-boolean-org.apache.sysds.runtime.controlprogram.caching.CacheBlock-">slice</a></span>(int&nbsp;rl,
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#slice-int-int-int-int-boolean-org.apache.sysds.runtime.controlprogram.caching.CacheBlock-">slice</a></span>(int&nbsp;rl,
      int&nbsp;ru,
      int&nbsp;cl,
      int&nbsp;cu,
      boolean&nbsp;deep,
      <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html" title="interface in org.apache.sysds.runtime.controlprogram.caching">CacheBlock</a>&nbsp;ret)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
-<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#sortOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixBlock-">sortOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;weights,
-              <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result)</code>&nbsp;</td>
-</tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#ternaryOperations-org.apache.sysds.runtime.matrix.operators.TernaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ternaryOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/TernaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">TernaryOperator</a>&nbsp;op,
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#sortOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixBlock-">sortOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;weights,
+              <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#ternaryOperations-org.apache.sysds.runtime.matrix.operators.TernaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ternaryOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/TernaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">TernaryOperator</a>&nbsp;op,
                  <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2,
                  <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m3,
                  <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#transposeSelfMatrixMultOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.lops.MMTSJ.MMTSJType-">transposeSelfMatrixMultOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
                                  <a href="../../../../../../../org/apache/sysds/lops/MMTSJ.MMTSJType.html" title="enum in org.apache.sysds.lops">MMTSJ.MMTSJType</a>&nbsp;tstype)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#transposeSelfMatrixMultOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.lops.MMTSJ.MMTSJType-int-">transposeSelfMatrixMultOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
                                  <a href="../../../../../../../org/apache/sysds/lops/MMTSJ.MMTSJType.html" title="enum in org.apache.sysds.lops">MMTSJ.MMTSJType</a>&nbsp;tstype,
                                  int&nbsp;k)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#uaggouterchainOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.BinaryOperator-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-">uaggouterchainOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mbLeft,
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#uaggouterchainOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.BinaryOperator-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-">uaggouterchainOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mbLeft,
                         <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mbRight,
                         <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mbOut,
                         <a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;bOp,
                         <a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;uaggOp)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#unaryOperations-org.apache.sysds.runtime.matrix.operators.UnaryOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-">unaryOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/UnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">UnaryOperator</a>&nbsp;op,
-               <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result)</code>&nbsp;</td>
-</tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#zeroOutOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.util.IndexRange-boolean-">zeroOutOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result,
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#unaryOperations-org.apache.sysds.runtime.matrix.operators.UnaryOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-">unaryOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/UnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">UnaryOperator</a>&nbsp;op,
+               <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#zeroOutOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.util.IndexRange-boolean-">zeroOutOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result,
                  <a href="../../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;range,
                  boolean&nbsp;complementary)</code>&nbsp;</td>
 </tr>
@@ -1422,41 +1441,50 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#aggregateBinaryOperations-org.apache.sysds.runtime.matrix.data.MatrixIndexes-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixIndexes-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.AggregateBinaryOperator-">aggregateBinaryOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixIndexes.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixIndexes</a>&nbsp;m1Index,
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#aggregateBinaryOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.AggregateBinaryOperator-boolean-boolean-">aggregateBinaryOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m1,
+                         <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2,
+                         <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
+                         <a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateBinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateBinaryOperator</a>&nbsp;op,
+                         boolean&nbsp;transposeLeft,
+                         boolean&nbsp;transposeRight)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#aggregateBinaryOperations-org.apache.sysds.runtime.matrix.data.MatrixIndexes-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixIndexes-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.AggregateBinaryOperator-">aggregateBinaryOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixIndexes.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixIndexes</a>&nbsp;m1Index,
                          <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m1Value,
                          <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixIndexes.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixIndexes</a>&nbsp;m2Index,
                          <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2Value,
                          <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result,
                          <a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateBinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateBinaryOperator</a>&nbsp;op)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#aggregateTernaryOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.AggregateTernaryOperator-boolean-">aggregateTernaryOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m1,
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#aggregateTernaryOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.AggregateTernaryOperator-boolean-">aggregateTernaryOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m1,
                           <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2,
                           <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m3,
                           <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
                           <a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateTernaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateTernaryOperator</a>&nbsp;op,
                           boolean&nbsp;inCP)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#append-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">append</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;that,
       <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#append-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-">append</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;that,
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#append-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-">append</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;that,
       <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
       boolean&nbsp;cbind)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#chainMatrixMultOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.lops.MapMultChain.ChainType-">chainMatrixMultOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;v,
                          <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;w,
                          <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
                          <a href="../../../../../../../org/apache/sysds/lops/MapMultChain.ChainType.html" title="enum in org.apache.sysds.lops">MapMultChain.ChainType</a>&nbsp;ctype)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#chainMatrixMultOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.lops.MapMultChain.ChainType-int-">chainMatrixMultOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;v,
                          <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;w,
@@ -1464,26 +1492,26 @@
                          <a href="../../../../../../../org/apache/sysds/lops/MapMultChain.ChainType.html" title="enum in org.apache.sysds.lops">MapMultChain.ChainType</a>&nbsp;ctype,
                          int&nbsp;k)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CM_COV_Object.html" title="class in org.apache.sysds.runtime.instructions.cp">CM_COV_Object</a></code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#cmOperations-org.apache.sysds.runtime.matrix.operators.CMOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-">cmOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/CMOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">CMOperator</a>&nbsp;op,
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#cmOperations-org.apache.sysds.runtime.matrix.operators.CMOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-">cmOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/CMOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">CMOperator</a>&nbsp;op,
             <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;weights)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static org.apache.commons.lang3.tuple.Pair&lt;<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>,<a href="../../../../../../../org/apache/sysds/runtime/compress/CompressionStatistics.html" title="class in org.apache.sysds.runtime.compress">CompressionStatistics</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">CompressedMatrixBlockFactory.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlockFactory.html#compress-org.apache.sysds.runtime.matrix.data.MatrixBlock-">compress</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mb)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static org.apache.commons.lang3.tuple.Pair&lt;<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>,<a href="../../../../../../../org/apache/sysds/runtime/compress/CompressionStatistics.html" title="class in org.apache.sysds.runtime.compress">CompressionStatistics</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">CompressedMatrixBlockFactory.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlockFactory.html#compress-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.compress.CompressionSettings-">compress</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mb,
         <a href="../../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;customSettings)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static org.apache.commons.lang3.tuple.Pair&lt;<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>,<a href="../../../../../../../org/apache/sysds/runtime/compress/CompressionStatistics.html" title="class in org.apache.sysds.runtime.compress">CompressionStatistics</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">CompressedMatrixBlockFactory.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlockFactory.html#compress-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">compress</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mb,
         int&nbsp;k)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static org.apache.commons.lang3.tuple.Pair&lt;<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>,<a href="../../../../../../../org/apache/sysds/runtime/compress/CompressionStatistics.html" title="class in org.apache.sysds.runtime.compress">CompressionStatistics</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">CompressedMatrixBlockFactory.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlockFactory.html#compress-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-org.apache.sysds.runtime.compress.CompressionSettings-">compress</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mb,
         int&nbsp;k,
@@ -1491,36 +1519,36 @@
 <div class="block">The main method for compressing the input matrix.</div>
 </td>
 </tr>
-<tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CM_COV_Object.html" title="class in org.apache.sysds.runtime.instructions.cp">CM_COV_Object</a></code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#covOperations-org.apache.sysds.runtime.matrix.operators.COVOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-">covOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/COVOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">COVOperator</a>&nbsp;op,
-             <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;that)</code>&nbsp;</td>
-</tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CM_COV_Object.html" title="class in org.apache.sysds.runtime.instructions.cp">CM_COV_Object</a></code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#covOperations-org.apache.sysds.runtime.matrix.operators.COVOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">covOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/COVOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">COVOperator</a>&nbsp;op,
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#covOperations-org.apache.sysds.runtime.matrix.operators.COVOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-">covOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/COVOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">COVOperator</a>&nbsp;op,
+             <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;that)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CM_COV_Object.html" title="class in org.apache.sysds.runtime.instructions.cp">CM_COV_Object</a></code></td>
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#covOperations-org.apache.sysds.runtime.matrix.operators.COVOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">covOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/COVOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">COVOperator</a>&nbsp;op,
              <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;that,
              <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;weights)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-double-double-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ctableOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-double-double-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ctableOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
                 double&nbsp;scalar,
                 double&nbsp;scalar2,
                 <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/CTableMap.html" title="class in org.apache.sysds.runtime.matrix.data">CTableMap</a>&nbsp;resultMap,
                 <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;resultBlock)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-double-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ctableOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-double-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ctableOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
                 double&nbsp;scalar,
                 <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;that,
                 <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/CTableMap.html" title="class in org.apache.sysds.runtime.matrix.data">CTableMap</a>&nbsp;resultMap,
                 <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;resultBlock)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.runtime.matrix.data.MatrixIndexes-double-boolean-int-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ctableOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.runtime.matrix.data.MatrixIndexes-double-boolean-int-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ctableOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
                 <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixIndexes.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixIndexes</a>&nbsp;ix1,
                 double&nbsp;scalar,
                 boolean&nbsp;left,
@@ -1528,40 +1556,32 @@
                 <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/CTableMap.html" title="class in org.apache.sysds.runtime.matrix.data">CTableMap</a>&nbsp;resultMap,
                 <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;resultBlock)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.runtime.matrix.data.MatrixValue-double-boolean-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ctableOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.runtime.matrix.data.MatrixValue-double-boolean-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ctableOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
                 <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;that,
                 double&nbsp;scalar,
                 boolean&nbsp;ignoreZeros,
                 <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/CTableMap.html" title="class in org.apache.sysds.runtime.matrix.data">CTableMap</a>&nbsp;resultMap,
                 <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;resultBlock)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ctableOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ctableOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
                 <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;that,
                 <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;that2,
                 <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/CTableMap.html" title="class in org.apache.sysds.runtime.matrix.data">CTableMap</a>&nbsp;resultMap,
                 <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;resultBlock)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#ctableSeqOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-double-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ctableSeqOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;that,
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#ctableSeqOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-double-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ctableSeqOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;that,
                    double&nbsp;scalar,
                    <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;resultBlock)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils">ABitmap</a></code></td>
-<td class="colLast"><span class="typeNameLabel">BitmapEncoder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/BitmapEncoder.html#extractBitmap-int:A-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.compress.CompressionSettings-">extractBitmap</a></span>(int[]&nbsp;colIndices,
-             <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;rawBlock,
-             <a href="../../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;compSettings)</code>
-<div class="block">Generate uncompressed bitmaps for a set of columns in an uncompressed matrix block.</div>
-</td>
-</tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#leftIndexingOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-int-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType-">leftIndexingOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;rhsMatrix,
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#leftIndexingOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-int-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType-">leftIndexingOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;rhsMatrix,
                       int&nbsp;rl,
                       int&nbsp;ru,
                       int&nbsp;cl,
@@ -1571,7 +1591,7 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#leftIndexingOperations-org.apache.sysds.runtime.instructions.cp.ScalarObject-int-int-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType-">leftIndexingOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&nbsp;scalar,
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#leftIndexingOperations-org.apache.sysds.runtime.instructions.cp.ScalarObject-int-int-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType-">leftIndexingOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&nbsp;scalar,
                       int&nbsp;rl,
                       int&nbsp;cl,
                       <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
@@ -1579,7 +1599,7 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#quaternaryOperations-org.apache.sysds.runtime.matrix.operators.QuaternaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">quaternaryOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/QuaternaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">QuaternaryOperator</a>&nbsp;qop,
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#quaternaryOperations-org.apache.sysds.runtime.matrix.operators.QuaternaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">quaternaryOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/QuaternaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">QuaternaryOperator</a>&nbsp;qop,
                     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;um,
                     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;vm,
                     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;wm,
@@ -1587,7 +1607,7 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#quaternaryOperations-org.apache.sysds.runtime.matrix.operators.QuaternaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">quaternaryOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/QuaternaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">QuaternaryOperator</a>&nbsp;qop,
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#quaternaryOperations-org.apache.sysds.runtime.matrix.operators.QuaternaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">quaternaryOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/QuaternaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">QuaternaryOperator</a>&nbsp;qop,
                     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;um,
                     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;vm,
                     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;wm,
@@ -1596,20 +1616,20 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#removeEmptyOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-boolean-">removeEmptyOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#removeEmptyOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-boolean-">removeEmptyOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
                      boolean&nbsp;rows,
                      boolean&nbsp;emptyReturn)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#removeEmptyOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-boolean-org.apache.sysds.runtime.matrix.data.MatrixBlock-">removeEmptyOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#removeEmptyOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-boolean-org.apache.sysds.runtime.matrix.data.MatrixBlock-">removeEmptyOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
                      boolean&nbsp;rows,
                      boolean&nbsp;emptyReturn,
                      <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;select)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#rexpandOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-double-boolean-boolean-boolean-int-">rexpandOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#rexpandOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-double-boolean-boolean-boolean-int-">rexpandOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
                  double&nbsp;max,
                  boolean&nbsp;rows,
                  boolean&nbsp;cast,
@@ -1618,12 +1638,12 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#sortOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixBlock-">sortOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;weights,
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#sortOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixBlock-">sortOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;weights,
               <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#ternaryOperations-org.apache.sysds.runtime.matrix.operators.TernaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ternaryOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/TernaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">TernaryOperator</a>&nbsp;op,
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#ternaryOperations-org.apache.sysds.runtime.matrix.operators.TernaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ternaryOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/TernaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">TernaryOperator</a>&nbsp;op,
                  <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2,
                  <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m3,
                  <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret)</code>&nbsp;</td>
@@ -1641,7 +1661,7 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#uaggouterchainOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.BinaryOperator-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-">uaggouterchainOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mbLeft,
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#uaggouterchainOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.BinaryOperator-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-">uaggouterchainOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mbLeft,
                         <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mbRight,
                         <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mbOut,
                         <a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;bOp,
@@ -1649,37 +1669,6 @@
 </tr>
 </tbody>
 </table>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
-<caption><span>Constructors in <a href="../../../../../../../org/apache/sysds/runtime/compress/package-summary.html">org.apache.sysds.runtime.compress</a> with parameters of type <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#AbstractCompressedMatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">AbstractCompressedMatrixBlock</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;that)</code>
-<div class="block">"Copy" constructor to populate this compressed block with the uncompressed contents of a conventional block.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelectionDense.html#ReaderColumnSelectionDense-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-org.apache.sysds.runtime.compress.CompressionSettings-">ReaderColumnSelectionDense</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;data,
-                          int[]&nbsp;colIndices,
-                          <a href="../../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;compSettings)</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelectionDenseSample.html#ReaderColumnSelectionDenseSample-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-int:A-org.apache.sysds.runtime.compress.CompressionSettings-">ReaderColumnSelectionDenseSample</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;data,
-                                int[]&nbsp;colIndexes,
-                                int[]&nbsp;sampleIndexes,
-                                <a href="../../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;compSettings)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelectionSparse.html#ReaderColumnSelectionSparse-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-org.apache.sysds.runtime.compress.CompressionSettings-">ReaderColumnSelectionSparse</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;data,
-                           int[]&nbsp;colIndexes,
-                           <a href="../../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;compSettings)</code>
-<div class="block">Reader of sparse matrix blocks for compression.</div>
-</td>
-</tr>
-</tbody>
-</table>
 </li>
 <li class="blockList"><a name="org.apache.sysds.runtime.compress.colgroup">
 <!--   -->
@@ -1700,20 +1689,20 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupConverter.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConverter.html#getUncompressedColBlock-org.apache.sysds.runtime.compress.colgroup.ColGroup-">getUncompressedColBlock</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>&nbsp;group)</code>
+<td class="colLast"><span class="typeNameLabel">ColGroupConverter.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConverter.html#getUncompressedColBlock-org.apache.sysds.runtime.compress.colgroup.AColGroup-">getUncompressedColBlock</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a>&nbsp;group)</code>
 <div class="block">Extracts the Uncompressed MatrixBlock representation of a Col Group</div>
 </td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>abstract <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroup.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getValuesAsBlock--">getValuesAsBlock</a></span>()</code>
-<div class="block">Returns the ColGroup as a MatrixBlock.</div>
-</td>
-</tr>
-<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">ColGroupUncompressed.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#getValuesAsBlock--">getValuesAsBlock</a></span>()</code>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code>abstract <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">AColGroup.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getValuesAsBlock--">getValuesAsBlock</a></span>()</code>
+<div class="block">Returns the ColGroup as a MatrixBlock.</div>
+</td>
+</tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">ColGroupValue.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getValuesAsBlock--">getValuesAsBlock</a></span>()</code>&nbsp;</td>
@@ -1728,85 +1717,208 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupFactory.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupFactory.html#assignColumns-int-org.apache.sysds.runtime.compress.colgroup.ColGroup:A-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.compress.CompressionSettings-">assignColumns</a></span>(int&nbsp;numCols,
-             <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>[]&nbsp;colGroups,
-             <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;rawBlock,
-             <a href="../../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;compSettings)</code>
-<div class="block">Method for producing the final ColGroupList stored inside the CompressedMatrixBlock.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupFactory.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupFactory.html#compress-int:A-int-org.apache.sysds.runtime.compress.utils.ABitmap-org.apache.sysds.runtime.compress.colgroup.ColGroup.CompressionType-org.apache.sysds.runtime.compress.CompressionSettings-org.apache.sysds.runtime.matrix.data.MatrixBlock-">compress</a></span>(int[]&nbsp;colIndexes,
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupFactory.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupFactory.html#compress-int:A-int-org.apache.sysds.runtime.compress.utils.ABitmap-org.apache.sysds.runtime.compress.colgroup.AColGroup.CompressionType-org.apache.sysds.runtime.compress.CompressionSettings-org.apache.sysds.runtime.matrix.data.MatrixBlock-">compress</a></span>(int[]&nbsp;colIndexes,
         int&nbsp;rlen,
         <a href="../../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils">ABitmap</a>&nbsp;ubm,
-        <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>&nbsp;compType,
+        <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a>&nbsp;compType,
         <a href="../../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;cs,
         <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;rawMatrixBlock)</code>
 <div class="block">Method for compressing an ColGroup.</div>
 </td>
 </tr>
-<tr class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>[]</code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupFactory.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupFactory.html#compressColGroups-org.apache.sysds.runtime.matrix.data.MatrixBlock-java.util.HashMap-java.util.List-org.apache.sysds.runtime.compress.CompressionSettings-int-">compressColGroups</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;in,
-                 <a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a>&gt;&nbsp;compRatios,
-                 <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;int[]&gt;&nbsp;groups,
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a>[]</code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupFactory.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupFactory.html#compressColGroups-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.compress.estim.CompressedSizeInfo-org.apache.sysds.runtime.compress.CompressionSettings-int-">compressColGroups</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;in,
+                 <a href="../../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfo</a>&nbsp;csi,
                  <a href="../../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;compSettings,
                  int&nbsp;k)</code>
 <div class="block">The actual compression method, that handles the logic of compressing multiple columns together.</div>
 </td>
 </tr>
-<tr class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupRLE.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">decompressToBlock</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
-                 int&nbsp;colpos)</code>&nbsp;</td>
-</tr>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupOffset.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">decompressToBlock</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
-                 int&nbsp;colpos)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">ColGroupRLE.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">decompressColumnToBlock</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                       int&nbsp;colpos)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupConst.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">decompressToBlock</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
-                 int&nbsp;colpos)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">ColGroupEmpty.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">decompressColumnToBlock</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                       int&nbsp;colpos)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupDDC.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">decompressToBlock</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
-                 int&nbsp;colpos)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">ColGroupConst.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">decompressColumnToBlock</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                       int&nbsp;colPos)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupSDCZeros.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">decompressColumnToBlock</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                       int&nbsp;colpos)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupDDC.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">decompressColumnToBlock</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                       int&nbsp;colpos)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupSDCSingle.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">decompressColumnToBlock</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                       int&nbsp;colpos)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupSDC.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">decompressColumnToBlock</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                       int&nbsp;colPos)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupUncompressed.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">decompressColumnToBlock</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                       int&nbsp;colpos)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>abstract void</code></td>
+<td class="colLast"><span class="typeNameLabel">AColGroup.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">decompressColumnToBlock</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                       int&nbsp;colpos)</code>
+<div class="block">Decompress to block.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupSDCSingleZeros.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">decompressColumnToBlock</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                       int&nbsp;colpos)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupOLE.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">decompressColumnToBlock</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                       int&nbsp;colpos)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupRLE.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-">decompressColumnToBlock</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                       int&nbsp;colpos,
+                       int&nbsp;rl,
+                       int&nbsp;ru)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupEmpty.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-">decompressColumnToBlock</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                       int&nbsp;colpos,
+                       int&nbsp;rl,
+                       int&nbsp;ru)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupConst.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-">decompressColumnToBlock</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                       int&nbsp;colPos,
+                       int&nbsp;rl,
+                       int&nbsp;ru)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupSDCZeros.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-">decompressColumnToBlock</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                       int&nbsp;colpos,
+                       int&nbsp;rl,
+                       int&nbsp;ru)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupDDC.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-">decompressColumnToBlock</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                       int&nbsp;colpos,
+                       int&nbsp;rl,
+                       int&nbsp;ru)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupSDCSingle.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-">decompressColumnToBlock</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                       int&nbsp;colpos,
+                       int&nbsp;rl,
+                       int&nbsp;ru)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupSDC.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-">decompressColumnToBlock</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                       int&nbsp;colpos,
+                       int&nbsp;rl,
+                       int&nbsp;ru)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupUncompressed.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-">decompressColumnToBlock</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                       int&nbsp;colpos,
+                       int&nbsp;rl,
+                       int&nbsp;ru)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>abstract void</code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroup.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">decompressToBlock</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
-                 int&nbsp;colpos)</code>
+<td class="colLast"><span class="typeNameLabel">AColGroup.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-">decompressColumnToBlock</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                       int&nbsp;colpos,
+                       int&nbsp;rl,
+                       int&nbsp;ru)</code>
 <div class="block">Decompress to block.</div>
 </td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupUncompressed.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">decompressToBlock</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
-                 int&nbsp;colpos)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">ColGroupSDCSingleZeros.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-">decompressColumnToBlock</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                       int&nbsp;colpos,
+                       int&nbsp;rl,
+                       int&nbsp;ru)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupOLE.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">decompressToBlock</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
-                 int&nbsp;colpos)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">ColGroupOLE.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-">decompressColumnToBlock</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                       int&nbsp;colpos,
+                       int&nbsp;rl,
+                       int&nbsp;ru)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><span class="typeNameLabel">AColGroup.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-java.util.List-">decompressColumnToBlock</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                       int&nbsp;colIndex,
+                       int&nbsp;rl,
+                       int&nbsp;ru,
+                       <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a>&gt;&nbsp;colGroups)</code>
+<div class="block">Decompress part of the col groups into the target matrix block, this decompression maintain the number of non
+ zeros.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><span class="typeNameLabel">AColGroup.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-java.util.List-">decompressColumnToBlock</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                       int&nbsp;colIndex,
+                       <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a>&gt;&nbsp;colGroups)</code>
+<div class="block">Decompress an entire column into the target matrix block.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><span class="typeNameLabel">AColGroup.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlockUnSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-java.util.List-">decompressColumnToBlockUnSafe</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                             int&nbsp;rl,
+                             int&nbsp;ru,
+                             <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a>&gt;&nbsp;colGroups)</code>
+<div class="block">Decompress part of the col groups into the target matrix block, this decompression maintain the number of non
+ zeros.</div>
+</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">ColGroupRLE.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">decompressToBlock</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
                  int[]&nbsp;colixTargets)</code>&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupEmpty.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">decompressToBlock</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                 int[]&nbsp;colIndexTargets)</code>&nbsp;</td>
+</tr>
 <tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupOffset.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">decompressToBlock</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+<td class="colLast"><span class="typeNameLabel">ColGroupConst.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">decompressToBlock</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
                  int[]&nbsp;colIndexTargets)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupConst.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">decompressToBlock</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+<td class="colLast"><span class="typeNameLabel">ColGroupSDCZeros.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">decompressToBlock</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
                  int[]&nbsp;colIndexTargets)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
@@ -1815,83 +1927,318 @@
                  int[]&nbsp;colIndexTargets)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>abstract void</code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroup.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">decompressToBlock</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
-                 int[]&nbsp;colIndexTargets)</code>
-<div class="block">Decompress the contents of this column group into uncompressed packed columns</div>
-</td>
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupSDCSingle.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">decompressToBlock</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                 int[]&nbsp;colIndexTargets)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupUncompressed.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">decompressToBlock</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+<td class="colLast"><span class="typeNameLabel">ColGroupSDC.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">decompressToBlock</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
                  int[]&nbsp;colIndexTargets)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupOLE.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">decompressToBlock</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
-                 int[]&nbsp;colixTargets)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupRLE.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">decompressToBlock</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
-                 int&nbsp;rl,
-                 int&nbsp;ru)</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupOffset.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">decompressToBlock</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
-                 int&nbsp;rl,
-                 int&nbsp;ru)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupConst.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">decompressToBlock</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
-                 int&nbsp;rl,
-                 int&nbsp;ru)</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupDDC.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">decompressToBlock</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
-                 int&nbsp;rl,
-                 int&nbsp;ru)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">ColGroupUncompressed.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">decompressToBlock</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                 int[]&nbsp;colIndexTargets)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>abstract void</code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroup.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">decompressToBlock</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+<td class="colLast"><span class="typeNameLabel">AColGroup.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">decompressToBlock</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                 int[]&nbsp;colIndexTargets)</code>
+<div class="block">Decompress the contents of this column group into uncompressed packed columns</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupSDCSingleZeros.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">decompressToBlock</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                 int[]&nbsp;colIndexTargets)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupOLE.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">decompressToBlock</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                 int[]&nbsp;colixTargets)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">AColGroup.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">decompressToBlock</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
                  int&nbsp;rl,
                  int&nbsp;ru)</code>
 <div class="block">Decompress the contents of this column group into the specified full matrix block.</div>
 </td>
 </tr>
-<tr class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupUncompressed.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">decompressToBlock</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
-                 int&nbsp;rl,
-                 int&nbsp;ru)</code>&nbsp;</td>
-</tr>
 <tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupOLE.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">decompressToBlock</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+<td class="colLast"><span class="typeNameLabel">ColGroupValue.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">decompressToBlock</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
                  int&nbsp;rl,
                  int&nbsp;ru)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroup.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-java.util.List-">decompressToBlock</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
-                 int&nbsp;colIndex,
-                 <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>&gt;&nbsp;colGroups)</code>&nbsp;</td>
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">AColGroup.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-boolean-">decompressToBlock</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                 int&nbsp;rl,
+                 int&nbsp;ru,
+                 boolean&nbsp;safe)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">AColGroup.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-double:A-boolean-">decompressToBlock</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                 int&nbsp;rl,
+                 int&nbsp;ru,
+                 double[]&nbsp;values,
+                 boolean&nbsp;safe)</code>
+<div class="block">Decompress the contents of this column group into the target matrixBlock, it is assumed that the target matrix
+ Block have the same number of columns and at least the number of rows ru.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupUncompressed.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-">decompressToBlock</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                 int&nbsp;rl,
+                 int&nbsp;ru,
+                 int&nbsp;offT)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">AColGroup.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-">decompressToBlock</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                 int&nbsp;rl,
+                 int&nbsp;ru,
+                 int&nbsp;offT)</code>
+<div class="block">Decompress the contents of this column group into the specified full matrix block.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupValue.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-">decompressToBlock</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                 int&nbsp;rl,
+                 int&nbsp;ru,
+                 int&nbsp;offT)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">AColGroup.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-boolean-">decompressToBlock</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                 int&nbsp;rl,
+                 int&nbsp;ru,
+                 int&nbsp;offT,
+                 boolean&nbsp;safe)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">AColGroup.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">decompressToBlock</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                 int&nbsp;rl,
+                 int&nbsp;ru,
+                 int&nbsp;offT,
+                 double[]&nbsp;values)</code>
+<div class="block">Decompress the contents of this column group into the specified full matrix block.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">AColGroup.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-boolean-">decompressToBlock</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                 int&nbsp;rl,
+                 int&nbsp;ru,
+                 int&nbsp;offT,
+                 double[]&nbsp;values,
+                 boolean&nbsp;safe)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupRLE.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#decompressToBlockSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">decompressToBlockSafe</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                     int&nbsp;rl,
+                     int&nbsp;ru,
+                     int&nbsp;offT,
+                     double[]&nbsp;values)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupEmpty.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html#decompressToBlockSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">decompressToBlockSafe</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                     int&nbsp;rl,
+                     int&nbsp;ru,
+                     int&nbsp;offT,
+                     double[]&nbsp;values)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupConst.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#decompressToBlockSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">decompressToBlockSafe</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                     int&nbsp;rl,
+                     int&nbsp;ru,
+                     int&nbsp;offT,
+                     double[]&nbsp;values)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupSDCZeros.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#decompressToBlockSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">decompressToBlockSafe</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                     int&nbsp;rl,
+                     int&nbsp;ru,
+                     int&nbsp;offT,
+                     double[]&nbsp;values)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupDDC.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#decompressToBlockSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">decompressToBlockSafe</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                     int&nbsp;rl,
+                     int&nbsp;ru,
+                     int&nbsp;offT,
+                     double[]&nbsp;values)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupSDCSingle.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html#decompressToBlockSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">decompressToBlockSafe</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                     int&nbsp;rl,
+                     int&nbsp;ru,
+                     int&nbsp;offT,
+                     double[]&nbsp;values)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupSDC.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html#decompressToBlockSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">decompressToBlockSafe</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                     int&nbsp;rl,
+                     int&nbsp;ru,
+                     int&nbsp;offT,
+                     double[]&nbsp;values)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupUncompressed.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#decompressToBlockSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">decompressToBlockSafe</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                     int&nbsp;rl,
+                     int&nbsp;ru,
+                     int&nbsp;offT,
+                     double[]&nbsp;values)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>abstract void</code></td>
+<td class="colLast"><span class="typeNameLabel">AColGroup.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlockSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">decompressToBlockSafe</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                     int&nbsp;rl,
+                     int&nbsp;ru,
+                     int&nbsp;offT,
+                     double[]&nbsp;values)</code>
+<div class="block">Decompress the contents of this column group into the specified full matrix block without managing the number of
+ non zeros.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupSDCSingleZeros.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html#decompressToBlockSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">decompressToBlockSafe</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                     int&nbsp;rl,
+                     int&nbsp;ru,
+                     int&nbsp;offT,
+                     double[]&nbsp;values)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupOLE.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#decompressToBlockSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">decompressToBlockSafe</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                     int&nbsp;rl,
+                     int&nbsp;ru,
+                     int&nbsp;offT,
+                     double[]&nbsp;values)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupRLE.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#decompressToBlockUnSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">decompressToBlockUnSafe</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                       int&nbsp;rl,
+                       int&nbsp;ru,
+                       int&nbsp;offT,
+                       double[]&nbsp;values)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupEmpty.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html#decompressToBlockUnSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">decompressToBlockUnSafe</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                       int&nbsp;rl,
+                       int&nbsp;ru,
+                       int&nbsp;offT,
+                       double[]&nbsp;values)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupConst.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#decompressToBlockUnSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">decompressToBlockUnSafe</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                       int&nbsp;rl,
+                       int&nbsp;ru,
+                       int&nbsp;offT,
+                       double[]&nbsp;values)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupSDCZeros.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#decompressToBlockUnSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">decompressToBlockUnSafe</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                       int&nbsp;rl,
+                       int&nbsp;ru,
+                       int&nbsp;offT,
+                       double[]&nbsp;values)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupDDC.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#decompressToBlockUnSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">decompressToBlockUnSafe</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                       int&nbsp;rl,
+                       int&nbsp;ru,
+                       int&nbsp;offT,
+                       double[]&nbsp;values)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupSDCSingle.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html#decompressToBlockUnSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">decompressToBlockUnSafe</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                       int&nbsp;rl,
+                       int&nbsp;ru,
+                       int&nbsp;offT,
+                       double[]&nbsp;values)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupSDC.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html#decompressToBlockUnSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">decompressToBlockUnSafe</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                       int&nbsp;rl,
+                       int&nbsp;ru,
+                       int&nbsp;offT,
+                       double[]&nbsp;values)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupUncompressed.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#decompressToBlockUnSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">decompressToBlockUnSafe</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                       int&nbsp;rl,
+                       int&nbsp;ru,
+                       int&nbsp;offT,
+                       double[]&nbsp;values)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>abstract void</code></td>
+<td class="colLast"><span class="typeNameLabel">AColGroup.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlockUnSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">decompressToBlockUnSafe</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                       int&nbsp;rl,
+                       int&nbsp;ru,
+                       int&nbsp;offT,
+                       double[]&nbsp;values)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupSDCSingleZeros.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html#decompressToBlockUnSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">decompressToBlockUnSafe</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                       int&nbsp;rl,
+                       int&nbsp;ru,
+                       int&nbsp;offT,
+                       double[]&nbsp;values)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupOLE.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#decompressToBlockUnSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">decompressToBlockUnSafe</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+                       int&nbsp;rl,
+                       int&nbsp;ru,
+                       int&nbsp;offT,
+                       double[]&nbsp;values)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><span class="typeNameLabel">ColGroupConverter.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConverter.html#getDenseVector-org.apache.sysds.runtime.matrix.data.MatrixBlock-">getDenseVector</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;vector)</code>
 <div class="block">Extract the double array primitive from a Matrix Block that is an vector.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">ColGroupUncompressed.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#leftMultByMatrix-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">leftMultByMatrix</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;matrix,
                 <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result)</code>&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><code>org.apache.commons.lang3.tuple.Pair&lt;int[],double[]&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupValue.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preaggValues-int-org.apache.sysds.runtime.matrix.data.MatrixBlock-double:A-int-int-int-">preaggValues</a></span>(int&nbsp;numVals,
+            <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;b,
+            double[]&nbsp;dictVals,
+            int&nbsp;cl,
+            int&nbsp;cu,
+            int&nbsp;cut)</code>&nbsp;</td>
+</tr>
 <tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">ColGroupUncompressed.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#rightMultByMatrix-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">rightMultByMatrix</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;matrix,
@@ -1913,12 +2260,40 @@
 </tr>
 </tbody>
 </table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a> with parameters of type <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#ColGroupUncompressed-int:A-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-">ColGroupUncompressed</a></span>(int[]&nbsp;colIndicesList,
+                    <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;rawBlock,
+                    boolean&nbsp;transposed)</code>
+<div class="block">Main constructor for Uncompressed ColGroup.</div>
+</td>
+</tr>
+</tbody>
+</table>
 </li>
 <li class="blockList"><a name="org.apache.sysds.runtime.compress.estim">
 <!--   -->
 </a>
 <h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a> in <a href="../../../../../../../org/apache/sysds/runtime/compress/estim/package-summary.html">org.apache.sysds.runtime.compress.estim</a></h3>
 <table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/compress/estim/package-summary.html">org.apache.sysds.runtime.compress.estim</a> that return <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">CompressedSizeEstimator.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimator.html#getSample--">getSample</a></span>()</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
 <caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/compress/estim/package-summary.html">org.apache.sysds.runtime.compress.estim</a> with parameters of type <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
@@ -1939,13 +2314,15 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimatorExact.html#CompressedSizeEstimatorExact-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.compress.CompressionSettings-">CompressedSizeEstimatorExact</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;data,
-                            <a href="../../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;compSettings)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimatorExact.html#CompressedSizeEstimatorExact-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.compress.CompressionSettings-boolean-">CompressedSizeEstimatorExact</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;data,
+                            <a href="../../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;compSettings,
+                            boolean&nbsp;transposed)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimatorSample.html#CompressedSizeEstimatorSample-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.compress.CompressionSettings-int-">CompressedSizeEstimatorSample</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;data,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimatorSample.html#CompressedSizeEstimatorSample-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.compress.CompressionSettings-int:A-boolean-">CompressedSizeEstimatorSample</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;data,
                              <a href="../../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;compSettings,
-                             int&nbsp;sampleSize)</code>
+                             int[]&nbsp;sampleRows,
+                             boolean&nbsp;transposed)</code>
 <div class="block">CompressedSizeEstimatorSample, samples from the input data and estimates the size of the compressed matrix.</div>
 </td>
 </tr>
@@ -1965,53 +2342,80 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">LibBinaryCellOp.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/LibBinaryCellOp.html#bincellOp-org.apache.sysds.runtime.compress.CompressedMatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.compress.CompressedMatrixBlock-org.apache.sysds.runtime.matrix.operators.BinaryOperator-">bincellOp</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;m1,
-         <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2,
-         <a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;ret,
-         <a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op)</code>
-<div class="block">matrix-matrix binary operations, MM, MV</div>
-</td>
+<td class="colLast"><span class="typeNameLabel">CLALibCompAgg.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/CLALibCompAgg.html#aggregateUnary-org.apache.sysds.runtime.compress.CompressedMatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-int-org.apache.sysds.runtime.matrix.data.MatrixIndexes-boolean-">aggregateUnary</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;inputMatrix,
+              <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;outputMatrix,
+              <a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;op,
+              int&nbsp;blen,
+              <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixIndexes.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixIndexes</a>&nbsp;indexesIn,
+              boolean&nbsp;inCP)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">LibLeftMultBy.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/LibLeftMultBy.html#leftMultByMatrix-java.util.List-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-boolean-int-int-boolean-int-org.apache.commons.lang3.tuple.Pair-">leftMultByMatrix</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>&gt;&nbsp;groups,
-                <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;that,
-                <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
-                boolean&nbsp;doTranspose,
-                boolean&nbsp;allocTmp,
-                int&nbsp;rl,
-                int&nbsp;cl,
-                boolean&nbsp;overlapping,
-                int&nbsp;k,
-                org.apache.commons.lang3.tuple.Pair&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,int[]&gt;&nbsp;v)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">CLALibAppend.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/CLALibAppend.html#append-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">append</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;left,
+      <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;right)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">LibLeftMultBy.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/LibLeftMultBy.html#leftMultByVectorTranspose-java.util.List-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-int-org.apache.commons.lang3.tuple.Pair-boolean-">leftMultByVectorTranspose</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>&gt;&nbsp;colGroups,
-                         <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;vector,
-                         <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result,
-                         boolean&nbsp;doTranspose,
-                         int&nbsp;k,
-                         org.apache.commons.lang3.tuple.Pair&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,int[]&gt;&nbsp;v,
-                         boolean&nbsp;overlap)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">CLALibBinaryCellOp.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/CLALibBinaryCellOp.html#binaryOperations-org.apache.sysds.runtime.matrix.operators.BinaryOperator-org.apache.sysds.runtime.compress.CompressedMatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-">binaryOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
+                <a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;m1,
+                <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;thatValue,
+                <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">LibRightMultBy.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/LibRightMultBy.html#rightMultByMatrix-java.util.List-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-org.apache.commons.lang3.tuple.Pair-boolean-">rightMultByMatrix</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>&gt;&nbsp;colGroups,
-                 <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;that,
+<td class="colLast"><span class="typeNameLabel">CLALibBinaryCellOp.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/CLALibBinaryCellOp.html#binaryOperationsLeft-org.apache.sysds.runtime.matrix.operators.BinaryOperator-org.apache.sysds.runtime.compress.CompressedMatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-">binaryOperationsLeft</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
+                    <a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;m1,
+                    <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;thatValue,
+                    <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">CLALibLeftMultBy.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/CLALibLeftMultBy.html#leftMultByMatrix-org.apache.sysds.runtime.compress.CompressedMatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">leftMultByMatrix</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;m1,
+                <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2,
+                <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
+                int&nbsp;k)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">CLALibLeftMultBy.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/CLALibLeftMultBy.html#leftMultByMatrixTransposed-org.apache.sysds.runtime.compress.CompressedMatrixBlock-org.apache.sysds.runtime.compress.CompressedMatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">leftMultByMatrixTransposed</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;m1,
+                          <a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;m2,
+                          <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
+                          int&nbsp;k)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">CLALibLeftMultBy.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/CLALibLeftMultBy.html#leftMultByMatrixTransposed-org.apache.sysds.runtime.compress.CompressedMatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">leftMultByMatrixTransposed</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;m1,
+                          <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2,
+                          <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
+                          int&nbsp;k)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">CLALibRelationalOp.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/CLALibRelationalOp.html#overlappingRelativeRelationalOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-org.apache.sysds.runtime.compress.CompressedMatrixBlock-">overlappingRelativeRelationalOperation</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;sop,
+                                      <a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;m1)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">CLALibReExpand.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/CLALibReExpand.html#reExpand-org.apache.sysds.runtime.compress.CompressedMatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-double-boolean-boolean-int-">reExpand</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;in,
+        <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
+        double&nbsp;max,
+        boolean&nbsp;cast,
+        boolean&nbsp;ignore,
+        int&nbsp;k)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">CLALibRightMultBy.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/CLALibRightMultBy.html#rightMultByMatrix-org.apache.sysds.runtime.compress.CompressedMatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-boolean-">rightMultByMatrix</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;m1,
+                 <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2,
                  <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
                  int&nbsp;k,
-                 org.apache.commons.lang3.tuple.Pair&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,int[]&gt;&nbsp;v,
-                 boolean&nbsp;allowOverlap)</code>
-<div class="block">Right multiply by matrix.</div>
-</td>
+                 boolean&nbsp;allowOverlap)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">LibScalar.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/LibScalar.html#scalarOperations-org.apache.sysds.runtime.matrix.operators.ScalarOperator-org.apache.sysds.runtime.compress.CompressedMatrixBlock-org.apache.sysds.runtime.compress.CompressedMatrixBlock-boolean-">scalarOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;sop,
+<td class="colLast"><span class="typeNameLabel">CLALibScalar.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/CLALibScalar.html#scalarOperations-org.apache.sysds.runtime.matrix.operators.ScalarOperator-org.apache.sysds.runtime.compress.CompressedMatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixValue-">scalarOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;sop,
                 <a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;m1,
-                <a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;ret,
-                boolean&nbsp;overlapping)</code>&nbsp;</td>
+                <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result)</code>&nbsp;</td>
 </tr>
 </tbody>
 </table>
@@ -2024,32 +2428,51 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">LibBinaryCellOp.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/LibBinaryCellOp.html#bincellOp-org.apache.sysds.runtime.compress.CompressedMatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.compress.CompressedMatrixBlock-org.apache.sysds.runtime.matrix.operators.BinaryOperator-">bincellOp</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;m1,
-         <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2,
-         <a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;ret,
-         <a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op)</code>
-<div class="block">matrix-matrix binary operations, MM, MV</div>
+<td class="colLast"><span class="typeNameLabel">CLALibCompAgg.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/CLALibCompAgg.html#aggregateUnary-org.apache.sysds.runtime.compress.CompressedMatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-int-org.apache.sysds.runtime.matrix.data.MatrixIndexes-boolean-">aggregateUnary</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;inputMatrix,
+              <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;outputMatrix,
+              <a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;op,
+              int&nbsp;blen,
+              <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixIndexes.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixIndexes</a>&nbsp;indexesIn,
+              boolean&nbsp;inCP)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">CLALibAppend.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/CLALibAppend.html#append-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">append</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;left,
+      <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;right)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/compress/utils/Bitmap.html" title="class in org.apache.sysds.runtime.compress.utils">Bitmap</a></code></td>
+<td class="colLast"><span class="typeNameLabel">BitmapEncoder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/BitmapEncoder.html#extractBitmap-int:A-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-">extractBitmap</a></span>(int[]&nbsp;colIndices,
+             <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;rawBlock,
+             boolean&nbsp;transposed)</code>
+<div class="block">Generate uncompressed bitmaps for a set of columns in an uncompressed matrix block.</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">LibLeftMultBy.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/LibLeftMultBy.html#leftMultByMatrix-java.util.List-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-boolean-int-int-boolean-int-org.apache.commons.lang3.tuple.Pair-">leftMultByMatrix</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>&gt;&nbsp;groups,
-                <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;that,
+<td class="colLast"><span class="typeNameLabel">CLALibLeftMultBy.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/CLALibLeftMultBy.html#leftMultByMatrix-org.apache.sysds.runtime.compress.CompressedMatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">leftMultByMatrix</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;m1,
+                <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2,
                 <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
-                boolean&nbsp;doTranspose,
-                boolean&nbsp;allocTmp,
-                int&nbsp;rl,
-                int&nbsp;cl,
-                boolean&nbsp;overlapping,
-                int&nbsp;k,
-                org.apache.commons.lang3.tuple.Pair&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,int[]&gt;&nbsp;v)</code>&nbsp;</td>
+                int&nbsp;k)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">CLALibLeftMultBy.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/CLALibLeftMultBy.html#leftMultByMatrixTransposed-org.apache.sysds.runtime.compress.CompressedMatrixBlock-org.apache.sysds.runtime.compress.CompressedMatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">leftMultByMatrixTransposed</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;m1,
+                          <a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;m2,
+                          <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
+                          int&nbsp;k)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">CLALibLeftMultBy.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/CLALibLeftMultBy.html#leftMultByMatrixTransposed-org.apache.sysds.runtime.compress.CompressedMatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">leftMultByMatrixTransposed</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;m1,
+                          <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2,
+                          <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
+                          int&nbsp;k)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static void</code></td>
-<td class="colLast"><span class="typeNameLabel">LibLeftMultBy.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/LibLeftMultBy.html#leftMultByTransposeSelf-java.util.List-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-int-org.apache.commons.lang3.tuple.Pair-boolean-">leftMultByTransposeSelf</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>&gt;&nbsp;groups,
+<td class="colLast"><span class="typeNameLabel">CLALibLeftMultBy.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/CLALibLeftMultBy.html#leftMultByTransposeSelf-java.util.List-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-org.apache.commons.lang3.tuple.Pair-boolean-">leftMultByTransposeSelf</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a>&gt;&nbsp;groups,
                        <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result,
-                       int&nbsp;gl,
-                       int&nbsp;gu,
                        int&nbsp;k,
                        int&nbsp;numColumns,
                        org.apache.commons.lang3.tuple.Pair&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,int[]&gt;&nbsp;v,
@@ -2057,33 +2480,75 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">LibLeftMultBy.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/LibLeftMultBy.html#leftMultByVectorTranspose-java.util.List-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-int-org.apache.commons.lang3.tuple.Pair-boolean-">leftMultByVectorTranspose</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>&gt;&nbsp;colGroups,
-                         <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;vector,
-                         <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result,
-                         boolean&nbsp;doTranspose,
-                         int&nbsp;k,
-                         org.apache.commons.lang3.tuple.Pair&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,int[]&gt;&nbsp;v,
-                         boolean&nbsp;overlap)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">CLALibReExpand.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/CLALibReExpand.html#reExpand-org.apache.sysds.runtime.compress.CompressedMatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-double-boolean-boolean-int-">reExpand</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;in,
+        <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
+        double&nbsp;max,
+        boolean&nbsp;cast,
+        boolean&nbsp;ignore,
+        int&nbsp;k)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">LibRightMultBy.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/LibRightMultBy.html#rightMultByMatrix-java.util.List-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-org.apache.commons.lang3.tuple.Pair-boolean-">rightMultByMatrix</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>&gt;&nbsp;colGroups,
-                 <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;that,
+<td class="colLast"><span class="typeNameLabel">CLALibRightMultBy.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/CLALibRightMultBy.html#rightMultByMatrix-org.apache.sysds.runtime.compress.CompressedMatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-boolean-">rightMultByMatrix</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;m1,
+                 <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2,
                  <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
                  int&nbsp;k,
-                 org.apache.commons.lang3.tuple.Pair&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,int[]&gt;&nbsp;v,
-                 boolean&nbsp;allowOverlap)</code>
-<div class="block">Right multiply by matrix.</div>
+                 boolean&nbsp;allowOverlap)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.sysds.runtime.compress.readers">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a> in <a href="../../../../../../../org/apache/sysds/runtime/compress/readers/package-summary.html">org.apache.sysds.runtime.compress.readers</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/compress/readers/package-summary.html">org.apache.sysds.runtime.compress.readers</a> with parameters of type <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelection.html" title="class in org.apache.sysds.runtime.compress.readers">ReaderColumnSelection</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ReaderColumnSelection.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelection.html#createReader-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-boolean-">createReader</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;rawBlock,
+            int[]&nbsp;colIndices,
+            boolean&nbsp;transposed)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../../../org/apache/sysds/runtime/compress/readers/package-summary.html">org.apache.sysds.runtime.compress.readers</a> with parameters of type <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionDenseMultiBlock.html#ReaderColumnSelectionDenseMultiBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">ReaderColumnSelectionDenseMultiBlock</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;data,
+                                    int[]&nbsp;colIndices)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionDenseMultiBlockTransposed.html#ReaderColumnSelectionDenseMultiBlockTransposed-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">ReaderColumnSelectionDenseMultiBlockTransposed</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;data,
+                                              int[]&nbsp;colIndices)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionDenseSingleBlock.html#ReaderColumnSelectionDenseSingleBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">ReaderColumnSelectionDenseSingleBlock</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;data,
+                                     int[]&nbsp;colIndices)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionDenseSingleBlockTransposed.html#ReaderColumnSelectionDenseSingleBlockTransposed-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">ReaderColumnSelectionDenseSingleBlockTransposed</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;data,
+                                               int[]&nbsp;colIndexes)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionSparse.html#ReaderColumnSelectionSparse-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">ReaderColumnSelectionSparse</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;data,
+                           int[]&nbsp;colIndexes)</code>
+<div class="block">Reader of sparse matrix blocks for compression.</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><span class="typeNameLabel">LibRightMultBy.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/LibRightMultBy.html#rightMultByVector-java.util.List-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-org.apache.commons.lang3.tuple.Pair-">rightMultByVector</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>&gt;&nbsp;colGroups,
-                 <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;vector,
-                 <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result,
-                 int&nbsp;k,
-                 org.apache.commons.lang3.tuple.Pair&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,int[]&gt;&nbsp;v)</code>
-<div class="block">Multi-threaded version of rightMultByVector.</div>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionSparseTransposed.html#ReaderColumnSelectionSparseTransposed-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">ReaderColumnSelectionSparseTransposed</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;data,
+                                     int[]&nbsp;colIndexes)</code>
+<div class="block">Reader of sparse matrix blocks for compression.</div>
 </td>
 </tr>
 </tbody>
@@ -2146,6 +2611,23 @@
 </tr>
 </tbody>
 </table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/package-summary.html">org.apache.sysds.runtime.controlprogram.caching</a> with parameters of type <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html#MatrixObject-org.apache.sysds.common.Types.ValueType-java.lang.String-org.apache.sysds.runtime.meta.MetaData-org.apache.sysds.runtime.matrix.data.MatrixBlock-">MatrixObject</a></span>(<a href="../../../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
+            <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;file,
+            <a href="../../../../../../../org/apache/sysds/runtime/meta/MetaData.html" title="class in org.apache.sysds.runtime.meta">MetaData</a>&nbsp;mtd,
+            <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;data)</code>
+<div class="block">Constructor that takes the value type, HDFS filename and associated metadata and a MatrixBlock
+ used for creation after serialization</div>
+</td>
+</tr>
+</tbody>
+</table>
 </li>
 <li class="blockList"><a name="org.apache.sysds.runtime.controlprogram.context">
 <!--   -->
@@ -2286,12 +2768,18 @@
                <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.UpdateType.html" title="enum in org.apache.sysds.runtime.controlprogram.caching">MatrixObject.UpdateType</a>&nbsp;flag)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">ExecutionContext.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#setMatrixOutputAndLineage-java.lang.String-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.lineage.LineageItem-">setMatrixOutputAndLineage</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;varName,
+                         <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;outputData,
+                         <a href="../../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;li)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><code>static org.apache.spark.api.java.JavaPairRDD&lt;<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixIndexes.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixIndexes</a>,<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">SparkExecutionContext.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/SparkExecutionContext.html#toMatrixJavaPairRDD-org.apache.spark.api.java.JavaSparkContext-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">toMatrixJavaPairRDD</a></span>(org.apache.spark.api.java.JavaSparkContext&nbsp;sc,
                    <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;src,
                    int&nbsp;blen)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static org.apache.spark.api.java.JavaPairRDD&lt;<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixIndexes.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixIndexes</a>,<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">SparkExecutionContext.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/SparkExecutionContext.html#toMatrixJavaPairRDD-org.apache.spark.api.java.JavaSparkContext-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-boolean-">toMatrixJavaPairRDD</a></span>(org.apache.spark.api.java.JavaSparkContext&nbsp;sc,
                    <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;src,
@@ -2352,22 +2840,43 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">FederationUtils.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationUtils.html#aggMatrix-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-java.util.concurrent.Future:A-java.util.concurrent.Future:A-org.apache.sysds.runtime.controlprogram.federated.FederationMap-">aggMatrix</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;aop,
+         <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedResponse</a>&gt;[]&nbsp;ffr,
+         <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedResponse</a>&gt;[]&nbsp;meanFfr,
+         <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationMap</a>&nbsp;map)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">FederationUtils.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationUtils.html#aggMean-java.util.concurrent.Future:A-org.apache.sysds.runtime.controlprogram.federated.FederationMap-">aggMean</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedResponse</a>&gt;[]&nbsp;ffr,
        <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationMap</a>&nbsp;map)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">FederationUtils.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationUtils.html#aggMinMax-java.util.concurrent.Future:A-boolean-boolean-java.util.Optional-">aggMinMax</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedResponse</a>&gt;[]&nbsp;ffr,
          boolean&nbsp;isMin,
          boolean&nbsp;isScalar,
          <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.FType.html" title="enum in org.apache.sysds.runtime.controlprogram.federated">FederationMap.FType</a>&gt;&nbsp;fedType)</code>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">FederationUtils.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationUtils.html#aggMinMaxIndex-java.util.concurrent.Future:A-boolean-org.apache.sysds.runtime.controlprogram.federated.FederationMap-">aggMinMaxIndex</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedResponse</a>&gt;[]&nbsp;ffr,
+              boolean&nbsp;isMin,
+              <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationMap</a>&nbsp;map)</code>&nbsp;</td>
+</tr>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">FederationUtils.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationUtils.html#aggVar-java.util.concurrent.Future:A-java.util.concurrent.Future:A-org.apache.sysds.runtime.controlprogram.federated.FederationMap-boolean-boolean-">aggVar</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedResponse</a>&gt;[]&nbsp;ffr,
+      <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedResponse</a>&gt;[]&nbsp;meanFfr,
+      <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationMap</a>&nbsp;map,
+      boolean&nbsp;isRowAggregate,
+      boolean&nbsp;isScalar)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">FederationUtils.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationUtils.html#bind-java.util.concurrent.Future:A-boolean-">bind</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedResponse</a>&gt;[]&nbsp;ffr,
     boolean&nbsp;cbind)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>[]</code></td>
 <td class="colLast"><span class="typeNameLabel">FederationUtils.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationUtils.html#getResults-java.util.concurrent.Future:A-">getResults</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedResponse</a>&gt;[]&nbsp;ffr)</code>&nbsp;</td>
 </tr>
@@ -2399,6 +2908,22 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ParamservUtils.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/ParamservUtils.html#generateReplicationMatrix-int-int-long-">generateReplicationMatrix</a></span>(int&nbsp;nsamples,
+                         int&nbsp;nrows,
+                         long&nbsp;seed)</code>
+<div class="block">Generates a matrix which when left multiplied with the input matrix will replicate n data rows</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ParamservUtils.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/ParamservUtils.html#generateSubsampleMatrix-int-int-long-">generateSubsampleMatrix</a></span>(int&nbsp;nsamples,
+                       int&nbsp;nrows,
+                       long&nbsp;seed)</code>
+<div class="block">Generates a matrix which when left multiplied with the input matrix will subsample</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">ParamservUtils.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/ParamservUtils.html#sliceMatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-long-long-">sliceMatrixBlock</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mb,
                 long&nbsp;rl,
                 long&nbsp;rh)</code>
@@ -2908,25 +3433,29 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">ParameterizedBuiltinSPInstruction.RDDReplaceFunction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDReplaceFunction.html#call-org.apache.sysds.runtime.matrix.data.MatrixBlock-">call</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;arg0)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">DeCompressionSPInstruction.DeCompressionFunction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/DeCompressionSPInstruction.DeCompressionFunction.html#call-org.apache.sysds.runtime.matrix.data.MatrixBlock-">call</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;arg0)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ParameterizedBuiltinSPInstruction.RDDReplaceFunction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDReplaceFunction.html#call-org.apache.sysds.runtime.matrix.data.MatrixBlock-">call</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;arg0)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>[]</code></td>
 <td class="colLast"><span class="typeNameLabel">CtableSPInstruction.MapJoinSignature2.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/CtableSPInstruction.MapJoinSignature2.html#call-scala.Tuple2-">call</a></span>(scala.Tuple2&lt;<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>,<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&gt;&nbsp;v1)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">ParameterizedBuiltinSPInstruction.RDDMapGroupedAggFunction2.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDMapGroupedAggFunction2.html#call-scala.Tuple2-">call</a></span>(scala.Tuple2&lt;<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixIndexes.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixIndexes</a>,<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&gt;&nbsp;arg0)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">AggregateUnarySPInstruction.RDDUAggFunction2.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/AggregateUnarySPInstruction.RDDUAggFunction2.html#call-scala.Tuple2-">call</a></span>(scala.Tuple2&lt;<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixIndexes.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixIndexes</a>,<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&gt;&nbsp;arg0)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>[]</code></td>
 <td class="colLast"><span class="typeNameLabel">CtableSPInstruction.MapJoinSignature3.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/CtableSPInstruction.MapJoinSignature3.html#call-scala.Tuple2-">call</a></span>(scala.Tuple2&lt;scala.Tuple2&lt;<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>,<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&gt;,<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&gt;&nbsp;v1)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">MatrixIndexingSPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/MatrixIndexingSPInstruction.html#inmemoryIndexing-org.apache.spark.api.java.JavaPairRDD-org.apache.sysds.runtime.meta.DataCharacteristics-org.apache.sysds.runtime.meta.DataCharacteristics-org.apache.sysds.runtime.util.IndexRange-">inmemoryIndexing</a></span>(org.apache.spark.api.java.JavaPairRDD&lt;<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixIndexes.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixIndexes</a>,<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&gt;&nbsp;in1,
                 <a href="../../../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a>&nbsp;mcIn,
@@ -3005,6 +3534,10 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">DeCompressionSPInstruction.DeCompressionFunction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/DeCompressionSPInstruction.DeCompressionFunction.html#call-org.apache.sysds.runtime.matrix.data.MatrixBlock-">call</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;arg0)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">ParameterizedBuiltinSPInstruction.RDDReplaceFunction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDReplaceFunction.html#call-org.apache.sysds.runtime.matrix.data.MatrixBlock-">call</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;arg0)</code>&nbsp;</td>
 </tr>
 </tbody>
@@ -4545,45 +5078,52 @@
                    <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;resultBlock)</code>
 <div class="block">D = ctable(seq,A,w)
   this &lt;- seq; thatMatrix &lt;- A; thatScalar &lt;- w; result &lt;- D
-  
+
  (i1,j1,v1) from input1 (this)
  (i1,j1,v2) from input2 (that)
  (w)  from scalar_input3 (scalarThat2)</div>
 </td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">MatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#ctableSeqOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-double-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-">ctableSeqOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;thatMatrix,
+                   double&nbsp;thatScalar,
+                   <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;resultBlock,
+                   boolean&nbsp;updateClen)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">LibMatrixAgg.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixAgg.html#cumaggregateUnaryMatrix-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.UnaryOperator-">cumaggregateUnaryMatrix</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;in,
                        <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
                        <a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/UnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">UnaryOperator</a>&nbsp;uop)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">LibMatrixAgg.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixAgg.html#cumaggregateUnaryMatrix-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.UnaryOperator-double:A-">cumaggregateUnaryMatrix</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;in,
                        <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
                        <a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/UnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">UnaryOperator</a>&nbsp;uop,
                        double[]&nbsp;agg)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">LibMatrixAgg.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixAgg.html#cumaggregateUnaryMatrix-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.UnaryOperator-int-">cumaggregateUnaryMatrix</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;in,
                        <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
                        <a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/UnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">UnaryOperator</a>&nbsp;uop,
                        int&nbsp;k)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">LibMatrixReorg.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixReorg.html#diag-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">diag</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;in,
     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">MatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#extractTriangular-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-boolean-boolean-">extractTriangular</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
                  boolean&nbsp;lower,
                  boolean&nbsp;diag,
                  boolean&nbsp;values)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">MatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#groupedAggOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-int-org.apache.sysds.runtime.matrix.operators.Operator-">groupedAggOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;tgt,
                     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;wghts,
@@ -4593,7 +5133,7 @@
 <div class="block">Invocation from CP instructions.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">MatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#groupedAggOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-int-org.apache.sysds.runtime.matrix.operators.Operator-int-">groupedAggOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;tgt,
                     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;wghts,
@@ -4602,14 +5142,14 @@
                     <a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
                     int&nbsp;k)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">MatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#leftIndexingOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.util.IndexRange-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType-">leftIndexingOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;rhsMatrix,
                       <a href="../../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixrange,
                       <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
                       <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.UpdateType.html" title="enum in org.apache.sysds.runtime.controlprogram.caching">MatrixObject.UpdateType</a>&nbsp;update)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">MatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#leftIndexingOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-int-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType-">leftIndexingOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;rhsMatrix,
                       int&nbsp;rl,
@@ -4619,7 +5159,7 @@
                       <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
                       <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.UpdateType.html" title="enum in org.apache.sysds.runtime.controlprogram.caching">MatrixObject.UpdateType</a>&nbsp;update)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">MatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#leftIndexingOperations-org.apache.sysds.runtime.instructions.cp.ScalarObject-int-int-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType-">leftIndexingOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&nbsp;scalar,
                       int&nbsp;rl,
@@ -4629,14 +5169,14 @@
 <div class="block">Explicitly allow left indexing for scalars.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">OperationsOnMatrixValues.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/OperationsOnMatrixValues.html#matMult-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.AggregateBinaryOperator-">matMult</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;value1,
        <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;value2,
        <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;valueOut,
        <a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateBinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateBinaryOperator</a>&nbsp;op)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">OperationsOnMatrixValues.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/OperationsOnMatrixValues.html#matMult-org.apache.sysds.runtime.matrix.data.MatrixIndexes-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixIndexes-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixIndexes-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.AggregateBinaryOperator-">matMult</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixIndexes.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixIndexes</a>&nbsp;indexes1,
        <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;value1,
@@ -4646,36 +5186,36 @@
        <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;valueOut,
        <a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateBinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateBinaryOperator</a>&nbsp;op)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">LibCommonsMath.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/LibCommonsMath.html#matrixMatrixOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-java.lang.String-">matrixMatrixOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;in1,
                       <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;in2,
                       <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;opcode)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>[]</code></td>
 <td class="colLast"><span class="typeNameLabel">LibCommonsMath.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/LibCommonsMath.html#multiReturnOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-java.lang.String-">multiReturnOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;in,
                      <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;opcode)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">MatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#naryOperations-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.runtime.matrix.data.MatrixBlock:A-org.apache.sysds.runtime.instructions.cp.ScalarObject:A-org.apache.sysds.runtime.matrix.data.MatrixBlock-">naryOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
               <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>[]&nbsp;matrices,
               <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>[]&nbsp;scalars,
               <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">MatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#pickValues-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-">pickValues</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;quantiles,
           <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;ret)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">LibMatrixMult.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixMult.html#prepMatrixMultTransposeSelfInput-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-boolean-">prepMatrixMultTransposeSelfInput</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m1,
                                 boolean&nbsp;leftTranspose,
                                 boolean&nbsp;par)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">MatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#quaternaryOperations-org.apache.sysds.runtime.matrix.operators.QuaternaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">quaternaryOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/QuaternaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">QuaternaryOperator</a>&nbsp;qop,
                     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;um,
@@ -4683,7 +5223,7 @@
                     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;wm,
                     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">MatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#quaternaryOperations-org.apache.sysds.runtime.matrix.operators.QuaternaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">quaternaryOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/QuaternaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">QuaternaryOperator</a>&nbsp;qop,
                     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;U,
@@ -4692,7 +5232,7 @@
                     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
                     int&nbsp;k)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">MatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#randOperations-int-int-double-double-double-java.lang.String-long-">randOperations</a></span>(int&nbsp;rows,
               int&nbsp;cols,
@@ -4704,7 +5244,7 @@
 <div class="block">Function to generate the random matrix with specified dimensions (block sizes are not specified).</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">MatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#randOperations-int-int-double-double-double-java.lang.String-long-int-">randOperations</a></span>(int&nbsp;rows,
               int&nbsp;cols,
@@ -4717,14 +5257,14 @@
 <div class="block">Function to generate the random matrix with specified dimensions (block sizes are not specified).</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">MatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#randOperations-org.apache.sysds.runtime.matrix.data.RandomMatrixGenerator-long-">randOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/RandomMatrixGenerator.html" title="class in org.apache.sysds.runtime.matrix.data">RandomMatrixGenerator</a>&nbsp;rgen,
               long&nbsp;seed)</code>
 <div class="block">Function to generate the random matrix with specified dimensions and block dimensions.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">MatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#randOperations-org.apache.sysds.runtime.matrix.data.RandomMatrixGenerator-long-int-">randOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/RandomMatrixGenerator.html" title="class in org.apache.sysds.runtime.matrix.data">RandomMatrixGenerator</a>&nbsp;rgen,
               long&nbsp;seed,
@@ -4732,7 +5272,7 @@
 <div class="block">Function to generate the random matrix with specified dimensions and block dimensions.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">MatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#randOperationsInPlace-org.apache.sysds.runtime.matrix.data.RandomMatrixGenerator-org.apache.commons.math3.random.Well1024a-long-">randOperationsInPlace</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/RandomMatrixGenerator.html" title="class in org.apache.sysds.runtime.matrix.data">RandomMatrixGenerator</a>&nbsp;rgen,
                      org.apache.commons.math3.random.Well1024a&nbsp;bigrand,
@@ -4740,7 +5280,7 @@
 <div class="block">Function to generate a matrix of random numbers.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">MatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#randOperationsInPlace-org.apache.sysds.runtime.matrix.data.RandomMatrixGenerator-org.apache.commons.math3.random.Well1024a-long-int-">randOperationsInPlace</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/RandomMatrixGenerator.html" title="class in org.apache.sysds.runtime.matrix.data">RandomMatrixGenerator</a>&nbsp;rgen,
                      org.apache.commons.math3.random.Well1024a&nbsp;bigrand,
@@ -4749,25 +5289,30 @@
 <div class="block">Function to generate a matrix of random numbers.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">MatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#removeEmptyOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-boolean-">removeEmptyOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
                      boolean&nbsp;rows,
                      boolean&nbsp;emptyReturn)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">MatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#removeEmptyOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-boolean-org.apache.sysds.runtime.matrix.data.MatrixBlock-">removeEmptyOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
                      boolean&nbsp;rows,
                      boolean&nbsp;emptyReturn,
                      <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;select)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">LibMatrixReorg.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixReorg.html#reorg-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.ReorgOperator-">reorg</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;in,
      <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
      <a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ReorgOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ReorgOperator</a>&nbsp;op)</code>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">LibMatrixReorg.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixReorg.html#reorgInPlace-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.ReorgOperator-">reorgInPlace</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;in,
+            <a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ReorgOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ReorgOperator</a>&nbsp;op)</code>&nbsp;</td>
+</tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">MatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#reorgOperations-org.apache.sysds.runtime.matrix.operators.ReorgOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-int-int-int-">reorgOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ReorgOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ReorgOperator</a>&nbsp;op,
@@ -4867,10 +5412,19 @@
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">MatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#slice-int-int-">slice</a></span>(int&nbsp;rl,
-     int&nbsp;ru)</code>&nbsp;</td>
+     int&nbsp;ru)</code>
+<div class="block">Slice out a row block</div>
+</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">MatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#slice-int-int-int-int-">slice</a></span>(int&nbsp;rl,
+     int&nbsp;ru,
+     int&nbsp;cl,
+     int&nbsp;cu)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">MatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#slice-int-int-int-int-boolean-org.apache.sysds.runtime.controlprogram.caching.CacheBlock-">slice</a></span>(int&nbsp;rl,
      int&nbsp;ru,
      int&nbsp;cl,
@@ -4880,7 +5434,7 @@
 <div class="block">Method to perform rightIndex operation for a given lower and upper bounds in row and column dimensions.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">MatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#slice-int-int-int-int-org.apache.sysds.runtime.controlprogram.caching.CacheBlock-">slice</a></span>(int&nbsp;rl,
      int&nbsp;ru,
@@ -4888,7 +5442,7 @@
      int&nbsp;cu,
      <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html" title="interface in org.apache.sysds.runtime.controlprogram.caching">CacheBlock</a>&nbsp;ret)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">LibMatrixReorg.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixReorg.html#sort-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-boolean-boolean-">sort</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;in,
     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
@@ -4896,7 +5450,7 @@
     boolean&nbsp;desc,
     boolean&nbsp;ixret)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">LibMatrixReorg.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixReorg.html#sort-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-boolean-boolean-int-">sort</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;in,
     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
@@ -4905,34 +5459,39 @@
     boolean&nbsp;ixret,
     int&nbsp;k)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">MatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#sortOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixBlock-">sortOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;weights,
               <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">MatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#ternaryOperations-org.apache.sysds.runtime.matrix.operators.TernaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ternaryOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/TernaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">TernaryOperator</a>&nbsp;op,
                  <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2,
                  <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m3,
                  <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">CTableMap.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/CTableMap.html#toMatrixBlock-int-int-">toMatrixBlock</a></span>(int&nbsp;rlen,
              int&nbsp;clen)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">LibMatrixReorg.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixReorg.html#transpose-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">transpose</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;in,
          <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">LibMatrixReorg.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixReorg.html#transpose-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">transpose</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;in,
          <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
          int&nbsp;k)</code>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">LibMatrixReorg.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixReorg.html#transposeInPlace-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">transposeInPlace</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;in,
+                int&nbsp;k)</code>&nbsp;</td>
+</tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">MatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#transposeSelfMatrixMultOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.lops.MMTSJ.MMTSJType-">transposeSelfMatrixMultOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
@@ -5180,12 +5739,27 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static void</code></td>
+<td class="colLast"><span class="typeNameLabel">LibMatrixBincell.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixBincell.html#bincellOp-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.BinaryOperator-int-">bincellOp</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m1,
+         <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2,
+         <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
+         <a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
+         int&nbsp;k)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">LibMatrixBincell.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixBincell.html#bincellOp-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">bincellOp</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m1,
          <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
          <a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op)</code>
 <div class="block">matrix-scalar, scalar-matrix binary operations.</div>
 </td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><span class="typeNameLabel">LibMatrixBincell.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixBincell.html#bincellOp-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.ScalarOperator-int-">bincellOp</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m1,
+         <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
+         <a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op,
+         int&nbsp;k)</code>&nbsp;</td>
+</tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">LibMatrixBincell.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixBincell.html#bincellOpInPlace-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.BinaryOperator-">bincellOpInPlace</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m1ret,
@@ -5527,58 +6101,65 @@
                    <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;resultBlock)</code>
 <div class="block">D = ctable(seq,A,w)
   this &lt;- seq; thatMatrix &lt;- A; thatScalar &lt;- w; result &lt;- D
-  
+
  (i1,j1,v1) from input1 (this)
  (i1,j1,v2) from input2 (that)
  (w)  from scalar_input3 (scalarThat2)</div>
 </td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">MatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#ctableSeqOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-double-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-">ctableSeqOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;thatMatrix,
+                   double&nbsp;thatScalar,
+                   <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;resultBlock,
+                   boolean&nbsp;updateClen)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">LibMatrixAgg.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixAgg.html#cumaggregateUnaryMatrix-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.UnaryOperator-">cumaggregateUnaryMatrix</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;in,
                        <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
                        <a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/UnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">UnaryOperator</a>&nbsp;uop)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">LibMatrixAgg.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixAgg.html#cumaggregateUnaryMatrix-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.UnaryOperator-double:A-">cumaggregateUnaryMatrix</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;in,
                        <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
                        <a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/UnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">UnaryOperator</a>&nbsp;uop,
                        double[]&nbsp;agg)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">LibMatrixAgg.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixAgg.html#cumaggregateUnaryMatrix-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.UnaryOperator-int-">cumaggregateUnaryMatrix</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;in,
                        <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
                        <a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/UnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">UnaryOperator</a>&nbsp;uop,
                        int&nbsp;k)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">LibMatrixReorg.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixReorg.html#diag-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">diag</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;in,
     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><span class="typeNameLabel">LibMatrixCountDistinct.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixCountDistinct.html#estimateDistinctValues-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.CountDistinctOperator-">estimateDistinctValues</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;in,
                       <a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/CountDistinctOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">CountDistinctOperator</a>&nbsp;op)</code>
 <div class="block">Public method to count the number of distinct values inside a matrix.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.SparsityEstimate.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock.SparsityEstimate</a></code></td>
 <td class="colLast"><span class="typeNameLabel">MatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#estimateSparsityOnAggBinary-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.AggregateBinaryOperator-">estimateSparsityOnAggBinary</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m1,
                            <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2,
                            <a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateBinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateBinaryOperator</a>&nbsp;op)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">MatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#extractTriangular-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-boolean-boolean-">extractTriangular</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
                  boolean&nbsp;lower,
                  boolean&nbsp;diag,
                  boolean&nbsp;values)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">LibMatrixDatagen.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixDatagen.html#generateRandomMatrix-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.RandomMatrixGenerator-org.apache.commons.math3.random.Well1024a-long-">generateRandomMatrix</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
                     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/RandomMatrixGenerator.html" title="class in org.apache.sysds.runtime.matrix.data">RandomMatrixGenerator</a>&nbsp;rgen,
@@ -5587,7 +6168,7 @@
 <div class="block">Function to generate a matrix of random numbers.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">LibMatrixDatagen.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixDatagen.html#generateRandomMatrix-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.RandomMatrixGenerator-org.apache.commons.math3.random.Well1024a-long-int-">generateRandomMatrix</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
                     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/RandomMatrixGenerator.html" title="class in org.apache.sysds.runtime.matrix.data">RandomMatrixGenerator</a>&nbsp;rgen,
@@ -5597,7 +6178,7 @@
 <div class="block">Function to generate a matrix of random numbers.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">LibMatrixDatagen.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixDatagen.html#generateSample-org.apache.sysds.runtime.matrix.data.MatrixBlock-long-int-boolean-long-">generateSample</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
               long&nbsp;range,
@@ -5607,7 +6188,7 @@
 <div class="block">Generates a sample of size <code>size</code> from a range of values [1,range].</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">LibMatrixDatagen.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixDatagen.html#generateSequence-org.apache.sysds.runtime.matrix.data.MatrixBlock-double-double-double-">generateSequence</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
                 double&nbsp;from,
@@ -5616,12 +6197,12 @@
 <div class="block">Method to generate a sequence according to the given parameters.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixBincell.BinaryAccessType.html" title="enum in org.apache.sysds.runtime.matrix.data">LibMatrixBincell.BinaryAccessType</a></code></td>
 <td class="colLast"><span class="typeNameLabel">LibMatrixBincell.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixBincell.html#getBinaryAccessType-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">getBinaryAccessType</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m1,
                    <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixDNNRotate180.Rotate180Worker.html" title="interface in org.apache.sysds.runtime.matrix.data">LibMatrixDNNRotate180.Rotate180Worker</a></code></td>
 <td class="colLast"><span class="typeNameLabel">LibMatrixDNNRotate180.Rotate180Worker.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixDNNRotate180.Rotate180Worker.html#getWorker-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.DnnParameters-boolean-boolean-">getWorker</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;in,
          <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
@@ -5629,7 +6210,7 @@
          boolean&nbsp;zeroOutSparseOutput,
          boolean&nbsp;trans)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">LibMatrixAgg.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixAgg.html#groupedAggregate-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-org.apache.sysds.runtime.matrix.operators.Operator-">groupedAggregate</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;groups,
                 <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
@@ -5638,7 +6219,7 @@
                 int&nbsp;numGroups,
                 <a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">LibMatrixAgg.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixAgg.html#groupedAggregate-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-org.apache.sysds.runtime.matrix.operators.Operator-int-">groupedAggregate</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;groups,
                 <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
@@ -5648,7 +6229,7 @@
                 <a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
                 int&nbsp;k)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">LibMatrixDNNIm2Col.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixDNNIm2Col.html#im2col-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-org.apache.sysds.runtime.matrix.data.DnnParameters-boolean-">im2col</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;in,
       <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
@@ -5656,7 +6237,7 @@
       <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/DnnParameters.html" title="class in org.apache.sysds.runtime.matrix.data">DnnParameters</a>&nbsp;params,
       boolean&nbsp;trans)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">LibMatrixDNNIm2Col.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixDNNIm2Col.html#im2col-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-int-int-int-int-int-int-int-int-int-boolean-">im2col</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;in,
       <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
@@ -5674,7 +6255,7 @@
       int&nbsp;pad_w,
       boolean&nbsp;trans)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">LibMatrixDNNIm2Col.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixDNNIm2Col.html#im2colSparse-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-int-int-int-int-int-int-int-int-int-boolean-">im2colSparse</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;in,
             <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
@@ -5692,7 +6273,7 @@
             int&nbsp;pad_w,
             boolean&nbsp;trans)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">FrameBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html#invalidByLength-org.apache.sysds.runtime.matrix.data.MatrixBlock-">invalidByLength</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;feaLen)</code>
 <div class="block">This method validates the frame data against an attribute length constrain
@@ -5700,30 +6281,39 @@
   the output frame will store a null on that cell position, thus removing the length-violating values.</div>
 </td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><code>static boolean</code></td>
+<td class="colLast"><span class="typeNameLabel">LibMatrixBincell.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixBincell.html#isAllDense-org.apache.sysds.runtime.matrix.data.MatrixBlock...-">isAllDense</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>...&nbsp;mb)</code>&nbsp;</td>
+</tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
+<td class="colLast"><span class="typeNameLabel">LibMatrixMult.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixMult.html#isSparseOutputMatrixMult-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">isSparseOutputMatrixMult</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m1,
+                        <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">LibMatrixBincell.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixBincell.html#isSparseSafeDivide-org.apache.sysds.runtime.matrix.operators.BinaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-">isSparseSafeDivide</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
                   <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;rhs)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">LibMatrixMult.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixMult.html#isUltraSparseMatrixMult-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-">isUltraSparseMatrixMult</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m1,
                        <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2,
                        boolean&nbsp;m1Perm)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
-<td class="colFirst"><code>static boolean</code></td>
+<tr class="altColor">
+<td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">LibMatrixBincell.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixBincell.html#isValidDimensionsBinary-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">isValidDimensionsBinary</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m1,
                        <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">MatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#leftIndexingOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.util.IndexRange-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType-">leftIndexingOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;rhsMatrix,
                       <a href="../../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixrange,
                       <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
                       <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.UpdateType.html" title="enum in org.apache.sysds.runtime.controlprogram.caching">MatrixObject.UpdateType</a>&nbsp;update)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">MatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#leftIndexingOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-int-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType-">leftIndexingOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;rhsMatrix,
                       int&nbsp;rl,
@@ -5733,7 +6323,7 @@
                       <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
                       <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.UpdateType.html" title="enum in org.apache.sysds.runtime.controlprogram.caching">MatrixObject.UpdateType</a>&nbsp;update)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">MatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#leftIndexingOperations-org.apache.sysds.runtime.instructions.cp.ScalarObject-int-int-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType-">leftIndexingOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&nbsp;scalar,
                       int&nbsp;rl,
@@ -5743,14 +6333,14 @@
 <div class="block">Explicitly allow left indexing for scalars.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">OperationsOnMatrixValues.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/OperationsOnMatrixValues.html#matMult-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.AggregateBinaryOperator-">matMult</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;value1,
        <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;value2,
        <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;valueOut,
        <a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateBinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateBinaryOperator</a>&nbsp;op)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">OperationsOnMatrixValues.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/OperationsOnMatrixValues.html#matMult-org.apache.sysds.runtime.matrix.data.MatrixIndexes-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixIndexes-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixIndexes-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.AggregateBinaryOperator-">matMult</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixIndexes.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixIndexes</a>&nbsp;indexes1,
        <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;value1,
@@ -5760,13 +6350,13 @@
        <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;valueOut,
        <a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateBinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateBinaryOperator</a>&nbsp;op)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">LibCommonsMath.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/LibCommonsMath.html#matrixMatrixOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-java.lang.String-">matrixMatrixOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;in1,
                       <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;in2,
                       <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;opcode)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">LibMatrixMult.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixMult.html#matrixMult-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">matrixMult</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m1,
           <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2,
@@ -5774,7 +6364,7 @@
 <div class="block">Performs a matrix multiplication and stores the result in the output matrix.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">LibMatrixMult.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixMult.html#matrixMult-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-">matrixMult</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m1,
           <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2,
@@ -5783,7 +6373,7 @@
 <div class="block">This method allows one to disabling exam sparsity.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">LibMatrixMult.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixMult.html#matrixMult-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">matrixMult</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m1,
           <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2,
@@ -5792,7 +6382,7 @@
 <div class="block">Performs a multi-threaded matrix multiplication and stores the result in the output matrix.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">LibMatrixNative.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixNative.html#matrixMult-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">matrixMult</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m1,
           <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2,
@@ -5802,7 +6392,7 @@
  Java BLAS.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">LibMatrixNative.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixNative.html#matrixMult-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-boolean-">matrixMult</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m1,
           <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2,
@@ -5810,7 +6400,7 @@
           int&nbsp;k,
           boolean&nbsp;examSparsity)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">LibMatrixMult.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixMult.html#matrixMult-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">matrixMult</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m1,
           <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2,
@@ -5818,7 +6408,7 @@
           int&nbsp;rl,
           int&nbsp;ru)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">LibMatrixMult.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixMult.html#matrixMult-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-boolean-">matrixMult</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m1,
           <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2,
@@ -5827,7 +6417,7 @@
           int&nbsp;ru,
           boolean&nbsp;fixedRet)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">LibMatrixMult.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixMult.html#matrixMultChain-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.lops.MapMultChain.ChainType-">matrixMultChain</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mX,
                <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mV,
@@ -5837,7 +6427,7 @@
 <div class="block">Performs a matrix multiplication chain operation of type t(X)%*%(X%*%v) or t(X)%*%(w*(X%*%v)).</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">LibMatrixMult.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixMult.html#matrixMultChain-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.lops.MapMultChain.ChainType-int-">matrixMultChain</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mX,
                <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mV,
@@ -5848,14 +6438,14 @@
 <div class="block">Performs a parallel matrix multiplication chain operation of type t(X)%*%(X%*%v) or t(X)%*%(w*(X%*%v)).</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">LibMatrixMult.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixMult.html#matrixMultPermute-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">matrixMultPermute</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;pm1,
                  <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2,
                  <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret1,
                  <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret2)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">LibMatrixMult.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixMult.html#matrixMultPermute-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">matrixMultPermute</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;pm1,
                  <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2,
@@ -5863,20 +6453,20 @@
                  <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret2,
                  int&nbsp;k)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">LibMatrixMult.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixMult.html#matrixMultTransposeSelf-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-">matrixMultTransposeSelf</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m1,
                        <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
                        boolean&nbsp;leftTranspose)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">LibMatrixMult.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixMult.html#matrixMultTransposeSelf-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-int-">matrixMultTransposeSelf</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m1,
                        <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
                        boolean&nbsp;leftTranspose,
                        int&nbsp;k)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">LibMatrixMult.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixMult.html#matrixMultWCeMM-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-double-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.lops.WeightedCrossEntropy.WCeMMType-">matrixMultWCeMM</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mW,
                <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mU,
@@ -5885,7 +6475,7 @@
                <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
                <a href="../../../../../../../org/apache/sysds/lops/WeightedCrossEntropy.WCeMMType.html" title="enum in org.apache.sysds.lops">WeightedCrossEntropy.WCeMMType</a>&nbsp;wt)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">LibMatrixMult.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixMult.html#matrixMultWCeMM-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-double-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.lops.WeightedCrossEntropy.WCeMMType-int-">matrixMultWCeMM</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mW,
                <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mU,
@@ -5895,7 +6485,7 @@
                <a href="../../../../../../../org/apache/sysds/lops/WeightedCrossEntropy.WCeMMType.html" title="enum in org.apache.sysds.lops">WeightedCrossEntropy.WCeMMType</a>&nbsp;wt,
                int&nbsp;k)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">LibMatrixMult.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixMult.html#matrixMultWDivMM-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.lops.WeightedDivMM.WDivMMType-">matrixMultWDivMM</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mW,
                 <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mU,
@@ -5907,7 +6497,7 @@
  have only limited NaN support.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">LibMatrixMult.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixMult.html#matrixMultWDivMM-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.lops.WeightedDivMM.WDivMMType-int-">matrixMultWDivMM</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mW,
                 <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mU,
@@ -5920,7 +6510,7 @@
  have only limited NaN support.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">LibMatrixMult.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixMult.html#matrixMultWSigmoid-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.lops.WeightedSigmoid.WSigmoidType-">matrixMultWSigmoid</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mW,
                   <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mU,
@@ -5928,7 +6518,7 @@
                   <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
                   <a href="../../../../../../../org/apache/sysds/lops/WeightedSigmoid.WSigmoidType.html" title="enum in org.apache.sysds.lops">WeightedSigmoid.WSigmoidType</a>&nbsp;wt)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">LibMatrixMult.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixMult.html#matrixMultWSigmoid-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.lops.WeightedSigmoid.WSigmoidType-int-">matrixMultWSigmoid</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mW,
                   <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mU,
@@ -5937,7 +6527,7 @@
                   <a href="../../../../../../../org/apache/sysds/lops/WeightedSigmoid.WSigmoidType.html" title="enum in org.apache.sysds.lops">WeightedSigmoid.WSigmoidType</a>&nbsp;wt,
                   int&nbsp;k)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">LibMatrixMult.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixMult.html#matrixMultWSLoss-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.lops.WeightedSquaredLoss.WeightsType-">matrixMultWSLoss</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mX,
                 <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mU,
@@ -5946,7 +6536,7 @@
                 <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
                 <a href="../../../../../../../org/apache/sysds/lops/WeightedSquaredLoss.WeightsType.html" title="enum in org.apache.sysds.lops">WeightedSquaredLoss.WeightsType</a>&nbsp;wt)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">LibMatrixMult.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixMult.html#matrixMultWSLoss-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.lops.WeightedSquaredLoss.WeightsType-int-">matrixMultWSLoss</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mX,
                 <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mU,
@@ -5956,7 +6546,7 @@
                 <a href="../../../../../../../org/apache/sysds/lops/WeightedSquaredLoss.WeightsType.html" title="enum in org.apache.sysds.lops">WeightedSquaredLoss.WeightsType</a>&nbsp;wt,
                 int&nbsp;k)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">LibMatrixMult.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixMult.html#matrixMultWuMM-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.lops.WeightedUnaryMM.WUMMType-org.apache.sysds.runtime.functionobjects.ValueFunction-">matrixMultWuMM</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mW,
               <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mU,
@@ -5965,7 +6555,7 @@
               <a href="../../../../../../../org/apache/sysds/lops/WeightedUnaryMM.WUMMType.html" title="enum in org.apache.sysds.lops">WeightedUnaryMM.WUMMType</a>&nbsp;wt,
               <a href="../../../../../../../org/apache/sysds/runtime/functionobjects/ValueFunction.html" title="class in org.apache.sysds.runtime.functionobjects">ValueFunction</a>&nbsp;fn)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">LibMatrixMult.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixMult.html#matrixMultWuMM-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.lops.WeightedUnaryMM.WUMMType-org.apache.sysds.runtime.functionobjects.ValueFunction-int-">matrixMultWuMM</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mW,
               <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mU,
@@ -5975,7 +6565,7 @@
               <a href="../../../../../../../org/apache/sysds/runtime/functionobjects/ValueFunction.html" title="class in org.apache.sysds.runtime.functionobjects">ValueFunction</a>&nbsp;fn,
               int&nbsp;k)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">MatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#merge-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-">merge</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;that,
      boolean&nbsp;appendOnly)</code>
@@ -5983,31 +6573,24 @@
  matrix block.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">MatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#merge-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-boolean-">merge</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;that,
      boolean&nbsp;appendOnly,
      boolean&nbsp;par)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">MatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#merge-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-boolean-boolean-">merge</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;that,
      boolean&nbsp;appendOnly,
      boolean&nbsp;par,
      boolean&nbsp;deep)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>[]</code></td>
 <td class="colLast"><span class="typeNameLabel">LibCommonsMath.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/LibCommonsMath.html#multiReturnOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-java.lang.String-">multiReturnOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;in,
                      <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;opcode)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
-<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">MatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#naryOperations-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.runtime.matrix.data.MatrixBlock:A-org.apache.sysds.runtime.instructions.cp.ScalarObject:A-org.apache.sysds.runtime.matrix.data.MatrixBlock-">naryOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
-              <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>[]&nbsp;matrices,
-              <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>[]&nbsp;scalars,
-              <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret)</code>&nbsp;</td>
-</tr>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">MatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#naryOperations-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.runtime.matrix.data.MatrixBlock:A-org.apache.sysds.runtime.instructions.cp.ScalarObject:A-org.apache.sysds.runtime.matrix.data.MatrixBlock-">naryOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
@@ -6016,6 +6599,13 @@
               <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">MatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#naryOperations-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.runtime.matrix.data.MatrixBlock:A-org.apache.sysds.runtime.instructions.cp.ScalarObject:A-org.apache.sysds.runtime.matrix.data.MatrixBlock-">naryOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
+              <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>[]&nbsp;matrices,
+              <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>[]&nbsp;scalars,
+              <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">OperationsOnMatrixValues.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/OperationsOnMatrixValues.html#performCtable-org.apache.sysds.runtime.matrix.data.MatrixIndexes-org.apache.sysds.runtime.matrix.data.MatrixValue-double-boolean-int-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.Operator-">performCtable</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixIndexes.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixIndexes</a>&nbsp;indexesIn1,
              <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;valueIn1,
@@ -6026,7 +6616,7 @@
              <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;resultBlock,
              <a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">OperationsOnMatrixValues.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/OperationsOnMatrixValues.html#performCtable-org.apache.sysds.runtime.matrix.data.MatrixIndexes-org.apache.sysds.runtime.matrix.data.MatrixValue-double-double-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.Operator-">performCtable</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixIndexes.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixIndexes</a>&nbsp;indexesIn1,
              <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;valueIn1,
@@ -6036,7 +6626,7 @@
              <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;resultBlock,
              <a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">OperationsOnMatrixValues.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/OperationsOnMatrixValues.html#performCtable-org.apache.sysds.runtime.matrix.data.MatrixIndexes-org.apache.sysds.runtime.matrix.data.MatrixValue-double-org.apache.sysds.runtime.matrix.data.MatrixIndexes-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.Operator-">performCtable</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixIndexes.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixIndexes</a>&nbsp;indexesIn1,
              <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;valueIn1,
@@ -6047,7 +6637,7 @@
              <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;resultBlock,
              <a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">OperationsOnMatrixValues.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/OperationsOnMatrixValues.html#performCtable-org.apache.sysds.runtime.matrix.data.MatrixIndexes-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixIndexes-org.apache.sysds.runtime.matrix.data.MatrixValue-double-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.Operator-">performCtable</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixIndexes.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixIndexes</a>&nbsp;indexesIn1,
              <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;valueIn1,
@@ -6058,7 +6648,7 @@
              <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;resultBlock,
              <a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">OperationsOnMatrixValues.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/OperationsOnMatrixValues.html#performCtable-org.apache.sysds.runtime.matrix.data.MatrixIndexes-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixIndexes-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixIndexes-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.Operator-">performCtable</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixIndexes.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixIndexes</a>&nbsp;indexesIn1,
              <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;valueIn1,
@@ -6070,7 +6660,7 @@
              <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;resultBlock,
              <a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">OperationsOnMatrixValues.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/OperationsOnMatrixValues.html#performMapGroupedAggregate-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.runtime.instructions.spark.data.IndexedMatrixValue-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-java.util.ArrayList-">performMapGroupedAggregate</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
                           <a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/data/IndexedMatrixValue.html" title="class in org.apache.sysds.runtime.instructions.spark.data">IndexedMatrixValue</a>&nbsp;inTarget,
@@ -6079,7 +6669,7 @@
                           int&nbsp;blen,
                           <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/data/IndexedMatrixValue.html" title="class in org.apache.sysds.runtime.instructions.spark.data">IndexedMatrixValue</a>&gt;&nbsp;outlist)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a></code></td>
 <td class="colLast"><span class="typeNameLabel">OperationsOnMatrixValues.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/OperationsOnMatrixValues.html#performSlice-org.apache.sysds.runtime.util.IndexRange-int-int-int-org.apache.sysds.runtime.matrix.data.MatrixBlock-">performSlice</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixrange,
             int&nbsp;blen,
@@ -6087,14 +6677,14 @@
             int&nbsp;jix,
             <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;in)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">LibMatrixDNN.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixDNN.html#pooling-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.DnnParameters-org.apache.sysds.runtime.matrix.data.LibMatrixDNN.PoolingType-">pooling</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;input,
        <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;output,
        <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/DnnParameters.html" title="class in org.apache.sysds.runtime.matrix.data">DnnParameters</a>&nbsp;params,
        <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixDNN.PoolingType.html" title="enum in org.apache.sysds.runtime.matrix.data">LibMatrixDNN.PoolingType</a>&nbsp;poolType)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">LibMatrixDNN.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixDNN.html#poolingBackward-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.DnnParameters-boolean-org.apache.sysds.runtime.matrix.data.LibMatrixDNN.PoolingType-">poolingBackward</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;input,
                <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;dout,
@@ -6105,18 +6695,18 @@
 <div class="block">This method computes the backpropogation errors for previous layer of pooling operation</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">LibMatrixDNNIm2Col.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixDNNIm2Col.html#preallocateSparseOutput-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">preallocateSparseOutput</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;in,
                        <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">LibMatrixMult.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixMult.html#prepMatrixMultTransposeSelfInput-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-boolean-">prepMatrixMultTransposeSelfInput</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m1,
                                 boolean&nbsp;leftTranspose,
                                 boolean&nbsp;par)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">MatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#quaternaryOperations-org.apache.sysds.runtime.matrix.operators.QuaternaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">quaternaryOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/QuaternaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">QuaternaryOperator</a>&nbsp;qop,
                     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;um,
@@ -6124,7 +6714,7 @@
                     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;wm,
                     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">MatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#quaternaryOperations-org.apache.sysds.runtime.matrix.operators.QuaternaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">quaternaryOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/QuaternaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">QuaternaryOperator</a>&nbsp;qop,
                     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;U,
@@ -6133,7 +6723,7 @@
                     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
                     int&nbsp;k)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">LibMatrixAgg.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixAgg.html#recomputeIndexes-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-int-org.apache.sysds.runtime.matrix.data.MatrixIndexes-">recomputeIndexes</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
                 <a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;op,
@@ -6142,7 +6732,7 @@
 <div class="block">Recompute outputs (e.g., maxindex or minindex) according to block indexes from MR.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">LibMatrixDNN.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixDNN.html#reluBackward-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">reluBackward</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;input,
             <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;dout,
@@ -6151,25 +6741,30 @@
 <div class="block">This method computes the backpropagation errors for previous layer of relu operation</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">MatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#removeEmptyOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-boolean-">removeEmptyOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
                      boolean&nbsp;rows,
                      boolean&nbsp;emptyReturn)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">MatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#removeEmptyOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-boolean-org.apache.sysds.runtime.matrix.data.MatrixBlock-">removeEmptyOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
                      boolean&nbsp;rows,
                      boolean&nbsp;emptyReturn,
                      <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;select)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">LibMatrixReorg.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixReorg.html#reorg-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.ReorgOperator-">reorg</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;in,
      <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
      <a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ReorgOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ReorgOperator</a>&nbsp;op)</code>&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">LibMatrixReorg.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixReorg.html#reorgInPlace-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.ReorgOperator-">reorgInPlace</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;in,
+            <a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ReorgOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ReorgOperator</a>&nbsp;op)</code>&nbsp;</td>
+</tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">LibMatrixOuterAgg.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixOuterAgg.html#resetOutputMatrix-org.apache.sysds.runtime.matrix.data.MatrixIndexes-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixIndexes-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-">resetOutputMatrix</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixIndexes.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixIndexes</a>&nbsp;in1Ix,
@@ -6288,23 +6883,36 @@
               <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><span class="typeNameLabel">LibMatrixTercell.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixTercell.html#tercellOp-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.TernaryOperator-">tercellOp</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m1,
+         <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2,
+         <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m3,
+         <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
+         <a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/TernaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">TernaryOperator</a>&nbsp;op)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">MatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#ternaryOperations-org.apache.sysds.runtime.matrix.operators.TernaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ternaryOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/TernaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">TernaryOperator</a>&nbsp;op,
                  <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2,
                  <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m3,
                  <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">LibMatrixReorg.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixReorg.html#transpose-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">transpose</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;in,
          <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">LibMatrixReorg.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixReorg.html#transpose-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">transpose</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;in,
          <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
          int&nbsp;k)</code>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">LibMatrixReorg.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixReorg.html#transposeInPlace-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">transposeInPlace</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;in,
+                int&nbsp;k)</code>&nbsp;</td>
+</tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">MatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#transposeSelfMatrixMultOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.lops.MMTSJ.MMTSJType-">transposeSelfMatrixMultOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
@@ -6368,6 +6976,13 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">AppendPropagator.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/privacy/propagation/AppendPropagator.html#setFields-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.privacy.PrivacyConstraint-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setFields</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;input1,
+         <a href="../../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>&nbsp;privacyConstraint1,
+         <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;input2,
+         <a href="../../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>&nbsp;privacyConstraint2)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">MatrixMultiplicationPropagator.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/privacy/propagation/MatrixMultiplicationPropagator.html#setFields-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.privacy.PrivacyConstraint-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setFields</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;input1,
          <a href="../../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>&nbsp;privacyConstraint1,
          <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;input2,
@@ -6384,6 +6999,18 @@
 </tr>
 <tbody>
 <tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/privacy/propagation/AppendPropagator.html#AppendPropagator-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.privacy.PrivacyConstraint-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.privacy.PrivacyConstraint-">AppendPropagator</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;input1,
+                <a href="../../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>&nbsp;privacyConstraint1,
+                <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;input2,
+                <a href="../../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>&nbsp;privacyConstraint2)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/privacy/propagation/CBindPropagator.html#CBindPropagator-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.privacy.PrivacyConstraint-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.privacy.PrivacyConstraint-">CBindPropagator</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;input1,
+               <a href="../../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>&nbsp;privacyConstraint1,
+               <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;input2,
+               <a href="../../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>&nbsp;privacyConstraint2)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/privacy/propagation/MatrixMultiplicationPropagator.html#MatrixMultiplicationPropagator-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.privacy.PrivacyConstraint-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.privacy.PrivacyConstraint-">MatrixMultiplicationPropagator</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;input1,
                               <a href="../../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>&nbsp;privacyConstraint1,
                               <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;input2,
@@ -6403,6 +7030,12 @@
                                           <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;input2,
                                           <a href="../../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>&nbsp;privacyConstraint2)</code>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/privacy/propagation/RBindPropagator.html#RBindPropagator-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.privacy.PrivacyConstraint-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.privacy.PrivacyConstraint-">RBindPropagator</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;input1,
+               <a href="../../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>&nbsp;privacyConstraint1,
+               <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;input2,
+               <a href="../../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>&nbsp;privacyConstraint2)</code>&nbsp;</td>
+</tr>
 </tbody>
 </table>
 </li>
@@ -6460,13 +7093,14 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">EncoderRecode.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderRecode.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">apply</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
-     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">MultiColumnEncoder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-">apply</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">EncoderComposite.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderComposite.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">apply</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
-     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</code>&nbsp;</td>
+<td class="colFirst"><code>abstract <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">LegacyEncoder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">apply</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
+     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</code>
+<div class="block">Encode input data blockwise according to existing transform meta data (transform apply).</div>
+</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
@@ -6479,42 +7113,107 @@
      <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>abstract <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">Encoder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">apply</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
-     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</code>
-<div class="block">Encode input data blockwise according to existing transform meta
- data (transform apply).</div>
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColumnEncoderPassThrough.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderPassThrough.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">apply</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
+     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
+     int&nbsp;outputCol)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColumnEncoderComposite.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">apply</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
+     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
+     int&nbsp;outputCol)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColumnEncoderDummycode.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderDummycode.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">apply</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
+     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
+     int&nbsp;outputCol)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">Encoder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">apply</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
+     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
+     int&nbsp;outputCol)</code>
+<div class="block">Apply the generated metadata to the FrameBlock and saved the result in out.</div>
 </td>
 </tr>
-<tr class="rowColor">
-<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">EncoderDummycode.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderDummycode.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">apply</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
-     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</code>&nbsp;</td>
-</tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">EncoderPassThrough.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderPassThrough.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">apply</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
-     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">MultiColumnEncoder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">apply</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
+     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
+     int&nbsp;outputCol)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">EncoderBin.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderBin.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">apply</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
-     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">ColumnEncoderRecode.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderRecode.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">apply</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
+     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
+     int&nbsp;outputCol)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">EncoderFeatureHash.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderFeatureHash.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">apply</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
-     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">ColumnEncoderFeatureHash.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderFeatureHash.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">apply</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
+     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
+     int&nbsp;outputCol)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">EncoderRecode.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderRecode.html#encode-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">encode</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
-      <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">ColumnEncoderBin.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderBin.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">apply</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
+     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
+     int&nbsp;outputCol)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">EncoderComposite.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderComposite.html#encode-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">encode</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
-      <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">ColumnEncoderPassThrough.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderPassThrough.html#apply-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">apply</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;in,
+     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
+     int&nbsp;outputCol)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColumnEncoderComposite.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html#apply-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">apply</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;in,
+     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
+     int&nbsp;outputCol)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColumnEncoderDummycode.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderDummycode.html#apply-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">apply</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;in,
+     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
+     int&nbsp;outputCol)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColumnEncoderRecode.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderRecode.html#apply-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">apply</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;in,
+     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
+     int&nbsp;outputCol)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColumnEncoderFeatureHash.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderFeatureHash.html#apply-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">apply</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;in,
+     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
+     int&nbsp;outputCol)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColumnEncoderBin.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderBin.html#apply-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">apply</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;in,
+     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
+     int&nbsp;outputCol)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>abstract <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColumnEncoder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#apply-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">apply</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;in,
+     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
+     int&nbsp;outputCol)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">MultiColumnEncoder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#encode-org.apache.sysds.runtime.matrix.data.FrameBlock-">encode</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>abstract <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">LegacyEncoder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#encode-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">encode</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
+      <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</code>
+<div class="block">Block encode: build and apply (transform encode).</div>
+</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
@@ -6527,50 +7226,24 @@
       <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>abstract <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">Encoder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#encode-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">encode</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
-      <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</code>
-<div class="block">Block encode: build and apply (transform encode).</div>
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">MultiColumnEncoder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#getColMapping-org.apache.sysds.runtime.matrix.data.FrameBlock-">getColMapping</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</code>
+<div class="block">Obtain the column mapping of encoded frames based on the passed meta data frame.</div>
 </td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">EncoderDummycode.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderDummycode.html#encode-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">encode</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
-      <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">ColumnEncoder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#getColMapping-org.apache.sysds.runtime.matrix.data.FrameBlock-">getColMapping</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</code>
+<div class="block">Obtain the column mapping of encoded frames based on the passed meta data frame.</div>
+</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">EncoderPassThrough.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderPassThrough.html#encode-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">encode</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
-      <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">EncoderBin.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderBin.html#encode-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">encode</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
-      <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">EncoderFeatureHash.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderFeatureHash.html#encode-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">encode</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
-      <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">EncoderComposite.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderComposite.html#getColMapping-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">getColMapping</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta,
-             <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">Encoder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#getColMapping-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">getColMapping</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta,
+<td class="colLast"><span class="typeNameLabel">LegacyEncoder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#getColMapping-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">getColMapping</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta,
              <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</code>
-<div class="block">Obtain the column mapping of encoded frames based on the passed
- meta data frame.</div>
+<div class="block">Obtain the column mapping of encoded frames based on the passed meta data frame.</div>
 </td>
 </tr>
-<tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">EncoderDummycode.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderDummycode.html#getColMapping-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">getColMapping</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta,
-             <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</code>&nbsp;</td>
-</tr>
 </tbody>
 </table>
 <table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
@@ -6581,62 +7254,120 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">EncoderRecode.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderRecode.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">apply</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
-     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">EncoderComposite.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderComposite.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">apply</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
-     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">EncoderMVImpute.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">apply</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
-     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">EncoderOmit.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderOmit.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">apply</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
-     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
 <td class="colFirst"><code>abstract <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">Encoder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">apply</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
+<td class="colLast"><span class="typeNameLabel">LegacyEncoder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">apply</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
      <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</code>
-<div class="block">Encode input data blockwise according to existing transform meta
- data (transform apply).</div>
+<div class="block">Encode input data blockwise according to existing transform meta data (transform apply).</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">EncoderDummycode.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderDummycode.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">apply</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
+<td class="colLast"><span class="typeNameLabel">EncoderMVImpute.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">apply</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
      <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">EncoderPassThrough.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderPassThrough.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">apply</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
+<td class="colLast"><span class="typeNameLabel">EncoderOmit.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderOmit.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">apply</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
      <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">EncoderBin.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderBin.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">apply</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
-     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">ColumnEncoderPassThrough.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderPassThrough.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">apply</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
+     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
+     int&nbsp;outputCol)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">EncoderFeatureHash.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderFeatureHash.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">apply</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
-     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">ColumnEncoderComposite.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">apply</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
+     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
+     int&nbsp;outputCol)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">EncoderRecode.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderRecode.html#encode-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">encode</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
-      <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">ColumnEncoderDummycode.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderDummycode.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">apply</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
+     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
+     int&nbsp;outputCol)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">EncoderComposite.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderComposite.html#encode-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">encode</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
-      <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">Encoder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">apply</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
+     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
+     int&nbsp;outputCol)</code>
+<div class="block">Apply the generated metadata to the FrameBlock and saved the result in out.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">MultiColumnEncoder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">apply</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
+     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
+     int&nbsp;outputCol)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColumnEncoderRecode.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderRecode.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">apply</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
+     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
+     int&nbsp;outputCol)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColumnEncoderFeatureHash.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderFeatureHash.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">apply</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
+     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
+     int&nbsp;outputCol)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColumnEncoderBin.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderBin.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">apply</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
+     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
+     int&nbsp;outputCol)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColumnEncoderPassThrough.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderPassThrough.html#apply-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">apply</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;in,
+     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
+     int&nbsp;outputCol)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColumnEncoderComposite.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html#apply-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">apply</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;in,
+     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
+     int&nbsp;outputCol)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColumnEncoderDummycode.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderDummycode.html#apply-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">apply</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;in,
+     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
+     int&nbsp;outputCol)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColumnEncoderRecode.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderRecode.html#apply-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">apply</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;in,
+     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
+     int&nbsp;outputCol)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColumnEncoderFeatureHash.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderFeatureHash.html#apply-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">apply</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;in,
+     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
+     int&nbsp;outputCol)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColumnEncoderBin.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderBin.html#apply-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">apply</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;in,
+     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
+     int&nbsp;outputCol)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>abstract <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColumnEncoder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#apply-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">apply</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;in,
+     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
+     int&nbsp;outputCol)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>abstract <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">LegacyEncoder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#encode-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">encode</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
+      <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</code>
+<div class="block">Block encode: build and apply (transform encode).</div>
+</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
@@ -6649,50 +7380,12 @@
       <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>abstract <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">Encoder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#encode-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">encode</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
-      <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</code>
-<div class="block">Block encode: build and apply (transform encode).</div>
-</td>
-</tr>
-<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">EncoderDummycode.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderDummycode.html#encode-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">encode</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
-      <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">EncoderPassThrough.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderPassThrough.html#encode-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">encode</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
-      <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">EncoderBin.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderBin.html#encode-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">encode</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
-      <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">EncoderFeatureHash.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderFeatureHash.html#encode-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">encode</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
-      <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">EncoderComposite.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderComposite.html#getColMapping-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">getColMapping</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta,
-             <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">Encoder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#getColMapping-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">getColMapping</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta,
+<td class="colLast"><span class="typeNameLabel">LegacyEncoder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#getColMapping-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">getColMapping</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta,
              <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</code>
-<div class="block">Obtain the column mapping of encoded frames based on the passed
- meta data frame.</div>
+<div class="block">Obtain the column mapping of encoded frames based on the passed meta data frame.</div>
 </td>
 </tr>
-<tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">EncoderDummycode.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderDummycode.html#getColMapping-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">getColMapping</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta,
-             <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</code>&nbsp;</td>
-</tr>
 </tbody>
 </table>
 </li>
@@ -7129,6 +7822,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/MatrixBlockDataInput.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/MatrixBlockDataInput.html
index db34ac7..6cf6f38 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/MatrixBlockDataInput.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/MatrixBlockDataInput.html
@@ -186,6 +186,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/MatrixBlockDataOutput.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/MatrixBlockDataOutput.html
index dcd1666..bd79807 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/MatrixBlockDataOutput.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/MatrixBlockDataOutput.html
@@ -187,6 +187,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/MatrixCell.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/MatrixCell.html
index 242f930..cc26c9a 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/MatrixCell.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/MatrixCell.html
@@ -374,6 +374,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/MatrixIndexes.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/MatrixIndexes.html
index 0281ea5..d282805 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/MatrixIndexes.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/MatrixIndexes.html
@@ -91,46 +91,50 @@
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.compress.lib">org.apache.sysds.runtime.compress.lib</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.controlprogram.context">org.apache.sysds.runtime.controlprogram.context</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.controlprogram.paramserv">org.apache.sysds.runtime.controlprogram.paramserv</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.controlprogram.parfor">org.apache.sysds.runtime.controlprogram.parfor</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.controlprogram.parfor.util">org.apache.sysds.runtime.controlprogram.parfor.util</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.functionobjects">org.apache.sysds.runtime.functionobjects</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.spark">org.apache.sysds.runtime.instructions.spark</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.spark.data">org.apache.sysds.runtime.instructions.spark.data</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.spark.functions">org.apache.sysds.runtime.instructions.spark.functions</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.spark.utils">org.apache.sysds.runtime.instructions.spark.utils</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.matrix.data">org.apache.sysds.runtime.matrix.data</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.util">org.apache.sysds.runtime.util</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
@@ -242,7 +246,7 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#aggregateBinaryOperations-org.apache.sysds.runtime.matrix.data.MatrixIndexes-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixIndexes-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.AggregateBinaryOperator-">aggregateBinaryOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixIndexes.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixIndexes</a>&nbsp;m1Index,
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#aggregateBinaryOperations-org.apache.sysds.runtime.matrix.data.MatrixIndexes-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixIndexes-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.AggregateBinaryOperator-">aggregateBinaryOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixIndexes.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixIndexes</a>&nbsp;m1Index,
                          <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m1Value,
                          <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixIndexes.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixIndexes</a>&nbsp;m2Index,
                          <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2Value,
@@ -266,7 +270,7 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.runtime.matrix.data.MatrixIndexes-double-boolean-int-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ctableOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.runtime.matrix.data.MatrixIndexes-double-boolean-int-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ctableOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
                 <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixIndexes.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixIndexes</a>&nbsp;ix1,
                 double&nbsp;scalar,
                 boolean&nbsp;left,
@@ -277,6 +281,29 @@
 </tbody>
 </table>
 </li>
+<li class="blockList"><a name="org.apache.sysds.runtime.compress.lib">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixIndexes.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixIndexes</a> in <a href="../../../../../../../org/apache/sysds/runtime/compress/lib/package-summary.html">org.apache.sysds.runtime.compress.lib</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/compress/lib/package-summary.html">org.apache.sysds.runtime.compress.lib</a> with parameters of type <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixIndexes.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixIndexes</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">CLALibCompAgg.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/CLALibCompAgg.html#aggregateUnary-org.apache.sysds.runtime.compress.CompressedMatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-int-org.apache.sysds.runtime.matrix.data.MatrixIndexes-boolean-">aggregateUnary</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;inputMatrix,
+              <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;outputMatrix,
+              <a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;op,
+              int&nbsp;blen,
+              <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixIndexes.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixIndexes</a>&nbsp;indexesIn,
+              boolean&nbsp;inCP)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
 <li class="blockList"><a name="org.apache.sysds.runtime.controlprogram.context">
 <!--   -->
 </a>
@@ -1867,6 +1894,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/MatrixValue.CellIndex.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/MatrixValue.CellIndex.html
index d3f75a0..c0e9015 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/MatrixValue.CellIndex.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/MatrixValue.CellIndex.html
@@ -266,6 +266,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/MatrixValue.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/MatrixValue.html
index 73e4227..cc41bfe 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/MatrixValue.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/MatrixValue.html
@@ -87,10 +87,14 @@
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.spark.data">org.apache.sysds.runtime.instructions.spark.data</a></td>
+<td class="colFirst"><a href="#org.apache.sysds.runtime.compress.lib">org.apache.sysds.runtime.compress.lib</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.spark.data">org.apache.sysds.runtime.instructions.spark.data</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.matrix.data">org.apache.sysds.runtime.matrix.data</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
@@ -112,10 +116,6 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">AbstractCompressedMatrixBlock</a></span></code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></span></code>&nbsp;</td>
 </tr>
 </tbody>
@@ -144,7 +144,7 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#append-org.apache.sysds.runtime.matrix.data.MatrixValue-java.util.ArrayList-int-boolean-boolean-int-">append</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;v2,
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#append-org.apache.sysds.runtime.matrix.data.MatrixValue-java.util.ArrayList-int-boolean-boolean-int-">append</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;v2,
       <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/data/IndexedMatrixValue.html" title="class in org.apache.sysds.runtime.instructions.spark.data">IndexedMatrixValue</a>&gt;&nbsp;outlist,
       int&nbsp;blen,
       boolean&nbsp;cbind,
@@ -159,50 +159,69 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#binaryOperationsInPlace-org.apache.sysds.runtime.matrix.operators.BinaryOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-">binaryOperationsInPlace</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#binaryOperationsInPlace-org.apache.sysds.runtime.matrix.operators.BinaryOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-">binaryOperationsInPlace</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
                        <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;thatValue)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#binaryOperationsLeft-org.apache.sysds.runtime.matrix.operators.BinaryOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-">binaryOperationsLeft</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
+                    <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;thatValue,
+                    <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-double-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ctableOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#copy-org.apache.sysds.runtime.matrix.data.MatrixValue-">copy</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;thatValue)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#copy-org.apache.sysds.runtime.matrix.data.MatrixValue-boolean-">copy</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;thatValue,
+    boolean&nbsp;sp)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-double-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ctableOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
                 double&nbsp;scalar,
                 <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;that,
                 <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/CTableMap.html" title="class in org.apache.sysds.runtime.matrix.data">CTableMap</a>&nbsp;resultMap,
                 <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;resultBlock)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.runtime.matrix.data.MatrixValue-double-boolean-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ctableOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.runtime.matrix.data.MatrixValue-double-boolean-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ctableOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
                 <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;that,
                 double&nbsp;scalar,
                 boolean&nbsp;ignoreZeros,
                 <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/CTableMap.html" title="class in org.apache.sysds.runtime.matrix.data">CTableMap</a>&nbsp;resultMap,
                 <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;resultBlock)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.CTableMap-">ctableOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.CTableMap-">ctableOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
                 <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;that,
                 <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;that2,
                 <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/CTableMap.html" title="class in org.apache.sysds.runtime.matrix.data">CTableMap</a>&nbsp;resultMap)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ctableOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ctableOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
                 <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;that,
                 <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;that2,
                 <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/CTableMap.html" title="class in org.apache.sysds.runtime.matrix.data">CTableMap</a>&nbsp;resultMap,
                 <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;resultBlock)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#ctableSeqOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-double-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ctableSeqOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;that,
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#ctableSeqOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-double-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ctableSeqOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;that,
                    double&nbsp;scalar,
                    <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;resultBlock)</code>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#getUncompressed-org.apache.sysds.runtime.matrix.data.MatrixValue-">getUncompressed</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;mVal)</code>&nbsp;</td>
+</tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#groupedAggOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-int-org.apache.sysds.runtime.matrix.operators.Operator-">groupedAggOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;tgt,
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#groupedAggOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-int-org.apache.sysds.runtime.matrix.operators.Operator-">groupedAggOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;tgt,
                     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;wghts,
                     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;ret,
                     int&nbsp;ngroups,
@@ -210,7 +229,7 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#groupedAggOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-int-org.apache.sysds.runtime.matrix.operators.Operator-int-">groupedAggOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;tgt,
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#groupedAggOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-int-org.apache.sysds.runtime.matrix.operators.Operator-int-">groupedAggOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;tgt,
                     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;wghts,
                     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;ret,
                     int&nbsp;ngroups,
@@ -219,32 +238,32 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#incrementalAggregate-org.apache.sysds.runtime.matrix.operators.AggregateOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-">incrementalAggregate</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateOperator</a>&nbsp;aggOp,
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#incrementalAggregate-org.apache.sysds.runtime.matrix.operators.AggregateOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-">incrementalAggregate</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateOperator</a>&nbsp;aggOp,
                     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;newWithCorrection)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#incrementalAggregate-org.apache.sysds.runtime.matrix.operators.AggregateOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-boolean-">incrementalAggregate</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateOperator</a>&nbsp;aggOp,
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#incrementalAggregate-org.apache.sysds.runtime.matrix.operators.AggregateOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-boolean-">incrementalAggregate</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateOperator</a>&nbsp;aggOp,
                     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;correction,
                     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;newWithCorrection,
                     boolean&nbsp;deep)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#permutationMatrixMultOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-">permutationMatrixMultOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;m2Val,
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#permutationMatrixMultOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-">permutationMatrixMultOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;m2Val,
                                <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;out1Val,
                                <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;out2Val)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#permutationMatrixMultOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-int-">permutationMatrixMultOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;m2Val,
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#permutationMatrixMultOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-int-">permutationMatrixMultOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;m2Val,
                                <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;out1Val,
                                <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;out2Val,
                                int&nbsp;k)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#reorgOperations-org.apache.sysds.runtime.matrix.operators.ReorgOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-int-int-int-">reorgOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ReorgOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ReorgOperator</a>&nbsp;op,
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#reorgOperations-org.apache.sysds.runtime.matrix.operators.ReorgOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-int-int-int-">reorgOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ReorgOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ReorgOperator</a>&nbsp;op,
                <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;ret,
                int&nbsp;startRow,
                int&nbsp;startColumn,
@@ -252,7 +271,7 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#replaceOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-double-double-">replaceOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result,
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#replaceOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-double-double-">replaceOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result,
                  double&nbsp;pattern,
                  double&nbsp;replacement)</code>&nbsp;</td>
 </tr>
@@ -263,23 +282,57 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#sortOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixBlock-">sortOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;weights,
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#sortOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixBlock-">sortOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;weights,
               <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#unaryOperations-org.apache.sysds.runtime.matrix.operators.UnaryOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-">unaryOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/UnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">UnaryOperator</a>&nbsp;op,
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#unaryOperations-org.apache.sysds.runtime.matrix.operators.UnaryOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-">unaryOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/UnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">UnaryOperator</a>&nbsp;op,
                <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#zeroOutOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.util.IndexRange-boolean-">zeroOutOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result,
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#zeroOutOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.util.IndexRange-boolean-">zeroOutOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result,
                  <a href="../../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;range,
                  boolean&nbsp;complementary)</code>&nbsp;</td>
 </tr>
 </tbody>
 </table>
 </li>
+<li class="blockList"><a name="org.apache.sysds.runtime.compress.lib">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a> in <a href="../../../../../../../org/apache/sysds/runtime/compress/lib/package-summary.html">org.apache.sysds.runtime.compress.lib</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/compress/lib/package-summary.html">org.apache.sysds.runtime.compress.lib</a> with parameters of type <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">CLALibBinaryCellOp.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/CLALibBinaryCellOp.html#binaryOperations-org.apache.sysds.runtime.matrix.operators.BinaryOperator-org.apache.sysds.runtime.compress.CompressedMatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-">binaryOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
+                <a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;m1,
+                <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;thatValue,
+                <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">CLALibBinaryCellOp.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/CLALibBinaryCellOp.html#binaryOperationsLeft-org.apache.sysds.runtime.matrix.operators.BinaryOperator-org.apache.sysds.runtime.compress.CompressedMatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-">binaryOperationsLeft</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
+                    <a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;m1,
+                    <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;thatValue,
+                    <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">CLALibScalar.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/CLALibScalar.html#scalarOperations-org.apache.sysds.runtime.matrix.operators.ScalarOperator-org.apache.sysds.runtime.compress.CompressedMatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixValue-">scalarOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;sop,
+                <a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;m1,
+                <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
 <li class="blockList"><a name="org.apache.sysds.runtime.instructions.spark.data">
 <!--   -->
 </a>
@@ -726,7 +779,9 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>abstract void</code></td>
-<td class="colLast"><span class="typeNameLabel">MatrixValue.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html#copy-org.apache.sysds.runtime.matrix.data.MatrixValue-">copy</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;that)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">MatrixValue.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html#copy-org.apache.sysds.runtime.matrix.data.MatrixValue-">copy</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;that)</code>
+<div class="block">Copy this MatrixValue into that MatrixValue.</div>
+</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
@@ -751,7 +806,9 @@
 <tr class="rowColor">
 <td class="colFirst"><code>abstract void</code></td>
 <td class="colLast"><span class="typeNameLabel">MatrixValue.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html#copy-org.apache.sysds.runtime.matrix.data.MatrixValue-boolean-">copy</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;that,
-    boolean&nbsp;sp)</code>&nbsp;</td>
+    boolean&nbsp;sp)</code>
+<div class="block">Copy this MatrixValue into that MatrixValue.</div>
+</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
@@ -905,7 +962,7 @@
                    <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;resultBlock)</code>
 <div class="block">D = ctable(seq,A,w)
   this &lt;- seq; thatMatrix &lt;- A; thatScalar &lt;- w; result &lt;- D
-  
+
  (i1,j1,v1) from input1 (this)
  (i1,j1,v2) from input2 (that)
  (w)  from scalar_input3 (scalarThat2)</div>
@@ -913,6 +970,13 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">MatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#ctableSeqOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-double-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-">ctableSeqOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;thatMatrix,
+                   double&nbsp;thatScalar,
+                   <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;resultBlock,
+                   boolean&nbsp;updateClen)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">MatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#groupedAggOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-int-org.apache.sysds.runtime.matrix.operators.Operator-">groupedAggOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;tgt,
                     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;wghts,
                     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;ret,
@@ -921,7 +985,7 @@
 <div class="block">Invocation from CP instructions.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">MatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#groupedAggOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-int-org.apache.sysds.runtime.matrix.operators.Operator-int-">groupedAggOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;tgt,
                     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;wghts,
@@ -930,55 +994,55 @@
                     <a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
                     int&nbsp;k)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>abstract void</code></td>
 <td class="colLast"><span class="typeNameLabel">MatrixValue.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html#incrementalAggregate-org.apache.sysds.runtime.matrix.operators.AggregateOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-">incrementalAggregate</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateOperator</a>&nbsp;aggOp,
                     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;newWithCorrection)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">MatrixCell.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixCell.html#incrementalAggregate-org.apache.sysds.runtime.matrix.operators.AggregateOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-">incrementalAggregate</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateOperator</a>&nbsp;aggOp,
                     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;newWithCorrection)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">MatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#incrementalAggregate-org.apache.sysds.runtime.matrix.operators.AggregateOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-">incrementalAggregate</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateOperator</a>&nbsp;aggOp,
                     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;newWithCorrection)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">CM_N_COVCell.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/CM_N_COVCell.html#incrementalAggregate-org.apache.sysds.runtime.matrix.operators.AggregateOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-">incrementalAggregate</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateOperator</a>&nbsp;aggOp,
                     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;newWithCorrection)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>abstract void</code></td>
 <td class="colLast"><span class="typeNameLabel">MatrixValue.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html#incrementalAggregate-org.apache.sysds.runtime.matrix.operators.AggregateOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-boolean-">incrementalAggregate</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateOperator</a>&nbsp;aggOp,
                     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;correction,
                     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;newWithCorrection,
                     boolean&nbsp;deep)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">MatrixCell.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixCell.html#incrementalAggregate-org.apache.sysds.runtime.matrix.operators.AggregateOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-boolean-">incrementalAggregate</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateOperator</a>&nbsp;aggOp,
                     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;correction,
                     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;newWithCorrection,
                     boolean&nbsp;deep)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">MatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#incrementalAggregate-org.apache.sysds.runtime.matrix.operators.AggregateOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-boolean-">incrementalAggregate</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateOperator</a>&nbsp;aggOp,
                     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;correction,
                     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;newWithCorrection,
                     boolean&nbsp;deep)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">CM_N_COVCell.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/CM_N_COVCell.html#incrementalAggregate-org.apache.sysds.runtime.matrix.operators.AggregateOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-boolean-">incrementalAggregate</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateOperator</a>&nbsp;aggOp,
                     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;correction,
                     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;newWithCorrection,
                     boolean&nbsp;deep)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">OperationsOnMatrixValues.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/OperationsOnMatrixValues.html#incrementalAggregation-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.operators.AggregateOperator-boolean-">incrementalAggregation</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;valueAgg,
                       <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;correction,
@@ -986,7 +1050,7 @@
                       <a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateOperator</a>&nbsp;op,
                       boolean&nbsp;embeddedCorrection)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">OperationsOnMatrixValues.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/OperationsOnMatrixValues.html#incrementalAggregation-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.operators.AggregateOperator-boolean-boolean-">incrementalAggregation</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;valueAgg,
                       <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;correction,
@@ -995,7 +1059,7 @@
                       boolean&nbsp;embeddedCorrection,
                       boolean&nbsp;deep)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">OperationsOnMatrixValues.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/OperationsOnMatrixValues.html#performAggregateUnary-org.apache.sysds.runtime.matrix.data.MatrixIndexes-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixIndexes-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-int-">performAggregateUnary</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixIndexes.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixIndexes</a>&nbsp;indexesIn,
                      <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;valueIn,
@@ -1004,7 +1068,7 @@
                      <a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;op,
                      int&nbsp;blen)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">OperationsOnMatrixValues.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/OperationsOnMatrixValues.html#performAppend-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-java.util.ArrayList-int-boolean-boolean-int-">performAppend</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;valueIn1,
              <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;valueIn2,
@@ -1014,14 +1078,14 @@
              boolean&nbsp;m2IsLast,
              int&nbsp;nextNCol)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">OperationsOnMatrixValues.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/OperationsOnMatrixValues.html#performBinaryIgnoreIndexes-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.operators.BinaryOperator-">performBinaryIgnoreIndexes</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;value1,
                           <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;value2,
                           <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;valueOut,
                           <a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">OperationsOnMatrixValues.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/OperationsOnMatrixValues.html#performCtable-org.apache.sysds.runtime.matrix.data.MatrixIndexes-org.apache.sysds.runtime.matrix.data.MatrixValue-double-boolean-int-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.Operator-">performCtable</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixIndexes.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixIndexes</a>&nbsp;indexesIn1,
              <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;valueIn1,
@@ -1032,7 +1096,7 @@
              <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;resultBlock,
              <a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">OperationsOnMatrixValues.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/OperationsOnMatrixValues.html#performCtable-org.apache.sysds.runtime.matrix.data.MatrixIndexes-org.apache.sysds.runtime.matrix.data.MatrixValue-double-double-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.Operator-">performCtable</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixIndexes.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixIndexes</a>&nbsp;indexesIn1,
              <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;valueIn1,
@@ -1042,7 +1106,7 @@
              <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;resultBlock,
              <a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">OperationsOnMatrixValues.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/OperationsOnMatrixValues.html#performCtable-org.apache.sysds.runtime.matrix.data.MatrixIndexes-org.apache.sysds.runtime.matrix.data.MatrixValue-double-org.apache.sysds.runtime.matrix.data.MatrixIndexes-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.Operator-">performCtable</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixIndexes.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixIndexes</a>&nbsp;indexesIn1,
              <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;valueIn1,
@@ -1053,7 +1117,7 @@
              <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;resultBlock,
              <a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">OperationsOnMatrixValues.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/OperationsOnMatrixValues.html#performCtable-org.apache.sysds.runtime.matrix.data.MatrixIndexes-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixIndexes-org.apache.sysds.runtime.matrix.data.MatrixValue-double-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.Operator-">performCtable</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixIndexes.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixIndexes</a>&nbsp;indexesIn1,
              <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;valueIn1,
@@ -1064,7 +1128,7 @@
              <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;resultBlock,
              <a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">OperationsOnMatrixValues.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/OperationsOnMatrixValues.html#performCtable-org.apache.sysds.runtime.matrix.data.MatrixIndexes-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixIndexes-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixIndexes-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.Operator-">performCtable</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixIndexes.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixIndexes</a>&nbsp;indexesIn1,
              <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;valueIn1,
@@ -1076,7 +1140,7 @@
              <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;resultBlock,
              <a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">OperationsOnMatrixValues.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/OperationsOnMatrixValues.html#performReorg-org.apache.sysds.runtime.matrix.data.MatrixIndexes-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixIndexes-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.operators.ReorgOperator-int-int-int-">performReorg</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixIndexes.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixIndexes</a>&nbsp;indexesIn,
             <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;valueIn,
@@ -1087,7 +1151,7 @@
             int&nbsp;startColumn,
             int&nbsp;length)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">OperationsOnMatrixValues.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/OperationsOnMatrixValues.html#performZeroOut-org.apache.sysds.runtime.matrix.data.MatrixIndexes-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixIndexes-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.util.IndexRange-boolean-">performZeroOut</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixIndexes.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixIndexes</a>&nbsp;indexesIn,
               <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;valueIn,
@@ -1096,25 +1160,25 @@
               <a href="../../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;range,
               boolean&nbsp;complementary)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">MatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#permutationMatrixMultOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-">permutationMatrixMultOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;m2Val,
                                <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;out1Val,
                                <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;out2Val)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">MatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#permutationMatrixMultOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-int-">permutationMatrixMultOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;m2Val,
                                <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;out1Val,
                                <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;out2Val,
                                int&nbsp;k)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">MatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#pickValues-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-">pickValues</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;quantiles,
           <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;ret)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>abstract <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a></code></td>
 <td class="colLast"><span class="typeNameLabel">MatrixValue.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html#reorgOperations-org.apache.sysds.runtime.matrix.operators.ReorgOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-int-int-int-">reorgOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ReorgOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ReorgOperator</a>&nbsp;op,
                <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result,
@@ -1122,7 +1186,7 @@
                int&nbsp;startColumn,
                int&nbsp;length)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a></code></td>
 <td class="colLast"><span class="typeNameLabel">MatrixCell.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixCell.html#reorgOperations-org.apache.sysds.runtime.matrix.operators.ReorgOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-int-int-int-">reorgOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ReorgOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ReorgOperator</a>&nbsp;op,
                <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result,
@@ -1130,7 +1194,7 @@
                int&nbsp;startColumn,
                int&nbsp;length)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">MatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#reorgOperations-org.apache.sysds.runtime.matrix.operators.ReorgOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-int-int-int-">reorgOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ReorgOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ReorgOperator</a>&nbsp;op,
                <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;ret,
@@ -1138,7 +1202,7 @@
                int&nbsp;startColumn,
                int&nbsp;length)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a></code></td>
 <td class="colLast"><span class="typeNameLabel">WeightedCell.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/WeightedCell.html#reorgOperations-org.apache.sysds.runtime.matrix.operators.ReorgOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-int-int-int-">reorgOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ReorgOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ReorgOperator</a>&nbsp;op,
                <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result,
@@ -1146,7 +1210,7 @@
                int&nbsp;startColumn,
                int&nbsp;length)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a></code></td>
 <td class="colLast"><span class="typeNameLabel">CM_N_COVCell.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/CM_N_COVCell.html#reorgOperations-org.apache.sysds.runtime.matrix.operators.ReorgOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-int-int-int-">reorgOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ReorgOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ReorgOperator</a>&nbsp;op,
                <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result,
@@ -1154,61 +1218,61 @@
                int&nbsp;startColumn,
                int&nbsp;length)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>abstract <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a></code></td>
 <td class="colLast"><span class="typeNameLabel">MatrixValue.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html#replaceOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-double-double-">replaceOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result,
                  double&nbsp;pattern,
                  double&nbsp;replacement)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a></code></td>
 <td class="colLast"><span class="typeNameLabel">MatrixCell.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixCell.html#replaceOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-double-double-">replaceOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result,
                  double&nbsp;pattern,
                  double&nbsp;replacement)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">MatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#replaceOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-double-double-">replaceOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result,
                  double&nbsp;pattern,
                  double&nbsp;replacement)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a></code></td>
 <td class="colLast"><span class="typeNameLabel">CM_N_COVCell.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/CM_N_COVCell.html#replaceOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-double-double-">replaceOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result,
                  double&nbsp;pattern,
                  double&nbsp;replacement)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>abstract <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a></code></td>
 <td class="colLast"><span class="typeNameLabel">MatrixValue.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html#scalarOperations-org.apache.sysds.runtime.matrix.operators.ScalarOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-">scalarOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op,
                 <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a></code></td>
 <td class="colLast"><span class="typeNameLabel">MatrixCell.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixCell.html#scalarOperations-org.apache.sysds.runtime.matrix.operators.ScalarOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-">scalarOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op,
                 <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">MatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#scalarOperations-org.apache.sysds.runtime.matrix.operators.ScalarOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-">scalarOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op,
                 <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a></code></td>
 <td class="colLast"><span class="typeNameLabel">WeightedCell.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/WeightedCell.html#scalarOperations-org.apache.sysds.runtime.matrix.operators.ScalarOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-">scalarOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op,
                 <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a></code></td>
 <td class="colLast"><span class="typeNameLabel">CM_N_COVCell.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/CM_N_COVCell.html#scalarOperations-org.apache.sysds.runtime.matrix.operators.ScalarOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-">scalarOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op,
                 <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">MatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#sortOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixBlock-">sortOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;weights,
               <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">OperationsOnMatrixValues.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/OperationsOnMatrixValues.html#startAggregation-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.operators.AggregateOperator-int-int-boolean-boolean-">startAggregation</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;valueOut,
                 <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;correction,
@@ -1218,50 +1282,50 @@
                 boolean&nbsp;sparseHint,
                 boolean&nbsp;embeddedCorrection)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>abstract <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a></code></td>
 <td class="colLast"><span class="typeNameLabel">MatrixValue.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html#unaryOperations-org.apache.sysds.runtime.matrix.operators.UnaryOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-">unaryOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/UnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">UnaryOperator</a>&nbsp;op,
                <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a></code></td>
 <td class="colLast"><span class="typeNameLabel">MatrixCell.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixCell.html#unaryOperations-org.apache.sysds.runtime.matrix.operators.UnaryOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-">unaryOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/UnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">UnaryOperator</a>&nbsp;op,
                <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">MatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#unaryOperations-org.apache.sysds.runtime.matrix.operators.UnaryOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-">unaryOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/UnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">UnaryOperator</a>&nbsp;op,
                <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a></code></td>
 <td class="colLast"><span class="typeNameLabel">WeightedCell.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/WeightedCell.html#unaryOperations-org.apache.sysds.runtime.matrix.operators.UnaryOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-">unaryOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/UnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">UnaryOperator</a>&nbsp;op,
                <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a></code></td>
 <td class="colLast"><span class="typeNameLabel">CM_N_COVCell.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/CM_N_COVCell.html#unaryOperations-org.apache.sysds.runtime.matrix.operators.UnaryOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-">unaryOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/UnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">UnaryOperator</a>&nbsp;op,
                <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>abstract <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a></code></td>
 <td class="colLast"><span class="typeNameLabel">MatrixValue.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html#zeroOutOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.util.IndexRange-boolean-">zeroOutOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result,
                  <a href="../../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;range,
                  boolean&nbsp;complementary)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a></code></td>
 <td class="colLast"><span class="typeNameLabel">MatrixCell.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixCell.html#zeroOutOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.util.IndexRange-boolean-">zeroOutOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result,
                  <a href="../../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;range,
                  boolean&nbsp;complementary)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">MatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#zeroOutOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.util.IndexRange-boolean-">zeroOutOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result,
                  <a href="../../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;range,
                  boolean&nbsp;complementary)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a></code></td>
 <td class="colLast"><span class="typeNameLabel">CM_N_COVCell.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/CM_N_COVCell.html#zeroOutOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.util.IndexRange-boolean-">zeroOutOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result,
                  <a href="../../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;range,
@@ -1335,6 +1399,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/OperationsOnMatrixValues.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/OperationsOnMatrixValues.html
index 40869d9..47dc1dc 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/OperationsOnMatrixValues.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/OperationsOnMatrixValues.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/Pair.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/Pair.html
index a04847b..fc5fa63 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/Pair.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/Pair.html
@@ -339,6 +339,23 @@
 </tbody>
 </table>
 <table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/package-summary.html">org.apache.sysds.runtime.matrix.data</a> that return types with arguments of type <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/Pair.html" title="class in org.apache.sysds.runtime.matrix.data">Pair</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/Pair.html" title="class in org.apache.sysds.runtime.matrix.data">Pair</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">OperationsOnMatrixValues.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/OperationsOnMatrixValues.html#performSlice-org.apache.sysds.runtime.matrix.data.Pair-org.apache.sysds.runtime.util.IndexRange-int-">performSlice</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/Pair.html" title="class in org.apache.sysds.runtime.matrix.data">Pair</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&gt;&nbsp;in,
+            <a href="../../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixrange,
+            int&nbsp;blen)</code>
+<div class="block">This function will get slice of the input frame block overlapping in overall slice(Range), slice has requested for.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
 <caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/package-summary.html">org.apache.sysds.runtime.matrix.data</a> with parameters of type <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/Pair.html" title="class in org.apache.sysds.runtime.matrix.data">Pair</a></span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
@@ -355,11 +372,10 @@
             <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/Pair.html" title="class in org.apache.sysds.runtime.matrix.data">Pair</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&gt;&gt;&nbsp;outlist)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><span class="typeNameLabel">OperationsOnMatrixValues.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/OperationsOnMatrixValues.html#performSlice-org.apache.sysds.runtime.matrix.data.Pair-org.apache.sysds.runtime.util.IndexRange-int-java.util.ArrayList-">performSlice</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/Pair.html" title="class in org.apache.sysds.runtime.matrix.data">Pair</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&gt;&nbsp;in,
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/Pair.html" title="class in org.apache.sysds.runtime.matrix.data">Pair</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">OperationsOnMatrixValues.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/OperationsOnMatrixValues.html#performSlice-org.apache.sysds.runtime.matrix.data.Pair-org.apache.sysds.runtime.util.IndexRange-int-">performSlice</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/Pair.html" title="class in org.apache.sysds.runtime.matrix.data">Pair</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&gt;&nbsp;in,
             <a href="../../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixrange,
-            int&nbsp;blen,
-            <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/Pair.html" title="class in org.apache.sysds.runtime.matrix.data">Pair</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&gt;&gt;&nbsp;outlist)</code>
+            int&nbsp;blen)</code>
 <div class="block">This function will get slice of the input frame block overlapping in overall slice(Range), slice has requested for.</div>
 </td>
 </tr>
@@ -382,15 +398,6 @@
             <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/Pair.html" title="class in org.apache.sysds.runtime.matrix.data">Pair</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&gt;&gt;&nbsp;outlist)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><span class="typeNameLabel">OperationsOnMatrixValues.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/OperationsOnMatrixValues.html#performSlice-org.apache.sysds.runtime.matrix.data.Pair-org.apache.sysds.runtime.util.IndexRange-int-java.util.ArrayList-">performSlice</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/Pair.html" title="class in org.apache.sysds.runtime.matrix.data">Pair</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&gt;&nbsp;in,
-            <a href="../../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixrange,
-            int&nbsp;blen,
-            <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/Pair.html" title="class in org.apache.sysds.runtime.matrix.data">Pair</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&gt;&gt;&nbsp;outlist)</code>
-<div class="block">This function will get slice of the input frame block overlapping in overall slice(Range), slice has requested for.</div>
-</td>
-</tr>
-<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">FrameBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html#slice-java.util.ArrayList-org.apache.sysds.runtime.util.IndexRange-int-">slice</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/Pair.html" title="class in org.apache.sysds.runtime.matrix.data">Pair</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&gt;&gt;&nbsp;outlist,
      <a href="../../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;range,
@@ -522,6 +529,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/RandomMatrixGenerator.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/RandomMatrixGenerator.html
index c8dd0ec..3243e6c 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/RandomMatrixGenerator.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/RandomMatrixGenerator.html
@@ -108,13 +108,13 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#randOperationsInPlace-org.apache.sysds.runtime.matrix.data.RandomMatrixGenerator-org.apache.commons.math3.random.Well1024a-long-">randOperationsInPlace</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/RandomMatrixGenerator.html" title="class in org.apache.sysds.runtime.matrix.data">RandomMatrixGenerator</a>&nbsp;rgen,
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#randOperationsInPlace-org.apache.sysds.runtime.matrix.data.RandomMatrixGenerator-org.apache.commons.math3.random.Well1024a-long-">randOperationsInPlace</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/RandomMatrixGenerator.html" title="class in org.apache.sysds.runtime.matrix.data">RandomMatrixGenerator</a>&nbsp;rgen,
                      org.apache.commons.math3.random.Well1024a&nbsp;bigrand,
                      long&nbsp;bSeed)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#randOperationsInPlace-org.apache.sysds.runtime.matrix.data.RandomMatrixGenerator-org.apache.commons.math3.random.Well1024a-long-int-">randOperationsInPlace</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/RandomMatrixGenerator.html" title="class in org.apache.sysds.runtime.matrix.data">RandomMatrixGenerator</a>&nbsp;rgen,
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#randOperationsInPlace-org.apache.sysds.runtime.matrix.data.RandomMatrixGenerator-org.apache.commons.math3.random.Well1024a-long-int-">randOperationsInPlace</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/RandomMatrixGenerator.html" title="class in org.apache.sysds.runtime.matrix.data">RandomMatrixGenerator</a>&nbsp;rgen,
                      org.apache.commons.math3.random.Well1024a&nbsp;bigrand,
                      long&nbsp;bSeed,
                      int&nbsp;k)</code>&nbsp;</td>
@@ -258,6 +258,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/SinglePrecisionCudaSupportFunctions.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/SinglePrecisionCudaSupportFunctions.html
index 2c586b8..7bcaa10 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/SinglePrecisionCudaSupportFunctions.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/SinglePrecisionCudaSupportFunctions.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/TextToBinaryCellConverter.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/TextToBinaryCellConverter.html
index b63b890..cdb5f7b 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/TextToBinaryCellConverter.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/TextToBinaryCellConverter.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/TripleIndexes.Comparator.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/TripleIndexes.Comparator.html
index a3f12c7..70254db 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/TripleIndexes.Comparator.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/TripleIndexes.Comparator.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/TripleIndexes.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/TripleIndexes.html
index 0d7c2ef..3f3f53b 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/TripleIndexes.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/TripleIndexes.html
@@ -180,6 +180,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/WeightedCell.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/WeightedCell.html
index d1fc0c7..2e011da 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/WeightedCell.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/WeightedCell.html
@@ -257,6 +257,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/WeightedPair.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/WeightedPair.html
index 4061288..d15e9cb 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/WeightedPair.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/WeightedPair.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/package-frame.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/package-frame.html
index 8ca4625..6993742 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/package-frame.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/package-frame.html
@@ -54,6 +54,7 @@
 <li><a href="LibMatrixNative.html" title="class in org.apache.sysds.runtime.matrix.data" target="classFrame">LibMatrixNative</a></li>
 <li><a href="LibMatrixOuterAgg.html" title="class in org.apache.sysds.runtime.matrix.data" target="classFrame">LibMatrixOuterAgg</a></li>
 <li><a href="LibMatrixReorg.html" title="class in org.apache.sysds.runtime.matrix.data" target="classFrame">LibMatrixReorg</a></li>
+<li><a href="LibMatrixTercell.html" title="class in org.apache.sysds.runtime.matrix.data" target="classFrame">LibMatrixTercell</a></li>
 <li><a href="MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data" target="classFrame">MatrixBlock</a></li>
 <li><a href="MatrixBlock.SparsityEstimate.html" title="class in org.apache.sysds.runtime.matrix.data" target="classFrame">MatrixBlock.SparsityEstimate</a></li>
 <li><a href="MatrixCell.html" title="class in org.apache.sysds.runtime.matrix.data" target="classFrame">MatrixCell</a></li>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/package-summary.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/package-summary.html
index 2bef7f3..f901216 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/package-summary.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/package-summary.html
@@ -313,64 +313,70 @@
 </td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixTercell.html" title="class in org.apache.sysds.runtime.matrix.data">LibMatrixTercell</a></td>
+<td class="colLast">
+<div class="block">Library for ternary cellwise operations.</div>
+</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.SparsityEstimate.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock.SparsityEstimate</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixCell.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixCell</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixIndexes.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixIndexes</a></td>
 <td class="colLast">
 <div class="block">This represent the indexes to the blocks of the matrix.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.CellIndex.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue.CellIndex</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/OperationsOnMatrixValues.html" title="class in org.apache.sysds.runtime.matrix.data">OperationsOnMatrixValues</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/Pair.html" title="class in org.apache.sysds.runtime.matrix.data">Pair</a>&lt;K,V&gt;</td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/RandomMatrixGenerator.html" title="class in org.apache.sysds.runtime.matrix.data">RandomMatrixGenerator</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/SinglePrecisionCudaSupportFunctions.html" title="class in org.apache.sysds.runtime.matrix.data">SinglePrecisionCudaSupportFunctions</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/TextToBinaryCellConverter.html" title="class in org.apache.sysds.runtime.matrix.data">TextToBinaryCellConverter</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/TripleIndexes.html" title="class in org.apache.sysds.runtime.matrix.data">TripleIndexes</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/TripleIndexes.Comparator.html" title="class in org.apache.sysds.runtime.matrix.data">TripleIndexes.Comparator</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/WeightedCell.html" title="class in org.apache.sysds.runtime.matrix.data">WeightedCell</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/WeightedPair.html" title="class in org.apache.sysds.runtime.matrix.data">WeightedPair</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
@@ -445,6 +451,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/package-tree.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/package-tree.html
index 41119b4..11d1bc8 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/package-tree.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/package-tree.html
@@ -116,6 +116,7 @@
 <li type="circle">org.apache.sysds.runtime.matrix.data.<a href="../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixNative.html" title="class in org.apache.sysds.runtime.matrix.data"><span class="typeNameLink">LibMatrixNative</span></a></li>
 <li type="circle">org.apache.sysds.runtime.matrix.data.<a href="../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixOuterAgg.html" title="class in org.apache.sysds.runtime.matrix.data"><span class="typeNameLink">LibMatrixOuterAgg</span></a></li>
 <li type="circle">org.apache.sysds.runtime.matrix.data.<a href="../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixReorg.html" title="class in org.apache.sysds.runtime.matrix.data"><span class="typeNameLink">LibMatrixReorg</span></a></li>
+<li type="circle">org.apache.sysds.runtime.matrix.data.<a href="../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixTercell.html" title="class in org.apache.sysds.runtime.matrix.data"><span class="typeNameLink">LibMatrixTercell</span></a></li>
 <li type="circle">org.apache.sysds.runtime.matrix.data.<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.SparsityEstimate.html" title="class in org.apache.sysds.runtime.matrix.data"><span class="typeNameLink">MatrixBlock.SparsityEstimate</span></a></li>
 <li type="circle">org.apache.sysds.runtime.matrix.data.<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixIndexes.html" title="class in org.apache.sysds.runtime.matrix.data"><span class="typeNameLink">MatrixIndexes</span></a> (implements java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true" title="class or interface in java.io">Externalizable</a>, org.apache.hadoop.io.RawComparator&lt;T&gt;, org.apache.hadoop.io.WritableComparable&lt;T&gt;)</li>
 <li type="circle">org.apache.sysds.runtime.matrix.data.<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data"><span class="typeNameLink">MatrixValue</span></a> (implements org.apache.hadoop.io.WritableComparable&lt;T&gt;)
@@ -213,6 +214,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/package-use.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/package-use.html
index 9f0979d..ad55cc3 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/package-use.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/package-use.html
@@ -123,93 +123,101 @@
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.compress.readers">org.apache.sysds.runtime.compress.readers</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.compress.utils">org.apache.sysds.runtime.compress.utils</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.controlprogram.caching">org.apache.sysds.runtime.controlprogram.caching</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.controlprogram.context">org.apache.sysds.runtime.controlprogram.context</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.controlprogram.federated">org.apache.sysds.runtime.controlprogram.federated</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.controlprogram.paramserv">org.apache.sysds.runtime.controlprogram.paramserv</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.controlprogram.paramserv.dp">org.apache.sysds.runtime.controlprogram.paramserv.dp</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.controlprogram.parfor">org.apache.sysds.runtime.controlprogram.parfor</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.controlprogram.parfor.util">org.apache.sysds.runtime.controlprogram.parfor.util</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.data">org.apache.sysds.runtime.data</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.functionobjects">org.apache.sysds.runtime.functionobjects</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.fed">org.apache.sysds.runtime.instructions.fed</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.spark">org.apache.sysds.runtime.instructions.spark</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.spark.data">org.apache.sysds.runtime.instructions.spark.data</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.spark.functions">org.apache.sysds.runtime.instructions.spark.functions</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.spark.utils">org.apache.sysds.runtime.instructions.spark.utils</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.io">org.apache.sysds.runtime.io</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.lineage">org.apache.sysds.runtime.lineage</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.matrix.data">org.apache.sysds.runtime.matrix.data</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.privacy.propagation">org.apache.sysds.runtime.privacy.propagation</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.transform.decode">org.apache.sysds.runtime.transform.decode</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.transform.encode">org.apache.sysds.runtime.transform.encode</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.transform.meta">org.apache.sysds.runtime.transform.meta</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.transform.tokenize">org.apache.sysds.runtime.transform.tokenize</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
 <tr class="altColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.util">org.apache.sysds.runtime.util</a></td>
 <td class="colLast">&nbsp;</td>
@@ -338,22 +346,17 @@
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/class-use/IJV.html#org.apache.sysds.runtime.compress">IJV</a>
-<div class="block">Helper class for external key/value exchange.</div>
-</td>
-</tr>
-<tr class="altColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/class-use/MatrixBlock.html#org.apache.sysds.runtime.compress">MatrixBlock</a>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/class-use/MatrixIndexes.html#org.apache.sysds.runtime.compress">MatrixIndexes</a>
 <div class="block">This represent the indexes to the blocks of the matrix.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/class-use/MatrixValue.html#org.apache.sysds.runtime.compress">MatrixValue</a>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/class-use/RandomMatrixGenerator.html#org.apache.sysds.runtime.compress">RandomMatrixGenerator</a>&nbsp;</td>
 </tr>
 </tbody>
@@ -369,11 +372,6 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/class-use/IJV.html#org.apache.sysds.runtime.compress.colgroup">IJV</a>
-<div class="block">Helper class for external key/value exchange.</div>
-</td>
-</tr>
-<tr class="rowColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/class-use/MatrixBlock.html#org.apache.sysds.runtime.compress.colgroup">MatrixBlock</a>&nbsp;</td>
 </tr>
 </tbody>
@@ -406,6 +404,29 @@
 <tr class="altColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/class-use/MatrixBlock.html#org.apache.sysds.runtime.compress.lib">MatrixBlock</a>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/class-use/MatrixIndexes.html#org.apache.sysds.runtime.compress.lib">MatrixIndexes</a>
+<div class="block">This represent the indexes to the blocks of the matrix.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/class-use/MatrixValue.html#org.apache.sysds.runtime.compress.lib">MatrixValue</a>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.sysds.runtime.compress.readers">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../../org/apache/sysds/runtime/matrix/data/package-summary.html">org.apache.sysds.runtime.matrix.data</a> used by <a href="../../../../../../org/apache/sysds/runtime/compress/readers/package-summary.html">org.apache.sysds.runtime.compress.readers</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/class-use/MatrixBlock.html#org.apache.sysds.runtime.compress.readers">MatrixBlock</a>&nbsp;</td>
+</tr>
 </tbody>
 </table>
 </li>
@@ -419,11 +440,6 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/class-use/IJV.html#org.apache.sysds.runtime.compress.utils">IJV</a>
-<div class="block">Helper class for external key/value exchange.</div>
-</td>
-</tr>
-<tr class="rowColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/class-use/MatrixBlock.html#org.apache.sysds.runtime.compress.utils">MatrixBlock</a>&nbsp;</td>
 </tr>
 </tbody>
@@ -975,6 +991,21 @@
 </tbody>
 </table>
 </li>
+<li class="blockList"><a name="org.apache.sysds.runtime.transform.tokenize">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../../org/apache/sysds/runtime/matrix/data/package-summary.html">org.apache.sysds.runtime.matrix.data</a> used by <a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/package-summary.html">org.apache.sysds.runtime.transform.tokenize</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/class-use/FrameBlock.html#org.apache.sysds.runtime.transform.tokenize">FrameBlock</a>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
 <li class="blockList"><a name="org.apache.sysds.runtime.util">
 <!--   -->
 </a>
@@ -1083,6 +1114,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/operators/AggregateBinaryOperator.html b/docs/api/java/org/apache/sysds/runtime/matrix/operators/AggregateBinaryOperator.html
index fa21604..54c5d59 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/operators/AggregateBinaryOperator.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/operators/AggregateBinaryOperator.html
@@ -119,8 +119,7 @@
 <hr>
 <br>
 <pre>public class <span class="typeNameLabel">AggregateBinaryOperator</span>
-extends <a href="../../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>
-implements <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></pre>
+extends <a href="../../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../../serialized-form.html#org.apache.sysds.runtime.matrix.operators.AggregateBinaryOperator">Serialized Form</a></dd>
@@ -355,6 +354,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/operators/AggregateOperator.html b/docs/api/java/org/apache/sysds/runtime/matrix/operators/AggregateOperator.html
index 89a77c3..5b1e243 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/operators/AggregateOperator.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/operators/AggregateOperator.html
@@ -368,6 +368,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/operators/AggregateTernaryOperator.html b/docs/api/java/org/apache/sysds/runtime/matrix/operators/AggregateTernaryOperator.html
index 0afc504..35be712 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/operators/AggregateTernaryOperator.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/operators/AggregateTernaryOperator.html
@@ -372,6 +372,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html b/docs/api/java/org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html
index 15b0d3c..498ff4d 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html
@@ -380,6 +380,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/operators/BinaryOperator.html b/docs/api/java/org/apache/sysds/runtime/matrix/operators/BinaryOperator.html
index 06b2e20..c858ca7 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/operators/BinaryOperator.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/operators/BinaryOperator.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -144,6 +144,10 @@
 <th class="colLast" scope="col">Field and Description</th>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html#commutative">commutative</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/functionobjects/ValueFunction.html" title="class in org.apache.sysds.runtime.functionobjects">ValueFunction</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html#fn">fn</a></span></code>&nbsp;</td>
 </tr>
@@ -193,6 +197,18 @@
 </td>
 </tr>
 <tr id="i1" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html#getNumThreads--">getNumThreads</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html#isCommutative--">isCommutative</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html#setNumThreads-int-">setNumThreads</a></span>(int&nbsp;k)</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html#toString--">toString</a></span>()</code>&nbsp;</td>
 </tr>
@@ -221,12 +237,21 @@
 <a name="fn">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>fn</h4>
 <pre>public final&nbsp;<a href="../../../../../../org/apache/sysds/runtime/functionobjects/ValueFunction.html" title="class in org.apache.sysds.runtime.functionobjects">ValueFunction</a> fn</pre>
 </li>
 </ul>
+<a name="commutative">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>commutative</h4>
+<pre>public final&nbsp;boolean commutative</pre>
+</li>
+</ul>
 </li>
 </ul>
 <!-- ========= CONSTRUCTOR DETAIL ======== -->
@@ -252,6 +277,24 @@
 <!--   -->
 </a>
 <h3>Method Detail</h3>
+<a name="setNumThreads-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setNumThreads</h4>
+<pre>public&nbsp;void&nbsp;setNumThreads(int&nbsp;k)</pre>
+</li>
+</ul>
+<a name="getNumThreads--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getNumThreads</h4>
+<pre>public&nbsp;int&nbsp;getNumThreads()</pre>
+</li>
+</ul>
 <a name="getBinaryOperatorOpOp2--">
 <!--   -->
 </a>
@@ -268,6 +311,15 @@
 </dl>
 </li>
 </ul>
+<a name="isCommutative--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isCommutative</h4>
+<pre>public&nbsp;boolean&nbsp;isCommutative()</pre>
+</li>
+</ul>
 <a name="toString--">
 <!--   -->
 </a>
@@ -350,6 +402,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/operators/CMOperator.AggregateOperationTypes.html b/docs/api/java/org/apache/sysds/runtime/matrix/operators/CMOperator.AggregateOperationTypes.html
index 9325a90..f463720 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/operators/CMOperator.AggregateOperationTypes.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/operators/CMOperator.AggregateOperationTypes.html
@@ -413,6 +413,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/operators/CMOperator.html b/docs/api/java/org/apache/sysds/runtime/matrix/operators/CMOperator.html
index e13e3e2..20218df 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/operators/CMOperator.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/operators/CMOperator.html
@@ -411,6 +411,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/operators/COVOperator.html b/docs/api/java/org/apache/sysds/runtime/matrix/operators/COVOperator.html
index 976cdaa..8128571 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/operators/COVOperator.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/operators/COVOperator.html
@@ -289,6 +289,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/operators/CountDistinctOperator.CountDistinctTypes.html b/docs/api/java/org/apache/sysds/runtime/matrix/operators/CountDistinctOperator.CountDistinctTypes.html
index 5065ed7..adeeb0e 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/operators/CountDistinctOperator.CountDistinctTypes.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/operators/CountDistinctOperator.CountDistinctTypes.html
@@ -353,6 +353,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/operators/CountDistinctOperator.html b/docs/api/java/org/apache/sysds/runtime/matrix/operators/CountDistinctOperator.html
index 7a0be46..45f6804 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/operators/CountDistinctOperator.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/operators/CountDistinctOperator.html
@@ -347,6 +347,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/operators/LeftScalarOperator.html b/docs/api/java/org/apache/sysds/runtime/matrix/operators/LeftScalarOperator.html
index 077456e..44de248 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/operators/LeftScalarOperator.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/operators/LeftScalarOperator.html
@@ -215,7 +215,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.matrix.operators.<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html#getConstant--">getConstant</a>, <a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html#getNumThreads--">getNumThreads</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html#getConstant--">getConstant</a>, <a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html#getNumThreads--">getNumThreads</a>, <a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html#setNumThreads-int-">setNumThreads</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -382,6 +382,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/operators/Operator.html b/docs/api/java/org/apache/sysds/runtime/matrix/operators/Operator.html
index e0811b9..c5c21d8 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/operators/Operator.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/operators/Operator.html
@@ -294,6 +294,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/operators/QuaternaryOperator.html b/docs/api/java/org/apache/sysds/runtime/matrix/operators/QuaternaryOperator.html
index a7cb59c..afb930e 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/operators/QuaternaryOperator.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/operators/QuaternaryOperator.html
@@ -538,6 +538,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/operators/ReIndexOperator.html b/docs/api/java/org/apache/sysds/runtime/matrix/operators/ReIndexOperator.html
index 2cbf513..e9cc86d 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/operators/ReIndexOperator.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/operators/ReIndexOperator.html
@@ -261,6 +261,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/operators/ReorgOperator.html b/docs/api/java/org/apache/sysds/runtime/matrix/operators/ReorgOperator.html
index d79e0f0..b97444c 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/operators/ReorgOperator.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/operators/ReorgOperator.html
@@ -351,6 +351,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/operators/RightScalarOperator.html b/docs/api/java/org/apache/sysds/runtime/matrix/operators/RightScalarOperator.html
index bb6022b..8a8509a 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/operators/RightScalarOperator.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/operators/RightScalarOperator.html
@@ -215,7 +215,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.matrix.operators.<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html#getConstant--">getConstant</a>, <a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html#getNumThreads--">getNumThreads</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html#getConstant--">getConstant</a>, <a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html#getNumThreads--">getNumThreads</a>, <a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html#setNumThreads-int-">setNumThreads</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -382,6 +382,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/operators/ScalarOperator.html b/docs/api/java/org/apache/sysds/runtime/matrix/operators/ScalarOperator.html
index 5a281f2..81d457d 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/operators/ScalarOperator.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/operators/ScalarOperator.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":6,"i1":10,"i2":10,"i3":6,"i4":6};
+var methods = {"i0":6,"i1":10,"i2":10,"i3":6,"i4":6,"i5":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -214,6 +214,10 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html#setConstant-double-int-">setConstant</a></span>(double&nbsp;cst,
            int&nbsp;numThreads)</code>&nbsp;</td>
 </tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html#setNumThreads-int-">setNumThreads</a></span>(int&nbsp;k)</code>&nbsp;</td>
+</tr>
 </table>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -280,6 +284,24 @@
 <pre>public&nbsp;double&nbsp;getConstant()</pre>
 </li>
 </ul>
+<a name="setNumThreads-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setNumThreads</h4>
+<pre>public&nbsp;void&nbsp;setNumThreads(int&nbsp;k)</pre>
+</li>
+</ul>
+<a name="getNumThreads--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getNumThreads</h4>
+<pre>public&nbsp;int&nbsp;getNumThreads()</pre>
+</li>
+</ul>
 <a name="setConstant-double-">
 <!--   -->
 </a>
@@ -302,7 +324,7 @@
 <a name="executeScalar-double-">
 <!--   -->
 </a>
-<ul class="blockList">
+<ul class="blockListLast">
 <li class="blockList">
 <h4>executeScalar</h4>
 <pre>public abstract&nbsp;double&nbsp;executeScalar(double&nbsp;in)</pre>
@@ -315,15 +337,6 @@
 </dl>
 </li>
 </ul>
-<a name="getNumThreads--">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>getNumThreads</h4>
-<pre>public&nbsp;int&nbsp;getNumThreads()</pre>
-</li>
-</ul>
 </li>
 </ul>
 </li>
@@ -393,6 +406,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/operators/SimpleOperator.html b/docs/api/java/org/apache/sysds/runtime/matrix/operators/SimpleOperator.html
index 01c6a73..3db5982 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/operators/SimpleOperator.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/operators/SimpleOperator.html
@@ -289,6 +289,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/operators/TernaryOperator.html b/docs/api/java/org/apache/sysds/runtime/matrix/operators/TernaryOperator.html
index d358da4..2144307 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/operators/TernaryOperator.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/operators/TernaryOperator.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10};
+var methods = {"i0":10,"i1":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -169,7 +169,8 @@
 <th class="colOne" scope="col">Constructor and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/operators/TernaryOperator.html#TernaryOperator-org.apache.sysds.runtime.functionobjects.TernaryValueFunction-">TernaryOperator</a></span>(<a href="../../../../../../org/apache/sysds/runtime/functionobjects/TernaryValueFunction.html" title="class in org.apache.sysds.runtime.functionobjects">TernaryValueFunction</a>&nbsp;p)</code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/operators/TernaryOperator.html#TernaryOperator-org.apache.sysds.runtime.functionobjects.TernaryValueFunction-int-">TernaryOperator</a></span>(<a href="../../../../../../org/apache/sysds/runtime/functionobjects/TernaryValueFunction.html" title="class in org.apache.sysds.runtime.functionobjects">TernaryValueFunction</a>&nbsp;p,
+               int&nbsp;numThreads)</code>&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -187,6 +188,10 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/operators/TernaryOperator.html#getNumThreads--">getNumThreads</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/operators/TernaryOperator.html#toString--">toString</a></span>()</code>&nbsp;</td>
 </tr>
@@ -229,13 +234,14 @@
 <!--   -->
 </a>
 <h3>Constructor Detail</h3>
-<a name="TernaryOperator-org.apache.sysds.runtime.functionobjects.TernaryValueFunction-">
+<a name="TernaryOperator-org.apache.sysds.runtime.functionobjects.TernaryValueFunction-int-">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>TernaryOperator</h4>
-<pre>public&nbsp;TernaryOperator(<a href="../../../../../../org/apache/sysds/runtime/functionobjects/TernaryValueFunction.html" title="class in org.apache.sysds.runtime.functionobjects">TernaryValueFunction</a>&nbsp;p)</pre>
+<pre>public&nbsp;TernaryOperator(<a href="../../../../../../org/apache/sysds/runtime/functionobjects/TernaryValueFunction.html" title="class in org.apache.sysds.runtime.functionobjects">TernaryValueFunction</a>&nbsp;p,
+                       int&nbsp;numThreads)</pre>
 </li>
 </ul>
 </li>
@@ -246,6 +252,15 @@
 <!--   -->
 </a>
 <h3>Method Detail</h3>
+<a name="getNumThreads--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getNumThreads</h4>
+<pre>public&nbsp;int&nbsp;getNumThreads()</pre>
+</li>
+</ul>
 <a name="toString--">
 <!--   -->
 </a>
@@ -328,6 +343,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/operators/UnaryOperator.html b/docs/api/java/org/apache/sysds/runtime/matrix/operators/UnaryOperator.html
index d8cfafa..23f0325 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/operators/UnaryOperator.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/operators/UnaryOperator.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10};
+var methods = {"i0":10,"i1":10,"i2":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -195,6 +195,10 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/operators/UnaryOperator.html#getNumThreads--">getNumThreads</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i1" class="rowColor">
+<td class="colFirst"><code>double</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/operators/UnaryOperator.html#getPattern--">getPattern</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/operators/UnaryOperator.html#isInplace--">isInplace</a></span>()</code>&nbsp;</td>
 </tr>
@@ -277,12 +281,21 @@
 <a name="isInplace--">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>isInplace</h4>
 <pre>public&nbsp;boolean&nbsp;isInplace()</pre>
 </li>
 </ul>
+<a name="getPattern--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getPattern</h4>
+<pre>public&nbsp;double&nbsp;getPattern()</pre>
+</li>
+</ul>
 </li>
 </ul>
 </li>
@@ -352,6 +365,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/operators/class-use/AggregateBinaryOperator.html b/docs/api/java/org/apache/sysds/runtime/matrix/operators/class-use/AggregateBinaryOperator.html
index 2e43f2d..62a6fe7 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/operators/class-use/AggregateBinaryOperator.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/operators/class-use/AggregateBinaryOperator.html
@@ -123,7 +123,16 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#aggregateBinaryOperations-org.apache.sysds.runtime.matrix.data.MatrixIndexes-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixIndexes-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.AggregateBinaryOperator-">aggregateBinaryOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixIndexes.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixIndexes</a>&nbsp;m1Index,
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#aggregateBinaryOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.AggregateBinaryOperator-boolean-boolean-">aggregateBinaryOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m1,
+                         <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2,
+                         <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
+                         <a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateBinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateBinaryOperator</a>&nbsp;op,
+                         boolean&nbsp;transposeLeft,
+                         boolean&nbsp;transposeRight)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#aggregateBinaryOperations-org.apache.sysds.runtime.matrix.data.MatrixIndexes-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixIndexes-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.AggregateBinaryOperator-">aggregateBinaryOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixIndexes.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixIndexes</a>&nbsp;m1Index,
                          <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m1Value,
                          <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixIndexes.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixIndexes</a>&nbsp;m2Index,
                          <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2Value,
@@ -276,6 +285,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/operators/class-use/AggregateOperator.html b/docs/api/java/org/apache/sysds/runtime/matrix/operators/class-use/AggregateOperator.html
index 5e0104f..f4084c0 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/operators/class-use/AggregateOperator.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/operators/class-use/AggregateOperator.html
@@ -132,12 +132,12 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#incrementalAggregate-org.apache.sysds.runtime.matrix.operators.AggregateOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-">incrementalAggregate</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateOperator</a>&nbsp;aggOp,
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#incrementalAggregate-org.apache.sysds.runtime.matrix.operators.AggregateOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-">incrementalAggregate</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateOperator</a>&nbsp;aggOp,
                     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;newWithCorrection)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#incrementalAggregate-org.apache.sysds.runtime.matrix.operators.AggregateOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-boolean-">incrementalAggregate</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateOperator</a>&nbsp;aggOp,
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#incrementalAggregate-org.apache.sysds.runtime.matrix.operators.AggregateOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-boolean-">incrementalAggregate</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateOperator</a>&nbsp;aggOp,
                     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;correction,
                     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;newWithCorrection,
                     boolean&nbsp;deep)</code>&nbsp;</td>
@@ -496,6 +496,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/operators/class-use/AggregateTernaryOperator.html b/docs/api/java/org/apache/sysds/runtime/matrix/operators/class-use/AggregateTernaryOperator.html
index 0890fae..8136d3c 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/operators/class-use/AggregateTernaryOperator.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/operators/class-use/AggregateTernaryOperator.html
@@ -112,7 +112,7 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#aggregateTernaryOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.AggregateTernaryOperator-boolean-">aggregateTernaryOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m1,
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#aggregateTernaryOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.AggregateTernaryOperator-boolean-">aggregateTernaryOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m1,
                           <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2,
                           <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m3,
                           <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
@@ -236,6 +236,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/operators/class-use/AggregateUnaryOperator.html b/docs/api/java/org/apache/sysds/runtime/matrix/operators/class-use/AggregateUnaryOperator.html
index f2e5b58..93e595a 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/operators/class-use/AggregateUnaryOperator.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/operators/class-use/AggregateUnaryOperator.html
@@ -91,26 +91,30 @@
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.compress.lib">org.apache.sysds.runtime.compress.lib</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.controlprogram.federated">org.apache.sysds.runtime.controlprogram.federated</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.data">org.apache.sysds.runtime.data</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.instructions">org.apache.sysds.runtime.instructions</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.spark">org.apache.sysds.runtime.instructions.spark</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.matrix.data">org.apache.sysds.runtime.matrix.data</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.meta">org.apache.sysds.runtime.meta</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
@@ -147,7 +151,7 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#uaggouterchainOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.BinaryOperator-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-">uaggouterchainOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mbLeft,
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#uaggouterchainOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.BinaryOperator-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-">uaggouterchainOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mbLeft,
                         <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mbRight,
                         <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mbOut,
                         <a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;bOp,
@@ -168,26 +172,33 @@
 </tr>
 <tbody>
 <tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupUncompressed.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-">unaryAggregateOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;op,
+                        double[]&nbsp;ret)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code>abstract void</code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroup.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-">unaryAggregateOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;op,
+<td class="colLast"><span class="typeNameLabel">AColGroup.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-">unaryAggregateOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;op,
                         double[]&nbsp;c)</code>
 <div class="block">Unary Aggregate operator, since aggregate operators require new object output, the output becomes an uncompressed
  matrix.</div>
 </td>
 </tr>
-<tr class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupUncompressed.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-">unaryAggregateOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;op,
-                        double[]&nbsp;ret)</code>&nbsp;</td>
-</tr>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">ColGroupValue.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-">unaryAggregateOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;op,
                         double[]&nbsp;c)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupUncompressed.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-int-int-">unaryAggregateOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;op,
+                        double[]&nbsp;result,
+                        int&nbsp;rl,
+                        int&nbsp;ru)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><code>abstract void</code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroup.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-int-int-">unaryAggregateOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;op,
+<td class="colLast"><span class="typeNameLabel">AColGroup.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-int-int-">unaryAggregateOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;op,
                         double[]&nbsp;c,
                         int&nbsp;rl,
                         int&nbsp;ru)</code>
@@ -195,13 +206,6 @@
  matrix.</div>
 </td>
 </tr>
-<tr class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupUncompressed.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-int-int-">unaryAggregateOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;op,
-                        double[]&nbsp;result,
-                        int&nbsp;rl,
-                        int&nbsp;ru)</code>&nbsp;</td>
-</tr>
 <tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">ColGroupValue.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-int-int-">unaryAggregateOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;op,
@@ -217,6 +221,29 @@
 </tbody>
 </table>
 </li>
+<li class="blockList"><a name="org.apache.sysds.runtime.compress.lib">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a> in <a href="../../../../../../../org/apache/sysds/runtime/compress/lib/package-summary.html">org.apache.sysds.runtime.compress.lib</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/compress/lib/package-summary.html">org.apache.sysds.runtime.compress.lib</a> with parameters of type <a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">CLALibCompAgg.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/CLALibCompAgg.html#aggregateUnary-org.apache.sysds.runtime.compress.CompressedMatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-int-org.apache.sysds.runtime.matrix.data.MatrixIndexes-boolean-">aggregateUnary</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;inputMatrix,
+              <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;outputMatrix,
+              <a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;op,
+              int&nbsp;blen,
+              <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixIndexes.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixIndexes</a>&nbsp;indexesIn,
+              boolean&nbsp;inCP)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
 <li class="blockList"><a name="org.apache.sysds.runtime.controlprogram.federated">
 <!--   -->
 </a>
@@ -235,10 +262,30 @@
          <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationMap</a>&nbsp;map)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">FederationUtils.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationUtils.html#aggMatrix-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-java.util.concurrent.Future:A-java.util.concurrent.Future:A-org.apache.sysds.runtime.controlprogram.federated.FederationMap-">aggMatrix</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;aop,
+         <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedResponse</a>&gt;[]&nbsp;ffr,
+         <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedResponse</a>&gt;[]&nbsp;meanFfr,
+         <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationMap</a>&nbsp;map)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a></code></td>
 <td class="colLast"><span class="typeNameLabel">FederationUtils.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationUtils.html#aggScalar-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-java.util.concurrent.Future:A-">aggScalar</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;aop,
          <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedResponse</a>&gt;[]&nbsp;ffr)</code>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a></code></td>
+<td class="colLast"><span class="typeNameLabel">FederationUtils.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationUtils.html#aggScalar-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-java.util.concurrent.Future:A-org.apache.sysds.runtime.controlprogram.federated.FederationMap-">aggScalar</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;aop,
+         <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedResponse</a>&gt;[]&nbsp;ffr,
+         <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationMap</a>&nbsp;map)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a></code></td>
+<td class="colLast"><span class="typeNameLabel">FederationUtils.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationUtils.html#aggScalar-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-java.util.concurrent.Future:A-java.util.concurrent.Future:A-org.apache.sysds.runtime.controlprogram.federated.FederationMap-">aggScalar</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;aop,
+         <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedResponse</a>&gt;[]&nbsp;ffr,
+         <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedResponse</a>&gt;[]&nbsp;meanFfr,
+         <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationMap</a>&nbsp;map)</code>&nbsp;</td>
+</tr>
 </tbody>
 </table>
 </li>
@@ -290,18 +337,24 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a></code></td>
-<td class="colLast"><span class="typeNameLabel">InstructionUtils.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/InstructionUtils.html#parseBasicAggregateUnaryOperator-java.lang.String-">parseBasicAggregateUnaryOperator</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;opcode)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">InstructionUtils.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/InstructionUtils.html#parseAggregateUnaryRowIndexOperator-java.lang.String-int-int-">parseAggregateUnaryRowIndexOperator</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;opcode,
+                                   int&nbsp;numOutputs,
+                                   int&nbsp;numThreads)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a></code></td>
+<td class="colLast"><span class="typeNameLabel">InstructionUtils.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/InstructionUtils.html#parseBasicAggregateUnaryOperator-java.lang.String-">parseBasicAggregateUnaryOperator</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;opcode)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a></code></td>
 <td class="colLast"><span class="typeNameLabel">InstructionUtils.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/InstructionUtils.html#parseBasicAggregateUnaryOperator-java.lang.String-int-">parseBasicAggregateUnaryOperator</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;opcode,
                                 int&nbsp;numThreads)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a></code></td>
 <td class="colLast"><span class="typeNameLabel">InstructionUtils.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/InstructionUtils.html#parseBasicCumulativeAggregateUnaryOperator-org.apache.sysds.runtime.matrix.operators.UnaryOperator-">parseBasicCumulativeAggregateUnaryOperator</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/UnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">UnaryOperator</a>&nbsp;uop)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a></code></td>
 <td class="colLast"><span class="typeNameLabel">InstructionUtils.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/InstructionUtils.html#parseCumulativeAggregateUnaryOperator-java.lang.String-">parseCumulativeAggregateUnaryOperator</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;opcode)</code>&nbsp;</td>
 </tr>
@@ -588,6 +641,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/operators/class-use/BinaryOperator.html b/docs/api/java/org/apache/sysds/runtime/matrix/operators/class-use/BinaryOperator.html
index 048a4e3..54ba667 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/operators/class-use/BinaryOperator.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/operators/class-use/BinaryOperator.html
@@ -146,12 +146,18 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#binaryOperationsInPlace-org.apache.sysds.runtime.matrix.operators.BinaryOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-">binaryOperationsInPlace</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#binaryOperationsInPlace-org.apache.sysds.runtime.matrix.operators.BinaryOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-">binaryOperationsInPlace</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
                        <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;thatValue)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#uaggouterchainOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.BinaryOperator-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-">uaggouterchainOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mbLeft,
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#binaryOperationsLeft-org.apache.sysds.runtime.matrix.operators.BinaryOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-">binaryOperationsLeft</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
+                    <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;thatValue,
+                    <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#uaggouterchainOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.BinaryOperator-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-">uaggouterchainOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mbLeft,
                         <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mbRight,
                         <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mbOut,
                         <a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;bOp,
@@ -172,48 +178,83 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupRLE.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-">binaryRowOp</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupRLE.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-boolean-">binaryRowOp</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
            double[]&nbsp;v,
-           boolean&nbsp;sparseSafe)</code>&nbsp;</td>
+           boolean&nbsp;sparseSafe,
+           boolean&nbsp;left)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupConst.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-">binaryRowOp</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupEmpty.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-boolean-">binaryRowOp</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
            double[]&nbsp;v,
-           boolean&nbsp;sparseSafe)</code>&nbsp;</td>
+           boolean&nbsp;sparseSafe,
+           boolean&nbsp;left)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupDDC1.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-">binaryRowOp</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupConst.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-boolean-">binaryRowOp</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
            double[]&nbsp;v,
-           boolean&nbsp;sparseSafe)</code>&nbsp;</td>
+           boolean&nbsp;sparseSafe,
+           boolean&nbsp;left)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>abstract <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroup.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-">binaryRowOp</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupSDCZeros.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-boolean-">binaryRowOp</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
            double[]&nbsp;v,
-           boolean&nbsp;sparseSafe)</code>
+           boolean&nbsp;sparseSafe,
+           boolean&nbsp;left)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupDDC.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-boolean-">binaryRowOp</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
+           double[]&nbsp;v,
+           boolean&nbsp;sparseSafe,
+           boolean&nbsp;left)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupSDCSingle.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-boolean-">binaryRowOp</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
+           double[]&nbsp;v,
+           boolean&nbsp;sparseSafe,
+           boolean&nbsp;left)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupSDC.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-boolean-">binaryRowOp</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
+           double[]&nbsp;v,
+           boolean&nbsp;sparseSafe,
+           boolean&nbsp;left)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupUncompressed.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-boolean-">binaryRowOp</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
+           double[]&nbsp;v,
+           boolean&nbsp;sparseSafe,
+           boolean&nbsp;left)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>abstract <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></td>
+<td class="colLast"><span class="typeNameLabel">AColGroup.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-boolean-">binaryRowOp</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
+           double[]&nbsp;v,
+           boolean&nbsp;sparseSafe,
+           boolean&nbsp;left)</code>
 <div class="block">Perform a binary row operation.</div>
 </td>
 </tr>
-<tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupUncompressed.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-">binaryRowOp</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
-           double[]&nbsp;v,
-           boolean&nbsp;sparseSafe)</code>&nbsp;</td>
-</tr>
 <tr class="rowColor">
-<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupDDC2.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-">binaryRowOp</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupSDCSingleZeros.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-boolean-">binaryRowOp</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
            double[]&nbsp;v,
-           boolean&nbsp;sparseSafe)</code>&nbsp;</td>
+           boolean&nbsp;sparseSafe,
+           boolean&nbsp;left)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupOLE.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-">binaryRowOp</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupOLE.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-boolean-">binaryRowOp</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
            double[]&nbsp;v,
-           boolean&nbsp;sparseSafe)</code>&nbsp;</td>
+           boolean&nbsp;sparseSafe,
+           boolean&nbsp;left)</code>&nbsp;</td>
 </tr>
 </tbody>
 </table>
@@ -230,13 +271,26 @@
 </tr>
 <tbody>
 <tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">CLALibBinaryCellOp.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/CLALibBinaryCellOp.html#binaryMVRow-org.apache.sysds.runtime.compress.CompressedMatrixBlock-double:A-org.apache.sysds.runtime.compress.CompressedMatrixBlock-org.apache.sysds.runtime.matrix.operators.BinaryOperator-boolean-">binaryMVRow</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;m1,
+           double[]&nbsp;v,
+           <a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;ret,
+           <a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
+           boolean&nbsp;left)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">LibBinaryCellOp.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/LibBinaryCellOp.html#bincellOp-org.apache.sysds.runtime.compress.CompressedMatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.compress.CompressedMatrixBlock-org.apache.sysds.runtime.matrix.operators.BinaryOperator-">bincellOp</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;m1,
-         <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2,
-         <a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;ret,
-         <a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op)</code>
-<div class="block">matrix-matrix binary operations, MM, MV</div>
-</td>
+<td class="colLast"><span class="typeNameLabel">CLALibBinaryCellOp.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/CLALibBinaryCellOp.html#binaryOperations-org.apache.sysds.runtime.matrix.operators.BinaryOperator-org.apache.sysds.runtime.compress.CompressedMatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-">binaryOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
+                <a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;m1,
+                <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;thatValue,
+                <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">CLALibBinaryCellOp.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/CLALibBinaryCellOp.html#binaryOperationsLeft-org.apache.sysds.runtime.matrix.operators.BinaryOperator-org.apache.sysds.runtime.compress.CompressedMatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-">binaryOperationsLeft</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
+                    <a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;m1,
+                    <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;thatValue,
+                    <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result)</code>&nbsp;</td>
 </tr>
 </tbody>
 </table>
@@ -469,29 +523,37 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static void</code></td>
+<td class="colLast"><span class="typeNameLabel">LibMatrixBincell.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixBincell.html#bincellOp-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.BinaryOperator-int-">bincellOp</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m1,
+         <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2,
+         <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
+         <a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
+         int&nbsp;k)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">LibMatrixBincell.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixBincell.html#bincellOpInPlace-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.BinaryOperator-">bincellOpInPlace</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m1ret,
                 <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2,
                 <a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op)</code>
 <div class="block">NOTE: operations in place always require m1 and m2 to be of equal dimensions</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">LibMatrixOuterAgg.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixOuterAgg.html#isCompareOperator-org.apache.sysds.runtime.matrix.operators.BinaryOperator-">isCompareOperator</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;bOp)</code>
 <div class="block">This will return if uaggOp is of type RowIndexMin</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">LibMatrixBincell.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixBincell.html#isSparseSafeDivide-org.apache.sysds.runtime.matrix.operators.BinaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-">isSparseSafeDivide</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
                   <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;rhs)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">LibMatrixOuterAgg.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixOuterAgg.html#isSupportedUaggOp-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-org.apache.sysds.runtime.matrix.operators.BinaryOperator-">isSupportedUaggOp</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;uaggOp,
                  <a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;bOp)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">LibMatrixCUDA.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixCUDA.html#matrixMatrixArithmetic-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.runtime.instructions.gpu.context.GPUContext-java.lang.String-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-java.lang.String-boolean-boolean-org.apache.sysds.runtime.matrix.operators.BinaryOperator-">matrixMatrixArithmetic</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
                       <a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUContext.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">GPUContext</a>&nbsp;gCtx,
@@ -505,7 +567,7 @@
 <div class="block">Performs elementwise arithmetic operation specified by op of two input matrices in1 and in2</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">LibMatrixCUDA.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixCUDA.html#matrixMatrixRelational-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.runtime.instructions.gpu.context.GPUContext-java.lang.String-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-java.lang.String-org.apache.sysds.runtime.matrix.operators.BinaryOperator-">matrixMatrixRelational</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
                       <a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUContext.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">GPUContext</a>&nbsp;gCtx,
@@ -517,21 +579,21 @@
 <div class="block">Performs elementwise operation relational specified by op of two input matrices in1 and in2</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">OperationsOnMatrixValues.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/OperationsOnMatrixValues.html#performBinaryIgnoreIndexes-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.operators.BinaryOperator-">performBinaryIgnoreIndexes</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;value1,
                           <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;value2,
                           <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;valueOut,
                           <a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static int[]</code></td>
 <td class="colLast"><span class="typeNameLabel">LibMatrixOuterAgg.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixOuterAgg.html#prepareRowIndices-int-double:A-org.apache.sysds.runtime.matrix.operators.BinaryOperator-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-">prepareRowIndices</a></span>(int&nbsp;iCols,
                  double[]&nbsp;vmb,
                  <a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;bOp,
                  <a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;uaggOp)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static int[]</code></td>
 <td class="colLast"><span class="typeNameLabel">LibMatrixOuterAgg.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixOuterAgg.html#prepareRowIndicesMax-int-double:A-org.apache.sysds.runtime.matrix.operators.BinaryOperator-">prepareRowIndicesMax</a></span>(int&nbsp;iCols,
                     double[]&nbsp;vmb,
@@ -539,7 +601,7 @@
 <div class="block">This function will return max indices, based on column vector data.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static int[]</code></td>
 <td class="colLast"><span class="typeNameLabel">LibMatrixOuterAgg.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixOuterAgg.html#prepareRowIndicesMin-int-double:A-org.apache.sysds.runtime.matrix.operators.BinaryOperator-">prepareRowIndicesMin</a></span>(int&nbsp;iCols,
                     double[]&nbsp;vmb,
@@ -547,7 +609,7 @@
 <div class="block">This function will return min indices, based on column vector data.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">MatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#uaggouterchainOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.BinaryOperator-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-">uaggouterchainOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mbLeft,
                         <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mbRight,
@@ -627,6 +689,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/operators/class-use/CMOperator.AggregateOperationTypes.html b/docs/api/java/org/apache/sysds/runtime/matrix/operators/class-use/CMOperator.AggregateOperationTypes.html
index 058bb40..54532fb 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/operators/class-use/CMOperator.AggregateOperationTypes.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/operators/class-use/CMOperator.AggregateOperationTypes.html
@@ -267,6 +267,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/operators/class-use/CMOperator.html b/docs/api/java/org/apache/sysds/runtime/matrix/operators/class-use/CMOperator.html
index f194ac3..0b7f821 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/operators/class-use/CMOperator.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/operators/class-use/CMOperator.html
@@ -112,11 +112,11 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CM_COV_Object.html" title="class in org.apache.sysds.runtime.instructions.cp">CM_COV_Object</a></code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#cmOperations-org.apache.sysds.runtime.matrix.operators.CMOperator-">cmOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/CMOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">CMOperator</a>&nbsp;op)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#cmOperations-org.apache.sysds.runtime.matrix.operators.CMOperator-">cmOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/CMOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">CMOperator</a>&nbsp;op)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CM_COV_Object.html" title="class in org.apache.sysds.runtime.instructions.cp">CM_COV_Object</a></code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#cmOperations-org.apache.sysds.runtime.matrix.operators.CMOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-">cmOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/CMOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">CMOperator</a>&nbsp;op,
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#cmOperations-org.apache.sysds.runtime.matrix.operators.CMOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-">cmOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/CMOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">CMOperator</a>&nbsp;op,
             <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;weights)</code>&nbsp;</td>
 </tr>
 </tbody>
@@ -214,6 +214,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/operators/class-use/COVOperator.html b/docs/api/java/org/apache/sysds/runtime/matrix/operators/class-use/COVOperator.html
index ea26224..6f8de7a 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/operators/class-use/COVOperator.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/operators/class-use/COVOperator.html
@@ -108,12 +108,12 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CM_COV_Object.html" title="class in org.apache.sysds.runtime.instructions.cp">CM_COV_Object</a></code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#covOperations-org.apache.sysds.runtime.matrix.operators.COVOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-">covOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/COVOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">COVOperator</a>&nbsp;op,
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#covOperations-org.apache.sysds.runtime.matrix.operators.COVOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-">covOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/COVOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">COVOperator</a>&nbsp;op,
              <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;that)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CM_COV_Object.html" title="class in org.apache.sysds.runtime.instructions.cp">CM_COV_Object</a></code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#covOperations-org.apache.sysds.runtime.matrix.operators.COVOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">covOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/COVOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">COVOperator</a>&nbsp;op,
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#covOperations-org.apache.sysds.runtime.matrix.operators.COVOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">covOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/COVOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">COVOperator</a>&nbsp;op,
              <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;that,
              <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;weights)</code>&nbsp;</td>
 </tr>
@@ -196,6 +196,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/operators/class-use/CountDistinctOperator.CountDistinctTypes.html b/docs/api/java/org/apache/sysds/runtime/matrix/operators/class-use/CountDistinctOperator.CountDistinctTypes.html
index 04e8e8c..6ce935b 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/operators/class-use/CountDistinctOperator.CountDistinctTypes.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/operators/class-use/CountDistinctOperator.CountDistinctTypes.html
@@ -197,6 +197,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/operators/class-use/CountDistinctOperator.html b/docs/api/java/org/apache/sysds/runtime/matrix/operators/class-use/CountDistinctOperator.html
index ba4b8b4..9f022da 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/operators/class-use/CountDistinctOperator.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/operators/class-use/CountDistinctOperator.html
@@ -163,6 +163,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/operators/class-use/LeftScalarOperator.html b/docs/api/java/org/apache/sysds/runtime/matrix/operators/class-use/LeftScalarOperator.html
index 2e2c40b..22df739 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/operators/class-use/LeftScalarOperator.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/operators/class-use/LeftScalarOperator.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/operators/class-use/Operator.html b/docs/api/java/org/apache/sysds/runtime/matrix/operators/class-use/Operator.html
index 39d1120..450037e 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/operators/class-use/Operator.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/operators/class-use/Operator.html
@@ -132,7 +132,7 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-double-double-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ctableOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-double-double-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ctableOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
                 double&nbsp;scalar,
                 double&nbsp;scalar2,
                 <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/CTableMap.html" title="class in org.apache.sysds.runtime.matrix.data">CTableMap</a>&nbsp;resultMap,
@@ -140,7 +140,7 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-double-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ctableOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-double-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ctableOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
                 double&nbsp;scalar,
                 <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;that,
                 <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/CTableMap.html" title="class in org.apache.sysds.runtime.matrix.data">CTableMap</a>&nbsp;resultMap,
@@ -148,7 +148,7 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.runtime.matrix.data.MatrixIndexes-double-boolean-int-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ctableOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.runtime.matrix.data.MatrixIndexes-double-boolean-int-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ctableOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
                 <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixIndexes.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixIndexes</a>&nbsp;ix1,
                 double&nbsp;scalar,
                 boolean&nbsp;left,
@@ -158,7 +158,7 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.runtime.matrix.data.MatrixValue-double-boolean-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ctableOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.runtime.matrix.data.MatrixValue-double-boolean-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ctableOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
                 <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;that,
                 double&nbsp;scalar,
                 boolean&nbsp;ignoreZeros,
@@ -167,14 +167,14 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.CTableMap-">ctableOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.CTableMap-">ctableOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
                 <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;that,
                 <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;that2,
                 <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/CTableMap.html" title="class in org.apache.sysds.runtime.matrix.data">CTableMap</a>&nbsp;resultMap)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ctableOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ctableOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
                 <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;that,
                 <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;that2,
                 <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/CTableMap.html" title="class in org.apache.sysds.runtime.matrix.data">CTableMap</a>&nbsp;resultMap,
@@ -182,7 +182,7 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#groupedAggOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-int-org.apache.sysds.runtime.matrix.operators.Operator-">groupedAggOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;tgt,
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#groupedAggOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-int-org.apache.sysds.runtime.matrix.operators.Operator-">groupedAggOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;tgt,
                     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;wghts,
                     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;ret,
                     int&nbsp;ngroups,
@@ -190,7 +190,7 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#groupedAggOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-int-org.apache.sysds.runtime.matrix.operators.Operator-int-">groupedAggOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;tgt,
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#groupedAggOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-int-org.apache.sysds.runtime.matrix.operators.Operator-int-">groupedAggOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;tgt,
                     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;wghts,
                     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;ret,
                     int&nbsp;ngroups,
@@ -286,13 +286,24 @@
                         <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>...&nbsp;inputs)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/DataGenCPInstruction.html#DataGenCPInstruction-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.common.Types.OpOpDG-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-java.lang.String-java.lang.String-java.lang.String-java.lang.String-">DataGenCPInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
+                    <a href="../../../../../../../org/apache/sysds/common/Types.OpOpDG.html" title="enum in org.apache.sysds.common">Types.OpOpDG</a>&nbsp;method,
+                    <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;out,
+                    <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;rows,
+                    <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;cols,
+                    <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;data,
+                    <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;schema,
+                    <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;opcode,
+                    <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/EvalNaryCPInstruction.html#EvalNaryCPInstruction-org.apache.sysds.runtime.matrix.operators.Operator-java.lang.String-java.lang.String-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand...-">EvalNaryCPInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
                      <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;opcode,
                      <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;istr,
                      <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;output,
                      <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>...&nbsp;inputs)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ParamservBuiltinCPInstruction.html#ParamservBuiltinCPInstruction-org.apache.sysds.runtime.matrix.operators.Operator-java.util.LinkedHashMap-org.apache.sysds.runtime.instructions.cp.CPOperand-java.lang.String-java.lang.String-">ParamservBuiltinCPInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
                              <a href="https://docs.oracle.com/javase/8/docs/api/java/util/LinkedHashMap.html?is-external=true" title="class or interface in java.util">LinkedHashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;paramsMap,
                              <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;out,
@@ -320,6 +331,23 @@
                              <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;opcode,
                              <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;istr)</code>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/BinaryFEDInstruction.html#BinaryFEDInstruction-org.apache.sysds.runtime.instructions.fed.FEDInstruction.FEDType-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-java.lang.String-java.lang.String-">BinaryFEDInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/FEDInstruction.FEDType.html" title="enum in org.apache.sysds.runtime.instructions.fed">FEDInstruction.FEDType</a>&nbsp;type,
+                    <a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
+                    <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;in1,
+                    <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;in2,
+                    <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;in3,
+                    <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;out,
+                    <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;opcode,
+                    <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;istr)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.html#ReorgFEDInstruction-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-java.lang.String-java.lang.String-">ReorgFEDInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
+                   <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;in1,
+                   <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;out,
+                   <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;opcode,
+                   <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;istr)</code>&nbsp;</td>
+</tr>
 </tbody>
 </table>
 </li>
@@ -862,6 +890,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/operators/class-use/QuaternaryOperator.html b/docs/api/java/org/apache/sysds/runtime/matrix/operators/class-use/QuaternaryOperator.html
index bf73a26..13756bb 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/operators/class-use/QuaternaryOperator.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/operators/class-use/QuaternaryOperator.html
@@ -108,7 +108,7 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#quaternaryOperations-org.apache.sysds.runtime.matrix.operators.QuaternaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">quaternaryOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/QuaternaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">QuaternaryOperator</a>&nbsp;qop,
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#quaternaryOperations-org.apache.sysds.runtime.matrix.operators.QuaternaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">quaternaryOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/QuaternaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">QuaternaryOperator</a>&nbsp;qop,
                     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;um,
                     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;vm,
                     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;wm,
@@ -116,7 +116,7 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#quaternaryOperations-org.apache.sysds.runtime.matrix.operators.QuaternaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">quaternaryOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/QuaternaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">QuaternaryOperator</a>&nbsp;qop,
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#quaternaryOperations-org.apache.sysds.runtime.matrix.operators.QuaternaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">quaternaryOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/QuaternaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">QuaternaryOperator</a>&nbsp;qop,
                     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;um,
                     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;vm,
                     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;wm,
@@ -208,6 +208,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/operators/class-use/ReIndexOperator.html b/docs/api/java/org/apache/sysds/runtime/matrix/operators/class-use/ReIndexOperator.html
index 36d929a..0626dcb 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/operators/class-use/ReIndexOperator.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/operators/class-use/ReIndexOperator.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/operators/class-use/ReorgOperator.html b/docs/api/java/org/apache/sysds/runtime/matrix/operators/class-use/ReorgOperator.html
index 995d2f5..5db54ab 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/operators/class-use/ReorgOperator.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/operators/class-use/ReorgOperator.html
@@ -120,7 +120,7 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#reorgOperations-org.apache.sysds.runtime.matrix.operators.ReorgOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-int-int-int-">reorgOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ReorgOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ReorgOperator</a>&nbsp;op,
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#reorgOperations-org.apache.sysds.runtime.matrix.operators.ReorgOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-int-int-int-">reorgOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ReorgOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ReorgOperator</a>&nbsp;op,
                <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;ret,
                int&nbsp;startRow,
                int&nbsp;startColumn,
@@ -189,6 +189,11 @@
      <a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ReorgOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ReorgOperator</a>&nbsp;op)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">LibMatrixReorg.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixReorg.html#reorgInPlace-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.ReorgOperator-">reorgInPlace</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;in,
+            <a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ReorgOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ReorgOperator</a>&nbsp;op)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><code>abstract <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a></code></td>
 <td class="colLast"><span class="typeNameLabel">MatrixValue.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html#reorgOperations-org.apache.sysds.runtime.matrix.operators.ReorgOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-int-int-int-">reorgOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ReorgOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ReorgOperator</a>&nbsp;op,
                <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result,
@@ -196,7 +201,7 @@
                int&nbsp;startColumn,
                int&nbsp;length)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a></code></td>
 <td class="colLast"><span class="typeNameLabel">MatrixCell.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixCell.html#reorgOperations-org.apache.sysds.runtime.matrix.operators.ReorgOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-int-int-int-">reorgOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ReorgOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ReorgOperator</a>&nbsp;op,
                <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result,
@@ -204,7 +209,7 @@
                int&nbsp;startColumn,
                int&nbsp;length)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">MatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#reorgOperations-org.apache.sysds.runtime.matrix.operators.ReorgOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-int-int-int-">reorgOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ReorgOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ReorgOperator</a>&nbsp;op,
                <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;ret,
@@ -212,7 +217,7 @@
                int&nbsp;startColumn,
                int&nbsp;length)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a></code></td>
 <td class="colLast"><span class="typeNameLabel">WeightedCell.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/WeightedCell.html#reorgOperations-org.apache.sysds.runtime.matrix.operators.ReorgOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-int-int-int-">reorgOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ReorgOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ReorgOperator</a>&nbsp;op,
                <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result,
@@ -220,7 +225,7 @@
                int&nbsp;startColumn,
                int&nbsp;length)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a></code></td>
 <td class="colLast"><span class="typeNameLabel">CM_N_COVCell.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/CM_N_COVCell.html#reorgOperations-org.apache.sysds.runtime.matrix.operators.ReorgOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-int-int-int-">reorgOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ReorgOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ReorgOperator</a>&nbsp;op,
                <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result,
@@ -320,6 +325,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/operators/class-use/RightScalarOperator.html b/docs/api/java/org/apache/sysds/runtime/matrix/operators/class-use/RightScalarOperator.html
index 9f4e6c5..636dc6b 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/operators/class-use/RightScalarOperator.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/operators/class-use/RightScalarOperator.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/operators/class-use/ScalarOperator.html b/docs/api/java/org/apache/sysds/runtime/matrix/operators/class-use/ScalarOperator.html
index 0a2d31a..37eb502 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/operators/class-use/ScalarOperator.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/operators/class-use/ScalarOperator.html
@@ -180,34 +180,50 @@
              int&nbsp;numCols)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></td>
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></td>
 <td class="colLast"><span class="typeNameLabel">ColGroupRLE.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">scalarOperation</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupConst.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">scalarOperation</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op)</code>&nbsp;</td>
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupEmpty.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">scalarOperation</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupDDC1.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">scalarOperation</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op)</code>&nbsp;</td>
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupConst.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">scalarOperation</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>abstract <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroup.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">scalarOperation</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op)</code>
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupSDCZeros.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">scalarOperation</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupDDC.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">scalarOperation</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupSDCSingle.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">scalarOperation</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupSDC.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">scalarOperation</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupUncompressed.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">scalarOperation</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>abstract <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></td>
+<td class="colLast"><span class="typeNameLabel">AColGroup.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">scalarOperation</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op)</code>
 <div class="block">Perform the specified scalar operation directly on the compressed column group, without decompressing individual
  cells if possible.</div>
 </td>
 </tr>
-<tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupUncompressed.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">scalarOperation</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op)</code>&nbsp;</td>
-</tr>
 <tr class="rowColor">
-<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupDDC2.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">scalarOperation</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op)</code>&nbsp;</td>
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupSDCSingleZeros.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">scalarOperation</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></td>
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></td>
 <td class="colLast"><span class="typeNameLabel">ColGroupOLE.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">scalarOperation</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op)</code>&nbsp;</td>
 </tr>
 </tbody>
@@ -226,10 +242,14 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">LibScalar.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/LibScalar.html#scalarOperations-org.apache.sysds.runtime.matrix.operators.ScalarOperator-org.apache.sysds.runtime.compress.CompressedMatrixBlock-org.apache.sysds.runtime.compress.CompressedMatrixBlock-boolean-">scalarOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;sop,
+<td class="colLast"><span class="typeNameLabel">CLALibRelationalOp.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/CLALibRelationalOp.html#overlappingRelativeRelationalOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-org.apache.sysds.runtime.compress.CompressedMatrixBlock-">overlappingRelativeRelationalOperation</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;sop,
+                                      <a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;m1)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">CLALibScalar.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/lib/CLALibScalar.html#scalarOperations-org.apache.sysds.runtime.matrix.operators.ScalarOperator-org.apache.sysds.runtime.compress.CompressedMatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixValue-">scalarOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;sop,
                 <a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;m1,
-                <a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;ret,
-                boolean&nbsp;overlapping)</code>&nbsp;</td>
+                <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result)</code>&nbsp;</td>
 </tr>
 </tbody>
 </table>
@@ -299,14 +319,21 @@
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">MatrixCell.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixCell.html#denseScalarOperationsInPlace-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">denseScalarOperationsInPlace</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op)</code>&nbsp;</td>
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><span class="typeNameLabel">LibMatrixBincell.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixBincell.html#bincellOp-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.ScalarOperator-int-">bincellOp</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m1,
+         <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
+         <a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op,
+         int&nbsp;k)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">WeightedCell.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/WeightedCell.html#denseScalarOperationsInPlace-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">denseScalarOperationsInPlace</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">MatrixCell.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixCell.html#denseScalarOperationsInPlace-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">denseScalarOperationsInPlace</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">WeightedCell.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/WeightedCell.html#denseScalarOperationsInPlace-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">denseScalarOperationsInPlace</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">LibMatrixCUDA.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixCUDA.html#matrixScalarArithmetic-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.runtime.instructions.gpu.context.GPUContext-java.lang.String-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-java.lang.String-boolean-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">matrixScalarArithmetic</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
                       <a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUContext.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">GPUContext</a>&nbsp;gCtx,
@@ -318,7 +345,7 @@
 <div class="block">Entry point to perform elementwise matrix-scalar arithmetic operation specified by op</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">LibMatrixCUDA.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixCUDA.html#matrixScalarOp-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.runtime.instructions.gpu.context.GPUContext-java.lang.String-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-java.lang.String-boolean-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">matrixScalarOp</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
               <a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUContext.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">GPUContext</a>&nbsp;gCtx,
@@ -330,7 +357,7 @@
 <div class="block">Utility to do matrix-scalar operation kernel</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">LibMatrixCUDA.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixCUDA.html#matrixScalarRelational-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.runtime.instructions.gpu.context.GPUContext-java.lang.String-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-java.lang.String-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">matrixScalarRelational</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
                       <a href="../../../../../../../org/apache/sysds/runtime/instructions/gpu/context/GPUContext.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">GPUContext</a>&nbsp;gCtx,
@@ -341,36 +368,36 @@
 <div class="block">Entry point to perform elementwise matrix-scalar relational operation specified by op</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>abstract <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a></code></td>
 <td class="colLast"><span class="typeNameLabel">MatrixValue.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html#scalarOperations-org.apache.sysds.runtime.matrix.operators.ScalarOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-">scalarOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op,
                 <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a></code></td>
 <td class="colLast"><span class="typeNameLabel">MatrixCell.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixCell.html#scalarOperations-org.apache.sysds.runtime.matrix.operators.ScalarOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-">scalarOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op,
                 <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">MatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#scalarOperations-org.apache.sysds.runtime.matrix.operators.ScalarOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-">scalarOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op,
                 <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a></code></td>
 <td class="colLast"><span class="typeNameLabel">WeightedCell.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/WeightedCell.html#scalarOperations-org.apache.sysds.runtime.matrix.operators.ScalarOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-">scalarOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op,
                 <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a></code></td>
 <td class="colLast"><span class="typeNameLabel">CM_N_COVCell.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/CM_N_COVCell.html#scalarOperations-org.apache.sysds.runtime.matrix.operators.ScalarOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-">scalarOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op,
                 <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">MatrixCell.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixCell.html#sparseScalarOperationsInPlace-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">sparseScalarOperationsInPlace</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">WeightedCell.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/WeightedCell.html#sparseScalarOperationsInPlace-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">sparseScalarOperationsInPlace</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op)</code>&nbsp;</td>
 </tr>
@@ -492,6 +519,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/operators/class-use/SimpleOperator.html b/docs/api/java/org/apache/sysds/runtime/matrix/operators/class-use/SimpleOperator.html
index 58b8d5b..68258e5 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/operators/class-use/SimpleOperator.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/operators/class-use/SimpleOperator.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/operators/class-use/TernaryOperator.html b/docs/api/java/org/apache/sysds/runtime/matrix/operators/class-use/TernaryOperator.html
index 5acac67..7491d53 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/operators/class-use/TernaryOperator.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/operators/class-use/TernaryOperator.html
@@ -112,7 +112,7 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#ternaryOperations-org.apache.sysds.runtime.matrix.operators.TernaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ternaryOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/TernaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">TernaryOperator</a>&nbsp;op,
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#ternaryOperations-org.apache.sysds.runtime.matrix.operators.TernaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ternaryOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/TernaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">TernaryOperator</a>&nbsp;op,
                  <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2,
                  <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m3,
                  <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret)</code>&nbsp;</td>
@@ -135,6 +135,11 @@
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/TernaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">TernaryOperator</a></code></td>
 <td class="colLast"><span class="typeNameLabel">InstructionUtils.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/InstructionUtils.html#parseTernaryOperator-java.lang.String-">parseTernaryOperator</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;opcode)</code>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/TernaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">TernaryOperator</a></code></td>
+<td class="colLast"><span class="typeNameLabel">InstructionUtils.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/InstructionUtils.html#parseTernaryOperator-java.lang.String-int-">parseTernaryOperator</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;opcode,
+                    int&nbsp;numThreads)</code>&nbsp;</td>
+</tr>
 </tbody>
 </table>
 </li>
@@ -150,6 +155,14 @@
 </tr>
 <tbody>
 <tr class="altColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><span class="typeNameLabel">LibMatrixTercell.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixTercell.html#tercellOp-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.TernaryOperator-">tercellOp</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m1,
+         <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2,
+         <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m3,
+         <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
+         <a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/TernaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">TernaryOperator</a>&nbsp;op)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">MatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#ternaryOperations-org.apache.sysds.runtime.matrix.operators.TernaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ternaryOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/TernaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">TernaryOperator</a>&nbsp;op,
                  <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2,
@@ -210,6 +223,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/operators/class-use/UnaryOperator.html b/docs/api/java/org/apache/sysds/runtime/matrix/operators/class-use/UnaryOperator.html
index 2af134b..9304886 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/operators/class-use/UnaryOperator.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/operators/class-use/UnaryOperator.html
@@ -112,7 +112,7 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#unaryOperations-org.apache.sysds.runtime.matrix.operators.UnaryOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-">unaryOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/UnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">UnaryOperator</a>&nbsp;op,
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#unaryOperations-org.apache.sysds.runtime.matrix.operators.UnaryOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-">unaryOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/UnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">UnaryOperator</a>&nbsp;op,
                <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result)</code>&nbsp;</td>
 </tr>
 </tbody>
@@ -271,6 +271,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/operators/package-summary.html b/docs/api/java/org/apache/sysds/runtime/matrix/operators/package-summary.html
index 61f11c1..ecc86d6 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/operators/package-summary.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/operators/package-summary.html
@@ -233,6 +233,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/operators/package-tree.html b/docs/api/java/org/apache/sysds/runtime/matrix/operators/package-tree.html
index 0cce375..4c85834 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/operators/package-tree.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/operators/package-tree.html
@@ -83,7 +83,7 @@
 <ul>
 <li type="circle">org.apache.sysds.runtime.matrix.operators.<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators"><span class="typeNameLink">Operator</span></a> (implements java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.sysds.runtime.matrix.operators.<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateBinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators"><span class="typeNameLink">AggregateBinaryOperator</span></a> (implements java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)</li>
+<li type="circle">org.apache.sysds.runtime.matrix.operators.<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateBinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators"><span class="typeNameLink">AggregateBinaryOperator</span></a></li>
 <li type="circle">org.apache.sysds.runtime.matrix.operators.<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateOperator.html" title="class in org.apache.sysds.runtime.matrix.operators"><span class="typeNameLink">AggregateOperator</span></a> (implements java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)</li>
 <li type="circle">org.apache.sysds.runtime.matrix.operators.<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateTernaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators"><span class="typeNameLink">AggregateTernaryOperator</span></a> (implements java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)</li>
 <li type="circle">org.apache.sysds.runtime.matrix.operators.<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators"><span class="typeNameLink">AggregateUnaryOperator</span></a></li>
@@ -169,6 +169,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/operators/package-use.html b/docs/api/java/org/apache/sysds/runtime/matrix/operators/package-use.html
index 12d37ce..bb95bf4 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/operators/package-use.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/operators/package-use.html
@@ -231,9 +231,12 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/matrix/operators/class-use/BinaryOperator.html#org.apache.sysds.runtime.compress.lib">BinaryOperator</a>&nbsp;</td>
+<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/matrix/operators/class-use/AggregateUnaryOperator.html#org.apache.sysds.runtime.compress.lib">AggregateUnaryOperator</a>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/matrix/operators/class-use/BinaryOperator.html#org.apache.sysds.runtime.compress.lib">BinaryOperator</a>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/matrix/operators/class-use/ScalarOperator.html#org.apache.sysds.runtime.compress.lib">ScalarOperator</a>
 <div class="block">Base class for all scalar operators.</div>
 </td>
@@ -601,6 +604,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/meta/DataCharacteristics.html b/docs/api/java/org/apache/sysds/runtime/meta/DataCharacteristics.html
index a9f0bf5..743bd1e 100644
--- a/docs/api/java/org/apache/sysds/runtime/meta/DataCharacteristics.html
+++ b/docs/api/java/org/apache/sysds/runtime/meta/DataCharacteristics.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":9,"i2":10,"i3":10,"i4":10,"i5":6,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":6,"i23":10,"i24":10,"i25":10,"i26":9,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10,"i37":10,"i38":10,"i39":10,"i40":10};
+var methods = {"i0":9,"i1":9,"i2":10,"i3":10,"i4":10,"i5":6,"i6":6,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":6,"i24":10,"i25":10,"i26":10,"i27":10,"i28":9,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10,"i37":10,"i38":10,"i39":10,"i40":10,"i41":10,"i42":10,"i43":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -186,157 +186,169 @@
 </tr>
 <tr id="i5" class="rowColor">
 <td class="colFirst"><code>abstract boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#equals-java.lang.Object-">equals</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;anObject)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#equalDims-java.lang.Object-">equalDims</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;anObject)</code>&nbsp;</td>
 </tr>
 <tr id="i6" class="altColor">
+<td class="colFirst"><code>abstract boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#equals-java.lang.Object-">equals</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;anObject)</code>&nbsp;</td>
+</tr>
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#getBlocksize--">getBlocksize</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#getCols--">getCols</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#getDim-int-">getDim</a></span>(int&nbsp;i)</code>&nbsp;</td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i10" class="altColor">
 <td class="colFirst"><code>long[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#getDims--">getDims</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code>int[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#getIntDims--">getIntDims</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i11" class="rowColor">
+<tr id="i12" class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#getLength--">getLength</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i12" class="altColor">
+<tr id="i13" class="rowColor">
 <td class="colFirst"><code>long[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#getLongDims--">getLongDims</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i13" class="rowColor">
+<tr id="i14" class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#getNonZeros--">getNonZeros</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i14" class="altColor">
+<tr id="i15" class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#getNonZerosBound--">getNonZerosBound</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i15" class="rowColor">
+<tr id="i16" class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#getNumBlocks--">getNumBlocks</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i16" class="altColor">
+<tr id="i17" class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#getNumBlocks-int-">getNumBlocks</a></span>(int&nbsp;i)</code>&nbsp;</td>
 </tr>
-<tr id="i17" class="rowColor">
+<tr id="i18" class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#getNumColBlocks--">getNumColBlocks</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i18" class="altColor">
+<tr id="i19" class="rowColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#getNumDims--">getNumDims</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i19" class="rowColor">
+<tr id="i20" class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#getNumRowBlocks--">getNumRowBlocks</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i20" class="altColor">
+<tr id="i21" class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#getRows--">getRows</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i21" class="rowColor">
+<tr id="i22" class="altColor">
 <td class="colFirst"><code>double</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#getSparsity--">getSparsity</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i22" class="altColor">
+<tr id="i23" class="rowColor">
 <td class="colFirst"><code>abstract int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#hashCode--">hashCode</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i23" class="rowColor">
-<td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#isUltraSparse--">isUltraSparse</a></span>()</code>&nbsp;</td>
-</tr>
 <tr id="i24" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#mightHaveEmptyBlocks--">mightHaveEmptyBlocks</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#isNoEmptyBlocks--">isNoEmptyBlocks</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i25" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#nnzKnown--">nnzKnown</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#isUltraSparse--">isUltraSparse</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i26" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#mightHaveEmptyBlocks--">mightHaveEmptyBlocks</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i27" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#nnzKnown--">nnzKnown</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i28" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#reorg-org.apache.sysds.runtime.meta.DataCharacteristics-org.apache.sysds.runtime.matrix.operators.ReorgOperator-org.apache.sysds.runtime.meta.DataCharacteristics-">reorg</a></span>(<a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a>&nbsp;dim,
      <a href="../../../../../org/apache/sysds/runtime/matrix/operators/ReorgOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ReorgOperator</a>&nbsp;op,
      <a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a>&nbsp;dimOut)</code>&nbsp;</td>
 </tr>
-<tr id="i27" class="rowColor">
+<tr id="i29" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#rowsKnown--">rowsKnown</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i28" class="altColor">
+<tr id="i30" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#set-org.apache.sysds.runtime.meta.DataCharacteristics-">set</a></span>(<a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a>&nbsp;that)</code>&nbsp;</td>
 </tr>
-<tr id="i29" class="rowColor">
+<tr id="i31" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#set-long:A-int-">set</a></span>(long[]&nbsp;dims,
    int&nbsp;blocksize)</code>&nbsp;</td>
 </tr>
-<tr id="i30" class="altColor">
+<tr id="i32" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#set-long:A-int-long-">set</a></span>(long[]&nbsp;dims,
    int&nbsp;blocksize,
    long&nbsp;nnz)</code>&nbsp;</td>
 </tr>
-<tr id="i31" class="rowColor">
+<tr id="i33" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#set-long-long-int-">set</a></span>(long&nbsp;nr,
    long&nbsp;nc,
    int&nbsp;blen)</code>&nbsp;</td>
 </tr>
-<tr id="i32" class="altColor">
+<tr id="i34" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#set-long-long-int-long-">set</a></span>(long&nbsp;nr,
    long&nbsp;nc,
    int&nbsp;blen,
    long&nbsp;nnz)</code>&nbsp;</td>
 </tr>
-<tr id="i33" class="rowColor">
+<tr id="i35" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#setBlocksize-int-">setBlocksize</a></span>(int&nbsp;blen)</code>&nbsp;</td>
 </tr>
-<tr id="i34" class="altColor">
+<tr id="i36" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#setCols-long-">setCols</a></span>(long&nbsp;clen)</code>&nbsp;</td>
 </tr>
-<tr id="i35" class="rowColor">
+<tr id="i37" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#setDim-int-long-">setDim</a></span>(int&nbsp;i,
       long&nbsp;dim)</code>&nbsp;</td>
 </tr>
-<tr id="i36" class="altColor">
+<tr id="i38" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#setDimension-long-long-">setDimension</a></span>(long&nbsp;nr,
             long&nbsp;nc)</code>&nbsp;</td>
 </tr>
-<tr id="i37" class="rowColor">
+<tr id="i39" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#setDims-long:A-">setDims</a></span>(long[]&nbsp;dims)</code>&nbsp;</td>
 </tr>
-<tr id="i38" class="altColor">
+<tr id="i40" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#setNoEmptyBlocks-boolean-">setNoEmptyBlocks</a></span>(boolean&nbsp;flag)</code>&nbsp;</td>
+</tr>
+<tr id="i41" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#setNonZeros-long-">setNonZeros</a></span>(long&nbsp;nnz)</code>&nbsp;</td>
 </tr>
-<tr id="i39" class="rowColor">
+<tr id="i42" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#setNonZerosBound-long-">setNonZerosBound</a></span>(long&nbsp;nnz)</code>&nbsp;</td>
 </tr>
-<tr id="i40" class="altColor">
+<tr id="i43" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#setRows-long-">setRows</a></span>(long&nbsp;rlen)</code>&nbsp;</td>
 </tr>
@@ -495,6 +507,24 @@
 <pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a>&nbsp;setBlocksize(int&nbsp;blen)</pre>
 </li>
 </ul>
+<a name="setNoEmptyBlocks-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setNoEmptyBlocks</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a>&nbsp;setNoEmptyBlocks(boolean&nbsp;flag)</pre>
+</li>
+</ul>
+<a name="isNoEmptyBlocks--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isNoEmptyBlocks</h4>
+<pre>public&nbsp;boolean&nbsp;isNoEmptyBlocks()</pre>
+</li>
+</ul>
 <a name="getNumBlocks--">
 <!--   -->
 </a>
@@ -747,6 +777,15 @@
                                    <a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a>&nbsp;dimOut)</pre>
 </li>
 </ul>
+<a name="equalDims-java.lang.Object-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>equalDims</h4>
+<pre>public abstract&nbsp;boolean&nbsp;equalDims(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;anObject)</pre>
+</li>
+</ul>
 <a name="equals-java.lang.Object-">
 <!--   -->
 </a>
@@ -842,6 +881,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/meta/MatrixCharacteristics.html b/docs/api/java/org/apache/sysds/runtime/meta/MatrixCharacteristics.html
index 55a0f76..b8cd91f 100644
--- a/docs/api/java/org/apache/sysds/runtime/meta/MatrixCharacteristics.html
+++ b/docs/api/java/org/apache/sysds/runtime/meta/MatrixCharacteristics.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -196,119 +196,123 @@
 </tr>
 <tr id="i3" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/meta/MatrixCharacteristics.html#equals-java.lang.Object-">equals</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;anObject)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/meta/MatrixCharacteristics.html#equalDims-java.lang.Object-">equalDims</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;anObject)</code>&nbsp;</td>
 </tr>
 <tr id="i4" class="altColor">
-<td class="colFirst"><code>long</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/meta/MatrixCharacteristics.html#getCols--">getCols</a></span>()</code>&nbsp;</td>
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/meta/MatrixCharacteristics.html#equals-java.lang.Object-">equals</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;anObject)</code>&nbsp;</td>
 </tr>
 <tr id="i5" class="rowColor">
 <td class="colFirst"><code>long</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/meta/MatrixCharacteristics.html#getDim-int-">getDim</a></span>(int&nbsp;i)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/meta/MatrixCharacteristics.html#getCols--">getCols</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i6" class="altColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/meta/MatrixCharacteristics.html#getDim-int-">getDim</a></span>(int&nbsp;i)</code>&nbsp;</td>
+</tr>
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code>int[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/meta/MatrixCharacteristics.html#getIntDims--">getIntDims</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/meta/MatrixCharacteristics.html#getLength--">getLength</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code>long[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/meta/MatrixCharacteristics.html#getLongDims--">getLongDims</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i10" class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/meta/MatrixCharacteristics.html#getNonZeros--">getNonZeros</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/meta/MatrixCharacteristics.html#getNonZerosBound--">getNonZerosBound</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i11" class="rowColor">
+<tr id="i12" class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/meta/MatrixCharacteristics.html#getNumBlocks--">getNumBlocks</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i12" class="altColor">
+<tr id="i13" class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/meta/MatrixCharacteristics.html#getNumColBlocks--">getNumColBlocks</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i13" class="rowColor">
+<tr id="i14" class="altColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/meta/MatrixCharacteristics.html#getNumDims--">getNumDims</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i14" class="altColor">
+<tr id="i15" class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/meta/MatrixCharacteristics.html#getNumRowBlocks--">getNumRowBlocks</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i15" class="rowColor">
+<tr id="i16" class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/meta/MatrixCharacteristics.html#getRows--">getRows</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i16" class="altColor">
+<tr id="i17" class="rowColor">
 <td class="colFirst"><code>double</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/meta/MatrixCharacteristics.html#getSparsity--">getSparsity</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i17" class="rowColor">
+<tr id="i18" class="altColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/meta/MatrixCharacteristics.html#hashCode--">hashCode</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i18" class="altColor">
+<tr id="i19" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/meta/MatrixCharacteristics.html#isUltraSparse--">isUltraSparse</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i19" class="rowColor">
+<tr id="i20" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/meta/MatrixCharacteristics.html#mightHaveEmptyBlocks--">mightHaveEmptyBlocks</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i20" class="altColor">
+<tr id="i21" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/meta/MatrixCharacteristics.html#nnzKnown--">nnzKnown</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i21" class="rowColor">
+<tr id="i22" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/meta/MatrixCharacteristics.html#rowsKnown--">rowsKnown</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i22" class="altColor">
+<tr id="i23" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/meta/MatrixCharacteristics.html#set-org.apache.sysds.runtime.meta.DataCharacteristics-">set</a></span>(<a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a>&nbsp;that)</code>&nbsp;</td>
 </tr>
-<tr id="i23" class="rowColor">
+<tr id="i24" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/meta/MatrixCharacteristics.html#set-long-long-int-">set</a></span>(long&nbsp;nr,
    long&nbsp;nc,
    int&nbsp;blen)</code>&nbsp;</td>
 </tr>
-<tr id="i24" class="altColor">
+<tr id="i25" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/meta/MatrixCharacteristics.html#set-long-long-int-long-">set</a></span>(long&nbsp;nr,
    long&nbsp;nc,
    int&nbsp;blen,
    long&nbsp;nnz)</code>&nbsp;</td>
 </tr>
-<tr id="i25" class="rowColor">
+<tr id="i26" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/meta/MatrixCharacteristics.html#setCols-long-">setCols</a></span>(long&nbsp;clen)</code>&nbsp;</td>
 </tr>
-<tr id="i26" class="altColor">
+<tr id="i27" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/meta/MatrixCharacteristics.html#setDimension-long-long-">setDimension</a></span>(long&nbsp;nr,
             long&nbsp;nc)</code>&nbsp;</td>
 </tr>
-<tr id="i27" class="rowColor">
+<tr id="i28" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/meta/MatrixCharacteristics.html#setNonZeros-long-">setNonZeros</a></span>(long&nbsp;nnz)</code>&nbsp;</td>
 </tr>
-<tr id="i28" class="altColor">
+<tr id="i29" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/meta/MatrixCharacteristics.html#setNonZerosBound-long-">setNonZerosBound</a></span>(long&nbsp;nnz)</code>&nbsp;</td>
 </tr>
-<tr id="i29" class="rowColor">
+<tr id="i30" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/meta/MatrixCharacteristics.html#setRows-long-">setRows</a></span>(long&nbsp;rlen)</code>&nbsp;</td>
 </tr>
-<tr id="i30" class="altColor">
+<tr id="i31" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/meta/MatrixCharacteristics.html#toString--">toString</a></span>()</code>&nbsp;</td>
 </tr>
@@ -318,7 +322,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.meta.<a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a></h3>
-<code><a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#aggregateBinary-org.apache.sysds.runtime.meta.DataCharacteristics-org.apache.sysds.runtime.meta.DataCharacteristics-org.apache.sysds.runtime.matrix.operators.AggregateBinaryOperator-org.apache.sysds.runtime.meta.DataCharacteristics-">aggregateBinary</a>, <a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#aggregateUnary-org.apache.sysds.runtime.meta.DataCharacteristics-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-org.apache.sysds.runtime.meta.DataCharacteristics-">aggregateUnary</a>, <a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#getBlocksize--">getBlocksize</a>, <a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#getDims--">getDims</a>, <a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#getNumBlocks-int-">getNumBlocks</a>, <a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#reorg-org.apache.sysds.runtime.meta.DataCharacteristics-org.apache.sysds.runtime.matrix.operators.ReorgOperator-org.apache.sysds.runtime.meta.DataCharacteristics-">reorg</a>, <a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#set-long:A-int-">set</a>, <a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#set-long:A-int-long-">set</a>, <a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#setBlocksize-int-">setBlocksize</a>, <a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#setDim-int-long-">setDim</a>, <a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#setDims-long:A-">setDims</a></code></li>
+<code><a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#aggregateBinary-org.apache.sysds.runtime.meta.DataCharacteristics-org.apache.sysds.runtime.meta.DataCharacteristics-org.apache.sysds.runtime.matrix.operators.AggregateBinaryOperator-org.apache.sysds.runtime.meta.DataCharacteristics-">aggregateBinary</a>, <a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#aggregateUnary-org.apache.sysds.runtime.meta.DataCharacteristics-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-org.apache.sysds.runtime.meta.DataCharacteristics-">aggregateUnary</a>, <a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#getBlocksize--">getBlocksize</a>, <a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#getDims--">getDims</a>, <a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#getNumBlocks-int-">getNumBlocks</a>, <a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#isNoEmptyBlocks--">isNoEmptyBlocks</a>, <a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#reorg-org.apache.sysds.runtime.meta.DataCharacteristics-org.apache.sysds.runtime.matrix.operators.ReorgOperator-org.apache.sysds.runtime.meta.DataCharacteristics-">reorg</a>, <a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#set-long:A-int-">set</a>, <a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#set-long:A-int-long-">set</a>, <a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#setBlocksize-int-">setBlocksize</a>, <a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#setDim-int-long-">setDim</a>, <a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#setDims-long:A-">setDims</a>, <a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#setNoEmptyBlocks-boolean-">setNoEmptyBlocks</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -794,6 +798,19 @@
 </dl>
 </li>
 </ul>
+<a name="equalDims-java.lang.Object-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>equalDims</h4>
+<pre>public&nbsp;boolean&nbsp;equalDims(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;anObject)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#equalDims-java.lang.Object-">equalDims</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a></code></dd>
+</dl>
+</li>
+</ul>
 <a name="equals-java.lang.Object-">
 <!--   -->
 </a>
@@ -889,6 +906,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/meta/MetaData.html b/docs/api/java/org/apache/sysds/runtime/meta/MetaData.html
index f9ee134..3d436a2 100644
--- a/docs/api/java/org/apache/sysds/runtime/meta/MetaData.html
+++ b/docs/api/java/org/apache/sysds/runtime/meta/MetaData.html
@@ -340,6 +340,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/meta/MetaDataFormat.html b/docs/api/java/org/apache/sysds/runtime/meta/MetaDataFormat.html
index d01c461..24ac25c 100644
--- a/docs/api/java/org/apache/sysds/runtime/meta/MetaDataFormat.html
+++ b/docs/api/java/org/apache/sysds/runtime/meta/MetaDataFormat.html
@@ -50,7 +50,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../org/apache/sysds/runtime/meta/MetaData.html" title="class in org.apache.sysds.runtime.meta"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/sysds/runtime/meta/TensorCharacteristics.html" title="class in org.apache.sysds.runtime.meta"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/sysds/runtime/meta/MetaDataUtils.html" title="class in org.apache.sysds.runtime.meta"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?org/apache/sysds/runtime/meta/MetaDataFormat.html" target="_top">Frames</a></li>
@@ -258,7 +258,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../org/apache/sysds/runtime/meta/MetaData.html" title="class in org.apache.sysds.runtime.meta"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/sysds/runtime/meta/TensorCharacteristics.html" title="class in org.apache.sysds.runtime.meta"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/sysds/runtime/meta/MetaDataUtils.html" title="class in org.apache.sysds.runtime.meta"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?org/apache/sysds/runtime/meta/MetaDataFormat.html" target="_top">Frames</a></li>
@@ -298,6 +298,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/BitmapEncoder.html b/docs/api/java/org/apache/sysds/runtime/meta/MetaDataUtils.html
similarity index 68%
rename from docs/api/java/org/apache/sysds/runtime/compress/BitmapEncoder.html
rename to docs/api/java/org/apache/sysds/runtime/meta/MetaDataUtils.html
index f784b92..7003001 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/BitmapEncoder.html
+++ b/docs/api/java/org/apache/sysds/runtime/meta/MetaDataUtils.html
@@ -4,7 +4,7 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>BitmapEncoder (SystemDS 2.1.0-SNAPSHOT API)</title>
+<title>MetaDataUtils (SystemDS 2.1.0-SNAPSHOT API)</title>
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="BitmapEncoder (SystemDS 2.1.0-SNAPSHOT API)";
+            parent.document.title="MetaDataUtils (SystemDS 2.1.0-SNAPSHOT API)";
         }
     }
     catch(err) {
@@ -40,7 +40,7 @@
 <li><a href="../../../../../overview-summary.html">Overview</a></li>
 <li><a href="package-summary.html">Package</a></li>
 <li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/BitmapEncoder.html">Use</a></li>
+<li><a href="class-use/MetaDataUtils.html">Use</a></li>
 <li><a href="package-tree.html">Tree</a></li>
 <li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
 <li><a href="../../../../../index-all.html">Index</a></li>
@@ -49,12 +49,12 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/sysds/runtime/meta/MetaDataFormat.html" title="class in org.apache.sysds.runtime.meta"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/sysds/runtime/meta/TensorCharacteristics.html" title="class in org.apache.sysds.runtime.meta"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../index.html?org/apache/sysds/runtime/compress/BitmapEncoder.html" target="_top">Frames</a></li>
-<li><a href="BitmapEncoder.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../index.html?org/apache/sysds/runtime/meta/MetaDataUtils.html" target="_top">Frames</a></li>
+<li><a href="MetaDataUtils.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
 <li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -92,15 +92,15 @@
 <!-- ========= END OF TOP NAVBAR ========= -->
 <!-- ======== START OF CLASS DATA ======== -->
 <div class="header">
-<div class="subTitle">org.apache.sysds.runtime.compress</div>
-<h2 title="Class BitmapEncoder" class="title">Class BitmapEncoder</h2>
+<div class="subTitle">org.apache.sysds.runtime.meta</div>
+<h2 title="Class MetaDataUtils" class="title">Class MetaDataUtils</h2>
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
 <li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
-<li>org.apache.sysds.runtime.compress.BitmapEncoder</li>
+<li>org.apache.sysds.runtime.meta.MetaDataUtils</li>
 </ul>
 </li>
 </ul>
@@ -109,9 +109,8 @@
 <li class="blockList">
 <hr>
 <br>
-<pre>public class <span class="typeNameLabel">BitmapEncoder</span>
+<pre>public class <span class="typeNameLabel">MetaDataUtils</span>
 extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
-<div class="block">Static functions for encoding bitmaps in various ways.</div>
 </li>
 </ul>
 </div>
@@ -130,7 +129,7 @@
 <th class="colOne" scope="col">Constructor and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/BitmapEncoder.html#BitmapEncoder--">BitmapEncoder</a></span>()</code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/meta/MetaDataUtils.html#MetaDataUtils--">MetaDataUtils</a></span>()</code>&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -148,12 +147,11 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils">ABitmap</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/BitmapEncoder.html#extractBitmap-int:A-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.compress.CompressionSettings-">extractBitmap</a></span>(int[]&nbsp;colIndices,
-             <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;rawBlock,
-             <a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;compSettings)</code>
-<div class="block">Generate uncompressed bitmaps for a set of columns in an uncompressed matrix block.</div>
-</td>
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/meta/MetaDataUtils.html#updateAppendDataCharacteristics-org.apache.sysds.runtime.meta.DataCharacteristics-org.apache.sysds.runtime.meta.DataCharacteristics-org.apache.sysds.runtime.meta.DataCharacteristics-boolean-">updateAppendDataCharacteristics</a></span>(<a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a>&nbsp;mc1,
+                               <a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a>&nbsp;mc2,
+                               <a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a>&nbsp;mcOut,
+                               boolean&nbsp;cbind)</code>&nbsp;</td>
 </tr>
 </table>
 <ul class="blockList">
@@ -177,13 +175,13 @@
 <!--   -->
 </a>
 <h3>Constructor Detail</h3>
-<a name="BitmapEncoder--">
+<a name="MetaDataUtils--">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>BitmapEncoder</h4>
-<pre>public&nbsp;BitmapEncoder()</pre>
+<h4>MetaDataUtils</h4>
+<pre>public&nbsp;MetaDataUtils()</pre>
 </li>
 </ul>
 </li>
@@ -194,24 +192,16 @@
 <!--   -->
 </a>
 <h3>Method Detail</h3>
-<a name="extractBitmap-int:A-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.compress.CompressionSettings-">
+<a name="updateAppendDataCharacteristics-org.apache.sysds.runtime.meta.DataCharacteristics-org.apache.sysds.runtime.meta.DataCharacteristics-org.apache.sysds.runtime.meta.DataCharacteristics-boolean-">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>extractBitmap</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils">ABitmap</a>&nbsp;extractBitmap(int[]&nbsp;colIndices,
-                                    <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;rawBlock,
-                                    <a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;compSettings)</pre>
-<div class="block">Generate uncompressed bitmaps for a set of columns in an uncompressed matrix block.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>colIndices</code> - Indexes (within the block) of the columns to extract</dd>
-<dd><code>rawBlock</code> - An uncompressed matrix block; can be dense or sparse</dd>
-<dd><code>compSettings</code> - The compression settings used for the compression.</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>uncompressed bitmap representation of the columns</dd>
-</dl>
+<h4>updateAppendDataCharacteristics</h4>
+<pre>public static&nbsp;void&nbsp;updateAppendDataCharacteristics(<a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a>&nbsp;mc1,
+                                                   <a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a>&nbsp;mc2,
+                                                   <a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a>&nbsp;mcOut,
+                                                   boolean&nbsp;cbind)</pre>
 </li>
 </ul>
 </li>
@@ -233,7 +223,7 @@
 <li><a href="../../../../../overview-summary.html">Overview</a></li>
 <li><a href="package-summary.html">Package</a></li>
 <li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/BitmapEncoder.html">Use</a></li>
+<li><a href="class-use/MetaDataUtils.html">Use</a></li>
 <li><a href="package-tree.html">Tree</a></li>
 <li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
 <li><a href="../../../../../index-all.html">Index</a></li>
@@ -242,12 +232,12 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/sysds/runtime/meta/MetaDataFormat.html" title="class in org.apache.sysds.runtime.meta"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/sysds/runtime/meta/TensorCharacteristics.html" title="class in org.apache.sysds.runtime.meta"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../index.html?org/apache/sysds/runtime/compress/BitmapEncoder.html" target="_top">Frames</a></li>
-<li><a href="BitmapEncoder.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../index.html?org/apache/sysds/runtime/meta/MetaDataUtils.html" target="_top">Frames</a></li>
+<li><a href="MetaDataUtils.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
 <li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -283,6 +273,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/meta/TensorCharacteristics.html b/docs/api/java/org/apache/sysds/runtime/meta/TensorCharacteristics.html
index a0d3d42..dfedb61 100644
--- a/docs/api/java/org/apache/sysds/runtime/meta/TensorCharacteristics.html
+++ b/docs/api/java/org/apache/sysds/runtime/meta/TensorCharacteristics.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -49,7 +49,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/sysds/runtime/meta/MetaDataFormat.html" title="class in org.apache.sysds.runtime.meta"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/sysds/runtime/meta/MetaDataUtils.html" title="class in org.apache.sysds.runtime.meta"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li>Next&nbsp;Class</li>
 </ul>
 <ul class="navList">
@@ -204,77 +204,81 @@
 </tr>
 <tr id="i2" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/meta/TensorCharacteristics.html#equals-java.lang.Object-">equals</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;anObject)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/meta/TensorCharacteristics.html#equalDims-java.lang.Object-">equalDims</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;anObject)</code>&nbsp;</td>
 </tr>
 <tr id="i3" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/meta/TensorCharacteristics.html#equals-java.lang.Object-">equals</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;anObject)</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/meta/TensorCharacteristics.html#getDim-int-">getDim</a></span>(int&nbsp;i)</code>&nbsp;</td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>int[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/meta/TensorCharacteristics.html#getIntDims--">getIntDims</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/meta/TensorCharacteristics.html#getLength--">getLength</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code>long[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/meta/TensorCharacteristics.html#getLongDims--">getLongDims</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/meta/TensorCharacteristics.html#getNonZeros--">getNonZeros</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/meta/TensorCharacteristics.html#getNumBlocks--">getNumBlocks</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i10" class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/meta/TensorCharacteristics.html#getNumBlocks-int-">getNumBlocks</a></span>(int&nbsp;i)</code>&nbsp;</td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/meta/TensorCharacteristics.html#getNumDims--">getNumDims</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i11" class="rowColor">
+<tr id="i12" class="altColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/meta/TensorCharacteristics.html#hashCode--">hashCode</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i12" class="altColor">
+<tr id="i13" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/meta/TensorCharacteristics.html#nnzKnown--">nnzKnown</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i13" class="rowColor">
+<tr id="i14" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/meta/TensorCharacteristics.html#set-org.apache.sysds.runtime.meta.DataCharacteristics-">set</a></span>(<a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a>&nbsp;that)</code>&nbsp;</td>
 </tr>
-<tr id="i14" class="altColor">
+<tr id="i15" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/meta/TensorCharacteristics.html#set-long:A-int-">set</a></span>(long[]&nbsp;dims,
    int&nbsp;blocksize)</code>&nbsp;</td>
 </tr>
-<tr id="i15" class="rowColor">
+<tr id="i16" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/meta/TensorCharacteristics.html#set-long:A-int-long-">set</a></span>(long[]&nbsp;dims,
    int&nbsp;blocksize,
    long&nbsp;nnz)</code>&nbsp;</td>
 </tr>
-<tr id="i16" class="altColor">
+<tr id="i17" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/meta/TensorCharacteristics.html#setDim-int-long-">setDim</a></span>(int&nbsp;i,
       long&nbsp;dim)</code>&nbsp;</td>
 </tr>
-<tr id="i17" class="rowColor">
+<tr id="i18" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/meta/TensorCharacteristics.html#setDims-long:A-">setDims</a></span>(long[]&nbsp;dims)</code>&nbsp;</td>
 </tr>
-<tr id="i18" class="altColor">
+<tr id="i19" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/meta/TensorCharacteristics.html#setNonZeros-long-">setNonZeros</a></span>(long&nbsp;nnz)</code>&nbsp;</td>
 </tr>
-<tr id="i19" class="rowColor">
+<tr id="i20" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/meta/TensorCharacteristics.html#toString--">toString</a></span>()</code>&nbsp;</td>
 </tr>
@@ -284,7 +288,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.meta.<a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a></h3>
-<code><a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#aggregateBinary-org.apache.sysds.runtime.meta.DataCharacteristics-org.apache.sysds.runtime.meta.DataCharacteristics-org.apache.sysds.runtime.matrix.operators.AggregateBinaryOperator-org.apache.sysds.runtime.meta.DataCharacteristics-">aggregateBinary</a>, <a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#aggregateUnary-org.apache.sysds.runtime.meta.DataCharacteristics-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-org.apache.sysds.runtime.meta.DataCharacteristics-">aggregateUnary</a>, <a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#colsKnown--">colsKnown</a>, <a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#getBlocksize--">getBlocksize</a>, <a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#getCols--">getCols</a>, <a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#getDims--">getDims</a>, <a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#getNonZerosBound--">getNonZerosBound</a>, <a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#getNumColBlocks--">getNumColBlocks</a>, <a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#getNumRowBlocks--">getNumRowBlocks</a>, <a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#getRows--">getRows</a>, <a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#getSparsity--">getSparsity</a>, <a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#isUltraSparse--">isUltraSparse</a>, <a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#mightHaveEmptyBlocks--">mightHaveEmptyBlocks</a>, <a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#reorg-org.apache.sysds.runtime.meta.DataCharacteristics-org.apache.sysds.runtime.matrix.operators.ReorgOperator-org.apache.sysds.runtime.meta.DataCharacteristics-">reorg</a>, <a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#rowsKnown--">rowsKnown</a>, <a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#set-long-long-int-">set</a>, <a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#set-long-long-int-long-">set</a>, <a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#setBlocksize-int-">setBlocksize</a>, <a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#setCols-long-">setCols</a>, <a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#setDimension-long-long-">setDimension</a>, <a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#setNonZerosBound-long-">setNonZerosBound</a>, <a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#setRows-long-">setRows</a></code></li>
+<code><a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#aggregateBinary-org.apache.sysds.runtime.meta.DataCharacteristics-org.apache.sysds.runtime.meta.DataCharacteristics-org.apache.sysds.runtime.matrix.operators.AggregateBinaryOperator-org.apache.sysds.runtime.meta.DataCharacteristics-">aggregateBinary</a>, <a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#aggregateUnary-org.apache.sysds.runtime.meta.DataCharacteristics-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-org.apache.sysds.runtime.meta.DataCharacteristics-">aggregateUnary</a>, <a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#colsKnown--">colsKnown</a>, <a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#getBlocksize--">getBlocksize</a>, <a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#getCols--">getCols</a>, <a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#getDims--">getDims</a>, <a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#getNonZerosBound--">getNonZerosBound</a>, <a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#getNumColBlocks--">getNumColBlocks</a>, <a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#getNumRowBlocks--">getNumRowBlocks</a>, <a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#getRows--">getRows</a>, <a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#getSparsity--">getSparsity</a>, <a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#isNoEmptyBlocks--">isNoEmptyBlocks</a>, <a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#isUltraSparse--">isUltraSparse</a>, <a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#mightHaveEmptyBlocks--">mightHaveEmptyBlocks</a>, <a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#reorg-org.apache.sysds.runtime.meta.DataCharacteristics-org.apache.sysds.runtime.matrix.operators.ReorgOperator-org.apache.sysds.runtime.meta.DataCharacteristics-">reorg</a>, <a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#rowsKnown--">rowsKnown</a>, <a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#set-long-long-int-">set</a>, <a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#set-long-long-int-long-">set</a>, <a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#setBlocksize-int-">setBlocksize</a>, <a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#setCols-long-">setCols</a>, <a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#setDimension-long-long-">setDimension</a>, <a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#setNoEmptyBlocks-boolean-">setNoEmptyBlocks</a>, <a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#setNonZerosBound-long-">setNonZerosBound</a>, <a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#setRows-long-">setRows</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -619,6 +623,19 @@
 </dl>
 </li>
 </ul>
+<a name="equalDims-java.lang.Object-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>equalDims</h4>
+<pre>public&nbsp;boolean&nbsp;equalDims(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;anObject)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#equalDims-java.lang.Object-">equalDims</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a></code></dd>
+</dl>
+</li>
+</ul>
 <a name="equals-java.lang.Object-">
 <!--   -->
 </a>
@@ -673,7 +690,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/sysds/runtime/meta/MetaDataFormat.html" title="class in org.apache.sysds.runtime.meta"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/sysds/runtime/meta/MetaDataUtils.html" title="class in org.apache.sysds.runtime.meta"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li>Next&nbsp;Class</li>
 </ul>
 <ul class="navList">
@@ -714,6 +731,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/meta/class-use/DataCharacteristics.html b/docs/api/java/org/apache/sysds/runtime/meta/class-use/DataCharacteristics.html
index abd8ebc..8e38c8a 100644
--- a/docs/api/java/org/apache/sysds/runtime/meta/class-use/DataCharacteristics.html
+++ b/docs/api/java/org/apache/sysds/runtime/meta/class-use/DataCharacteristics.html
@@ -151,14 +151,18 @@
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><a href="#org.apache.sysds.runtime.matrix.data">org.apache.sysds.runtime.matrix.data</a></td>
+<td class="colFirst"><a href="#org.apache.sysds.runtime.io">org.apache.sysds.runtime.io</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><a href="#org.apache.sysds.runtime.meta">org.apache.sysds.runtime.meta</a></td>
+<td class="colFirst"><a href="#org.apache.sysds.runtime.matrix.data">org.apache.sysds.runtime.matrix.data</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.meta">org.apache.sysds.runtime.meta</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.util">org.apache.sysds.runtime.util</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
@@ -248,17 +252,22 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static long</code></td>
-<td class="colLast"><span class="typeNameLabel">OptimizerUtils.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/OptimizerUtils.html#estimateSize-org.apache.sysds.runtime.meta.DataCharacteristics-">estimateSize</a></span>(<a href="../../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a>&nbsp;dc)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">OptimizerUtils.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/OptimizerUtils.html#estimatePartitionedSizeExactSparsity-org.apache.sysds.runtime.meta.DataCharacteristics-boolean-">estimatePartitionedSizeExactSparsity</a></span>(<a href="../../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a>&nbsp;dc,
+                                    boolean&nbsp;outputEmptyBlocks)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static long</code></td>
-<td class="colLast"><span class="typeNameLabel">OptimizerUtils.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/OptimizerUtils.html#estimateSizeExactSparsity-org.apache.sysds.runtime.meta.DataCharacteristics-">estimateSizeExactSparsity</a></span>(<a href="../../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a>&nbsp;dc)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">OptimizerUtils.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/OptimizerUtils.html#estimateSize-org.apache.sysds.runtime.meta.DataCharacteristics-">estimateSize</a></span>(<a href="../../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a>&nbsp;dc)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><code>static long</code></td>
+<td class="colLast"><span class="typeNameLabel">OptimizerUtils.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/OptimizerUtils.html#estimateSizeExactSparsity-org.apache.sysds.runtime.meta.DataCharacteristics-">estimateSizeExactSparsity</a></span>(<a href="../../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a>&nbsp;dc)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code>static double</code></td>
 <td class="colLast"><span class="typeNameLabel">OptimizerUtils.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/OptimizerUtils.html#getSparsity-org.apache.sysds.runtime.meta.DataCharacteristics-">getSparsity</a></span>(<a href="../../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a>&nbsp;dc)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">OptimizerUtils.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/OptimizerUtils.html#isIndexingRangeBlockAligned-org.apache.sysds.runtime.util.IndexRange-org.apache.sysds.runtime.meta.DataCharacteristics-">isIndexingRangeBlockAligned</a></span>(<a href="../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixrange,
                            <a href="../../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a>&nbsp;mc)</code>
@@ -266,11 +275,11 @@
  global aggregation of blocks.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">OptimizerUtils.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/OptimizerUtils.html#isValidCPDimensions-org.apache.sysds.runtime.meta.DataCharacteristics-">isValidCPDimensions</a></span>(<a href="../../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a>&nbsp;mc)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">MemoTable.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/MemoTable.html#memoizeStatistics-long-org.apache.sysds.runtime.meta.DataCharacteristics-">memoizeStatistics</a></span>(long&nbsp;hopID,
                  <a href="../../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a>&nbsp;dc)</code>&nbsp;</td>
@@ -494,6 +503,10 @@
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a></code></td>
 <td class="colLast"><span class="typeNameLabel">CacheableData.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#getDataCharacteristics--">getDataCharacteristics</a></span>()</code>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a></code></td>
+<td class="colLast"><span class="typeNameLabel">CacheBlock.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html#getDataCharacteristics--">getDataCharacteristics</a></span>()</code>&nbsp;</td>
+</tr>
 </tbody>
 </table>
 <table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
@@ -579,6 +592,19 @@
 </a>
 <h3>Uses of <a href="../../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a> in <a href="../../../../../../org/apache/sysds/runtime/data/package-summary.html">org.apache.sysds.runtime.data</a></h3>
 <table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/sysds/runtime/data/package-summary.html">org.apache.sysds.runtime.data</a> that return <a href="../../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a></code></td>
+<td class="colLast"><span class="typeNameLabel">TensorBlock.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/data/TensorBlock.html#getDataCharacteristics--">getDataCharacteristics</a></span>()</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
 <caption><span>Methods in <a href="../../../../../../org/apache/sysds/runtime/data/package-summary.html">org.apache.sysds.runtime.data</a> with parameters of type <a href="../../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a></span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
@@ -1029,10 +1055,15 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static int</code></td>
+<td class="colLast"><span class="typeNameLabel">SparkUtils.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/utils/SparkUtils.html#getNumPreferredPartitions-org.apache.sysds.runtime.meta.DataCharacteristics-boolean-">getNumPreferredPartitions</a></span>(<a href="../../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a>&nbsp;dc,
+                         boolean&nbsp;outputEmptyBlocks)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static int</code></td>
 <td class="colLast"><span class="typeNameLabel">SparkUtils.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/utils/SparkUtils.html#getNumPreferredPartitions-org.apache.sysds.runtime.meta.DataCharacteristics-org.apache.spark.api.java.JavaPairRDD-">getNumPreferredPartitions</a></span>(<a href="../../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a>&nbsp;dc,
                          org.apache.spark.api.java.JavaPairRDD&lt;?,?&gt;&nbsp;in)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">RDDConverterUtils.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/utils/RDDConverterUtils.html#libsvmToBinaryBlock-org.apache.spark.api.java.JavaSparkContext-java.lang.String-java.lang.String-java.lang.String-org.apache.sysds.runtime.meta.DataCharacteristics-">libsvmToBinaryBlock</a></span>(org.apache.spark.api.java.JavaSparkContext&nbsp;sc,
                    <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;pathIn,
@@ -1043,18 +1074,23 @@
  and labels, and saves these to the specified output files.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static org.apache.spark.api.java.JavaPairRDD&lt;org.apache.hadoop.io.LongWritable,<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">FrameRDDConverterUtils.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/utils/FrameRDDConverterUtils.html#matrixBlockToBinaryBlock-org.apache.spark.api.java.JavaSparkContext-org.apache.spark.api.java.JavaPairRDD-org.apache.sysds.runtime.meta.DataCharacteristics-">matrixBlockToBinaryBlock</a></span>(org.apache.spark.api.java.JavaSparkContext&nbsp;sc,
                         org.apache.spark.api.java.JavaPairRDD&lt;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixIndexes.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixIndexes</a>,<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&gt;&nbsp;input,
                         <a href="../../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a>&nbsp;mcIn)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static org.apache.spark.api.java.JavaPairRDD&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">FrameRDDConverterUtils.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/utils/FrameRDDConverterUtils.html#matrixBlockToBinaryBlockLongIndex-org.apache.spark.api.java.JavaSparkContext-org.apache.spark.api.java.JavaPairRDD-org.apache.sysds.runtime.meta.DataCharacteristics-">matrixBlockToBinaryBlockLongIndex</a></span>(org.apache.spark.api.java.JavaSparkContext&nbsp;sc,
                                  org.apache.spark.api.java.JavaPairRDD&lt;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixIndexes.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixIndexes</a>,<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&gt;&nbsp;input,
                                  <a href="../../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a>&nbsp;dcIn)</code>&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><span class="typeNameLabel">SparkUtils.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/utils/SparkUtils.html#postprocessUltraSparseOutput-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-org.apache.sysds.runtime.meta.DataCharacteristics-">postprocessUltraSparseOutput</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;mo,
+                            <a href="../../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a>&nbsp;mcOut)</code>&nbsp;</td>
+</tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static org.apache.spark.api.java.JavaPairRDD&lt;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixIndexes.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixIndexes</a>,<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">RDDConverterUtils.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/utils/RDDConverterUtils.html#textCellToBinaryBlock-org.apache.spark.api.java.JavaSparkContext-org.apache.spark.api.java.JavaPairRDD-org.apache.sysds.runtime.meta.DataCharacteristics-boolean-org.apache.sysds.runtime.io.FileFormatPropertiesMM-">textCellToBinaryBlock</a></span>(org.apache.spark.api.java.JavaSparkContext&nbsp;sc,
@@ -1091,6 +1127,29 @@
 </tbody>
 </table>
 </li>
+<li class="blockList"><a name="org.apache.sysds.runtime.io">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a> in <a href="../../../../../../org/apache/sysds/runtime/io/package-summary.html">org.apache.sysds.runtime.io</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/sysds/runtime/io/package-summary.html">org.apache.sysds.runtime.io</a> with parameters of type <a href="../../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.commons.lang3.tuple.Pair&lt;<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRange.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRange</a>,<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedData.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedData</a>&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">ReaderWriterFederated.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/io/ReaderWriterFederated.html#read-java.lang.String-org.apache.sysds.runtime.meta.DataCharacteristics-">read</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;file,
+    <a href="../../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a>&nbsp;mc)</code>
+<div class="block">Read a federated map from disk, It is not initialized before it is used in:
+ 
+ org.apache.sysds.runtime.instructions.fed.InitFEDInstruction</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
 <li class="blockList"><a name="org.apache.sysds.runtime.matrix.data">
 <!--   -->
 </a>
@@ -1104,6 +1163,10 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a></code></td>
+<td class="colLast"><span class="typeNameLabel">FrameBlock.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html#getDataCharacteristics--">getDataCharacteristics</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a></code></td>
 <td class="colLast"><span class="typeNameLabel">MatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getDataCharacteristics--">getDataCharacteristics</a></span>()</code>&nbsp;</td>
 </tr>
 </tbody>
@@ -1267,29 +1330,33 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a></code></td>
-<td class="colLast"><span class="typeNameLabel">DataCharacteristics.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#setNonZeros-long-">setNonZeros</a></span>(long&nbsp;nnz)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">DataCharacteristics.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#setNoEmptyBlocks-boolean-">setNoEmptyBlocks</a></span>(boolean&nbsp;flag)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a></code></td>
+<td class="colLast"><span class="typeNameLabel">DataCharacteristics.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#setNonZeros-long-">setNonZeros</a></span>(long&nbsp;nnz)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a></code></td>
 <td class="colLast"><span class="typeNameLabel">TensorCharacteristics.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/meta/TensorCharacteristics.html#setNonZeros-long-">setNonZeros</a></span>(long&nbsp;nnz)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a></code></td>
 <td class="colLast"><span class="typeNameLabel">MatrixCharacteristics.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/meta/MatrixCharacteristics.html#setNonZeros-long-">setNonZeros</a></span>(long&nbsp;nnz)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a></code></td>
 <td class="colLast"><span class="typeNameLabel">DataCharacteristics.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#setNonZerosBound-long-">setNonZerosBound</a></span>(long&nbsp;nnz)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a></code></td>
 <td class="colLast"><span class="typeNameLabel">MatrixCharacteristics.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/meta/MatrixCharacteristics.html#setNonZerosBound-long-">setNonZerosBound</a></span>(long&nbsp;nnz)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a></code></td>
 <td class="colLast"><span class="typeNameLabel">DataCharacteristics.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html#setRows-long-">setRows</a></span>(long&nbsp;rlen)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a></code></td>
 <td class="colLast"><span class="typeNameLabel">MatrixCharacteristics.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/meta/MatrixCharacteristics.html#setRows-long-">setRows</a></span>(long&nbsp;rlen)</code>&nbsp;</td>
 </tr>
@@ -1333,6 +1400,13 @@
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a></code></td>
 <td class="colLast"><span class="typeNameLabel">MatrixCharacteristics.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/meta/MatrixCharacteristics.html#set-org.apache.sysds.runtime.meta.DataCharacteristics-">set</a></span>(<a href="../../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a>&nbsp;that)</code>&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><span class="typeNameLabel">MetaDataUtils.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/meta/MetaDataUtils.html#updateAppendDataCharacteristics-org.apache.sysds.runtime.meta.DataCharacteristics-org.apache.sysds.runtime.meta.DataCharacteristics-org.apache.sysds.runtime.meta.DataCharacteristics-boolean-">updateAppendDataCharacteristics</a></span>(<a href="../../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a>&nbsp;mc1,
+                               <a href="../../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a>&nbsp;mc2,
+                               <a href="../../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a>&nbsp;mcOut,
+                               boolean&nbsp;cbind)</code>&nbsp;</td>
+</tr>
 </tbody>
 </table>
 <table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
@@ -1537,6 +1611,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/meta/class-use/MatrixCharacteristics.html b/docs/api/java/org/apache/sysds/runtime/meta/class-use/MatrixCharacteristics.html
index 7e9d36f..ebacc43 100644
--- a/docs/api/java/org/apache/sysds/runtime/meta/class-use/MatrixCharacteristics.html
+++ b/docs/api/java/org/apache/sysds/runtime/meta/class-use/MatrixCharacteristics.html
@@ -248,6 +248,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/meta/class-use/MetaData.html b/docs/api/java/org/apache/sysds/runtime/meta/class-use/MetaData.html
index bb9b885..30ab410 100644
--- a/docs/api/java/org/apache/sysds/runtime/meta/class-use/MetaData.html
+++ b/docs/api/java/org/apache/sysds/runtime/meta/class-use/MetaData.html
@@ -160,6 +160,15 @@
 </td>
 </tr>
 <tr class="rowColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html#MatrixObject-org.apache.sysds.common.Types.ValueType-java.lang.String-org.apache.sysds.runtime.meta.MetaData-org.apache.sysds.runtime.matrix.data.MatrixBlock-">MatrixObject</a></span>(<a href="../../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
+            <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;file,
+            <a href="../../../../../../org/apache/sysds/runtime/meta/MetaData.html" title="class in org.apache.sysds.runtime.meta">MetaData</a>&nbsp;mtd,
+            <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;data)</code>
+<div class="block">Constructor that takes the value type, HDFS filename and associated metadata and a MatrixBlock
+ used for creation after serialization</div>
+</td>
+</tr>
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/TensorObject.html#TensorObject-java.lang.String-org.apache.sysds.runtime.meta.MetaData-">TensorObject</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;fname,
             <a href="../../../../../../org/apache/sysds/runtime/meta/MetaData.html" title="class in org.apache.sysds.runtime.meta">MetaData</a>&nbsp;meta)</code>&nbsp;</td>
 </tr>
@@ -316,6 +325,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/meta/class-use/MetaDataFormat.html b/docs/api/java/org/apache/sysds/runtime/meta/class-use/MetaDataFormat.html
index bc6cd39..5fb062d 100644
--- a/docs/api/java/org/apache/sysds/runtime/meta/class-use/MetaDataFormat.html
+++ b/docs/api/java/org/apache/sysds/runtime/meta/class-use/MetaDataFormat.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/class-use/BitmapEncoder.html b/docs/api/java/org/apache/sysds/runtime/meta/class-use/MetaDataUtils.html
similarity index 78%
rename from docs/api/java/org/apache/sysds/runtime/compress/class-use/BitmapEncoder.html
rename to docs/api/java/org/apache/sysds/runtime/meta/class-use/MetaDataUtils.html
index f4f340f..ea04eeb 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/class-use/BitmapEncoder.html
+++ b/docs/api/java/org/apache/sysds/runtime/meta/class-use/MetaDataUtils.html
@@ -4,7 +4,7 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.sysds.runtime.compress.BitmapEncoder (SystemDS 2.1.0-SNAPSHOT API)</title>
+<title>Uses of Class org.apache.sysds.runtime.meta.MetaDataUtils (SystemDS 2.1.0-SNAPSHOT API)</title>
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.sysds.runtime.compress.BitmapEncoder (SystemDS 2.1.0-SNAPSHOT API)";
+            parent.document.title="Uses of Class org.apache.sysds.runtime.meta.MetaDataUtils (SystemDS 2.1.0-SNAPSHOT API)";
         }
     }
     catch(err) {
@@ -33,7 +33,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/BitmapEncoder.html" title="class in org.apache.sysds.runtime.compress">Class</a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/meta/MetaDataUtils.html" title="class in org.apache.sysds.runtime.meta">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -47,8 +47,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/class-use/BitmapEncoder.html" target="_top">Frames</a></li>
-<li><a href="BitmapEncoder.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/meta/class-use/MetaDataUtils.html" target="_top">Frames</a></li>
+<li><a href="MetaDataUtils.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
 <li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -70,9 +70,9 @@
 </a></div>
 <!-- ========= END OF TOP NAVBAR ========= -->
 <div class="header">
-<h2 title="Uses of Class org.apache.sysds.runtime.compress.BitmapEncoder" class="title">Uses of Class<br>org.apache.sysds.runtime.compress.BitmapEncoder</h2>
+<h2 title="Uses of Class org.apache.sysds.runtime.meta.MetaDataUtils" class="title">Uses of Class<br>org.apache.sysds.runtime.meta.MetaDataUtils</h2>
 </div>
-<div class="classUseContainer">No usage of org.apache.sysds.runtime.compress.BitmapEncoder</div>
+<div class="classUseContainer">No usage of org.apache.sysds.runtime.meta.MetaDataUtils</div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
 <!--   -->
@@ -84,7 +84,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/BitmapEncoder.html" title="class in org.apache.sysds.runtime.compress">Class</a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/meta/MetaDataUtils.html" title="class in org.apache.sysds.runtime.meta">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -98,8 +98,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/class-use/BitmapEncoder.html" target="_top">Frames</a></li>
-<li><a href="BitmapEncoder.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/meta/class-use/MetaDataUtils.html" target="_top">Frames</a></li>
+<li><a href="MetaDataUtils.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
 <li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/meta/class-use/TensorCharacteristics.html b/docs/api/java/org/apache/sysds/runtime/meta/class-use/TensorCharacteristics.html
index 9454dc9..ab0602d 100644
--- a/docs/api/java/org/apache/sysds/runtime/meta/class-use/TensorCharacteristics.html
+++ b/docs/api/java/org/apache/sysds/runtime/meta/class-use/TensorCharacteristics.html
@@ -180,6 +180,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/meta/package-frame.html b/docs/api/java/org/apache/sysds/runtime/meta/package-frame.html
index e165920..77c1c48 100644
--- a/docs/api/java/org/apache/sysds/runtime/meta/package-frame.html
+++ b/docs/api/java/org/apache/sysds/runtime/meta/package-frame.html
@@ -17,6 +17,7 @@
 <li><a href="MatrixCharacteristics.html" title="class in org.apache.sysds.runtime.meta" target="classFrame">MatrixCharacteristics</a></li>
 <li><a href="MetaData.html" title="class in org.apache.sysds.runtime.meta" target="classFrame">MetaData</a></li>
 <li><a href="MetaDataFormat.html" title="class in org.apache.sysds.runtime.meta" target="classFrame">MetaDataFormat</a></li>
+<li><a href="MetaDataUtils.html" title="class in org.apache.sysds.runtime.meta" target="classFrame">MetaDataUtils</a></li>
 <li><a href="TensorCharacteristics.html" title="class in org.apache.sysds.runtime.meta" target="classFrame">TensorCharacteristics</a></li>
 </ul>
 </div>
diff --git a/docs/api/java/org/apache/sysds/runtime/meta/package-summary.html b/docs/api/java/org/apache/sysds/runtime/meta/package-summary.html
index 224b917..6baa022 100644
--- a/docs/api/java/org/apache/sysds/runtime/meta/package-summary.html
+++ b/docs/api/java/org/apache/sysds/runtime/meta/package-summary.html
@@ -101,6 +101,10 @@
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/sysds/runtime/meta/MetaDataUtils.html" title="class in org.apache.sysds.runtime.meta">MetaDataUtils</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/sysds/runtime/meta/TensorCharacteristics.html" title="class in org.apache.sysds.runtime.meta">TensorCharacteristics</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
@@ -156,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/meta/package-tree.html b/docs/api/java/org/apache/sysds/runtime/meta/package-tree.html
index d3f559b..7452071 100644
--- a/docs/api/java/org/apache/sysds/runtime/meta/package-tree.html
+++ b/docs/api/java/org/apache/sysds/runtime/meta/package-tree.html
@@ -92,6 +92,7 @@
 <li type="circle">org.apache.sysds.runtime.meta.<a href="../../../../../org/apache/sysds/runtime/meta/MetaDataFormat.html" title="class in org.apache.sysds.runtime.meta"><span class="typeNameLink">MetaDataFormat</span></a></li>
 </ul>
 </li>
+<li type="circle">org.apache.sysds.runtime.meta.<a href="../../../../../org/apache/sysds/runtime/meta/MetaDataUtils.html" title="class in org.apache.sysds.runtime.meta"><span class="typeNameLink">MetaDataUtils</span></a></li>
 </ul>
 </li>
 </ul>
@@ -143,6 +144,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/meta/package-use.html b/docs/api/java/org/apache/sysds/runtime/meta/package-use.html
index 1322260..4098147 100644
--- a/docs/api/java/org/apache/sysds/runtime/meta/package-use.html
+++ b/docs/api/java/org/apache/sysds/runtime/meta/package-use.html
@@ -474,6 +474,9 @@
 </tr>
 <tbody>
 <tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/sysds/runtime/meta/class-use/DataCharacteristics.html#org.apache.sysds.runtime.io">DataCharacteristics</a>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../org/apache/sysds/runtime/meta/class-use/MetaData.html#org.apache.sysds.runtime.io">MetaData</a>
 <div class="block">Class to store metadata associated with a file (e.g., a matrix) on disk.</div>
 </td>
@@ -583,6 +586,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/package-summary.html b/docs/api/java/org/apache/sysds/runtime/package-summary.html
index ad39577..be84210 100644
--- a/docs/api/java/org/apache/sysds/runtime/package-summary.html
+++ b/docs/api/java/org/apache/sysds/runtime/package-summary.html
@@ -150,6 +150,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/package-tree.html b/docs/api/java/org/apache/sysds/runtime/package-tree.html
index a19e6b8..3917b0e 100644
--- a/docs/api/java/org/apache/sysds/runtime/package-tree.html
+++ b/docs/api/java/org/apache/sysds/runtime/package-tree.html
@@ -154,6 +154,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/package-use.html b/docs/api/java/org/apache/sysds/runtime/package-use.html
index ae3d3e9..7820ce9 100644
--- a/docs/api/java/org/apache/sysds/runtime/package-use.html
+++ b/docs/api/java/org/apache/sysds/runtime/package-use.html
@@ -412,6 +412,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/privacy/CheckedConstraintsLog.html b/docs/api/java/org/apache/sysds/runtime/privacy/CheckedConstraintsLog.html
index e05e822..f9f8072 100644
--- a/docs/api/java/org/apache/sysds/runtime/privacy/CheckedConstraintsLog.html
+++ b/docs/api/java/org/apache/sysds/runtime/privacy/CheckedConstraintsLog.html
@@ -357,6 +357,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/privacy/DMLPrivacyException.html b/docs/api/java/org/apache/sysds/runtime/privacy/DMLPrivacyException.html
index 7e4ddfb..505201a 100644
--- a/docs/api/java/org/apache/sysds/runtime/privacy/DMLPrivacyException.html
+++ b/docs/api/java/org/apache/sysds/runtime/privacy/DMLPrivacyException.html
@@ -296,6 +296,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/privacy/PrivacyConstraint.PrivacyLevel.html b/docs/api/java/org/apache/sysds/runtime/privacy/PrivacyConstraint.PrivacyLevel.html
index be787b5..3c144d9 100644
--- a/docs/api/java/org/apache/sysds/runtime/privacy/PrivacyConstraint.PrivacyLevel.html
+++ b/docs/api/java/org/apache/sysds/runtime/privacy/PrivacyConstraint.PrivacyLevel.html
@@ -353,6 +353,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/privacy/PrivacyConstraint.html b/docs/api/java/org/apache/sysds/runtime/privacy/PrivacyConstraint.html
index 8c250a8..bc50ebc 100644
--- a/docs/api/java/org/apache/sysds/runtime/privacy/PrivacyConstraint.html
+++ b/docs/api/java/org/apache/sysds/runtime/privacy/PrivacyConstraint.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -192,54 +192,62 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html#equals-java.lang.Object-">equals</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;other)</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html" title="interface in org.apache.sysds.runtime.privacy.finegrained">FineGrainedPrivacy</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html#getFineGrainedPrivacy--">getFineGrainedPrivacy</a></span>()</code>
 <div class="block">Get fine-grained privacy instance.</div>
 </td>
 </tr>
-<tr id="i1" class="rowColor">
+<tr id="i2" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.PrivacyLevel.html" title="enum in org.apache.sysds.runtime.privacy">PrivacyConstraint.PrivacyLevel</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html#getPrivacyLevel--">getPrivacyLevel</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i2" class="altColor">
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html#hasConstraints--">hasConstraints</a></span>()</code>
 <div class="block">Return true if any constraints have level Private or PrivateAggregate.</div>
 </td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html#hasFineGrainedConstraints--">hasFineGrainedConstraints</a></span>()</code>
 <div class="block">Checks if fine-grained privacy is set for this privacy constraint.</div>
 </td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html#hasPrivateElements--">hasPrivateElements</a></span>()</code>
 <div class="block">Return true if any of the elements has privacy level private</div>
 </td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html#readExternal-java.io.ObjectInput-">readExternal</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectInput.html?is-external=true" title="class or interface in java.io">ObjectInput</a>&nbsp;is)</code>&nbsp;</td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html#setFineGrainedPrivacyConstraints-org.apache.sysds.runtime.privacy.finegrained.FineGrainedPrivacy-">setFineGrainedPrivacyConstraints</a></span>(<a href="../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html" title="interface in org.apache.sysds.runtime.privacy.finegrained">FineGrainedPrivacy</a>&nbsp;fineGrainedPrivacy)</code>
 <div class="block">Sets fine-grained privacy for the privacy constraint.</div>
 </td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html#setPrivacyLevel-org.apache.sysds.runtime.privacy.PrivacyConstraint.PrivacyLevel-">setPrivacyLevel</a></span>(<a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.PrivacyLevel.html" title="enum in org.apache.sysds.runtime.privacy">PrivacyConstraint.PrivacyLevel</a>&nbsp;privacyLevel)</code>&nbsp;</td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code>org.apache.wink.json4j.JSONObject</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html#toJson-org.apache.wink.json4j.JSONObject-">toJson</a></span>(org.apache.wink.json4j.JSONObject&nbsp;json)</code>
 <div class="block">Get privacy constraints and put them into JSON object.</div>
 </td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i10" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html#toString--">toString</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html#writeExternal-java.io.ObjectOutput-">writeExternal</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectOutput.html?is-external=true" title="class or interface in java.io">ObjectOutput</a>&nbsp;objectOutput)</code>&nbsp;</td>
 </tr>
@@ -249,7 +257,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
-<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -441,7 +449,7 @@
 <a name="writeExternal-java.io.ObjectOutput-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>writeExternal</h4>
 <pre>public&nbsp;void&nbsp;writeExternal(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectOutput.html?is-external=true" title="class or interface in java.io">ObjectOutput</a>&nbsp;objectOutput)
@@ -454,6 +462,32 @@
 </dl>
 </li>
 </ul>
+<a name="equals-java.lang.Object-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>equals</h4>
+<pre>public&nbsp;boolean&nbsp;equals(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;other)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="toString--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>toString</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>
@@ -523,6 +557,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/privacy/PrivacyMonitor.html b/docs/api/java/org/apache/sysds/runtime/privacy/PrivacyMonitor.html
index ce93578..7a5f633 100644
--- a/docs/api/java/org/apache/sysds/runtime/privacy/PrivacyMonitor.html
+++ b/docs/api/java/org/apache/sysds/runtime/privacy/PrivacyMonitor.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9};
+var methods = {"i0":9,"i1":9,"i2":9,"i3":9};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -161,12 +161,6 @@
 </td>
 </tr>
 <tr id="i3" class="rowColor">
-<td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/runtime/instructions/cp/Data.html" title="class in org.apache.sysds.runtime.instructions.cp">Data</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyMonitor.html#handlePrivacyAllowAggregation-org.apache.sysds.runtime.instructions.cp.Data-">handlePrivacyAllowAggregation</a></span>(<a href="../../../../../org/apache/sysds/runtime/instructions/cp/Data.html" title="class in org.apache.sysds.runtime.instructions.cp">Data</a>&nbsp;dataObject)</code>
-<div class="block">Throws DMLPrivacyException if privacy constraint of data object has level privacy.</div>
-</td>
-</tr>
-<tr id="i4" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyMonitor.html#setCheckPrivacy-boolean-">setCheckPrivacy</a></span>(boolean&nbsp;checkPrivacyParam)</code>&nbsp;</td>
 </tr>
@@ -239,11 +233,12 @@
 <a name="handlePrivacy-org.apache.sysds.runtime.instructions.cp.Data-">
 <!--   -->
 </a>
-<ul class="blockList">
+<ul class="blockListLast">
 <li class="blockList">
 <h4>handlePrivacy</h4>
 <pre>public static&nbsp;<a href="../../../../../org/apache/sysds/runtime/instructions/cp/Data.html" title="class in org.apache.sysds.runtime.instructions.cp">Data</a>&nbsp;handlePrivacy(<a href="../../../../../org/apache/sysds/runtime/instructions/cp/Data.html" title="class in org.apache.sysds.runtime.instructions.cp">Data</a>&nbsp;dataObject)</pre>
-<div class="block">Throws DMLPrivacyException if privacy constraint is set to private or private aggregation.</div>
+<div class="block">Throws DMLPrivacyException if privacy constraint is set to private or private aggregation.
+ The checked constraints log will be updated before throwing an exception.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>dataObject</code> - input data object</dd>
@@ -252,22 +247,6 @@
 </dl>
 </li>
 </ul>
-<a name="handlePrivacyAllowAggregation-org.apache.sysds.runtime.instructions.cp.Data-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>handlePrivacyAllowAggregation</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/sysds/runtime/instructions/cp/Data.html" title="class in org.apache.sysds.runtime.instructions.cp">Data</a>&nbsp;handlePrivacyAllowAggregation(<a href="../../../../../org/apache/sysds/runtime/instructions/cp/Data.html" title="class in org.apache.sysds.runtime.instructions.cp">Data</a>&nbsp;dataObject)</pre>
-<div class="block">Throws DMLPrivacyException if privacy constraint of data object has level privacy.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>dataObject</code> - input matrix object</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>data object or data object with privacy constraint removed in case the privacy level was none.</dd>
-</dl>
-</li>
-</ul>
 </li>
 </ul>
 </li>
@@ -337,6 +316,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/privacy/PrivacyUtils.html b/docs/api/java/org/apache/sysds/runtime/privacy/PrivacyUtils.html
index 57fa85f..dec5b43 100644
--- a/docs/api/java/org/apache/sysds/runtime/privacy/PrivacyUtils.html
+++ b/docs/api/java/org/apache/sysds/runtime/privacy/PrivacyUtils.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9};
+var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -147,10 +147,47 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.PrivacyLevel.html" title="enum in org.apache.sysds.runtime.privacy">PrivacyConstraint.PrivacyLevel</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyUtils.html#getGeneralPrivacyLevel-org.apache.sysds.runtime.privacy.PrivacyConstraint-">getGeneralPrivacyLevel</a></span>(<a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>&nbsp;privacyConstraint)</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.PrivacyLevel.html" title="enum in org.apache.sysds.runtime.privacy">PrivacyConstraint.PrivacyLevel</a>[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyUtils.html#getGeneralPrivacyLevels-org.apache.sysds.runtime.privacy.PrivacyConstraint:A-">getGeneralPrivacyLevels</a></span>(<a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>[]&nbsp;privacyConstraints)</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>static boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyUtils.html#privacyConstraintActivated-org.apache.sysds.runtime.privacy.PrivacyConstraint-">privacyConstraintActivated</a></span>(<a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>&nbsp;constraint)</code>
+<div class="block">Returns true if the privacy constraint is not null and the privacy level is set to Private or PrivateAggregation.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>static boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyUtils.html#privacyConstraintFineGrainedActivated-org.apache.sysds.runtime.privacy.PrivacyConstraint-">privacyConstraintFineGrainedActivated</a></span>(<a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>&nbsp;constraint)</code>
+<div class="block">Returns true if the privacy constraint is not null and it has fine-grained constraints.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyUtils.html#putFineGrainedConstraintsFromString-org.apache.sysds.runtime.privacy.finegrained.FineGrainedPrivacy-java.lang.String-">putFineGrainedConstraintsFromString</a></span>(<a href="../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html" title="interface in org.apache.sysds.runtime.privacy.finegrained">FineGrainedPrivacy</a>&nbsp;fineGrainedPrivacy,
+                                   <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;fgPrivacyValue)</code>&nbsp;</td>
+</tr>
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyUtils.html#setFineGrainedPrivacy-org.apache.sysds.runtime.privacy.PrivacyConstraint-org.apache.sysds.parser.Expression-">setFineGrainedPrivacy</a></span>(<a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>&nbsp;privacyConstraint,
                      <a href="../../../../../org/apache/sysds/parser/Expression.html" title="class in org.apache.sysds.parser">Expression</a>&nbsp;eFineGrainedPrivacy)</code>&nbsp;</td>
 </tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>static boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyUtils.html#someConstraintSetBinary-org.apache.sysds.runtime.privacy.PrivacyConstraint...-">someConstraintSetBinary</a></span>(<a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>...&nbsp;privacyConstraints)</code>
+<div class="block">Returns true if some constraints are set for either of two input privacy constraints.</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>static boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyUtils.html#someConstraintSetUnary-org.apache.sysds.runtime.privacy.PrivacyConstraint-">someConstraintSetUnary</a></span>(<a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>&nbsp;privacyConstraint)</code>
+<div class="block">Returns true if the constraint is set for the input privacy constraint.</div>
+</td>
+</tr>
 </table>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -190,16 +227,115 @@
 <!--   -->
 </a>
 <h3>Method Detail</h3>
+<a name="privacyConstraintActivated-org.apache.sysds.runtime.privacy.PrivacyConstraint-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>privacyConstraintActivated</h4>
+<pre>public static&nbsp;boolean&nbsp;privacyConstraintActivated(<a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>&nbsp;constraint)</pre>
+<div class="block">Returns true if the privacy constraint is not null and the privacy level is set to Private or PrivateAggregation.
+ This only works for the general privacy levels, the fine-grained constraints are not checked!</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>constraint</code> - to check</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if the privacy constraint is not null and activated</dd>
+</dl>
+</li>
+</ul>
+<a name="privacyConstraintFineGrainedActivated-org.apache.sysds.runtime.privacy.PrivacyConstraint-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>privacyConstraintFineGrainedActivated</h4>
+<pre>public static&nbsp;boolean&nbsp;privacyConstraintFineGrainedActivated(<a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>&nbsp;constraint)</pre>
+<div class="block">Returns true if the privacy constraint is not null and it has fine-grained constraints.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>constraint</code> - to check</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if the privacy constraint is not null and has fine-grained constraints</dd>
+</dl>
+</li>
+</ul>
+<a name="someConstraintSetBinary-org.apache.sysds.runtime.privacy.PrivacyConstraint...-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>someConstraintSetBinary</h4>
+<pre>public static&nbsp;boolean&nbsp;someConstraintSetBinary(<a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>...&nbsp;privacyConstraints)</pre>
+<div class="block">Returns true if some constraints are set for either of two input privacy constraints.
+ This only checks first two elements in privacy constraint array.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>privacyConstraints</code> - input privacy constraints</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if one of the two constraints are activated</dd>
+</dl>
+</li>
+</ul>
+<a name="someConstraintSetUnary-org.apache.sysds.runtime.privacy.PrivacyConstraint-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>someConstraintSetUnary</h4>
+<pre>public static&nbsp;boolean&nbsp;someConstraintSetUnary(<a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>&nbsp;privacyConstraint)</pre>
+<div class="block">Returns true if the constraint is set for the input privacy constraint.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>privacyConstraint</code> - input to check</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if any constraint is activated</dd>
+</dl>
+</li>
+</ul>
+<a name="getGeneralPrivacyLevel-org.apache.sysds.runtime.privacy.PrivacyConstraint-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getGeneralPrivacyLevel</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.PrivacyLevel.html" title="enum in org.apache.sysds.runtime.privacy">PrivacyConstraint.PrivacyLevel</a>&nbsp;getGeneralPrivacyLevel(<a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>&nbsp;privacyConstraint)</pre>
+</li>
+</ul>
+<a name="getGeneralPrivacyLevels-org.apache.sysds.runtime.privacy.PrivacyConstraint:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getGeneralPrivacyLevels</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.PrivacyLevel.html" title="enum in org.apache.sysds.runtime.privacy">PrivacyConstraint.PrivacyLevel</a>[]&nbsp;getGeneralPrivacyLevels(<a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>[]&nbsp;privacyConstraints)</pre>
+</li>
+</ul>
 <a name="setFineGrainedPrivacy-org.apache.sysds.runtime.privacy.PrivacyConstraint-org.apache.sysds.parser.Expression-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>setFineGrainedPrivacy</h4>
 <pre>public static&nbsp;void&nbsp;setFineGrainedPrivacy(<a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>&nbsp;privacyConstraint,
                                          <a href="../../../../../org/apache/sysds/parser/Expression.html" title="class in org.apache.sysds.parser">Expression</a>&nbsp;eFineGrainedPrivacy)</pre>
 </li>
 </ul>
+<a name="putFineGrainedConstraintsFromString-org.apache.sysds.runtime.privacy.finegrained.FineGrainedPrivacy-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>putFineGrainedConstraintsFromString</h4>
+<pre>public static&nbsp;void&nbsp;putFineGrainedConstraintsFromString(<a href="../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html" title="interface in org.apache.sysds.runtime.privacy.finegrained">FineGrainedPrivacy</a>&nbsp;fineGrainedPrivacy,
+                                                       <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;fgPrivacyValue)
+                                                throws org.apache.wink.json4j.JSONException</pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code>org.apache.wink.json4j.JSONException</code></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>
@@ -269,6 +405,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/privacy/class-use/CheckedConstraintsLog.html b/docs/api/java/org/apache/sysds/runtime/privacy/class-use/CheckedConstraintsLog.html
index 410f7f7..47fcc50 100644
--- a/docs/api/java/org/apache/sysds/runtime/privacy/class-use/CheckedConstraintsLog.html
+++ b/docs/api/java/org/apache/sysds/runtime/privacy/class-use/CheckedConstraintsLog.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/privacy/class-use/DMLPrivacyException.html b/docs/api/java/org/apache/sysds/runtime/privacy/class-use/DMLPrivacyException.html
index 1528a0f..ac66bdc 100644
--- a/docs/api/java/org/apache/sysds/runtime/privacy/class-use/DMLPrivacyException.html
+++ b/docs/api/java/org/apache/sysds/runtime/privacy/class-use/DMLPrivacyException.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/privacy/class-use/PrivacyConstraint.PrivacyLevel.html b/docs/api/java/org/apache/sysds/runtime/privacy/class-use/PrivacyConstraint.PrivacyLevel.html
index 5a93270..fb3839c 100644
--- a/docs/api/java/org/apache/sysds/runtime/privacy/class-use/PrivacyConstraint.PrivacyLevel.html
+++ b/docs/api/java/org/apache/sysds/runtime/privacy/class-use/PrivacyConstraint.PrivacyLevel.html
@@ -157,6 +157,14 @@
 </tr>
 <tbody>
 <tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.PrivacyLevel.html" title="enum in org.apache.sysds.runtime.privacy">PrivacyConstraint.PrivacyLevel</a></code></td>
+<td class="colLast"><span class="typeNameLabel">PrivacyUtils.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyUtils.html#getGeneralPrivacyLevel-org.apache.sysds.runtime.privacy.PrivacyConstraint-">getGeneralPrivacyLevel</a></span>(<a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>&nbsp;privacyConstraint)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.PrivacyLevel.html" title="enum in org.apache.sysds.runtime.privacy">PrivacyConstraint.PrivacyLevel</a>[]</code></td>
+<td class="colLast"><span class="typeNameLabel">PrivacyUtils.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyUtils.html#getGeneralPrivacyLevels-org.apache.sysds.runtime.privacy.PrivacyConstraint:A-">getGeneralPrivacyLevels</a></span>(<a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>[]&nbsp;privacyConstraints)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.PrivacyLevel.html" title="enum in org.apache.sysds.runtime.privacy">PrivacyConstraint.PrivacyLevel</a></code></td>
 <td class="colLast"><span class="typeNameLabel">PrivacyConstraint.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html#getPrivacyLevel--">getPrivacyLevel</a></span>()</code>&nbsp;</td>
 </tr>
@@ -522,6 +530,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/privacy/class-use/PrivacyConstraint.html b/docs/api/java/org/apache/sysds/runtime/privacy/class-use/PrivacyConstraint.html
index e2199ee..e4d5940 100644
--- a/docs/api/java/org/apache/sysds/runtime/privacy/class-use/PrivacyConstraint.html
+++ b/docs/api/java/org/apache/sysds/runtime/privacy/class-use/PrivacyConstraint.html
@@ -296,10 +296,42 @@
 </tr>
 <tbody>
 <tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.PrivacyLevel.html" title="enum in org.apache.sysds.runtime.privacy">PrivacyConstraint.PrivacyLevel</a></code></td>
+<td class="colLast"><span class="typeNameLabel">PrivacyUtils.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyUtils.html#getGeneralPrivacyLevel-org.apache.sysds.runtime.privacy.PrivacyConstraint-">getGeneralPrivacyLevel</a></span>(<a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>&nbsp;privacyConstraint)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.PrivacyLevel.html" title="enum in org.apache.sysds.runtime.privacy">PrivacyConstraint.PrivacyLevel</a>[]</code></td>
+<td class="colLast"><span class="typeNameLabel">PrivacyUtils.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyUtils.html#getGeneralPrivacyLevels-org.apache.sysds.runtime.privacy.PrivacyConstraint:A-">getGeneralPrivacyLevels</a></span>(<a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>[]&nbsp;privacyConstraints)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static boolean</code></td>
+<td class="colLast"><span class="typeNameLabel">PrivacyUtils.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyUtils.html#privacyConstraintActivated-org.apache.sysds.runtime.privacy.PrivacyConstraint-">privacyConstraintActivated</a></span>(<a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>&nbsp;constraint)</code>
+<div class="block">Returns true if the privacy constraint is not null and the privacy level is set to Private or PrivateAggregation.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static boolean</code></td>
+<td class="colLast"><span class="typeNameLabel">PrivacyUtils.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyUtils.html#privacyConstraintFineGrainedActivated-org.apache.sysds.runtime.privacy.PrivacyConstraint-">privacyConstraintFineGrainedActivated</a></span>(<a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>&nbsp;constraint)</code>
+<div class="block">Returns true if the privacy constraint is not null and it has fine-grained constraints.</div>
+</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">PrivacyUtils.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyUtils.html#setFineGrainedPrivacy-org.apache.sysds.runtime.privacy.PrivacyConstraint-org.apache.sysds.parser.Expression-">setFineGrainedPrivacy</a></span>(<a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>&nbsp;privacyConstraint,
                      <a href="../../../../../../org/apache/sysds/parser/Expression.html" title="class in org.apache.sysds.parser">Expression</a>&nbsp;eFineGrainedPrivacy)</code>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static boolean</code></td>
+<td class="colLast"><span class="typeNameLabel">PrivacyUtils.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyUtils.html#someConstraintSetBinary-org.apache.sysds.runtime.privacy.PrivacyConstraint...-">someConstraintSetBinary</a></span>(<a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>...&nbsp;privacyConstraints)</code>
+<div class="block">Returns true if some constraints are set for either of two input privacy constraints.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static boolean</code></td>
+<td class="colLast"><span class="typeNameLabel">PrivacyUtils.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyUtils.html#someConstraintSetUnary-org.apache.sysds.runtime.privacy.PrivacyConstraint-">someConstraintSetUnary</a></span>(<a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>&nbsp;privacyConstraint)</code>
+<div class="block">Returns true if the constraint is set for the input privacy constraint.</div>
+</td>
+</tr>
 </tbody>
 </table>
 </li>
@@ -336,8 +368,26 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ListAppendPropagator.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/ListAppendPropagator.html#propagate--">propagate</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a></code></td>
+<td class="colLast"><span class="typeNameLabel">AppendPropagator.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/AppendPropagator.html#propagate--">propagate</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>[]</code></td>
+<td class="colLast"><span class="typeNameLabel">PropagatorMultiReturn.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/PropagatorMultiReturn.html#propagate--">propagate</a></span>()</code>
+<div class="block">Activates the propagation and returns the output privacy constraints.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a></code></td>
 <td class="colLast"><span class="typeNameLabel">MatrixMultiplicationPropagator.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/MatrixMultiplicationPropagator.html#propagate--">propagate</a></span>()</code>&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>[]</code></td>
+<td class="colLast"><span class="typeNameLabel">ListRemovePropagator.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/ListRemovePropagator.html#propagate--">propagate</a></span>()</code>&nbsp;</td>
+</tr>
 </tbody>
 </table>
 <table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
@@ -363,6 +413,13 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">AppendPropagator.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/AppendPropagator.html#setFields-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.privacy.PrivacyConstraint-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setFields</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;input1,
+         <a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>&nbsp;privacyConstraint1,
+         <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;input2,
+         <a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>&nbsp;privacyConstraint2)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">MatrixMultiplicationPropagator.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/MatrixMultiplicationPropagator.html#setFields-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.privacy.PrivacyConstraint-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setFields</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;input1,
          <a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>&nbsp;privacyConstraint1,
          <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;input2,
@@ -379,6 +436,30 @@
 </tr>
 <tbody>
 <tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/AppendPropagator.html#AppendPropagator-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.privacy.PrivacyConstraint-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.privacy.PrivacyConstraint-">AppendPropagator</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;input1,
+                <a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>&nbsp;privacyConstraint1,
+                <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;input2,
+                <a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>&nbsp;privacyConstraint2)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/CBindPropagator.html#CBindPropagator-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.privacy.PrivacyConstraint-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.privacy.PrivacyConstraint-">CBindPropagator</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;input1,
+               <a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>&nbsp;privacyConstraint1,
+               <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;input2,
+               <a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>&nbsp;privacyConstraint2)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/ListAppendPropagator.html#ListAppendPropagator-org.apache.sysds.runtime.instructions.cp.ListObject-org.apache.sysds.runtime.privacy.PrivacyConstraint-org.apache.sysds.runtime.instructions.cp.ListObject-org.apache.sysds.runtime.privacy.PrivacyConstraint-">ListAppendPropagator</a></span>(<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ListObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ListObject</a>&nbsp;input1,
+                    <a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>&nbsp;privacyConstraint1,
+                    <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ListObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ListObject</a>&nbsp;input2,
+                    <a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>&nbsp;privacyConstraint2)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/ListRemovePropagator.html#ListRemovePropagator-org.apache.sysds.runtime.instructions.cp.ListObject-org.apache.sysds.runtime.privacy.PrivacyConstraint-org.apache.sysds.runtime.instructions.cp.ScalarObject-org.apache.sysds.runtime.privacy.PrivacyConstraint-">ListRemovePropagator</a></span>(<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ListObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ListObject</a>&nbsp;list,
+                    <a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>&nbsp;listPrivacyConstraint,
+                    <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&nbsp;removePosition,
+                    <a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>&nbsp;removePositionPrivacyConstraint)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/MatrixMultiplicationPropagator.html#MatrixMultiplicationPropagator-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.privacy.PrivacyConstraint-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.privacy.PrivacyConstraint-">MatrixMultiplicationPropagator</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;input1,
                               <a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>&nbsp;privacyConstraint1,
                               <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;input2,
@@ -398,6 +479,12 @@
                                           <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;input2,
                                           <a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>&nbsp;privacyConstraint2)</code>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/RBindPropagator.html#RBindPropagator-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.privacy.PrivacyConstraint-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.privacy.PrivacyConstraint-">RBindPropagator</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;input1,
+               <a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>&nbsp;privacyConstraint1,
+               <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;input2,
+               <a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>&nbsp;privacyConstraint2)</code>&nbsp;</td>
+</tr>
 </tbody>
 </table>
 </li>
@@ -520,6 +607,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/privacy/class-use/PrivacyMonitor.html b/docs/api/java/org/apache/sysds/runtime/privacy/class-use/PrivacyMonitor.html
index a65a1c4..3003831 100644
--- a/docs/api/java/org/apache/sysds/runtime/privacy/class-use/PrivacyMonitor.html
+++ b/docs/api/java/org/apache/sysds/runtime/privacy/class-use/PrivacyMonitor.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/privacy/class-use/PrivacyUtils.html b/docs/api/java/org/apache/sysds/runtime/privacy/class-use/PrivacyUtils.html
index 8451be1..80f46c0 100644
--- a/docs/api/java/org/apache/sysds/runtime/privacy/class-use/PrivacyUtils.html
+++ b/docs/api/java/org/apache/sysds/runtime/privacy/class-use/PrivacyUtils.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/privacy/finegrained/DataRange.html b/docs/api/java/org/apache/sysds/runtime/privacy/finegrained/DataRange.html
index 682c497..1709f19 100644
--- a/docs/api/java/org/apache/sysds/runtime/privacy/finegrained/DataRange.html
+++ b/docs/api/java/org/apache/sysds/runtime/privacy/finegrained/DataRange.html
@@ -367,6 +367,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html b/docs/api/java/org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html
index bc96425..fec3f4e 100644
--- a/docs/api/java/org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html
+++ b/docs/api/java/org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html
@@ -456,6 +456,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyList.html b/docs/api/java/org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyList.html
index 3b9dd67..6fdf28e 100644
--- a/docs/api/java/org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyList.html
+++ b/docs/api/java/org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyList.html
@@ -589,6 +589,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyMap.html b/docs/api/java/org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyMap.html
index 4142fba..fc5c95e 100644
--- a/docs/api/java/org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyMap.html
+++ b/docs/api/java/org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyMap.html
@@ -555,6 +555,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/privacy/finegrained/class-use/DataRange.html b/docs/api/java/org/apache/sysds/runtime/privacy/finegrained/class-use/DataRange.html
index 14c66ec..988efd6 100644
--- a/docs/api/java/org/apache/sysds/runtime/privacy/finegrained/class-use/DataRange.html
+++ b/docs/api/java/org/apache/sysds/runtime/privacy/finegrained/class-use/DataRange.html
@@ -267,6 +267,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/privacy/finegrained/class-use/FineGrainedPrivacy.html b/docs/api/java/org/apache/sysds/runtime/privacy/finegrained/class-use/FineGrainedPrivacy.html
index 11711e6..8d036d5 100644
--- a/docs/api/java/org/apache/sysds/runtime/privacy/finegrained/class-use/FineGrainedPrivacy.html
+++ b/docs/api/java/org/apache/sysds/runtime/privacy/finegrained/class-use/FineGrainedPrivacy.html
@@ -122,6 +122,11 @@
 </tr>
 <tbody>
 <tr class="altColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><span class="typeNameLabel">PrivacyUtils.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/privacy/PrivacyUtils.html#putFineGrainedConstraintsFromString-org.apache.sysds.runtime.privacy.finegrained.FineGrainedPrivacy-java.lang.String-">putFineGrainedConstraintsFromString</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html" title="interface in org.apache.sysds.runtime.privacy.finegrained">FineGrainedPrivacy</a>&nbsp;fineGrainedPrivacy,
+                                   <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;fgPrivacyValue)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">PrivacyConstraint.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html#setFineGrainedPrivacyConstraints-org.apache.sysds.runtime.privacy.finegrained.FineGrainedPrivacy-">setFineGrainedPrivacyConstraints</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html" title="interface in org.apache.sysds.runtime.privacy.finegrained">FineGrainedPrivacy</a>&nbsp;fineGrainedPrivacy)</code>
 <div class="block">Sets fine-grained privacy for the privacy constraint.</div>
@@ -223,6 +228,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/privacy/finegrained/class-use/FineGrainedPrivacyList.html b/docs/api/java/org/apache/sysds/runtime/privacy/finegrained/class-use/FineGrainedPrivacyList.html
index e384402..b04795a 100644
--- a/docs/api/java/org/apache/sysds/runtime/privacy/finegrained/class-use/FineGrainedPrivacyList.html
+++ b/docs/api/java/org/apache/sysds/runtime/privacy/finegrained/class-use/FineGrainedPrivacyList.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/privacy/finegrained/class-use/FineGrainedPrivacyMap.html b/docs/api/java/org/apache/sysds/runtime/privacy/finegrained/class-use/FineGrainedPrivacyMap.html
index 6225a29..2e65109 100644
--- a/docs/api/java/org/apache/sysds/runtime/privacy/finegrained/class-use/FineGrainedPrivacyMap.html
+++ b/docs/api/java/org/apache/sysds/runtime/privacy/finegrained/class-use/FineGrainedPrivacyMap.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/privacy/finegrained/package-summary.html b/docs/api/java/org/apache/sysds/runtime/privacy/finegrained/package-summary.html
index 4b5add2..c64ef8f 100644
--- a/docs/api/java/org/apache/sysds/runtime/privacy/finegrained/package-summary.html
+++ b/docs/api/java/org/apache/sysds/runtime/privacy/finegrained/package-summary.html
@@ -169,6 +169,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/privacy/finegrained/package-tree.html b/docs/api/java/org/apache/sysds/runtime/privacy/finegrained/package-tree.html
index 49eab37..3fe5e0e 100644
--- a/docs/api/java/org/apache/sysds/runtime/privacy/finegrained/package-tree.html
+++ b/docs/api/java/org/apache/sysds/runtime/privacy/finegrained/package-tree.html
@@ -139,6 +139,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/privacy/finegrained/package-use.html b/docs/api/java/org/apache/sysds/runtime/privacy/finegrained/package-use.html
index ffe1768..fefa201 100644
--- a/docs/api/java/org/apache/sysds/runtime/privacy/finegrained/package-use.html
+++ b/docs/api/java/org/apache/sysds/runtime/privacy/finegrained/package-use.html
@@ -177,6 +177,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/privacy/package-summary.html b/docs/api/java/org/apache/sysds/runtime/privacy/package-summary.html
index 805fe2a..0f9d99c 100644
--- a/docs/api/java/org/apache/sysds/runtime/privacy/package-summary.html
+++ b/docs/api/java/org/apache/sysds/runtime/privacy/package-summary.html
@@ -187,6 +187,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/privacy/package-tree.html b/docs/api/java/org/apache/sysds/runtime/privacy/package-tree.html
index 13a23fb..cb1fe39 100644
--- a/docs/api/java/org/apache/sysds/runtime/privacy/package-tree.html
+++ b/docs/api/java/org/apache/sysds/runtime/privacy/package-tree.html
@@ -169,6 +169,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/privacy/package-use.html b/docs/api/java/org/apache/sysds/runtime/privacy/package-use.html
index febd584..5ca9569 100644
--- a/docs/api/java/org/apache/sysds/runtime/privacy/package-use.html
+++ b/docs/api/java/org/apache/sysds/runtime/privacy/package-use.html
@@ -357,6 +357,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/privacy/propagation/AppendPropagator.html b/docs/api/java/org/apache/sysds/runtime/privacy/propagation/AppendPropagator.html
new file mode 100644
index 0000000..d964f39
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/privacy/propagation/AppendPropagator.html
@@ -0,0 +1,316 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>AppendPropagator (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="AppendPropagator (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/AppendPropagator.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev&nbsp;Class</li>
+<li><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/CBindPropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/privacy/propagation/AppendPropagator.html" target="_top">Frames</a></li>
+<li><a href="AppendPropagator.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.sysds.runtime.privacy.propagation</div>
+<h2 title="Class AppendPropagator" class="title">Class AppendPropagator</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.sysds.runtime.privacy.propagation.AppendPropagator</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/Propagator.html" title="interface in org.apache.sysds.runtime.privacy.propagation">Propagator</a></dd>
+</dl>
+<dl>
+<dt>Direct Known Subclasses:</dt>
+<dd><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/CBindPropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation">CBindPropagator</a>, <a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/RBindPropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation">RBindPropagator</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public abstract class <span class="typeNameLabel">AppendPropagator</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
+implements <a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/Propagator.html" title="interface in org.apache.sysds.runtime.privacy.propagation">Propagator</a></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/AppendPropagator.html#AppendPropagator-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.privacy.PrivacyConstraint-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.privacy.PrivacyConstraint-">AppendPropagator</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;input1,
+                <a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>&nbsp;privacyConstraint1,
+                <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;input2,
+                <a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>&nbsp;privacyConstraint2)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/AppendPropagator.html#propagate--">propagate</a></span>()</code>
+<div class="block">Activates the propagation and returns the output privacy constraint.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/AppendPropagator.html#setFields-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.privacy.PrivacyConstraint-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setFields</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;input1,
+         <a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>&nbsp;privacyConstraint1,
+         <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;input2,
+         <a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>&nbsp;privacyConstraint2)</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="AppendPropagator-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.privacy.PrivacyConstraint-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.privacy.PrivacyConstraint-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>AppendPropagator</h4>
+<pre>public&nbsp;AppendPropagator(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;input1,
+                        <a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>&nbsp;privacyConstraint1,
+                        <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;input2,
+                        <a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>&nbsp;privacyConstraint2)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="setFields-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.privacy.PrivacyConstraint-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.privacy.PrivacyConstraint-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setFields</h4>
+<pre>public&nbsp;void&nbsp;setFields(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;input1,
+                      <a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>&nbsp;privacyConstraint1,
+                      <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;input2,
+                      <a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>&nbsp;privacyConstraint2)</pre>
+</li>
+</ul>
+<a name="propagate--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>propagate</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>&nbsp;propagate()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/Propagator.html#propagate--">Propagator</a></code></span></div>
+<div class="block">Activates the propagation and returns the output privacy constraint.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/Propagator.html#propagate--">propagate</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/Propagator.html" title="interface in org.apache.sysds.runtime.privacy.propagation">Propagator</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>output privacy constraint.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/AppendPropagator.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev&nbsp;Class</li>
+<li><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/CBindPropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/privacy/propagation/AppendPropagator.html" target="_top">Frames</a></li>
+<li><a href="AppendPropagator.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/privacy/propagation/CBindPropagator.html b/docs/api/java/org/apache/sysds/runtime/privacy/propagation/CBindPropagator.html
new file mode 100644
index 0000000..bbf42b1
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/privacy/propagation/CBindPropagator.html
@@ -0,0 +1,260 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>CBindPropagator (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="CBindPropagator (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/CBindPropagator.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/AppendPropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/ListAppendPropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/privacy/propagation/CBindPropagator.html" target="_top">Frames</a></li>
+<li><a href="CBindPropagator.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#methods.inherited.from.class.org.apache.sysds.runtime.privacy.propagation.AppendPropagator">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li>Method</li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.sysds.runtime.privacy.propagation</div>
+<h2 title="Class CBindPropagator" class="title">Class CBindPropagator</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/AppendPropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation">org.apache.sysds.runtime.privacy.propagation.AppendPropagator</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.sysds.runtime.privacy.propagation.CBindPropagator</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/Propagator.html" title="interface in org.apache.sysds.runtime.privacy.propagation">Propagator</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">CBindPropagator</span>
+extends <a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/AppendPropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation">AppendPropagator</a></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/CBindPropagator.html#CBindPropagator-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.privacy.PrivacyConstraint-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.privacy.PrivacyConstraint-">CBindPropagator</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;input1,
+               <a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>&nbsp;privacyConstraint1,
+               <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;input2,
+               <a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>&nbsp;privacyConstraint2)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.privacy.propagation.AppendPropagator">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.privacy.propagation.<a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/AppendPropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation">AppendPropagator</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/AppendPropagator.html#propagate--">propagate</a>, <a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/AppendPropagator.html#setFields-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.privacy.PrivacyConstraint-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setFields</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="CBindPropagator-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.privacy.PrivacyConstraint-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.privacy.PrivacyConstraint-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>CBindPropagator</h4>
+<pre>public&nbsp;CBindPropagator(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;input1,
+                       <a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>&nbsp;privacyConstraint1,
+                       <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;input2,
+                       <a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>&nbsp;privacyConstraint2)</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/CBindPropagator.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/AppendPropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/ListAppendPropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/privacy/propagation/CBindPropagator.html" target="_top">Frames</a></li>
+<li><a href="CBindPropagator.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#methods.inherited.from.class.org.apache.sysds.runtime.privacy.propagation.AppendPropagator">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li>Method</li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/SparseRowIterator.html b/docs/api/java/org/apache/sysds/runtime/privacy/propagation/ListAppendPropagator.html
similarity index 61%
copy from docs/api/java/org/apache/sysds/runtime/compress/colgroup/SparseRowIterator.html
copy to docs/api/java/org/apache/sysds/runtime/privacy/propagation/ListAppendPropagator.html
index 8f87db4..8c10744 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/SparseRowIterator.html
+++ b/docs/api/java/org/apache/sysds/runtime/privacy/propagation/ListAppendPropagator.html
@@ -4,7 +4,7 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>SparseRowIterator (SystemDS 2.1.0-SNAPSHOT API)</title>
+<title>ListAppendPropagator (SystemDS 2.1.0-SNAPSHOT API)</title>
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,13 +12,13 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="SparseRowIterator (SystemDS 2.1.0-SNAPSHOT API)";
+            parent.document.title="ListAppendPropagator (SystemDS 2.1.0-SNAPSHOT API)";
         }
     }
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10};
+var methods = {"i0":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -40,7 +40,7 @@
 <li><a href="../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="package-summary.html">Package</a></li>
 <li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/SparseRowIterator.html">Use</a></li>
+<li><a href="class-use/ListAppendPropagator.html">Use</a></li>
 <li><a href="package-tree.html">Tree</a></li>
 <li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
 <li><a href="../../../../../../index-all.html">Index</a></li>
@@ -49,12 +49,12 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li>Next&nbsp;Class</li>
+<li><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/CBindPropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/ListRemovePropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/SparseRowIterator.html" target="_top">Frames</a></li>
-<li><a href="SparseRowIterator.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/privacy/propagation/ListAppendPropagator.html" target="_top">Frames</a></li>
+<li><a href="ListAppendPropagator.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
 <li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -92,15 +92,15 @@
 <!-- ========= END OF TOP NAVBAR ========= -->
 <!-- ======== START OF CLASS DATA ======== -->
 <div class="header">
-<div class="subTitle">org.apache.sysds.runtime.compress.colgroup</div>
-<h2 title="Class SparseRowIterator" class="title">Class SparseRowIterator</h2>
+<div class="subTitle">org.apache.sysds.runtime.privacy.propagation</div>
+<h2 title="Class ListAppendPropagator" class="title">Class ListAppendPropagator</h2>
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
 <li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
-<li>org.apache.sysds.runtime.compress.colgroup.SparseRowIterator</li>
+<li>org.apache.sysds.runtime.privacy.propagation.ListAppendPropagator</li>
 </ul>
 </li>
 </ul>
@@ -109,12 +109,13 @@
 <li class="blockList">
 <dl>
 <dt>All Implemented Interfaces:</dt>
-<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/data/SparseRow.html" title="class in org.apache.sysds.runtime.data">SparseRow</a>&gt;</dd>
+<dd><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/Propagator.html" title="interface in org.apache.sysds.runtime.privacy.propagation">Propagator</a></dd>
 </dl>
 <hr>
 <br>
-<pre>public class <span class="typeNameLabel">SparseRowIterator</span>
-extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<pre>public class <span class="typeNameLabel">ListAppendPropagator</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
+implements <a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/Propagator.html" title="interface in org.apache.sysds.runtime.privacy.propagation">Propagator</a></pre>
 </li>
 </ul>
 </div>
@@ -133,10 +134,10 @@
 <th class="colOne" scope="col">Constructor and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/SparseRowIterator.html#SparseRowIterator-int-int-java.util.List-int-">SparseRowIterator</a></span>(int&nbsp;rl,
-                 int&nbsp;ru,
-                 <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>&gt;&nbsp;colGroups,
-                 int&nbsp;clen)</code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/ListAppendPropagator.html#ListAppendPropagator-org.apache.sysds.runtime.instructions.cp.ListObject-org.apache.sysds.runtime.privacy.PrivacyConstraint-org.apache.sysds.runtime.instructions.cp.ListObject-org.apache.sysds.runtime.privacy.PrivacyConstraint-">ListAppendPropagator</a></span>(<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ListObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ListObject</a>&nbsp;input1,
+                    <a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>&nbsp;privacyConstraint1,
+                    <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ListObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ListObject</a>&nbsp;input2,
+                    <a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>&nbsp;privacyConstraint2)</code>&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -154,12 +155,10 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
-<td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/SparseRowIterator.html#hasNext--">hasNext</a></span>()</code>&nbsp;</td>
-</tr>
-<tr id="i1" class="rowColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/data/SparseRow.html" title="class in org.apache.sysds.runtime.data">SparseRow</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/SparseRowIterator.html#next--">next</a></span>()</code>&nbsp;</td>
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/ListAppendPropagator.html#propagate--">propagate</a></span>()</code>
+<div class="block">Activates the propagation and returns the output privacy constraint.</div>
+</td>
 </tr>
 </table>
 <ul class="blockList">
@@ -169,13 +168,6 @@
 <h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
 <code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.java.util.Iterator">
-<!--   -->
-</a>
-<h3>Methods inherited from interface&nbsp;java.util.<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a></h3>
-<code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true#forEachRemaining-java.util.function.Consumer-" title="class or interface in java.util">forEachRemaining</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true#remove--" title="class or interface in java.util">remove</a></code></li>
-</ul>
 </li>
 </ul>
 </li>
@@ -190,16 +182,16 @@
 <!--   -->
 </a>
 <h3>Constructor Detail</h3>
-<a name="SparseRowIterator-int-int-java.util.List-int-">
+<a name="ListAppendPropagator-org.apache.sysds.runtime.instructions.cp.ListObject-org.apache.sysds.runtime.privacy.PrivacyConstraint-org.apache.sysds.runtime.instructions.cp.ListObject-org.apache.sysds.runtime.privacy.PrivacyConstraint-">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>SparseRowIterator</h4>
-<pre>public&nbsp;SparseRowIterator(int&nbsp;rl,
-                         int&nbsp;ru,
-                         <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>&gt;&nbsp;colGroups,
-                         int&nbsp;clen)</pre>
+<h4>ListAppendPropagator</h4>
+<pre>public&nbsp;ListAppendPropagator(<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ListObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ListObject</a>&nbsp;input1,
+                            <a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>&nbsp;privacyConstraint1,
+                            <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ListObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ListObject</a>&nbsp;input2,
+                            <a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>&nbsp;privacyConstraint2)</pre>
 </li>
 </ul>
 </li>
@@ -210,25 +202,20 @@
 <!--   -->
 </a>
 <h3>Method Detail</h3>
-<a name="next--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>next</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/data/SparseRow.html" title="class in org.apache.sysds.runtime.data">SparseRow</a>&nbsp;next()</pre>
-</li>
-</ul>
-<a name="hasNext--">
+<a name="propagate--">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>hasNext</h4>
-<pre>public&nbsp;boolean&nbsp;hasNext()</pre>
+<h4>propagate</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>&nbsp;propagate()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/Propagator.html#propagate--">Propagator</a></code></span></div>
+<div class="block">Activates the propagation and returns the output privacy constraint.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true#hasNext--" title="class or interface in java.util">hasNext</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;T&gt;</code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/Propagator.html#propagate--">propagate</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/Propagator.html" title="interface in org.apache.sysds.runtime.privacy.propagation">Propagator</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>output privacy constraint.</dd>
 </dl>
 </li>
 </ul>
@@ -251,7 +238,7 @@
 <li><a href="../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="package-summary.html">Package</a></li>
 <li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/SparseRowIterator.html">Use</a></li>
+<li><a href="class-use/ListAppendPropagator.html">Use</a></li>
 <li><a href="package-tree.html">Tree</a></li>
 <li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
 <li><a href="../../../../../../index-all.html">Index</a></li>
@@ -260,12 +247,12 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li>Next&nbsp;Class</li>
+<li><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/CBindPropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/ListRemovePropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/SparseRowIterator.html" target="_top">Frames</a></li>
-<li><a href="SparseRowIterator.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/privacy/propagation/ListAppendPropagator.html" target="_top">Frames</a></li>
+<li><a href="ListAppendPropagator.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
 <li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -301,6 +288,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/SparseRowIterator.html b/docs/api/java/org/apache/sysds/runtime/privacy/propagation/ListRemovePropagator.html
similarity index 60%
copy from docs/api/java/org/apache/sysds/runtime/compress/colgroup/SparseRowIterator.html
copy to docs/api/java/org/apache/sysds/runtime/privacy/propagation/ListRemovePropagator.html
index 8f87db4..e39c959 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/SparseRowIterator.html
+++ b/docs/api/java/org/apache/sysds/runtime/privacy/propagation/ListRemovePropagator.html
@@ -4,7 +4,7 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>SparseRowIterator (SystemDS 2.1.0-SNAPSHOT API)</title>
+<title>ListRemovePropagator (SystemDS 2.1.0-SNAPSHOT API)</title>
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,13 +12,13 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="SparseRowIterator (SystemDS 2.1.0-SNAPSHOT API)";
+            parent.document.title="ListRemovePropagator (SystemDS 2.1.0-SNAPSHOT API)";
         }
     }
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10};
+var methods = {"i0":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -40,7 +40,7 @@
 <li><a href="../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="package-summary.html">Package</a></li>
 <li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/SparseRowIterator.html">Use</a></li>
+<li><a href="class-use/ListRemovePropagator.html">Use</a></li>
 <li><a href="package-tree.html">Tree</a></li>
 <li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
 <li><a href="../../../../../../index-all.html">Index</a></li>
@@ -49,12 +49,12 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li>Next&nbsp;Class</li>
+<li><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/ListAppendPropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/MatrixMultiplicationPropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/SparseRowIterator.html" target="_top">Frames</a></li>
-<li><a href="SparseRowIterator.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/privacy/propagation/ListRemovePropagator.html" target="_top">Frames</a></li>
+<li><a href="ListRemovePropagator.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
 <li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -92,15 +92,15 @@
 <!-- ========= END OF TOP NAVBAR ========= -->
 <!-- ======== START OF CLASS DATA ======== -->
 <div class="header">
-<div class="subTitle">org.apache.sysds.runtime.compress.colgroup</div>
-<h2 title="Class SparseRowIterator" class="title">Class SparseRowIterator</h2>
+<div class="subTitle">org.apache.sysds.runtime.privacy.propagation</div>
+<h2 title="Class ListRemovePropagator" class="title">Class ListRemovePropagator</h2>
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
 <li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
-<li>org.apache.sysds.runtime.compress.colgroup.SparseRowIterator</li>
+<li>org.apache.sysds.runtime.privacy.propagation.ListRemovePropagator</li>
 </ul>
 </li>
 </ul>
@@ -109,12 +109,13 @@
 <li class="blockList">
 <dl>
 <dt>All Implemented Interfaces:</dt>
-<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/data/SparseRow.html" title="class in org.apache.sysds.runtime.data">SparseRow</a>&gt;</dd>
+<dd><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/PropagatorMultiReturn.html" title="interface in org.apache.sysds.runtime.privacy.propagation">PropagatorMultiReturn</a></dd>
 </dl>
 <hr>
 <br>
-<pre>public class <span class="typeNameLabel">SparseRowIterator</span>
-extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<pre>public class <span class="typeNameLabel">ListRemovePropagator</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
+implements <a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/PropagatorMultiReturn.html" title="interface in org.apache.sysds.runtime.privacy.propagation">PropagatorMultiReturn</a></pre>
 </li>
 </ul>
 </div>
@@ -133,10 +134,10 @@
 <th class="colOne" scope="col">Constructor and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/SparseRowIterator.html#SparseRowIterator-int-int-java.util.List-int-">SparseRowIterator</a></span>(int&nbsp;rl,
-                 int&nbsp;ru,
-                 <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>&gt;&nbsp;colGroups,
-                 int&nbsp;clen)</code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/ListRemovePropagator.html#ListRemovePropagator-org.apache.sysds.runtime.instructions.cp.ListObject-org.apache.sysds.runtime.privacy.PrivacyConstraint-org.apache.sysds.runtime.instructions.cp.ScalarObject-org.apache.sysds.runtime.privacy.PrivacyConstraint-">ListRemovePropagator</a></span>(<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ListObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ListObject</a>&nbsp;list,
+                    <a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>&nbsp;listPrivacyConstraint,
+                    <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&nbsp;removePosition,
+                    <a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>&nbsp;removePositionPrivacyConstraint)</code>&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -154,12 +155,10 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
-<td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/SparseRowIterator.html#hasNext--">hasNext</a></span>()</code>&nbsp;</td>
-</tr>
-<tr id="i1" class="rowColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/data/SparseRow.html" title="class in org.apache.sysds.runtime.data">SparseRow</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/SparseRowIterator.html#next--">next</a></span>()</code>&nbsp;</td>
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/ListRemovePropagator.html#propagate--">propagate</a></span>()</code>
+<div class="block">Activates the propagation and returns the output privacy constraints.</div>
+</td>
 </tr>
 </table>
 <ul class="blockList">
@@ -169,13 +168,6 @@
 <h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
 <code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.java.util.Iterator">
-<!--   -->
-</a>
-<h3>Methods inherited from interface&nbsp;java.util.<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a></h3>
-<code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true#forEachRemaining-java.util.function.Consumer-" title="class or interface in java.util">forEachRemaining</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true#remove--" title="class or interface in java.util">remove</a></code></li>
-</ul>
 </li>
 </ul>
 </li>
@@ -190,16 +182,16 @@
 <!--   -->
 </a>
 <h3>Constructor Detail</h3>
-<a name="SparseRowIterator-int-int-java.util.List-int-">
+<a name="ListRemovePropagator-org.apache.sysds.runtime.instructions.cp.ListObject-org.apache.sysds.runtime.privacy.PrivacyConstraint-org.apache.sysds.runtime.instructions.cp.ScalarObject-org.apache.sysds.runtime.privacy.PrivacyConstraint-">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>SparseRowIterator</h4>
-<pre>public&nbsp;SparseRowIterator(int&nbsp;rl,
-                         int&nbsp;ru,
-                         <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>&gt;&nbsp;colGroups,
-                         int&nbsp;clen)</pre>
+<h4>ListRemovePropagator</h4>
+<pre>public&nbsp;ListRemovePropagator(<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ListObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ListObject</a>&nbsp;list,
+                            <a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>&nbsp;listPrivacyConstraint,
+                            <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&nbsp;removePosition,
+                            <a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>&nbsp;removePositionPrivacyConstraint)</pre>
 </li>
 </ul>
 </li>
@@ -210,25 +202,20 @@
 <!--   -->
 </a>
 <h3>Method Detail</h3>
-<a name="next--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>next</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/data/SparseRow.html" title="class in org.apache.sysds.runtime.data">SparseRow</a>&nbsp;next()</pre>
-</li>
-</ul>
-<a name="hasNext--">
+<a name="propagate--">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>hasNext</h4>
-<pre>public&nbsp;boolean&nbsp;hasNext()</pre>
+<h4>propagate</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>[]&nbsp;propagate()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/PropagatorMultiReturn.html#propagate--">PropagatorMultiReturn</a></code></span></div>
+<div class="block">Activates the propagation and returns the output privacy constraints.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true#hasNext--" title="class or interface in java.util">hasNext</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;T&gt;</code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/PropagatorMultiReturn.html#propagate--">propagate</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/PropagatorMultiReturn.html" title="interface in org.apache.sysds.runtime.privacy.propagation">PropagatorMultiReturn</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>output privacy constraints.</dd>
 </dl>
 </li>
 </ul>
@@ -251,7 +238,7 @@
 <li><a href="../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="package-summary.html">Package</a></li>
 <li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/SparseRowIterator.html">Use</a></li>
+<li><a href="class-use/ListRemovePropagator.html">Use</a></li>
 <li><a href="package-tree.html">Tree</a></li>
 <li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
 <li><a href="../../../../../../index-all.html">Index</a></li>
@@ -260,12 +247,12 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li>Next&nbsp;Class</li>
+<li><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/ListAppendPropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/MatrixMultiplicationPropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/SparseRowIterator.html" target="_top">Frames</a></li>
-<li><a href="SparseRowIterator.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/privacy/propagation/ListRemovePropagator.html" target="_top">Frames</a></li>
+<li><a href="ListRemovePropagator.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
 <li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -301,6 +288,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/privacy/propagation/MatrixMultiplicationPropagator.html b/docs/api/java/org/apache/sysds/runtime/privacy/propagation/MatrixMultiplicationPropagator.html
index ca4fa35..7ca1e35 100644
--- a/docs/api/java/org/apache/sysds/runtime/privacy/propagation/MatrixMultiplicationPropagator.html
+++ b/docs/api/java/org/apache/sysds/runtime/privacy/propagation/MatrixMultiplicationPropagator.html
@@ -49,7 +49,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li>Prev&nbsp;Class</li>
+<li><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/ListRemovePropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/MatrixMultiplicationPropagatorNaive.html" title="class in org.apache.sysds.runtime.privacy.propagation"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -349,7 +349,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li>Prev&nbsp;Class</li>
+<li><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/ListRemovePropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/MatrixMultiplicationPropagatorNaive.html" title="class in org.apache.sysds.runtime.privacy.propagation"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -390,6 +390,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/privacy/propagation/MatrixMultiplicationPropagatorNaive.html b/docs/api/java/org/apache/sysds/runtime/privacy/propagation/MatrixMultiplicationPropagatorNaive.html
index 32b160e..ce21bdf 100644
--- a/docs/api/java/org/apache/sysds/runtime/privacy/propagation/MatrixMultiplicationPropagatorNaive.html
+++ b/docs/api/java/org/apache/sysds/runtime/privacy/propagation/MatrixMultiplicationPropagatorNaive.html
@@ -270,6 +270,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/privacy/propagation/MatrixMultiplicationPropagatorPrivateFirst.html b/docs/api/java/org/apache/sysds/runtime/privacy/propagation/MatrixMultiplicationPropagatorPrivateFirst.html
index 6d52bdd..ac1f9c9 100644
--- a/docs/api/java/org/apache/sysds/runtime/privacy/propagation/MatrixMultiplicationPropagatorPrivateFirst.html
+++ b/docs/api/java/org/apache/sysds/runtime/privacy/propagation/MatrixMultiplicationPropagatorPrivateFirst.html
@@ -269,6 +269,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/privacy/propagation/MatrixMultiplicationPropagatorPrivateFirstOptimized.html b/docs/api/java/org/apache/sysds/runtime/privacy/propagation/MatrixMultiplicationPropagatorPrivateFirstOptimized.html
index c45f2bf..7c274de 100644
--- a/docs/api/java/org/apache/sysds/runtime/privacy/propagation/MatrixMultiplicationPropagatorPrivateFirstOptimized.html
+++ b/docs/api/java/org/apache/sysds/runtime/privacy/propagation/MatrixMultiplicationPropagatorPrivateFirstOptimized.html
@@ -252,6 +252,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/privacy/propagation/OperatorType.html b/docs/api/java/org/apache/sysds/runtime/privacy/propagation/OperatorType.html
index 54f3d08..3d6c1c9 100644
--- a/docs/api/java/org/apache/sysds/runtime/privacy/propagation/OperatorType.html
+++ b/docs/api/java/org/apache/sysds/runtime/privacy/propagation/OperatorType.html
@@ -337,6 +337,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/privacy/propagation/PrivacyPropagator.html b/docs/api/java/org/apache/sysds/runtime/privacy/propagation/PrivacyPropagator.html
index c29e2c2..1255fd0 100644
--- a/docs/api/java/org/apache/sysds/runtime/privacy/propagation/PrivacyPropagator.html
+++ b/docs/api/java/org/apache/sysds/runtime/privacy/propagation/PrivacyPropagator.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":9,"i11":9,"i12":9,"i13":9,"i14":9,"i15":9,"i16":9,"i17":9};
+var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":9,"i11":9,"i12":9,"i13":9,"i14":9,"i15":9,"i16":9,"i17":9,"i18":9};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -185,25 +185,30 @@
 </tr>
 <tr id="i6" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/PrivacyPropagator.html#preprocessBinaryCPInstruction-org.apache.sysds.runtime.instructions.cp.BinaryCPInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessBinaryCPInstruction</a></span>(<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/BinaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">BinaryCPInstruction</a>&nbsp;inst,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/PrivacyPropagator.html#preprocessAppendCPInstruction-org.apache.sysds.runtime.instructions.cp.AppendCPInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessAppendCPInstruction</a></span>(<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/AppendCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">AppendCPInstruction</a>&nbsp;inst,
                              <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
 <tr id="i7" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/PrivacyPropagator.html#preprocessBinaryCPInstruction-org.apache.sysds.runtime.instructions.cp.BinaryCPInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessBinaryCPInstruction</a></span>(<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/BinaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">BinaryCPInstruction</a>&nbsp;inst,
+                             <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/PrivacyPropagator.html#preprocessBuiltinNary-org.apache.sysds.runtime.instructions.cp.BuiltinNaryCPInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessBuiltinNary</a></span>(<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/BuiltinNaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">BuiltinNaryCPInstruction</a>&nbsp;inst,
                      <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/PrivacyPropagator.html#preprocessCPInstructionFineGrained-org.apache.sysds.runtime.instructions.cp.CPInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessCPInstructionFineGrained</a></span>(<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">CPInstruction</a>&nbsp;inst,
                                   <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i10" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/PrivacyPropagator.html#preprocessExternal-org.apache.sysds.runtime.instructions.cp.FunctionCallCPInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessExternal</a></span>(<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/FunctionCallCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">FunctionCallCPInstruction</a>&nbsp;inst,
                   <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/PrivacyPropagator.html#preprocessInstruction-org.apache.sysds.runtime.instructions.Instruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a></span>(<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a>&nbsp;inst,
                      <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>
@@ -211,39 +216,39 @@
  in case the privacy constraints of the input are activated.</div>
 </td>
 </tr>
-<tr id="i11" class="rowColor">
+<tr id="i12" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/PrivacyPropagator.html#preprocessInstructionSimple-org.apache.sysds.runtime.instructions.Instruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstructionSimple</a></span>(<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a>&nbsp;inst,
                            <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>
 <div class="block">Throw exception if privacy constraints are activated or return instruction if privacy is not activated</div>
 </td>
 </tr>
-<tr id="i12" class="altColor">
+<tr id="i13" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/PrivacyPropagator.html#preprocessMultiReturn-org.apache.sysds.runtime.instructions.cp.ComputationCPInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessMultiReturn</a></span>(<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ComputationCPInstruction</a>&nbsp;inst,
                      <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr id="i13" class="rowColor">
+<tr id="i14" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/PrivacyPropagator.html#preprocessParameterizedBuiltin-org.apache.sysds.runtime.instructions.cp.ParameterizedBuiltinCPInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessParameterizedBuiltin</a></span>(<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ParameterizedBuiltinCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ParameterizedBuiltinCPInstruction</a>&nbsp;inst,
                               <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr id="i14" class="altColor">
+<tr id="i15" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/PrivacyPropagator.html#preprocessQuaternary-org.apache.sysds.runtime.instructions.cp.QuaternaryCPInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessQuaternary</a></span>(<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/QuaternaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">QuaternaryCPInstruction</a>&nbsp;inst,
                     <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr id="i15" class="rowColor">
+<tr id="i16" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/PrivacyPropagator.html#preprocessTernaryCPInstruction-org.apache.sysds.runtime.instructions.cp.ComputationCPInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessTernaryCPInstruction</a></span>(<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ComputationCPInstruction</a>&nbsp;inst,
                               <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr id="i16" class="altColor">
+<tr id="i17" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/PrivacyPropagator.html#preprocessUnaryCPInstruction-org.apache.sysds.runtime.instructions.cp.UnaryCPInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessUnaryCPInstruction</a></span>(<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/UnaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">UnaryCPInstruction</a>&nbsp;inst,
                             <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr id="i17" class="rowColor">
+<tr id="i18" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/PrivacyPropagator.html#preprocessVariableCPInstruction-org.apache.sysds.runtime.instructions.cp.VariableCPInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessVariableCPInstruction</a></span>(<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/VariableCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">VariableCPInstruction</a>&nbsp;inst,
                                <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
@@ -399,6 +404,16 @@
                                                              <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</pre>
 </li>
 </ul>
+<a name="preprocessAppendCPInstruction-org.apache.sysds.runtime.instructions.cp.AppendCPInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>preprocessAppendCPInstruction</h4>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a>&nbsp;preprocessAppendCPInstruction(<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/AppendCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">AppendCPInstruction</a>&nbsp;inst,
+                                                        <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</pre>
+</li>
+</ul>
 <a name="preprocessBinaryCPInstruction-org.apache.sysds.runtime.instructions.cp.BinaryCPInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">
 <!--   -->
 </a>
@@ -594,6 +609,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/privacy/propagation/Propagator.html b/docs/api/java/org/apache/sysds/runtime/privacy/propagation/Propagator.html
index b0d741b..773fd8a 100644
--- a/docs/api/java/org/apache/sysds/runtime/privacy/propagation/Propagator.html
+++ b/docs/api/java/org/apache/sysds/runtime/privacy/propagation/Propagator.html
@@ -50,7 +50,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/PrivacyPropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li>Next&nbsp;Class</li>
+<li><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/PropagatorMultiReturn.html" title="interface in org.apache.sysds.runtime.privacy.propagation"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/sysds/runtime/privacy/propagation/Propagator.html" target="_top">Frames</a></li>
@@ -101,12 +101,12 @@
 <li class="blockList">
 <dl>
 <dt>All Known Implementing Classes:</dt>
-<dd><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/MatrixMultiplicationPropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation">MatrixMultiplicationPropagator</a>, <a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/MatrixMultiplicationPropagatorNaive.html" title="class in org.apache.sysds.runtime.privacy.propagation">MatrixMultiplicationPropagatorNaive</a>, <a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/MatrixMultiplicationPropagatorPrivateFirst.html" title="class in org.apache.sysds.runtime.privacy.propagation">MatrixMultiplicationPropagatorPrivateFirst</a>, <a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/MatrixMultiplicationPropagatorPrivateFirstOptimized.html" title="class in org.apache.sysds.runtime.privacy.propagation">MatrixMultiplicationPropagatorPrivateFirstOptimized</a></dd>
+<dd><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/AppendPropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation">AppendPropagator</a>, <a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/CBindPropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation">CBindPropagator</a>, <a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/ListAppendPropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation">ListAppendPropagator</a>, <a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/MatrixMultiplicationPropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation">MatrixMultiplicationPropagator</a>, <a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/MatrixMultiplicationPropagatorNaive.html" title="class in org.apache.sysds.runtime.privacy.propagation">MatrixMultiplicationPropagatorNaive</a>, <a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/MatrixMultiplicationPropagatorPrivateFirst.html" title="class in org.apache.sysds.runtime.privacy.propagation">MatrixMultiplicationPropagatorPrivateFirst</a>, <a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/MatrixMultiplicationPropagatorPrivateFirstOptimized.html" title="class in org.apache.sysds.runtime.privacy.propagation">MatrixMultiplicationPropagatorPrivateFirstOptimized</a>, <a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/RBindPropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation">RBindPropagator</a></dd>
 </dl>
 <hr>
 <br>
 <pre>public interface <span class="typeNameLabel">Propagator</span></pre>
-<div class="block">Interface for all propagator instances.</div>
+<div class="block">Interface for all propagator instances with a single output.</div>
 </li>
 </ul>
 </div>
@@ -189,7 +189,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/PrivacyPropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li>Next&nbsp;Class</li>
+<li><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/PropagatorMultiReturn.html" title="interface in org.apache.sysds.runtime.privacy.propagation"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/sysds/runtime/privacy/propagation/Propagator.html" target="_top">Frames</a></li>
@@ -229,6 +229,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/privacy/propagation/PropagatorMultiReturn.html b/docs/api/java/org/apache/sysds/runtime/privacy/propagation/PropagatorMultiReturn.html
new file mode 100644
index 0000000..dd315d3
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/privacy/propagation/PropagatorMultiReturn.html
@@ -0,0 +1,234 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>PropagatorMultiReturn (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="PropagatorMultiReturn (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/PropagatorMultiReturn.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/Propagator.html" title="interface in org.apache.sysds.runtime.privacy.propagation"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/RBindPropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/privacy/propagation/PropagatorMultiReturn.html" target="_top">Frames</a></li>
+<li><a href="PropagatorMultiReturn.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.sysds.runtime.privacy.propagation</div>
+<h2 title="Interface PropagatorMultiReturn" class="title">Interface PropagatorMultiReturn</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Known Implementing Classes:</dt>
+<dd><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/ListRemovePropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation">ListRemovePropagator</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public interface <span class="typeNameLabel">PropagatorMultiReturn</span></pre>
+<div class="block">Interface for all propagator instances with multiple outputs.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/PropagatorMultiReturn.html#propagate--">propagate</a></span>()</code>
+<div class="block">Activates the propagation and returns the output privacy constraints.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="propagate--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>propagate</h4>
+<pre><a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>[]&nbsp;propagate()</pre>
+<div class="block">Activates the propagation and returns the output privacy constraints.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>output privacy constraints.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/PropagatorMultiReturn.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/Propagator.html" title="interface in org.apache.sysds.runtime.privacy.propagation"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/RBindPropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/privacy/propagation/PropagatorMultiReturn.html" target="_top">Frames</a></li>
+<li><a href="PropagatorMultiReturn.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/privacy/propagation/RBindPropagator.html b/docs/api/java/org/apache/sysds/runtime/privacy/propagation/RBindPropagator.html
new file mode 100644
index 0000000..15ad12a
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/privacy/propagation/RBindPropagator.html
@@ -0,0 +1,260 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>RBindPropagator (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="RBindPropagator (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/RBindPropagator.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/PropagatorMultiReturn.html" title="interface in org.apache.sysds.runtime.privacy.propagation"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/privacy/propagation/RBindPropagator.html" target="_top">Frames</a></li>
+<li><a href="RBindPropagator.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#methods.inherited.from.class.org.apache.sysds.runtime.privacy.propagation.AppendPropagator">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li>Method</li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.sysds.runtime.privacy.propagation</div>
+<h2 title="Class RBindPropagator" class="title">Class RBindPropagator</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/AppendPropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation">org.apache.sysds.runtime.privacy.propagation.AppendPropagator</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.sysds.runtime.privacy.propagation.RBindPropagator</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/Propagator.html" title="interface in org.apache.sysds.runtime.privacy.propagation">Propagator</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">RBindPropagator</span>
+extends <a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/AppendPropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation">AppendPropagator</a></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/RBindPropagator.html#RBindPropagator-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.privacy.PrivacyConstraint-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.privacy.PrivacyConstraint-">RBindPropagator</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;input1,
+               <a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>&nbsp;privacyConstraint1,
+               <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;input2,
+               <a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>&nbsp;privacyConstraint2)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.privacy.propagation.AppendPropagator">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.privacy.propagation.<a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/AppendPropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation">AppendPropagator</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/AppendPropagator.html#propagate--">propagate</a>, <a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/AppendPropagator.html#setFields-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.privacy.PrivacyConstraint-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setFields</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="RBindPropagator-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.privacy.PrivacyConstraint-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.privacy.PrivacyConstraint-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>RBindPropagator</h4>
+<pre>public&nbsp;RBindPropagator(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;input1,
+                       <a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>&nbsp;privacyConstraint1,
+                       <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;input2,
+                       <a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>&nbsp;privacyConstraint2)</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/RBindPropagator.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/PropagatorMultiReturn.html" title="interface in org.apache.sysds.runtime.privacy.propagation"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/privacy/propagation/RBindPropagator.html" target="_top">Frames</a></li>
+<li><a href="RBindPropagator.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#methods.inherited.from.class.org.apache.sysds.runtime.privacy.propagation.AppendPropagator">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li>Method</li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/cocode/class-use/ColumnGroupPartitioner.html b/docs/api/java/org/apache/sysds/runtime/privacy/propagation/class-use/AppendPropagator.html
similarity index 60%
copy from docs/api/java/org/apache/sysds/runtime/compress/cocode/class-use/ColumnGroupPartitioner.html
copy to docs/api/java/org/apache/sysds/runtime/privacy/propagation/class-use/AppendPropagator.html
index afbad44..e49bb33 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/cocode/class-use/ColumnGroupPartitioner.html
+++ b/docs/api/java/org/apache/sysds/runtime/privacy/propagation/class-use/AppendPropagator.html
@@ -4,7 +4,7 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.sysds.runtime.compress.cocode.ColumnGroupPartitioner (SystemDS 2.1.0-SNAPSHOT API)</title>
+<title>Uses of Class org.apache.sysds.runtime.privacy.propagation.AppendPropagator (SystemDS 2.1.0-SNAPSHOT API)</title>
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.sysds.runtime.compress.cocode.ColumnGroupPartitioner (SystemDS 2.1.0-SNAPSHOT API)";
+            parent.document.title="Uses of Class org.apache.sysds.runtime.privacy.propagation.AppendPropagator (SystemDS 2.1.0-SNAPSHOT API)";
         }
     }
     catch(err) {
@@ -33,7 +33,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitioner.html" title="class in org.apache.sysds.runtime.compress.cocode">Class</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/privacy/propagation/AppendPropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -47,8 +47,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/cocode/class-use/ColumnGroupPartitioner.html" target="_top">Frames</a></li>
-<li><a href="ColumnGroupPartitioner.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/privacy/propagation/class-use/AppendPropagator.html" target="_top">Frames</a></li>
+<li><a href="AppendPropagator.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -70,20 +70,20 @@
 </a></div>
 <!-- ========= END OF TOP NAVBAR ========= -->
 <div class="header">
-<h2 title="Uses of Class org.apache.sysds.runtime.compress.cocode.ColumnGroupPartitioner" class="title">Uses of Class<br>org.apache.sysds.runtime.compress.cocode.ColumnGroupPartitioner</h2>
+<h2 title="Uses of Class org.apache.sysds.runtime.privacy.propagation.AppendPropagator" class="title">Uses of Class<br>org.apache.sysds.runtime.privacy.propagation.AppendPropagator</h2>
 </div>
 <div class="classUseContainer">
 <ul class="blockList">
 <li class="blockList">
 <table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
-<caption><span>Packages that use <a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitioner.html" title="class in org.apache.sysds.runtime.compress.cocode">ColumnGroupPartitioner</a></span><span class="tabEnd">&nbsp;</span></caption>
+<caption><span>Packages that use <a href="../../../../../../../org/apache/sysds/runtime/privacy/propagation/AppendPropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation">AppendPropagator</a></span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
 <th class="colFirst" scope="col">Package</th>
 <th class="colLast" scope="col">Description</th>
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><a href="#org.apache.sysds.runtime.compress.cocode">org.apache.sysds.runtime.compress.cocode</a></td>
+<td class="colFirst"><a href="#org.apache.sysds.runtime.privacy.propagation">org.apache.sysds.runtime.privacy.propagation</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
 </tbody>
@@ -91,12 +91,12 @@
 </li>
 <li class="blockList">
 <ul class="blockList">
-<li class="blockList"><a name="org.apache.sysds.runtime.compress.cocode">
+<li class="blockList"><a name="org.apache.sysds.runtime.privacy.propagation">
 <!--   -->
 </a>
-<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitioner.html" title="class in org.apache.sysds.runtime.compress.cocode">ColumnGroupPartitioner</a> in <a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/package-summary.html">org.apache.sysds.runtime.compress.cocode</a></h3>
+<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/privacy/propagation/AppendPropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation">AppendPropagator</a> in <a href="../../../../../../../org/apache/sysds/runtime/privacy/propagation/package-summary.html">org.apache.sysds.runtime.privacy.propagation</a></h3>
 <table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subclasses, and an explanation">
-<caption><span>Subclasses of <a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitioner.html" title="class in org.apache.sysds.runtime.compress.cocode">ColumnGroupPartitioner</a> in <a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/package-summary.html">org.apache.sysds.runtime.compress.cocode</a></span><span class="tabEnd">&nbsp;</span></caption>
+<caption><span>Subclasses of <a href="../../../../../../../org/apache/sysds/runtime/privacy/propagation/AppendPropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation">AppendPropagator</a> in <a href="../../../../../../../org/apache/sysds/runtime/privacy/propagation/package-summary.html">org.apache.sysds.runtime.privacy.propagation</a></span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
 <th class="colLast" scope="col">Class and Description</th>
@@ -104,21 +104,11 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitionerBinPacking.html" title="class in org.apache.sysds.runtime.compress.cocode">ColumnGroupPartitionerBinPacking</a></span></code>
-<div class="block">Column group partitioning with bin packing heuristic.</div>
-</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/privacy/propagation/CBindPropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation">CBindPropagator</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitionerCost.html" title="class in org.apache.sysds.runtime.compress.cocode">ColumnGroupPartitionerCost</a></span></code>
-<div class="block">Column group partitioning with static number distinct elements heuristic</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitionerStatic.html" title="class in org.apache.sysds.runtime.compress.cocode">ColumnGroupPartitionerStatic</a></span></code>
-<div class="block">Column group partitioning with static distribution heuristic.</div>
-</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/privacy/propagation/RBindPropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation">RBindPropagator</a></span></code>&nbsp;</td>
 </tr>
 </tbody>
 </table>
@@ -138,7 +128,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitioner.html" title="class in org.apache.sysds.runtime.compress.cocode">Class</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/privacy/propagation/AppendPropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -152,8 +142,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/cocode/class-use/ColumnGroupPartitioner.html" target="_top">Frames</a></li>
-<li><a href="ColumnGroupPartitioner.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/privacy/propagation/class-use/AppendPropagator.html" target="_top">Frames</a></li>
+<li><a href="AppendPropagator.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -174,6 +164,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/SparseRowIterator.html b/docs/api/java/org/apache/sysds/runtime/privacy/propagation/class-use/CBindPropagator.html
similarity index 77%
rename from docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/SparseRowIterator.html
rename to docs/api/java/org/apache/sysds/runtime/privacy/propagation/class-use/CBindPropagator.html
index 71993d3..85f64d6 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/SparseRowIterator.html
+++ b/docs/api/java/org/apache/sysds/runtime/privacy/propagation/class-use/CBindPropagator.html
@@ -4,7 +4,7 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.sysds.runtime.compress.colgroup.SparseRowIterator (SystemDS 2.1.0-SNAPSHOT API)</title>
+<title>Uses of Class org.apache.sysds.runtime.privacy.propagation.CBindPropagator (SystemDS 2.1.0-SNAPSHOT API)</title>
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.sysds.runtime.compress.colgroup.SparseRowIterator (SystemDS 2.1.0-SNAPSHOT API)";
+            parent.document.title="Uses of Class org.apache.sysds.runtime.privacy.propagation.CBindPropagator (SystemDS 2.1.0-SNAPSHOT API)";
         }
     }
     catch(err) {
@@ -33,7 +33,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/SparseRowIterator.html" title="class in org.apache.sysds.runtime.compress.colgroup">Class</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/privacy/propagation/CBindPropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -47,8 +47,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/class-use/SparseRowIterator.html" target="_top">Frames</a></li>
-<li><a href="SparseRowIterator.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/privacy/propagation/class-use/CBindPropagator.html" target="_top">Frames</a></li>
+<li><a href="CBindPropagator.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -70,9 +70,9 @@
 </a></div>
 <!-- ========= END OF TOP NAVBAR ========= -->
 <div class="header">
-<h2 title="Uses of Class org.apache.sysds.runtime.compress.colgroup.SparseRowIterator" class="title">Uses of Class<br>org.apache.sysds.runtime.compress.colgroup.SparseRowIterator</h2>
+<h2 title="Uses of Class org.apache.sysds.runtime.privacy.propagation.CBindPropagator" class="title">Uses of Class<br>org.apache.sysds.runtime.privacy.propagation.CBindPropagator</h2>
 </div>
-<div class="classUseContainer">No usage of org.apache.sysds.runtime.compress.colgroup.SparseRowIterator</div>
+<div class="classUseContainer">No usage of org.apache.sysds.runtime.privacy.propagation.CBindPropagator</div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
 <!--   -->
@@ -84,7 +84,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/SparseRowIterator.html" title="class in org.apache.sysds.runtime.compress.colgroup">Class</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/privacy/propagation/CBindPropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -98,8 +98,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/class-use/SparseRowIterator.html" target="_top">Frames</a></li>
-<li><a href="SparseRowIterator.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/privacy/propagation/class-use/CBindPropagator.html" target="_top">Frames</a></li>
+<li><a href="CBindPropagator.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/EncoderComposite.html b/docs/api/java/org/apache/sysds/runtime/privacy/propagation/class-use/ListAppendPropagator.html
similarity index 74%
copy from docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/EncoderComposite.html
copy to docs/api/java/org/apache/sysds/runtime/privacy/propagation/class-use/ListAppendPropagator.html
index 33a7472..c8a9e62 100644
--- a/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/EncoderComposite.html
+++ b/docs/api/java/org/apache/sysds/runtime/privacy/propagation/class-use/ListAppendPropagator.html
@@ -4,7 +4,7 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.sysds.runtime.transform.encode.EncoderComposite (SystemDS 2.1.0-SNAPSHOT API)</title>
+<title>Uses of Class org.apache.sysds.runtime.privacy.propagation.ListAppendPropagator (SystemDS 2.1.0-SNAPSHOT API)</title>
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.sysds.runtime.transform.encode.EncoderComposite (SystemDS 2.1.0-SNAPSHOT API)";
+            parent.document.title="Uses of Class org.apache.sysds.runtime.privacy.propagation.ListAppendPropagator (SystemDS 2.1.0-SNAPSHOT API)";
         }
     }
     catch(err) {
@@ -33,7 +33,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">Class</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/privacy/propagation/ListAppendPropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -47,8 +47,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/transform/encode/class-use/EncoderComposite.html" target="_top">Frames</a></li>
-<li><a href="EncoderComposite.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/privacy/propagation/class-use/ListAppendPropagator.html" target="_top">Frames</a></li>
+<li><a href="ListAppendPropagator.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -70,9 +70,9 @@
 </a></div>
 <!-- ========= END OF TOP NAVBAR ========= -->
 <div class="header">
-<h2 title="Uses of Class org.apache.sysds.runtime.transform.encode.EncoderComposite" class="title">Uses of Class<br>org.apache.sysds.runtime.transform.encode.EncoderComposite</h2>
+<h2 title="Uses of Class org.apache.sysds.runtime.privacy.propagation.ListAppendPropagator" class="title">Uses of Class<br>org.apache.sysds.runtime.privacy.propagation.ListAppendPropagator</h2>
 </div>
-<div class="classUseContainer">No usage of org.apache.sysds.runtime.transform.encode.EncoderComposite</div>
+<div class="classUseContainer">No usage of org.apache.sysds.runtime.privacy.propagation.ListAppendPropagator</div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
 <!--   -->
@@ -84,7 +84,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">Class</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/privacy/propagation/ListAppendPropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -98,8 +98,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/transform/encode/class-use/EncoderComposite.html" target="_top">Frames</a></li>
-<li><a href="EncoderComposite.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/privacy/propagation/class-use/ListAppendPropagator.html" target="_top">Frames</a></li>
+<li><a href="ListAppendPropagator.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/EncoderComposite.html b/docs/api/java/org/apache/sysds/runtime/privacy/propagation/class-use/ListRemovePropagator.html
similarity index 74%
copy from docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/EncoderComposite.html
copy to docs/api/java/org/apache/sysds/runtime/privacy/propagation/class-use/ListRemovePropagator.html
index 33a7472..cf98f9f 100644
--- a/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/EncoderComposite.html
+++ b/docs/api/java/org/apache/sysds/runtime/privacy/propagation/class-use/ListRemovePropagator.html
@@ -4,7 +4,7 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.sysds.runtime.transform.encode.EncoderComposite (SystemDS 2.1.0-SNAPSHOT API)</title>
+<title>Uses of Class org.apache.sysds.runtime.privacy.propagation.ListRemovePropagator (SystemDS 2.1.0-SNAPSHOT API)</title>
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.sysds.runtime.transform.encode.EncoderComposite (SystemDS 2.1.0-SNAPSHOT API)";
+            parent.document.title="Uses of Class org.apache.sysds.runtime.privacy.propagation.ListRemovePropagator (SystemDS 2.1.0-SNAPSHOT API)";
         }
     }
     catch(err) {
@@ -33,7 +33,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">Class</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/privacy/propagation/ListRemovePropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -47,8 +47,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/transform/encode/class-use/EncoderComposite.html" target="_top">Frames</a></li>
-<li><a href="EncoderComposite.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/privacy/propagation/class-use/ListRemovePropagator.html" target="_top">Frames</a></li>
+<li><a href="ListRemovePropagator.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -70,9 +70,9 @@
 </a></div>
 <!-- ========= END OF TOP NAVBAR ========= -->
 <div class="header">
-<h2 title="Uses of Class org.apache.sysds.runtime.transform.encode.EncoderComposite" class="title">Uses of Class<br>org.apache.sysds.runtime.transform.encode.EncoderComposite</h2>
+<h2 title="Uses of Class org.apache.sysds.runtime.privacy.propagation.ListRemovePropagator" class="title">Uses of Class<br>org.apache.sysds.runtime.privacy.propagation.ListRemovePropagator</h2>
 </div>
-<div class="classUseContainer">No usage of org.apache.sysds.runtime.transform.encode.EncoderComposite</div>
+<div class="classUseContainer">No usage of org.apache.sysds.runtime.privacy.propagation.ListRemovePropagator</div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
 <!--   -->
@@ -84,7 +84,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">Class</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/privacy/propagation/ListRemovePropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -98,8 +98,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/transform/encode/class-use/EncoderComposite.html" target="_top">Frames</a></li>
-<li><a href="EncoderComposite.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/privacy/propagation/class-use/ListRemovePropagator.html" target="_top">Frames</a></li>
+<li><a href="ListRemovePropagator.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/privacy/propagation/class-use/MatrixMultiplicationPropagator.html b/docs/api/java/org/apache/sysds/runtime/privacy/propagation/class-use/MatrixMultiplicationPropagator.html
index 0f18b02..14ccfcb 100644
--- a/docs/api/java/org/apache/sysds/runtime/privacy/propagation/class-use/MatrixMultiplicationPropagator.html
+++ b/docs/api/java/org/apache/sysds/runtime/privacy/propagation/class-use/MatrixMultiplicationPropagator.html
@@ -177,6 +177,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/privacy/propagation/class-use/MatrixMultiplicationPropagatorNaive.html b/docs/api/java/org/apache/sysds/runtime/privacy/propagation/class-use/MatrixMultiplicationPropagatorNaive.html
index 4965a27..36c69a6 100644
--- a/docs/api/java/org/apache/sysds/runtime/privacy/propagation/class-use/MatrixMultiplicationPropagatorNaive.html
+++ b/docs/api/java/org/apache/sysds/runtime/privacy/propagation/class-use/MatrixMultiplicationPropagatorNaive.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/privacy/propagation/class-use/MatrixMultiplicationPropagatorPrivateFirst.html b/docs/api/java/org/apache/sysds/runtime/privacy/propagation/class-use/MatrixMultiplicationPropagatorPrivateFirst.html
index cea89d0..a199bdc 100644
--- a/docs/api/java/org/apache/sysds/runtime/privacy/propagation/class-use/MatrixMultiplicationPropagatorPrivateFirst.html
+++ b/docs/api/java/org/apache/sysds/runtime/privacy/propagation/class-use/MatrixMultiplicationPropagatorPrivateFirst.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/privacy/propagation/class-use/MatrixMultiplicationPropagatorPrivateFirstOptimized.html b/docs/api/java/org/apache/sysds/runtime/privacy/propagation/class-use/MatrixMultiplicationPropagatorPrivateFirstOptimized.html
index ddd3a02..9c2d619 100644
--- a/docs/api/java/org/apache/sysds/runtime/privacy/propagation/class-use/MatrixMultiplicationPropagatorPrivateFirstOptimized.html
+++ b/docs/api/java/org/apache/sysds/runtime/privacy/propagation/class-use/MatrixMultiplicationPropagatorPrivateFirstOptimized.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/privacy/propagation/class-use/OperatorType.html b/docs/api/java/org/apache/sysds/runtime/privacy/propagation/class-use/OperatorType.html
index 1080e45..e0207a7 100644
--- a/docs/api/java/org/apache/sysds/runtime/privacy/propagation/class-use/OperatorType.html
+++ b/docs/api/java/org/apache/sysds/runtime/privacy/propagation/class-use/OperatorType.html
@@ -202,6 +202,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/privacy/propagation/class-use/PrivacyPropagator.html b/docs/api/java/org/apache/sysds/runtime/privacy/propagation/class-use/PrivacyPropagator.html
index 5301636..38ea10b 100644
--- a/docs/api/java/org/apache/sysds/runtime/privacy/propagation/class-use/PrivacyPropagator.html
+++ b/docs/api/java/org/apache/sysds/runtime/privacy/propagation/class-use/PrivacyPropagator.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/privacy/propagation/class-use/Propagator.html b/docs/api/java/org/apache/sysds/runtime/privacy/propagation/class-use/Propagator.html
index f0168d7..4b99c74 100644
--- a/docs/api/java/org/apache/sysds/runtime/privacy/propagation/class-use/Propagator.html
+++ b/docs/api/java/org/apache/sysds/runtime/privacy/propagation/class-use/Propagator.html
@@ -104,31 +104,47 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/privacy/propagation/AppendPropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation">AppendPropagator</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/privacy/propagation/CBindPropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation">CBindPropagator</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/privacy/propagation/ListAppendPropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation">ListAppendPropagator</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/privacy/propagation/MatrixMultiplicationPropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation">MatrixMultiplicationPropagator</a></span></code>
 <div class="block">Used for propagating constraints in a matrix multiplication.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/privacy/propagation/MatrixMultiplicationPropagatorNaive.html" title="class in org.apache.sysds.runtime.privacy.propagation">MatrixMultiplicationPropagatorNaive</a></span></code>
 <div class="block">MatrixMultiplicationPropagator that overrides generateFineGrainedConstraints
  with a naive propagation of the fine-grained constraints.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/privacy/propagation/MatrixMultiplicationPropagatorPrivateFirst.html" title="class in org.apache.sysds.runtime.privacy.propagation">MatrixMultiplicationPropagatorPrivateFirst</a></span></code>
 <div class="block">MatrixMultiplicationPropagator that overrides generateFineGrainedConstraints by finding the private elements first
  followed by propagating PrivateAggregation in case of non-aggregating operator types.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/privacy/propagation/MatrixMultiplicationPropagatorPrivateFirstOptimized.html" title="class in org.apache.sysds.runtime.privacy.propagation">MatrixMultiplicationPropagatorPrivateFirstOptimized</a></span></code>
 <div class="block">MatrixMultiplicationPropagator that overrides generateFineGrainedConstraints by finding the private elements first
  while propagating PrivateAggregation in case of non-aggregating operator types.</div>
 </td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/privacy/propagation/RBindPropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation">RBindPropagator</a></span></code>&nbsp;</td>
+</tr>
 </tbody>
 </table>
 </li>
@@ -183,6 +199,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/privacy/propagation/class-use/PropagatorMultiReturn.html b/docs/api/java/org/apache/sysds/runtime/privacy/propagation/class-use/PropagatorMultiReturn.html
new file mode 100644
index 0000000..f551c57
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/privacy/propagation/class-use/PropagatorMultiReturn.html
@@ -0,0 +1,165 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.sysds.runtime.privacy.propagation.PropagatorMultiReturn (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Interface org.apache.sysds.runtime.privacy.propagation.PropagatorMultiReturn (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/privacy/propagation/PropagatorMultiReturn.html" title="interface in org.apache.sysds.runtime.privacy.propagation">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/privacy/propagation/class-use/PropagatorMultiReturn.html" target="_top">Frames</a></li>
+<li><a href="PropagatorMultiReturn.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Interface org.apache.sysds.runtime.privacy.propagation.PropagatorMultiReturn" class="title">Uses of Interface<br>org.apache.sysds.runtime.privacy.propagation.PropagatorMultiReturn</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../../org/apache/sysds/runtime/privacy/propagation/PropagatorMultiReturn.html" title="interface in org.apache.sysds.runtime.privacy.propagation">PropagatorMultiReturn</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.privacy.propagation">org.apache.sysds.runtime.privacy.propagation</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.sysds.runtime.privacy.propagation">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/privacy/propagation/PropagatorMultiReturn.html" title="interface in org.apache.sysds.runtime.privacy.propagation">PropagatorMultiReturn</a> in <a href="../../../../../../../org/apache/sysds/runtime/privacy/propagation/package-summary.html">org.apache.sysds.runtime.privacy.propagation</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../../../org/apache/sysds/runtime/privacy/propagation/package-summary.html">org.apache.sysds.runtime.privacy.propagation</a> that implement <a href="../../../../../../../org/apache/sysds/runtime/privacy/propagation/PropagatorMultiReturn.html" title="interface in org.apache.sysds.runtime.privacy.propagation">PropagatorMultiReturn</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/privacy/propagation/ListRemovePropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation">ListRemovePropagator</a></span></code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/privacy/propagation/PropagatorMultiReturn.html" title="interface in org.apache.sysds.runtime.privacy.propagation">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/privacy/propagation/class-use/PropagatorMultiReturn.html" target="_top">Frames</a></li>
+<li><a href="PropagatorMultiReturn.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/SparseRowIterator.html b/docs/api/java/org/apache/sysds/runtime/privacy/propagation/class-use/RBindPropagator.html
similarity index 77%
copy from docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/SparseRowIterator.html
copy to docs/api/java/org/apache/sysds/runtime/privacy/propagation/class-use/RBindPropagator.html
index 71993d3..cdaaf8b 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/SparseRowIterator.html
+++ b/docs/api/java/org/apache/sysds/runtime/privacy/propagation/class-use/RBindPropagator.html
@@ -4,7 +4,7 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.sysds.runtime.compress.colgroup.SparseRowIterator (SystemDS 2.1.0-SNAPSHOT API)</title>
+<title>Uses of Class org.apache.sysds.runtime.privacy.propagation.RBindPropagator (SystemDS 2.1.0-SNAPSHOT API)</title>
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.sysds.runtime.compress.colgroup.SparseRowIterator (SystemDS 2.1.0-SNAPSHOT API)";
+            parent.document.title="Uses of Class org.apache.sysds.runtime.privacy.propagation.RBindPropagator (SystemDS 2.1.0-SNAPSHOT API)";
         }
     }
     catch(err) {
@@ -33,7 +33,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/SparseRowIterator.html" title="class in org.apache.sysds.runtime.compress.colgroup">Class</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/privacy/propagation/RBindPropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -47,8 +47,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/class-use/SparseRowIterator.html" target="_top">Frames</a></li>
-<li><a href="SparseRowIterator.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/privacy/propagation/class-use/RBindPropagator.html" target="_top">Frames</a></li>
+<li><a href="RBindPropagator.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -70,9 +70,9 @@
 </a></div>
 <!-- ========= END OF TOP NAVBAR ========= -->
 <div class="header">
-<h2 title="Uses of Class org.apache.sysds.runtime.compress.colgroup.SparseRowIterator" class="title">Uses of Class<br>org.apache.sysds.runtime.compress.colgroup.SparseRowIterator</h2>
+<h2 title="Uses of Class org.apache.sysds.runtime.privacy.propagation.RBindPropagator" class="title">Uses of Class<br>org.apache.sysds.runtime.privacy.propagation.RBindPropagator</h2>
 </div>
-<div class="classUseContainer">No usage of org.apache.sysds.runtime.compress.colgroup.SparseRowIterator</div>
+<div class="classUseContainer">No usage of org.apache.sysds.runtime.privacy.propagation.RBindPropagator</div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
 <!--   -->
@@ -84,7 +84,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/SparseRowIterator.html" title="class in org.apache.sysds.runtime.compress.colgroup">Class</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/privacy/propagation/RBindPropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -98,8 +98,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/class-use/SparseRowIterator.html" target="_top">Frames</a></li>
-<li><a href="SparseRowIterator.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/privacy/propagation/class-use/RBindPropagator.html" target="_top">Frames</a></li>
+<li><a href="RBindPropagator.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/privacy/propagation/package-frame.html b/docs/api/java/org/apache/sysds/runtime/privacy/propagation/package-frame.html
index 7dd37ac..9496f1b 100644
--- a/docs/api/java/org/apache/sysds/runtime/privacy/propagation/package-frame.html
+++ b/docs/api/java/org/apache/sysds/runtime/privacy/propagation/package-frame.html
@@ -14,14 +14,20 @@
 <h2 title="Interfaces">Interfaces</h2>
 <ul title="Interfaces">
 <li><a href="Propagator.html" title="interface in org.apache.sysds.runtime.privacy.propagation" target="classFrame"><span class="interfaceName">Propagator</span></a></li>
+<li><a href="PropagatorMultiReturn.html" title="interface in org.apache.sysds.runtime.privacy.propagation" target="classFrame"><span class="interfaceName">PropagatorMultiReturn</span></a></li>
 </ul>
 <h2 title="Classes">Classes</h2>
 <ul title="Classes">
+<li><a href="AppendPropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation" target="classFrame">AppendPropagator</a></li>
+<li><a href="CBindPropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation" target="classFrame">CBindPropagator</a></li>
+<li><a href="ListAppendPropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation" target="classFrame">ListAppendPropagator</a></li>
+<li><a href="ListRemovePropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation" target="classFrame">ListRemovePropagator</a></li>
 <li><a href="MatrixMultiplicationPropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation" target="classFrame">MatrixMultiplicationPropagator</a></li>
 <li><a href="MatrixMultiplicationPropagatorNaive.html" title="class in org.apache.sysds.runtime.privacy.propagation" target="classFrame">MatrixMultiplicationPropagatorNaive</a></li>
 <li><a href="MatrixMultiplicationPropagatorPrivateFirst.html" title="class in org.apache.sysds.runtime.privacy.propagation" target="classFrame">MatrixMultiplicationPropagatorPrivateFirst</a></li>
 <li><a href="MatrixMultiplicationPropagatorPrivateFirstOptimized.html" title="class in org.apache.sysds.runtime.privacy.propagation" target="classFrame">MatrixMultiplicationPropagatorPrivateFirstOptimized</a></li>
 <li><a href="PrivacyPropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation" target="classFrame">PrivacyPropagator</a></li>
+<li><a href="RBindPropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation" target="classFrame">RBindPropagator</a></li>
 </ul>
 <h2 title="Enums">Enums</h2>
 <ul title="Enums">
diff --git a/docs/api/java/org/apache/sysds/runtime/privacy/propagation/package-summary.html b/docs/api/java/org/apache/sysds/runtime/privacy/propagation/package-summary.html
index 424fb6a..2c91461 100644
--- a/docs/api/java/org/apache/sysds/runtime/privacy/propagation/package-summary.html
+++ b/docs/api/java/org/apache/sysds/runtime/privacy/propagation/package-summary.html
@@ -85,7 +85,13 @@
 <tr class="altColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/Propagator.html" title="interface in org.apache.sysds.runtime.privacy.propagation">Propagator</a></td>
 <td class="colLast">
-<div class="block">Interface for all propagator instances.</div>
+<div class="block">Interface for all propagator instances with a single output.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/PropagatorMultiReturn.html" title="interface in org.apache.sysds.runtime.privacy.propagation">PropagatorMultiReturn</a></td>
+<td class="colLast">
+<div class="block">Interface for all propagator instances with multiple outputs.</div>
 </td>
 </tr>
 </tbody>
@@ -100,6 +106,22 @@
 </tr>
 <tbody>
 <tr class="altColor">
+<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/AppendPropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation">AppendPropagator</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/CBindPropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation">CBindPropagator</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/ListAppendPropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation">ListAppendPropagator</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/ListRemovePropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation">ListRemovePropagator</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/MatrixMultiplicationPropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation">MatrixMultiplicationPropagator</a></td>
 <td class="colLast">
 <div class="block">Used for propagating constraints in a matrix multiplication.</div>
@@ -133,6 +155,10 @@
  in expressions to generate the privacy constraints of the output.</div>
 </td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/RBindPropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation">RBindPropagator</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
 </tbody>
 </table>
 </li>
@@ -200,6 +226,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/privacy/propagation/package-tree.html b/docs/api/java/org/apache/sysds/runtime/privacy/propagation/package-tree.html
index f27cc55..b60037a 100644
--- a/docs/api/java/org/apache/sysds/runtime/privacy/propagation/package-tree.html
+++ b/docs/api/java/org/apache/sysds/runtime/privacy/propagation/package-tree.html
@@ -81,6 +81,14 @@
 <ul>
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
 <ul>
+<li type="circle">org.apache.sysds.runtime.privacy.propagation.<a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/AppendPropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation"><span class="typeNameLink">AppendPropagator</span></a> (implements org.apache.sysds.runtime.privacy.propagation.<a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/Propagator.html" title="interface in org.apache.sysds.runtime.privacy.propagation">Propagator</a>)
+<ul>
+<li type="circle">org.apache.sysds.runtime.privacy.propagation.<a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/CBindPropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation"><span class="typeNameLink">CBindPropagator</span></a></li>
+<li type="circle">org.apache.sysds.runtime.privacy.propagation.<a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/RBindPropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation"><span class="typeNameLink">RBindPropagator</span></a></li>
+</ul>
+</li>
+<li type="circle">org.apache.sysds.runtime.privacy.propagation.<a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/ListAppendPropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation"><span class="typeNameLink">ListAppendPropagator</span></a> (implements org.apache.sysds.runtime.privacy.propagation.<a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/Propagator.html" title="interface in org.apache.sysds.runtime.privacy.propagation">Propagator</a>)</li>
+<li type="circle">org.apache.sysds.runtime.privacy.propagation.<a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/ListRemovePropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation"><span class="typeNameLink">ListRemovePropagator</span></a> (implements org.apache.sysds.runtime.privacy.propagation.<a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/PropagatorMultiReturn.html" title="interface in org.apache.sysds.runtime.privacy.propagation">PropagatorMultiReturn</a>)</li>
 <li type="circle">org.apache.sysds.runtime.privacy.propagation.<a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/MatrixMultiplicationPropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation"><span class="typeNameLink">MatrixMultiplicationPropagator</span></a> (implements org.apache.sysds.runtime.privacy.propagation.<a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/Propagator.html" title="interface in org.apache.sysds.runtime.privacy.propagation">Propagator</a>)
 <ul>
 <li type="circle">org.apache.sysds.runtime.privacy.propagation.<a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/MatrixMultiplicationPropagatorNaive.html" title="class in org.apache.sysds.runtime.privacy.propagation"><span class="typeNameLink">MatrixMultiplicationPropagatorNaive</span></a></li>
@@ -95,6 +103,7 @@
 <h2 title="Interface Hierarchy">Interface Hierarchy</h2>
 <ul>
 <li type="circle">org.apache.sysds.runtime.privacy.propagation.<a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/Propagator.html" title="interface in org.apache.sysds.runtime.privacy.propagation"><span class="typeNameLink">Propagator</span></a></li>
+<li type="circle">org.apache.sysds.runtime.privacy.propagation.<a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/PropagatorMultiReturn.html" title="interface in org.apache.sysds.runtime.privacy.propagation"><span class="typeNameLink">PropagatorMultiReturn</span></a></li>
 </ul>
 <h2 title="Enum Hierarchy">Enum Hierarchy</h2>
 <ul>
@@ -156,6 +165,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/privacy/propagation/package-use.html b/docs/api/java/org/apache/sysds/runtime/privacy/propagation/package-use.html
index 52c0cd7..595bb82 100644
--- a/docs/api/java/org/apache/sysds/runtime/privacy/propagation/package-use.html
+++ b/docs/api/java/org/apache/sysds/runtime/privacy/propagation/package-use.html
@@ -99,16 +99,24 @@
 </tr>
 <tbody>
 <tr class="altColor">
+<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/class-use/AppendPropagator.html#org.apache.sysds.runtime.privacy.propagation">AppendPropagator</a>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/class-use/MatrixMultiplicationPropagator.html#org.apache.sysds.runtime.privacy.propagation">MatrixMultiplicationPropagator</a>
 <div class="block">Used for propagating constraints in a matrix multiplication.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/class-use/OperatorType.html#org.apache.sysds.runtime.privacy.propagation">OperatorType</a>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/class-use/Propagator.html#org.apache.sysds.runtime.privacy.propagation">Propagator</a>
-<div class="block">Interface for all propagator instances.</div>
+<div class="block">Interface for all propagator instances with a single output.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/privacy/propagation/class-use/PropagatorMultiReturn.html#org.apache.sysds.runtime.privacy.propagation">PropagatorMultiReturn</a>
+<div class="block">Interface for all propagator instances with multiple outputs.</div>
 </td>
 </tr>
 </tbody>
@@ -163,6 +171,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/TfUtils.TfMethod.html b/docs/api/java/org/apache/sysds/runtime/transform/TfUtils.TfMethod.html
index fe6382d..e53dfb8 100644
--- a/docs/api/java/org/apache/sysds/runtime/transform/TfUtils.TfMethod.html
+++ b/docs/api/java/org/apache/sysds/runtime/transform/TfUtils.TfMethod.html
@@ -418,6 +418,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/TfUtils.html b/docs/api/java/org/apache/sysds/runtime/transform/TfUtils.html
index 92c094c..08efa4f 100644
--- a/docs/api/java/org/apache/sysds/runtime/transform/TfUtils.html
+++ b/docs/api/java/org/apache/sysds/runtime/transform/TfUtils.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":9};
+var methods = {"i0":9,"i1":10,"i2":9,"i3":9};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -159,49 +159,53 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/transform/TfUtils.html#JSON_ATTRS">JSON_ATTRS</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/transform/TfUtils.html#EXT_SPACE">EXT_SPACE</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/transform/TfUtils.html#JSON_ATTRS">JSON_ATTRS</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/transform/TfUtils.html#JSON_CONSTS">JSON_CONSTS</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/transform/TfUtils.html#JSON_MTHD">JSON_MTHD</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/transform/TfUtils.html#JSON_NBINS">JSON_NBINS</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/transform/TfUtils.html#TXMTD_BIN_FILE_SUFFIX">TXMTD_BIN_FILE_SUFFIX</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/transform/TfUtils.html#TXMTD_COLNAMES">TXMTD_COLNAMES</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/transform/TfUtils.html#TXMTD_MV_FILE_SUFFIX">TXMTD_MV_FILE_SUFFIX</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/transform/TfUtils.html#TXMTD_MVPREFIX">TXMTD_MVPREFIX</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/transform/TfUtils.html#TXMTD_NDPREFIX">TXMTD_NDPREFIX</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/transform/TfUtils.html#TXMTD_RCD_DISTINCT_SUFFIX">TXMTD_RCD_DISTINCT_SUFFIX</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/transform/TfUtils.html#TXMTD_RCD_MAP_SUFFIX">TXMTD_RCD_MAP_SUFFIX</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/transform/TfUtils.html#TXMTD_SEP">TXMTD_SEP</a></span></code>&nbsp;</td>
 </tr>
@@ -238,36 +242,24 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
-<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html?is-external=true" title="class or interface in java.util.regex">Pattern</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/transform/TfUtils.html#getDelim--">getDelim</a></span>()</code>&nbsp;</td>
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/transform/TfUtils.html#desanitizeSpaces-java.lang.String-">desanitizeSpaces</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;token)</code>&nbsp;</td>
 </tr>
 <tr id="i1" class="rowColor">
-<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/transform/TfUtils.html#getDelimString--">getDelimString</a></span>()</code>&nbsp;</td>
-</tr>
-<tr id="i2" class="altColor">
-<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/transform/TfUtils.html#getHeader--">getHeader</a></span>()</code>&nbsp;</td>
-</tr>
-<tr id="i3" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/transform/TfUtils.html#getNAStrings--">getNAStrings</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i4" class="altColor">
-<td class="colFirst"><code>long</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/transform/TfUtils.html#getNumCols--">getNumCols</a></span>()</code>&nbsp;</td>
-</tr>
-<tr id="i5" class="rowColor">
-<td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/transform/TfUtils.html#hasHeader--">hasHeader</a></span>()</code>&nbsp;</td>
-</tr>
-<tr id="i6" class="altColor">
+<tr id="i2" class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/transform/TfUtils.html#isNA-java.lang.String:A-java.lang.String-">isNA</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;NAstrings,
     <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;w)</code>
 <div class="block">Function that checks if the given string is one of NA strings.</div>
 </td>
 </tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/transform/TfUtils.html#sanitizeSpaces-java.lang.String-">sanitizeSpaces</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;token)</code>&nbsp;</td>
+</tr>
 </table>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -436,7 +428,7 @@
 <a name="JSON_NBINS">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>JSON_NBINS</h4>
 <pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> JSON_NBINS</pre>
@@ -446,6 +438,19 @@
 </dl>
 </li>
 </ul>
+<a name="EXT_SPACE">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>EXT_SPACE</h4>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> EXT_SPACE</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.sysds.runtime.transform.TfUtils.EXT_SPACE">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 <!-- ========= CONSTRUCTOR DETAIL ======== -->
@@ -471,42 +476,6 @@
 <!--   -->
 </a>
 <h3>Method Detail</h3>
-<a name="getHeader--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getHeader</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getHeader()</pre>
-</li>
-</ul>
-<a name="hasHeader--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>hasHeader</h4>
-<pre>public&nbsp;boolean&nbsp;hasHeader()</pre>
-</li>
-</ul>
-<a name="getDelimString--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getDelimString</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getDelimString()</pre>
-</li>
-</ul>
-<a name="getDelim--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getDelim</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html?is-external=true" title="class or interface in java.util.regex">Pattern</a>&nbsp;getDelim()</pre>
-</li>
-</ul>
 <a name="getNAStrings--">
 <!--   -->
 </a>
@@ -516,19 +485,10 @@
 <pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;getNAStrings()</pre>
 </li>
 </ul>
-<a name="getNumCols--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getNumCols</h4>
-<pre>public&nbsp;long&nbsp;getNumCols()</pre>
-</li>
-</ul>
 <a name="isNA-java.lang.String:A-java.lang.String-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>isNA</h4>
 <pre>public static&nbsp;boolean&nbsp;isNA(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;NAstrings,
@@ -543,6 +503,24 @@
 </dl>
 </li>
 </ul>
+<a name="sanitizeSpaces-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>sanitizeSpaces</h4>
+<pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;sanitizeSpaces(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;token)</pre>
+</li>
+</ul>
+<a name="desanitizeSpaces-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>desanitizeSpaces</h4>
+<pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;desanitizeSpaces(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;token)</pre>
+</li>
+</ul>
 </li>
 </ul>
 </li>
@@ -612,6 +590,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/class-use/TfUtils.TfMethod.html b/docs/api/java/org/apache/sysds/runtime/transform/class-use/TfUtils.TfMethod.html
index 1196e31..0cb3c1e 100644
--- a/docs/api/java/org/apache/sysds/runtime/transform/class-use/TfUtils.TfMethod.html
+++ b/docs/api/java/org/apache/sysds/runtime/transform/class-use/TfUtils.TfMethod.html
@@ -169,6 +169,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/class-use/TfUtils.html b/docs/api/java/org/apache/sysds/runtime/transform/class-use/TfUtils.html
index c2db058..1156b73 100644
--- a/docs/api/java/org/apache/sysds/runtime/transform/class-use/TfUtils.html
+++ b/docs/api/java/org/apache/sysds/runtime/transform/class-use/TfUtils.html
@@ -161,6 +161,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/decode/Decoder.html b/docs/api/java/org/apache/sysds/runtime/transform/decode/Decoder.html
index 3c2f83f..3330f62 100644
--- a/docs/api/java/org/apache/sysds/runtime/transform/decode/Decoder.html
+++ b/docs/api/java/org/apache/sysds/runtime/transform/decode/Decoder.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":6,"i1":10,"i2":10,"i3":6,"i4":10,"i5":10,"i6":10};
+var methods = {"i0":6,"i1":10,"i2":10,"i3":6,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -109,7 +109,7 @@
 <li class="blockList">
 <dl>
 <dt>All Implemented Interfaces:</dt>
-<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></dd>
+<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true" title="class or interface in java.io">Externalizable</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></dd>
 </dl>
 <dl>
 <dt>Direct Known Subclasses:</dt>
@@ -119,7 +119,7 @@
 <br>
 <pre>public abstract class <span class="typeNameLabel">Decoder</span>
 extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
-implements <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></pre>
+implements <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true" title="class or interface in java.io">Externalizable</a></pre>
 <div class="block">Base class for all transform decoders providing both a row and block
  interface for decoding matrices to frames.</div>
 <dl>
@@ -165,9 +165,16 @@
 </tr>
 <tr id="i4" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/decode/Decoder.html#setColnames-java.lang.String:A-">setColnames</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;colnames)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/decode/Decoder.html#readExternal-java.io.ObjectInput-">readExternal</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectInput.html?is-external=true" title="class or interface in java.io">ObjectInput</a>&nbsp;in)</code>
+<div class="block">Redirects the default java serialization via externalizable to our default
+ hadoop writable serialization for efficient broadcast/rdd deserialization.</div>
+</td>
 </tr>
 <tr id="i5" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/decode/Decoder.html#setColnames-java.lang.String:A-">setColnames</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;colnames)</code>&nbsp;</td>
+</tr>
+<tr id="i6" class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/transform/decode/Decoder.html" title="class in org.apache.sysds.runtime.transform.decode">Decoder</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/decode/Decoder.html#subRangeDecoder-int-int-int-">subRangeDecoder</a></span>(int&nbsp;colStart,
                int&nbsp;colEnd,
@@ -175,13 +182,20 @@
 <div class="block">Returns a new Decoder that only handles a sub range of columns.</div>
 </td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/decode/Decoder.html#updateIndexRanges-long:A-long:A-">updateIndexRanges</a></span>(long[]&nbsp;beginDims,
                  long[]&nbsp;endDims)</code>
 <div class="block">Update index-ranges to after decoding.</div>
 </td>
 </tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/decode/Decoder.html#writeExternal-java.io.ObjectOutput-">writeExternal</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectOutput.html?is-external=true" title="class or interface in java.io">ObjectOutput</a>&nbsp;os)</code>
+<div class="block">Redirects the default java serialization via externalizable to our default
+ hadoop writable serialization for efficient broadcast/rdd serialization.</div>
+</td>
+</tr>
 </table>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -289,12 +303,52 @@
 <a name="initMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>initMetaData</h4>
 <pre>public abstract&nbsp;void&nbsp;initMetaData(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</pre>
 </li>
 </ul>
+<a name="writeExternal-java.io.ObjectOutput-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>writeExternal</h4>
+<pre>public&nbsp;void&nbsp;writeExternal(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectOutput.html?is-external=true" title="class or interface in java.io">ObjectOutput</a>&nbsp;os)
+                   throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block">Redirects the default java serialization via externalizable to our default
+ hadoop writable serialization for efficient broadcast/rdd serialization.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true#writeExternal-java.io.ObjectOutput-" title="class or interface in java.io">writeExternal</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true" title="class or interface in java.io">Externalizable</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>os</code> - object output</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if IOException occurs</dd>
+</dl>
+</li>
+</ul>
+<a name="readExternal-java.io.ObjectInput-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>readExternal</h4>
+<pre>public&nbsp;void&nbsp;readExternal(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectInput.html?is-external=true" title="class or interface in java.io">ObjectInput</a>&nbsp;in)
+                  throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block">Redirects the default java serialization via externalizable to our default
+ hadoop writable serialization for efficient broadcast/rdd deserialization.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true#readExternal-java.io.ObjectInput-" title="class or interface in java.io">readExternal</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true" title="class or interface in java.io">Externalizable</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>in</code> - object input</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if IOException occur</dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>
@@ -364,6 +418,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/decode/DecoderComposite.html b/docs/api/java/org/apache/sysds/runtime/transform/decode/DecoderComposite.html
index 5901ae2..bafb9eb 100644
--- a/docs/api/java/org/apache/sysds/runtime/transform/decode/DecoderComposite.html
+++ b/docs/api/java/org/apache/sysds/runtime/transform/decode/DecoderComposite.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -76,13 +76,13 @@
 <li>Summary:&nbsp;</li>
 <li>Nested&nbsp;|&nbsp;</li>
 <li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
 <li><a href="#method.summary">Method</a></li>
 </ul>
 <ul class="subNavList">
 <li>Detail:&nbsp;</li>
 <li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
 <li><a href="#method.detail">Method</a></li>
 </ul>
 </div>
@@ -114,7 +114,7 @@
 <li class="blockList">
 <dl>
 <dt>All Implemented Interfaces:</dt>
-<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></dd>
+<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true" title="class or interface in java.io">Externalizable</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></dd>
 </dl>
 <hr>
 <br>
@@ -133,6 +133,23 @@
 <div class="summary">
 <ul class="blockList">
 <li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/decode/DecoderComposite.html#DecoderComposite--">DecoderComposite</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
 <!-- ========== METHOD SUMMARY =========== -->
 <ul class="blockList">
 <li class="blockList"><a name="method.summary">
@@ -157,6 +174,13 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/decode/DecoderComposite.html#initMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">initMetaData</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</code>&nbsp;</td>
 </tr>
 <tr id="i2" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/decode/DecoderComposite.html#readExternal-java.io.ObjectInput-">readExternal</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectInput.html?is-external=true" title="class or interface in java.io">ObjectInput</a>&nbsp;in)</code>
+<div class="block">Redirects the default java serialization via externalizable to our default
+ hadoop writable serialization for efficient broadcast/rdd deserialization.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/transform/decode/Decoder.html" title="class in org.apache.sysds.runtime.transform.decode">Decoder</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/decode/DecoderComposite.html#subRangeDecoder-int-int-int-">subRangeDecoder</a></span>(int&nbsp;colStart,
                int&nbsp;colEnd,
@@ -164,13 +188,20 @@
 <div class="block">Returns a new Decoder that only handles a sub range of columns.</div>
 </td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/decode/DecoderComposite.html#updateIndexRanges-long:A-long:A-">updateIndexRanges</a></span>(long[]&nbsp;beginDims,
                  long[]&nbsp;endDims)</code>
 <div class="block">Update index-ranges to after decoding.</div>
 </td>
 </tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/decode/DecoderComposite.html#writeExternal-java.io.ObjectOutput-">writeExternal</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectOutput.html?is-external=true" title="class or interface in java.io">ObjectOutput</a>&nbsp;out)</code>
+<div class="block">Redirects the default java serialization via externalizable to our default
+ hadoop writable serialization for efficient broadcast/rdd serialization.</div>
+</td>
+</tr>
 </table>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.transform.decode.Decoder">
@@ -194,6 +225,23 @@
 <div class="details">
 <ul class="blockList">
 <li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="DecoderComposite--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>DecoderComposite</h4>
+<pre>public&nbsp;DecoderComposite()</pre>
+</li>
+</ul>
+</li>
+</ul>
 <!-- ============ METHOD DETAIL ========== -->
 <ul class="blockList">
 <li class="blockList"><a name="method.detail">
@@ -267,7 +315,7 @@
 <a name="initMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>initMetaData</h4>
 <pre>public&nbsp;void&nbsp;initMetaData(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</pre>
@@ -277,6 +325,52 @@
 </dl>
 </li>
 </ul>
+<a name="writeExternal-java.io.ObjectOutput-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>writeExternal</h4>
+<pre>public&nbsp;void&nbsp;writeExternal(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectOutput.html?is-external=true" title="class or interface in java.io">ObjectOutput</a>&nbsp;out)
+                   throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/decode/Decoder.html#writeExternal-java.io.ObjectOutput-">Decoder</a></code></span></div>
+<div class="block">Redirects the default java serialization via externalizable to our default
+ hadoop writable serialization for efficient broadcast/rdd serialization.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true#writeExternal-java.io.ObjectOutput-" title="class or interface in java.io">writeExternal</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true" title="class or interface in java.io">Externalizable</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/decode/Decoder.html#writeExternal-java.io.ObjectOutput-">writeExternal</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/decode/Decoder.html" title="class in org.apache.sysds.runtime.transform.decode">Decoder</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>out</code> - object output</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if IOException occurs</dd>
+</dl>
+</li>
+</ul>
+<a name="readExternal-java.io.ObjectInput-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>readExternal</h4>
+<pre>public&nbsp;void&nbsp;readExternal(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectInput.html?is-external=true" title="class or interface in java.io">ObjectInput</a>&nbsp;in)
+                  throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/decode/Decoder.html#readExternal-java.io.ObjectInput-">Decoder</a></code></span></div>
+<div class="block">Redirects the default java serialization via externalizable to our default
+ hadoop writable serialization for efficient broadcast/rdd deserialization.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true#readExternal-java.io.ObjectInput-" title="class or interface in java.io">readExternal</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true" title="class or interface in java.io">Externalizable</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/decode/Decoder.html#readExternal-java.io.ObjectInput-">readExternal</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/decode/Decoder.html" title="class in org.apache.sysds.runtime.transform.decode">Decoder</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>in</code> - object input</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if IOException occur</dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>
@@ -332,13 +426,13 @@
 <li>Summary:&nbsp;</li>
 <li>Nested&nbsp;|&nbsp;</li>
 <li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
 <li><a href="#method.summary">Method</a></li>
 </ul>
 <ul class="subNavList">
 <li>Detail:&nbsp;</li>
 <li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
 <li><a href="#method.detail">Method</a></li>
 </ul>
 </div>
@@ -346,6 +440,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/decode/DecoderDummycode.html b/docs/api/java/org/apache/sysds/runtime/transform/decode/DecoderDummycode.html
index 5a0552f..c65d6ba 100644
--- a/docs/api/java/org/apache/sysds/runtime/transform/decode/DecoderDummycode.html
+++ b/docs/api/java/org/apache/sysds/runtime/transform/decode/DecoderDummycode.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -114,7 +114,7 @@
 <li class="blockList">
 <dl>
 <dt>All Implemented Interfaces:</dt>
-<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></dd>
+<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true" title="class or interface in java.io">Externalizable</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></dd>
 </dl>
 <hr>
 <br>
@@ -156,6 +156,13 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/decode/DecoderDummycode.html#initMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">initMetaData</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</code>&nbsp;</td>
 </tr>
 <tr id="i2" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/decode/DecoderDummycode.html#readExternal-java.io.ObjectInput-">readExternal</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectInput.html?is-external=true" title="class or interface in java.io">ObjectInput</a>&nbsp;in)</code>
+<div class="block">Redirects the default java serialization via externalizable to our default
+ hadoop writable serialization for efficient broadcast/rdd deserialization.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/transform/decode/Decoder.html" title="class in org.apache.sysds.runtime.transform.decode">Decoder</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/decode/DecoderDummycode.html#subRangeDecoder-int-int-int-">subRangeDecoder</a></span>(int&nbsp;colStart,
                int&nbsp;colEnd,
@@ -163,13 +170,20 @@
 <div class="block">Returns a new Decoder that only handles a sub range of columns.</div>
 </td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/decode/DecoderDummycode.html#updateIndexRanges-long:A-long:A-">updateIndexRanges</a></span>(long[]&nbsp;beginDims,
                  long[]&nbsp;endDims)</code>
 <div class="block">Update index-ranges to after decoding.</div>
 </td>
 </tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/decode/DecoderDummycode.html#writeExternal-java.io.ObjectOutput-">writeExternal</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectOutput.html?is-external=true" title="class or interface in java.io">ObjectOutput</a>&nbsp;os)</code>
+<div class="block">Redirects the default java serialization via externalizable to our default
+ hadoop writable serialization for efficient broadcast/rdd serialization.</div>
+</td>
+</tr>
 </table>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.transform.decode.Decoder">
@@ -266,7 +280,7 @@
 <a name="initMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>initMetaData</h4>
 <pre>public&nbsp;void&nbsp;initMetaData(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</pre>
@@ -276,6 +290,52 @@
 </dl>
 </li>
 </ul>
+<a name="writeExternal-java.io.ObjectOutput-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>writeExternal</h4>
+<pre>public&nbsp;void&nbsp;writeExternal(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectOutput.html?is-external=true" title="class or interface in java.io">ObjectOutput</a>&nbsp;os)
+                   throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/decode/Decoder.html#writeExternal-java.io.ObjectOutput-">Decoder</a></code></span></div>
+<div class="block">Redirects the default java serialization via externalizable to our default
+ hadoop writable serialization for efficient broadcast/rdd serialization.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true#writeExternal-java.io.ObjectOutput-" title="class or interface in java.io">writeExternal</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true" title="class or interface in java.io">Externalizable</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/decode/Decoder.html#writeExternal-java.io.ObjectOutput-">writeExternal</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/decode/Decoder.html" title="class in org.apache.sysds.runtime.transform.decode">Decoder</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>os</code> - object output</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if IOException occurs</dd>
+</dl>
+</li>
+</ul>
+<a name="readExternal-java.io.ObjectInput-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>readExternal</h4>
+<pre>public&nbsp;void&nbsp;readExternal(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectInput.html?is-external=true" title="class or interface in java.io">ObjectInput</a>&nbsp;in)
+                  throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/decode/Decoder.html#readExternal-java.io.ObjectInput-">Decoder</a></code></span></div>
+<div class="block">Redirects the default java serialization via externalizable to our default
+ hadoop writable serialization for efficient broadcast/rdd deserialization.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true#readExternal-java.io.ObjectInput-" title="class or interface in java.io">readExternal</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true" title="class or interface in java.io">Externalizable</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/decode/Decoder.html#readExternal-java.io.ObjectInput-">readExternal</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/decode/Decoder.html" title="class in org.apache.sysds.runtime.transform.decode">Decoder</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>in</code> - object input</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if IOException occur</dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>
@@ -345,6 +405,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html b/docs/api/java/org/apache/sysds/runtime/transform/decode/DecoderFactory.DecoderType.html
similarity index 68%
copy from docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html
copy to docs/api/java/org/apache/sysds/runtime/transform/decode/DecoderFactory.DecoderType.html
index cd7d096..b9a9204 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html
+++ b/docs/api/java/org/apache/sysds/runtime/transform/decode/DecoderFactory.DecoderType.html
@@ -4,7 +4,7 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ColGroup.CompressionType (SystemDS 2.1.0-SNAPSHOT API)</title>
+<title>DecoderFactory.DecoderType (SystemDS 2.1.0-SNAPSHOT API)</title>
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ColGroup.CompressionType (SystemDS 2.1.0-SNAPSHOT API)";
+            parent.document.title="DecoderFactory.DecoderType (SystemDS 2.1.0-SNAPSHOT API)";
         }
     }
     catch(err) {
@@ -40,7 +40,7 @@
 <li><a href="../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="package-summary.html">Package</a></li>
 <li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/ColGroup.CompressionType.html">Use</a></li>
+<li><a href="class-use/DecoderFactory.DecoderType.html">Use</a></li>
 <li><a href="package-tree.html">Tree</a></li>
 <li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
 <li><a href="../../../../../../index-all.html">Index</a></li>
@@ -49,12 +49,12 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/transform/decode/DecoderFactory.html" title="class in org.apache.sysds.runtime.transform.decode"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/transform/decode/DecoderPassThrough.html" title="class in org.apache.sysds.runtime.transform.decode"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" target="_top">Frames</a></li>
-<li><a href="ColGroup.CompressionType.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/transform/decode/DecoderFactory.DecoderType.html" target="_top">Frames</a></li>
+<li><a href="DecoderFactory.DecoderType.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
 <li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -92,18 +92,18 @@
 <!-- ========= END OF TOP NAVBAR ========= -->
 <!-- ======== START OF CLASS DATA ======== -->
 <div class="header">
-<div class="subTitle">org.apache.sysds.runtime.compress.colgroup</div>
-<h2 title="Enum ColGroup.CompressionType" class="title">Enum ColGroup.CompressionType</h2>
+<div class="subTitle">org.apache.sysds.runtime.transform.decode</div>
+<h2 title="Enum DecoderFactory.DecoderType" class="title">Enum DecoderFactory.DecoderType</h2>
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
 <li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
-<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">java.lang.Enum</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>&gt;</li>
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">java.lang.Enum</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/transform/decode/DecoderFactory.DecoderType.html" title="enum in org.apache.sysds.runtime.transform.decode">DecoderFactory.DecoderType</a>&gt;</li>
 <li>
 <ul class="inheritance">
-<li>org.apache.sysds.runtime.compress.colgroup.ColGroup.CompressionType</li>
+<li>org.apache.sysds.runtime.transform.decode.DecoderFactory.DecoderType</li>
 </ul>
 </li>
 </ul>
@@ -114,23 +114,16 @@
 <li class="blockList">
 <dl>
 <dt>All Implemented Interfaces:</dt>
-<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>&gt;</dd>
+<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/transform/decode/DecoderFactory.DecoderType.html" title="enum in org.apache.sysds.runtime.transform.decode">DecoderFactory.DecoderType</a>&gt;</dd>
 </dl>
 <dl>
 <dt>Enclosing class:</dt>
-<dd><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></dd>
+<dd><a href="../../../../../../org/apache/sysds/runtime/transform/decode/DecoderFactory.html" title="class in org.apache.sysds.runtime.transform.decode">DecoderFactory</a></dd>
 </dl>
 <hr>
 <br>
-<pre>public static enum <span class="typeNameLabel">ColGroup.CompressionType</span>
-extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>&gt;</pre>
-<div class="block">Public Group types supported
- 
- Note For instance DDC is called DDC not DDC1, or DDC2 which is a specific subtype of the DDC. That
- differentiation is hidden to a user.
- 
- Includes Uncompressed for sparse/dense representation RLE for Run length encoding OLE for Offset Length encoding
- DDC for Dense dictionary encoding</div>
+<pre>public static enum <span class="typeNameLabel">DecoderFactory.DecoderType</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/transform/decode/DecoderFactory.DecoderType.html" title="enum in org.apache.sysds.runtime.transform.decode">DecoderFactory.DecoderType</a>&gt;</pre>
 </li>
 </ul>
 </div>
@@ -149,19 +142,13 @@
 <th class="colOne" scope="col">Enum Constant and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html#CONST">CONST</a></span></code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/decode/DecoderFactory.DecoderType.html#Dummycode">Dummycode</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html#DDC">DDC</a></span></code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/decode/DecoderFactory.DecoderType.html#PassThrough">PassThrough</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html#OLE">OLE</a></span></code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html#RLE">RLE</a></span></code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html#UNCOMPRESSED">UNCOMPRESSED</a></span></code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/decode/DecoderFactory.DecoderType.html#Recode">Recode</a></span></code>&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -179,14 +166,14 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html#valueOf-java.lang.String-">valueOf</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/transform/decode/DecoderFactory.DecoderType.html" title="enum in org.apache.sysds.runtime.transform.decode">DecoderFactory.DecoderType</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/decode/DecoderFactory.DecoderType.html#valueOf-java.lang.String-">valueOf</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
 <div class="block">Returns the enum constant of this type with the specified name.</div>
 </td>
 </tr>
 <tr id="i1" class="rowColor">
-<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>[]</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html#values--">values</a></span>()</code>
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/transform/decode/DecoderFactory.DecoderType.html" title="enum in org.apache.sysds.runtime.transform.decode">DecoderFactory.DecoderType</a>[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/decode/DecoderFactory.DecoderType.html#values--">values</a></span>()</code>
 <div class="block">Returns an array containing the constants of this enum type, in
 the order they are declared.</div>
 </td>
@@ -220,49 +207,31 @@
 <!--   -->
 </a>
 <h3>Enum Constant Detail</h3>
-<a name="UNCOMPRESSED">
+<a name="Dummycode">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>UNCOMPRESSED</h4>
-<pre>public static final&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a> UNCOMPRESSED</pre>
+<h4>Dummycode</h4>
+<pre>public static final&nbsp;<a href="../../../../../../org/apache/sysds/runtime/transform/decode/DecoderFactory.DecoderType.html" title="enum in org.apache.sysds.runtime.transform.decode">DecoderFactory.DecoderType</a> Dummycode</pre>
 </li>
 </ul>
-<a name="RLE">
+<a name="PassThrough">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>RLE</h4>
-<pre>public static final&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a> RLE</pre>
+<h4>PassThrough</h4>
+<pre>public static final&nbsp;<a href="../../../../../../org/apache/sysds/runtime/transform/decode/DecoderFactory.DecoderType.html" title="enum in org.apache.sysds.runtime.transform.decode">DecoderFactory.DecoderType</a> PassThrough</pre>
 </li>
 </ul>
-<a name="OLE">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>OLE</h4>
-<pre>public static final&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a> OLE</pre>
-</li>
-</ul>
-<a name="DDC">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>DDC</h4>
-<pre>public static final&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a> DDC</pre>
-</li>
-</ul>
-<a name="CONST">
+<a name="Recode">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>CONST</h4>
-<pre>public static final&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a> CONST</pre>
+<h4>Recode</h4>
+<pre>public static final&nbsp;<a href="../../../../../../org/apache/sysds/runtime/transform/decode/DecoderFactory.DecoderType.html" title="enum in org.apache.sysds.runtime.transform.decode">DecoderFactory.DecoderType</a> Recode</pre>
 </li>
 </ul>
 </li>
@@ -279,12 +248,12 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>values</h4>
-<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>[]&nbsp;values()</pre>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/transform/decode/DecoderFactory.DecoderType.html" title="enum in org.apache.sysds.runtime.transform.decode">DecoderFactory.DecoderType</a>[]&nbsp;values()</pre>
 <div class="block">Returns an array containing the constants of this enum type, in
 the order they are declared.  This method may be used to iterate
 over the constants as follows:
 <pre>
-for (ColGroup.CompressionType c : ColGroup.CompressionType.values())
+for (DecoderFactory.DecoderType c : DecoderFactory.DecoderType.values())
 &nbsp;   System.out.println(c);
 </pre></div>
 <dl>
@@ -299,7 +268,7 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>valueOf</h4>
-<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>&nbsp;valueOf(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/transform/decode/DecoderFactory.DecoderType.html" title="enum in org.apache.sysds.runtime.transform.decode">DecoderFactory.DecoderType</a>&nbsp;valueOf(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
 enum constant in this type.  (Extraneous whitespace characters are 
@@ -334,7 +303,7 @@
 <li><a href="../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="package-summary.html">Package</a></li>
 <li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/ColGroup.CompressionType.html">Use</a></li>
+<li><a href="class-use/DecoderFactory.DecoderType.html">Use</a></li>
 <li><a href="package-tree.html">Tree</a></li>
 <li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
 <li><a href="../../../../../../index-all.html">Index</a></li>
@@ -343,12 +312,12 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/transform/decode/DecoderFactory.html" title="class in org.apache.sysds.runtime.transform.decode"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/transform/decode/DecoderPassThrough.html" title="class in org.apache.sysds.runtime.transform.decode"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" target="_top">Frames</a></li>
-<li><a href="ColGroup.CompressionType.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/transform/decode/DecoderFactory.DecoderType.html" target="_top">Frames</a></li>
+<li><a href="DecoderFactory.DecoderType.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
 <li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -384,6 +353,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/decode/DecoderFactory.html b/docs/api/java/org/apache/sysds/runtime/transform/decode/DecoderFactory.html
index 047d15c..df534d7 100644
--- a/docs/api/java/org/apache/sysds/runtime/transform/decode/DecoderFactory.html
+++ b/docs/api/java/org/apache/sysds/runtime/transform/decode/DecoderFactory.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":9,"i2":9,"i3":9};
+var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -50,7 +50,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../../org/apache/sysds/runtime/transform/decode/DecoderDummycode.html" title="class in org.apache.sysds.runtime.transform.decode"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/transform/decode/DecoderPassThrough.html" title="class in org.apache.sysds.runtime.transform.decode"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/transform/decode/DecoderFactory.DecoderType.html" title="enum in org.apache.sysds.runtime.transform.decode"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/sysds/runtime/transform/decode/DecoderFactory.html" target="_top">Frames</a></li>
@@ -74,7 +74,7 @@
 <div>
 <ul class="subNavList">
 <li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
 <li>Field&nbsp;|&nbsp;</li>
 <li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
 <li><a href="#method.summary">Method</a></li>
@@ -117,6 +117,25 @@
 <div class="summary">
 <ul class="blockList">
 <li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!--   -->
+</a>
+<h3>Nested Class Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
+<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/decode/DecoderFactory.DecoderType.html" title="enum in org.apache.sysds.runtime.transform.decode">DecoderFactory.DecoderType</a></span></code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
 <!-- ======== CONSTRUCTOR SUMMARY ======== -->
 <ul class="blockList">
 <li class="blockList"><a name="constructor.summary">
@@ -180,6 +199,14 @@
              int&nbsp;minCol,
              int&nbsp;maxCol)</code>&nbsp;</td>
 </tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/transform/decode/Decoder.html" title="class in org.apache.sysds.runtime.transform.decode">Decoder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/decode/DecoderFactory.html#createInstance-int-">createInstance</a></span>(int&nbsp;type)</code>&nbsp;</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>static int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/decode/DecoderFactory.html#getDecoderType-org.apache.sysds.runtime.transform.decode.Decoder-">getDecoderType</a></span>(<a href="../../../../../../org/apache/sysds/runtime/transform/decode/Decoder.html" title="class in org.apache.sysds.runtime.transform.decode">Decoder</a>&nbsp;decoder)</code>&nbsp;</td>
+</tr>
 </table>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -261,7 +288,7 @@
 <a name="createDecoder-java.lang.String-java.lang.String:A-org.apache.sysds.common.Types.ValueType:A-org.apache.sysds.runtime.matrix.data.FrameBlock-int-int-int-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>createDecoder</h4>
 <pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/transform/decode/Decoder.html" title="class in org.apache.sysds.runtime.transform.decode">Decoder</a>&nbsp;createDecoder(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;spec,
@@ -273,6 +300,24 @@
                                     int&nbsp;maxCol)</pre>
 </li>
 </ul>
+<a name="getDecoderType-org.apache.sysds.runtime.transform.decode.Decoder-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getDecoderType</h4>
+<pre>public static&nbsp;int&nbsp;getDecoderType(<a href="../../../../../../org/apache/sysds/runtime/transform/decode/Decoder.html" title="class in org.apache.sysds.runtime.transform.decode">Decoder</a>&nbsp;decoder)</pre>
+</li>
+</ul>
+<a name="createInstance-int-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>createInstance</h4>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/transform/decode/Decoder.html" title="class in org.apache.sysds.runtime.transform.decode">Decoder</a>&nbsp;createInstance(int&nbsp;type)</pre>
+</li>
+</ul>
 </li>
 </ul>
 </li>
@@ -302,7 +347,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../../org/apache/sysds/runtime/transform/decode/DecoderDummycode.html" title="class in org.apache.sysds.runtime.transform.decode"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/transform/decode/DecoderPassThrough.html" title="class in org.apache.sysds.runtime.transform.decode"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/transform/decode/DecoderFactory.DecoderType.html" title="enum in org.apache.sysds.runtime.transform.decode"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/sysds/runtime/transform/decode/DecoderFactory.html" target="_top">Frames</a></li>
@@ -326,7 +371,7 @@
 <div>
 <ul class="subNavList">
 <li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
 <li>Field&nbsp;|&nbsp;</li>
 <li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
 <li><a href="#method.summary">Method</a></li>
@@ -342,6 +387,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/decode/DecoderPassThrough.html b/docs/api/java/org/apache/sysds/runtime/transform/decode/DecoderPassThrough.html
index 76e2cb4..13493ea 100644
--- a/docs/api/java/org/apache/sysds/runtime/transform/decode/DecoderPassThrough.html
+++ b/docs/api/java/org/apache/sysds/runtime/transform/decode/DecoderPassThrough.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -49,7 +49,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/transform/decode/DecoderFactory.html" title="class in org.apache.sysds.runtime.transform.decode"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/transform/decode/DecoderFactory.DecoderType.html" title="enum in org.apache.sysds.runtime.transform.decode"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../../org/apache/sysds/runtime/transform/decode/DecoderRecode.html" title="class in org.apache.sysds.runtime.transform.decode"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -76,13 +76,13 @@
 <li>Summary:&nbsp;</li>
 <li>Nested&nbsp;|&nbsp;</li>
 <li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
 <li><a href="#method.summary">Method</a></li>
 </ul>
 <ul class="subNavList">
 <li>Detail:&nbsp;</li>
 <li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
 <li><a href="#method.detail">Method</a></li>
 </ul>
 </div>
@@ -114,7 +114,7 @@
 <li class="blockList">
 <dl>
 <dt>All Implemented Interfaces:</dt>
-<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></dd>
+<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true" title="class or interface in java.io">Externalizable</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></dd>
 </dl>
 <hr>
 <br>
@@ -132,6 +132,23 @@
 <div class="summary">
 <ul class="blockList">
 <li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/decode/DecoderPassThrough.html#DecoderPassThrough--">DecoderPassThrough</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
 <!-- ========== METHOD SUMMARY =========== -->
 <ul class="blockList">
 <li class="blockList"><a name="method.summary">
@@ -156,6 +173,13 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/decode/DecoderPassThrough.html#initMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">initMetaData</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</code>&nbsp;</td>
 </tr>
 <tr id="i2" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/decode/DecoderPassThrough.html#readExternal-java.io.ObjectInput-">readExternal</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectInput.html?is-external=true" title="class or interface in java.io">ObjectInput</a>&nbsp;in)</code>
+<div class="block">Redirects the default java serialization via externalizable to our default
+ hadoop writable serialization for efficient broadcast/rdd deserialization.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/transform/decode/Decoder.html" title="class in org.apache.sysds.runtime.transform.decode">Decoder</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/decode/DecoderPassThrough.html#subRangeDecoder-int-int-int-">subRangeDecoder</a></span>(int&nbsp;colStart,
                int&nbsp;colEnd,
@@ -163,6 +187,13 @@
 <div class="block">Returns a new Decoder that only handles a sub range of columns.</div>
 </td>
 </tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/decode/DecoderPassThrough.html#writeExternal-java.io.ObjectOutput-">writeExternal</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectOutput.html?is-external=true" title="class or interface in java.io">ObjectOutput</a>&nbsp;os)</code>
+<div class="block">Redirects the default java serialization via externalizable to our default
+ hadoop writable serialization for efficient broadcast/rdd serialization.</div>
+</td>
+</tr>
 </table>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.transform.decode.Decoder">
@@ -186,6 +217,23 @@
 <div class="details">
 <ul class="blockList">
 <li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="DecoderPassThrough--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>DecoderPassThrough</h4>
+<pre>public&nbsp;DecoderPassThrough()</pre>
+</li>
+</ul>
+</li>
+</ul>
 <!-- ============ METHOD DETAIL ========== -->
 <ul class="blockList">
 <li class="blockList"><a name="method.detail">
@@ -240,7 +288,7 @@
 <a name="initMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>initMetaData</h4>
 <pre>public&nbsp;void&nbsp;initMetaData(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</pre>
@@ -250,6 +298,52 @@
 </dl>
 </li>
 </ul>
+<a name="writeExternal-java.io.ObjectOutput-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>writeExternal</h4>
+<pre>public&nbsp;void&nbsp;writeExternal(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectOutput.html?is-external=true" title="class or interface in java.io">ObjectOutput</a>&nbsp;os)
+                   throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/decode/Decoder.html#writeExternal-java.io.ObjectOutput-">Decoder</a></code></span></div>
+<div class="block">Redirects the default java serialization via externalizable to our default
+ hadoop writable serialization for efficient broadcast/rdd serialization.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true#writeExternal-java.io.ObjectOutput-" title="class or interface in java.io">writeExternal</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true" title="class or interface in java.io">Externalizable</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/decode/Decoder.html#writeExternal-java.io.ObjectOutput-">writeExternal</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/decode/Decoder.html" title="class in org.apache.sysds.runtime.transform.decode">Decoder</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>os</code> - object output</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if IOException occurs</dd>
+</dl>
+</li>
+</ul>
+<a name="readExternal-java.io.ObjectInput-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>readExternal</h4>
+<pre>public&nbsp;void&nbsp;readExternal(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectInput.html?is-external=true" title="class or interface in java.io">ObjectInput</a>&nbsp;in)
+                  throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/decode/Decoder.html#readExternal-java.io.ObjectInput-">Decoder</a></code></span></div>
+<div class="block">Redirects the default java serialization via externalizable to our default
+ hadoop writable serialization for efficient broadcast/rdd deserialization.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true#readExternal-java.io.ObjectInput-" title="class or interface in java.io">readExternal</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true" title="class or interface in java.io">Externalizable</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/decode/Decoder.html#readExternal-java.io.ObjectInput-">readExternal</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/decode/Decoder.html" title="class in org.apache.sysds.runtime.transform.decode">Decoder</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>in</code> - object input</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if IOException occur</dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>
@@ -278,7 +372,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/transform/decode/DecoderFactory.html" title="class in org.apache.sysds.runtime.transform.decode"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/transform/decode/DecoderFactory.DecoderType.html" title="enum in org.apache.sysds.runtime.transform.decode"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../../org/apache/sysds/runtime/transform/decode/DecoderRecode.html" title="class in org.apache.sysds.runtime.transform.decode"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -305,13 +399,13 @@
 <li>Summary:&nbsp;</li>
 <li>Nested&nbsp;|&nbsp;</li>
 <li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
 <li><a href="#method.summary">Method</a></li>
 </ul>
 <ul class="subNavList">
 <li>Detail:&nbsp;</li>
 <li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
 <li><a href="#method.detail">Method</a></li>
 </ul>
 </div>
@@ -319,6 +413,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/decode/DecoderRecode.html b/docs/api/java/org/apache/sysds/runtime/transform/decode/DecoderRecode.html
index e23fd5c..4d910e7 100644
--- a/docs/api/java/org/apache/sysds/runtime/transform/decode/DecoderRecode.html
+++ b/docs/api/java/org/apache/sysds/runtime/transform/decode/DecoderRecode.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":9,"i3":10};
+var methods = {"i0":10,"i1":10,"i2":9,"i3":10,"i4":10,"i5":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -76,13 +76,13 @@
 <li>Summary:&nbsp;</li>
 <li>Nested&nbsp;|&nbsp;</li>
 <li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
 <li><a href="#method.summary">Method</a></li>
 </ul>
 <ul class="subNavList">
 <li>Detail:&nbsp;</li>
 <li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
 <li><a href="#method.detail">Method</a></li>
 </ul>
 </div>
@@ -114,7 +114,7 @@
 <li class="blockList">
 <dl>
 <dt>All Implemented Interfaces:</dt>
-<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></dd>
+<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true" title="class or interface in java.io">Externalizable</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></dd>
 </dl>
 <hr>
 <br>
@@ -132,6 +132,23 @@
 <div class="summary">
 <ul class="blockList">
 <li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/decode/DecoderRecode.html#DecoderRecode--">DecoderRecode</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
 <!-- ========== METHOD SUMMARY =========== -->
 <ul class="blockList">
 <li class="blockList"><a name="method.summary">
@@ -164,6 +181,13 @@
 </td>
 </tr>
 <tr id="i3" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/decode/DecoderRecode.html#readExternal-java.io.ObjectInput-">readExternal</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectInput.html?is-external=true" title="class or interface in java.io">ObjectInput</a>&nbsp;in)</code>
+<div class="block">Redirects the default java serialization via externalizable to our default
+ hadoop writable serialization for efficient broadcast/rdd deserialization.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/transform/decode/Decoder.html" title="class in org.apache.sysds.runtime.transform.decode">Decoder</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/decode/DecoderRecode.html#subRangeDecoder-int-int-int-">subRangeDecoder</a></span>(int&nbsp;colStart,
                int&nbsp;colEnd,
@@ -171,6 +195,13 @@
 <div class="block">Returns a new Decoder that only handles a sub range of columns.</div>
 </td>
 </tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/decode/DecoderRecode.html#writeExternal-java.io.ObjectOutput-">writeExternal</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectOutput.html?is-external=true" title="class or interface in java.io">ObjectOutput</a>&nbsp;out)</code>
+<div class="block">Redirects the default java serialization via externalizable to our default
+ hadoop writable serialization for efficient broadcast/rdd serialization.</div>
+</td>
+</tr>
 </table>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.transform.decode.Decoder">
@@ -194,6 +225,23 @@
 <div class="details">
 <ul class="blockList">
 <li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="DecoderRecode--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>DecoderRecode</h4>
+<pre>public&nbsp;DecoderRecode()</pre>
+</li>
+</ul>
+</li>
+</ul>
 <!-- ============ METHOD DETAIL ========== -->
 <ul class="blockList">
 <li class="blockList"><a name="method.detail">
@@ -261,7 +309,7 @@
 <a name="parseRecodeMapEntry-java.lang.String-org.apache.sysds.runtime.matrix.data.Pair-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>parseRecodeMapEntry</h4>
 <pre>public static&nbsp;void&nbsp;parseRecodeMapEntry(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;entry,
@@ -275,6 +323,52 @@
 </dl>
 </li>
 </ul>
+<a name="writeExternal-java.io.ObjectOutput-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>writeExternal</h4>
+<pre>public&nbsp;void&nbsp;writeExternal(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectOutput.html?is-external=true" title="class or interface in java.io">ObjectOutput</a>&nbsp;out)
+                   throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/decode/Decoder.html#writeExternal-java.io.ObjectOutput-">Decoder</a></code></span></div>
+<div class="block">Redirects the default java serialization via externalizable to our default
+ hadoop writable serialization for efficient broadcast/rdd serialization.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true#writeExternal-java.io.ObjectOutput-" title="class or interface in java.io">writeExternal</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true" title="class or interface in java.io">Externalizable</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/decode/Decoder.html#writeExternal-java.io.ObjectOutput-">writeExternal</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/decode/Decoder.html" title="class in org.apache.sysds.runtime.transform.decode">Decoder</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>out</code> - object output</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if IOException occurs</dd>
+</dl>
+</li>
+</ul>
+<a name="readExternal-java.io.ObjectInput-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>readExternal</h4>
+<pre>public&nbsp;void&nbsp;readExternal(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectInput.html?is-external=true" title="class or interface in java.io">ObjectInput</a>&nbsp;in)
+                  throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/decode/Decoder.html#readExternal-java.io.ObjectInput-">Decoder</a></code></span></div>
+<div class="block">Redirects the default java serialization via externalizable to our default
+ hadoop writable serialization for efficient broadcast/rdd deserialization.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true#readExternal-java.io.ObjectInput-" title="class or interface in java.io">readExternal</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true" title="class or interface in java.io">Externalizable</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/decode/Decoder.html#readExternal-java.io.ObjectInput-">readExternal</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/decode/Decoder.html" title="class in org.apache.sysds.runtime.transform.decode">Decoder</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>in</code> - object input</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if IOException occur</dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>
@@ -330,13 +424,13 @@
 <li>Summary:&nbsp;</li>
 <li>Nested&nbsp;|&nbsp;</li>
 <li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
 <li><a href="#method.summary">Method</a></li>
 </ul>
 <ul class="subNavList">
 <li>Detail:&nbsp;</li>
 <li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
 <li><a href="#method.detail">Method</a></li>
 </ul>
 </div>
@@ -344,6 +438,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/decode/class-use/Decoder.html b/docs/api/java/org/apache/sysds/runtime/transform/decode/class-use/Decoder.html
index fd3863b..9340237 100644
--- a/docs/api/java/org/apache/sysds/runtime/transform/decode/class-use/Decoder.html
+++ b/docs/api/java/org/apache/sysds/runtime/transform/decode/class-use/Decoder.html
@@ -215,6 +215,10 @@
              int&nbsp;maxCol)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/transform/decode/Decoder.html" title="class in org.apache.sysds.runtime.transform.decode">Decoder</a></code></td>
+<td class="colLast"><span class="typeNameLabel">DecoderFactory.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/decode/DecoderFactory.html#createInstance-int-">createInstance</a></span>(int&nbsp;type)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/transform/decode/Decoder.html" title="class in org.apache.sysds.runtime.transform.decode">Decoder</a></code></td>
 <td class="colLast"><span class="typeNameLabel">Decoder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/decode/Decoder.html#subRangeDecoder-int-int-int-">subRangeDecoder</a></span>(int&nbsp;colStart,
                int&nbsp;colEnd,
@@ -222,25 +226,25 @@
 <div class="block">Returns a new Decoder that only handles a sub range of columns.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/transform/decode/Decoder.html" title="class in org.apache.sysds.runtime.transform.decode">Decoder</a></code></td>
 <td class="colLast"><span class="typeNameLabel">DecoderComposite.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/decode/DecoderComposite.html#subRangeDecoder-int-int-int-">subRangeDecoder</a></span>(int&nbsp;colStart,
                int&nbsp;colEnd,
                int&nbsp;dummycodedOffset)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/transform/decode/Decoder.html" title="class in org.apache.sysds.runtime.transform.decode">Decoder</a></code></td>
 <td class="colLast"><span class="typeNameLabel">DecoderPassThrough.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/decode/DecoderPassThrough.html#subRangeDecoder-int-int-int-">subRangeDecoder</a></span>(int&nbsp;colStart,
                int&nbsp;colEnd,
                int&nbsp;dummycodedOffset)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/transform/decode/Decoder.html" title="class in org.apache.sysds.runtime.transform.decode">Decoder</a></code></td>
 <td class="colLast"><span class="typeNameLabel">DecoderDummycode.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/decode/DecoderDummycode.html#subRangeDecoder-int-int-int-">subRangeDecoder</a></span>(int&nbsp;colStart,
                int&nbsp;colEnd,
                int&nbsp;dummycodedOffset)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/transform/decode/Decoder.html" title="class in org.apache.sysds.runtime.transform.decode">Decoder</a></code></td>
 <td class="colLast"><span class="typeNameLabel">DecoderRecode.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/decode/DecoderRecode.html#subRangeDecoder-int-int-int-">subRangeDecoder</a></span>(int&nbsp;colStart,
                int&nbsp;colEnd,
@@ -248,6 +252,19 @@
 </tr>
 </tbody>
 </table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/transform/decode/package-summary.html">org.apache.sysds.runtime.transform.decode</a> with parameters of type <a href="../../../../../../../org/apache/sysds/runtime/transform/decode/Decoder.html" title="class in org.apache.sysds.runtime.transform.decode">Decoder</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>static int</code></td>
+<td class="colLast"><span class="typeNameLabel">DecoderFactory.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/decode/DecoderFactory.html#getDecoderType-org.apache.sysds.runtime.transform.decode.Decoder-">getDecoderType</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/transform/decode/Decoder.html" title="class in org.apache.sysds.runtime.transform.decode">Decoder</a>&nbsp;decoder)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
 </li>
 </ul>
 </li>
@@ -300,6 +317,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/decode/class-use/DecoderComposite.html b/docs/api/java/org/apache/sysds/runtime/transform/decode/class-use/DecoderComposite.html
index c1fa1e7..01ce4eb 100644
--- a/docs/api/java/org/apache/sysds/runtime/transform/decode/class-use/DecoderComposite.html
+++ b/docs/api/java/org/apache/sysds/runtime/transform/decode/class-use/DecoderComposite.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/decode/class-use/DecoderDummycode.html b/docs/api/java/org/apache/sysds/runtime/transform/decode/class-use/DecoderDummycode.html
index a72bb11..a24ef99 100644
--- a/docs/api/java/org/apache/sysds/runtime/transform/decode/class-use/DecoderDummycode.html
+++ b/docs/api/java/org/apache/sysds/runtime/transform/decode/class-use/DecoderDummycode.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/decode/class-use/DecoderFactory.DecoderType.html b/docs/api/java/org/apache/sysds/runtime/transform/decode/class-use/DecoderFactory.DecoderType.html
new file mode 100644
index 0000000..8a19a35
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/transform/decode/class-use/DecoderFactory.DecoderType.html
@@ -0,0 +1,174 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.sysds.runtime.transform.decode.DecoderFactory.DecoderType (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.sysds.runtime.transform.decode.DecoderFactory.DecoderType (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/transform/decode/DecoderFactory.DecoderType.html" title="enum in org.apache.sysds.runtime.transform.decode">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/transform/decode/class-use/DecoderFactory.DecoderType.html" target="_top">Frames</a></li>
+<li><a href="DecoderFactory.DecoderType.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.sysds.runtime.transform.decode.DecoderFactory.DecoderType" class="title">Uses of Class<br>org.apache.sysds.runtime.transform.decode.DecoderFactory.DecoderType</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../../org/apache/sysds/runtime/transform/decode/DecoderFactory.DecoderType.html" title="enum in org.apache.sysds.runtime.transform.decode">DecoderFactory.DecoderType</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.transform.decode">org.apache.sysds.runtime.transform.decode</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.sysds.runtime.transform.decode">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/transform/decode/DecoderFactory.DecoderType.html" title="enum in org.apache.sysds.runtime.transform.decode">DecoderFactory.DecoderType</a> in <a href="../../../../../../../org/apache/sysds/runtime/transform/decode/package-summary.html">org.apache.sysds.runtime.transform.decode</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/transform/decode/package-summary.html">org.apache.sysds.runtime.transform.decode</a> that return <a href="../../../../../../../org/apache/sysds/runtime/transform/decode/DecoderFactory.DecoderType.html" title="enum in org.apache.sysds.runtime.transform.decode">DecoderFactory.DecoderType</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/transform/decode/DecoderFactory.DecoderType.html" title="enum in org.apache.sysds.runtime.transform.decode">DecoderFactory.DecoderType</a></code></td>
+<td class="colLast"><span class="typeNameLabel">DecoderFactory.DecoderType.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/decode/DecoderFactory.DecoderType.html#valueOf-java.lang.String-">valueOf</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
+<div class="block">Returns the enum constant of this type with the specified name.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/transform/decode/DecoderFactory.DecoderType.html" title="enum in org.apache.sysds.runtime.transform.decode">DecoderFactory.DecoderType</a>[]</code></td>
+<td class="colLast"><span class="typeNameLabel">DecoderFactory.DecoderType.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/decode/DecoderFactory.DecoderType.html#values--">values</a></span>()</code>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/transform/decode/DecoderFactory.DecoderType.html" title="enum in org.apache.sysds.runtime.transform.decode">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/transform/decode/class-use/DecoderFactory.DecoderType.html" target="_top">Frames</a></li>
+<li><a href="DecoderFactory.DecoderType.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/decode/class-use/DecoderFactory.html b/docs/api/java/org/apache/sysds/runtime/transform/decode/class-use/DecoderFactory.html
index 9e7f5e7..ba21ada 100644
--- a/docs/api/java/org/apache/sysds/runtime/transform/decode/class-use/DecoderFactory.html
+++ b/docs/api/java/org/apache/sysds/runtime/transform/decode/class-use/DecoderFactory.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/decode/class-use/DecoderPassThrough.html b/docs/api/java/org/apache/sysds/runtime/transform/decode/class-use/DecoderPassThrough.html
index 0a4d403..11e452a 100644
--- a/docs/api/java/org/apache/sysds/runtime/transform/decode/class-use/DecoderPassThrough.html
+++ b/docs/api/java/org/apache/sysds/runtime/transform/decode/class-use/DecoderPassThrough.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/decode/class-use/DecoderRecode.html b/docs/api/java/org/apache/sysds/runtime/transform/decode/class-use/DecoderRecode.html
index 16bef68..68297d0 100644
--- a/docs/api/java/org/apache/sysds/runtime/transform/decode/class-use/DecoderRecode.html
+++ b/docs/api/java/org/apache/sysds/runtime/transform/decode/class-use/DecoderRecode.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/decode/package-frame.html b/docs/api/java/org/apache/sysds/runtime/transform/decode/package-frame.html
index c92a62a..c97f5cd 100644
--- a/docs/api/java/org/apache/sysds/runtime/transform/decode/package-frame.html
+++ b/docs/api/java/org/apache/sysds/runtime/transform/decode/package-frame.html
@@ -20,6 +20,10 @@
 <li><a href="DecoderPassThrough.html" title="class in org.apache.sysds.runtime.transform.decode" target="classFrame">DecoderPassThrough</a></li>
 <li><a href="DecoderRecode.html" title="class in org.apache.sysds.runtime.transform.decode" target="classFrame">DecoderRecode</a></li>
 </ul>
+<h2 title="Enums">Enums</h2>
+<ul title="Enums">
+<li><a href="DecoderFactory.DecoderType.html" title="enum in org.apache.sysds.runtime.transform.decode" target="classFrame">DecoderFactory.DecoderType</a></li>
+</ul>
 </div>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/decode/package-summary.html b/docs/api/java/org/apache/sysds/runtime/transform/decode/package-summary.html
index 18463a7..8acc49f 100644
--- a/docs/api/java/org/apache/sysds/runtime/transform/decode/package-summary.html
+++ b/docs/api/java/org/apache/sysds/runtime/transform/decode/package-summary.html
@@ -121,6 +121,21 @@
 </tbody>
 </table>
 </li>
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Enum Summary table, listing enums, and an explanation">
+<caption><span>Enum Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Enum</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/transform/decode/DecoderFactory.DecoderType.html" title="enum in org.apache.sysds.runtime.transform.decode">DecoderFactory.DecoderType</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
 </ul>
 </div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
@@ -170,6 +185,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/decode/package-tree.html b/docs/api/java/org/apache/sysds/runtime/transform/decode/package-tree.html
index 9f11fad..2a273f4 100644
--- a/docs/api/java/org/apache/sysds/runtime/transform/decode/package-tree.html
+++ b/docs/api/java/org/apache/sysds/runtime/transform/decode/package-tree.html
@@ -81,7 +81,7 @@
 <ul>
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
 <ul>
-<li type="circle">org.apache.sysds.runtime.transform.decode.<a href="../../../../../../org/apache/sysds/runtime/transform/decode/Decoder.html" title="class in org.apache.sysds.runtime.transform.decode"><span class="typeNameLink">Decoder</span></a> (implements java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
+<li type="circle">org.apache.sysds.runtime.transform.decode.<a href="../../../../../../org/apache/sysds/runtime/transform/decode/Decoder.html" title="class in org.apache.sysds.runtime.transform.decode"><span class="typeNameLink">Decoder</span></a> (implements java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true" title="class or interface in java.io">Externalizable</a>)
 <ul>
 <li type="circle">org.apache.sysds.runtime.transform.decode.<a href="../../../../../../org/apache/sysds/runtime/transform/decode/DecoderComposite.html" title="class in org.apache.sysds.runtime.transform.decode"><span class="typeNameLink">DecoderComposite</span></a></li>
 <li type="circle">org.apache.sysds.runtime.transform.decode.<a href="../../../../../../org/apache/sysds/runtime/transform/decode/DecoderDummycode.html" title="class in org.apache.sysds.runtime.transform.decode"><span class="typeNameLink">DecoderDummycode</span></a></li>
@@ -93,6 +93,18 @@
 </ul>
 </li>
 </ul>
+<h2 title="Enum Hierarchy">Enum Hierarchy</h2>
+<ul>
+<li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
+<ul>
+<li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
+<ul>
+<li type="circle">org.apache.sysds.runtime.transform.decode.<a href="../../../../../../org/apache/sysds/runtime/transform/decode/DecoderFactory.DecoderType.html" title="enum in org.apache.sysds.runtime.transform.decode"><span class="typeNameLink">DecoderFactory.DecoderType</span></a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
 </div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
@@ -141,6 +153,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/decode/package-use.html b/docs/api/java/org/apache/sysds/runtime/transform/decode/package-use.html
index 69b0bb1..08b5e50 100644
--- a/docs/api/java/org/apache/sysds/runtime/transform/decode/package-use.html
+++ b/docs/api/java/org/apache/sysds/runtime/transform/decode/package-use.html
@@ -148,6 +148,9 @@
  interface for decoding matrices to frames.</div>
 </td>
 </tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/transform/decode/class-use/DecoderFactory.DecoderType.html#org.apache.sysds.runtime.transform.decode">DecoderFactory.DecoderType</a>&nbsp;</td>
+</tr>
 </tbody>
 </table>
 </li>
@@ -200,6 +203,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html b/docs/api/java/org/apache/sysds/runtime/transform/encode/ColumnEncoder.EncoderType.html
similarity index 67%
copy from docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html
copy to docs/api/java/org/apache/sysds/runtime/transform/encode/ColumnEncoder.EncoderType.html
index cd7d096..35d27c4 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html
+++ b/docs/api/java/org/apache/sysds/runtime/transform/encode/ColumnEncoder.EncoderType.html
@@ -4,7 +4,7 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ColGroup.CompressionType (SystemDS 2.1.0-SNAPSHOT API)</title>
+<title>ColumnEncoder.EncoderType (SystemDS 2.1.0-SNAPSHOT API)</title>
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ColGroup.CompressionType (SystemDS 2.1.0-SNAPSHOT API)";
+            parent.document.title="ColumnEncoder.EncoderType (SystemDS 2.1.0-SNAPSHOT API)";
         }
     }
     catch(err) {
@@ -40,7 +40,7 @@
 <li><a href="../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="package-summary.html">Package</a></li>
 <li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/ColGroup.CompressionType.html">Use</a></li>
+<li><a href="class-use/ColumnEncoder.EncoderType.html">Use</a></li>
 <li><a href="package-tree.html">Tree</a></li>
 <li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
 <li><a href="../../../../../../index-all.html">Index</a></li>
@@ -49,12 +49,12 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderBin.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" target="_top">Frames</a></li>
-<li><a href="ColGroup.CompressionType.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/transform/encode/ColumnEncoder.EncoderType.html" target="_top">Frames</a></li>
+<li><a href="ColumnEncoder.EncoderType.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
 <li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -92,18 +92,18 @@
 <!-- ========= END OF TOP NAVBAR ========= -->
 <!-- ======== START OF CLASS DATA ======== -->
 <div class="header">
-<div class="subTitle">org.apache.sysds.runtime.compress.colgroup</div>
-<h2 title="Enum ColGroup.CompressionType" class="title">Enum ColGroup.CompressionType</h2>
+<div class="subTitle">org.apache.sysds.runtime.transform.encode</div>
+<h2 title="Enum ColumnEncoder.EncoderType" class="title">Enum ColumnEncoder.EncoderType</h2>
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
 <li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
-<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">java.lang.Enum</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>&gt;</li>
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">java.lang.Enum</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.EncoderType.html" title="enum in org.apache.sysds.runtime.transform.encode">ColumnEncoder.EncoderType</a>&gt;</li>
 <li>
 <ul class="inheritance">
-<li>org.apache.sysds.runtime.compress.colgroup.ColGroup.CompressionType</li>
+<li>org.apache.sysds.runtime.transform.encode.ColumnEncoder.EncoderType</li>
 </ul>
 </li>
 </ul>
@@ -114,23 +114,16 @@
 <li class="blockList">
 <dl>
 <dt>All Implemented Interfaces:</dt>
-<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>&gt;</dd>
+<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.EncoderType.html" title="enum in org.apache.sysds.runtime.transform.encode">ColumnEncoder.EncoderType</a>&gt;</dd>
 </dl>
 <dl>
 <dt>Enclosing class:</dt>
-<dd><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></dd>
+<dd><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a></dd>
 </dl>
 <hr>
 <br>
-<pre>public static enum <span class="typeNameLabel">ColGroup.CompressionType</span>
-extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>&gt;</pre>
-<div class="block">Public Group types supported
- 
- Note For instance DDC is called DDC not DDC1, or DDC2 which is a specific subtype of the DDC. That
- differentiation is hidden to a user.
- 
- Includes Uncompressed for sparse/dense representation RLE for Run length encoding OLE for Offset Length encoding
- DDC for Dense dictionary encoding</div>
+<pre>public static enum <span class="typeNameLabel">ColumnEncoder.EncoderType</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.EncoderType.html" title="enum in org.apache.sysds.runtime.transform.encode">ColumnEncoder.EncoderType</a>&gt;</pre>
 </li>
 </ul>
 </div>
@@ -149,19 +142,28 @@
 <th class="colOne" scope="col">Enum Constant and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html#CONST">CONST</a></span></code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.EncoderType.html#Bin">Bin</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html#DDC">DDC</a></span></code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.EncoderType.html#Composite">Composite</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html#OLE">OLE</a></span></code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.EncoderType.html#Dummycode">Dummycode</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html#RLE">RLE</a></span></code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.EncoderType.html#FeatureHash">FeatureHash</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html#UNCOMPRESSED">UNCOMPRESSED</a></span></code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.EncoderType.html#MVImpute">MVImpute</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.EncoderType.html#Omit">Omit</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.EncoderType.html#PassThrough">PassThrough</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.EncoderType.html#Recode">Recode</a></span></code>&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -179,14 +181,14 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html#valueOf-java.lang.String-">valueOf</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.EncoderType.html" title="enum in org.apache.sysds.runtime.transform.encode">ColumnEncoder.EncoderType</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.EncoderType.html#valueOf-java.lang.String-">valueOf</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
 <div class="block">Returns the enum constant of this type with the specified name.</div>
 </td>
 </tr>
 <tr id="i1" class="rowColor">
-<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>[]</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html#values--">values</a></span>()</code>
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.EncoderType.html" title="enum in org.apache.sysds.runtime.transform.encode">ColumnEncoder.EncoderType</a>[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.EncoderType.html#values--">values</a></span>()</code>
 <div class="block">Returns an array containing the constants of this enum type, in
 the order they are declared.</div>
 </td>
@@ -220,49 +222,76 @@
 <!--   -->
 </a>
 <h3>Enum Constant Detail</h3>
-<a name="UNCOMPRESSED">
+<a name="Recode">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>UNCOMPRESSED</h4>
-<pre>public static final&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a> UNCOMPRESSED</pre>
+<h4>Recode</h4>
+<pre>public static final&nbsp;<a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.EncoderType.html" title="enum in org.apache.sysds.runtime.transform.encode">ColumnEncoder.EncoderType</a> Recode</pre>
 </li>
 </ul>
-<a name="RLE">
+<a name="FeatureHash">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>RLE</h4>
-<pre>public static final&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a> RLE</pre>
+<h4>FeatureHash</h4>
+<pre>public static final&nbsp;<a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.EncoderType.html" title="enum in org.apache.sysds.runtime.transform.encode">ColumnEncoder.EncoderType</a> FeatureHash</pre>
 </li>
 </ul>
-<a name="OLE">
+<a name="PassThrough">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>OLE</h4>
-<pre>public static final&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a> OLE</pre>
+<h4>PassThrough</h4>
+<pre>public static final&nbsp;<a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.EncoderType.html" title="enum in org.apache.sysds.runtime.transform.encode">ColumnEncoder.EncoderType</a> PassThrough</pre>
 </li>
 </ul>
-<a name="DDC">
+<a name="Bin">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>DDC</h4>
-<pre>public static final&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a> DDC</pre>
+<h4>Bin</h4>
+<pre>public static final&nbsp;<a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.EncoderType.html" title="enum in org.apache.sysds.runtime.transform.encode">ColumnEncoder.EncoderType</a> Bin</pre>
 </li>
 </ul>
-<a name="CONST">
+<a name="Dummycode">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>Dummycode</h4>
+<pre>public static final&nbsp;<a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.EncoderType.html" title="enum in org.apache.sysds.runtime.transform.encode">ColumnEncoder.EncoderType</a> Dummycode</pre>
+</li>
+</ul>
+<a name="Omit">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>Omit</h4>
+<pre>public static final&nbsp;<a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.EncoderType.html" title="enum in org.apache.sysds.runtime.transform.encode">ColumnEncoder.EncoderType</a> Omit</pre>
+</li>
+</ul>
+<a name="MVImpute">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>MVImpute</h4>
+<pre>public static final&nbsp;<a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.EncoderType.html" title="enum in org.apache.sysds.runtime.transform.encode">ColumnEncoder.EncoderType</a> MVImpute</pre>
+</li>
+</ul>
+<a name="Composite">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>CONST</h4>
-<pre>public static final&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a> CONST</pre>
+<h4>Composite</h4>
+<pre>public static final&nbsp;<a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.EncoderType.html" title="enum in org.apache.sysds.runtime.transform.encode">ColumnEncoder.EncoderType</a> Composite</pre>
 </li>
 </ul>
 </li>
@@ -279,12 +308,12 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>values</h4>
-<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>[]&nbsp;values()</pre>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.EncoderType.html" title="enum in org.apache.sysds.runtime.transform.encode">ColumnEncoder.EncoderType</a>[]&nbsp;values()</pre>
 <div class="block">Returns an array containing the constants of this enum type, in
 the order they are declared.  This method may be used to iterate
 over the constants as follows:
 <pre>
-for (ColGroup.CompressionType c : ColGroup.CompressionType.values())
+for (ColumnEncoder.EncoderType c : ColumnEncoder.EncoderType.values())
 &nbsp;   System.out.println(c);
 </pre></div>
 <dl>
@@ -299,7 +328,7 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>valueOf</h4>
-<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>&nbsp;valueOf(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.EncoderType.html" title="enum in org.apache.sysds.runtime.transform.encode">ColumnEncoder.EncoderType</a>&nbsp;valueOf(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
 enum constant in this type.  (Extraneous whitespace characters are 
@@ -334,7 +363,7 @@
 <li><a href="../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="package-summary.html">Package</a></li>
 <li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/ColGroup.CompressionType.html">Use</a></li>
+<li><a href="class-use/ColumnEncoder.EncoderType.html">Use</a></li>
 <li><a href="package-tree.html">Tree</a></li>
 <li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
 <li><a href="../../../../../../index-all.html">Index</a></li>
@@ -343,12 +372,12 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderBin.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" target="_top">Frames</a></li>
-<li><a href="ColGroup.CompressionType.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/transform/encode/ColumnEncoder.EncoderType.html" target="_top">Frames</a></li>
+<li><a href="ColumnEncoder.EncoderType.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
 <li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -384,6 +413,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/encode/ColumnEncoder.html b/docs/api/java/org/apache/sysds/runtime/transform/encode/ColumnEncoder.html
new file mode 100644
index 0000000..52a92fe
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/transform/encode/ColumnEncoder.html
@@ -0,0 +1,548 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>ColumnEncoder (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="ColumnEncoder (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":6,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ColumnEncoder.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev&nbsp;Class</li>
+<li><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.EncoderType.html" title="enum in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" target="_top">Frames</a></li>
+<li><a href="ColumnEncoder.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.sysds.runtime.transform.encode</div>
+<h2 title="Class ColumnEncoder" class="title">Class ColumnEncoder</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.sysds.runtime.transform.encode.ColumnEncoder</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true" title="class or interface in java.io">Externalizable</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a>&gt;, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="interface in org.apache.sysds.runtime.transform.encode">Encoder</a></dd>
+</dl>
+<dl>
+<dt>Direct Known Subclasses:</dt>
+<dd><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderBin.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderBin</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderComposite</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderDummycode.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderDummycode</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderFeatureHash.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderFeatureHash</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderPassThrough.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderPassThrough</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderRecode.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderRecode</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public abstract class <span class="typeNameLabel">ColumnEncoder</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
+implements <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true" title="class or interface in java.io">Externalizable</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="interface in org.apache.sysds.runtime.transform.encode">Encoder</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a>&gt;</pre>
+<div class="block">Base class for all transform encoders providing both a row and block interface for decoding frames to matrices.</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../../serialized-form.html#org.apache.sysds.runtime.transform.encode.ColumnEncoder">Serialized Form</a></dd>
+</dl>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!--   -->
+</a>
+<h3>Nested Class Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
+<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.EncoderType.html" title="enum in org.apache.sysds.runtime.transform.encode">ColumnEncoder.EncoderType</a></span></code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>abstract <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#apply-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">apply</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;in,
+     <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
+     int&nbsp;outputCol)</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#buildPartial-org.apache.sysds.runtime.matrix.data.FrameBlock-">buildPartial</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in)</code>
+<div class="block">Partial build of internal data structures (e.g., in distributed spark operations).</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#compareTo-org.apache.sysds.runtime.transform.encode.ColumnEncoder-">compareTo</a></span>(<a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a>&nbsp;o)</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#getColID--">getColID</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#getColMapping-org.apache.sysds.runtime.matrix.data.FrameBlock-">getColMapping</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</code>
+<div class="block">Obtain the column mapping of encoded frames based on the passed meta data frame.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#isApplicable--">isApplicable</a></span>()</code>
+<div class="block">Indicates if this encoder is applicable, i.e, if there is a column to encode.</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#isApplicable-int-">isApplicable</a></span>(int&nbsp;colID)</code>
+<div class="block">Indicates if this encoder is applicable for the given column ID, i.e., if it is subject to this transformation.</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#mergeAt-org.apache.sysds.runtime.transform.encode.ColumnEncoder-">mergeAt</a></span>(<a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a>&nbsp;other)</code>
+<div class="block">Merges another encoder, of a compatible type, in after a certain position.</div>
+</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#prepareBuildPartial--">prepareBuildPartial</a></span>()</code>
+<div class="block">Allocates internal data structures for partial build.</div>
+</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#readExternal-java.io.ObjectInput-">readExternal</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectInput.html?is-external=true" title="class or interface in java.io">ObjectInput</a>&nbsp;in)</code>
+<div class="block">Redirects the default java serialization via externalizable to our default hadoop writable serialization for
+ efficient broadcast/rdd deserialization.</div>
+</td>
+</tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#setColID-int-">setColID</a></span>(int&nbsp;colID)</code>&nbsp;</td>
+</tr>
+<tr id="i11" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#shiftCol-int-">shiftCol</a></span>(int&nbsp;columnOffset)</code>&nbsp;</td>
+</tr>
+<tr id="i12" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#updateIndexRanges-long:A-long:A-int-">updateIndexRanges</a></span>(long[]&nbsp;beginDims,
+                 long[]&nbsp;endDims,
+                 int&nbsp;colOffset)</code>
+<div class="block">Update index-ranges to after encoding.</div>
+</td>
+</tr>
+<tr id="i13" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#writeExternal-java.io.ObjectOutput-">writeExternal</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectOutput.html?is-external=true" title="class or interface in java.io">ObjectOutput</a>&nbsp;os)</code>
+<div class="block">Redirects the default java serialization via externalizable to our default hadoop writable serialization for
+ efficient broadcast/rdd serialization.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.transform.encode.Encoder">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.sysds.runtime.transform.encode.<a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="interface in org.apache.sysds.runtime.transform.encode">Encoder</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">apply</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#build-org.apache.sysds.runtime.matrix.data.FrameBlock-">build</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">getMetaData</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#initMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">initMetaData</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="apply-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>apply</h4>
+<pre>public abstract&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;apply(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;in,
+                                  <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
+                                  int&nbsp;outputCol)</pre>
+</li>
+</ul>
+<a name="isApplicable--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isApplicable</h4>
+<pre>public&nbsp;boolean&nbsp;isApplicable()</pre>
+<div class="block">Indicates if this encoder is applicable, i.e, if there is a column to encode.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if a colID is set</dd>
+</dl>
+</li>
+</ul>
+<a name="isApplicable-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isApplicable</h4>
+<pre>public&nbsp;boolean&nbsp;isApplicable(int&nbsp;colID)</pre>
+<div class="block">Indicates if this encoder is applicable for the given column ID, i.e., if it is subject to this transformation.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>colID</code> - column ID</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if encoder is applicable for given column</dd>
+</dl>
+</li>
+</ul>
+<a name="prepareBuildPartial--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>prepareBuildPartial</h4>
+<pre>public&nbsp;void&nbsp;prepareBuildPartial()</pre>
+<div class="block">Allocates internal data structures for partial build.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#prepareBuildPartial--">prepareBuildPartial</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="interface in org.apache.sysds.runtime.transform.encode">Encoder</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="buildPartial-org.apache.sysds.runtime.matrix.data.FrameBlock-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>buildPartial</h4>
+<pre>public&nbsp;void&nbsp;buildPartial(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in)</pre>
+<div class="block">Partial build of internal data structures (e.g., in distributed spark operations).</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#buildPartial-org.apache.sysds.runtime.matrix.data.FrameBlock-">buildPartial</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="interface in org.apache.sysds.runtime.transform.encode">Encoder</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>in</code> - input frame block</dd>
+</dl>
+</li>
+</ul>
+<a name="mergeAt-org.apache.sysds.runtime.transform.encode.ColumnEncoder-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>mergeAt</h4>
+<pre>public&nbsp;void&nbsp;mergeAt(<a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a>&nbsp;other)</pre>
+<div class="block">Merges another encoder, of a compatible type, in after a certain position. Resizes as necessary.
+ <code>ColumnEncoders</code> are compatible with themselves and <code>EncoderComposite</code> is compatible with
+ every other <code>ColumnEncoders</code>. <code>MultiColumnEncoders</code> are compatible with every encoder</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>other</code> - the encoder that should be merged in</dd>
+</dl>
+</li>
+</ul>
+<a name="updateIndexRanges-long:A-long:A-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>updateIndexRanges</h4>
+<pre>public&nbsp;void&nbsp;updateIndexRanges(long[]&nbsp;beginDims,
+                              long[]&nbsp;endDims,
+                              int&nbsp;colOffset)</pre>
+<div class="block">Update index-ranges to after encoding. Note that only Dummycoding changes the ranges.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#updateIndexRanges-long:A-long:A-int-">updateIndexRanges</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="interface in org.apache.sysds.runtime.transform.encode">Encoder</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>beginDims</code> - begin dimensions of range</dd>
+<dd><code>endDims</code> - end dimensions of range</dd>
+<dd><code>colOffset</code> - is applied to begin and endDims</dd>
+</dl>
+</li>
+</ul>
+<a name="getColMapping-org.apache.sysds.runtime.matrix.data.FrameBlock-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getColMapping</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;getColMapping(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</pre>
+<div class="block">Obtain the column mapping of encoded frames based on the passed meta data frame.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>meta</code> - meta data frame block</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>matrix with column mapping (one row per attribute)</dd>
+</dl>
+</li>
+</ul>
+<a name="writeExternal-java.io.ObjectOutput-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>writeExternal</h4>
+<pre>public&nbsp;void&nbsp;writeExternal(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectOutput.html?is-external=true" title="class or interface in java.io">ObjectOutput</a>&nbsp;os)
+                   throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block">Redirects the default java serialization via externalizable to our default hadoop writable serialization for
+ efficient broadcast/rdd serialization.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true#writeExternal-java.io.ObjectOutput-" title="class or interface in java.io">writeExternal</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true" title="class or interface in java.io">Externalizable</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>os</code> - object output</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if IOException occurs</dd>
+</dl>
+</li>
+</ul>
+<a name="readExternal-java.io.ObjectInput-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>readExternal</h4>
+<pre>public&nbsp;void&nbsp;readExternal(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectInput.html?is-external=true" title="class or interface in java.io">ObjectInput</a>&nbsp;in)
+                  throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block">Redirects the default java serialization via externalizable to our default hadoop writable serialization for
+ efficient broadcast/rdd deserialization.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true#readExternal-java.io.ObjectInput-" title="class or interface in java.io">readExternal</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true" title="class or interface in java.io">Externalizable</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>in</code> - object input</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if IOException occur</dd>
+</dl>
+</li>
+</ul>
+<a name="getColID--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getColID</h4>
+<pre>public&nbsp;int&nbsp;getColID()</pre>
+</li>
+</ul>
+<a name="setColID-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setColID</h4>
+<pre>public&nbsp;void&nbsp;setColID(int&nbsp;colID)</pre>
+</li>
+</ul>
+<a name="shiftCol-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>shiftCol</h4>
+<pre>public&nbsp;void&nbsp;shiftCol(int&nbsp;columnOffset)</pre>
+</li>
+</ul>
+<a name="compareTo-org.apache.sysds.runtime.transform.encode.ColumnEncoder-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>compareTo</h4>
+<pre>public&nbsp;int&nbsp;compareTo(<a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a>&nbsp;o)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true#compareTo-T-" title="class or interface in java.lang">compareTo</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a>&gt;</code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ColumnEncoder.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev&nbsp;Class</li>
+<li><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.EncoderType.html" title="enum in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" target="_top">Frames</a></li>
+<li><a href="ColumnEncoder.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/encode/ColumnEncoderBin.html b/docs/api/java/org/apache/sysds/runtime/transform/encode/ColumnEncoderBin.html
new file mode 100644
index 0000000..4b6ee57
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/transform/encode/ColumnEncoderBin.html
@@ -0,0 +1,715 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>ColumnEncoderBin (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="ColumnEncoderBin (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ColumnEncoderBin.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.EncoderType.html" title="enum in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/transform/encode/ColumnEncoderBin.html" target="_top">Frames</a></li>
+<li><a href="ColumnEncoderBin.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.transform.encode.ColumnEncoder">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.sysds.runtime.transform.encode</div>
+<h2 title="Class ColumnEncoderBin" class="title">Class ColumnEncoderBin</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">org.apache.sysds.runtime.transform.encode.ColumnEncoder</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.sysds.runtime.transform.encode.ColumnEncoderBin</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true" title="class or interface in java.io">Externalizable</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a>&gt;, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="interface in org.apache.sysds.runtime.transform.encode">Encoder</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">ColumnEncoderBin</span>
+extends <a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a></pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../../serialized-form.html#org.apache.sysds.runtime.transform.encode.ColumnEncoderBin">Serialized Form</a></dd>
+</dl>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!--   -->
+</a>
+<h3>Nested Class Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.sysds.runtime.transform.encode.ColumnEncoder">
+<!--   -->
+</a>
+<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.sysds.runtime.transform.encode.<a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.EncoderType.html" title="enum in org.apache.sysds.runtime.transform.encode">ColumnEncoder.EncoderType</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!--   -->
+</a>
+<h3>Field Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
+<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderBin.html#MAX_PREFIX">MAX_PREFIX</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderBin.html#MIN_PREFIX">MIN_PREFIX</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderBin.html#NBINS_PREFIX">NBINS_PREFIX</a></span></code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderBin.html#ColumnEncoderBin--">ColumnEncoderBin</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderBin.html#ColumnEncoderBin-int-int-">ColumnEncoderBin</a></span>(int&nbsp;colID,
+                int&nbsp;numBin)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderBin.html#ColumnEncoderBin-int-int-double:A-double:A-">ColumnEncoderBin</a></span>(int&nbsp;colID,
+                int&nbsp;numBin,
+                double[]&nbsp;binMins,
+                double[]&nbsp;binMaxs)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderBin.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">apply</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
+     <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
+     int&nbsp;outputCol)</code>
+<div class="block">Apply the generated metadata to the FrameBlock and saved the result in out.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderBin.html#apply-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">apply</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;in,
+     <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
+     int&nbsp;outputCol)</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderBin.html#build-org.apache.sysds.runtime.matrix.data.FrameBlock-">build</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in)</code>
+<div class="block">Build the transform meta data for the given block input.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderBin.html#buildPartial-org.apache.sysds.runtime.matrix.data.FrameBlock-">buildPartial</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in)</code>
+<div class="block">Partial build of internal data structures (e.g., in distributed spark operations).</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderBin.html#computeBins-double-double-">computeBins</a></span>(double&nbsp;min,
+           double&nbsp;max)</code>&nbsp;</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>double[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderBin.html#getBinMaxs--">getBinMaxs</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>double[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderBin.html#getBinMins--">getBinMins</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>double</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderBin.html#getColMaxs--">getColMaxs</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>double</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderBin.html#getColMins--">getColMins</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderBin.html#getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">getMetaData</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</code>
+<div class="block">Construct a frame block out of the transform meta data.</div>
+</td>
+</tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderBin.html#initMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">initMetaData</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</code>
+<div class="block">Sets up the required meta data for a subsequent call to apply.</div>
+</td>
+</tr>
+<tr id="i11" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderBin.html#mergeAt-org.apache.sysds.runtime.transform.encode.ColumnEncoder-">mergeAt</a></span>(<a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a>&nbsp;other)</code>
+<div class="block">Merges another encoder, of a compatible type, in after a certain position.</div>
+</td>
+</tr>
+<tr id="i12" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderBin.html#prepareBuildPartial--">prepareBuildPartial</a></span>()</code>
+<div class="block">Allocates internal data structures for partial build.</div>
+</td>
+</tr>
+<tr id="i13" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderBin.html#readExternal-java.io.ObjectInput-">readExternal</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectInput.html?is-external=true" title="class or interface in java.io">ObjectInput</a>&nbsp;in)</code>
+<div class="block">Redirects the default java serialization via externalizable to our default hadoop writable serialization for
+ efficient broadcast/rdd deserialization.</div>
+</td>
+</tr>
+<tr id="i14" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderBin.html#writeExternal-java.io.ObjectOutput-">writeExternal</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectOutput.html?is-external=true" title="class or interface in java.io">ObjectOutput</a>&nbsp;out)</code>
+<div class="block">Redirects the default java serialization via externalizable to our default hadoop writable serialization for
+ efficient broadcast/rdd serialization.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.transform.encode.ColumnEncoder">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.transform.encode.<a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#compareTo-org.apache.sysds.runtime.transform.encode.ColumnEncoder-">compareTo</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#getColID--">getColID</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#getColMapping-org.apache.sysds.runtime.matrix.data.FrameBlock-">getColMapping</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#isApplicable--">isApplicable</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#isApplicable-int-">isApplicable</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#setColID-int-">setColID</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#shiftCol-int-">shiftCol</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#updateIndexRanges-long:A-long:A-int-">updateIndexRanges</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ FIELD DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.detail">
+<!--   -->
+</a>
+<h3>Field Detail</h3>
+<a name="MIN_PREFIX">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>MIN_PREFIX</h4>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> MIN_PREFIX</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../../constant-values.html#org.apache.sysds.runtime.transform.encode.ColumnEncoderBin.MIN_PREFIX">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="MAX_PREFIX">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>MAX_PREFIX</h4>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> MAX_PREFIX</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../../constant-values.html#org.apache.sysds.runtime.transform.encode.ColumnEncoderBin.MAX_PREFIX">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="NBINS_PREFIX">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>NBINS_PREFIX</h4>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> NBINS_PREFIX</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../../constant-values.html#org.apache.sysds.runtime.transform.encode.ColumnEncoderBin.NBINS_PREFIX">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="ColumnEncoderBin--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>ColumnEncoderBin</h4>
+<pre>public&nbsp;ColumnEncoderBin()</pre>
+</li>
+</ul>
+<a name="ColumnEncoderBin-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>ColumnEncoderBin</h4>
+<pre>public&nbsp;ColumnEncoderBin(int&nbsp;colID,
+                        int&nbsp;numBin)</pre>
+</li>
+</ul>
+<a name="ColumnEncoderBin-int-int-double:A-double:A-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>ColumnEncoderBin</h4>
+<pre>public&nbsp;ColumnEncoderBin(int&nbsp;colID,
+                        int&nbsp;numBin,
+                        double[]&nbsp;binMins,
+                        double[]&nbsp;binMaxs)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getColMins--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getColMins</h4>
+<pre>public&nbsp;double&nbsp;getColMins()</pre>
+</li>
+</ul>
+<a name="getColMaxs--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getColMaxs</h4>
+<pre>public&nbsp;double&nbsp;getColMaxs()</pre>
+</li>
+</ul>
+<a name="getBinMins--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getBinMins</h4>
+<pre>public&nbsp;double[]&nbsp;getBinMins()</pre>
+</li>
+</ul>
+<a name="getBinMaxs--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getBinMaxs</h4>
+<pre>public&nbsp;double[]&nbsp;getBinMaxs()</pre>
+</li>
+</ul>
+<a name="build-org.apache.sysds.runtime.matrix.data.FrameBlock-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>build</h4>
+<pre>public&nbsp;void&nbsp;build(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#build-org.apache.sysds.runtime.matrix.data.FrameBlock-">Encoder</a></code></span></div>
+<div class="block">Build the transform meta data for the given block input. This call modifies and keeps meta data as encoder state.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>in</code> - input frame block</dd>
+</dl>
+</li>
+</ul>
+<a name="computeBins-double-double-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>computeBins</h4>
+<pre>public&nbsp;void&nbsp;computeBins(double&nbsp;min,
+                        double&nbsp;max)</pre>
+</li>
+</ul>
+<a name="prepareBuildPartial--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>prepareBuildPartial</h4>
+<pre>public&nbsp;void&nbsp;prepareBuildPartial()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#prepareBuildPartial--">ColumnEncoder</a></code></span></div>
+<div class="block">Allocates internal data structures for partial build.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#prepareBuildPartial--">prepareBuildPartial</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="interface in org.apache.sysds.runtime.transform.encode">Encoder</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#prepareBuildPartial--">prepareBuildPartial</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="buildPartial-org.apache.sysds.runtime.matrix.data.FrameBlock-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>buildPartial</h4>
+<pre>public&nbsp;void&nbsp;buildPartial(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#buildPartial-org.apache.sysds.runtime.matrix.data.FrameBlock-">ColumnEncoder</a></code></span></div>
+<div class="block">Partial build of internal data structures (e.g., in distributed spark operations).</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#buildPartial-org.apache.sysds.runtime.matrix.data.FrameBlock-">buildPartial</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="interface in org.apache.sysds.runtime.transform.encode">Encoder</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#buildPartial-org.apache.sysds.runtime.matrix.data.FrameBlock-">buildPartial</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>in</code> - input frame block</dd>
+</dl>
+</li>
+</ul>
+<a name="apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>apply</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;apply(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
+                         <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
+                         int&nbsp;outputCol)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">Encoder</a></code></span></div>
+<div class="block">Apply the generated metadata to the FrameBlock and saved the result in out.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>in</code> - input frame block</dd>
+<dd><code>out</code> - output matrix block</dd>
+<dd><code>outputCol</code> - is a offset in the output matrix. column in FrameBlock + outputCol = column in out</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>output matrix block</dd>
+</dl>
+</li>
+</ul>
+<a name="apply-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>apply</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;apply(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;in,
+                         <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
+                         int&nbsp;outputCol)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#apply-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">apply</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="mergeAt-org.apache.sysds.runtime.transform.encode.ColumnEncoder-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>mergeAt</h4>
+<pre>public&nbsp;void&nbsp;mergeAt(<a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a>&nbsp;other)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#mergeAt-org.apache.sysds.runtime.transform.encode.ColumnEncoder-">ColumnEncoder</a></code></span></div>
+<div class="block">Merges another encoder, of a compatible type, in after a certain position. Resizes as necessary.
+ <code>ColumnEncoders</code> are compatible with themselves and <code>EncoderComposite</code> is compatible with
+ every other <code>ColumnEncoders</code>. <code>MultiColumnEncoders</code> are compatible with every encoder</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#mergeAt-org.apache.sysds.runtime.transform.encode.ColumnEncoder-">mergeAt</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>other</code> - the encoder that should be merged in</dd>
+</dl>
+</li>
+</ul>
+<a name="getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getMetaData</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;getMetaData(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">Encoder</a></code></span></div>
+<div class="block">Construct a frame block out of the transform meta data.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>meta</code> - output frame block</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>output frame block?</dd>
+</dl>
+</li>
+</ul>
+<a name="initMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>initMetaData</h4>
+<pre>public&nbsp;void&nbsp;initMetaData(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#initMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">Encoder</a></code></span></div>
+<div class="block">Sets up the required meta data for a subsequent call to apply.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>meta</code> - frame block</dd>
+</dl>
+</li>
+</ul>
+<a name="writeExternal-java.io.ObjectOutput-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>writeExternal</h4>
+<pre>public&nbsp;void&nbsp;writeExternal(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectOutput.html?is-external=true" title="class or interface in java.io">ObjectOutput</a>&nbsp;out)
+                   throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#writeExternal-java.io.ObjectOutput-">ColumnEncoder</a></code></span></div>
+<div class="block">Redirects the default java serialization via externalizable to our default hadoop writable serialization for
+ efficient broadcast/rdd serialization.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true#writeExternal-java.io.ObjectOutput-" title="class or interface in java.io">writeExternal</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true" title="class or interface in java.io">Externalizable</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#writeExternal-java.io.ObjectOutput-">writeExternal</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>out</code> - object output</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if IOException occurs</dd>
+</dl>
+</li>
+</ul>
+<a name="readExternal-java.io.ObjectInput-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>readExternal</h4>
+<pre>public&nbsp;void&nbsp;readExternal(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectInput.html?is-external=true" title="class or interface in java.io">ObjectInput</a>&nbsp;in)
+                  throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#readExternal-java.io.ObjectInput-">ColumnEncoder</a></code></span></div>
+<div class="block">Redirects the default java serialization via externalizable to our default hadoop writable serialization for
+ efficient broadcast/rdd deserialization.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true#readExternal-java.io.ObjectInput-" title="class or interface in java.io">readExternal</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true" title="class or interface in java.io">Externalizable</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#readExternal-java.io.ObjectInput-">readExternal</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>in</code> - object input</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if IOException occur</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ColumnEncoderBin.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.EncoderType.html" title="enum in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/transform/encode/ColumnEncoderBin.html" target="_top">Frames</a></li>
+<li><a href="ColumnEncoderBin.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.transform.encode.ColumnEncoder">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html b/docs/api/java/org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html
new file mode 100644
index 0000000..945dd55
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html
@@ -0,0 +1,748 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>ColumnEncoderComposite (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="ColumnEncoderComposite (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ColumnEncoderComposite.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderBin.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderDummycode.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html" target="_top">Frames</a></li>
+<li><a href="ColumnEncoderComposite.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.transform.encode.ColumnEncoder">Nested</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.sysds.runtime.transform.encode</div>
+<h2 title="Class ColumnEncoderComposite" class="title">Class ColumnEncoderComposite</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">org.apache.sysds.runtime.transform.encode.ColumnEncoder</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.sysds.runtime.transform.encode.ColumnEncoderComposite</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true" title="class or interface in java.io">Externalizable</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a>&gt;, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="interface in org.apache.sysds.runtime.transform.encode">Encoder</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">ColumnEncoderComposite</span>
+extends <a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a></pre>
+<div class="block">Simple composite encoder that applies a list of encoders in specified order. By implementing the default encoder API
+ it can be used as a drop-in replacement for any other encoder.</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../../serialized-form.html#org.apache.sysds.runtime.transform.encode.ColumnEncoderComposite">Serialized Form</a></dd>
+</dl>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!--   -->
+</a>
+<h3>Nested Class Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.sysds.runtime.transform.encode.ColumnEncoder">
+<!--   -->
+</a>
+<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.sysds.runtime.transform.encode.<a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.EncoderType.html" title="enum in org.apache.sysds.runtime.transform.encode">ColumnEncoder.EncoderType</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html#ColumnEncoderComposite--">ColumnEncoderComposite</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html#ColumnEncoderComposite-org.apache.sysds.runtime.transform.encode.ColumnEncoder-">ColumnEncoderComposite</a></span>(<a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a>&nbsp;columnEncoder)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html#ColumnEncoderComposite-java.util.List-">ColumnEncoderComposite</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a>&gt;&nbsp;columnEncoders)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html#ColumnEncoderComposite-java.util.List-org.apache.sysds.runtime.matrix.data.FrameBlock-">ColumnEncoderComposite</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a>&gt;&nbsp;columnEncoders,
+                      <a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html#addEncoder-org.apache.sysds.runtime.transform.encode.ColumnEncoder-">addEncoder</a></span>(<a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a>&nbsp;other)</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">apply</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
+     <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
+     int&nbsp;outputCol)</code>
+<div class="block">Apply the generated metadata to the FrameBlock and saved the result in out.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html#apply-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">apply</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;in,
+     <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
+     int&nbsp;outputCol)</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html#build-org.apache.sysds.runtime.matrix.data.FrameBlock-">build</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in)</code>
+<div class="block">Build the transform meta data for the given block input.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html#buildPartial-org.apache.sysds.runtime.matrix.data.FrameBlock-">buildPartial</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in)</code>
+<div class="block">Partial build of internal data structures (e.g., in distributed spark operations).</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html#equals-java.lang.Object-">equals</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;o)</code>&nbsp;</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>&lt;T extends <a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a>&gt;<br>T</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html#getEncoder-java.lang.Class-">getEncoder</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;type)</code>&nbsp;</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html#getEncoders--">getEncoders</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html#getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">getMetaData</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;out)</code>
+<div class="block">Construct a frame block out of the transform meta data.</div>
+</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>&lt;T extends <a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a>&gt;<br>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html#hasEncoder-java.lang.Class-">hasEncoder</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;type)</code>&nbsp;</td>
+</tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html#hashCode--">hashCode</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i11" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html#initMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">initMetaData</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;out)</code>
+<div class="block">Sets up the required meta data for a subsequent call to apply.</div>
+</td>
+</tr>
+<tr id="i12" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html#isEncoder-int-java.lang.Class-">isEncoder</a></span>(int&nbsp;colID,
+         <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;type)</code>&nbsp;</td>
+</tr>
+<tr id="i13" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html#mergeAt-org.apache.sysds.runtime.transform.encode.ColumnEncoder-">mergeAt</a></span>(<a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a>&nbsp;other)</code>
+<div class="block">Merges another encoder, of a compatible type, in after a certain position.</div>
+</td>
+</tr>
+<tr id="i14" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html#prepareBuildPartial--">prepareBuildPartial</a></span>()</code>
+<div class="block">Allocates internal data structures for partial build.</div>
+</td>
+</tr>
+<tr id="i15" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html#readExternal-java.io.ObjectInput-">readExternal</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectInput.html?is-external=true" title="class or interface in java.io">ObjectInput</a>&nbsp;in)</code>
+<div class="block">Redirects the default java serialization via externalizable to our default hadoop writable serialization for
+ efficient broadcast/rdd deserialization.</div>
+</td>
+</tr>
+<tr id="i16" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html#shiftCol-int-">shiftCol</a></span>(int&nbsp;columnOffset)</code>&nbsp;</td>
+</tr>
+<tr id="i17" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html#toString--">toString</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i18" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html#updateIndexRanges-long:A-long:A-int-">updateIndexRanges</a></span>(long[]&nbsp;beginDims,
+                 long[]&nbsp;endDims,
+                 int&nbsp;colOffset)</code>
+<div class="block">Update index-ranges to after encoding.</div>
+</td>
+</tr>
+<tr id="i19" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html#writeExternal-java.io.ObjectOutput-">writeExternal</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectOutput.html?is-external=true" title="class or interface in java.io">ObjectOutput</a>&nbsp;out)</code>
+<div class="block">Redirects the default java serialization via externalizable to our default hadoop writable serialization for
+ efficient broadcast/rdd serialization.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.transform.encode.ColumnEncoder">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.transform.encode.<a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#compareTo-org.apache.sysds.runtime.transform.encode.ColumnEncoder-">compareTo</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#getColID--">getColID</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#getColMapping-org.apache.sysds.runtime.matrix.data.FrameBlock-">getColMapping</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#isApplicable--">isApplicable</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#isApplicable-int-">isApplicable</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#setColID-int-">setColID</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="ColumnEncoderComposite--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>ColumnEncoderComposite</h4>
+<pre>public&nbsp;ColumnEncoderComposite()</pre>
+</li>
+</ul>
+<a name="ColumnEncoderComposite-java.util.List-org.apache.sysds.runtime.matrix.data.FrameBlock-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>ColumnEncoderComposite</h4>
+<pre>public&nbsp;ColumnEncoderComposite(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a>&gt;&nbsp;columnEncoders,
+                              <a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</pre>
+</li>
+</ul>
+<a name="ColumnEncoderComposite-java.util.List-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>ColumnEncoderComposite</h4>
+<pre>public&nbsp;ColumnEncoderComposite(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a>&gt;&nbsp;columnEncoders)</pre>
+</li>
+</ul>
+<a name="ColumnEncoderComposite-org.apache.sysds.runtime.transform.encode.ColumnEncoder-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>ColumnEncoderComposite</h4>
+<pre>public&nbsp;ColumnEncoderComposite(<a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a>&nbsp;columnEncoder)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getEncoders--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getEncoders</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a>&gt;&nbsp;getEncoders()</pre>
+</li>
+</ul>
+<a name="getEncoder-java.lang.Class-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getEncoder</h4>
+<pre>public&nbsp;&lt;T extends <a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a>&gt;&nbsp;T&nbsp;getEncoder(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;type)</pre>
+</li>
+</ul>
+<a name="isEncoder-int-java.lang.Class-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isEncoder</h4>
+<pre>public&nbsp;boolean&nbsp;isEncoder(int&nbsp;colID,
+                         <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;type)</pre>
+</li>
+</ul>
+<a name="build-org.apache.sysds.runtime.matrix.data.FrameBlock-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>build</h4>
+<pre>public&nbsp;void&nbsp;build(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#build-org.apache.sysds.runtime.matrix.data.FrameBlock-">Encoder</a></code></span></div>
+<div class="block">Build the transform meta data for the given block input. This call modifies and keeps meta data as encoder state.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>in</code> - input frame block</dd>
+</dl>
+</li>
+</ul>
+<a name="prepareBuildPartial--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>prepareBuildPartial</h4>
+<pre>public&nbsp;void&nbsp;prepareBuildPartial()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#prepareBuildPartial--">ColumnEncoder</a></code></span></div>
+<div class="block">Allocates internal data structures for partial build.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#prepareBuildPartial--">prepareBuildPartial</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="interface in org.apache.sysds.runtime.transform.encode">Encoder</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#prepareBuildPartial--">prepareBuildPartial</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="buildPartial-org.apache.sysds.runtime.matrix.data.FrameBlock-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>buildPartial</h4>
+<pre>public&nbsp;void&nbsp;buildPartial(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#buildPartial-org.apache.sysds.runtime.matrix.data.FrameBlock-">ColumnEncoder</a></code></span></div>
+<div class="block">Partial build of internal data structures (e.g., in distributed spark operations).</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#buildPartial-org.apache.sysds.runtime.matrix.data.FrameBlock-">buildPartial</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="interface in org.apache.sysds.runtime.transform.encode">Encoder</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#buildPartial-org.apache.sysds.runtime.matrix.data.FrameBlock-">buildPartial</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>in</code> - input frame block</dd>
+</dl>
+</li>
+</ul>
+<a name="apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>apply</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;apply(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
+                         <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
+                         int&nbsp;outputCol)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">Encoder</a></code></span></div>
+<div class="block">Apply the generated metadata to the FrameBlock and saved the result in out.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>in</code> - input frame block</dd>
+<dd><code>out</code> - output matrix block</dd>
+<dd><code>outputCol</code> - is a offset in the output matrix. column in FrameBlock + outputCol = column in out</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>output matrix block</dd>
+</dl>
+</li>
+</ul>
+<a name="apply-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>apply</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;apply(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;in,
+                         <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
+                         int&nbsp;outputCol)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#apply-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">apply</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="equals-java.lang.Object-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>equals</h4>
+<pre>public&nbsp;boolean&nbsp;equals(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;o)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="hashCode--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>hashCode</h4>
+<pre>public&nbsp;int&nbsp;hashCode()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="mergeAt-org.apache.sysds.runtime.transform.encode.ColumnEncoder-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>mergeAt</h4>
+<pre>public&nbsp;void&nbsp;mergeAt(<a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a>&nbsp;other)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#mergeAt-org.apache.sysds.runtime.transform.encode.ColumnEncoder-">ColumnEncoder</a></code></span></div>
+<div class="block">Merges another encoder, of a compatible type, in after a certain position. Resizes as necessary.
+ <code>ColumnEncoders</code> are compatible with themselves and <code>EncoderComposite</code> is compatible with
+ every other <code>ColumnEncoders</code>. <code>MultiColumnEncoders</code> are compatible with every encoder</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#mergeAt-org.apache.sysds.runtime.transform.encode.ColumnEncoder-">mergeAt</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>other</code> - the encoder that should be merged in</dd>
+</dl>
+</li>
+</ul>
+<a name="addEncoder-org.apache.sysds.runtime.transform.encode.ColumnEncoder-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>addEncoder</h4>
+<pre>public&nbsp;void&nbsp;addEncoder(<a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a>&nbsp;other)</pre>
+</li>
+</ul>
+<a name="updateIndexRanges-long:A-long:A-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>updateIndexRanges</h4>
+<pre>public&nbsp;void&nbsp;updateIndexRanges(long[]&nbsp;beginDims,
+                              long[]&nbsp;endDims,
+                              int&nbsp;colOffset)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#updateIndexRanges-long:A-long:A-int-">ColumnEncoder</a></code></span></div>
+<div class="block">Update index-ranges to after encoding. Note that only Dummycoding changes the ranges.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#updateIndexRanges-long:A-long:A-int-">updateIndexRanges</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="interface in org.apache.sysds.runtime.transform.encode">Encoder</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#updateIndexRanges-long:A-long:A-int-">updateIndexRanges</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>beginDims</code> - begin dimensions of range</dd>
+<dd><code>endDims</code> - end dimensions of range</dd>
+<dd><code>colOffset</code> - is applied to begin and endDims</dd>
+</dl>
+</li>
+</ul>
+<a name="getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getMetaData</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;getMetaData(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;out)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">Encoder</a></code></span></div>
+<div class="block">Construct a frame block out of the transform meta data.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>out</code> - output frame block</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>output frame block?</dd>
+</dl>
+</li>
+</ul>
+<a name="initMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>initMetaData</h4>
+<pre>public&nbsp;void&nbsp;initMetaData(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;out)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#initMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">Encoder</a></code></span></div>
+<div class="block">Sets up the required meta data for a subsequent call to apply.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>out</code> - frame block</dd>
+</dl>
+</li>
+</ul>
+<a name="toString--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>toString</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="writeExternal-java.io.ObjectOutput-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>writeExternal</h4>
+<pre>public&nbsp;void&nbsp;writeExternal(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectOutput.html?is-external=true" title="class or interface in java.io">ObjectOutput</a>&nbsp;out)
+                   throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#writeExternal-java.io.ObjectOutput-">ColumnEncoder</a></code></span></div>
+<div class="block">Redirects the default java serialization via externalizable to our default hadoop writable serialization for
+ efficient broadcast/rdd serialization.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true#writeExternal-java.io.ObjectOutput-" title="class or interface in java.io">writeExternal</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true" title="class or interface in java.io">Externalizable</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#writeExternal-java.io.ObjectOutput-">writeExternal</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>out</code> - object output</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if IOException occurs</dd>
+</dl>
+</li>
+</ul>
+<a name="readExternal-java.io.ObjectInput-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>readExternal</h4>
+<pre>public&nbsp;void&nbsp;readExternal(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectInput.html?is-external=true" title="class or interface in java.io">ObjectInput</a>&nbsp;in)
+                  throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#readExternal-java.io.ObjectInput-">ColumnEncoder</a></code></span></div>
+<div class="block">Redirects the default java serialization via externalizable to our default hadoop writable serialization for
+ efficient broadcast/rdd deserialization.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true#readExternal-java.io.ObjectInput-" title="class or interface in java.io">readExternal</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true" title="class or interface in java.io">Externalizable</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#readExternal-java.io.ObjectInput-">readExternal</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>in</code> - object input</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if IOException occur</dd>
+</dl>
+</li>
+</ul>
+<a name="hasEncoder-java.lang.Class-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>hasEncoder</h4>
+<pre>public&nbsp;&lt;T extends <a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a>&gt;&nbsp;boolean&nbsp;hasEncoder(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;type)</pre>
+</li>
+</ul>
+<a name="shiftCol-int-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>shiftCol</h4>
+<pre>public&nbsp;void&nbsp;shiftCol(int&nbsp;columnOffset)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#shiftCol-int-">shiftCol</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ColumnEncoderComposite.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderBin.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderDummycode.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html" target="_top">Frames</a></li>
+<li><a href="ColumnEncoderComposite.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.transform.encode.ColumnEncoder">Nested</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/encode/ColumnEncoderDummycode.html b/docs/api/java/org/apache/sysds/runtime/transform/encode/ColumnEncoderDummycode.html
new file mode 100644
index 0000000..cd82fdc
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/transform/encode/ColumnEncoderDummycode.html
@@ -0,0 +1,647 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>ColumnEncoderDummycode (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="ColumnEncoderDummycode (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ColumnEncoderDummycode.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderFeatureHash.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/transform/encode/ColumnEncoderDummycode.html" target="_top">Frames</a></li>
+<li><a href="ColumnEncoderDummycode.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.transform.encode.ColumnEncoder">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.sysds.runtime.transform.encode</div>
+<h2 title="Class ColumnEncoderDummycode" class="title">Class ColumnEncoderDummycode</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">org.apache.sysds.runtime.transform.encode.ColumnEncoder</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.sysds.runtime.transform.encode.ColumnEncoderDummycode</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true" title="class or interface in java.io">Externalizable</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a>&gt;, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="interface in org.apache.sysds.runtime.transform.encode">Encoder</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">ColumnEncoderDummycode</span>
+extends <a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a></pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../../serialized-form.html#org.apache.sysds.runtime.transform.encode.ColumnEncoderDummycode">Serialized Form</a></dd>
+</dl>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!--   -->
+</a>
+<h3>Nested Class Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.sysds.runtime.transform.encode.ColumnEncoder">
+<!--   -->
+</a>
+<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.sysds.runtime.transform.encode.<a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.EncoderType.html" title="enum in org.apache.sysds.runtime.transform.encode">ColumnEncoder.EncoderType</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!--   -->
+</a>
+<h3>Field Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
+<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderDummycode.html#Z:Z_domainSize">_domainSize</a></span></code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderDummycode.html#ColumnEncoderDummycode--">ColumnEncoderDummycode</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderDummycode.html#ColumnEncoderDummycode-int-">ColumnEncoderDummycode</a></span>(int&nbsp;colID)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderDummycode.html#ColumnEncoderDummycode-int-int-">ColumnEncoderDummycode</a></span>(int&nbsp;colID,
+                      int&nbsp;domainSize)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderDummycode.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">apply</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
+     <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
+     int&nbsp;outputCol)</code>
+<div class="block">Apply the generated metadata to the FrameBlock and saved the result in out.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderDummycode.html#apply-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">apply</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;in,
+     <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
+     int&nbsp;outputCol)</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderDummycode.html#build-org.apache.sysds.runtime.matrix.data.FrameBlock-">build</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in)</code>
+<div class="block">Build the transform meta data for the given block input.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderDummycode.html#equals-java.lang.Object-">equals</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;o)</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderDummycode.html#getDomainSize--">getDomainSize</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderDummycode.html#getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">getMetaData</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</code>
+<div class="block">Construct a frame block out of the transform meta data.</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderDummycode.html#hashCode--">hashCode</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderDummycode.html#initMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">initMetaData</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</code>
+<div class="block">Sets up the required meta data for a subsequent call to apply.</div>
+</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderDummycode.html#mergeAt-org.apache.sysds.runtime.transform.encode.ColumnEncoder-">mergeAt</a></span>(<a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a>&nbsp;other)</code>
+<div class="block">Merges another encoder, of a compatible type, in after a certain position.</div>
+</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderDummycode.html#readExternal-java.io.ObjectInput-">readExternal</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectInput.html?is-external=true" title="class or interface in java.io">ObjectInput</a>&nbsp;in)</code>
+<div class="block">Redirects the default java serialization via externalizable to our default hadoop writable serialization for
+ efficient broadcast/rdd deserialization.</div>
+</td>
+</tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderDummycode.html#updateDomainSizes-java.util.List-">updateDomainSizes</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a>&gt;&nbsp;columnEncoders)</code>&nbsp;</td>
+</tr>
+<tr id="i11" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderDummycode.html#updateIndexRanges-long:A-long:A-int-">updateIndexRanges</a></span>(long[]&nbsp;beginDims,
+                 long[]&nbsp;endDims,
+                 int&nbsp;colOffset)</code>
+<div class="block">Update index-ranges to after encoding.</div>
+</td>
+</tr>
+<tr id="i12" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderDummycode.html#writeExternal-java.io.ObjectOutput-">writeExternal</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectOutput.html?is-external=true" title="class or interface in java.io">ObjectOutput</a>&nbsp;out)</code>
+<div class="block">Redirects the default java serialization via externalizable to our default hadoop writable serialization for
+ efficient broadcast/rdd serialization.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.transform.encode.ColumnEncoder">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.transform.encode.<a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#buildPartial-org.apache.sysds.runtime.matrix.data.FrameBlock-">buildPartial</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#compareTo-org.apache.sysds.runtime.transform.encode.ColumnEncoder-">compareTo</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#getColID--">getColID</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#getColMapping-org.apache.sysds.runtime.matrix.data.FrameBlock-">getColMapping</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#isApplicable--">isApplicable</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#isApplicable-int-">isApplicable</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#prepareBuildPartial--">prepareBuildPartial</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#setColID-int-">setColID</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#shiftCol-int-">shiftCol</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ FIELD DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.detail">
+<!--   -->
+</a>
+<h3>Field Detail</h3>
+<a name="Z:Z_domainSize">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>_domainSize</h4>
+<pre>public&nbsp;int _domainSize</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="ColumnEncoderDummycode--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>ColumnEncoderDummycode</h4>
+<pre>public&nbsp;ColumnEncoderDummycode()</pre>
+</li>
+</ul>
+<a name="ColumnEncoderDummycode-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>ColumnEncoderDummycode</h4>
+<pre>public&nbsp;ColumnEncoderDummycode(int&nbsp;colID)</pre>
+</li>
+</ul>
+<a name="ColumnEncoderDummycode-int-int-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>ColumnEncoderDummycode</h4>
+<pre>public&nbsp;ColumnEncoderDummycode(int&nbsp;colID,
+                              int&nbsp;domainSize)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="build-org.apache.sysds.runtime.matrix.data.FrameBlock-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>build</h4>
+<pre>public&nbsp;void&nbsp;build(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#build-org.apache.sysds.runtime.matrix.data.FrameBlock-">Encoder</a></code></span></div>
+<div class="block">Build the transform meta data for the given block input. This call modifies and keeps meta data as encoder state.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>in</code> - input frame block</dd>
+</dl>
+</li>
+</ul>
+<a name="apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>apply</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;apply(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
+                         <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
+                         int&nbsp;outputCol)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">Encoder</a></code></span></div>
+<div class="block">Apply the generated metadata to the FrameBlock and saved the result in out.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>in</code> - input frame block</dd>
+<dd><code>out</code> - output matrix block</dd>
+<dd><code>outputCol</code> - is a offset in the output matrix. column in FrameBlock + outputCol = column in out</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>output matrix block</dd>
+</dl>
+</li>
+</ul>
+<a name="apply-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>apply</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;apply(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;in,
+                         <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
+                         int&nbsp;outputCol)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#apply-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">apply</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="mergeAt-org.apache.sysds.runtime.transform.encode.ColumnEncoder-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>mergeAt</h4>
+<pre>public&nbsp;void&nbsp;mergeAt(<a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a>&nbsp;other)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#mergeAt-org.apache.sysds.runtime.transform.encode.ColumnEncoder-">ColumnEncoder</a></code></span></div>
+<div class="block">Merges another encoder, of a compatible type, in after a certain position. Resizes as necessary.
+ <code>ColumnEncoders</code> are compatible with themselves and <code>EncoderComposite</code> is compatible with
+ every other <code>ColumnEncoders</code>. <code>MultiColumnEncoders</code> are compatible with every encoder</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#mergeAt-org.apache.sysds.runtime.transform.encode.ColumnEncoder-">mergeAt</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>other</code> - the encoder that should be merged in</dd>
+</dl>
+</li>
+</ul>
+<a name="updateIndexRanges-long:A-long:A-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>updateIndexRanges</h4>
+<pre>public&nbsp;void&nbsp;updateIndexRanges(long[]&nbsp;beginDims,
+                              long[]&nbsp;endDims,
+                              int&nbsp;colOffset)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#updateIndexRanges-long:A-long:A-int-">ColumnEncoder</a></code></span></div>
+<div class="block">Update index-ranges to after encoding. Note that only Dummycoding changes the ranges.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#updateIndexRanges-long:A-long:A-int-">updateIndexRanges</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="interface in org.apache.sysds.runtime.transform.encode">Encoder</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#updateIndexRanges-long:A-long:A-int-">updateIndexRanges</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>beginDims</code> - begin dimensions of range</dd>
+<dd><code>endDims</code> - end dimensions of range</dd>
+<dd><code>colOffset</code> - is applied to begin and endDims</dd>
+</dl>
+</li>
+</ul>
+<a name="updateDomainSizes-java.util.List-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>updateDomainSizes</h4>
+<pre>public&nbsp;void&nbsp;updateDomainSizes(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a>&gt;&nbsp;columnEncoders)</pre>
+</li>
+</ul>
+<a name="getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getMetaData</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;getMetaData(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">Encoder</a></code></span></div>
+<div class="block">Construct a frame block out of the transform meta data.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>meta</code> - output frame block</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>output frame block?</dd>
+</dl>
+</li>
+</ul>
+<a name="initMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>initMetaData</h4>
+<pre>public&nbsp;void&nbsp;initMetaData(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#initMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">Encoder</a></code></span></div>
+<div class="block">Sets up the required meta data for a subsequent call to apply.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>meta</code> - frame block</dd>
+</dl>
+</li>
+</ul>
+<a name="writeExternal-java.io.ObjectOutput-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>writeExternal</h4>
+<pre>public&nbsp;void&nbsp;writeExternal(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectOutput.html?is-external=true" title="class or interface in java.io">ObjectOutput</a>&nbsp;out)
+                   throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#writeExternal-java.io.ObjectOutput-">ColumnEncoder</a></code></span></div>
+<div class="block">Redirects the default java serialization via externalizable to our default hadoop writable serialization for
+ efficient broadcast/rdd serialization.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true#writeExternal-java.io.ObjectOutput-" title="class or interface in java.io">writeExternal</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true" title="class or interface in java.io">Externalizable</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#writeExternal-java.io.ObjectOutput-">writeExternal</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>out</code> - object output</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if IOException occurs</dd>
+</dl>
+</li>
+</ul>
+<a name="readExternal-java.io.ObjectInput-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>readExternal</h4>
+<pre>public&nbsp;void&nbsp;readExternal(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectInput.html?is-external=true" title="class or interface in java.io">ObjectInput</a>&nbsp;in)
+                  throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#readExternal-java.io.ObjectInput-">ColumnEncoder</a></code></span></div>
+<div class="block">Redirects the default java serialization via externalizable to our default hadoop writable serialization for
+ efficient broadcast/rdd deserialization.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true#readExternal-java.io.ObjectInput-" title="class or interface in java.io">readExternal</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true" title="class or interface in java.io">Externalizable</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#readExternal-java.io.ObjectInput-">readExternal</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>in</code> - object input</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if IOException occur</dd>
+</dl>
+</li>
+</ul>
+<a name="equals-java.lang.Object-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>equals</h4>
+<pre>public&nbsp;boolean&nbsp;equals(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;o)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="hashCode--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>hashCode</h4>
+<pre>public&nbsp;int&nbsp;hashCode()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getDomainSize--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getDomainSize</h4>
+<pre>public&nbsp;int&nbsp;getDomainSize()</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ColumnEncoderDummycode.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderFeatureHash.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/transform/encode/ColumnEncoderDummycode.html" target="_top">Frames</a></li>
+<li><a href="ColumnEncoderDummycode.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.transform.encode.ColumnEncoder">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/encode/ColumnEncoderFeatureHash.html b/docs/api/java/org/apache/sysds/runtime/transform/encode/ColumnEncoderFeatureHash.html
new file mode 100644
index 0000000..b6285dc
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/transform/encode/ColumnEncoderFeatureHash.html
@@ -0,0 +1,509 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>ColumnEncoderFeatureHash (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="ColumnEncoderFeatureHash (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ColumnEncoderFeatureHash.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderDummycode.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderPassThrough.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/transform/encode/ColumnEncoderFeatureHash.html" target="_top">Frames</a></li>
+<li><a href="ColumnEncoderFeatureHash.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.transform.encode.ColumnEncoder">Nested</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.sysds.runtime.transform.encode</div>
+<h2 title="Class ColumnEncoderFeatureHash" class="title">Class ColumnEncoderFeatureHash</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">org.apache.sysds.runtime.transform.encode.ColumnEncoder</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.sysds.runtime.transform.encode.ColumnEncoderFeatureHash</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true" title="class or interface in java.io">Externalizable</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a>&gt;, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="interface in org.apache.sysds.runtime.transform.encode">Encoder</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">ColumnEncoderFeatureHash</span>
+extends <a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a></pre>
+<div class="block">Class used for feature hashing transformation of frames.</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../../serialized-form.html#org.apache.sysds.runtime.transform.encode.ColumnEncoderFeatureHash">Serialized Form</a></dd>
+</dl>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!--   -->
+</a>
+<h3>Nested Class Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.sysds.runtime.transform.encode.ColumnEncoder">
+<!--   -->
+</a>
+<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.sysds.runtime.transform.encode.<a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.EncoderType.html" title="enum in org.apache.sysds.runtime.transform.encode">ColumnEncoder.EncoderType</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderFeatureHash.html#ColumnEncoderFeatureHash--">ColumnEncoderFeatureHash</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderFeatureHash.html#ColumnEncoderFeatureHash-int-long-">ColumnEncoderFeatureHash</a></span>(int&nbsp;colID,
+                        long&nbsp;K)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderFeatureHash.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">apply</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
+     <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
+     int&nbsp;outputCol)</code>
+<div class="block">Apply the generated metadata to the FrameBlock and saved the result in out.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderFeatureHash.html#apply-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">apply</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;in,
+     <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
+     int&nbsp;outputCol)</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderFeatureHash.html#build-org.apache.sysds.runtime.matrix.data.FrameBlock-">build</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in)</code>
+<div class="block">Build the transform meta data for the given block input.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderFeatureHash.html#getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">getMetaData</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</code>
+<div class="block">Construct a frame block out of the transform meta data.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderFeatureHash.html#initMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">initMetaData</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</code>
+<div class="block">Sets up the required meta data for a subsequent call to apply.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderFeatureHash.html#mergeAt-org.apache.sysds.runtime.transform.encode.ColumnEncoder-">mergeAt</a></span>(<a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a>&nbsp;other)</code>
+<div class="block">Merges another encoder, of a compatible type, in after a certain position.</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderFeatureHash.html#readExternal-java.io.ObjectInput-">readExternal</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectInput.html?is-external=true" title="class or interface in java.io">ObjectInput</a>&nbsp;in)</code>
+<div class="block">Redirects the default java serialization via externalizable to our default hadoop writable serialization for
+ efficient broadcast/rdd deserialization.</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderFeatureHash.html#writeExternal-java.io.ObjectOutput-">writeExternal</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectOutput.html?is-external=true" title="class or interface in java.io">ObjectOutput</a>&nbsp;out)</code>
+<div class="block">Redirects the default java serialization via externalizable to our default hadoop writable serialization for
+ efficient broadcast/rdd serialization.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.transform.encode.ColumnEncoder">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.transform.encode.<a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#buildPartial-org.apache.sysds.runtime.matrix.data.FrameBlock-">buildPartial</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#compareTo-org.apache.sysds.runtime.transform.encode.ColumnEncoder-">compareTo</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#getColID--">getColID</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#getColMapping-org.apache.sysds.runtime.matrix.data.FrameBlock-">getColMapping</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#isApplicable--">isApplicable</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#isApplicable-int-">isApplicable</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#prepareBuildPartial--">prepareBuildPartial</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#setColID-int-">setColID</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#shiftCol-int-">shiftCol</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#updateIndexRanges-long:A-long:A-int-">updateIndexRanges</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="ColumnEncoderFeatureHash-int-long-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>ColumnEncoderFeatureHash</h4>
+<pre>public&nbsp;ColumnEncoderFeatureHash(int&nbsp;colID,
+                                long&nbsp;K)</pre>
+</li>
+</ul>
+<a name="ColumnEncoderFeatureHash--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>ColumnEncoderFeatureHash</h4>
+<pre>public&nbsp;ColumnEncoderFeatureHash()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="build-org.apache.sysds.runtime.matrix.data.FrameBlock-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>build</h4>
+<pre>public&nbsp;void&nbsp;build(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#build-org.apache.sysds.runtime.matrix.data.FrameBlock-">Encoder</a></code></span></div>
+<div class="block">Build the transform meta data for the given block input. This call modifies and keeps meta data as encoder state.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>in</code> - input frame block</dd>
+</dl>
+</li>
+</ul>
+<a name="apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>apply</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;apply(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
+                         <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
+                         int&nbsp;outputCol)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">Encoder</a></code></span></div>
+<div class="block">Apply the generated metadata to the FrameBlock and saved the result in out.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>in</code> - input frame block</dd>
+<dd><code>out</code> - output matrix block</dd>
+<dd><code>outputCol</code> - is a offset in the output matrix. column in FrameBlock + outputCol = column in out</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>output matrix block</dd>
+</dl>
+</li>
+</ul>
+<a name="apply-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>apply</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;apply(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;in,
+                         <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
+                         int&nbsp;outputCol)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#apply-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">apply</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="mergeAt-org.apache.sysds.runtime.transform.encode.ColumnEncoder-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>mergeAt</h4>
+<pre>public&nbsp;void&nbsp;mergeAt(<a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a>&nbsp;other)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#mergeAt-org.apache.sysds.runtime.transform.encode.ColumnEncoder-">ColumnEncoder</a></code></span></div>
+<div class="block">Merges another encoder, of a compatible type, in after a certain position. Resizes as necessary.
+ <code>ColumnEncoders</code> are compatible with themselves and <code>EncoderComposite</code> is compatible with
+ every other <code>ColumnEncoders</code>. <code>MultiColumnEncoders</code> are compatible with every encoder</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#mergeAt-org.apache.sysds.runtime.transform.encode.ColumnEncoder-">mergeAt</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>other</code> - the encoder that should be merged in</dd>
+</dl>
+</li>
+</ul>
+<a name="getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getMetaData</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;getMetaData(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">Encoder</a></code></span></div>
+<div class="block">Construct a frame block out of the transform meta data.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>meta</code> - output frame block</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>output frame block?</dd>
+</dl>
+</li>
+</ul>
+<a name="initMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>initMetaData</h4>
+<pre>public&nbsp;void&nbsp;initMetaData(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#initMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">Encoder</a></code></span></div>
+<div class="block">Sets up the required meta data for a subsequent call to apply.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>meta</code> - frame block</dd>
+</dl>
+</li>
+</ul>
+<a name="writeExternal-java.io.ObjectOutput-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>writeExternal</h4>
+<pre>public&nbsp;void&nbsp;writeExternal(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectOutput.html?is-external=true" title="class or interface in java.io">ObjectOutput</a>&nbsp;out)
+                   throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#writeExternal-java.io.ObjectOutput-">ColumnEncoder</a></code></span></div>
+<div class="block">Redirects the default java serialization via externalizable to our default hadoop writable serialization for
+ efficient broadcast/rdd serialization.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true#writeExternal-java.io.ObjectOutput-" title="class or interface in java.io">writeExternal</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true" title="class or interface in java.io">Externalizable</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#writeExternal-java.io.ObjectOutput-">writeExternal</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>out</code> - object output</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if IOException occurs</dd>
+</dl>
+</li>
+</ul>
+<a name="readExternal-java.io.ObjectInput-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>readExternal</h4>
+<pre>public&nbsp;void&nbsp;readExternal(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectInput.html?is-external=true" title="class or interface in java.io">ObjectInput</a>&nbsp;in)
+                  throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#readExternal-java.io.ObjectInput-">ColumnEncoder</a></code></span></div>
+<div class="block">Redirects the default java serialization via externalizable to our default hadoop writable serialization for
+ efficient broadcast/rdd deserialization.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true#readExternal-java.io.ObjectInput-" title="class or interface in java.io">readExternal</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true" title="class or interface in java.io">Externalizable</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#readExternal-java.io.ObjectInput-">readExternal</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>in</code> - object input</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if IOException occur</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ColumnEncoderFeatureHash.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderDummycode.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderPassThrough.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/transform/encode/ColumnEncoderFeatureHash.html" target="_top">Frames</a></li>
+<li><a href="ColumnEncoderFeatureHash.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.transform.encode.ColumnEncoder">Nested</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/encode/ColumnEncoderPassThrough.html b/docs/api/java/org/apache/sysds/runtime/transform/encode/ColumnEncoderPassThrough.html
new file mode 100644
index 0000000..115cad3
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/transform/encode/ColumnEncoderPassThrough.html
@@ -0,0 +1,434 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>ColumnEncoderPassThrough (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="ColumnEncoderPassThrough (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ColumnEncoderPassThrough.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderFeatureHash.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderRecode.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/transform/encode/ColumnEncoderPassThrough.html" target="_top">Frames</a></li>
+<li><a href="ColumnEncoderPassThrough.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.transform.encode.ColumnEncoder">Nested</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.sysds.runtime.transform.encode</div>
+<h2 title="Class ColumnEncoderPassThrough" class="title">Class ColumnEncoderPassThrough</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">org.apache.sysds.runtime.transform.encode.ColumnEncoder</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.sysds.runtime.transform.encode.ColumnEncoderPassThrough</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true" title="class or interface in java.io">Externalizable</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a>&gt;, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="interface in org.apache.sysds.runtime.transform.encode">Encoder</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">ColumnEncoderPassThrough</span>
+extends <a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a></pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../../serialized-form.html#org.apache.sysds.runtime.transform.encode.ColumnEncoderPassThrough">Serialized Form</a></dd>
+</dl>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!--   -->
+</a>
+<h3>Nested Class Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.sysds.runtime.transform.encode.ColumnEncoder">
+<!--   -->
+</a>
+<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.sysds.runtime.transform.encode.<a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.EncoderType.html" title="enum in org.apache.sysds.runtime.transform.encode">ColumnEncoder.EncoderType</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderPassThrough.html#ColumnEncoderPassThrough--">ColumnEncoderPassThrough</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderPassThrough.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">apply</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
+     <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
+     int&nbsp;outputCol)</code>
+<div class="block">Apply the generated metadata to the FrameBlock and saved the result in out.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderPassThrough.html#apply-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">apply</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;in,
+     <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
+     int&nbsp;outputCol)</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderPassThrough.html#build-org.apache.sysds.runtime.matrix.data.FrameBlock-">build</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in)</code>
+<div class="block">Build the transform meta data for the given block input.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderPassThrough.html#getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">getMetaData</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</code>
+<div class="block">Construct a frame block out of the transform meta data.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderPassThrough.html#initMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">initMetaData</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</code>
+<div class="block">Sets up the required meta data for a subsequent call to apply.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderPassThrough.html#mergeAt-org.apache.sysds.runtime.transform.encode.ColumnEncoder-">mergeAt</a></span>(<a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a>&nbsp;other)</code>
+<div class="block">Merges another encoder, of a compatible type, in after a certain position.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.transform.encode.ColumnEncoder">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.transform.encode.<a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#buildPartial-org.apache.sysds.runtime.matrix.data.FrameBlock-">buildPartial</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#compareTo-org.apache.sysds.runtime.transform.encode.ColumnEncoder-">compareTo</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#getColID--">getColID</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#getColMapping-org.apache.sysds.runtime.matrix.data.FrameBlock-">getColMapping</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#isApplicable--">isApplicable</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#isApplicable-int-">isApplicable</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#prepareBuildPartial--">prepareBuildPartial</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#readExternal-java.io.ObjectInput-">readExternal</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#setColID-int-">setColID</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#shiftCol-int-">shiftCol</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#updateIndexRanges-long:A-long:A-int-">updateIndexRanges</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#writeExternal-java.io.ObjectOutput-">writeExternal</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="ColumnEncoderPassThrough--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>ColumnEncoderPassThrough</h4>
+<pre>public&nbsp;ColumnEncoderPassThrough()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="build-org.apache.sysds.runtime.matrix.data.FrameBlock-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>build</h4>
+<pre>public&nbsp;void&nbsp;build(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#build-org.apache.sysds.runtime.matrix.data.FrameBlock-">Encoder</a></code></span></div>
+<div class="block">Build the transform meta data for the given block input. This call modifies and keeps meta data as encoder state.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>in</code> - input frame block</dd>
+</dl>
+</li>
+</ul>
+<a name="apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>apply</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;apply(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
+                         <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
+                         int&nbsp;outputCol)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">Encoder</a></code></span></div>
+<div class="block">Apply the generated metadata to the FrameBlock and saved the result in out.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>in</code> - input frame block</dd>
+<dd><code>out</code> - output matrix block</dd>
+<dd><code>outputCol</code> - is a offset in the output matrix. column in FrameBlock + outputCol = column in out</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>output matrix block</dd>
+</dl>
+</li>
+</ul>
+<a name="apply-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>apply</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;apply(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;in,
+                         <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
+                         int&nbsp;outputCol)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#apply-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">apply</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="mergeAt-org.apache.sysds.runtime.transform.encode.ColumnEncoder-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>mergeAt</h4>
+<pre>public&nbsp;void&nbsp;mergeAt(<a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a>&nbsp;other)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#mergeAt-org.apache.sysds.runtime.transform.encode.ColumnEncoder-">ColumnEncoder</a></code></span></div>
+<div class="block">Merges another encoder, of a compatible type, in after a certain position. Resizes as necessary.
+ <code>ColumnEncoders</code> are compatible with themselves and <code>EncoderComposite</code> is compatible with
+ every other <code>ColumnEncoders</code>. <code>MultiColumnEncoders</code> are compatible with every encoder</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#mergeAt-org.apache.sysds.runtime.transform.encode.ColumnEncoder-">mergeAt</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>other</code> - the encoder that should be merged in</dd>
+</dl>
+</li>
+</ul>
+<a name="getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getMetaData</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;getMetaData(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">Encoder</a></code></span></div>
+<div class="block">Construct a frame block out of the transform meta data.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>meta</code> - output frame block</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>output frame block?</dd>
+</dl>
+</li>
+</ul>
+<a name="initMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>initMetaData</h4>
+<pre>public&nbsp;void&nbsp;initMetaData(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#initMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">Encoder</a></code></span></div>
+<div class="block">Sets up the required meta data for a subsequent call to apply.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>meta</code> - frame block</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ColumnEncoderPassThrough.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderFeatureHash.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderRecode.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/transform/encode/ColumnEncoderPassThrough.html" target="_top">Frames</a></li>
+<li><a href="ColumnEncoderPassThrough.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.transform.encode.ColumnEncoder">Nested</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/encode/ColumnEncoderRecode.html b/docs/api/java/org/apache/sysds/runtime/transform/encode/ColumnEncoderRecode.html
new file mode 100644
index 0000000..c21832d
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/transform/encode/ColumnEncoderRecode.html
@@ -0,0 +1,722 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>ColumnEncoderRecode (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="ColumnEncoderRecode (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":9,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":9,"i17":10};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ColumnEncoderRecode.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderPassThrough.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="interface in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/transform/encode/ColumnEncoderRecode.html" target="_top">Frames</a></li>
+<li><a href="ColumnEncoderRecode.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.transform.encode.ColumnEncoder">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.sysds.runtime.transform.encode</div>
+<h2 title="Class ColumnEncoderRecode" class="title">Class ColumnEncoderRecode</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">org.apache.sysds.runtime.transform.encode.ColumnEncoder</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.sysds.runtime.transform.encode.ColumnEncoderRecode</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true" title="class or interface in java.io">Externalizable</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a>&gt;, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="interface in org.apache.sysds.runtime.transform.encode">Encoder</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">ColumnEncoderRecode</span>
+extends <a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a></pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../../serialized-form.html#org.apache.sysds.runtime.transform.encode.ColumnEncoderRecode">Serialized Form</a></dd>
+</dl>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!--   -->
+</a>
+<h3>Nested Class Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.sysds.runtime.transform.encode.ColumnEncoder">
+<!--   -->
+</a>
+<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.sysds.runtime.transform.encode.<a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.EncoderType.html" title="enum in org.apache.sysds.runtime.transform.encode">ColumnEncoder.EncoderType</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!--   -->
+</a>
+<h3>Field Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
+<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderRecode.html#SORT_RECODE_MAP">SORT_RECODE_MAP</a></span></code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderRecode.html#ColumnEncoderRecode--">ColumnEncoderRecode</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderRecode.html#ColumnEncoderRecode-int-">ColumnEncoderRecode</a></span>(int&nbsp;colID)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderRecode.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">apply</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
+     <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
+     int&nbsp;outputCol)</code>
+<div class="block">Apply the generated metadata to the FrameBlock and saved the result in out.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderRecode.html#apply-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">apply</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;in,
+     <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
+     int&nbsp;outputCol)</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderRecode.html#build-org.apache.sysds.runtime.matrix.data.FrameBlock-">build</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in)</code>
+<div class="block">Build the transform meta data for the given block input.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderRecode.html#buildPartial-org.apache.sysds.runtime.matrix.data.FrameBlock-">buildPartial</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in)</code>
+<div class="block">Partial build of internal data structures (e.g., in distributed spark operations).</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderRecode.html#constructRecodeMapEntry-java.lang.String-java.lang.Long-">constructRecodeMapEntry</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;token,
+                       <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&nbsp;code)</code>
+<div class="block">Returns the Recode map entry which consists of concatenation of code, delimiter and token.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderRecode.html#equals-java.lang.Object-">equals</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;o)</code>&nbsp;</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderRecode.html#getCPRecodeMaps--">getCPRecodeMaps</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashSet.html?is-external=true" title="class or interface in java.util">HashSet</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderRecode.html#getCPRecodeMapsPartial--">getCPRecodeMapsPartial</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderRecode.html#getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">getMetaData</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</code>
+<div class="block">Construct a frame block out of the transform meta data.</div>
+</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderRecode.html#getNumDistinctValues--">getNumDistinctValues</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderRecode.html#hashCode--">hashCode</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i11" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderRecode.html#initMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">initMetaData</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</code>
+<div class="block">Construct the recodemaps from the given input frame for all columns registered for recode.</div>
+</td>
+</tr>
+<tr id="i12" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderRecode.html#mergeAt-org.apache.sysds.runtime.transform.encode.ColumnEncoder-">mergeAt</a></span>(<a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a>&nbsp;other)</code>
+<div class="block">Merges another encoder, of a compatible type, in after a certain position.</div>
+</td>
+</tr>
+<tr id="i13" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderRecode.html#prepareBuildPartial--">prepareBuildPartial</a></span>()</code>
+<div class="block">Allocates internal data structures for partial build.</div>
+</td>
+</tr>
+<tr id="i14" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderRecode.html#readExternal-java.io.ObjectInput-">readExternal</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectInput.html?is-external=true" title="class or interface in java.io">ObjectInput</a>&nbsp;in)</code>
+<div class="block">Redirects the default java serialization via externalizable to our default hadoop writable serialization for
+ efficient broadcast/rdd deserialization.</div>
+</td>
+</tr>
+<tr id="i15" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderRecode.html#sortCPRecodeMaps--">sortCPRecodeMaps</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i16" class="altColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderRecode.html#splitRecodeMapEntry-java.lang.String-">splitRecodeMapEntry</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;value)</code>
+<div class="block">Splits a Recode map entry into its token and code.</div>
+</td>
+</tr>
+<tr id="i17" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderRecode.html#writeExternal-java.io.ObjectOutput-">writeExternal</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectOutput.html?is-external=true" title="class or interface in java.io">ObjectOutput</a>&nbsp;out)</code>
+<div class="block">Redirects the default java serialization via externalizable to our default hadoop writable serialization for
+ efficient broadcast/rdd serialization.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.transform.encode.ColumnEncoder">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.transform.encode.<a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#compareTo-org.apache.sysds.runtime.transform.encode.ColumnEncoder-">compareTo</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#getColID--">getColID</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#getColMapping-org.apache.sysds.runtime.matrix.data.FrameBlock-">getColMapping</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#isApplicable--">isApplicable</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#isApplicable-int-">isApplicable</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#setColID-int-">setColID</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#shiftCol-int-">shiftCol</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#updateIndexRanges-long:A-long:A-int-">updateIndexRanges</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ FIELD DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.detail">
+<!--   -->
+</a>
+<h3>Field Detail</h3>
+<a name="SORT_RECODE_MAP">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>SORT_RECODE_MAP</h4>
+<pre>public static&nbsp;boolean SORT_RECODE_MAP</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="ColumnEncoderRecode-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>ColumnEncoderRecode</h4>
+<pre>public&nbsp;ColumnEncoderRecode(int&nbsp;colID)</pre>
+</li>
+</ul>
+<a name="ColumnEncoderRecode--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>ColumnEncoderRecode</h4>
+<pre>public&nbsp;ColumnEncoderRecode()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="constructRecodeMapEntry-java.lang.String-java.lang.Long-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>constructRecodeMapEntry</h4>
+<pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;constructRecodeMapEntry(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;token,
+                                             <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&nbsp;code)</pre>
+<div class="block">Returns the Recode map entry which consists of concatenation of code, delimiter and token.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>token</code> - is part of Recode map</dd>
+<dd><code>code</code> - is code for token</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the concatenation of token and code with delimiter in between</dd>
+</dl>
+</li>
+</ul>
+<a name="splitRecodeMapEntry-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>splitRecodeMapEntry</h4>
+<pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;splitRecodeMapEntry(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;value)</pre>
+<div class="block">Splits a Recode map entry into its token and code.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>value</code> - concatenation of token and code with delimiter in between</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>string array of token and code</dd>
+</dl>
+</li>
+</ul>
+<a name="getCPRecodeMaps--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getCPRecodeMaps</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&nbsp;getCPRecodeMaps()</pre>
+</li>
+</ul>
+<a name="getCPRecodeMapsPartial--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getCPRecodeMapsPartial</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashSet.html?is-external=true" title="class or interface in java.util">HashSet</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;&nbsp;getCPRecodeMapsPartial()</pre>
+</li>
+</ul>
+<a name="sortCPRecodeMaps--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>sortCPRecodeMaps</h4>
+<pre>public&nbsp;void&nbsp;sortCPRecodeMaps()</pre>
+</li>
+</ul>
+<a name="build-org.apache.sysds.runtime.matrix.data.FrameBlock-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>build</h4>
+<pre>public&nbsp;void&nbsp;build(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#build-org.apache.sysds.runtime.matrix.data.FrameBlock-">Encoder</a></code></span></div>
+<div class="block">Build the transform meta data for the given block input. This call modifies and keeps meta data as encoder state.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>in</code> - input frame block</dd>
+</dl>
+</li>
+</ul>
+<a name="prepareBuildPartial--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>prepareBuildPartial</h4>
+<pre>public&nbsp;void&nbsp;prepareBuildPartial()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#prepareBuildPartial--">ColumnEncoder</a></code></span></div>
+<div class="block">Allocates internal data structures for partial build.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#prepareBuildPartial--">prepareBuildPartial</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="interface in org.apache.sysds.runtime.transform.encode">Encoder</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#prepareBuildPartial--">prepareBuildPartial</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="buildPartial-org.apache.sysds.runtime.matrix.data.FrameBlock-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>buildPartial</h4>
+<pre>public&nbsp;void&nbsp;buildPartial(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#buildPartial-org.apache.sysds.runtime.matrix.data.FrameBlock-">ColumnEncoder</a></code></span></div>
+<div class="block">Partial build of internal data structures (e.g., in distributed spark operations).</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#buildPartial-org.apache.sysds.runtime.matrix.data.FrameBlock-">buildPartial</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="interface in org.apache.sysds.runtime.transform.encode">Encoder</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#buildPartial-org.apache.sysds.runtime.matrix.data.FrameBlock-">buildPartial</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>in</code> - input frame block</dd>
+</dl>
+</li>
+</ul>
+<a name="apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>apply</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;apply(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
+                         <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
+                         int&nbsp;outputCol)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">Encoder</a></code></span></div>
+<div class="block">Apply the generated metadata to the FrameBlock and saved the result in out.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>in</code> - input frame block</dd>
+<dd><code>out</code> - output matrix block</dd>
+<dd><code>outputCol</code> - is a offset in the output matrix. column in FrameBlock + outputCol = column in out</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>output matrix block</dd>
+</dl>
+</li>
+</ul>
+<a name="apply-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>apply</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;apply(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;in,
+                         <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
+                         int&nbsp;outputCol)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#apply-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">apply</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="mergeAt-org.apache.sysds.runtime.transform.encode.ColumnEncoder-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>mergeAt</h4>
+<pre>public&nbsp;void&nbsp;mergeAt(<a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a>&nbsp;other)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#mergeAt-org.apache.sysds.runtime.transform.encode.ColumnEncoder-">ColumnEncoder</a></code></span></div>
+<div class="block">Merges another encoder, of a compatible type, in after a certain position. Resizes as necessary.
+ <code>ColumnEncoders</code> are compatible with themselves and <code>EncoderComposite</code> is compatible with
+ every other <code>ColumnEncoders</code>. <code>MultiColumnEncoders</code> are compatible with every encoder</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#mergeAt-org.apache.sysds.runtime.transform.encode.ColumnEncoder-">mergeAt</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>other</code> - the encoder that should be merged in</dd>
+</dl>
+</li>
+</ul>
+<a name="getNumDistinctValues--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getNumDistinctValues</h4>
+<pre>public&nbsp;int&nbsp;getNumDistinctValues()</pre>
+</li>
+</ul>
+<a name="getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getMetaData</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;getMetaData(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">Encoder</a></code></span></div>
+<div class="block">Construct a frame block out of the transform meta data.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>meta</code> - output frame block</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>output frame block?</dd>
+</dl>
+</li>
+</ul>
+<a name="initMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>initMetaData</h4>
+<pre>public&nbsp;void&nbsp;initMetaData(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</pre>
+<div class="block">Construct the recodemaps from the given input frame for all columns registered for recode.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>meta</code> - frame block</dd>
+</dl>
+</li>
+</ul>
+<a name="writeExternal-java.io.ObjectOutput-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>writeExternal</h4>
+<pre>public&nbsp;void&nbsp;writeExternal(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectOutput.html?is-external=true" title="class or interface in java.io">ObjectOutput</a>&nbsp;out)
+                   throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#writeExternal-java.io.ObjectOutput-">ColumnEncoder</a></code></span></div>
+<div class="block">Redirects the default java serialization via externalizable to our default hadoop writable serialization for
+ efficient broadcast/rdd serialization.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true#writeExternal-java.io.ObjectOutput-" title="class or interface in java.io">writeExternal</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true" title="class or interface in java.io">Externalizable</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#writeExternal-java.io.ObjectOutput-">writeExternal</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>out</code> - object output</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if IOException occurs</dd>
+</dl>
+</li>
+</ul>
+<a name="readExternal-java.io.ObjectInput-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>readExternal</h4>
+<pre>public&nbsp;void&nbsp;readExternal(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectInput.html?is-external=true" title="class or interface in java.io">ObjectInput</a>&nbsp;in)
+                  throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#readExternal-java.io.ObjectInput-">ColumnEncoder</a></code></span></div>
+<div class="block">Redirects the default java serialization via externalizable to our default hadoop writable serialization for
+ efficient broadcast/rdd deserialization.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true#readExternal-java.io.ObjectInput-" title="class or interface in java.io">readExternal</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true" title="class or interface in java.io">Externalizable</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#readExternal-java.io.ObjectInput-">readExternal</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>in</code> - object input</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if IOException occur</dd>
+</dl>
+</li>
+</ul>
+<a name="equals-java.lang.Object-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>equals</h4>
+<pre>public&nbsp;boolean&nbsp;equals(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;o)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="hashCode--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>hashCode</h4>
+<pre>public&nbsp;int&nbsp;hashCode()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ColumnEncoderRecode.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderPassThrough.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="interface in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/transform/encode/ColumnEncoderRecode.html" target="_top">Frames</a></li>
+<li><a href="ColumnEncoderRecode.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.transform.encode.ColumnEncoder">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/encode/Encoder.html b/docs/api/java/org/apache/sysds/runtime/transform/encode/Encoder.html
index 0a8236a..e57a8df 100644
--- a/docs/api/java/org/apache/sysds/runtime/transform/encode/Encoder.html
+++ b/docs/api/java/org/apache/sysds/runtime/transform/encode/Encoder.html
@@ -18,8 +18,8 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":6,"i1":6,"i2":6,"i3":10,"i4":10,"i5":6,"i6":10,"i7":10,"i8":10,"i9":6,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete Methods"]};
+var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
 var tableTab = "tableTab";
@@ -49,8 +49,8 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li>Prev&nbsp;Class</li>
-<li><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderBin.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderRecode.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderFactory.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/sysds/runtime/transform/encode/Encoder.html" target="_top">Frames</a></li>
@@ -93,39 +93,24 @@
 <!-- ======== START OF CLASS DATA ======== -->
 <div class="header">
 <div class="subTitle">org.apache.sysds.runtime.transform.encode</div>
-<h2 title="Class Encoder" class="title">Class Encoder</h2>
+<h2 title="Interface Encoder" class="title">Interface Encoder</h2>
 </div>
 <div class="contentContainer">
-<ul class="inheritance">
-<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
-<li>
-<ul class="inheritance">
-<li>org.apache.sysds.runtime.transform.encode.Encoder</li>
-</ul>
-</li>
-</ul>
 <div class="description">
 <ul class="blockList">
 <li class="blockList">
 <dl>
-<dt>All Implemented Interfaces:</dt>
-<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></dd>
+<dt>All Superinterfaces:</dt>
+<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true" title="class or interface in java.io">Externalizable</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></dd>
 </dl>
 <dl>
-<dt>Direct Known Subclasses:</dt>
-<dd><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderBin.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderBin</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderComposite</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderDummycode.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderDummycode</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderFeatureHash.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderFeatureHash</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderMVImpute</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderOmit.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderOmit</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderPassThrough.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderPassThrough</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderRecode.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderRecode</a></dd>
+<dt>All Known Implementing Classes:</dt>
+<dd><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderBin.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderBin</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderComposite</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderDummycode.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderDummycode</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderFeatureHash.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderFeatureHash</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderPassThrough.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderPassThrough</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderRecode.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderRecode</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a></dd>
 </dl>
 <hr>
 <br>
-<pre>public abstract class <span class="typeNameLabel">Encoder</span>
-extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
-implements <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></pre>
-<div class="block">Base class for all transform encoders providing both a row and block
- interface for decoding frames to matrices.</div>
-<dl>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../../../serialized-form.html#org.apache.sysds.runtime.transform.encode.Encoder">Serialized Form</a></dd>
-</dl>
+<pre>public interface <span class="typeNameLabel">Encoder</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true" title="class or interface in java.io">Externalizable</a></pre>
 </li>
 </ul>
 </div>
@@ -139,114 +124,64 @@
 </a>
 <h3>Method Summary</h3>
 <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
-<td class="colFirst"><code>abstract <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">apply</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
-     <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</code>
-<div class="block">Encode input data blockwise according to existing transform meta
- data (transform apply).</div>
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">apply</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
+     <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
+     int&nbsp;outputCol)</code>
+<div class="block">Apply the generated metadata to the FrameBlock and saved the result in out.</div>
 </td>
 </tr>
 <tr id="i1" class="rowColor">
-<td class="colFirst"><code>abstract void</code></td>
+<td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#build-org.apache.sysds.runtime.matrix.data.FrameBlock-">build</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in)</code>
 <div class="block">Build the transform meta data for the given block input.</div>
 </td>
 </tr>
 <tr id="i2" class="altColor">
-<td class="colFirst"><code>abstract <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#encode-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">encode</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
-      <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</code>
-<div class="block">Block encode: build and apply (transform encode).</div>
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#buildPartial-org.apache.sysds.runtime.matrix.data.FrameBlock-">buildPartial</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in)</code>
+<div class="block">Partial build of internal data structures (e.g., in distributed spark operations).</div>
 </td>
 </tr>
 <tr id="i3" class="rowColor">
-<td class="colFirst"><code>int[]</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#getColList--">getColList</a></span>()</code>&nbsp;</td>
-</tr>
-<tr id="i4" class="altColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#getColMapping-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">getColMapping</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta,
-             <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</code>
-<div class="block">Obtain the column mapping of encoded frames based on the passed
- meta data frame.</div>
-</td>
-</tr>
-<tr id="i5" class="rowColor">
-<td class="colFirst"><code>abstract <a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></code></td>
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">getMetaData</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;out)</code>
 <div class="block">Construct a frame block out of the transform meta data.</div>
 </td>
 </tr>
-<tr id="i6" class="altColor">
-<td class="colFirst"><code>int</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#getNumCols--">getNumCols</a></span>()</code>&nbsp;</td>
-</tr>
-<tr id="i7" class="rowColor">
-<td class="colFirst"><code>int</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#initColList-int:A-">initColList</a></span>(int[]&nbsp;colList)</code>&nbsp;</td>
-</tr>
-<tr id="i8" class="altColor">
-<td class="colFirst"><code>int</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#initColList-org.apache.wink.json4j.JSONArray-">initColList</a></span>(org.apache.wink.json4j.JSONArray&nbsp;attrs)</code>&nbsp;</td>
-</tr>
-<tr id="i9" class="rowColor">
-<td class="colFirst"><code>abstract void</code></td>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#initMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">initMetaData</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</code>
 <div class="block">Sets up the required meta data for a subsequent call to apply.</div>
 </td>
 </tr>
-<tr id="i10" class="altColor">
-<td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#isApplicable--">isApplicable</a></span>()</code>
-<div class="block">Indicates if this encoder is applicable, i.e, if there is at 
- least one column to encode.</div>
-</td>
-</tr>
-<tr id="i11" class="rowColor">
-<td class="colFirst"><code>int</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#isApplicable-int-">isApplicable</a></span>(int&nbsp;colID)</code>
-<div class="block">Indicates if this encoder is applicable for the given column ID,
- i.e., if it is subject to this transformation.</div>
-</td>
-</tr>
-<tr id="i12" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-int-">mergeAt</a></span>(<a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&nbsp;other,
-       int&nbsp;row,
-       int&nbsp;col)</code>
-<div class="block">Merges another encoder, of a compatible type, in after a certain position.</div>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#prepareBuildPartial--">prepareBuildPartial</a></span>()</code>
+<div class="block">Allocates internal data structures for partial build.</div>
 </td>
 </tr>
-<tr id="i13" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#setColList-int:A-">setColList</a></span>(int[]&nbsp;colList)</code>&nbsp;</td>
-</tr>
-<tr id="i14" class="altColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">subRangeEncoder</a></span>(<a href="../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixRange)</code>
-<div class="block">Returns a new Encoder that only handles a sub range of columns.</div>
-</td>
-</tr>
-<tr id="i15" class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#updateIndexRanges-long:A-long:A-">updateIndexRanges</a></span>(long[]&nbsp;beginDims,
-                 long[]&nbsp;endDims)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#updateIndexRanges-long:A-long:A-int-">updateIndexRanges</a></span>(long[]&nbsp;beginDims,
+                 long[]&nbsp;endDims,
+                 int&nbsp;offset)</code>
 <div class="block">Update index-ranges to after encoding.</div>
 </td>
 </tr>
 </table>
 <ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<li class="blockList"><a name="methods.inherited.from.class.java.io.Externalizable">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
-<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+<h3>Methods inherited from interface&nbsp;java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true" title="class or interface in java.io">Externalizable</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true#readExternal-java.io.ObjectInput-" title="class or interface in java.io">readExternal</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true#writeExternal-java.io.ObjectOutput-" title="class or interface in java.io">writeExternal</a></code></li>
 </ul>
 </li>
 </ul>
@@ -262,194 +197,47 @@
 <!--   -->
 </a>
 <h3>Method Detail</h3>
-<a name="getColList--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getColList</h4>
-<pre>public&nbsp;int[]&nbsp;getColList()</pre>
-</li>
-</ul>
-<a name="setColList-int:A-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>setColList</h4>
-<pre>public&nbsp;void&nbsp;setColList(int[]&nbsp;colList)</pre>
-</li>
-</ul>
-<a name="getNumCols--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getNumCols</h4>
-<pre>public&nbsp;int&nbsp;getNumCols()</pre>
-</li>
-</ul>
-<a name="initColList-org.apache.wink.json4j.JSONArray-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>initColList</h4>
-<pre>public&nbsp;int&nbsp;initColList(org.apache.wink.json4j.JSONArray&nbsp;attrs)</pre>
-</li>
-</ul>
-<a name="initColList-int:A-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>initColList</h4>
-<pre>public&nbsp;int&nbsp;initColList(int[]&nbsp;colList)</pre>
-</li>
-</ul>
-<a name="isApplicable--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>isApplicable</h4>
-<pre>public&nbsp;boolean&nbsp;isApplicable()</pre>
-<div class="block">Indicates if this encoder is applicable, i.e, if there is at 
- least one column to encode.</div>
-<dl>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>true if at least one column to encode</dd>
-</dl>
-</li>
-</ul>
-<a name="isApplicable-int-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>isApplicable</h4>
-<pre>public&nbsp;int&nbsp;isApplicable(int&nbsp;colID)</pre>
-<div class="block">Indicates if this encoder is applicable for the given column ID,
- i.e., if it is subject to this transformation.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>colID</code> - column ID</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>true if encoder is applicable for given column</dd>
-</dl>
-</li>
-</ul>
-<a name="encode-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>encode</h4>
-<pre>public abstract&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;encode(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
-                                   <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</pre>
-<div class="block">Block encode: build and apply (transform encode).</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>in</code> - input frame block</dd>
-<dd><code>out</code> - output matrix block</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>output matrix block</dd>
-</dl>
-</li>
-</ul>
 <a name="build-org.apache.sysds.runtime.matrix.data.FrameBlock-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>build</h4>
-<pre>public abstract&nbsp;void&nbsp;build(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in)</pre>
-<div class="block">Build the transform meta data for the given block input. This call modifies
- and keeps meta data as encoder state.</div>
+<pre>void&nbsp;build(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in)</pre>
+<div class="block">Build the transform meta data for the given block input. This call modifies and keeps meta data as encoder state.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>in</code> - input frame block</dd>
 </dl>
 </li>
 </ul>
-<a name="apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">
+<a name="apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>apply</h4>
-<pre>public abstract&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;apply(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
-                                  <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</pre>
-<div class="block">Encode input data blockwise according to existing transform meta
- data (transform apply).</div>
+<pre><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;apply(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
+                  <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
+                  int&nbsp;outputCol)</pre>
+<div class="block">Apply the generated metadata to the FrameBlock and saved the result in out.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>in</code> - input frame block</dd>
 <dd><code>out</code> - output matrix block</dd>
+<dd><code>outputCol</code> - is a offset in the output matrix. column in FrameBlock + outputCol = column in out</dd>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>output matrix block</dd>
 </dl>
 </li>
 </ul>
-<a name="subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>subRangeEncoder</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&nbsp;subRangeEncoder(<a href="../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixRange)</pre>
-<div class="block">Returns a new Encoder that only handles a sub range of columns.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>ixRange</code> - the range (1-based, begin inclusive, end exclusive)</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>an encoder of the same type, just for the sub-range</dd>
-</dl>
-</li>
-</ul>
-<a name="mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-int-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>mergeAt</h4>
-<pre>public&nbsp;void&nbsp;mergeAt(<a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&nbsp;other,
-                    int&nbsp;row,
-                    int&nbsp;col)</pre>
-<div class="block">Merges another encoder, of a compatible type, in after a certain position. Resizes as necessary.
- <code>Encoders</code> are compatible with themselves and <code>EncoderComposite</code> is compatible with every
- other <code>Encoder</code>.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>other</code> - the encoder that should be merged in</dd>
-<dd><code>row</code> - the row where it should be placed (1-based)</dd>
-<dd><code>col</code> - the col where it should be placed (1-based)</dd>
-</dl>
-</li>
-</ul>
-<a name="updateIndexRanges-long:A-long:A-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>updateIndexRanges</h4>
-<pre>public&nbsp;void&nbsp;updateIndexRanges(long[]&nbsp;beginDims,
-                              long[]&nbsp;endDims)</pre>
-<div class="block">Update index-ranges to after encoding. Note that only Dummycoding changes the ranges.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>beginDims</code> - begin dimensions of range</dd>
-<dd><code>endDims</code> - end dimensions of range</dd>
-</dl>
-</li>
-</ul>
 <a name="getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>getMetaData</h4>
-<pre>public abstract&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;getMetaData(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;out)</pre>
+<pre><a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;getMetaData(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;out)</pre>
 <div class="block">Construct a frame block out of the transform meta data.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -465,7 +253,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>initMetaData</h4>
-<pre>public abstract&nbsp;void&nbsp;initMetaData(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</pre>
+<pre>void&nbsp;initMetaData(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</pre>
 <div class="block">Sets up the required meta data for a subsequent call to apply.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -473,22 +261,45 @@
 </dl>
 </li>
 </ul>
-<a name="getColMapping-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">
+<a name="prepareBuildPartial--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>prepareBuildPartial</h4>
+<pre>void&nbsp;prepareBuildPartial()</pre>
+<div class="block">Allocates internal data structures for partial build.</div>
+</li>
+</ul>
+<a name="buildPartial-org.apache.sysds.runtime.matrix.data.FrameBlock-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>buildPartial</h4>
+<pre>void&nbsp;buildPartial(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in)</pre>
+<div class="block">Partial build of internal data structures (e.g., in distributed spark operations).</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>in</code> - input frame block</dd>
+</dl>
+</li>
+</ul>
+<a name="updateIndexRanges-long:A-long:A-int-">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>getColMapping</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;getColMapping(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta,
-                                 <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</pre>
-<div class="block">Obtain the column mapping of encoded frames based on the passed
- meta data frame.</div>
+<h4>updateIndexRanges</h4>
+<pre>void&nbsp;updateIndexRanges(long[]&nbsp;beginDims,
+                       long[]&nbsp;endDims,
+                       int&nbsp;offset)</pre>
+<div class="block">Update index-ranges to after encoding. Note that only Dummycoding changes the ranges.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>meta</code> - meta data frame block</dd>
-<dd><code>out</code> - output matrix</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>matrix with column mapping (one row per attribute)</dd>
+<dd><code>beginDims</code> - begin dimensions of range</dd>
+<dd><code>endDims</code> - end dimensions of range</dd>
+<dd><code>offset</code> - is applied to begin and endDims</dd>
 </dl>
 </li>
 </ul>
@@ -520,8 +331,8 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li>Prev&nbsp;Class</li>
-<li><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderBin.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderRecode.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderFactory.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/sysds/runtime/transform/encode/Encoder.html" target="_top">Frames</a></li>
@@ -561,6 +372,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/encode/EncoderBin.html b/docs/api/java/org/apache/sysds/runtime/transform/encode/EncoderBin.html
deleted file mode 100644
index fb9a230..0000000
--- a/docs/api/java/org/apache/sysds/runtime/transform/encode/EncoderBin.html
+++ /dev/null
@@ -1,566 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc -->
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EncoderBin (SystemDS 2.1.0-SNAPSHOT API)</title>
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EncoderBin (SystemDS 2.1.0-SNAPSHOT API)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/EncoderBin.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/transform/encode/EncoderBin.html" target="_top">Frames</a></li>
-<li><a href="EncoderBin.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.sysds.runtime.transform.encode</div>
-<h2 title="Class EncoderBin" class="title">Class EncoderBin</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
-<li>
-<ul class="inheritance">
-<li><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">org.apache.sysds.runtime.transform.encode.Encoder</a></li>
-<li>
-<ul class="inheritance">
-<li>org.apache.sysds.runtime.transform.encode.EncoderBin</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<dl>
-<dt>All Implemented Interfaces:</dt>
-<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></dd>
-</dl>
-<hr>
-<br>
-<pre>public class <span class="typeNameLabel">EncoderBin</span>
-extends <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></pre>
-<dl>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../../../serialized-form.html#org.apache.sysds.runtime.transform.encode.EncoderBin">Serialized Form</a></dd>
-</dl>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- =========== FIELD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="field.summary">
-<!--   -->
-</a>
-<h3>Field Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
-<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Field and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderBin.html#MAX_PREFIX">MAX_PREFIX</a></span></code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderBin.html#MIN_PREFIX">MIN_PREFIX</a></span></code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderBin.html#NBINS_PREFIX">NBINS_PREFIX</a></span></code>&nbsp;</td>
-</tr>
-</table>
-</li>
-</ul>
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.summary">
-<!--   -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderBin.html#EncoderBin--">EncoderBin</a></span>()</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderBin.html#EncoderBin-org.apache.wink.json4j.JSONObject-java.lang.String:A-int-int-int-">EncoderBin</a></span>(org.apache.wink.json4j.JSONObject&nbsp;parsedSpec,
-          <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;colnames,
-          int&nbsp;clen,
-          int&nbsp;minCol,
-          int&nbsp;maxCol)</code>&nbsp;</td>
-</tr>
-</table>
-</li>
-</ul>
-<!-- ========== METHOD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.summary">
-<!--   -->
-</a>
-<h3>Method Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderBin.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">apply</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
-     <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</code>
-<div class="block">Encode input data blockwise according to existing transform meta
- data (transform apply).</div>
-</td>
-</tr>
-<tr id="i1" class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderBin.html#build-org.apache.sysds.runtime.matrix.data.FrameBlock-">build</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in)</code>
-<div class="block">Build the transform meta data for the given block input.</div>
-</td>
-</tr>
-<tr id="i2" class="altColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderBin.html#encode-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">encode</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
-      <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</code>
-<div class="block">Block encode: build and apply (transform encode).</div>
-</td>
-</tr>
-<tr id="i3" class="rowColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderBin.html#getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">getMetaData</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</code>
-<div class="block">Construct a frame block out of the transform meta data.</div>
-</td>
-</tr>
-<tr id="i4" class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderBin.html#initMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">initMetaData</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</code>
-<div class="block">Sets up the required meta data for a subsequent call to apply.</div>
-</td>
-</tr>
-<tr id="i5" class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderBin.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-int-">mergeAt</a></span>(<a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&nbsp;other,
-       int&nbsp;row,
-       int&nbsp;col)</code>
-<div class="block">Merges another encoder, of a compatible type, in after a certain position.</div>
-</td>
-</tr>
-<tr id="i6" class="altColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderBin.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">subRangeEncoder</a></span>(<a href="../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixRange)</code>
-<div class="block">Returns a new Encoder that only handles a sub range of columns.</div>
-</td>
-</tr>
-</table>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.transform.encode.Encoder">
-<!--   -->
-</a>
-<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.transform.encode.<a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#getColList--">getColList</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#getColMapping-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">getColMapping</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#getNumCols--">getNumCols</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#initColList-int:A-">initColList</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#initColList-org.apache.wink.json4j.JSONArray-">initColList</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#isApplicable--">isApplicable</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#isApplicable-int-">isApplicable</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#setColList-int:A-">setColList</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#updateIndexRanges-long:A-long:A-">updateIndexRanges</a></code></li>
-</ul>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
-<!--   -->
-</a>
-<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
-<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ============ FIELD DETAIL =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="field.detail">
-<!--   -->
-</a>
-<h3>Field Detail</h3>
-<a name="MIN_PREFIX">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>MIN_PREFIX</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> MIN_PREFIX</pre>
-<dl>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../../../constant-values.html#org.apache.sysds.runtime.transform.encode.EncoderBin.MIN_PREFIX">Constant Field Values</a></dd>
-</dl>
-</li>
-</ul>
-<a name="MAX_PREFIX">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>MAX_PREFIX</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> MAX_PREFIX</pre>
-<dl>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../../../constant-values.html#org.apache.sysds.runtime.transform.encode.EncoderBin.MAX_PREFIX">Constant Field Values</a></dd>
-</dl>
-</li>
-</ul>
-<a name="NBINS_PREFIX">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>NBINS_PREFIX</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> NBINS_PREFIX</pre>
-<dl>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../../../constant-values.html#org.apache.sysds.runtime.transform.encode.EncoderBin.NBINS_PREFIX">Constant Field Values</a></dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.detail">
-<!--   -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="EncoderBin-org.apache.wink.json4j.JSONObject-java.lang.String:A-int-int-int-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>EncoderBin</h4>
-<pre>public&nbsp;EncoderBin(org.apache.wink.json4j.JSONObject&nbsp;parsedSpec,
-                  <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;colnames,
-                  int&nbsp;clen,
-                  int&nbsp;minCol,
-                  int&nbsp;maxCol)
-           throws org.apache.wink.json4j.JSONException,
-                  <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
-<dl>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>org.apache.wink.json4j.JSONException</code></dd>
-<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
-</dl>
-</li>
-</ul>
-<a name="EncoderBin--">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>EncoderBin</h4>
-<pre>public&nbsp;EncoderBin()</pre>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="encode-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>encode</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;encode(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
-                          <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#encode-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">Encoder</a></code></span></div>
-<div class="block">Block encode: build and apply (transform encode).</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#encode-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">encode</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>in</code> - input frame block</dd>
-<dd><code>out</code> - output matrix block</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>output matrix block</dd>
-</dl>
-</li>
-</ul>
-<a name="build-org.apache.sysds.runtime.matrix.data.FrameBlock-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>build</h4>
-<pre>public&nbsp;void&nbsp;build(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#build-org.apache.sysds.runtime.matrix.data.FrameBlock-">Encoder</a></code></span></div>
-<div class="block">Build the transform meta data for the given block input. This call modifies
- and keeps meta data as encoder state.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#build-org.apache.sysds.runtime.matrix.data.FrameBlock-">build</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>in</code> - input frame block</dd>
-</dl>
-</li>
-</ul>
-<a name="apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>apply</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;apply(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
-                         <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">Encoder</a></code></span></div>
-<div class="block">Encode input data blockwise according to existing transform meta
- data (transform apply).</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">apply</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>in</code> - input frame block</dd>
-<dd><code>out</code> - output matrix block</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>output matrix block</dd>
-</dl>
-</li>
-</ul>
-<a name="subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>subRangeEncoder</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&nbsp;subRangeEncoder(<a href="../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixRange)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">Encoder</a></code></span></div>
-<div class="block">Returns a new Encoder that only handles a sub range of columns.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">subRangeEncoder</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>ixRange</code> - the range (1-based, begin inclusive, end exclusive)</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>an encoder of the same type, just for the sub-range</dd>
-</dl>
-</li>
-</ul>
-<a name="mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-int-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>mergeAt</h4>
-<pre>public&nbsp;void&nbsp;mergeAt(<a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&nbsp;other,
-                    int&nbsp;row,
-                    int&nbsp;col)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-int-">Encoder</a></code></span></div>
-<div class="block">Merges another encoder, of a compatible type, in after a certain position. Resizes as necessary.
- <code>Encoders</code> are compatible with themselves and <code>EncoderComposite</code> is compatible with every
- other <code>Encoder</code>.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-int-">mergeAt</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>other</code> - the encoder that should be merged in</dd>
-<dd><code>row</code> - the row where it should be placed (1-based)</dd>
-<dd><code>col</code> - the col where it should be placed (1-based)</dd>
-</dl>
-</li>
-</ul>
-<a name="getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getMetaData</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;getMetaData(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">Encoder</a></code></span></div>
-<div class="block">Construct a frame block out of the transform meta data.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">getMetaData</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>meta</code> - output frame block</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>output frame block?</dd>
-</dl>
-</li>
-</ul>
-<a name="initMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>initMetaData</h4>
-<pre>public&nbsp;void&nbsp;initMetaData(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#initMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">Encoder</a></code></span></div>
-<div class="block">Sets up the required meta data for a subsequent call to apply.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#initMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">initMetaData</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>meta</code> - frame block</dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/EncoderBin.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/transform/encode/EncoderBin.html" target="_top">Frames</a></li>
-<li><a href="EncoderBin.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
-</body>
-</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/encode/EncoderComposite.html b/docs/api/java/org/apache/sysds/runtime/transform/encode/EncoderComposite.html
deleted file mode 100644
index 3df490a..0000000
--- a/docs/api/java/org/apache/sysds/runtime/transform/encode/EncoderComposite.html
+++ /dev/null
@@ -1,571 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc -->
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EncoderComposite (SystemDS 2.1.0-SNAPSHOT API)</title>
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EncoderComposite (SystemDS 2.1.0-SNAPSHOT API)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/EncoderComposite.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderBin.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderDummycode.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/transform/encode/EncoderComposite.html" target="_top">Frames</a></li>
-<li><a href="EncoderComposite.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.sysds.runtime.transform.encode</div>
-<h2 title="Class EncoderComposite" class="title">Class EncoderComposite</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
-<li>
-<ul class="inheritance">
-<li><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">org.apache.sysds.runtime.transform.encode.Encoder</a></li>
-<li>
-<ul class="inheritance">
-<li>org.apache.sysds.runtime.transform.encode.EncoderComposite</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<dl>
-<dt>All Implemented Interfaces:</dt>
-<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></dd>
-</dl>
-<hr>
-<br>
-<pre>public class <span class="typeNameLabel">EncoderComposite</span>
-extends <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></pre>
-<div class="block">Simple composite encoder that applies a list of encoders 
- in specified order. By implementing the default encoder API
- it can be used as a drop-in replacement for any other encoder.</div>
-<dl>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../../../serialized-form.html#org.apache.sysds.runtime.transform.encode.EncoderComposite">Serialized Form</a></dd>
-</dl>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.summary">
-<!--   -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderComposite.html#EncoderComposite-java.util.List-">EncoderComposite</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&gt;&nbsp;encoders)</code>&nbsp;</td>
-</tr>
-</table>
-</li>
-</ul>
-<!-- ========== METHOD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.summary">
-<!--   -->
-</a>
-<h3>Method Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderComposite.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">apply</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
-     <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</code>
-<div class="block">Encode input data blockwise according to existing transform meta
- data (transform apply).</div>
-</td>
-</tr>
-<tr id="i1" class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderComposite.html#build-org.apache.sysds.runtime.matrix.data.FrameBlock-">build</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in)</code>
-<div class="block">Build the transform meta data for the given block input.</div>
-</td>
-</tr>
-<tr id="i2" class="altColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderComposite.html#encode-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">encode</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
-      <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</code>
-<div class="block">Block encode: build and apply (transform encode).</div>
-</td>
-</tr>
-<tr id="i3" class="rowColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderComposite.html#getColMapping-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">getColMapping</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta,
-             <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</code>
-<div class="block">Obtain the column mapping of encoded frames based on the passed
- meta data frame.</div>
-</td>
-</tr>
-<tr id="i4" class="altColor">
-<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderComposite.html#getEncoders--">getEncoders</a></span>()</code>&nbsp;</td>
-</tr>
-<tr id="i5" class="rowColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderComposite.html#getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">getMetaData</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;out)</code>
-<div class="block">Construct a frame block out of the transform meta data.</div>
-</td>
-</tr>
-<tr id="i6" class="altColor">
-<td class="colFirst"><code>int</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderComposite.html#getNumCols--">getNumCols</a></span>()</code>&nbsp;</td>
-</tr>
-<tr id="i7" class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderComposite.html#initMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">initMetaData</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;out)</code>
-<div class="block">Sets up the required meta data for a subsequent call to apply.</div>
-</td>
-</tr>
-<tr id="i8" class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderComposite.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-int-">mergeAt</a></span>(<a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&nbsp;other,
-       int&nbsp;row,
-       int&nbsp;col)</code>
-<div class="block">Merges another encoder, of a compatible type, in after a certain position.</div>
-</td>
-</tr>
-<tr id="i9" class="rowColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderComposite.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">subRangeEncoder</a></span>(<a href="../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixRange)</code>
-<div class="block">Returns a new Encoder that only handles a sub range of columns.</div>
-</td>
-</tr>
-<tr id="i10" class="altColor">
-<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderComposite.html#toString--">toString</a></span>()</code>&nbsp;</td>
-</tr>
-<tr id="i11" class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderComposite.html#updateIndexRanges-long:A-long:A-">updateIndexRanges</a></span>(long[]&nbsp;beginDims,
-                 long[]&nbsp;endDims)</code>
-<div class="block">Update index-ranges to after encoding.</div>
-</td>
-</tr>
-</table>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.transform.encode.Encoder">
-<!--   -->
-</a>
-<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.transform.encode.<a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#getColList--">getColList</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#initColList-int:A-">initColList</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#initColList-org.apache.wink.json4j.JSONArray-">initColList</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#isApplicable--">isApplicable</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#isApplicable-int-">isApplicable</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#setColList-int:A-">setColList</a></code></li>
-</ul>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
-<!--   -->
-</a>
-<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
-<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.detail">
-<!--   -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="EncoderComposite-java.util.List-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>EncoderComposite</h4>
-<pre>public&nbsp;EncoderComposite(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&gt;&nbsp;encoders)</pre>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="getNumCols--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getNumCols</h4>
-<pre>public&nbsp;int&nbsp;getNumCols()</pre>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#getNumCols--">getNumCols</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></dd>
-</dl>
-</li>
-</ul>
-<a name="getEncoders--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getEncoders</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&gt;&nbsp;getEncoders()</pre>
-</li>
-</ul>
-<a name="encode-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>encode</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;encode(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
-                          <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#encode-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">Encoder</a></code></span></div>
-<div class="block">Block encode: build and apply (transform encode).</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#encode-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">encode</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>in</code> - input frame block</dd>
-<dd><code>out</code> - output matrix block</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>output matrix block</dd>
-</dl>
-</li>
-</ul>
-<a name="build-org.apache.sysds.runtime.matrix.data.FrameBlock-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>build</h4>
-<pre>public&nbsp;void&nbsp;build(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#build-org.apache.sysds.runtime.matrix.data.FrameBlock-">Encoder</a></code></span></div>
-<div class="block">Build the transform meta data for the given block input. This call modifies
- and keeps meta data as encoder state.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#build-org.apache.sysds.runtime.matrix.data.FrameBlock-">build</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>in</code> - input frame block</dd>
-</dl>
-</li>
-</ul>
-<a name="apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>apply</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;apply(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
-                         <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">Encoder</a></code></span></div>
-<div class="block">Encode input data blockwise according to existing transform meta
- data (transform apply).</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">apply</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>in</code> - input frame block</dd>
-<dd><code>out</code> - output matrix block</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>output matrix block</dd>
-</dl>
-</li>
-</ul>
-<a name="subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>subRangeEncoder</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&nbsp;subRangeEncoder(<a href="../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixRange)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">Encoder</a></code></span></div>
-<div class="block">Returns a new Encoder that only handles a sub range of columns.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">subRangeEncoder</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>ixRange</code> - the range (1-based, begin inclusive, end exclusive)</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>an encoder of the same type, just for the sub-range</dd>
-</dl>
-</li>
-</ul>
-<a name="mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-int-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>mergeAt</h4>
-<pre>public&nbsp;void&nbsp;mergeAt(<a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&nbsp;other,
-                    int&nbsp;row,
-                    int&nbsp;col)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-int-">Encoder</a></code></span></div>
-<div class="block">Merges another encoder, of a compatible type, in after a certain position. Resizes as necessary.
- <code>Encoders</code> are compatible with themselves and <code>EncoderComposite</code> is compatible with every
- other <code>Encoder</code>.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-int-">mergeAt</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>other</code> - the encoder that should be merged in</dd>
-<dd><code>row</code> - the row where it should be placed (1-based)</dd>
-<dd><code>col</code> - the col where it should be placed (1-based)</dd>
-</dl>
-</li>
-</ul>
-<a name="updateIndexRanges-long:A-long:A-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>updateIndexRanges</h4>
-<pre>public&nbsp;void&nbsp;updateIndexRanges(long[]&nbsp;beginDims,
-                              long[]&nbsp;endDims)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#updateIndexRanges-long:A-long:A-">Encoder</a></code></span></div>
-<div class="block">Update index-ranges to after encoding. Note that only Dummycoding changes the ranges.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#updateIndexRanges-long:A-long:A-">updateIndexRanges</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>beginDims</code> - begin dimensions of range</dd>
-<dd><code>endDims</code> - end dimensions of range</dd>
-</dl>
-</li>
-</ul>
-<a name="getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getMetaData</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;getMetaData(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;out)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">Encoder</a></code></span></div>
-<div class="block">Construct a frame block out of the transform meta data.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">getMetaData</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>out</code> - output frame block</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>output frame block?</dd>
-</dl>
-</li>
-</ul>
-<a name="initMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>initMetaData</h4>
-<pre>public&nbsp;void&nbsp;initMetaData(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;out)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#initMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">Encoder</a></code></span></div>
-<div class="block">Sets up the required meta data for a subsequent call to apply.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#initMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">initMetaData</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>out</code> - frame block</dd>
-</dl>
-</li>
-</ul>
-<a name="getColMapping-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getColMapping</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;getColMapping(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta,
-                                 <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#getColMapping-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">Encoder</a></code></span></div>
-<div class="block">Obtain the column mapping of encoded frames based on the passed
- meta data frame.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#getColMapping-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">getColMapping</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>meta</code> - meta data frame block</dd>
-<dd><code>out</code> - output matrix</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>matrix with column mapping (one row per attribute)</dd>
-</dl>
-</li>
-</ul>
-<a name="toString--">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>toString</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/EncoderComposite.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderBin.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderDummycode.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/transform/encode/EncoderComposite.html" target="_top">Frames</a></li>
-<li><a href="EncoderComposite.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
-</body>
-</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/encode/EncoderDummycode.html b/docs/api/java/org/apache/sysds/runtime/transform/encode/EncoderDummycode.html
deleted file mode 100644
index 21d6de5..0000000
--- a/docs/api/java/org/apache/sysds/runtime/transform/encode/EncoderDummycode.html
+++ /dev/null
@@ -1,630 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc -->
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EncoderDummycode (SystemDS 2.1.0-SNAPSHOT API)</title>
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EncoderDummycode (SystemDS 2.1.0-SNAPSHOT API)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/EncoderDummycode.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderFactory.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/transform/encode/EncoderDummycode.html" target="_top">Frames</a></li>
-<li><a href="EncoderDummycode.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.sysds.runtime.transform.encode</div>
-<h2 title="Class EncoderDummycode" class="title">Class EncoderDummycode</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
-<li>
-<ul class="inheritance">
-<li><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">org.apache.sysds.runtime.transform.encode.Encoder</a></li>
-<li>
-<ul class="inheritance">
-<li>org.apache.sysds.runtime.transform.encode.EncoderDummycode</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<dl>
-<dt>All Implemented Interfaces:</dt>
-<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></dd>
-</dl>
-<hr>
-<br>
-<pre>public class <span class="typeNameLabel">EncoderDummycode</span>
-extends <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></pre>
-<dl>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../../../serialized-form.html#org.apache.sysds.runtime.transform.encode.EncoderDummycode">Serialized Form</a></dd>
-</dl>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- =========== FIELD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="field.summary">
-<!--   -->
-</a>
-<h3>Field Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
-<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Field and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>int[]</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderDummycode.html#Z:Z_domainSizes">_domainSizes</a></span></code>&nbsp;</td>
-</tr>
-</table>
-</li>
-</ul>
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.summary">
-<!--   -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderDummycode.html#EncoderDummycode--">EncoderDummycode</a></span>()</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderDummycode.html#EncoderDummycode-int:A-int-int:A-long-">EncoderDummycode</a></span>(int[]&nbsp;colList,
-                int&nbsp;clen,
-                int[]&nbsp;domainSizes,
-                long&nbsp;dummycodedLength)</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderDummycode.html#EncoderDummycode-org.apache.wink.json4j.JSONObject-java.lang.String:A-int-int-int-">EncoderDummycode</a></span>(org.apache.wink.json4j.JSONObject&nbsp;parsedSpec,
-                <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;colnames,
-                int&nbsp;clen,
-                int&nbsp;minCol,
-                int&nbsp;maxCol)</code>&nbsp;</td>
-</tr>
-</table>
-</li>
-</ul>
-<!-- ========== METHOD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.summary">
-<!--   -->
-</a>
-<h3>Method Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderDummycode.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">apply</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
-     <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</code>
-<div class="block">Encode input data blockwise according to existing transform meta
- data (transform apply).</div>
-</td>
-</tr>
-<tr id="i1" class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderDummycode.html#build-org.apache.sysds.runtime.matrix.data.FrameBlock-">build</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in)</code>
-<div class="block">Build the transform meta data for the given block input.</div>
-</td>
-</tr>
-<tr id="i2" class="altColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderDummycode.html#encode-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">encode</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
-      <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</code>
-<div class="block">Block encode: build and apply (transform encode).</div>
-</td>
-</tr>
-<tr id="i3" class="rowColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderDummycode.html#getColMapping-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">getColMapping</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta,
-             <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</code>
-<div class="block">Obtain the column mapping of encoded frames based on the passed
- meta data frame.</div>
-</td>
-</tr>
-<tr id="i4" class="altColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderDummycode.html#getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">getMetaData</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;out)</code>
-<div class="block">Construct a frame block out of the transform meta data.</div>
-</td>
-</tr>
-<tr id="i5" class="rowColor">
-<td class="colFirst"><code>int</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderDummycode.html#getNumCols--">getNumCols</a></span>()</code>&nbsp;</td>
-</tr>
-<tr id="i6" class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderDummycode.html#initMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">initMetaData</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</code>
-<div class="block">Sets up the required meta data for a subsequent call to apply.</div>
-</td>
-</tr>
-<tr id="i7" class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderDummycode.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-int-">mergeAt</a></span>(<a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&nbsp;other,
-       int&nbsp;row,
-       int&nbsp;col)</code>
-<div class="block">Merges another encoder, of a compatible type, in after a certain position.</div>
-</td>
-</tr>
-<tr id="i8" class="altColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderDummycode.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">subRangeEncoder</a></span>(<a href="../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixRange)</code>
-<div class="block">Returns a new Encoder that only handles a sub range of columns.</div>
-</td>
-</tr>
-<tr id="i9" class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderDummycode.html#updateDomainSizes-java.util.List-">updateDomainSizes</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&gt;&nbsp;encoders)</code>&nbsp;</td>
-</tr>
-<tr id="i10" class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderDummycode.html#updateIndexRanges-long:A-long:A-">updateIndexRanges</a></span>(long[]&nbsp;beginDims,
-                 long[]&nbsp;endDims)</code>
-<div class="block">Update index-ranges to after encoding.</div>
-</td>
-</tr>
-</table>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.transform.encode.Encoder">
-<!--   -->
-</a>
-<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.transform.encode.<a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#getColList--">getColList</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#initColList-int:A-">initColList</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#initColList-org.apache.wink.json4j.JSONArray-">initColList</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#isApplicable--">isApplicable</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#isApplicable-int-">isApplicable</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#setColList-int:A-">setColList</a></code></li>
-</ul>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
-<!--   -->
-</a>
-<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
-<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ============ FIELD DETAIL =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="field.detail">
-<!--   -->
-</a>
-<h3>Field Detail</h3>
-<a name="Z:Z_domainSizes">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>_domainSizes</h4>
-<pre>public&nbsp;int[] _domainSizes</pre>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.detail">
-<!--   -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="EncoderDummycode-org.apache.wink.json4j.JSONObject-java.lang.String:A-int-int-int-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>EncoderDummycode</h4>
-<pre>public&nbsp;EncoderDummycode(org.apache.wink.json4j.JSONObject&nbsp;parsedSpec,
-                        <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;colnames,
-                        int&nbsp;clen,
-                        int&nbsp;minCol,
-                        int&nbsp;maxCol)
-                 throws org.apache.wink.json4j.JSONException</pre>
-<dl>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>org.apache.wink.json4j.JSONException</code></dd>
-</dl>
-</li>
-</ul>
-<a name="EncoderDummycode--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>EncoderDummycode</h4>
-<pre>public&nbsp;EncoderDummycode()</pre>
-</li>
-</ul>
-<a name="EncoderDummycode-int:A-int-int:A-long-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>EncoderDummycode</h4>
-<pre>public&nbsp;EncoderDummycode(int[]&nbsp;colList,
-                        int&nbsp;clen,
-                        int[]&nbsp;domainSizes,
-                        long&nbsp;dummycodedLength)</pre>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="getNumCols--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getNumCols</h4>
-<pre>public&nbsp;int&nbsp;getNumCols()</pre>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#getNumCols--">getNumCols</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></dd>
-</dl>
-</li>
-</ul>
-<a name="encode-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>encode</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;encode(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
-                          <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#encode-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">Encoder</a></code></span></div>
-<div class="block">Block encode: build and apply (transform encode).</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#encode-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">encode</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>in</code> - input frame block</dd>
-<dd><code>out</code> - output matrix block</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>output matrix block</dd>
-</dl>
-</li>
-</ul>
-<a name="build-org.apache.sysds.runtime.matrix.data.FrameBlock-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>build</h4>
-<pre>public&nbsp;void&nbsp;build(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#build-org.apache.sysds.runtime.matrix.data.FrameBlock-">Encoder</a></code></span></div>
-<div class="block">Build the transform meta data for the given block input. This call modifies
- and keeps meta data as encoder state.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#build-org.apache.sysds.runtime.matrix.data.FrameBlock-">build</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>in</code> - input frame block</dd>
-</dl>
-</li>
-</ul>
-<a name="apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>apply</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;apply(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
-                         <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">Encoder</a></code></span></div>
-<div class="block">Encode input data blockwise according to existing transform meta
- data (transform apply).</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">apply</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>in</code> - input frame block</dd>
-<dd><code>out</code> - output matrix block</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>output matrix block</dd>
-</dl>
-</li>
-</ul>
-<a name="subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>subRangeEncoder</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&nbsp;subRangeEncoder(<a href="../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixRange)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">Encoder</a></code></span></div>
-<div class="block">Returns a new Encoder that only handles a sub range of columns.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">subRangeEncoder</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>ixRange</code> - the range (1-based, begin inclusive, end exclusive)</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>an encoder of the same type, just for the sub-range</dd>
-</dl>
-</li>
-</ul>
-<a name="mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-int-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>mergeAt</h4>
-<pre>public&nbsp;void&nbsp;mergeAt(<a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&nbsp;other,
-                    int&nbsp;row,
-                    int&nbsp;col)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-int-">Encoder</a></code></span></div>
-<div class="block">Merges another encoder, of a compatible type, in after a certain position. Resizes as necessary.
- <code>Encoders</code> are compatible with themselves and <code>EncoderComposite</code> is compatible with every
- other <code>Encoder</code>.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-int-">mergeAt</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>other</code> - the encoder that should be merged in</dd>
-<dd><code>row</code> - the row where it should be placed (1-based)</dd>
-<dd><code>col</code> - the col where it should be placed (1-based)</dd>
-</dl>
-</li>
-</ul>
-<a name="updateIndexRanges-long:A-long:A-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>updateIndexRanges</h4>
-<pre>public&nbsp;void&nbsp;updateIndexRanges(long[]&nbsp;beginDims,
-                              long[]&nbsp;endDims)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#updateIndexRanges-long:A-long:A-">Encoder</a></code></span></div>
-<div class="block">Update index-ranges to after encoding. Note that only Dummycoding changes the ranges.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#updateIndexRanges-long:A-long:A-">updateIndexRanges</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>beginDims</code> - begin dimensions of range</dd>
-<dd><code>endDims</code> - end dimensions of range</dd>
-</dl>
-</li>
-</ul>
-<a name="updateDomainSizes-java.util.List-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>updateDomainSizes</h4>
-<pre>public&nbsp;void&nbsp;updateDomainSizes(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&gt;&nbsp;encoders)</pre>
-</li>
-</ul>
-<a name="getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getMetaData</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;getMetaData(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;out)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">Encoder</a></code></span></div>
-<div class="block">Construct a frame block out of the transform meta data.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">getMetaData</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>out</code> - output frame block</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>output frame block?</dd>
-</dl>
-</li>
-</ul>
-<a name="initMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>initMetaData</h4>
-<pre>public&nbsp;void&nbsp;initMetaData(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#initMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">Encoder</a></code></span></div>
-<div class="block">Sets up the required meta data for a subsequent call to apply.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#initMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">initMetaData</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>meta</code> - frame block</dd>
-</dl>
-</li>
-</ul>
-<a name="getColMapping-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>getColMapping</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;getColMapping(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta,
-                                 <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#getColMapping-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">Encoder</a></code></span></div>
-<div class="block">Obtain the column mapping of encoded frames based on the passed
- meta data frame.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#getColMapping-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">getColMapping</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>meta</code> - meta data frame block</dd>
-<dd><code>out</code> - output matrix</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>matrix with column mapping (one row per attribute)</dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/EncoderDummycode.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderFactory.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/transform/encode/EncoderDummycode.html" target="_top">Frames</a></li>
-<li><a href="EncoderDummycode.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
-</body>
-</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/encode/EncoderFactory.html b/docs/api/java/org/apache/sysds/runtime/transform/encode/EncoderFactory.html
index 02eb182..e2aabb5 100644
--- a/docs/api/java/org/apache/sysds/runtime/transform/encode/EncoderFactory.html
+++ b/docs/api/java/org/apache/sysds/runtime/transform/encode/EncoderFactory.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9};
+var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -49,8 +49,8 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderDummycode.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderFeatureHash.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="interface in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/sysds/runtime/transform/encode/EncoderFactory.html" target="_top">Frames</a></li>
@@ -147,14 +147,14 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></td>
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderFactory.html#createEncoder-java.lang.String-java.lang.String:A-int-org.apache.sysds.runtime.matrix.data.FrameBlock-">createEncoder</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;spec,
              <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;colnames,
              int&nbsp;clen,
              <a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</code>&nbsp;</td>
 </tr>
 <tr id="i1" class="rowColor">
-<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></td>
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderFactory.html#createEncoder-java.lang.String-java.lang.String:A-int-org.apache.sysds.runtime.matrix.data.FrameBlock-int-int-">createEncoder</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;spec,
              <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;colnames,
              int&nbsp;clen,
@@ -163,14 +163,14 @@
              int&nbsp;maxCol)</code>&nbsp;</td>
 </tr>
 <tr id="i2" class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></td>
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderFactory.html#createEncoder-java.lang.String-java.lang.String:A-org.apache.sysds.common.Types.ValueType:A-org.apache.sysds.runtime.matrix.data.FrameBlock-">createEncoder</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;spec,
              <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;colnames,
              <a href="../../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>[]&nbsp;schema,
              <a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</code>&nbsp;</td>
 </tr>
 <tr id="i3" class="rowColor">
-<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></td>
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderFactory.html#createEncoder-java.lang.String-java.lang.String:A-org.apache.sysds.common.Types.ValueType:A-org.apache.sysds.runtime.matrix.data.FrameBlock-int-int-">createEncoder</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;spec,
              <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;colnames,
              <a href="../../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>[]&nbsp;schema,
@@ -179,13 +179,21 @@
              int&nbsp;maxCol)</code>&nbsp;</td>
 </tr>
 <tr id="i4" class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></td>
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderFactory.html#createEncoder-java.lang.String-java.lang.String:A-org.apache.sysds.common.Types.ValueType:A-int-org.apache.sysds.runtime.matrix.data.FrameBlock-">createEncoder</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;spec,
              <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;colnames,
              <a href="../../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>[]&nbsp;schema,
              int&nbsp;clen,
              <a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</code>&nbsp;</td>
 </tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderFactory.html#createInstance-int-">createInstance</a></span>(int&nbsp;type)</code>&nbsp;</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>static int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderFactory.html#getEncoderType-org.apache.sysds.runtime.transform.encode.ColumnEncoder-">getEncoderType</a></span>(<a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a>&nbsp;columnEncoder)</code>&nbsp;</td>
+</tr>
 </table>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -231,10 +239,10 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>createEncoder</h4>
-<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&nbsp;createEncoder(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;spec,
-                                    <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;colnames,
-                                    int&nbsp;clen,
-                                    <a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</pre>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a>&nbsp;createEncoder(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;spec,
+                                               <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;colnames,
+                                               int&nbsp;clen,
+                                               <a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</pre>
 </li>
 </ul>
 <a name="createEncoder-java.lang.String-java.lang.String:A-int-org.apache.sysds.runtime.matrix.data.FrameBlock-int-int-">
@@ -243,12 +251,12 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>createEncoder</h4>
-<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&nbsp;createEncoder(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;spec,
-                                    <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;colnames,
-                                    int&nbsp;clen,
-                                    <a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta,
-                                    int&nbsp;minCol,
-                                    int&nbsp;maxCol)</pre>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a>&nbsp;createEncoder(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;spec,
+                                               <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;colnames,
+                                               int&nbsp;clen,
+                                               <a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta,
+                                               int&nbsp;minCol,
+                                               int&nbsp;maxCol)</pre>
 </li>
 </ul>
 <a name="createEncoder-java.lang.String-java.lang.String:A-org.apache.sysds.common.Types.ValueType:A-int-org.apache.sysds.runtime.matrix.data.FrameBlock-">
@@ -257,11 +265,11 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>createEncoder</h4>
-<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&nbsp;createEncoder(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;spec,
-                                    <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;colnames,
-                                    <a href="../../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>[]&nbsp;schema,
-                                    int&nbsp;clen,
-                                    <a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</pre>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a>&nbsp;createEncoder(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;spec,
+                                               <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;colnames,
+                                               <a href="../../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>[]&nbsp;schema,
+                                               int&nbsp;clen,
+                                               <a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</pre>
 </li>
 </ul>
 <a name="createEncoder-java.lang.String-java.lang.String:A-org.apache.sysds.common.Types.ValueType:A-org.apache.sysds.runtime.matrix.data.FrameBlock-">
@@ -270,24 +278,42 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>createEncoder</h4>
-<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&nbsp;createEncoder(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;spec,
-                                    <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;colnames,
-                                    <a href="../../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>[]&nbsp;schema,
-                                    <a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</pre>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a>&nbsp;createEncoder(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;spec,
+                                               <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;colnames,
+                                               <a href="../../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>[]&nbsp;schema,
+                                               <a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</pre>
 </li>
 </ul>
 <a name="createEncoder-java.lang.String-java.lang.String:A-org.apache.sysds.common.Types.ValueType:A-org.apache.sysds.runtime.matrix.data.FrameBlock-int-int-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>createEncoder</h4>
-<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&nbsp;createEncoder(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;spec,
-                                    <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;colnames,
-                                    <a href="../../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>[]&nbsp;schema,
-                                    <a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta,
-                                    int&nbsp;minCol,
-                                    int&nbsp;maxCol)</pre>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a>&nbsp;createEncoder(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;spec,
+                                               <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;colnames,
+                                               <a href="../../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>[]&nbsp;schema,
+                                               <a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta,
+                                               int&nbsp;minCol,
+                                               int&nbsp;maxCol)</pre>
+</li>
+</ul>
+<a name="getEncoderType-org.apache.sysds.runtime.transform.encode.ColumnEncoder-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getEncoderType</h4>
+<pre>public static&nbsp;int&nbsp;getEncoderType(<a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a>&nbsp;columnEncoder)</pre>
+</li>
+</ul>
+<a name="createInstance-int-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>createInstance</h4>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a>&nbsp;createInstance(int&nbsp;type)</pre>
 </li>
 </ul>
 </li>
@@ -318,8 +344,8 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderDummycode.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderFeatureHash.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="interface in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/sysds/runtime/transform/encode/EncoderFactory.html" target="_top">Frames</a></li>
@@ -359,6 +385,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/encode/EncoderFeatureHash.html b/docs/api/java/org/apache/sysds/runtime/transform/encode/EncoderFeatureHash.html
deleted file mode 100644
index 37cbbbf..0000000
--- a/docs/api/java/org/apache/sysds/runtime/transform/encode/EncoderFeatureHash.html
+++ /dev/null
@@ -1,507 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc -->
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EncoderFeatureHash (SystemDS 2.1.0-SNAPSHOT API)</title>
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EncoderFeatureHash (SystemDS 2.1.0-SNAPSHOT API)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/EncoderFeatureHash.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderFactory.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/transform/encode/EncoderFeatureHash.html" target="_top">Frames</a></li>
-<li><a href="EncoderFeatureHash.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.sysds.runtime.transform.encode</div>
-<h2 title="Class EncoderFeatureHash" class="title">Class EncoderFeatureHash</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
-<li>
-<ul class="inheritance">
-<li><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">org.apache.sysds.runtime.transform.encode.Encoder</a></li>
-<li>
-<ul class="inheritance">
-<li>org.apache.sysds.runtime.transform.encode.EncoderFeatureHash</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<dl>
-<dt>All Implemented Interfaces:</dt>
-<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></dd>
-</dl>
-<hr>
-<br>
-<pre>public class <span class="typeNameLabel">EncoderFeatureHash</span>
-extends <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></pre>
-<div class="block">Class used for feature hashing transformation of frames.</div>
-<dl>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../../../serialized-form.html#org.apache.sysds.runtime.transform.encode.EncoderFeatureHash">Serialized Form</a></dd>
-</dl>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.summary">
-<!--   -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderFeatureHash.html#EncoderFeatureHash--">EncoderFeatureHash</a></span>()</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderFeatureHash.html#EncoderFeatureHash-int:A-int-long-">EncoderFeatureHash</a></span>(int[]&nbsp;colList,
-                  int&nbsp;clen,
-                  long&nbsp;K)</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderFeatureHash.html#EncoderFeatureHash-org.apache.wink.json4j.JSONObject-java.lang.String:A-int-int-int-">EncoderFeatureHash</a></span>(org.apache.wink.json4j.JSONObject&nbsp;parsedSpec,
-                  <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;colnames,
-                  int&nbsp;clen,
-                  int&nbsp;minCol,
-                  int&nbsp;maxCol)</code>&nbsp;</td>
-</tr>
-</table>
-</li>
-</ul>
-<!-- ========== METHOD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.summary">
-<!--   -->
-</a>
-<h3>Method Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderFeatureHash.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">apply</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
-     <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</code>
-<div class="block">Encode input data blockwise according to existing transform meta
- data (transform apply).</div>
-</td>
-</tr>
-<tr id="i1" class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderFeatureHash.html#build-org.apache.sysds.runtime.matrix.data.FrameBlock-">build</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in)</code>
-<div class="block">Build the transform meta data for the given block input.</div>
-</td>
-</tr>
-<tr id="i2" class="altColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderFeatureHash.html#encode-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">encode</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
-      <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</code>
-<div class="block">Block encode: build and apply (transform encode).</div>
-</td>
-</tr>
-<tr id="i3" class="rowColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderFeatureHash.html#getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">getMetaData</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</code>
-<div class="block">Construct a frame block out of the transform meta data.</div>
-</td>
-</tr>
-<tr id="i4" class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderFeatureHash.html#initMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">initMetaData</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</code>
-<div class="block">Sets up the required meta data for a subsequent call to apply.</div>
-</td>
-</tr>
-<tr id="i5" class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderFeatureHash.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-int-">mergeAt</a></span>(<a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&nbsp;other,
-       int&nbsp;row,
-       int&nbsp;col)</code>
-<div class="block">Merges another encoder, of a compatible type, in after a certain position.</div>
-</td>
-</tr>
-<tr id="i6" class="altColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderFeatureHash.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">subRangeEncoder</a></span>(<a href="../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixRange)</code>
-<div class="block">Returns a new Encoder that only handles a sub range of columns.</div>
-</td>
-</tr>
-</table>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.transform.encode.Encoder">
-<!--   -->
-</a>
-<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.transform.encode.<a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#getColList--">getColList</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#getColMapping-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">getColMapping</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#getNumCols--">getNumCols</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#initColList-int:A-">initColList</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#initColList-org.apache.wink.json4j.JSONArray-">initColList</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#isApplicable--">isApplicable</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#isApplicable-int-">isApplicable</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#setColList-int:A-">setColList</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#updateIndexRanges-long:A-long:A-">updateIndexRanges</a></code></li>
-</ul>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
-<!--   -->
-</a>
-<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
-<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.detail">
-<!--   -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="EncoderFeatureHash-org.apache.wink.json4j.JSONObject-java.lang.String:A-int-int-int-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>EncoderFeatureHash</h4>
-<pre>public&nbsp;EncoderFeatureHash(org.apache.wink.json4j.JSONObject&nbsp;parsedSpec,
-                          <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;colnames,
-                          int&nbsp;clen,
-                          int&nbsp;minCol,
-                          int&nbsp;maxCol)
-                   throws org.apache.wink.json4j.JSONException</pre>
-<dl>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>org.apache.wink.json4j.JSONException</code></dd>
-</dl>
-</li>
-</ul>
-<a name="EncoderFeatureHash-int:A-int-long-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>EncoderFeatureHash</h4>
-<pre>public&nbsp;EncoderFeatureHash(int[]&nbsp;colList,
-                          int&nbsp;clen,
-                          long&nbsp;K)</pre>
-</li>
-</ul>
-<a name="EncoderFeatureHash--">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>EncoderFeatureHash</h4>
-<pre>public&nbsp;EncoderFeatureHash()</pre>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="encode-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>encode</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;encode(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
-                          <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#encode-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">Encoder</a></code></span></div>
-<div class="block">Block encode: build and apply (transform encode).</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#encode-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">encode</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>in</code> - input frame block</dd>
-<dd><code>out</code> - output matrix block</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>output matrix block</dd>
-</dl>
-</li>
-</ul>
-<a name="build-org.apache.sysds.runtime.matrix.data.FrameBlock-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>build</h4>
-<pre>public&nbsp;void&nbsp;build(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#build-org.apache.sysds.runtime.matrix.data.FrameBlock-">Encoder</a></code></span></div>
-<div class="block">Build the transform meta data for the given block input. This call modifies
- and keeps meta data as encoder state.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#build-org.apache.sysds.runtime.matrix.data.FrameBlock-">build</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>in</code> - input frame block</dd>
-</dl>
-</li>
-</ul>
-<a name="apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>apply</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;apply(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
-                         <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">Encoder</a></code></span></div>
-<div class="block">Encode input data blockwise according to existing transform meta
- data (transform apply).</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">apply</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>in</code> - input frame block</dd>
-<dd><code>out</code> - output matrix block</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>output matrix block</dd>
-</dl>
-</li>
-</ul>
-<a name="subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>subRangeEncoder</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&nbsp;subRangeEncoder(<a href="../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixRange)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">Encoder</a></code></span></div>
-<div class="block">Returns a new Encoder that only handles a sub range of columns.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">subRangeEncoder</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>ixRange</code> - the range (1-based, begin inclusive, end exclusive)</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>an encoder of the same type, just for the sub-range</dd>
-</dl>
-</li>
-</ul>
-<a name="mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-int-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>mergeAt</h4>
-<pre>public&nbsp;void&nbsp;mergeAt(<a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&nbsp;other,
-                    int&nbsp;row,
-                    int&nbsp;col)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-int-">Encoder</a></code></span></div>
-<div class="block">Merges another encoder, of a compatible type, in after a certain position. Resizes as necessary.
- <code>Encoders</code> are compatible with themselves and <code>EncoderComposite</code> is compatible with every
- other <code>Encoder</code>.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-int-">mergeAt</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>other</code> - the encoder that should be merged in</dd>
-<dd><code>row</code> - the row where it should be placed (1-based)</dd>
-<dd><code>col</code> - the col where it should be placed (1-based)</dd>
-</dl>
-</li>
-</ul>
-<a name="getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getMetaData</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;getMetaData(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">Encoder</a></code></span></div>
-<div class="block">Construct a frame block out of the transform meta data.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">getMetaData</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>meta</code> - output frame block</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>output frame block?</dd>
-</dl>
-</li>
-</ul>
-<a name="initMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>initMetaData</h4>
-<pre>public&nbsp;void&nbsp;initMetaData(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#initMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">Encoder</a></code></span></div>
-<div class="block">Sets up the required meta data for a subsequent call to apply.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#initMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">initMetaData</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>meta</code> - frame block</dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/EncoderFeatureHash.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderFactory.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/transform/encode/EncoderFeatureHash.html" target="_top">Frames</a></li>
-<li><a href="EncoderFeatureHash.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
-</body>
-</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/encode/EncoderMVImpute.MVMethod.html b/docs/api/java/org/apache/sysds/runtime/transform/encode/EncoderMVImpute.MVMethod.html
index 0b9e4e3..2db544e 100644
--- a/docs/api/java/org/apache/sysds/runtime/transform/encode/EncoderMVImpute.MVMethod.html
+++ b/docs/api/java/org/apache/sysds/runtime/transform/encode/EncoderMVImpute.MVMethod.html
@@ -365,6 +365,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html b/docs/api/java/org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html
index 793b696..c136348 100644
--- a/docs/api/java/org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html
+++ b/docs/api/java/org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -49,7 +49,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderFeatureHash.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderFactory.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderMVImpute.MVMethod.html" title="enum in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -100,7 +100,7 @@
 <li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
-<li><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">org.apache.sysds.runtime.transform.encode.Encoder</a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">org.apache.sysds.runtime.transform.encode.LegacyEncoder</a></li>
 <li>
 <ul class="inheritance">
 <li>org.apache.sysds.runtime.transform.encode.EncoderMVImpute</li>
@@ -114,12 +114,12 @@
 <li class="blockList">
 <dl>
 <dt>All Implemented Interfaces:</dt>
-<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></dd>
+<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true" title="class or interface in java.io">Externalizable</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></dd>
 </dl>
 <hr>
 <br>
 <pre>public class <span class="typeNameLabel">EncoderMVImpute</span>
-extends <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></pre>
+extends <a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">LegacyEncoder</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../../serialized-form.html#org.apache.sysds.runtime.transform.encode.EncoderMVImpute">Serialized Form</a></dd>
@@ -198,8 +198,7 @@
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">apply</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
      <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</code>
-<div class="block">Encode input data blockwise according to existing transform meta
- data (transform apply).</div>
+<div class="block">Encode input data blockwise according to existing transform meta data (transform apply).</div>
 </td>
 </tr>
 <tr id="i1" class="rowColor">
@@ -259,25 +258,39 @@
 </tr>
 <tr id="i12" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-int-">mergeAt</a></span>(<a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&nbsp;other,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html#mergeAt-org.apache.sysds.runtime.transform.encode.LegacyEncoder-int-int-">mergeAt</a></span>(<a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">LegacyEncoder</a>&nbsp;other,
        int&nbsp;row,
        int&nbsp;col)</code>
 <div class="block">Merges another encoder, of a compatible type, in after a certain position.</div>
 </td>
 </tr>
 <tr id="i13" class="rowColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></td>
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html#readExternal-java.io.ObjectInput-">readExternal</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectInput.html?is-external=true" title="class or interface in java.io">ObjectInput</a>&nbsp;in)</code>
+<div class="block">Redirects the default java serialization via externalizable to our default hadoop writable serialization for
+ efficient broadcast/rdd deserialization.</div>
+</td>
+</tr>
+<tr id="i14" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">LegacyEncoder</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">subRangeEncoder</a></span>(<a href="../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixRange)</code>
 <div class="block">Returns a new Encoder that only handles a sub range of columns.</div>
 </td>
 </tr>
+<tr id="i15" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html#writeExternal-java.io.ObjectOutput-">writeExternal</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectOutput.html?is-external=true" title="class or interface in java.io">ObjectOutput</a>&nbsp;out)</code>
+<div class="block">Redirects the default java serialization via externalizable to our default hadoop writable serialization for
+ efficient broadcast/rdd serialization.</div>
+</td>
+</tr>
 </table>
 <ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.transform.encode.Encoder">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.transform.encode.LegacyEncoder">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.transform.encode.<a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#getColList--">getColList</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#getColMapping-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">getColMapping</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#getNumCols--">getNumCols</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#initColList-int:A-">initColList</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#initColList-org.apache.wink.json4j.JSONArray-">initColList</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#isApplicable--">isApplicable</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#isApplicable-int-">isApplicable</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#setColList-int:A-">setColList</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#updateIndexRanges-long:A-long:A-">updateIndexRanges</a></code></li>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.transform.encode.<a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">LegacyEncoder</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#buildPartial-org.apache.sysds.runtime.matrix.data.FrameBlock-">buildPartial</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#getColList--">getColList</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#getColMapping-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">getColMapping</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#initColList-int:A-">initColList</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#initColList-org.apache.wink.json4j.JSONArray-">initColList</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#isApplicable--">isApplicable</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#isApplicable-int-">isApplicable</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#prepareBuildPartial--">prepareBuildPartial</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#setColList-int:A-">setColList</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#shiftCols-int-">shiftCols</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#updateIndexRanges-long:A-long:A-">updateIndexRanges</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -403,11 +416,11 @@
 <h4>encode</h4>
 <pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;encode(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
                           <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#encode-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">Encoder</a></code></span></div>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#encode-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">LegacyEncoder</a></code></span></div>
 <div class="block">Block encode: build and apply (transform encode).</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#encode-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">encode</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#encode-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">encode</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">LegacyEncoder</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>in</code> - input frame block</dd>
 <dd><code>out</code> - output matrix block</dd>
@@ -423,12 +436,11 @@
 <li class="blockList">
 <h4>build</h4>
 <pre>public&nbsp;void&nbsp;build(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#build-org.apache.sysds.runtime.matrix.data.FrameBlock-">Encoder</a></code></span></div>
-<div class="block">Build the transform meta data for the given block input. This call modifies
- and keeps meta data as encoder state.</div>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#build-org.apache.sysds.runtime.matrix.data.FrameBlock-">LegacyEncoder</a></code></span></div>
+<div class="block">Build the transform meta data for the given block input. This call modifies and keeps meta data as encoder state.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#build-org.apache.sysds.runtime.matrix.data.FrameBlock-">build</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#build-org.apache.sysds.runtime.matrix.data.FrameBlock-">build</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">LegacyEncoder</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>in</code> - input frame block</dd>
 </dl>
@@ -442,12 +454,11 @@
 <h4>apply</h4>
 <pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;apply(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
                          <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">Encoder</a></code></span></div>
-<div class="block">Encode input data blockwise according to existing transform meta
- data (transform apply).</div>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">LegacyEncoder</a></code></span></div>
+<div class="block">Encode input data blockwise according to existing transform meta data (transform apply).</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">apply</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">apply</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">LegacyEncoder</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>in</code> - input frame block</dd>
 <dd><code>out</code> - output matrix block</dd>
@@ -462,12 +473,12 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>subRangeEncoder</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&nbsp;subRangeEncoder(<a href="../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixRange)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">Encoder</a></code></span></div>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">LegacyEncoder</a>&nbsp;subRangeEncoder(<a href="../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixRange)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">LegacyEncoder</a></code></span></div>
 <div class="block">Returns a new Encoder that only handles a sub range of columns.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">subRangeEncoder</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">subRangeEncoder</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">LegacyEncoder</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>ixRange</code> - the range (1-based, begin inclusive, end exclusive)</dd>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -475,22 +486,22 @@
 </dl>
 </li>
 </ul>
-<a name="mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-int-">
+<a name="mergeAt-org.apache.sysds.runtime.transform.encode.LegacyEncoder-int-int-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>mergeAt</h4>
-<pre>public&nbsp;void&nbsp;mergeAt(<a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&nbsp;other,
+<pre>public&nbsp;void&nbsp;mergeAt(<a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">LegacyEncoder</a>&nbsp;other,
                     int&nbsp;row,
                     int&nbsp;col)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-int-">Encoder</a></code></span></div>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#mergeAt-org.apache.sysds.runtime.transform.encode.LegacyEncoder-int-int-">LegacyEncoder</a></code></span></div>
 <div class="block">Merges another encoder, of a compatible type, in after a certain position. Resizes as necessary.
  <code>Encoders</code> are compatible with themselves and <code>EncoderComposite</code> is compatible with every
  other <code>Encoder</code>.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-int-">mergeAt</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#mergeAt-org.apache.sysds.runtime.transform.encode.LegacyEncoder-int-int-">mergeAt</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">LegacyEncoder</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>other</code> - the encoder that should be merged in</dd>
 <dd><code>row</code> - the row where it should be placed (1-based)</dd>
@@ -505,11 +516,11 @@
 <li class="blockList">
 <h4>getMetaData</h4>
 <pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;getMetaData(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;out)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">Encoder</a></code></span></div>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">LegacyEncoder</a></code></span></div>
 <div class="block">Construct a frame block out of the transform meta data.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">getMetaData</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">getMetaData</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">LegacyEncoder</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>out</code> - output frame block</dd>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -524,11 +535,11 @@
 <li class="blockList">
 <h4>initMetaData</h4>
 <pre>public&nbsp;void&nbsp;initMetaData(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#initMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">Encoder</a></code></span></div>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#initMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">LegacyEncoder</a></code></span></div>
 <div class="block">Sets up the required meta data for a subsequent call to apply.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#initMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">initMetaData</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#initMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">initMetaData</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">LegacyEncoder</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>meta</code> - frame block</dd>
 </dl>
@@ -546,7 +557,7 @@
 <a name="getHistogram-int-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>getHistogram</h4>
 <pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&nbsp;getHistogram(int&nbsp;colID)</pre>
@@ -559,6 +570,52 @@
 </dl>
 </li>
 </ul>
+<a name="writeExternal-java.io.ObjectOutput-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>writeExternal</h4>
+<pre>public&nbsp;void&nbsp;writeExternal(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectOutput.html?is-external=true" title="class or interface in java.io">ObjectOutput</a>&nbsp;out)
+                   throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#writeExternal-java.io.ObjectOutput-">LegacyEncoder</a></code></span></div>
+<div class="block">Redirects the default java serialization via externalizable to our default hadoop writable serialization for
+ efficient broadcast/rdd serialization.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true#writeExternal-java.io.ObjectOutput-" title="class or interface in java.io">writeExternal</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true" title="class or interface in java.io">Externalizable</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#writeExternal-java.io.ObjectOutput-">writeExternal</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">LegacyEncoder</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>out</code> - object output</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if IOException occurs</dd>
+</dl>
+</li>
+</ul>
+<a name="readExternal-java.io.ObjectInput-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>readExternal</h4>
+<pre>public&nbsp;void&nbsp;readExternal(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectInput.html?is-external=true" title="class or interface in java.io">ObjectInput</a>&nbsp;in)
+                  throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#readExternal-java.io.ObjectInput-">LegacyEncoder</a></code></span></div>
+<div class="block">Redirects the default java serialization via externalizable to our default hadoop writable serialization for
+ efficient broadcast/rdd deserialization.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true#readExternal-java.io.ObjectInput-" title="class or interface in java.io">readExternal</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true" title="class or interface in java.io">Externalizable</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#readExternal-java.io.ObjectInput-">readExternal</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">LegacyEncoder</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>in</code> - object input</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if IOException occur</dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>
@@ -587,7 +644,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderFeatureHash.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderFactory.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderMVImpute.MVMethod.html" title="enum in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -628,6 +685,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/encode/EncoderOmit.html b/docs/api/java/org/apache/sysds/runtime/transform/encode/EncoderOmit.html
index 520bfc1..ed2f925 100644
--- a/docs/api/java/org/apache/sysds/runtime/transform/encode/EncoderOmit.html
+++ b/docs/api/java/org/apache/sysds/runtime/transform/encode/EncoderOmit.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -50,7 +50,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderMVImpute.MVMethod.html" title="enum in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderPassThrough.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/sysds/runtime/transform/encode/EncoderOmit.html" target="_top">Frames</a></li>
@@ -100,7 +100,7 @@
 <li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
-<li><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">org.apache.sysds.runtime.transform.encode.Encoder</a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">org.apache.sysds.runtime.transform.encode.LegacyEncoder</a></li>
 <li>
 <ul class="inheritance">
 <li>org.apache.sysds.runtime.transform.encode.EncoderOmit</li>
@@ -114,12 +114,12 @@
 <li class="blockList">
 <dl>
 <dt>All Implemented Interfaces:</dt>
-<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></dd>
+<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true" title="class or interface in java.io">Externalizable</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></dd>
 </dl>
 <hr>
 <br>
 <pre>public class <span class="typeNameLabel">EncoderOmit</span>
-extends <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></pre>
+extends <a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">LegacyEncoder</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../../serialized-form.html#org.apache.sysds.runtime.transform.encode.EncoderOmit">Serialized Form</a></dd>
@@ -148,6 +148,10 @@
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderOmit.html#EncoderOmit-boolean-">EncoderOmit</a></span>(boolean&nbsp;federated)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderOmit.html#EncoderOmit-int:A-int-">EncoderOmit</a></span>(int[]&nbsp;colList,
+           int&nbsp;clen)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderOmit.html#EncoderOmit-org.apache.wink.json4j.JSONObject-java.lang.String:A-int-int-int-">EncoderOmit</a></span>(org.apache.wink.json4j.JSONObject&nbsp;parsedSpec,
            <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;colnames,
            int&nbsp;clen,
@@ -173,8 +177,7 @@
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderOmit.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">apply</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
      <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</code>
-<div class="block">Encode input data blockwise according to existing transform meta
- data (transform apply).</div>
+<div class="block">Encode input data blockwise according to existing transform meta data (transform apply).</div>
 </td>
 </tr>
 <tr id="i1" class="rowColor">
@@ -191,65 +194,95 @@
 </td>
 </tr>
 <tr id="i3" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderOmit.html#equals-java.lang.Object-">equals</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;o)</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderOmit.html#getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">getMetaData</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;out)</code>
 <div class="block">Construct a frame block out of the transform meta data.</div>
 </td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderOmit.html#getNumRemovedRows--">getNumRemovedRows</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderOmit.html#getNumRemovedRows-boolean:A-">getNumRemovedRows</a></span>(boolean[]&nbsp;rmRows)</code>&nbsp;</td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderOmit.html#hashCode--">hashCode</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderOmit.html#initColList-int:A-">initColList</a></span>(int[]&nbsp;colList)</code>&nbsp;</td>
+</tr>
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderOmit.html#initMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">initMetaData</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</code>
 <div class="block">Sets up the required meta data for a subsequent call to apply.</div>
 </td>
 </tr>
-<tr id="i7" class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderOmit.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-int-">mergeAt</a></span>(<a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&nbsp;other,
-       int&nbsp;row,
-       int&nbsp;col)</code>
-<div class="block">Merges another encoder, of a compatible type, in after a certain position.</div>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderOmit.html#isApplicable--">isApplicable</a></span>()</code>
+<div class="block">Indicates if this encoder is applicable, i.e, if there is at least one column to encode.</div>
 </td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i11" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderOmit.html#mergeAt-org.apache.sysds.runtime.transform.encode.EncoderOmit-int-int-">mergeAt</a></span>(<a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderOmit.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderOmit</a>&nbsp;other,
+       int&nbsp;row,
+       int&nbsp;col)</code>&nbsp;</td>
+</tr>
+<tr id="i12" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderOmit.html#omit-java.lang.String:A-org.apache.sysds.runtime.transform.TfUtils-">omit</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;words,
     <a href="../../../../../../org/apache/sysds/runtime/transform/TfUtils.html" title="class in org.apache.sysds.runtime.transform">TfUtils</a>&nbsp;agents)</code>&nbsp;</td>
 </tr>
-<tr id="i9" class="rowColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></td>
+<tr id="i13" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderOmit.html#readExternal-java.io.ObjectInput-">readExternal</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectInput.html?is-external=true" title="class or interface in java.io">ObjectInput</a>&nbsp;in)</code>
+<div class="block">Redirects the default java serialization via externalizable to our default hadoop writable serialization for
+ efficient broadcast/rdd deserialization.</div>
+</td>
+</tr>
+<tr id="i14" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderOmit.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderOmit</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderOmit.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">subRangeEncoder</a></span>(<a href="../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixRange)</code>
 <div class="block">Returns a new Encoder that only handles a sub range of columns.</div>
 </td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i15" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderOmit.html#updateIndexRanges-long:A-long:A-">updateIndexRanges</a></span>(long[]&nbsp;beginDims,
                  long[]&nbsp;endDims)</code>
 <div class="block">Update index-ranges to after encoding.</div>
 </td>
 </tr>
+<tr id="i16" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderOmit.html#writeExternal-java.io.ObjectOutput-">writeExternal</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectOutput.html?is-external=true" title="class or interface in java.io">ObjectOutput</a>&nbsp;out)</code>
+<div class="block">Redirects the default java serialization via externalizable to our default hadoop writable serialization for
+ efficient broadcast/rdd serialization.</div>
+</td>
+</tr>
 </table>
 <ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.transform.encode.Encoder">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.transform.encode.LegacyEncoder">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.transform.encode.<a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#getColList--">getColList</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#getColMapping-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">getColMapping</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#getNumCols--">getNumCols</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#initColList-int:A-">initColList</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#initColList-org.apache.wink.json4j.JSONArray-">initColList</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#isApplicable--">isApplicable</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#isApplicable-int-">isApplicable</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#setColList-int:A-">setColList</a></code></li>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.transform.encode.<a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">LegacyEncoder</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#buildPartial-org.apache.sysds.runtime.matrix.data.FrameBlock-">buildPartial</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#getColList--">getColList</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#getColMapping-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">getColMapping</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#initColList-org.apache.wink.json4j.JSONArray-">initColList</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#isApplicable-int-">isApplicable</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#mergeAt-org.apache.sysds.runtime.transform.encode.LegacyEncoder-int-int-">mergeAt</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#prepareBuildPartial--">prepareBuildPartial</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#setColList-int:A-">setColList</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#shiftCols-int-">shiftCols</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
-<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -292,6 +325,16 @@
 <pre>public&nbsp;EncoderOmit()</pre>
 </li>
 </ul>
+<a name="EncoderOmit-int:A-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>EncoderOmit</h4>
+<pre>public&nbsp;EncoderOmit(int[]&nbsp;colList,
+                   int&nbsp;clen)</pre>
+</li>
+</ul>
 <a name="EncoderOmit-boolean-">
 <!--   -->
 </a>
@@ -309,6 +352,35 @@
 <!--   -->
 </a>
 <h3>Method Detail</h3>
+<a name="initColList-int:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>initColList</h4>
+<pre>public&nbsp;int&nbsp;initColList(int[]&nbsp;colList)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#initColList-int:A-">initColList</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">LegacyEncoder</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="isApplicable--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isApplicable</h4>
+<pre>public&nbsp;boolean&nbsp;isApplicable()</pre>
+<div class="block">Indicates if this encoder is applicable, i.e, if there is at least one column to encode.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#isApplicable--">isApplicable</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">LegacyEncoder</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if at least one column to encode</dd>
+</dl>
+</li>
+</ul>
 <a name="getNumRemovedRows-boolean:A-">
 <!--   -->
 </a>
@@ -345,11 +417,11 @@
 <h4>encode</h4>
 <pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;encode(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
                           <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#encode-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">Encoder</a></code></span></div>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#encode-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">LegacyEncoder</a></code></span></div>
 <div class="block">Block encode: build and apply (transform encode).</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#encode-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">encode</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#encode-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">encode</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">LegacyEncoder</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>in</code> - input frame block</dd>
 <dd><code>out</code> - output matrix block</dd>
@@ -365,12 +437,11 @@
 <li class="blockList">
 <h4>build</h4>
 <pre>public&nbsp;void&nbsp;build(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#build-org.apache.sysds.runtime.matrix.data.FrameBlock-">Encoder</a></code></span></div>
-<div class="block">Build the transform meta data for the given block input. This call modifies
- and keeps meta data as encoder state.</div>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#build-org.apache.sysds.runtime.matrix.data.FrameBlock-">LegacyEncoder</a></code></span></div>
+<div class="block">Build the transform meta data for the given block input. This call modifies and keeps meta data as encoder state.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#build-org.apache.sysds.runtime.matrix.data.FrameBlock-">build</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#build-org.apache.sysds.runtime.matrix.data.FrameBlock-">build</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">LegacyEncoder</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>in</code> - input frame block</dd>
 </dl>
@@ -384,12 +455,11 @@
 <h4>apply</h4>
 <pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;apply(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
                          <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">Encoder</a></code></span></div>
-<div class="block">Encode input data blockwise according to existing transform meta
- data (transform apply).</div>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">LegacyEncoder</a></code></span></div>
+<div class="block">Encode input data blockwise according to existing transform meta data (transform apply).</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">apply</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">apply</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">LegacyEncoder</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>in</code> - input frame block</dd>
 <dd><code>out</code> - output matrix block</dd>
@@ -404,12 +474,12 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>subRangeEncoder</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&nbsp;subRangeEncoder(<a href="../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixRange)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">Encoder</a></code></span></div>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderOmit.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderOmit</a>&nbsp;subRangeEncoder(<a href="../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixRange)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">LegacyEncoder</a></code></span></div>
 <div class="block">Returns a new Encoder that only handles a sub range of columns.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">subRangeEncoder</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">subRangeEncoder</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">LegacyEncoder</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>ixRange</code> - the range (1-based, begin inclusive, end exclusive)</dd>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -417,27 +487,15 @@
 </dl>
 </li>
 </ul>
-<a name="mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-int-">
+<a name="mergeAt-org.apache.sysds.runtime.transform.encode.EncoderOmit-int-int-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>mergeAt</h4>
-<pre>public&nbsp;void&nbsp;mergeAt(<a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&nbsp;other,
+<pre>public&nbsp;void&nbsp;mergeAt(<a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderOmit.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderOmit</a>&nbsp;other,
                     int&nbsp;row,
                     int&nbsp;col)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-int-">Encoder</a></code></span></div>
-<div class="block">Merges another encoder, of a compatible type, in after a certain position. Resizes as necessary.
- <code>Encoders</code> are compatible with themselves and <code>EncoderComposite</code> is compatible with every
- other <code>Encoder</code>.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-int-">mergeAt</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>other</code> - the encoder that should be merged in</dd>
-<dd><code>row</code> - the row where it should be placed (1-based)</dd>
-<dd><code>col</code> - the col where it should be placed (1-based)</dd>
-</dl>
 </li>
 </ul>
 <a name="updateIndexRanges-long:A-long:A-">
@@ -448,11 +506,11 @@
 <h4>updateIndexRanges</h4>
 <pre>public&nbsp;void&nbsp;updateIndexRanges(long[]&nbsp;beginDims,
                               long[]&nbsp;endDims)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#updateIndexRanges-long:A-long:A-">Encoder</a></code></span></div>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#updateIndexRanges-long:A-long:A-">LegacyEncoder</a></code></span></div>
 <div class="block">Update index-ranges to after encoding. Note that only Dummycoding changes the ranges.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#updateIndexRanges-long:A-long:A-">updateIndexRanges</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#updateIndexRanges-long:A-long:A-">updateIndexRanges</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">LegacyEncoder</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>beginDims</code> - begin dimensions of range</dd>
 <dd><code>endDims</code> - end dimensions of range</dd>
@@ -466,11 +524,11 @@
 <li class="blockList">
 <h4>getMetaData</h4>
 <pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;getMetaData(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;out)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">Encoder</a></code></span></div>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">LegacyEncoder</a></code></span></div>
 <div class="block">Construct a frame block out of the transform meta data.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">getMetaData</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">getMetaData</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">LegacyEncoder</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>out</code> - output frame block</dd>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -481,20 +539,92 @@
 <a name="initMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>initMetaData</h4>
 <pre>public&nbsp;void&nbsp;initMetaData(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#initMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">Encoder</a></code></span></div>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#initMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">LegacyEncoder</a></code></span></div>
 <div class="block">Sets up the required meta data for a subsequent call to apply.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#initMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">initMetaData</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#initMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">initMetaData</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">LegacyEncoder</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>meta</code> - frame block</dd>
 </dl>
 </li>
 </ul>
+<a name="writeExternal-java.io.ObjectOutput-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>writeExternal</h4>
+<pre>public&nbsp;void&nbsp;writeExternal(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectOutput.html?is-external=true" title="class or interface in java.io">ObjectOutput</a>&nbsp;out)
+                   throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#writeExternal-java.io.ObjectOutput-">LegacyEncoder</a></code></span></div>
+<div class="block">Redirects the default java serialization via externalizable to our default hadoop writable serialization for
+ efficient broadcast/rdd serialization.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true#writeExternal-java.io.ObjectOutput-" title="class or interface in java.io">writeExternal</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true" title="class or interface in java.io">Externalizable</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#writeExternal-java.io.ObjectOutput-">writeExternal</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">LegacyEncoder</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>out</code> - object output</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if IOException occurs</dd>
+</dl>
+</li>
+</ul>
+<a name="readExternal-java.io.ObjectInput-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>readExternal</h4>
+<pre>public&nbsp;void&nbsp;readExternal(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectInput.html?is-external=true" title="class or interface in java.io">ObjectInput</a>&nbsp;in)
+                  throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#readExternal-java.io.ObjectInput-">LegacyEncoder</a></code></span></div>
+<div class="block">Redirects the default java serialization via externalizable to our default hadoop writable serialization for
+ efficient broadcast/rdd deserialization.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true#readExternal-java.io.ObjectInput-" title="class or interface in java.io">readExternal</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true" title="class or interface in java.io">Externalizable</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#readExternal-java.io.ObjectInput-">readExternal</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">LegacyEncoder</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>in</code> - object input</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if IOException occur</dd>
+</dl>
+</li>
+</ul>
+<a name="equals-java.lang.Object-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>equals</h4>
+<pre>public&nbsp;boolean&nbsp;equals(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;o)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="hashCode--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>hashCode</h4>
+<pre>public&nbsp;int&nbsp;hashCode()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>
@@ -524,7 +654,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderMVImpute.MVMethod.html" title="enum in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderPassThrough.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/sysds/runtime/transform/encode/EncoderOmit.html" target="_top">Frames</a></li>
@@ -564,6 +694,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/encode/EncoderPassThrough.html b/docs/api/java/org/apache/sysds/runtime/transform/encode/EncoderPassThrough.html
deleted file mode 100644
index 3c6850d..0000000
--- a/docs/api/java/org/apache/sysds/runtime/transform/encode/EncoderPassThrough.html
+++ /dev/null
@@ -1,468 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc -->
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EncoderPassThrough (SystemDS 2.1.0-SNAPSHOT API)</title>
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EncoderPassThrough (SystemDS 2.1.0-SNAPSHOT API)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/EncoderPassThrough.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderOmit.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderRecode.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/transform/encode/EncoderPassThrough.html" target="_top">Frames</a></li>
-<li><a href="EncoderPassThrough.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.sysds.runtime.transform.encode</div>
-<h2 title="Class EncoderPassThrough" class="title">Class EncoderPassThrough</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
-<li>
-<ul class="inheritance">
-<li><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">org.apache.sysds.runtime.transform.encode.Encoder</a></li>
-<li>
-<ul class="inheritance">
-<li>org.apache.sysds.runtime.transform.encode.EncoderPassThrough</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<dl>
-<dt>All Implemented Interfaces:</dt>
-<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></dd>
-</dl>
-<hr>
-<br>
-<pre>public class <span class="typeNameLabel">EncoderPassThrough</span>
-extends <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></pre>
-<div class="block">Simple composite encoder that applies a list of encoders 
- in specified order. By implementing the default encoder API
- it can be used as a drop-in replacement for any other encoder.</div>
-<dl>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../../../serialized-form.html#org.apache.sysds.runtime.transform.encode.EncoderPassThrough">Serialized Form</a></dd>
-</dl>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.summary">
-<!--   -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderPassThrough.html#EncoderPassThrough--">EncoderPassThrough</a></span>()</code>&nbsp;</td>
-</tr>
-</table>
-</li>
-</ul>
-<!-- ========== METHOD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.summary">
-<!--   -->
-</a>
-<h3>Method Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderPassThrough.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">apply</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
-     <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</code>
-<div class="block">Encode input data blockwise according to existing transform meta
- data (transform apply).</div>
-</td>
-</tr>
-<tr id="i1" class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderPassThrough.html#build-org.apache.sysds.runtime.matrix.data.FrameBlock-">build</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in)</code>
-<div class="block">Build the transform meta data for the given block input.</div>
-</td>
-</tr>
-<tr id="i2" class="altColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderPassThrough.html#encode-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">encode</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
-      <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</code>
-<div class="block">Block encode: build and apply (transform encode).</div>
-</td>
-</tr>
-<tr id="i3" class="rowColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderPassThrough.html#getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">getMetaData</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</code>
-<div class="block">Construct a frame block out of the transform meta data.</div>
-</td>
-</tr>
-<tr id="i4" class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderPassThrough.html#initMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">initMetaData</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</code>
-<div class="block">Sets up the required meta data for a subsequent call to apply.</div>
-</td>
-</tr>
-<tr id="i5" class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderPassThrough.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-int-">mergeAt</a></span>(<a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&nbsp;other,
-       int&nbsp;row,
-       int&nbsp;col)</code>
-<div class="block">Merges another encoder, of a compatible type, in after a certain position.</div>
-</td>
-</tr>
-<tr id="i6" class="altColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderPassThrough.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">subRangeEncoder</a></span>(<a href="../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixRange)</code>
-<div class="block">Returns a new Encoder that only handles a sub range of columns.</div>
-</td>
-</tr>
-</table>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.transform.encode.Encoder">
-<!--   -->
-</a>
-<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.transform.encode.<a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#getColList--">getColList</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#getColMapping-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">getColMapping</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#getNumCols--">getNumCols</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#initColList-int:A-">initColList</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#initColList-org.apache.wink.json4j.JSONArray-">initColList</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#isApplicable--">isApplicable</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#isApplicable-int-">isApplicable</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#setColList-int:A-">setColList</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#updateIndexRanges-long:A-long:A-">updateIndexRanges</a></code></li>
-</ul>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
-<!--   -->
-</a>
-<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
-<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.detail">
-<!--   -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="EncoderPassThrough--">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>EncoderPassThrough</h4>
-<pre>public&nbsp;EncoderPassThrough()</pre>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="encode-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>encode</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;encode(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
-                          <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#encode-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">Encoder</a></code></span></div>
-<div class="block">Block encode: build and apply (transform encode).</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#encode-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">encode</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>in</code> - input frame block</dd>
-<dd><code>out</code> - output matrix block</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>output matrix block</dd>
-</dl>
-</li>
-</ul>
-<a name="build-org.apache.sysds.runtime.matrix.data.FrameBlock-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>build</h4>
-<pre>public&nbsp;void&nbsp;build(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#build-org.apache.sysds.runtime.matrix.data.FrameBlock-">Encoder</a></code></span></div>
-<div class="block">Build the transform meta data for the given block input. This call modifies
- and keeps meta data as encoder state.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#build-org.apache.sysds.runtime.matrix.data.FrameBlock-">build</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>in</code> - input frame block</dd>
-</dl>
-</li>
-</ul>
-<a name="apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>apply</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;apply(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
-                         <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">Encoder</a></code></span></div>
-<div class="block">Encode input data blockwise according to existing transform meta
- data (transform apply).</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">apply</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>in</code> - input frame block</dd>
-<dd><code>out</code> - output matrix block</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>output matrix block</dd>
-</dl>
-</li>
-</ul>
-<a name="subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>subRangeEncoder</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&nbsp;subRangeEncoder(<a href="../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixRange)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">Encoder</a></code></span></div>
-<div class="block">Returns a new Encoder that only handles a sub range of columns.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">subRangeEncoder</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>ixRange</code> - the range (1-based, begin inclusive, end exclusive)</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>an encoder of the same type, just for the sub-range</dd>
-</dl>
-</li>
-</ul>
-<a name="mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-int-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>mergeAt</h4>
-<pre>public&nbsp;void&nbsp;mergeAt(<a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&nbsp;other,
-                    int&nbsp;row,
-                    int&nbsp;col)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-int-">Encoder</a></code></span></div>
-<div class="block">Merges another encoder, of a compatible type, in after a certain position. Resizes as necessary.
- <code>Encoders</code> are compatible with themselves and <code>EncoderComposite</code> is compatible with every
- other <code>Encoder</code>.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-int-">mergeAt</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>other</code> - the encoder that should be merged in</dd>
-<dd><code>row</code> - the row where it should be placed (1-based)</dd>
-<dd><code>col</code> - the col where it should be placed (1-based)</dd>
-</dl>
-</li>
-</ul>
-<a name="getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getMetaData</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;getMetaData(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">Encoder</a></code></span></div>
-<div class="block">Construct a frame block out of the transform meta data.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">getMetaData</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>meta</code> - output frame block</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>output frame block?</dd>
-</dl>
-</li>
-</ul>
-<a name="initMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>initMetaData</h4>
-<pre>public&nbsp;void&nbsp;initMetaData(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#initMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">Encoder</a></code></span></div>
-<div class="block">Sets up the required meta data for a subsequent call to apply.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#initMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">initMetaData</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>meta</code> - frame block</dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/EncoderPassThrough.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderOmit.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderRecode.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/transform/encode/EncoderPassThrough.html" target="_top">Frames</a></li>
-<li><a href="EncoderPassThrough.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
-</body>
-</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/encode/EncoderRecode.html b/docs/api/java/org/apache/sysds/runtime/transform/encode/EncoderRecode.html
deleted file mode 100644
index e01233a..0000000
--- a/docs/api/java/org/apache/sysds/runtime/transform/encode/EncoderRecode.html
+++ /dev/null
@@ -1,603 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc -->
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EncoderRecode (SystemDS 2.1.0-SNAPSHOT API)</title>
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EncoderRecode (SystemDS 2.1.0-SNAPSHOT API)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":9,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":9,"i13":10};
-var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/EncoderRecode.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderPassThrough.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li>Next&nbsp;Class</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/transform/encode/EncoderRecode.html" target="_top">Frames</a></li>
-<li><a href="EncoderRecode.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.sysds.runtime.transform.encode</div>
-<h2 title="Class EncoderRecode" class="title">Class EncoderRecode</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
-<li>
-<ul class="inheritance">
-<li><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">org.apache.sysds.runtime.transform.encode.Encoder</a></li>
-<li>
-<ul class="inheritance">
-<li>org.apache.sysds.runtime.transform.encode.EncoderRecode</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<dl>
-<dt>All Implemented Interfaces:</dt>
-<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></dd>
-</dl>
-<hr>
-<br>
-<pre>public class <span class="typeNameLabel">EncoderRecode</span>
-extends <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></pre>
-<dl>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../../../serialized-form.html#org.apache.sysds.runtime.transform.encode.EncoderRecode">Serialized Form</a></dd>
-</dl>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.summary">
-<!--   -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderRecode.html#EncoderRecode--">EncoderRecode</a></span>()</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderRecode.html#EncoderRecode-org.apache.wink.json4j.JSONObject-java.lang.String:A-int-int-int-">EncoderRecode</a></span>(org.apache.wink.json4j.JSONObject&nbsp;parsedSpec,
-             <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;colnames,
-             int&nbsp;clen,
-             int&nbsp;minCol,
-             int&nbsp;maxCol)</code>&nbsp;</td>
-</tr>
-</table>
-</li>
-</ul>
-<!-- ========== METHOD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.summary">
-<!--   -->
-</a>
-<h3>Method Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderRecode.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">apply</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
-     <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</code>
-<div class="block">Encode input data blockwise according to existing transform meta
- data (transform apply).</div>
-</td>
-</tr>
-<tr id="i1" class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderRecode.html#build-org.apache.sysds.runtime.matrix.data.FrameBlock-">build</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in)</code>
-<div class="block">Build the transform meta data for the given block input.</div>
-</td>
-</tr>
-<tr id="i2" class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderRecode.html#buildPartial-org.apache.sysds.runtime.matrix.data.FrameBlock-">buildPartial</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in)</code>&nbsp;</td>
-</tr>
-<tr id="i3" class="rowColor">
-<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderRecode.html#constructRecodeMapEntry-java.lang.String-java.lang.Long-">constructRecodeMapEntry</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;token,
-                       <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&nbsp;code)</code>
-<div class="block">Returns the Recode map entry which consists of concatenation of code, delimiter and token.</div>
-</td>
-</tr>
-<tr id="i4" class="altColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderRecode.html#encode-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">encode</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
-      <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</code>
-<div class="block">Block encode: build and apply (transform encode).</div>
-</td>
-</tr>
-<tr id="i5" class="rowColor">
-<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderRecode.html#getCPRecodeMaps--">getCPRecodeMaps</a></span>()</code>&nbsp;</td>
-</tr>
-<tr id="i6" class="altColor">
-<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashSet.html?is-external=true" title="class or interface in java.util">HashSet</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderRecode.html#getCPRecodeMapsPartial--">getCPRecodeMapsPartial</a></span>()</code>&nbsp;</td>
-</tr>
-<tr id="i7" class="rowColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderRecode.html#getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">getMetaData</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</code>
-<div class="block">Construct a frame block out of the transform meta data.</div>
-</td>
-</tr>
-<tr id="i8" class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderRecode.html#initMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">initMetaData</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</code>
-<div class="block">Construct the recodemaps from the given input frame for all 
- columns registered for recode.</div>
-</td>
-</tr>
-<tr id="i9" class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderRecode.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-int-">mergeAt</a></span>(<a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&nbsp;other,
-       int&nbsp;row,
-       int&nbsp;col)</code>
-<div class="block">Merges another encoder, of a compatible type, in after a certain position.</div>
-</td>
-</tr>
-<tr id="i10" class="altColor">
-<td class="colFirst"><code>int[]</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderRecode.html#numDistinctValues--">numDistinctValues</a></span>()</code>&nbsp;</td>
-</tr>
-<tr id="i11" class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderRecode.html#prepareBuildPartial--">prepareBuildPartial</a></span>()</code>&nbsp;</td>
-</tr>
-<tr id="i12" class="altColor">
-<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderRecode.html#splitRecodeMapEntry-java.lang.String-">splitRecodeMapEntry</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;value)</code>
-<div class="block">Splits a Recode map entry into its token and code.</div>
-</td>
-</tr>
-<tr id="i13" class="rowColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderRecode.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">subRangeEncoder</a></span>(<a href="../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixRange)</code>
-<div class="block">Returns a new Encoder that only handles a sub range of columns.</div>
-</td>
-</tr>
-</table>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.transform.encode.Encoder">
-<!--   -->
-</a>
-<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.transform.encode.<a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#getColList--">getColList</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#getColMapping-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">getColMapping</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#getNumCols--">getNumCols</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#initColList-int:A-">initColList</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#initColList-org.apache.wink.json4j.JSONArray-">initColList</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#isApplicable--">isApplicable</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#isApplicable-int-">isApplicable</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#setColList-int:A-">setColList</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#updateIndexRanges-long:A-long:A-">updateIndexRanges</a></code></li>
-</ul>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
-<!--   -->
-</a>
-<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
-<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.detail">
-<!--   -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="EncoderRecode-org.apache.wink.json4j.JSONObject-java.lang.String:A-int-int-int-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>EncoderRecode</h4>
-<pre>public&nbsp;EncoderRecode(org.apache.wink.json4j.JSONObject&nbsp;parsedSpec,
-                     <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;colnames,
-                     int&nbsp;clen,
-                     int&nbsp;minCol,
-                     int&nbsp;maxCol)
-              throws org.apache.wink.json4j.JSONException</pre>
-<dl>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>org.apache.wink.json4j.JSONException</code></dd>
-</dl>
-</li>
-</ul>
-<a name="EncoderRecode--">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>EncoderRecode</h4>
-<pre>public&nbsp;EncoderRecode()</pre>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="getCPRecodeMaps--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getCPRecodeMaps</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&gt;&nbsp;getCPRecodeMaps()</pre>
-</li>
-</ul>
-<a name="getCPRecodeMapsPartial--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getCPRecodeMapsPartial</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashSet.html?is-external=true" title="class or interface in java.util">HashSet</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;&gt;&nbsp;getCPRecodeMapsPartial()</pre>
-</li>
-</ul>
-<a name="encode-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>encode</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;encode(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
-                          <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#encode-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">Encoder</a></code></span></div>
-<div class="block">Block encode: build and apply (transform encode).</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#encode-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">encode</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>in</code> - input frame block</dd>
-<dd><code>out</code> - output matrix block</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>output matrix block</dd>
-</dl>
-</li>
-</ul>
-<a name="build-org.apache.sysds.runtime.matrix.data.FrameBlock-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>build</h4>
-<pre>public&nbsp;void&nbsp;build(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#build-org.apache.sysds.runtime.matrix.data.FrameBlock-">Encoder</a></code></span></div>
-<div class="block">Build the transform meta data for the given block input. This call modifies
- and keeps meta data as encoder state.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#build-org.apache.sysds.runtime.matrix.data.FrameBlock-">build</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>in</code> - input frame block</dd>
-</dl>
-</li>
-</ul>
-<a name="prepareBuildPartial--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>prepareBuildPartial</h4>
-<pre>public&nbsp;void&nbsp;prepareBuildPartial()</pre>
-</li>
-</ul>
-<a name="buildPartial-org.apache.sysds.runtime.matrix.data.FrameBlock-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>buildPartial</h4>
-<pre>public&nbsp;void&nbsp;buildPartial(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in)</pre>
-</li>
-</ul>
-<a name="apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>apply</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;apply(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
-                         <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">Encoder</a></code></span></div>
-<div class="block">Encode input data blockwise according to existing transform meta
- data (transform apply).</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">apply</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>in</code> - input frame block</dd>
-<dd><code>out</code> - output matrix block</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>output matrix block</dd>
-</dl>
-</li>
-</ul>
-<a name="subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>subRangeEncoder</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&nbsp;subRangeEncoder(<a href="../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixRange)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">Encoder</a></code></span></div>
-<div class="block">Returns a new Encoder that only handles a sub range of columns.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">subRangeEncoder</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>ixRange</code> - the range (1-based, begin inclusive, end exclusive)</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>an encoder of the same type, just for the sub-range</dd>
-</dl>
-</li>
-</ul>
-<a name="mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-int-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>mergeAt</h4>
-<pre>public&nbsp;void&nbsp;mergeAt(<a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&nbsp;other,
-                    int&nbsp;row,
-                    int&nbsp;col)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-int-">Encoder</a></code></span></div>
-<div class="block">Merges another encoder, of a compatible type, in after a certain position. Resizes as necessary.
- <code>Encoders</code> are compatible with themselves and <code>EncoderComposite</code> is compatible with every
- other <code>Encoder</code>.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-int-">mergeAt</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>other</code> - the encoder that should be merged in</dd>
-<dd><code>row</code> - the row where it should be placed (1-based)</dd>
-<dd><code>col</code> - the col where it should be placed (1-based)</dd>
-</dl>
-</li>
-</ul>
-<a name="numDistinctValues--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>numDistinctValues</h4>
-<pre>public&nbsp;int[]&nbsp;numDistinctValues()</pre>
-</li>
-</ul>
-<a name="getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getMetaData</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;getMetaData(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">Encoder</a></code></span></div>
-<div class="block">Construct a frame block out of the transform meta data.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">getMetaData</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>meta</code> - output frame block</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>output frame block?</dd>
-</dl>
-</li>
-</ul>
-<a name="initMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>initMetaData</h4>
-<pre>public&nbsp;void&nbsp;initMetaData(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</pre>
-<div class="block">Construct the recodemaps from the given input frame for all 
- columns registered for recode.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#initMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">initMetaData</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>meta</code> - frame block</dd>
-</dl>
-</li>
-</ul>
-<a name="constructRecodeMapEntry-java.lang.String-java.lang.Long-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>constructRecodeMapEntry</h4>
-<pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;constructRecodeMapEntry(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;token,
-                                             <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&nbsp;code)</pre>
-<div class="block">Returns the Recode map entry which consists of concatenation of code, delimiter and token.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>token</code> - is part of Recode map</dd>
-<dd><code>code</code> - is code for token</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>the concatenation of token and code with delimiter in between</dd>
-</dl>
-</li>
-</ul>
-<a name="splitRecodeMapEntry-java.lang.String-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>splitRecodeMapEntry</h4>
-<pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;splitRecodeMapEntry(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;value)</pre>
-<div class="block">Splits a Recode map entry into its token and code.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>value</code> - concatenation of token and code with delimiter in between</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>string array of token and code</dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/EncoderRecode.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderPassThrough.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li>Next&nbsp;Class</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/transform/encode/EncoderRecode.html" target="_top">Frames</a></li>
-<li><a href="EncoderRecode.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
-</body>
-</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/encode/LegacyEncoder.html b/docs/api/java/org/apache/sysds/runtime/transform/encode/LegacyEncoder.html
new file mode 100644
index 0000000..6aa579d
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/transform/encode/LegacyEncoder.html
@@ -0,0 +1,646 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>LegacyEncoder (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="LegacyEncoder (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":6,"i1":6,"i2":10,"i3":6,"i4":10,"i5":10,"i6":6,"i7":10,"i8":10,"i9":6,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/LegacyEncoder.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderOmit.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/transform/encode/LegacyEncoder.html" target="_top">Frames</a></li>
+<li><a href="LegacyEncoder.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.sysds.runtime.transform.encode</div>
+<h2 title="Class LegacyEncoder" class="title">Class LegacyEncoder</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.sysds.runtime.transform.encode.LegacyEncoder</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true" title="class or interface in java.io">Externalizable</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></dd>
+</dl>
+<dl>
+<dt>Direct Known Subclasses:</dt>
+<dd><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderMVImpute</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderOmit.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderOmit</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public abstract class <span class="typeNameLabel">LegacyEncoder</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
+implements <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true" title="class or interface in java.io">Externalizable</a></pre>
+<div class="block">Base class for all transform encoders providing both a row and block interface for decoding frames to matrices.</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../../serialized-form.html#org.apache.sysds.runtime.transform.encode.LegacyEncoder">Serialized Form</a></dd>
+</dl>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>abstract <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">apply</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
+     <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</code>
+<div class="block">Encode input data blockwise according to existing transform meta data (transform apply).</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>abstract void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#build-org.apache.sysds.runtime.matrix.data.FrameBlock-">build</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in)</code>
+<div class="block">Build the transform meta data for the given block input.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#buildPartial-org.apache.sysds.runtime.matrix.data.FrameBlock-">buildPartial</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in)</code>
+<div class="block">Partial build of internal data structures (e.g., in distributed spark operations).</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>abstract <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#encode-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">encode</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
+      <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</code>
+<div class="block">Block encode: build and apply (transform encode).</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>int[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#getColList--">getColList</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#getColMapping-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">getColMapping</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta,
+             <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</code>
+<div class="block">Obtain the column mapping of encoded frames based on the passed meta data frame.</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>abstract <a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">getMetaData</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;out)</code>
+<div class="block">Construct a frame block out of the transform meta data.</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#initColList-int:A-">initColList</a></span>(int[]&nbsp;colList)</code>&nbsp;</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#initColList-org.apache.wink.json4j.JSONArray-">initColList</a></span>(org.apache.wink.json4j.JSONArray&nbsp;attrs)</code>&nbsp;</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>abstract void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#initMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">initMetaData</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</code>
+<div class="block">Sets up the required meta data for a subsequent call to apply.</div>
+</td>
+</tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#isApplicable--">isApplicable</a></span>()</code>
+<div class="block">Indicates if this encoder is applicable, i.e, if there is at least one column to encode.</div>
+</td>
+</tr>
+<tr id="i11" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#isApplicable-int-">isApplicable</a></span>(int&nbsp;colID)</code>
+<div class="block">Indicates if this encoder is applicable for the given column ID, i.e., if it is subject to this transformation.</div>
+</td>
+</tr>
+<tr id="i12" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#mergeAt-org.apache.sysds.runtime.transform.encode.LegacyEncoder-int-int-">mergeAt</a></span>(<a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">LegacyEncoder</a>&nbsp;other,
+       int&nbsp;row,
+       int&nbsp;col)</code>
+<div class="block">Merges another encoder, of a compatible type, in after a certain position.</div>
+</td>
+</tr>
+<tr id="i13" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#prepareBuildPartial--">prepareBuildPartial</a></span>()</code>
+<div class="block">Allocates internal data structures for partial build.</div>
+</td>
+</tr>
+<tr id="i14" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#readExternal-java.io.ObjectInput-">readExternal</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectInput.html?is-external=true" title="class or interface in java.io">ObjectInput</a>&nbsp;in)</code>
+<div class="block">Redirects the default java serialization via externalizable to our default hadoop writable serialization for
+ efficient broadcast/rdd deserialization.</div>
+</td>
+</tr>
+<tr id="i15" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#setColList-int:A-">setColList</a></span>(int[]&nbsp;colList)</code>&nbsp;</td>
+</tr>
+<tr id="i16" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#shiftCols-int-">shiftCols</a></span>(int&nbsp;offset)</code>&nbsp;</td>
+</tr>
+<tr id="i17" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">LegacyEncoder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">subRangeEncoder</a></span>(<a href="../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixRange)</code>
+<div class="block">Returns a new Encoder that only handles a sub range of columns.</div>
+</td>
+</tr>
+<tr id="i18" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#updateIndexRanges-long:A-long:A-">updateIndexRanges</a></span>(long[]&nbsp;beginDims,
+                 long[]&nbsp;endDims)</code>
+<div class="block">Update index-ranges to after encoding.</div>
+</td>
+</tr>
+<tr id="i19" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#writeExternal-java.io.ObjectOutput-">writeExternal</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectOutput.html?is-external=true" title="class or interface in java.io">ObjectOutput</a>&nbsp;os)</code>
+<div class="block">Redirects the default java serialization via externalizable to our default hadoop writable serialization for
+ efficient broadcast/rdd serialization.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getColList--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getColList</h4>
+<pre>public&nbsp;int[]&nbsp;getColList()</pre>
+</li>
+</ul>
+<a name="setColList-int:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setColList</h4>
+<pre>public&nbsp;void&nbsp;setColList(int[]&nbsp;colList)</pre>
+</li>
+</ul>
+<a name="initColList-org.apache.wink.json4j.JSONArray-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>initColList</h4>
+<pre>public&nbsp;int&nbsp;initColList(org.apache.wink.json4j.JSONArray&nbsp;attrs)</pre>
+</li>
+</ul>
+<a name="initColList-int:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>initColList</h4>
+<pre>public&nbsp;int&nbsp;initColList(int[]&nbsp;colList)</pre>
+</li>
+</ul>
+<a name="isApplicable--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isApplicable</h4>
+<pre>public&nbsp;boolean&nbsp;isApplicable()</pre>
+<div class="block">Indicates if this encoder is applicable, i.e, if there is at least one column to encode.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if at least one column to encode</dd>
+</dl>
+</li>
+</ul>
+<a name="isApplicable-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isApplicable</h4>
+<pre>public&nbsp;int&nbsp;isApplicable(int&nbsp;colID)</pre>
+<div class="block">Indicates if this encoder is applicable for the given column ID, i.e., if it is subject to this transformation.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>colID</code> - column ID</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if encoder is applicable for given column</dd>
+</dl>
+</li>
+</ul>
+<a name="encode-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>encode</h4>
+<pre>public abstract&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;encode(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
+                                   <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</pre>
+<div class="block">Block encode: build and apply (transform encode).</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>in</code> - input frame block</dd>
+<dd><code>out</code> - output matrix block</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>output matrix block</dd>
+</dl>
+</li>
+</ul>
+<a name="build-org.apache.sysds.runtime.matrix.data.FrameBlock-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>build</h4>
+<pre>public abstract&nbsp;void&nbsp;build(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in)</pre>
+<div class="block">Build the transform meta data for the given block input. This call modifies and keeps meta data as encoder state.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>in</code> - input frame block</dd>
+</dl>
+</li>
+</ul>
+<a name="prepareBuildPartial--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>prepareBuildPartial</h4>
+<pre>public&nbsp;void&nbsp;prepareBuildPartial()</pre>
+<div class="block">Allocates internal data structures for partial build.</div>
+</li>
+</ul>
+<a name="buildPartial-org.apache.sysds.runtime.matrix.data.FrameBlock-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>buildPartial</h4>
+<pre>public&nbsp;void&nbsp;buildPartial(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in)</pre>
+<div class="block">Partial build of internal data structures (e.g., in distributed spark operations).</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>in</code> - input frame block</dd>
+</dl>
+</li>
+</ul>
+<a name="apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>apply</h4>
+<pre>public abstract&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;apply(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
+                                  <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</pre>
+<div class="block">Encode input data blockwise according to existing transform meta data (transform apply).</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>in</code> - input frame block</dd>
+<dd><code>out</code> - output matrix block</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>output matrix block</dd>
+</dl>
+</li>
+</ul>
+<a name="subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>subRangeEncoder</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">LegacyEncoder</a>&nbsp;subRangeEncoder(<a href="../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixRange)</pre>
+<div class="block">Returns a new Encoder that only handles a sub range of columns.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>ixRange</code> - the range (1-based, begin inclusive, end exclusive)</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>an encoder of the same type, just for the sub-range</dd>
+</dl>
+</li>
+</ul>
+<a name="mergeAt-org.apache.sysds.runtime.transform.encode.LegacyEncoder-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>mergeAt</h4>
+<pre>public&nbsp;void&nbsp;mergeAt(<a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">LegacyEncoder</a>&nbsp;other,
+                    int&nbsp;row,
+                    int&nbsp;col)</pre>
+<div class="block">Merges another encoder, of a compatible type, in after a certain position. Resizes as necessary.
+ <code>Encoders</code> are compatible with themselves and <code>EncoderComposite</code> is compatible with every
+ other <code>Encoder</code>.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>other</code> - the encoder that should be merged in</dd>
+<dd><code>row</code> - the row where it should be placed (1-based)</dd>
+<dd><code>col</code> - the col where it should be placed (1-based)</dd>
+</dl>
+</li>
+</ul>
+<a name="updateIndexRanges-long:A-long:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>updateIndexRanges</h4>
+<pre>public&nbsp;void&nbsp;updateIndexRanges(long[]&nbsp;beginDims,
+                              long[]&nbsp;endDims)</pre>
+<div class="block">Update index-ranges to after encoding. Note that only Dummycoding changes the ranges.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>beginDims</code> - begin dimensions of range</dd>
+<dd><code>endDims</code> - end dimensions of range</dd>
+</dl>
+</li>
+</ul>
+<a name="getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getMetaData</h4>
+<pre>public abstract&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;getMetaData(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;out)</pre>
+<div class="block">Construct a frame block out of the transform meta data.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>out</code> - output frame block</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>output frame block?</dd>
+</dl>
+</li>
+</ul>
+<a name="initMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>initMetaData</h4>
+<pre>public abstract&nbsp;void&nbsp;initMetaData(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</pre>
+<div class="block">Sets up the required meta data for a subsequent call to apply.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>meta</code> - frame block</dd>
+</dl>
+</li>
+</ul>
+<a name="getColMapping-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getColMapping</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;getColMapping(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta,
+                                 <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</pre>
+<div class="block">Obtain the column mapping of encoded frames based on the passed meta data frame.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>meta</code> - meta data frame block</dd>
+<dd><code>out</code> - output matrix</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>matrix with column mapping (one row per attribute)</dd>
+</dl>
+</li>
+</ul>
+<a name="writeExternal-java.io.ObjectOutput-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>writeExternal</h4>
+<pre>public&nbsp;void&nbsp;writeExternal(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectOutput.html?is-external=true" title="class or interface in java.io">ObjectOutput</a>&nbsp;os)
+                   throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block">Redirects the default java serialization via externalizable to our default hadoop writable serialization for
+ efficient broadcast/rdd serialization.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true#writeExternal-java.io.ObjectOutput-" title="class or interface in java.io">writeExternal</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true" title="class or interface in java.io">Externalizable</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>os</code> - object output</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if IOException occurs</dd>
+</dl>
+</li>
+</ul>
+<a name="readExternal-java.io.ObjectInput-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>readExternal</h4>
+<pre>public&nbsp;void&nbsp;readExternal(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectInput.html?is-external=true" title="class or interface in java.io">ObjectInput</a>&nbsp;in)
+                  throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block">Redirects the default java serialization via externalizable to our default hadoop writable serialization for
+ efficient broadcast/rdd deserialization.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true#readExternal-java.io.ObjectInput-" title="class or interface in java.io">readExternal</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true" title="class or interface in java.io">Externalizable</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>in</code> - object input</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if IOException occur</dd>
+</dl>
+</li>
+</ul>
+<a name="shiftCols-int-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>shiftCols</h4>
+<pre>public&nbsp;void&nbsp;shiftCols(int&nbsp;offset)</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/LegacyEncoder.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderOmit.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/transform/encode/LegacyEncoder.html" target="_top">Frames</a></li>
+<li><a href="LegacyEncoder.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html b/docs/api/java/org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html
new file mode 100644
index 0000000..05d9c80
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html
@@ -0,0 +1,864 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MultiColumnEncoder (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="MultiColumnEncoder (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/MultiColumnEncoder.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" target="_top">Frames</a></li>
+<li><a href="MultiColumnEncoder.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.sysds.runtime.transform.encode</div>
+<h2 title="Class MultiColumnEncoder" class="title">Class MultiColumnEncoder</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.sysds.runtime.transform.encode.MultiColumnEncoder</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true" title="class or interface in java.io">Externalizable</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="interface in org.apache.sysds.runtime.transform.encode">Encoder</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">MultiColumnEncoder</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
+implements <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="interface in org.apache.sysds.runtime.transform.encode">Encoder</a></pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../../serialized-form.html#org.apache.sysds.runtime.transform.encode.MultiColumnEncoder">Serialized Form</a></dd>
+</dl>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#MultiColumnEncoder--">MultiColumnEncoder</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#MultiColumnEncoder-java.util.List-">MultiColumnEncoder</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderComposite</a>&gt;&nbsp;columnEncoders)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>&lt;T extends <a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">LegacyEncoder</a>&gt;<br>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#addReplaceLegacyEncoder-T-">addReplaceLegacyEncoder</a></span>(T&nbsp;encoder)</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-">apply</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in)</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">apply</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
+     <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
+     int&nbsp;outputCol)</code>
+<div class="block">Apply the generated metadata to the FrameBlock and saved the result in out.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#applyColumnOffset--">applyColumnOffset</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>&lt;T extends <a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a>,E&gt;<br>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#applyToAll-java.lang.Class-java.util.function.Consumer-">applyToAll</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;type,
+          <a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Consumer.html?is-external=true" title="class or interface in java.util.function">Consumer</a>&lt;? super T&gt;&nbsp;function)</code>&nbsp;</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>&lt;T extends <a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a>,E&gt;<br>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#applyToAll-java.util.function.Consumer-">applyToAll</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Consumer.html?is-external=true" title="class or interface in java.util.function">Consumer</a>&lt;? super <a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderComposite</a>&gt;&nbsp;function)</code>&nbsp;</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#build-org.apache.sysds.runtime.matrix.data.FrameBlock-">build</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in)</code>
+<div class="block">Build the transform meta data for the given block input.</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#buildPartial-org.apache.sysds.runtime.matrix.data.FrameBlock-">buildPartial</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in)</code>
+<div class="block">Partial build of internal data structures (e.g., in distributed spark operations).</div>
+</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>&lt;T extends <a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a>&gt;<br>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#containsEncoderForID-int-java.lang.Class-">containsEncoderForID</a></span>(int&nbsp;colID,
+                    <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;type)</code>&nbsp;</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#encode-org.apache.sysds.runtime.matrix.data.FrameBlock-">encode</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in)</code>&nbsp;</td>
+</tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#getColMapping-org.apache.sysds.runtime.matrix.data.FrameBlock-">getColMapping</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</code>
+<div class="block">Obtain the column mapping of encoded frames based on the passed meta data frame.</div>
+</td>
+</tr>
+<tr id="i11" class="rowColor">
+<td class="colFirst"><code>&lt;T extends <a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a>&gt;<br>T</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#getColumnEncoder-int-java.lang.Class-">getColumnEncoder</a></span>(int&nbsp;colID,
+                <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;type)</code>&nbsp;</td>
+</tr>
+<tr id="i12" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderComposite</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#getColumnEncoders--">getColumnEncoders</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i13" class="rowColor">
+<td class="colFirst"><code>&lt;T extends <a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a>&gt;<br><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#getColumnEncoders-java.lang.Class-">getColumnEncoders</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;type)</code>&nbsp;</td>
+</tr>
+<tr id="i14" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderComposite</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#getCompositeEncodersForID-int-">getCompositeEncodersForID</a></span>(int&nbsp;colID)</code>&nbsp;</td>
+</tr>
+<tr id="i15" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a>&gt;&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#getEncoderTypes--">getEncoderTypes</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i16" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a>&gt;&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#getEncoderTypes-int-">getEncoderTypes</a></span>(int&nbsp;colID)</code>&nbsp;</td>
+</tr>
+<tr id="i17" class="rowColor">
+<td class="colFirst"><code>&lt;T extends <a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a>,E&gt;<br><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;E&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#getFromAll-java.lang.Class-java.util.function.Function-">getFromAll</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;type,
+          <a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Function.html?is-external=true" title="class or interface in java.util.function">Function</a>&lt;? super T,? extends E&gt;&nbsp;mapper)</code>&nbsp;</td>
+</tr>
+<tr id="i18" class="altColor">
+<td class="colFirst"><code>&lt;T extends <a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a>&gt;<br>double[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#getFromAllDoubleArray-java.lang.Class-java.util.function.Function-">getFromAllDoubleArray</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;type,
+                     <a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Function.html?is-external=true" title="class or interface in java.util.function">Function</a>&lt;? super T,? extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a>&gt;&nbsp;mapper)</code>&nbsp;</td>
+</tr>
+<tr id="i19" class="rowColor">
+<td class="colFirst"><code>&lt;T extends <a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a>&gt;<br>int[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#getFromAllIntArray-java.lang.Class-java.util.function.Function-">getFromAllIntArray</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;type,
+                  <a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Function.html?is-external=true" title="class or interface in java.util.function">Function</a>&lt;? super T,? extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;mapper)</code>&nbsp;</td>
+</tr>
+<tr id="i20" class="altColor">
+<td class="colFirst"><code>&lt;T extends <a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">LegacyEncoder</a>&gt;<br>T</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#getLegacyEncoder-java.lang.Class-">getLegacyEncoder</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;type)</code>&nbsp;</td>
+</tr>
+<tr id="i21" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">getMetaData</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</code>
+<div class="block">Construct a frame block out of the transform meta data.</div>
+</td>
+</tr>
+<tr id="i22" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#getNumExtraCols--">getNumExtraCols</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i23" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#getNumExtraCols-org.apache.sysds.runtime.util.IndexRange-">getNumExtraCols</a></span>(<a href="../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixRange)</code>&nbsp;</td>
+</tr>
+<tr id="i24" class="altColor">
+<td class="colFirst"><code>&lt;T extends <a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">LegacyEncoder</a>&gt;<br>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#hasLegacyEncoder-java.lang.Class-">hasLegacyEncoder</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;type)</code>&nbsp;</td>
+</tr>
+<tr id="i25" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#initMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">initMetaData</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</code>
+<div class="block">Sets up the required meta data for a subsequent call to apply.</div>
+</td>
+</tr>
+<tr id="i26" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#legacyBuild-org.apache.sysds.runtime.matrix.data.FrameBlock-">legacyBuild</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in)</code>&nbsp;</td>
+</tr>
+<tr id="i27" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-int-">mergeAt</a></span>(<a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="interface in org.apache.sysds.runtime.transform.encode">Encoder</a>&nbsp;other,
+       int&nbsp;columnOffset,
+       int&nbsp;row)</code>&nbsp;</td>
+</tr>
+<tr id="i28" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#mergeReplace-org.apache.sysds.runtime.transform.encode.MultiColumnEncoder-">mergeReplace</a></span>(<a href="../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a>&nbsp;multiEncoder)</code>&nbsp;</td>
+</tr>
+<tr id="i29" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#prepareBuildPartial--">prepareBuildPartial</a></span>()</code>
+<div class="block">Allocates internal data structures for partial build.</div>
+</td>
+</tr>
+<tr id="i30" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#readExternal-java.io.ObjectInput-">readExternal</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectInput.html?is-external=true" title="class or interface in java.io">ObjectInput</a>&nbsp;in)</code>&nbsp;</td>
+</tr>
+<tr id="i31" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">subRangeEncoder</a></span>(<a href="../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixRange)</code>&nbsp;</td>
+</tr>
+<tr id="i32" class="altColor">
+<td class="colFirst"><code>&lt;T extends <a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a>&gt;<br><a href="../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-java.lang.Class-">subRangeEncoder</a></span>(<a href="../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixRange,
+               <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;type)</code>&nbsp;</td>
+</tr>
+<tr id="i33" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#updateIndexRanges-long:A-long:A-int-">updateIndexRanges</a></span>(long[]&nbsp;beginDims,
+                 long[]&nbsp;endDims,
+                 int&nbsp;offset)</code>
+<div class="block">Update index-ranges to after encoding.</div>
+</td>
+</tr>
+<tr id="i34" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#writeExternal-java.io.ObjectOutput-">writeExternal</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectOutput.html?is-external=true" title="class or interface in java.io">ObjectOutput</a>&nbsp;out)</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="MultiColumnEncoder-java.util.List-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>MultiColumnEncoder</h4>
+<pre>public&nbsp;MultiColumnEncoder(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderComposite</a>&gt;&nbsp;columnEncoders)</pre>
+</li>
+</ul>
+<a name="MultiColumnEncoder--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>MultiColumnEncoder</h4>
+<pre>public&nbsp;MultiColumnEncoder()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="encode-org.apache.sysds.runtime.matrix.data.FrameBlock-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>encode</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;encode(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in)</pre>
+</li>
+</ul>
+<a name="build-org.apache.sysds.runtime.matrix.data.FrameBlock-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>build</h4>
+<pre>public&nbsp;void&nbsp;build(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#build-org.apache.sysds.runtime.matrix.data.FrameBlock-">Encoder</a></code></span></div>
+<div class="block">Build the transform meta data for the given block input. This call modifies and keeps meta data as encoder state.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#build-org.apache.sysds.runtime.matrix.data.FrameBlock-">build</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="interface in org.apache.sysds.runtime.transform.encode">Encoder</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>in</code> - input frame block</dd>
+</dl>
+</li>
+</ul>
+<a name="legacyBuild-org.apache.sysds.runtime.matrix.data.FrameBlock-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>legacyBuild</h4>
+<pre>public&nbsp;void&nbsp;legacyBuild(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in)</pre>
+</li>
+</ul>
+<a name="apply-org.apache.sysds.runtime.matrix.data.FrameBlock-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>apply</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;apply(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in)</pre>
+</li>
+</ul>
+<a name="apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>apply</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;apply(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
+                         <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
+                         int&nbsp;outputCol)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">Encoder</a></code></span></div>
+<div class="block">Apply the generated metadata to the FrameBlock and saved the result in out.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">apply</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="interface in org.apache.sysds.runtime.transform.encode">Encoder</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>in</code> - input frame block</dd>
+<dd><code>out</code> - output matrix block</dd>
+<dd><code>outputCol</code> - is a offset in the output matrix. column in FrameBlock + outputCol = column in out</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>output matrix block</dd>
+</dl>
+</li>
+</ul>
+<a name="getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getMetaData</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;getMetaData(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">Encoder</a></code></span></div>
+<div class="block">Construct a frame block out of the transform meta data.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">getMetaData</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="interface in org.apache.sysds.runtime.transform.encode">Encoder</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>meta</code> - output frame block</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>output frame block?</dd>
+</dl>
+</li>
+</ul>
+<a name="initMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>initMetaData</h4>
+<pre>public&nbsp;void&nbsp;initMetaData(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#initMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">Encoder</a></code></span></div>
+<div class="block">Sets up the required meta data for a subsequent call to apply.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#initMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">initMetaData</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="interface in org.apache.sysds.runtime.transform.encode">Encoder</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>meta</code> - frame block</dd>
+</dl>
+</li>
+</ul>
+<a name="prepareBuildPartial--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>prepareBuildPartial</h4>
+<pre>public&nbsp;void&nbsp;prepareBuildPartial()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#prepareBuildPartial--">Encoder</a></code></span></div>
+<div class="block">Allocates internal data structures for partial build.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#prepareBuildPartial--">prepareBuildPartial</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="interface in org.apache.sysds.runtime.transform.encode">Encoder</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="buildPartial-org.apache.sysds.runtime.matrix.data.FrameBlock-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>buildPartial</h4>
+<pre>public&nbsp;void&nbsp;buildPartial(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#buildPartial-org.apache.sysds.runtime.matrix.data.FrameBlock-">Encoder</a></code></span></div>
+<div class="block">Partial build of internal data structures (e.g., in distributed spark operations).</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#buildPartial-org.apache.sysds.runtime.matrix.data.FrameBlock-">buildPartial</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="interface in org.apache.sysds.runtime.transform.encode">Encoder</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>in</code> - input frame block</dd>
+</dl>
+</li>
+</ul>
+<a name="getColMapping-org.apache.sysds.runtime.matrix.data.FrameBlock-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getColMapping</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;getColMapping(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</pre>
+<div class="block">Obtain the column mapping of encoded frames based on the passed meta data frame.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>meta</code> - meta data frame block</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>matrix with column mapping (one row per attribute)</dd>
+</dl>
+</li>
+</ul>
+<a name="updateIndexRanges-long:A-long:A-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>updateIndexRanges</h4>
+<pre>public&nbsp;void&nbsp;updateIndexRanges(long[]&nbsp;beginDims,
+                              long[]&nbsp;endDims,
+                              int&nbsp;offset)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#updateIndexRanges-long:A-long:A-int-">Encoder</a></code></span></div>
+<div class="block">Update index-ranges to after encoding. Note that only Dummycoding changes the ranges.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#updateIndexRanges-long:A-long:A-int-">updateIndexRanges</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="interface in org.apache.sysds.runtime.transform.encode">Encoder</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>beginDims</code> - begin dimensions of range</dd>
+<dd><code>endDims</code> - end dimensions of range</dd>
+<dd><code>offset</code> - is applied to begin and endDims</dd>
+</dl>
+</li>
+</ul>
+<a name="writeExternal-java.io.ObjectOutput-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>writeExternal</h4>
+<pre>public&nbsp;void&nbsp;writeExternal(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectOutput.html?is-external=true" title="class or interface in java.io">ObjectOutput</a>&nbsp;out)
+                   throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true#writeExternal-java.io.ObjectOutput-" title="class or interface in java.io">writeExternal</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true" title="class or interface in java.io">Externalizable</a></code></dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="readExternal-java.io.ObjectInput-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>readExternal</h4>
+<pre>public&nbsp;void&nbsp;readExternal(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectInput.html?is-external=true" title="class or interface in java.io">ObjectInput</a>&nbsp;in)
+                  throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
+                         <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/ClassNotFoundException.html?is-external=true" title="class or interface in java.lang">ClassNotFoundException</a></pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true#readExternal-java.io.ObjectInput-" title="class or interface in java.io">readExternal</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true" title="class or interface in java.io">Externalizable</a></code></dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/ClassNotFoundException.html?is-external=true" title="class or interface in java.lang">ClassNotFoundException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getColumnEncoders-java.lang.Class-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getColumnEncoders</h4>
+<pre>public&nbsp;&lt;T extends <a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a>&gt;&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&nbsp;getColumnEncoders(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;type)</pre>
+</li>
+</ul>
+<a name="getColumnEncoder-int-java.lang.Class-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getColumnEncoder</h4>
+<pre>public&nbsp;&lt;T extends <a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a>&gt;&nbsp;T&nbsp;getColumnEncoder(int&nbsp;colID,
+                                                    <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;type)</pre>
+</li>
+</ul>
+<a name="getFromAll-java.lang.Class-java.util.function.Function-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getFromAll</h4>
+<pre>public&nbsp;&lt;T extends <a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a>,E&gt;&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;E&gt;&nbsp;getFromAll(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;type,
+                                                      <a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Function.html?is-external=true" title="class or interface in java.util.function">Function</a>&lt;? super T,? extends E&gt;&nbsp;mapper)</pre>
+</li>
+</ul>
+<a name="getFromAllIntArray-java.lang.Class-java.util.function.Function-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getFromAllIntArray</h4>
+<pre>public&nbsp;&lt;T extends <a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a>&gt;&nbsp;int[]&nbsp;getFromAllIntArray(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;type,
+                                                          <a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Function.html?is-external=true" title="class or interface in java.util.function">Function</a>&lt;? super T,? extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;mapper)</pre>
+</li>
+</ul>
+<a name="getFromAllDoubleArray-java.lang.Class-java.util.function.Function-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getFromAllDoubleArray</h4>
+<pre>public&nbsp;&lt;T extends <a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a>&gt;&nbsp;double[]&nbsp;getFromAllDoubleArray(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;type,
+                                                                <a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Function.html?is-external=true" title="class or interface in java.util.function">Function</a>&lt;? super T,? extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a>&gt;&nbsp;mapper)</pre>
+</li>
+</ul>
+<a name="getColumnEncoders--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getColumnEncoders</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderComposite</a>&gt;&nbsp;getColumnEncoders()</pre>
+</li>
+</ul>
+<a name="getCompositeEncodersForID-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getCompositeEncodersForID</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderComposite</a>&gt;&nbsp;getCompositeEncodersForID(int&nbsp;colID)</pre>
+</li>
+</ul>
+<a name="getEncoderTypes-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getEncoderTypes</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a>&gt;&gt;&nbsp;getEncoderTypes(int&nbsp;colID)</pre>
+</li>
+</ul>
+<a name="getEncoderTypes--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getEncoderTypes</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a>&gt;&gt;&nbsp;getEncoderTypes()</pre>
+</li>
+</ul>
+<a name="getNumExtraCols--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getNumExtraCols</h4>
+<pre>public&nbsp;int&nbsp;getNumExtraCols()</pre>
+</li>
+</ul>
+<a name="getNumExtraCols-org.apache.sysds.runtime.util.IndexRange-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getNumExtraCols</h4>
+<pre>public&nbsp;int&nbsp;getNumExtraCols(<a href="../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixRange)</pre>
+</li>
+</ul>
+<a name="containsEncoderForID-int-java.lang.Class-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>containsEncoderForID</h4>
+<pre>public&nbsp;&lt;T extends <a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a>&gt;&nbsp;boolean&nbsp;containsEncoderForID(int&nbsp;colID,
+                                                              <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;type)</pre>
+</li>
+</ul>
+<a name="applyToAll-java.lang.Class-java.util.function.Consumer-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>applyToAll</h4>
+<pre>public&nbsp;&lt;T extends <a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a>,E&gt;&nbsp;void&nbsp;applyToAll(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;type,
+                                                   <a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Consumer.html?is-external=true" title="class or interface in java.util.function">Consumer</a>&lt;? super T&gt;&nbsp;function)</pre>
+</li>
+</ul>
+<a name="applyToAll-java.util.function.Consumer-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>applyToAll</h4>
+<pre>public&nbsp;&lt;T extends <a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a>,E&gt;&nbsp;void&nbsp;applyToAll(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Consumer.html?is-external=true" title="class or interface in java.util.function">Consumer</a>&lt;? super <a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderComposite</a>&gt;&nbsp;function)</pre>
+</li>
+</ul>
+<a name="subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>subRangeEncoder</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a>&nbsp;subRangeEncoder(<a href="../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixRange)</pre>
+</li>
+</ul>
+<a name="subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-java.lang.Class-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>subRangeEncoder</h4>
+<pre>public&nbsp;&lt;T extends <a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a>&gt;&nbsp;<a href="../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a>&nbsp;subRangeEncoder(<a href="../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixRange,
+                                                                    <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;type)</pre>
+</li>
+</ul>
+<a name="mergeReplace-org.apache.sysds.runtime.transform.encode.MultiColumnEncoder-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>mergeReplace</h4>
+<pre>public&nbsp;void&nbsp;mergeReplace(<a href="../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a>&nbsp;multiEncoder)</pre>
+</li>
+</ul>
+<a name="mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>mergeAt</h4>
+<pre>public&nbsp;void&nbsp;mergeAt(<a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="interface in org.apache.sysds.runtime.transform.encode">Encoder</a>&nbsp;other,
+                    int&nbsp;columnOffset,
+                    int&nbsp;row)</pre>
+</li>
+</ul>
+<a name="addReplaceLegacyEncoder-org.apache.sysds.runtime.transform.encode.LegacyEncoder-">
+<!--   -->
+</a><a name="addReplaceLegacyEncoder-T-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>addReplaceLegacyEncoder</h4>
+<pre>public&nbsp;&lt;T extends <a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">LegacyEncoder</a>&gt;&nbsp;void&nbsp;addReplaceLegacyEncoder(T&nbsp;encoder)</pre>
+</li>
+</ul>
+<a name="hasLegacyEncoder-java.lang.Class-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>hasLegacyEncoder</h4>
+<pre>public&nbsp;&lt;T extends <a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">LegacyEncoder</a>&gt;&nbsp;boolean&nbsp;hasLegacyEncoder(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;type)</pre>
+</li>
+</ul>
+<a name="getLegacyEncoder-java.lang.Class-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getLegacyEncoder</h4>
+<pre>public&nbsp;&lt;T extends <a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">LegacyEncoder</a>&gt;&nbsp;T&nbsp;getLegacyEncoder(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;type)</pre>
+</li>
+</ul>
+<a name="applyColumnOffset--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>applyColumnOffset</h4>
+<pre>public&nbsp;void&nbsp;applyColumnOffset()</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/MultiColumnEncoder.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" target="_top">Frames</a></li>
+<li><a href="MultiColumnEncoder.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/ColumnEncoder.EncoderType.html b/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/ColumnEncoder.EncoderType.html
new file mode 100644
index 0000000..735e924
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/ColumnEncoder.EncoderType.html
@@ -0,0 +1,174 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.sysds.runtime.transform.encode.ColumnEncoder.EncoderType (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.sysds.runtime.transform.encode.ColumnEncoder.EncoderType (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.EncoderType.html" title="enum in org.apache.sysds.runtime.transform.encode">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/transform/encode/class-use/ColumnEncoder.EncoderType.html" target="_top">Frames</a></li>
+<li><a href="ColumnEncoder.EncoderType.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.sysds.runtime.transform.encode.ColumnEncoder.EncoderType" class="title">Uses of Class<br>org.apache.sysds.runtime.transform.encode.ColumnEncoder.EncoderType</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.EncoderType.html" title="enum in org.apache.sysds.runtime.transform.encode">ColumnEncoder.EncoderType</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.transform.encode">org.apache.sysds.runtime.transform.encode</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.sysds.runtime.transform.encode">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.EncoderType.html" title="enum in org.apache.sysds.runtime.transform.encode">ColumnEncoder.EncoderType</a> in <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/package-summary.html">org.apache.sysds.runtime.transform.encode</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/package-summary.html">org.apache.sysds.runtime.transform.encode</a> that return <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.EncoderType.html" title="enum in org.apache.sysds.runtime.transform.encode">ColumnEncoder.EncoderType</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.EncoderType.html" title="enum in org.apache.sysds.runtime.transform.encode">ColumnEncoder.EncoderType</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColumnEncoder.EncoderType.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.EncoderType.html#valueOf-java.lang.String-">valueOf</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
+<div class="block">Returns the enum constant of this type with the specified name.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.EncoderType.html" title="enum in org.apache.sysds.runtime.transform.encode">ColumnEncoder.EncoderType</a>[]</code></td>
+<td class="colLast"><span class="typeNameLabel">ColumnEncoder.EncoderType.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.EncoderType.html#values--">values</a></span>()</code>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.EncoderType.html" title="enum in org.apache.sysds.runtime.transform.encode">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/transform/encode/class-use/ColumnEncoder.EncoderType.html" target="_top">Frames</a></li>
+<li><a href="ColumnEncoder.EncoderType.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/ColumnEncoder.html b/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/ColumnEncoder.html
new file mode 100644
index 0000000..0c7ebfb
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/ColumnEncoder.html
@@ -0,0 +1,373 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.sysds.runtime.transform.encode.ColumnEncoder (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.sysds.runtime.transform.encode.ColumnEncoder (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/transform/encode/class-use/ColumnEncoder.html" target="_top">Frames</a></li>
+<li><a href="ColumnEncoder.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.sysds.runtime.transform.encode.ColumnEncoder" class="title">Uses of Class<br>org.apache.sysds.runtime.transform.encode.ColumnEncoder</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.transform.encode">org.apache.sysds.runtime.transform.encode</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.sysds.runtime.transform.encode">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a> in <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/package-summary.html">org.apache.sysds.runtime.transform.encode</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subclasses, and an explanation">
+<caption><span>Subclasses of <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a> in <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/package-summary.html">org.apache.sysds.runtime.transform.encode</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderBin.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderBin</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderComposite</a></span></code>
+<div class="block">Simple composite encoder that applies a list of encoders in specified order.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderDummycode.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderDummycode</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderFeatureHash.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderFeatureHash</a></span></code>
+<div class="block">Class used for feature hashing transformation of frames.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderPassThrough.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderPassThrough</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderRecode.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderRecode</a></span></code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/package-summary.html">org.apache.sysds.runtime.transform.encode</a> with type parameters of type <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>&lt;T extends <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a>,E&gt;<br>void</code></td>
+<td class="colLast"><span class="typeNameLabel">MultiColumnEncoder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#applyToAll-java.lang.Class-java.util.function.Consumer-">applyToAll</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;type,
+          <a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Consumer.html?is-external=true" title="class or interface in java.util.function">Consumer</a>&lt;? super T&gt;&nbsp;function)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>&lt;T extends <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a>,E&gt;<br>void</code></td>
+<td class="colLast"><span class="typeNameLabel">MultiColumnEncoder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#applyToAll-java.util.function.Consumer-">applyToAll</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Consumer.html?is-external=true" title="class or interface in java.util.function">Consumer</a>&lt;? super <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderComposite</a>&gt;&nbsp;function)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>&lt;T extends <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a>&gt;<br>boolean</code></td>
+<td class="colLast"><span class="typeNameLabel">MultiColumnEncoder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#containsEncoderForID-int-java.lang.Class-">containsEncoderForID</a></span>(int&nbsp;colID,
+                    <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;type)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>&lt;T extends <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a>&gt;<br>T</code></td>
+<td class="colLast"><span class="typeNameLabel">MultiColumnEncoder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#getColumnEncoder-int-java.lang.Class-">getColumnEncoder</a></span>(int&nbsp;colID,
+                <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;type)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>&lt;T extends <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a>&gt;<br><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">MultiColumnEncoder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#getColumnEncoders-java.lang.Class-">getColumnEncoders</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;type)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>&lt;T extends <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a>&gt;<br>T</code></td>
+<td class="colLast"><span class="typeNameLabel">ColumnEncoderComposite.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html#getEncoder-java.lang.Class-">getEncoder</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;type)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>&lt;T extends <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a>,E&gt;<br><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;E&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">MultiColumnEncoder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#getFromAll-java.lang.Class-java.util.function.Function-">getFromAll</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;type,
+          <a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Function.html?is-external=true" title="class or interface in java.util.function">Function</a>&lt;? super T,? extends E&gt;&nbsp;mapper)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>&lt;T extends <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a>&gt;<br>double[]</code></td>
+<td class="colLast"><span class="typeNameLabel">MultiColumnEncoder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#getFromAllDoubleArray-java.lang.Class-java.util.function.Function-">getFromAllDoubleArray</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;type,
+                     <a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Function.html?is-external=true" title="class or interface in java.util.function">Function</a>&lt;? super T,? extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a>&gt;&nbsp;mapper)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>&lt;T extends <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a>&gt;<br>int[]</code></td>
+<td class="colLast"><span class="typeNameLabel">MultiColumnEncoder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#getFromAllIntArray-java.lang.Class-java.util.function.Function-">getFromAllIntArray</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;type,
+                  <a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Function.html?is-external=true" title="class or interface in java.util.function">Function</a>&lt;? super T,? extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;mapper)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>&lt;T extends <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a>&gt;<br>boolean</code></td>
+<td class="colLast"><span class="typeNameLabel">ColumnEncoderComposite.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html#hasEncoder-java.lang.Class-">hasEncoder</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;type)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>&lt;T extends <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a>&gt;<br><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a></code></td>
+<td class="colLast"><span class="typeNameLabel">MultiColumnEncoder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-java.lang.Class-">subRangeEncoder</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixRange,
+               <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;type)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/package-summary.html">org.apache.sysds.runtime.transform.encode</a> that return <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a></code></td>
+<td class="colLast"><span class="typeNameLabel">EncoderFactory.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderFactory.html#createInstance-int-">createInstance</a></span>(int&nbsp;type)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/package-summary.html">org.apache.sysds.runtime.transform.encode</a> that return types with arguments of type <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">ColumnEncoderComposite.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html#getEncoders--">getEncoders</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a>&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">MultiColumnEncoder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#getEncoderTypes--">getEncoderTypes</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a>&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">MultiColumnEncoder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#getEncoderTypes-int-">getEncoderTypes</a></span>(int&nbsp;colID)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/package-summary.html">org.apache.sysds.runtime.transform.encode</a> with parameters of type <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">ColumnEncoderComposite.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html#addEncoder-org.apache.sysds.runtime.transform.encode.ColumnEncoder-">addEncoder</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a>&nbsp;other)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><span class="typeNameLabel">ColumnEncoder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#compareTo-org.apache.sysds.runtime.transform.encode.ColumnEncoder-">compareTo</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a>&nbsp;o)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static int</code></td>
+<td class="colLast"><span class="typeNameLabel">EncoderFactory.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderFactory.html#getEncoderType-org.apache.sysds.runtime.transform.encode.ColumnEncoder-">getEncoderType</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a>&nbsp;columnEncoder)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">ColumnEncoderPassThrough.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderPassThrough.html#mergeAt-org.apache.sysds.runtime.transform.encode.ColumnEncoder-">mergeAt</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a>&nbsp;other)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">ColumnEncoderComposite.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html#mergeAt-org.apache.sysds.runtime.transform.encode.ColumnEncoder-">mergeAt</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a>&nbsp;other)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">ColumnEncoderDummycode.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderDummycode.html#mergeAt-org.apache.sysds.runtime.transform.encode.ColumnEncoder-">mergeAt</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a>&nbsp;other)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">ColumnEncoderRecode.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderRecode.html#mergeAt-org.apache.sysds.runtime.transform.encode.ColumnEncoder-">mergeAt</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a>&nbsp;other)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">ColumnEncoderFeatureHash.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderFeatureHash.html#mergeAt-org.apache.sysds.runtime.transform.encode.ColumnEncoder-">mergeAt</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a>&nbsp;other)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">ColumnEncoderBin.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderBin.html#mergeAt-org.apache.sysds.runtime.transform.encode.ColumnEncoder-">mergeAt</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a>&nbsp;other)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">ColumnEncoder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#mergeAt-org.apache.sysds.runtime.transform.encode.ColumnEncoder-">mergeAt</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a>&nbsp;other)</code>
+<div class="block">Merges another encoder, of a compatible type, in after a certain position.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Method parameters in <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/package-summary.html">org.apache.sysds.runtime.transform.encode</a> with type arguments of type <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">ColumnEncoderDummycode.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderDummycode.html#updateDomainSizes-java.util.List-">updateDomainSizes</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a>&gt;&nbsp;columnEncoders)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/package-summary.html">org.apache.sysds.runtime.transform.encode</a> with parameters of type <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html#ColumnEncoderComposite-org.apache.sysds.runtime.transform.encode.ColumnEncoder-">ColumnEncoderComposite</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a>&nbsp;columnEncoder)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructor parameters in <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/package-summary.html">org.apache.sysds.runtime.transform.encode</a> with type arguments of type <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html#ColumnEncoderComposite-java.util.List-">ColumnEncoderComposite</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a>&gt;&nbsp;columnEncoders)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html#ColumnEncoderComposite-java.util.List-org.apache.sysds.runtime.matrix.data.FrameBlock-">ColumnEncoderComposite</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a>&gt;&nbsp;columnEncoders,
+                      <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/transform/encode/class-use/ColumnEncoder.html" target="_top">Frames</a></li>
+<li><a href="ColumnEncoder.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/EncoderComposite.html b/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/ColumnEncoderBin.html
similarity index 83%
rename from docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/EncoderComposite.html
rename to docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/ColumnEncoderBin.html
index 33a7472..36a4728 100644
--- a/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/EncoderComposite.html
+++ b/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/ColumnEncoderBin.html
@@ -4,7 +4,7 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.sysds.runtime.transform.encode.EncoderComposite (SystemDS 2.1.0-SNAPSHOT API)</title>
+<title>Uses of Class org.apache.sysds.runtime.transform.encode.ColumnEncoderBin (SystemDS 2.1.0-SNAPSHOT API)</title>
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.sysds.runtime.transform.encode.EncoderComposite (SystemDS 2.1.0-SNAPSHOT API)";
+            parent.document.title="Uses of Class org.apache.sysds.runtime.transform.encode.ColumnEncoderBin (SystemDS 2.1.0-SNAPSHOT API)";
         }
     }
     catch(err) {
@@ -33,7 +33,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">Class</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderBin.html" title="class in org.apache.sysds.runtime.transform.encode">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -47,8 +47,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/transform/encode/class-use/EncoderComposite.html" target="_top">Frames</a></li>
-<li><a href="EncoderComposite.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/transform/encode/class-use/ColumnEncoderBin.html" target="_top">Frames</a></li>
+<li><a href="ColumnEncoderBin.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -70,9 +70,9 @@
 </a></div>
 <!-- ========= END OF TOP NAVBAR ========= -->
 <div class="header">
-<h2 title="Uses of Class org.apache.sysds.runtime.transform.encode.EncoderComposite" class="title">Uses of Class<br>org.apache.sysds.runtime.transform.encode.EncoderComposite</h2>
+<h2 title="Uses of Class org.apache.sysds.runtime.transform.encode.ColumnEncoderBin" class="title">Uses of Class<br>org.apache.sysds.runtime.transform.encode.ColumnEncoderBin</h2>
 </div>
-<div class="classUseContainer">No usage of org.apache.sysds.runtime.transform.encode.EncoderComposite</div>
+<div class="classUseContainer">No usage of org.apache.sysds.runtime.transform.encode.ColumnEncoderBin</div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
 <!--   -->
@@ -84,7 +84,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">Class</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderBin.html" title="class in org.apache.sysds.runtime.transform.encode">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -98,8 +98,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/transform/encode/class-use/EncoderComposite.html" target="_top">Frames</a></li>
-<li><a href="EncoderComposite.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/transform/encode/class-use/ColumnEncoderBin.html" target="_top">Frames</a></li>
+<li><a href="ColumnEncoderBin.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/ColumnEncoderComposite.html b/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/ColumnEncoderComposite.html
new file mode 100644
index 0000000..ab5c6e5
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/ColumnEncoderComposite.html
@@ -0,0 +1,193 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.sysds.runtime.transform.encode.ColumnEncoderComposite (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.sysds.runtime.transform.encode.ColumnEncoderComposite (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/transform/encode/class-use/ColumnEncoderComposite.html" target="_top">Frames</a></li>
+<li><a href="ColumnEncoderComposite.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.sysds.runtime.transform.encode.ColumnEncoderComposite" class="title">Uses of Class<br>org.apache.sysds.runtime.transform.encode.ColumnEncoderComposite</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderComposite</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.transform.encode">org.apache.sysds.runtime.transform.encode</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.sysds.runtime.transform.encode">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderComposite</a> in <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/package-summary.html">org.apache.sysds.runtime.transform.encode</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/package-summary.html">org.apache.sysds.runtime.transform.encode</a> that return types with arguments of type <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderComposite</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderComposite</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">MultiColumnEncoder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#getColumnEncoders--">getColumnEncoders</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderComposite</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">MultiColumnEncoder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#getCompositeEncodersForID-int-">getCompositeEncodersForID</a></span>(int&nbsp;colID)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Method parameters in <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/package-summary.html">org.apache.sysds.runtime.transform.encode</a> with type arguments of type <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderComposite</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>&lt;T extends <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a>,E&gt;<br>void</code></td>
+<td class="colLast"><span class="typeNameLabel">MultiColumnEncoder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#applyToAll-java.util.function.Consumer-">applyToAll</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Consumer.html?is-external=true" title="class or interface in java.util.function">Consumer</a>&lt;? super <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderComposite</a>&gt;&nbsp;function)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructor parameters in <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/package-summary.html">org.apache.sysds.runtime.transform.encode</a> with type arguments of type <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderComposite</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#MultiColumnEncoder-java.util.List-">MultiColumnEncoder</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderComposite</a>&gt;&nbsp;columnEncoders)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/transform/encode/class-use/ColumnEncoderComposite.html" target="_top">Frames</a></li>
+<li><a href="ColumnEncoderComposite.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/EncoderComposite.html b/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/ColumnEncoderDummycode.html
similarity index 79%
copy from docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/EncoderComposite.html
copy to docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/ColumnEncoderDummycode.html
index 33a7472..b306a5b 100644
--- a/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/EncoderComposite.html
+++ b/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/ColumnEncoderDummycode.html
@@ -4,7 +4,7 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.sysds.runtime.transform.encode.EncoderComposite (SystemDS 2.1.0-SNAPSHOT API)</title>
+<title>Uses of Class org.apache.sysds.runtime.transform.encode.ColumnEncoderDummycode (SystemDS 2.1.0-SNAPSHOT API)</title>
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.sysds.runtime.transform.encode.EncoderComposite (SystemDS 2.1.0-SNAPSHOT API)";
+            parent.document.title="Uses of Class org.apache.sysds.runtime.transform.encode.ColumnEncoderDummycode (SystemDS 2.1.0-SNAPSHOT API)";
         }
     }
     catch(err) {
@@ -33,7 +33,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">Class</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderDummycode.html" title="class in org.apache.sysds.runtime.transform.encode">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -47,8 +47,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/transform/encode/class-use/EncoderComposite.html" target="_top">Frames</a></li>
-<li><a href="EncoderComposite.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/transform/encode/class-use/ColumnEncoderDummycode.html" target="_top">Frames</a></li>
+<li><a href="ColumnEncoderDummycode.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -70,9 +70,9 @@
 </a></div>
 <!-- ========= END OF TOP NAVBAR ========= -->
 <div class="header">
-<h2 title="Uses of Class org.apache.sysds.runtime.transform.encode.EncoderComposite" class="title">Uses of Class<br>org.apache.sysds.runtime.transform.encode.EncoderComposite</h2>
+<h2 title="Uses of Class org.apache.sysds.runtime.transform.encode.ColumnEncoderDummycode" class="title">Uses of Class<br>org.apache.sysds.runtime.transform.encode.ColumnEncoderDummycode</h2>
 </div>
-<div class="classUseContainer">No usage of org.apache.sysds.runtime.transform.encode.EncoderComposite</div>
+<div class="classUseContainer">No usage of org.apache.sysds.runtime.transform.encode.ColumnEncoderDummycode</div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
 <!--   -->
@@ -84,7 +84,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">Class</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderDummycode.html" title="class in org.apache.sysds.runtime.transform.encode">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -98,8 +98,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/transform/encode/class-use/EncoderComposite.html" target="_top">Frames</a></li>
-<li><a href="EncoderComposite.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/transform/encode/class-use/ColumnEncoderDummycode.html" target="_top">Frames</a></li>
+<li><a href="ColumnEncoderDummycode.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/EncoderFeatureHash.html b/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/ColumnEncoderFeatureHash.html
similarity index 79%
rename from docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/EncoderFeatureHash.html
rename to docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/ColumnEncoderFeatureHash.html
index f689dd7..0cce687 100644
--- a/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/EncoderFeatureHash.html
+++ b/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/ColumnEncoderFeatureHash.html
@@ -4,7 +4,7 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.sysds.runtime.transform.encode.EncoderFeatureHash (SystemDS 2.1.0-SNAPSHOT API)</title>
+<title>Uses of Class org.apache.sysds.runtime.transform.encode.ColumnEncoderFeatureHash (SystemDS 2.1.0-SNAPSHOT API)</title>
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.sysds.runtime.transform.encode.EncoderFeatureHash (SystemDS 2.1.0-SNAPSHOT API)";
+            parent.document.title="Uses of Class org.apache.sysds.runtime.transform.encode.ColumnEncoderFeatureHash (SystemDS 2.1.0-SNAPSHOT API)";
         }
     }
     catch(err) {
@@ -33,7 +33,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderFeatureHash.html" title="class in org.apache.sysds.runtime.transform.encode">Class</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderFeatureHash.html" title="class in org.apache.sysds.runtime.transform.encode">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -47,8 +47,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/transform/encode/class-use/EncoderFeatureHash.html" target="_top">Frames</a></li>
-<li><a href="EncoderFeatureHash.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/transform/encode/class-use/ColumnEncoderFeatureHash.html" target="_top">Frames</a></li>
+<li><a href="ColumnEncoderFeatureHash.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -70,9 +70,9 @@
 </a></div>
 <!-- ========= END OF TOP NAVBAR ========= -->
 <div class="header">
-<h2 title="Uses of Class org.apache.sysds.runtime.transform.encode.EncoderFeatureHash" class="title">Uses of Class<br>org.apache.sysds.runtime.transform.encode.EncoderFeatureHash</h2>
+<h2 title="Uses of Class org.apache.sysds.runtime.transform.encode.ColumnEncoderFeatureHash" class="title">Uses of Class<br>org.apache.sysds.runtime.transform.encode.ColumnEncoderFeatureHash</h2>
 </div>
-<div class="classUseContainer">No usage of org.apache.sysds.runtime.transform.encode.EncoderFeatureHash</div>
+<div class="classUseContainer">No usage of org.apache.sysds.runtime.transform.encode.ColumnEncoderFeatureHash</div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
 <!--   -->
@@ -84,7 +84,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderFeatureHash.html" title="class in org.apache.sysds.runtime.transform.encode">Class</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderFeatureHash.html" title="class in org.apache.sysds.runtime.transform.encode">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -98,8 +98,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/transform/encode/class-use/EncoderFeatureHash.html" target="_top">Frames</a></li>
-<li><a href="EncoderFeatureHash.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/transform/encode/class-use/ColumnEncoderFeatureHash.html" target="_top">Frames</a></li>
+<li><a href="ColumnEncoderFeatureHash.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/EncoderPassThrough.html b/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/ColumnEncoderPassThrough.html
similarity index 79%
copy from docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/EncoderPassThrough.html
copy to docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/ColumnEncoderPassThrough.html
index 4d9b612..69ff7e4 100644
--- a/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/EncoderPassThrough.html
+++ b/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/ColumnEncoderPassThrough.html
@@ -4,7 +4,7 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.sysds.runtime.transform.encode.EncoderPassThrough (SystemDS 2.1.0-SNAPSHOT API)</title>
+<title>Uses of Class org.apache.sysds.runtime.transform.encode.ColumnEncoderPassThrough (SystemDS 2.1.0-SNAPSHOT API)</title>
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.sysds.runtime.transform.encode.EncoderPassThrough (SystemDS 2.1.0-SNAPSHOT API)";
+            parent.document.title="Uses of Class org.apache.sysds.runtime.transform.encode.ColumnEncoderPassThrough (SystemDS 2.1.0-SNAPSHOT API)";
         }
     }
     catch(err) {
@@ -33,7 +33,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderPassThrough.html" title="class in org.apache.sysds.runtime.transform.encode">Class</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderPassThrough.html" title="class in org.apache.sysds.runtime.transform.encode">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -47,8 +47,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/transform/encode/class-use/EncoderPassThrough.html" target="_top">Frames</a></li>
-<li><a href="EncoderPassThrough.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/transform/encode/class-use/ColumnEncoderPassThrough.html" target="_top">Frames</a></li>
+<li><a href="ColumnEncoderPassThrough.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -70,9 +70,9 @@
 </a></div>
 <!-- ========= END OF TOP NAVBAR ========= -->
 <div class="header">
-<h2 title="Uses of Class org.apache.sysds.runtime.transform.encode.EncoderPassThrough" class="title">Uses of Class<br>org.apache.sysds.runtime.transform.encode.EncoderPassThrough</h2>
+<h2 title="Uses of Class org.apache.sysds.runtime.transform.encode.ColumnEncoderPassThrough" class="title">Uses of Class<br>org.apache.sysds.runtime.transform.encode.ColumnEncoderPassThrough</h2>
 </div>
-<div class="classUseContainer">No usage of org.apache.sysds.runtime.transform.encode.EncoderPassThrough</div>
+<div class="classUseContainer">No usage of org.apache.sysds.runtime.transform.encode.ColumnEncoderPassThrough</div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
 <!--   -->
@@ -84,7 +84,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderPassThrough.html" title="class in org.apache.sysds.runtime.transform.encode">Class</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderPassThrough.html" title="class in org.apache.sysds.runtime.transform.encode">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -98,8 +98,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/transform/encode/class-use/EncoderPassThrough.html" target="_top">Frames</a></li>
-<li><a href="EncoderPassThrough.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/transform/encode/class-use/ColumnEncoderPassThrough.html" target="_top">Frames</a></li>
+<li><a href="ColumnEncoderPassThrough.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/EncoderComposite.html b/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/ColumnEncoderRecode.html
similarity index 79%
copy from docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/EncoderComposite.html
copy to docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/ColumnEncoderRecode.html
index 33a7472..076c84b 100644
--- a/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/EncoderComposite.html
+++ b/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/ColumnEncoderRecode.html
@@ -4,7 +4,7 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.sysds.runtime.transform.encode.EncoderComposite (SystemDS 2.1.0-SNAPSHOT API)</title>
+<title>Uses of Class org.apache.sysds.runtime.transform.encode.ColumnEncoderRecode (SystemDS 2.1.0-SNAPSHOT API)</title>
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.sysds.runtime.transform.encode.EncoderComposite (SystemDS 2.1.0-SNAPSHOT API)";
+            parent.document.title="Uses of Class org.apache.sysds.runtime.transform.encode.ColumnEncoderRecode (SystemDS 2.1.0-SNAPSHOT API)";
         }
     }
     catch(err) {
@@ -33,7 +33,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">Class</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderRecode.html" title="class in org.apache.sysds.runtime.transform.encode">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -47,8 +47,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/transform/encode/class-use/EncoderComposite.html" target="_top">Frames</a></li>
-<li><a href="EncoderComposite.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/transform/encode/class-use/ColumnEncoderRecode.html" target="_top">Frames</a></li>
+<li><a href="ColumnEncoderRecode.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -70,9 +70,9 @@
 </a></div>
 <!-- ========= END OF TOP NAVBAR ========= -->
 <div class="header">
-<h2 title="Uses of Class org.apache.sysds.runtime.transform.encode.EncoderComposite" class="title">Uses of Class<br>org.apache.sysds.runtime.transform.encode.EncoderComposite</h2>
+<h2 title="Uses of Class org.apache.sysds.runtime.transform.encode.ColumnEncoderRecode" class="title">Uses of Class<br>org.apache.sysds.runtime.transform.encode.ColumnEncoderRecode</h2>
 </div>
-<div class="classUseContainer">No usage of org.apache.sysds.runtime.transform.encode.EncoderComposite</div>
+<div class="classUseContainer">No usage of org.apache.sysds.runtime.transform.encode.ColumnEncoderRecode</div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
 <!--   -->
@@ -84,7 +84,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">Class</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderRecode.html" title="class in org.apache.sysds.runtime.transform.encode">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -98,8 +98,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/transform/encode/class-use/EncoderComposite.html" target="_top">Frames</a></li>
-<li><a href="EncoderComposite.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/transform/encode/class-use/ColumnEncoderRecode.html" target="_top">Frames</a></li>
+<li><a href="ColumnEncoderRecode.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/Encoder.html b/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/Encoder.html
index 38b6e66..6d94477 100644
--- a/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/Encoder.html
+++ b/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/Encoder.html
@@ -4,7 +4,7 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.sysds.runtime.transform.encode.Encoder (SystemDS 2.1.0-SNAPSHOT API)</title>
+<title>Uses of Interface org.apache.sysds.runtime.transform.encode.Encoder (SystemDS 2.1.0-SNAPSHOT API)</title>
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.sysds.runtime.transform.encode.Encoder (SystemDS 2.1.0-SNAPSHOT API)";
+            parent.document.title="Uses of Interface org.apache.sysds.runtime.transform.encode.Encoder (SystemDS 2.1.0-SNAPSHOT API)";
         }
     }
     catch(err) {
@@ -33,7 +33,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Class</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="interface in org.apache.sysds.runtime.transform.encode">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -70,27 +70,19 @@
 </a></div>
 <!-- ========= END OF TOP NAVBAR ========= -->
 <div class="header">
-<h2 title="Uses of Class org.apache.sysds.runtime.transform.encode.Encoder" class="title">Uses of Class<br>org.apache.sysds.runtime.transform.encode.Encoder</h2>
+<h2 title="Uses of Interface org.apache.sysds.runtime.transform.encode.Encoder" class="title">Uses of Interface<br>org.apache.sysds.runtime.transform.encode.Encoder</h2>
 </div>
 <div class="classUseContainer">
 <ul class="blockList">
 <li class="blockList">
 <table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
-<caption><span>Packages that use <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></span><span class="tabEnd">&nbsp;</span></caption>
+<caption><span>Packages that use <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="interface in org.apache.sysds.runtime.transform.encode">Encoder</a></span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
 <th class="colFirst" scope="col">Package</th>
 <th class="colLast" scope="col">Description</th>
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.fed">org.apache.sysds.runtime.instructions.fed</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.spark">org.apache.sysds.runtime.instructions.spark</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.transform.encode">org.apache.sysds.runtime.transform.encode</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
@@ -99,73 +91,12 @@
 </li>
 <li class="blockList">
 <ul class="blockList">
-<li class="blockList"><a name="org.apache.sysds.runtime.instructions.fed">
-<!--   -->
-</a>
-<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a> in <a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/package-summary.html">org.apache.sysds.runtime.instructions.fed</a></h3>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/package-summary.html">org.apache.sysds.runtime.instructions.fed</a> with parameters of type <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><span class="typeNameLabel">MultiReturnParameterizedBuiltinFEDInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/MultiReturnParameterizedBuiltinFEDInstruction.html#encodeFederatedFrames-org.apache.sysds.runtime.controlprogram.federated.FederationMap-org.apache.sysds.runtime.transform.encode.Encoder-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-">encodeFederatedFrames</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationMap</a>&nbsp;fedMapping,
-                     <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&nbsp;globalEncoder,
-                     <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;transformedMat)</code>&nbsp;</td>
-</tr>
-</tbody>
-</table>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
-<caption><span>Constructors in <a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/package-summary.html">org.apache.sysds.runtime.instructions.fed</a> with parameters of type <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/MultiReturnParameterizedBuiltinFEDInstruction.ExecuteFrameEncoder.html#ExecuteFrameEncoder-long-long-org.apache.sysds.runtime.transform.encode.Encoder-">ExecuteFrameEncoder</a></span>(long&nbsp;input,
-                   long&nbsp;output,
-                   <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&nbsp;encoder)</code>&nbsp;</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList"><a name="org.apache.sysds.runtime.instructions.spark">
-<!--   -->
-</a>
-<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a> in <a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/package-summary.html">org.apache.sysds.runtime.instructions.spark</a></h3>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
-<caption><span>Constructors in <a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/package-summary.html">org.apache.sysds.runtime.instructions.spark</a> with parameters of type <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/MultiReturnParameterizedBuiltinSPInstruction.TransformEncodeBuildFunction.html#TransformEncodeBuildFunction-org.apache.sysds.runtime.transform.encode.Encoder-">TransformEncodeBuildFunction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&nbsp;encoder)</code>&nbsp;</td>
-</tr>
-</tbody>
-</table>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
-<caption><span>Constructor parameters in <a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/package-summary.html">org.apache.sysds.runtime.instructions.spark</a> with type arguments of type <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDTransformApplyFunction.html#RDDTransformApplyFunction-org.apache.spark.broadcast.Broadcast-org.apache.spark.broadcast.Broadcast-">RDDTransformApplyFunction</a></span>(org.apache.spark.broadcast.Broadcast&lt;<a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&gt;&nbsp;bencoder,
-                         org.apache.spark.broadcast.Broadcast&lt;<a href="../../../../../../../org/apache/sysds/runtime/transform/meta/TfOffsetMap.html" title="class in org.apache.sysds.runtime.transform.meta">TfOffsetMap</a>&gt;&nbsp;omap)</code>&nbsp;</td>
-</tr>
-</tbody>
-</table>
-</li>
 <li class="blockList"><a name="org.apache.sysds.runtime.transform.encode">
 <!--   -->
 </a>
-<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a> in <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/package-summary.html">org.apache.sysds.runtime.transform.encode</a></h3>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subclasses, and an explanation">
-<caption><span>Subclasses of <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a> in <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/package-summary.html">org.apache.sysds.runtime.transform.encode</a></span><span class="tabEnd">&nbsp;</span></caption>
+<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="interface in org.apache.sysds.runtime.transform.encode">Encoder</a> in <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/package-summary.html">org.apache.sysds.runtime.transform.encode</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/package-summary.html">org.apache.sysds.runtime.transform.encode</a> that implement <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="interface in org.apache.sysds.runtime.transform.encode">Encoder</a></span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
 <th class="colLast" scope="col">Class and Description</th>
@@ -173,148 +104,46 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderBin.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderBin</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a></span></code>
+<div class="block">Base class for all transform encoders providing both a row and block interface for decoding frames to matrices.</div>
+</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderComposite</a></span></code>
-<div class="block">Simple composite encoder that applies a list of encoders 
- in specified order.</div>
-</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderBin.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderBin</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderDummycode.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderDummycode</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderComposite</a></span></code>
+<div class="block">Simple composite encoder that applies a list of encoders in specified order.</div>
+</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderFeatureHash.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderFeatureHash</a></span></code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderDummycode.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderDummycode</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderFeatureHash.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderFeatureHash</a></span></code>
 <div class="block">Class used for feature hashing transformation of frames.</div>
 </td>
 </tr>
-<tr class="altColor">
-<td class="colFirst"><code>class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderMVImpute</a></span></code>&nbsp;</td>
-</tr>
 <tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderOmit.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderOmit</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderPassThrough.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderPassThrough</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderPassThrough.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderPassThrough</a></span></code>
-<div class="block">Simple composite encoder that applies a list of encoders 
- in specified order.</div>
-</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderRecode.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderRecode</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderRecode.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderRecode</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a></span></code>&nbsp;</td>
 </tr>
 </tbody>
 </table>
 <table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/package-summary.html">org.apache.sysds.runtime.transform.encode</a> that return <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></td>
-<td class="colLast"><span class="typeNameLabel">EncoderFactory.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderFactory.html#createEncoder-java.lang.String-java.lang.String:A-int-org.apache.sysds.runtime.matrix.data.FrameBlock-">createEncoder</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;spec,
-             <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;colnames,
-             int&nbsp;clen,
-             <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></td>
-<td class="colLast"><span class="typeNameLabel">EncoderFactory.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderFactory.html#createEncoder-java.lang.String-java.lang.String:A-int-org.apache.sysds.runtime.matrix.data.FrameBlock-int-int-">createEncoder</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;spec,
-             <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;colnames,
-             int&nbsp;clen,
-             <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta,
-             int&nbsp;minCol,
-             int&nbsp;maxCol)</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></td>
-<td class="colLast"><span class="typeNameLabel">EncoderFactory.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderFactory.html#createEncoder-java.lang.String-java.lang.String:A-org.apache.sysds.common.Types.ValueType:A-org.apache.sysds.runtime.matrix.data.FrameBlock-">createEncoder</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;spec,
-             <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;colnames,
-             <a href="../../../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>[]&nbsp;schema,
-             <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></td>
-<td class="colLast"><span class="typeNameLabel">EncoderFactory.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderFactory.html#createEncoder-java.lang.String-java.lang.String:A-org.apache.sysds.common.Types.ValueType:A-org.apache.sysds.runtime.matrix.data.FrameBlock-int-int-">createEncoder</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;spec,
-             <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;colnames,
-             <a href="../../../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>[]&nbsp;schema,
-             <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta,
-             int&nbsp;minCol,
-             int&nbsp;maxCol)</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></td>
-<td class="colLast"><span class="typeNameLabel">EncoderFactory.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderFactory.html#createEncoder-java.lang.String-java.lang.String:A-org.apache.sysds.common.Types.ValueType:A-int-org.apache.sysds.runtime.matrix.data.FrameBlock-">createEncoder</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;spec,
-             <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;colnames,
-             <a href="../../../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>[]&nbsp;schema,
-             int&nbsp;clen,
-             <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></td>
-<td class="colLast"><span class="typeNameLabel">EncoderRecode.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderRecode.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">subRangeEncoder</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixRange)</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></td>
-<td class="colLast"><span class="typeNameLabel">EncoderComposite.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderComposite.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">subRangeEncoder</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixRange)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></td>
-<td class="colLast"><span class="typeNameLabel">EncoderMVImpute.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">subRangeEncoder</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixRange)</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></td>
-<td class="colLast"><span class="typeNameLabel">EncoderOmit.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderOmit.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">subRangeEncoder</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixRange)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></td>
-<td class="colLast"><span class="typeNameLabel">Encoder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">subRangeEncoder</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixRange)</code>
-<div class="block">Returns a new Encoder that only handles a sub range of columns.</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></td>
-<td class="colLast"><span class="typeNameLabel">EncoderDummycode.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderDummycode.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">subRangeEncoder</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixRange)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></td>
-<td class="colLast"><span class="typeNameLabel">EncoderPassThrough.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderPassThrough.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">subRangeEncoder</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixRange)</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></td>
-<td class="colLast"><span class="typeNameLabel">EncoderBin.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderBin.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">subRangeEncoder</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixRange)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></td>
-<td class="colLast"><span class="typeNameLabel">EncoderFeatureHash.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderFeatureHash.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">subRangeEncoder</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixRange)</code>&nbsp;</td>
-</tr>
-</tbody>
-</table>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/package-summary.html">org.apache.sysds.runtime.transform.encode</a> that return types with arguments of type <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">EncoderComposite.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderComposite.html#getEncoders--">getEncoders</a></span>()</code>&nbsp;</td>
-</tr>
-</tbody>
-</table>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/package-summary.html">org.apache.sysds.runtime.transform.encode</a> with parameters of type <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></span><span class="tabEnd">&nbsp;</span></caption>
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/package-summary.html">org.apache.sysds.runtime.transform.encode</a> with parameters of type <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="interface in org.apache.sysds.runtime.transform.encode">Encoder</a></span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
 <th class="colLast" scope="col">Method and Description</th>
@@ -322,83 +151,9 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">EncoderRecode.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderRecode.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-int-">mergeAt</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&nbsp;other,
-       int&nbsp;row,
-       int&nbsp;col)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">EncoderComposite.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderComposite.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-int-">mergeAt</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&nbsp;other,
-       int&nbsp;row,
-       int&nbsp;col)</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">EncoderMVImpute.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-int-">mergeAt</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&nbsp;other,
-       int&nbsp;row,
-       int&nbsp;col)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">EncoderOmit.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderOmit.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-int-">mergeAt</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&nbsp;other,
-       int&nbsp;row,
-       int&nbsp;col)</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">Encoder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-int-">mergeAt</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&nbsp;other,
-       int&nbsp;row,
-       int&nbsp;col)</code>
-<div class="block">Merges another encoder, of a compatible type, in after a certain position.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">EncoderDummycode.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderDummycode.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-int-">mergeAt</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&nbsp;other,
-       int&nbsp;row,
-       int&nbsp;col)</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">EncoderPassThrough.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderPassThrough.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-int-">mergeAt</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&nbsp;other,
-       int&nbsp;row,
-       int&nbsp;col)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">EncoderBin.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderBin.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-int-">mergeAt</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&nbsp;other,
-       int&nbsp;row,
-       int&nbsp;col)</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">EncoderFeatureHash.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderFeatureHash.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-int-">mergeAt</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&nbsp;other,
-       int&nbsp;row,
-       int&nbsp;col)</code>&nbsp;</td>
-</tr>
-</tbody>
-</table>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Method parameters in <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/package-summary.html">org.apache.sysds.runtime.transform.encode</a> with type arguments of type <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">EncoderDummycode.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderDummycode.html#updateDomainSizes-java.util.List-">updateDomainSizes</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&gt;&nbsp;encoders)</code>&nbsp;</td>
-</tr>
-</tbody>
-</table>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
-<caption><span>Constructor parameters in <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/package-summary.html">org.apache.sysds.runtime.transform.encode</a> with type arguments of type <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderComposite.html#EncoderComposite-java.util.List-">EncoderComposite</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&gt;&nbsp;encoders)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">MultiColumnEncoder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-int-">mergeAt</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="interface in org.apache.sysds.runtime.transform.encode">Encoder</a>&nbsp;other,
+       int&nbsp;columnOffset,
+       int&nbsp;row)</code>&nbsp;</td>
 </tr>
 </tbody>
 </table>
@@ -418,7 +173,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Class</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="interface in org.apache.sysds.runtime.transform.encode">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -454,6 +209,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/EncoderBin.html b/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/EncoderBin.html
deleted file mode 100644
index 6d545fd..0000000
--- a/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/EncoderBin.html
+++ /dev/null
@@ -1,125 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc -->
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.sysds.runtime.transform.encode.EncoderBin (SystemDS 2.1.0-SNAPSHOT API)</title>
-<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.sysds.runtime.transform.encode.EncoderBin (SystemDS 2.1.0-SNAPSHOT API)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderBin.html" title="class in org.apache.sysds.runtime.transform.encode">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../package-tree.html">Tree</a></li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/transform/encode/class-use/EncoderBin.html" target="_top">Frames</a></li>
-<li><a href="EncoderBin.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class org.apache.sysds.runtime.transform.encode.EncoderBin" class="title">Uses of Class<br>org.apache.sysds.runtime.transform.encode.EncoderBin</h2>
-</div>
-<div class="classUseContainer">No usage of org.apache.sysds.runtime.transform.encode.EncoderBin</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderBin.html" title="class in org.apache.sysds.runtime.transform.encode">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../package-tree.html">Tree</a></li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/transform/encode/class-use/EncoderBin.html" target="_top">Frames</a></li>
-<li><a href="EncoderBin.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
-</body>
-</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/EncoderDummycode.html b/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/EncoderDummycode.html
deleted file mode 100644
index ae36767..0000000
--- a/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/EncoderDummycode.html
+++ /dev/null
@@ -1,125 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc -->
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.sysds.runtime.transform.encode.EncoderDummycode (SystemDS 2.1.0-SNAPSHOT API)</title>
-<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.sysds.runtime.transform.encode.EncoderDummycode (SystemDS 2.1.0-SNAPSHOT API)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderDummycode.html" title="class in org.apache.sysds.runtime.transform.encode">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../package-tree.html">Tree</a></li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/transform/encode/class-use/EncoderDummycode.html" target="_top">Frames</a></li>
-<li><a href="EncoderDummycode.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class org.apache.sysds.runtime.transform.encode.EncoderDummycode" class="title">Uses of Class<br>org.apache.sysds.runtime.transform.encode.EncoderDummycode</h2>
-</div>
-<div class="classUseContainer">No usage of org.apache.sysds.runtime.transform.encode.EncoderDummycode</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderDummycode.html" title="class in org.apache.sysds.runtime.transform.encode">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../package-tree.html">Tree</a></li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/transform/encode/class-use/EncoderDummycode.html" target="_top">Frames</a></li>
-<li><a href="EncoderDummycode.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
-</body>
-</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/EncoderFactory.html b/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/EncoderFactory.html
index d0359b6..91bb75f 100644
--- a/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/EncoderFactory.html
+++ b/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/EncoderFactory.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/EncoderMVImpute.MVMethod.html b/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/EncoderMVImpute.MVMethod.html
index 65f22d1..df7c57f 100644
--- a/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/EncoderMVImpute.MVMethod.html
+++ b/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/EncoderMVImpute.MVMethod.html
@@ -190,6 +190,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/EncoderMVImpute.html b/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/EncoderMVImpute.html
index 1c0d7d8..94647fc 100644
--- a/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/EncoderMVImpute.html
+++ b/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/EncoderMVImpute.html
@@ -161,6 +161,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/EncoderOmit.html b/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/EncoderOmit.html
index b11c0b5..e0c84cd 100644
--- a/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/EncoderOmit.html
+++ b/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/EncoderOmit.html
@@ -72,7 +72,62 @@
 <div class="header">
 <h2 title="Uses of Class org.apache.sysds.runtime.transform.encode.EncoderOmit" class="title">Uses of Class<br>org.apache.sysds.runtime.transform.encode.EncoderOmit</h2>
 </div>
-<div class="classUseContainer">No usage of org.apache.sysds.runtime.transform.encode.EncoderOmit</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderOmit.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderOmit</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.transform.encode">org.apache.sysds.runtime.transform.encode</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.sysds.runtime.transform.encode">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderOmit.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderOmit</a> in <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/package-summary.html">org.apache.sysds.runtime.transform.encode</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/package-summary.html">org.apache.sysds.runtime.transform.encode</a> that return <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderOmit.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderOmit</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderOmit.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderOmit</a></code></td>
+<td class="colLast"><span class="typeNameLabel">EncoderOmit.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderOmit.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">subRangeEncoder</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixRange)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/package-summary.html">org.apache.sysds.runtime.transform.encode</a> with parameters of type <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderOmit.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderOmit</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">EncoderOmit.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderOmit.html#mergeAt-org.apache.sysds.runtime.transform.encode.EncoderOmit-int-int-">mergeAt</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderOmit.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderOmit</a>&nbsp;other,
+       int&nbsp;row,
+       int&nbsp;col)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
 <!--   -->
@@ -120,6 +175,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/EncoderRecode.html b/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/EncoderRecode.html
deleted file mode 100644
index 64f6890..0000000
--- a/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/EncoderRecode.html
+++ /dev/null
@@ -1,125 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc -->
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.sysds.runtime.transform.encode.EncoderRecode (SystemDS 2.1.0-SNAPSHOT API)</title>
-<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.sysds.runtime.transform.encode.EncoderRecode (SystemDS 2.1.0-SNAPSHOT API)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderRecode.html" title="class in org.apache.sysds.runtime.transform.encode">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../package-tree.html">Tree</a></li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/transform/encode/class-use/EncoderRecode.html" target="_top">Frames</a></li>
-<li><a href="EncoderRecode.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class org.apache.sysds.runtime.transform.encode.EncoderRecode" class="title">Uses of Class<br>org.apache.sysds.runtime.transform.encode.EncoderRecode</h2>
-</div>
-<div class="classUseContainer">No usage of org.apache.sysds.runtime.transform.encode.EncoderRecode</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderRecode.html" title="class in org.apache.sysds.runtime.transform.encode">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../package-tree.html">Tree</a></li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/transform/encode/class-use/EncoderRecode.html" target="_top">Frames</a></li>
-<li><a href="EncoderRecode.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
-</body>
-</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/LegacyEncoder.html b/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/LegacyEncoder.html
new file mode 100644
index 0000000..961b184
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/LegacyEncoder.html
@@ -0,0 +1,232 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.sysds.runtime.transform.encode.LegacyEncoder (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.sysds.runtime.transform.encode.LegacyEncoder (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/transform/encode/class-use/LegacyEncoder.html" target="_top">Frames</a></li>
+<li><a href="LegacyEncoder.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.sysds.runtime.transform.encode.LegacyEncoder" class="title">Uses of Class<br>org.apache.sysds.runtime.transform.encode.LegacyEncoder</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">LegacyEncoder</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.transform.encode">org.apache.sysds.runtime.transform.encode</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.sysds.runtime.transform.encode">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">LegacyEncoder</a> in <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/package-summary.html">org.apache.sysds.runtime.transform.encode</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subclasses, and an explanation">
+<caption><span>Subclasses of <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">LegacyEncoder</a> in <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/package-summary.html">org.apache.sysds.runtime.transform.encode</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderMVImpute</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderOmit.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderOmit</a></span></code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/package-summary.html">org.apache.sysds.runtime.transform.encode</a> with type parameters of type <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">LegacyEncoder</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>&lt;T extends <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">LegacyEncoder</a>&gt;<br>void</code></td>
+<td class="colLast"><span class="typeNameLabel">MultiColumnEncoder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#addReplaceLegacyEncoder-T-">addReplaceLegacyEncoder</a></span>(T&nbsp;encoder)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>&lt;T extends <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">LegacyEncoder</a>&gt;<br>T</code></td>
+<td class="colLast"><span class="typeNameLabel">MultiColumnEncoder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#getLegacyEncoder-java.lang.Class-">getLegacyEncoder</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;type)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>&lt;T extends <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">LegacyEncoder</a>&gt;<br>boolean</code></td>
+<td class="colLast"><span class="typeNameLabel">MultiColumnEncoder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#hasLegacyEncoder-java.lang.Class-">hasLegacyEncoder</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;type)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/package-summary.html">org.apache.sysds.runtime.transform.encode</a> that return <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">LegacyEncoder</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">LegacyEncoder</a></code></td>
+<td class="colLast"><span class="typeNameLabel">LegacyEncoder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">subRangeEncoder</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixRange)</code>
+<div class="block">Returns a new Encoder that only handles a sub range of columns.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">LegacyEncoder</a></code></td>
+<td class="colLast"><span class="typeNameLabel">EncoderMVImpute.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">subRangeEncoder</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixRange)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/package-summary.html">org.apache.sysds.runtime.transform.encode</a> with parameters of type <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">LegacyEncoder</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">LegacyEncoder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#mergeAt-org.apache.sysds.runtime.transform.encode.LegacyEncoder-int-int-">mergeAt</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">LegacyEncoder</a>&nbsp;other,
+       int&nbsp;row,
+       int&nbsp;col)</code>
+<div class="block">Merges another encoder, of a compatible type, in after a certain position.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">EncoderMVImpute.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html#mergeAt-org.apache.sysds.runtime.transform.encode.LegacyEncoder-int-int-">mergeAt</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">LegacyEncoder</a>&nbsp;other,
+       int&nbsp;row,
+       int&nbsp;col)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/transform/encode/class-use/LegacyEncoder.html" target="_top">Frames</a></li>
+<li><a href="LegacyEncoder.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/MultiColumnEncoder.html b/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/MultiColumnEncoder.html
new file mode 100644
index 0000000..7482e42
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/MultiColumnEncoder.html
@@ -0,0 +1,296 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.sysds.runtime.transform.encode.MultiColumnEncoder (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.sysds.runtime.transform.encode.MultiColumnEncoder (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/transform/encode/class-use/MultiColumnEncoder.html" target="_top">Frames</a></li>
+<li><a href="MultiColumnEncoder.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.sysds.runtime.transform.encode.MultiColumnEncoder" class="title">Uses of Class<br>org.apache.sysds.runtime.transform.encode.MultiColumnEncoder</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.fed">org.apache.sysds.runtime.instructions.fed</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.spark">org.apache.sysds.runtime.instructions.spark</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.transform.encode">org.apache.sysds.runtime.transform.encode</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.sysds.runtime.instructions.fed">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a> in <a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/package-summary.html">org.apache.sysds.runtime.instructions.fed</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/package-summary.html">org.apache.sysds.runtime.instructions.fed</a> with parameters of type <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><span class="typeNameLabel">MultiReturnParameterizedBuiltinFEDInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/MultiReturnParameterizedBuiltinFEDInstruction.html#encodeFederatedFrames-org.apache.sysds.runtime.controlprogram.federated.FederationMap-org.apache.sysds.runtime.transform.encode.MultiColumnEncoder-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-">encodeFederatedFrames</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationMap</a>&nbsp;fedMapping,
+                     <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a>&nbsp;globalencoder,
+                     <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;transformedMat)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/package-summary.html">org.apache.sysds.runtime.instructions.fed</a> with parameters of type <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/MultiReturnParameterizedBuiltinFEDInstruction.ExecuteFrameEncoder.html#ExecuteFrameEncoder-long-long-org.apache.sysds.runtime.transform.encode.MultiColumnEncoder-">ExecuteFrameEncoder</a></span>(long&nbsp;input,
+                   long&nbsp;output,
+                   <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a>&nbsp;encoder)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.sysds.runtime.instructions.spark">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a> in <a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/package-summary.html">org.apache.sysds.runtime.instructions.spark</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/package-summary.html">org.apache.sysds.runtime.instructions.spark</a> with parameters of type <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/MultiReturnParameterizedBuiltinSPInstruction.TransformEncodeBuildFunction.html#TransformEncodeBuildFunction-org.apache.sysds.runtime.transform.encode.MultiColumnEncoder-">TransformEncodeBuildFunction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a>&nbsp;encoder)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/MultiReturnParameterizedBuiltinSPInstruction.TransformEncodeGroupFunction.html#TransformEncodeGroupFunction-org.apache.sysds.runtime.transform.encode.MultiColumnEncoder-org.apache.sysds.runtime.instructions.spark.MultiReturnParameterizedBuiltinSPInstruction.MaxLongAccumulator-">TransformEncodeGroupFunction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a>&nbsp;encoder,
+                            org.apache.sysds.runtime.instructions.spark.MultiReturnParameterizedBuiltinSPInstruction.MaxLongAccumulator&nbsp;accMax)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructor parameters in <a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/package-summary.html">org.apache.sysds.runtime.instructions.spark</a> with type arguments of type <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDTransformApplyFunction.html#RDDTransformApplyFunction-org.apache.spark.broadcast.Broadcast-org.apache.spark.broadcast.Broadcast-">RDDTransformApplyFunction</a></span>(org.apache.spark.broadcast.Broadcast&lt;<a href="../../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a>&gt;&nbsp;bencoder,
+                         org.apache.spark.broadcast.Broadcast&lt;<a href="../../../../../../../org/apache/sysds/runtime/transform/meta/TfOffsetMap.html" title="class in org.apache.sysds.runtime.transform.meta">TfOffsetMap</a>&gt;&nbsp;omap)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.sysds.runtime.transform.encode">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a> in <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/package-summary.html">org.apache.sysds.runtime.transform.encode</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/package-summary.html">org.apache.sysds.runtime.transform.encode</a> that return <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a></code></td>
+<td class="colLast"><span class="typeNameLabel">EncoderFactory.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderFactory.html#createEncoder-java.lang.String-java.lang.String:A-int-org.apache.sysds.runtime.matrix.data.FrameBlock-">createEncoder</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;spec,
+             <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;colnames,
+             int&nbsp;clen,
+             <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a></code></td>
+<td class="colLast"><span class="typeNameLabel">EncoderFactory.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderFactory.html#createEncoder-java.lang.String-java.lang.String:A-int-org.apache.sysds.runtime.matrix.data.FrameBlock-int-int-">createEncoder</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;spec,
+             <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;colnames,
+             int&nbsp;clen,
+             <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta,
+             int&nbsp;minCol,
+             int&nbsp;maxCol)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a></code></td>
+<td class="colLast"><span class="typeNameLabel">EncoderFactory.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderFactory.html#createEncoder-java.lang.String-java.lang.String:A-org.apache.sysds.common.Types.ValueType:A-org.apache.sysds.runtime.matrix.data.FrameBlock-">createEncoder</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;spec,
+             <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;colnames,
+             <a href="../../../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>[]&nbsp;schema,
+             <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a></code></td>
+<td class="colLast"><span class="typeNameLabel">EncoderFactory.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderFactory.html#createEncoder-java.lang.String-java.lang.String:A-org.apache.sysds.common.Types.ValueType:A-org.apache.sysds.runtime.matrix.data.FrameBlock-int-int-">createEncoder</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;spec,
+             <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;colnames,
+             <a href="../../../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>[]&nbsp;schema,
+             <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta,
+             int&nbsp;minCol,
+             int&nbsp;maxCol)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a></code></td>
+<td class="colLast"><span class="typeNameLabel">EncoderFactory.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderFactory.html#createEncoder-java.lang.String-java.lang.String:A-org.apache.sysds.common.Types.ValueType:A-int-org.apache.sysds.runtime.matrix.data.FrameBlock-">createEncoder</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;spec,
+             <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;colnames,
+             <a href="../../../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>[]&nbsp;schema,
+             int&nbsp;clen,
+             <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a></code></td>
+<td class="colLast"><span class="typeNameLabel">MultiColumnEncoder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">subRangeEncoder</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixRange)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>&lt;T extends <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a>&gt;<br><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a></code></td>
+<td class="colLast"><span class="typeNameLabel">MultiColumnEncoder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-java.lang.Class-">subRangeEncoder</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixRange,
+               <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;type)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/package-summary.html">org.apache.sysds.runtime.transform.encode</a> with parameters of type <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">MultiColumnEncoder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#mergeReplace-org.apache.sysds.runtime.transform.encode.MultiColumnEncoder-">mergeReplace</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a>&nbsp;multiEncoder)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/transform/encode/class-use/MultiColumnEncoder.html" target="_top">Frames</a></li>
+<li><a href="MultiColumnEncoder.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/encode/package-frame.html b/docs/api/java/org/apache/sysds/runtime/transform/encode/package-frame.html
index 808c625..a049479 100644
--- a/docs/api/java/org/apache/sysds/runtime/transform/encode/package-frame.html
+++ b/docs/api/java/org/apache/sysds/runtime/transform/encode/package-frame.html
@@ -11,21 +11,28 @@
 <body>
 <h1 class="bar"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/package-summary.html" target="classFrame">org.apache.sysds.runtime.transform.encode</a></h1>
 <div class="indexContainer">
+<h2 title="Interfaces">Interfaces</h2>
+<ul title="Interfaces">
+<li><a href="Encoder.html" title="interface in org.apache.sysds.runtime.transform.encode" target="classFrame"><span class="interfaceName">Encoder</span></a></li>
+</ul>
 <h2 title="Classes">Classes</h2>
 <ul title="Classes">
-<li><a href="Encoder.html" title="class in org.apache.sysds.runtime.transform.encode" target="classFrame">Encoder</a></li>
-<li><a href="EncoderBin.html" title="class in org.apache.sysds.runtime.transform.encode" target="classFrame">EncoderBin</a></li>
-<li><a href="EncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode" target="classFrame">EncoderComposite</a></li>
-<li><a href="EncoderDummycode.html" title="class in org.apache.sysds.runtime.transform.encode" target="classFrame">EncoderDummycode</a></li>
+<li><a href="ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode" target="classFrame">ColumnEncoder</a></li>
+<li><a href="ColumnEncoderBin.html" title="class in org.apache.sysds.runtime.transform.encode" target="classFrame">ColumnEncoderBin</a></li>
+<li><a href="ColumnEncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode" target="classFrame">ColumnEncoderComposite</a></li>
+<li><a href="ColumnEncoderDummycode.html" title="class in org.apache.sysds.runtime.transform.encode" target="classFrame">ColumnEncoderDummycode</a></li>
+<li><a href="ColumnEncoderFeatureHash.html" title="class in org.apache.sysds.runtime.transform.encode" target="classFrame">ColumnEncoderFeatureHash</a></li>
+<li><a href="ColumnEncoderPassThrough.html" title="class in org.apache.sysds.runtime.transform.encode" target="classFrame">ColumnEncoderPassThrough</a></li>
+<li><a href="ColumnEncoderRecode.html" title="class in org.apache.sysds.runtime.transform.encode" target="classFrame">ColumnEncoderRecode</a></li>
 <li><a href="EncoderFactory.html" title="class in org.apache.sysds.runtime.transform.encode" target="classFrame">EncoderFactory</a></li>
-<li><a href="EncoderFeatureHash.html" title="class in org.apache.sysds.runtime.transform.encode" target="classFrame">EncoderFeatureHash</a></li>
 <li><a href="EncoderMVImpute.html" title="class in org.apache.sysds.runtime.transform.encode" target="classFrame">EncoderMVImpute</a></li>
 <li><a href="EncoderOmit.html" title="class in org.apache.sysds.runtime.transform.encode" target="classFrame">EncoderOmit</a></li>
-<li><a href="EncoderPassThrough.html" title="class in org.apache.sysds.runtime.transform.encode" target="classFrame">EncoderPassThrough</a></li>
-<li><a href="EncoderRecode.html" title="class in org.apache.sysds.runtime.transform.encode" target="classFrame">EncoderRecode</a></li>
+<li><a href="LegacyEncoder.html" title="class in org.apache.sysds.runtime.transform.encode" target="classFrame">LegacyEncoder</a></li>
+<li><a href="MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode" target="classFrame">MultiColumnEncoder</a></li>
 </ul>
 <h2 title="Enums">Enums</h2>
 <ul title="Enums">
+<li><a href="ColumnEncoder.EncoderType.html" title="enum in org.apache.sysds.runtime.transform.encode" target="classFrame">ColumnEncoder.EncoderType</a></li>
 <li><a href="EncoderMVImpute.MVMethod.html" title="enum in org.apache.sysds.runtime.transform.encode" target="classFrame">EncoderMVImpute.MVMethod</a></li>
 </ul>
 </div>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/encode/package-summary.html b/docs/api/java/org/apache/sysds/runtime/transform/encode/package-summary.html
index 6e853cb..b2f9cde 100644
--- a/docs/api/java/org/apache/sysds/runtime/transform/encode/package-summary.html
+++ b/docs/api/java/org/apache/sysds/runtime/transform/encode/package-summary.html
@@ -75,6 +75,21 @@
 <div class="contentContainer">
 <ul class="blockList">
 <li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Interface Summary table, listing interfaces, and an explanation">
+<caption><span>Interface Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Interface</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="interface in org.apache.sysds.runtime.transform.encode">Encoder</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
 <table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
 <caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
@@ -83,37 +98,43 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></td>
+<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a></td>
 <td class="colLast">
-<div class="block">Base class for all transform encoders providing both a row and block
- interface for decoding frames to matrices.</div>
+<div class="block">Base class for all transform encoders providing both a row and block interface for decoding frames to matrices.</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderBin.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderBin</a></td>
+<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderBin.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderBin</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderComposite</a></td>
+<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderComposite</a></td>
 <td class="colLast">
-<div class="block">Simple composite encoder that applies a list of encoders 
- in specified order.</div>
+<div class="block">Simple composite encoder that applies a list of encoders in specified order.</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderDummycode.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderDummycode</a></td>
+<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderDummycode.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderDummycode</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderFactory.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderFactory</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderFeatureHash.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderFeatureHash</a></td>
+<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderFeatureHash.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderFeatureHash</a></td>
 <td class="colLast">
 <div class="block">Class used for feature hashing transformation of frames.</div>
 </td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderPassThrough.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderPassThrough</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderRecode.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderRecode</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderFactory.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderFactory</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
 <tr class="altColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderMVImpute</a></td>
 <td class="colLast">&nbsp;</td>
@@ -123,14 +144,13 @@
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderPassThrough.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderPassThrough</a></td>
+<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">LegacyEncoder</a></td>
 <td class="colLast">
-<div class="block">Simple composite encoder that applies a list of encoders 
- in specified order.</div>
+<div class="block">Base class for all transform encoders providing both a row and block interface for decoding frames to matrices.</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderRecode.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderRecode</a></td>
+<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
 </tbody>
@@ -145,6 +165,10 @@
 </tr>
 <tbody>
 <tr class="altColor">
+<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.EncoderType.html" title="enum in org.apache.sysds.runtime.transform.encode">ColumnEncoder.EncoderType</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderMVImpute.MVMethod.html" title="enum in org.apache.sysds.runtime.transform.encode">EncoderMVImpute.MVMethod</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
@@ -200,6 +224,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/encode/package-tree.html b/docs/api/java/org/apache/sysds/runtime/transform/encode/package-tree.html
index 047b0dc..99489b9 100644
--- a/docs/api/java/org/apache/sysds/runtime/transform/encode/package-tree.html
+++ b/docs/api/java/org/apache/sysds/runtime/transform/encode/package-tree.html
@@ -81,19 +81,36 @@
 <ul>
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
 <ul>
-<li type="circle">org.apache.sysds.runtime.transform.encode.<a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">Encoder</span></a> (implements java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
+<li type="circle">org.apache.sysds.runtime.transform.encode.<a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">ColumnEncoder</span></a> (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, org.apache.sysds.runtime.transform.encode.<a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="interface in org.apache.sysds.runtime.transform.encode">Encoder</a>, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true" title="class or interface in java.io">Externalizable</a>)
 <ul>
-<li type="circle">org.apache.sysds.runtime.transform.encode.<a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderBin.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">EncoderBin</span></a></li>
-<li type="circle">org.apache.sysds.runtime.transform.encode.<a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">EncoderComposite</span></a></li>
-<li type="circle">org.apache.sysds.runtime.transform.encode.<a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderDummycode.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">EncoderDummycode</span></a></li>
-<li type="circle">org.apache.sysds.runtime.transform.encode.<a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderFeatureHash.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">EncoderFeatureHash</span></a></li>
-<li type="circle">org.apache.sysds.runtime.transform.encode.<a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">EncoderMVImpute</span></a></li>
-<li type="circle">org.apache.sysds.runtime.transform.encode.<a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderOmit.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">EncoderOmit</span></a></li>
-<li type="circle">org.apache.sysds.runtime.transform.encode.<a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderPassThrough.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">EncoderPassThrough</span></a></li>
-<li type="circle">org.apache.sysds.runtime.transform.encode.<a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderRecode.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">EncoderRecode</span></a></li>
+<li type="circle">org.apache.sysds.runtime.transform.encode.<a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderBin.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">ColumnEncoderBin</span></a></li>
+<li type="circle">org.apache.sysds.runtime.transform.encode.<a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">ColumnEncoderComposite</span></a></li>
+<li type="circle">org.apache.sysds.runtime.transform.encode.<a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderDummycode.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">ColumnEncoderDummycode</span></a></li>
+<li type="circle">org.apache.sysds.runtime.transform.encode.<a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderFeatureHash.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">ColumnEncoderFeatureHash</span></a></li>
+<li type="circle">org.apache.sysds.runtime.transform.encode.<a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderPassThrough.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">ColumnEncoderPassThrough</span></a></li>
+<li type="circle">org.apache.sysds.runtime.transform.encode.<a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoderRecode.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">ColumnEncoderRecode</span></a></li>
 </ul>
 </li>
 <li type="circle">org.apache.sysds.runtime.transform.encode.<a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderFactory.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">EncoderFactory</span></a></li>
+<li type="circle">org.apache.sysds.runtime.transform.encode.<a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">LegacyEncoder</span></a> (implements java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true" title="class or interface in java.io">Externalizable</a>)
+<ul>
+<li type="circle">org.apache.sysds.runtime.transform.encode.<a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">EncoderMVImpute</span></a></li>
+<li type="circle">org.apache.sysds.runtime.transform.encode.<a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderOmit.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">EncoderOmit</span></a></li>
+</ul>
+</li>
+<li type="circle">org.apache.sysds.runtime.transform.encode.<a href="../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">MultiColumnEncoder</span></a> (implements org.apache.sysds.runtime.transform.encode.<a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="interface in org.apache.sysds.runtime.transform.encode">Encoder</a>)</li>
+</ul>
+</li>
+</ul>
+<h2 title="Interface Hierarchy">Interface Hierarchy</h2>
+<ul>
+<li type="circle">java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io"><span class="typeNameLink">Serializable</span></a>
+<ul>
+<li type="circle">java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true" title="class or interface in java.io"><span class="typeNameLink">Externalizable</span></a>
+<ul>
+<li type="circle">org.apache.sysds.runtime.transform.encode.<a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="interface in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">Encoder</span></a></li>
+</ul>
+</li>
 </ul>
 </li>
 </ul>
@@ -103,6 +120,7 @@
 <ul>
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
+<li type="circle">org.apache.sysds.runtime.transform.encode.<a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.EncoderType.html" title="enum in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">ColumnEncoder.EncoderType</span></a></li>
 <li type="circle">org.apache.sysds.runtime.transform.encode.<a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderMVImpute.MVMethod.html" title="enum in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">EncoderMVImpute.MVMethod</span></a></li>
 </ul>
 </li>
@@ -157,6 +175,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/encode/package-use.html b/docs/api/java/org/apache/sysds/runtime/transform/encode/package-use.html
index 4294200..7fac6ab 100644
--- a/docs/api/java/org/apache/sysds/runtime/transform/encode/package-use.html
+++ b/docs/api/java/org/apache/sysds/runtime/transform/encode/package-use.html
@@ -107,10 +107,7 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/class-use/Encoder.html#org.apache.sysds.runtime.instructions.fed">Encoder</a>
-<div class="block">Base class for all transform encoders providing both a row and block
- interface for decoding frames to matrices.</div>
-</td>
+<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/class-use/MultiColumnEncoder.html#org.apache.sysds.runtime.instructions.fed">MultiColumnEncoder</a>&nbsp;</td>
 </tr>
 </tbody>
 </table>
@@ -125,13 +122,10 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/class-use/Encoder.html#org.apache.sysds.runtime.instructions.spark">Encoder</a>
-<div class="block">Base class for all transform encoders providing both a row and block
- interface for decoding frames to matrices.</div>
-</td>
+<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/class-use/EncoderMVImpute.html#org.apache.sysds.runtime.instructions.spark">EncoderMVImpute</a>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/class-use/EncoderMVImpute.html#org.apache.sysds.runtime.instructions.spark">EncoderMVImpute</a>&nbsp;</td>
+<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/class-use/MultiColumnEncoder.html#org.apache.sysds.runtime.instructions.spark">MultiColumnEncoder</a>&nbsp;</td>
 </tr>
 </tbody>
 </table>
@@ -146,14 +140,35 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/class-use/Encoder.html#org.apache.sysds.runtime.transform.encode">Encoder</a>
-<div class="block">Base class for all transform encoders providing both a row and block
- interface for decoding frames to matrices.</div>
+<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/class-use/ColumnEncoder.html#org.apache.sysds.runtime.transform.encode">ColumnEncoder</a>
+<div class="block">Base class for all transform encoders providing both a row and block interface for decoding frames to matrices.</div>
 </td>
 </tr>
 <tr class="rowColor">
+<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/class-use/ColumnEncoder.EncoderType.html#org.apache.sysds.runtime.transform.encode">ColumnEncoder.EncoderType</a>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/class-use/ColumnEncoderComposite.html#org.apache.sysds.runtime.transform.encode">ColumnEncoderComposite</a>
+<div class="block">Simple composite encoder that applies a list of encoders in specified order.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/class-use/Encoder.html#org.apache.sysds.runtime.transform.encode">Encoder</a>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/class-use/EncoderMVImpute.MVMethod.html#org.apache.sysds.runtime.transform.encode">EncoderMVImpute.MVMethod</a>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/class-use/EncoderOmit.html#org.apache.sysds.runtime.transform.encode">EncoderOmit</a>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/class-use/LegacyEncoder.html#org.apache.sysds.runtime.transform.encode">LegacyEncoder</a>
+<div class="block">Base class for all transform encoders providing both a row and block interface for decoding frames to matrices.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/class-use/MultiColumnEncoder.html#org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a>&nbsp;</td>
+</tr>
 </tbody>
 </table>
 </li>
@@ -206,6 +221,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/meta/TfMetaUtils.html b/docs/api/java/org/apache/sysds/runtime/transform/meta/TfMetaUtils.html
index 79eafb4..74009d5 100644
--- a/docs/api/java/org/apache/sysds/runtime/transform/meta/TfMetaUtils.html
+++ b/docs/api/java/org/apache/sysds/runtime/transform/meta/TfMetaUtils.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":9};
+var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":9,"i11":9,"i12":9};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -152,28 +152,34 @@
                 <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;colnames)</code>&nbsp;</td>
 </tr>
 <tr id="i1" class="rowColor">
-<td class="colFirst"><code>static boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/meta/TfMetaUtils.html#isIDSpec-org.apache.wink.json4j.JSONObject-">isIDSpec</a></span>(org.apache.wink.json4j.JSONObject&nbsp;spec)</code>&nbsp;</td>
+<td class="colFirst"><code>static long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/meta/TfMetaUtils.html#getK-org.apache.wink.json4j.JSONObject-">getK</a></span>(org.apache.wink.json4j.JSONObject&nbsp;parsedSpec)</code>
+<div class="block">Get K value used for calculation during feature hashing from parsed specifications.</div>
+</td>
 </tr>
 <tr id="i2" class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/meta/TfMetaUtils.html#isIDSpec-java.lang.String-">isIDSpec</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;spec)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/meta/TfMetaUtils.html#isIDSpec-org.apache.wink.json4j.JSONObject-">isIDSpec</a></span>(org.apache.wink.json4j.JSONObject&nbsp;spec)</code>&nbsp;</td>
 </tr>
 <tr id="i3" class="rowColor">
+<td class="colFirst"><code>static boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/meta/TfMetaUtils.html#isIDSpec-java.lang.String-">isIDSpec</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;spec)</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/meta/TfMetaUtils.html#parseBinningColIDs-org.apache.wink.json4j.JSONObject-java.lang.String:A-int-int-">parseBinningColIDs</a></span>(org.apache.wink.json4j.JSONObject&nbsp;jSpec,
                   <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;colnames,
                   int&nbsp;minCol,
                   int&nbsp;maxCol)</code>&nbsp;</td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/meta/TfMetaUtils.html#parseBinningColIDs-java.lang.String-java.lang.String:A-int-int-">parseBinningColIDs</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;spec,
                   <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;colnames,
                   int&nbsp;minCol,
                   int&nbsp;maxCol)</code>&nbsp;</td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>static int[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/meta/TfMetaUtils.html#parseJsonIDList-org.apache.wink.json4j.JSONObject-java.lang.String:A-java.lang.String-">parseJsonIDList</a></span>(org.apache.wink.json4j.JSONObject&nbsp;spec,
                <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;colnames,
@@ -181,7 +187,7 @@
 <div class="block">TODO consolidate external and internal json spec definitions</div>
 </td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code>static int[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/meta/TfMetaUtils.html#parseJsonIDList-org.apache.wink.json4j.JSONObject-java.lang.String:A-java.lang.String-int-int-">parseJsonIDList</a></span>(org.apache.wink.json4j.JSONObject&nbsp;spec,
                <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;colnames,
@@ -189,13 +195,21 @@
                int&nbsp;minCol,
                int&nbsp;maxCol)</code>&nbsp;</td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code>static int[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/meta/TfMetaUtils.html#parseJsonIDList-java.lang.String-java.lang.String:A-java.lang.String-">parseJsonIDList</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;spec,
                <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;colnames,
                <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;group)</code>&nbsp;</td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>static int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/meta/TfMetaUtils.html#parseJsonObjectID-org.apache.wink.json4j.JSONObject-java.lang.String:A-int-int-boolean-">parseJsonObjectID</a></span>(org.apache.wink.json4j.JSONObject&nbsp;colspec,
+                 <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;colnames,
+                 int&nbsp;minCol,
+                 int&nbsp;maxCol,
+                 boolean&nbsp;ids)</code>&nbsp;</td>
+</tr>
+<tr id="i10" class="altColor">
 <td class="colFirst"><code>static int[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/meta/TfMetaUtils.html#parseJsonObjectIDList-org.apache.wink.json4j.JSONObject-java.lang.String:A-java.lang.String-int-int-">parseJsonObjectIDList</a></span>(org.apache.wink.json4j.JSONObject&nbsp;spec,
                      <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;colnames,
@@ -203,7 +217,7 @@
                      int&nbsp;minCol,
                      int&nbsp;maxCol)</code>&nbsp;</td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/meta/TfMetaUtils.html#readTransformMetaDataFromFile-java.lang.String-java.lang.String-java.lang.String-">readTransformMetaDataFromFile</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;spec,
                              <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;metapath,
@@ -212,7 +226,7 @@
  FrameBlock object.</div>
 </td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i12" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/meta/TfMetaUtils.html#readTransformMetaDataFromPath-java.lang.String-java.lang.String-java.lang.String-">readTransformMetaDataFromPath</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;spec,
                              <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;metapath,
@@ -353,6 +367,24 @@
 </dl>
 </li>
 </ul>
+<a name="parseJsonObjectID-org.apache.wink.json4j.JSONObject-java.lang.String:A-int-int-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>parseJsonObjectID</h4>
+<pre>public static&nbsp;int&nbsp;parseJsonObjectID(org.apache.wink.json4j.JSONObject&nbsp;colspec,
+                                    <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;colnames,
+                                    int&nbsp;minCol,
+                                    int&nbsp;maxCol,
+                                    boolean&nbsp;ids)
+                             throws org.apache.wink.json4j.JSONException</pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code>org.apache.wink.json4j.JSONException</code></dd>
+</dl>
+</li>
+</ul>
 <a name="parseJsonObjectIDList-org.apache.wink.json4j.JSONObject-java.lang.String:A-java.lang.String-int-int-">
 <!--   -->
 </a>
@@ -371,6 +403,25 @@
 </dl>
 </li>
 </ul>
+<a name="getK-org.apache.wink.json4j.JSONObject-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getK</h4>
+<pre>public static&nbsp;long&nbsp;getK(org.apache.wink.json4j.JSONObject&nbsp;parsedSpec)
+                 throws org.apache.wink.json4j.JSONException</pre>
+<div class="block">Get K value used for calculation during feature hashing from parsed specifications.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>parsedSpec</code> - parsed specifications</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>K value</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code>org.apache.wink.json4j.JSONException</code> - if JSONException occurs</dd>
+</dl>
+</li>
+</ul>
 <a name="readTransformMetaDataFromFile-java.lang.String-java.lang.String-java.lang.String-">
 <!--   -->
 </a>
@@ -522,6 +573,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/meta/TfOffsetMap.html b/docs/api/java/org/apache/sysds/runtime/transform/meta/TfOffsetMap.html
index bfc7cbd..a44885e 100644
--- a/docs/api/java/org/apache/sysds/runtime/transform/meta/TfOffsetMap.html
+++ b/docs/api/java/org/apache/sysds/runtime/transform/meta/TfOffsetMap.html
@@ -289,6 +289,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/meta/class-use/TfMetaUtils.html b/docs/api/java/org/apache/sysds/runtime/transform/meta/class-use/TfMetaUtils.html
index c08462e..7e927b5 100644
--- a/docs/api/java/org/apache/sysds/runtime/transform/meta/class-use/TfMetaUtils.html
+++ b/docs/api/java/org/apache/sysds/runtime/transform/meta/class-use/TfMetaUtils.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/meta/class-use/TfOffsetMap.html b/docs/api/java/org/apache/sysds/runtime/transform/meta/class-use/TfOffsetMap.html
index 10a35c9..eb35f24 100644
--- a/docs/api/java/org/apache/sysds/runtime/transform/meta/class-use/TfOffsetMap.html
+++ b/docs/api/java/org/apache/sysds/runtime/transform/meta/class-use/TfOffsetMap.html
@@ -102,7 +102,7 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDTransformApplyFunction.html#RDDTransformApplyFunction-org.apache.spark.broadcast.Broadcast-org.apache.spark.broadcast.Broadcast-">RDDTransformApplyFunction</a></span>(org.apache.spark.broadcast.Broadcast&lt;<a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&gt;&nbsp;bencoder,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDTransformApplyFunction.html#RDDTransformApplyFunction-org.apache.spark.broadcast.Broadcast-org.apache.spark.broadcast.Broadcast-">RDDTransformApplyFunction</a></span>(org.apache.spark.broadcast.Broadcast&lt;<a href="../../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a>&gt;&nbsp;bencoder,
                          org.apache.spark.broadcast.Broadcast&lt;<a href="../../../../../../../org/apache/sysds/runtime/transform/meta/TfOffsetMap.html" title="class in org.apache.sysds.runtime.transform.meta">TfOffsetMap</a>&gt;&nbsp;omap)</code>&nbsp;</td>
 </tr>
 </tbody>
@@ -159,6 +159,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/meta/package-summary.html b/docs/api/java/org/apache/sysds/runtime/transform/meta/package-summary.html
index ceea603..633b412 100644
--- a/docs/api/java/org/apache/sysds/runtime/transform/meta/package-summary.html
+++ b/docs/api/java/org/apache/sysds/runtime/transform/meta/package-summary.html
@@ -44,7 +44,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../../org/apache/sysds/runtime/transform/encode/package-summary.html">Prev&nbsp;Package</a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/util/package-summary.html">Next&nbsp;Package</a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/package-summary.html">Next&nbsp;Package</a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/sysds/runtime/transform/meta/package-summary.html" target="_top">Frames</a></li>
@@ -117,7 +117,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../../org/apache/sysds/runtime/transform/encode/package-summary.html">Prev&nbsp;Package</a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/util/package-summary.html">Next&nbsp;Package</a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/package-summary.html">Next&nbsp;Package</a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/sysds/runtime/transform/meta/package-summary.html" target="_top">Frames</a></li>
@@ -142,6 +142,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/meta/package-tree.html b/docs/api/java/org/apache/sysds/runtime/transform/meta/package-tree.html
index f6ce0c0..fa8fa0b 100644
--- a/docs/api/java/org/apache/sysds/runtime/transform/meta/package-tree.html
+++ b/docs/api/java/org/apache/sysds/runtime/transform/meta/package-tree.html
@@ -44,7 +44,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../../org/apache/sysds/runtime/transform/encode/package-tree.html">Prev</a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/util/package-tree.html">Next</a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/package-tree.html">Next</a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/sysds/runtime/transform/meta/package-tree.html" target="_top">Frames</a></li>
@@ -109,7 +109,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../../org/apache/sysds/runtime/transform/encode/package-tree.html">Prev</a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/util/package-tree.html">Next</a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/package-tree.html">Next</a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/sysds/runtime/transform/meta/package-tree.html" target="_top">Frames</a></li>
@@ -134,6 +134,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/meta/package-use.html b/docs/api/java/org/apache/sysds/runtime/transform/meta/package-use.html
index 7820573..350ee61 100644
--- a/docs/api/java/org/apache/sysds/runtime/transform/meta/package-use.html
+++ b/docs/api/java/org/apache/sysds/runtime/transform/meta/package-use.html
@@ -153,6 +153,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/package-summary.html b/docs/api/java/org/apache/sysds/runtime/transform/package-summary.html
index adbe9be..a9cb45d 100644
--- a/docs/api/java/org/apache/sysds/runtime/transform/package-summary.html
+++ b/docs/api/java/org/apache/sysds/runtime/transform/package-summary.html
@@ -153,6 +153,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/package-tree.html b/docs/api/java/org/apache/sysds/runtime/transform/package-tree.html
index 095a717..48a49b9 100644
--- a/docs/api/java/org/apache/sysds/runtime/transform/package-tree.html
+++ b/docs/api/java/org/apache/sysds/runtime/transform/package-tree.html
@@ -145,6 +145,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/package-use.html b/docs/api/java/org/apache/sysds/runtime/transform/package-use.html
index 6003dd4..36add21 100644
--- a/docs/api/java/org/apache/sysds/runtime/transform/package-use.html
+++ b/docs/api/java/org/apache/sysds/runtime/transform/package-use.html
@@ -172,6 +172,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/tokenize/Tokenizer.html b/docs/api/java/org/apache/sysds/runtime/transform/tokenize/Tokenizer.html
new file mode 100644
index 0000000..2f2c09c
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/transform/tokenize/Tokenizer.html
@@ -0,0 +1,288 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Tokenizer (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Tokenizer (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Tokenizer.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev&nbsp;Class</li>
+<li><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerFactory.html" title="class in org.apache.sysds.runtime.transform.tokenize"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/transform/tokenize/Tokenizer.html" target="_top">Frames</a></li>
+<li><a href="Tokenizer.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.sysds.runtime.transform.tokenize</div>
+<h2 title="Class Tokenizer" class="title">Class Tokenizer</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.sysds.runtime.transform.tokenize.Tokenizer</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">Tokenizer</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
+implements <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../../serialized-form.html#org.apache.sysds.runtime.transform.tokenize.Tokenizer">Serialized Form</a></dd>
+</dl>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/Tokenizer.html#getNumCols--">getNumCols</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/Tokenizer.html#getNumRows-long-">getNumRows</a></span>(long&nbsp;inRows)</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/Tokenizer.html#getSchema--">getSchema</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/Tokenizer.html#tokenize-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.FrameBlock-">tokenize</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
+        <a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;out)</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getSchema--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getSchema</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>[]&nbsp;getSchema()</pre>
+</li>
+</ul>
+<a name="getNumRows-long-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getNumRows</h4>
+<pre>public&nbsp;long&nbsp;getNumRows(long&nbsp;inRows)</pre>
+</li>
+</ul>
+<a name="getNumCols--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getNumCols</h4>
+<pre>public&nbsp;long&nbsp;getNumCols()</pre>
+</li>
+</ul>
+<a name="tokenize-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.FrameBlock-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>tokenize</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;tokenize(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in,
+                           <a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;out)</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Tokenizer.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev&nbsp;Class</li>
+<li><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerFactory.html" title="class in org.apache.sysds.runtime.transform.tokenize"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/transform/tokenize/Tokenizer.html" target="_top">Frames</a></li>
+<li><a href="Tokenizer.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/lib/LibScalar.html b/docs/api/java/org/apache/sysds/runtime/transform/tokenize/TokenizerFactory.html
similarity index 71%
copy from docs/api/java/org/apache/sysds/runtime/compress/lib/LibScalar.html
copy to docs/api/java/org/apache/sysds/runtime/transform/tokenize/TokenizerFactory.html
index 8f81450..e548dfa 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/lib/LibScalar.html
+++ b/docs/api/java/org/apache/sysds/runtime/transform/tokenize/TokenizerFactory.html
@@ -4,7 +4,7 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>LibScalar (SystemDS 2.1.0-SNAPSHOT API)</title>
+<title>TokenizerFactory (SystemDS 2.1.0-SNAPSHOT API)</title>
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="LibScalar (SystemDS 2.1.0-SNAPSHOT API)";
+            parent.document.title="TokenizerFactory (SystemDS 2.1.0-SNAPSHOT API)";
         }
     }
     catch(err) {
@@ -40,7 +40,7 @@
 <li><a href="../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="package-summary.html">Package</a></li>
 <li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/LibScalar.html">Use</a></li>
+<li><a href="class-use/TokenizerFactory.html">Use</a></li>
 <li><a href="package-tree.html">Tree</a></li>
 <li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
 <li><a href="../../../../../../index-all.html">Index</a></li>
@@ -49,12 +49,12 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/lib/LibRightMultBy.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li>Next&nbsp;Class</li>
+<li><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/Tokenizer.html" title="class in org.apache.sysds.runtime.transform.tokenize"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPost.html" title="interface in org.apache.sysds.runtime.transform.tokenize"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/lib/LibScalar.html" target="_top">Frames</a></li>
-<li><a href="LibScalar.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/transform/tokenize/TokenizerFactory.html" target="_top">Frames</a></li>
+<li><a href="TokenizerFactory.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
 <li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -92,15 +92,15 @@
 <!-- ========= END OF TOP NAVBAR ========= -->
 <!-- ======== START OF CLASS DATA ======== -->
 <div class="header">
-<div class="subTitle">org.apache.sysds.runtime.compress.lib</div>
-<h2 title="Class LibScalar" class="title">Class LibScalar</h2>
+<div class="subTitle">org.apache.sysds.runtime.transform.tokenize</div>
+<h2 title="Class TokenizerFactory" class="title">Class TokenizerFactory</h2>
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
 <li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
-<li>org.apache.sysds.runtime.compress.lib.LibScalar</li>
+<li>org.apache.sysds.runtime.transform.tokenize.TokenizerFactory</li>
 </ul>
 </li>
 </ul>
@@ -109,7 +109,7 @@
 <li class="blockList">
 <hr>
 <br>
-<pre>public class <span class="typeNameLabel">LibScalar</span>
+<pre>public class <span class="typeNameLabel">TokenizerFactory</span>
 extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 </li>
 </ul>
@@ -129,7 +129,7 @@
 <th class="colOne" scope="col">Constructor and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/lib/LibScalar.html#LibScalar--">LibScalar</a></span>()</code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerFactory.html#TokenizerFactory--">TokenizerFactory</a></span>()</code>&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -147,11 +147,9 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/lib/LibScalar.html#scalarOperations-org.apache.sysds.runtime.matrix.operators.ScalarOperator-org.apache.sysds.runtime.compress.CompressedMatrixBlock-org.apache.sysds.runtime.compress.CompressedMatrixBlock-boolean-">scalarOperations</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;sop,
-                <a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;m1,
-                <a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;ret,
-                boolean&nbsp;overlapping)</code>&nbsp;</td>
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/Tokenizer.html" title="class in org.apache.sysds.runtime.transform.tokenize">Tokenizer</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerFactory.html#createTokenizer-java.lang.String-int-">createTokenizer</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;spec,
+               int&nbsp;maxTokens)</code>&nbsp;</td>
 </tr>
 </table>
 <ul class="blockList">
@@ -175,13 +173,13 @@
 <!--   -->
 </a>
 <h3>Constructor Detail</h3>
-<a name="LibScalar--">
+<a name="TokenizerFactory--">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>LibScalar</h4>
-<pre>public&nbsp;LibScalar()</pre>
+<h4>TokenizerFactory</h4>
+<pre>public&nbsp;TokenizerFactory()</pre>
 </li>
 </ul>
 </li>
@@ -192,16 +190,14 @@
 <!--   -->
 </a>
 <h3>Method Detail</h3>
-<a name="scalarOperations-org.apache.sysds.runtime.matrix.operators.ScalarOperator-org.apache.sysds.runtime.compress.CompressedMatrixBlock-org.apache.sysds.runtime.compress.CompressedMatrixBlock-boolean-">
+<a name="createTokenizer-java.lang.String-int-">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>scalarOperations</h4>
-<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;scalarOperations(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;sop,
-                                           <a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;m1,
-                                           <a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;ret,
-                                           boolean&nbsp;overlapping)</pre>
+<h4>createTokenizer</h4>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/Tokenizer.html" title="class in org.apache.sysds.runtime.transform.tokenize">Tokenizer</a>&nbsp;createTokenizer(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;spec,
+                                        int&nbsp;maxTokens)</pre>
 </li>
 </ul>
 </li>
@@ -223,7 +219,7 @@
 <li><a href="../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="package-summary.html">Package</a></li>
 <li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/LibScalar.html">Use</a></li>
+<li><a href="class-use/TokenizerFactory.html">Use</a></li>
 <li><a href="package-tree.html">Tree</a></li>
 <li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
 <li><a href="../../../../../../index-all.html">Index</a></li>
@@ -232,12 +228,12 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/lib/LibRightMultBy.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li>Next&nbsp;Class</li>
+<li><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/Tokenizer.html" title="class in org.apache.sysds.runtime.transform.tokenize"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPost.html" title="interface in org.apache.sysds.runtime.transform.tokenize"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/lib/LibScalar.html" target="_top">Frames</a></li>
-<li><a href="LibScalar.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/transform/tokenize/TokenizerFactory.html" target="_top">Frames</a></li>
+<li><a href="TokenizerFactory.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
 <li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -273,6 +269,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/tokenize/TokenizerPost.html b/docs/api/java/org/apache/sysds/runtime/transform/tokenize/TokenizerPost.html
new file mode 100644
index 0000000..4edca0a
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/transform/tokenize/TokenizerPost.html
@@ -0,0 +1,272 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>TokenizerPost (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="TokenizerPost (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":6,"i1":6,"i2":6,"i3":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/TokenizerPost.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerFactory.html" title="class in org.apache.sysds.runtime.transform.tokenize"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPostCount.html" title="class in org.apache.sysds.runtime.transform.tokenize"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/transform/tokenize/TokenizerPost.html" target="_top">Frames</a></li>
+<li><a href="TokenizerPost.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.sysds.runtime.transform.tokenize</div>
+<h2 title="Interface TokenizerPost" class="title">Interface TokenizerPost</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Superinterfaces:</dt>
+<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></dd>
+</dl>
+<dl>
+<dt>All Known Implementing Classes:</dt>
+<dd><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPostCount.html" title="class in org.apache.sysds.runtime.transform.tokenize">TokenizerPostCount</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPostHash.html" title="class in org.apache.sysds.runtime.transform.tokenize">TokenizerPostHash</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPostPosition.html" title="class in org.apache.sysds.runtime.transform.tokenize">TokenizerPostPosition</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public interface <span class="typeNameLabel">TokenizerPost</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPost.html#getNumCols--">getNumCols</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPost.html#getNumRows-long-">getNumRows</a></span>(long&nbsp;inRows)</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPost.html#getOutSchema--">getOutSchema</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPost.html#tokenizePost-java.util.List-org.apache.sysds.runtime.matrix.data.FrameBlock-">tokenizePost</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.sysds.runtime.transform.tokenize.Tokenizer.DocumentToTokens&gt;&nbsp;tl,
+            <a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;out)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="tokenizePost-java.util.List-org.apache.sysds.runtime.matrix.data.FrameBlock-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>tokenizePost</h4>
+<pre><a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;tokenizePost(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.sysds.runtime.transform.tokenize.Tokenizer.DocumentToTokens&gt;&nbsp;tl,
+                        <a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;out)</pre>
+</li>
+</ul>
+<a name="getOutSchema--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getOutSchema</h4>
+<pre><a href="../../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>[]&nbsp;getOutSchema()</pre>
+</li>
+</ul>
+<a name="getNumRows-long-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getNumRows</h4>
+<pre>long&nbsp;getNumRows(long&nbsp;inRows)</pre>
+</li>
+</ul>
+<a name="getNumCols--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getNumCols</h4>
+<pre>long&nbsp;getNumCols()</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/TokenizerPost.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerFactory.html" title="class in org.apache.sysds.runtime.transform.tokenize"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPostCount.html" title="class in org.apache.sysds.runtime.transform.tokenize"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/transform/tokenize/TokenizerPost.html" target="_top">Frames</a></li>
+<li><a href="TokenizerPost.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/tokenize/TokenizerPostCount.html b/docs/api/java/org/apache/sysds/runtime/transform/tokenize/TokenizerPostCount.html
new file mode 100644
index 0000000..b398326
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/transform/tokenize/TokenizerPostCount.html
@@ -0,0 +1,349 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>TokenizerPostCount (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="TokenizerPostCount (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/TokenizerPostCount.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPost.html" title="interface in org.apache.sysds.runtime.transform.tokenize"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPostHash.html" title="class in org.apache.sysds.runtime.transform.tokenize"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/transform/tokenize/TokenizerPostCount.html" target="_top">Frames</a></li>
+<li><a href="TokenizerPostCount.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.sysds.runtime.transform.tokenize</div>
+<h2 title="Class TokenizerPostCount" class="title">Class TokenizerPostCount</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.sysds.runtime.transform.tokenize.TokenizerPostCount</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPost.html" title="interface in org.apache.sysds.runtime.transform.tokenize">TokenizerPost</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">TokenizerPostCount</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
+implements <a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPost.html" title="interface in org.apache.sysds.runtime.transform.tokenize">TokenizerPost</a></pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../../serialized-form.html#org.apache.sysds.runtime.transform.tokenize.TokenizerPostCount">Serialized Form</a></dd>
+</dl>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPostCount.html#TokenizerPostCount-org.apache.wink.json4j.JSONObject-int-int-boolean-">TokenizerPostCount</a></span>(org.apache.wink.json4j.JSONObject&nbsp;params,
+                  int&nbsp;numIdCols,
+                  int&nbsp;maxTokens,
+                  boolean&nbsp;wideFormat)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPostCount.html#getNumCols--">getNumCols</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPostCount.html#getNumRows-long-">getNumRows</a></span>(long&nbsp;inRows)</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPostCount.html#getOutSchema--">getOutSchema</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPostCount.html#tokenizePost-java.util.List-org.apache.sysds.runtime.matrix.data.FrameBlock-">tokenizePost</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.sysds.runtime.transform.tokenize.Tokenizer.DocumentToTokens&gt;&nbsp;tl,
+            <a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;out)</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="TokenizerPostCount-org.apache.wink.json4j.JSONObject-int-int-boolean-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>TokenizerPostCount</h4>
+<pre>public&nbsp;TokenizerPostCount(org.apache.wink.json4j.JSONObject&nbsp;params,
+                          int&nbsp;numIdCols,
+                          int&nbsp;maxTokens,
+                          boolean&nbsp;wideFormat)
+                   throws org.apache.wink.json4j.JSONException</pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code>org.apache.wink.json4j.JSONException</code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="tokenizePost-java.util.List-org.apache.sysds.runtime.matrix.data.FrameBlock-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>tokenizePost</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;tokenizePost(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.sysds.runtime.transform.tokenize.Tokenizer.DocumentToTokens&gt;&nbsp;tl,
+                               <a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;out)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPost.html#tokenizePost-java.util.List-org.apache.sysds.runtime.matrix.data.FrameBlock-">tokenizePost</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPost.html" title="interface in org.apache.sysds.runtime.transform.tokenize">TokenizerPost</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getOutSchema--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getOutSchema</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>[]&nbsp;getOutSchema()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPost.html#getOutSchema--">getOutSchema</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPost.html" title="interface in org.apache.sysds.runtime.transform.tokenize">TokenizerPost</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getNumRows-long-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getNumRows</h4>
+<pre>public&nbsp;long&nbsp;getNumRows(long&nbsp;inRows)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPost.html#getNumRows-long-">getNumRows</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPost.html" title="interface in org.apache.sysds.runtime.transform.tokenize">TokenizerPost</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getNumCols--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getNumCols</h4>
+<pre>public&nbsp;long&nbsp;getNumCols()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPost.html#getNumCols--">getNumCols</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPost.html" title="interface in org.apache.sysds.runtime.transform.tokenize">TokenizerPost</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/TokenizerPostCount.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPost.html" title="interface in org.apache.sysds.runtime.transform.tokenize"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPostHash.html" title="class in org.apache.sysds.runtime.transform.tokenize"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/transform/tokenize/TokenizerPostCount.html" target="_top">Frames</a></li>
+<li><a href="TokenizerPostCount.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/tokenize/TokenizerPostHash.html b/docs/api/java/org/apache/sysds/runtime/transform/tokenize/TokenizerPostHash.html
new file mode 100644
index 0000000..263d546
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/transform/tokenize/TokenizerPostHash.html
@@ -0,0 +1,349 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>TokenizerPostHash (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="TokenizerPostHash (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/TokenizerPostHash.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPostCount.html" title="class in org.apache.sysds.runtime.transform.tokenize"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPostPosition.html" title="class in org.apache.sysds.runtime.transform.tokenize"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/transform/tokenize/TokenizerPostHash.html" target="_top">Frames</a></li>
+<li><a href="TokenizerPostHash.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.sysds.runtime.transform.tokenize</div>
+<h2 title="Class TokenizerPostHash" class="title">Class TokenizerPostHash</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.sysds.runtime.transform.tokenize.TokenizerPostHash</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPost.html" title="interface in org.apache.sysds.runtime.transform.tokenize">TokenizerPost</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">TokenizerPostHash</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
+implements <a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPost.html" title="interface in org.apache.sysds.runtime.transform.tokenize">TokenizerPost</a></pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../../serialized-form.html#org.apache.sysds.runtime.transform.tokenize.TokenizerPostHash">Serialized Form</a></dd>
+</dl>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPostHash.html#TokenizerPostHash-org.apache.wink.json4j.JSONObject-int-int-boolean-">TokenizerPostHash</a></span>(org.apache.wink.json4j.JSONObject&nbsp;params,
+                 int&nbsp;numIdCols,
+                 int&nbsp;maxTokens,
+                 boolean&nbsp;wideFormat)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPostHash.html#getNumCols--">getNumCols</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPostHash.html#getNumRows-long-">getNumRows</a></span>(long&nbsp;inRows)</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPostHash.html#getOutSchema--">getOutSchema</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPostHash.html#tokenizePost-java.util.List-org.apache.sysds.runtime.matrix.data.FrameBlock-">tokenizePost</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.sysds.runtime.transform.tokenize.Tokenizer.DocumentToTokens&gt;&nbsp;tl,
+            <a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;out)</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="TokenizerPostHash-org.apache.wink.json4j.JSONObject-int-int-boolean-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>TokenizerPostHash</h4>
+<pre>public&nbsp;TokenizerPostHash(org.apache.wink.json4j.JSONObject&nbsp;params,
+                         int&nbsp;numIdCols,
+                         int&nbsp;maxTokens,
+                         boolean&nbsp;wideFormat)
+                  throws org.apache.wink.json4j.JSONException</pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code>org.apache.wink.json4j.JSONException</code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="tokenizePost-java.util.List-org.apache.sysds.runtime.matrix.data.FrameBlock-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>tokenizePost</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;tokenizePost(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.sysds.runtime.transform.tokenize.Tokenizer.DocumentToTokens&gt;&nbsp;tl,
+                               <a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;out)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPost.html#tokenizePost-java.util.List-org.apache.sysds.runtime.matrix.data.FrameBlock-">tokenizePost</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPost.html" title="interface in org.apache.sysds.runtime.transform.tokenize">TokenizerPost</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getOutSchema--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getOutSchema</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>[]&nbsp;getOutSchema()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPost.html#getOutSchema--">getOutSchema</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPost.html" title="interface in org.apache.sysds.runtime.transform.tokenize">TokenizerPost</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getNumRows-long-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getNumRows</h4>
+<pre>public&nbsp;long&nbsp;getNumRows(long&nbsp;inRows)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPost.html#getNumRows-long-">getNumRows</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPost.html" title="interface in org.apache.sysds.runtime.transform.tokenize">TokenizerPost</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getNumCols--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getNumCols</h4>
+<pre>public&nbsp;long&nbsp;getNumCols()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPost.html#getNumCols--">getNumCols</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPost.html" title="interface in org.apache.sysds.runtime.transform.tokenize">TokenizerPost</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/TokenizerPostHash.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPostCount.html" title="class in org.apache.sysds.runtime.transform.tokenize"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPostPosition.html" title="class in org.apache.sysds.runtime.transform.tokenize"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/transform/tokenize/TokenizerPostHash.html" target="_top">Frames</a></li>
+<li><a href="TokenizerPostHash.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/tokenize/TokenizerPostPosition.html b/docs/api/java/org/apache/sysds/runtime/transform/tokenize/TokenizerPostPosition.html
new file mode 100644
index 0000000..e6ca915
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/transform/tokenize/TokenizerPostPosition.html
@@ -0,0 +1,378 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>TokenizerPostPosition (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="TokenizerPostPosition (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/TokenizerPostPosition.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPostHash.html" title="class in org.apache.sysds.runtime.transform.tokenize"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPre.html" title="interface in org.apache.sysds.runtime.transform.tokenize"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/transform/tokenize/TokenizerPostPosition.html" target="_top">Frames</a></li>
+<li><a href="TokenizerPostPosition.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.sysds.runtime.transform.tokenize</div>
+<h2 title="Class TokenizerPostPosition" class="title">Class TokenizerPostPosition</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.sysds.runtime.transform.tokenize.TokenizerPostPosition</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPost.html" title="interface in org.apache.sysds.runtime.transform.tokenize">TokenizerPost</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">TokenizerPostPosition</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
+implements <a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPost.html" title="interface in org.apache.sysds.runtime.transform.tokenize">TokenizerPost</a></pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../../serialized-form.html#org.apache.sysds.runtime.transform.tokenize.TokenizerPostPosition">Serialized Form</a></dd>
+</dl>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPostPosition.html#TokenizerPostPosition-org.apache.wink.json4j.JSONObject-int-int-boolean-">TokenizerPostPosition</a></span>(org.apache.wink.json4j.JSONObject&nbsp;params,
+                     int&nbsp;numIdCols,
+                     int&nbsp;maxTokens,
+                     boolean&nbsp;wideFormat)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPostPosition.html#appendTokensLong-java.util.List-java.util.List-org.apache.sysds.runtime.matrix.data.FrameBlock-">appendTokensLong</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;&nbsp;keys,
+                <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.sysds.runtime.transform.tokenize.Tokenizer.Token&gt;&nbsp;tokenList,
+                <a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;out)</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPostPosition.html#appendTokensWide-java.util.List-java.util.List-org.apache.sysds.runtime.matrix.data.FrameBlock-">appendTokensWide</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;&nbsp;keys,
+                <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.sysds.runtime.transform.tokenize.Tokenizer.Token&gt;&nbsp;tokenList,
+                <a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;out)</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPostPosition.html#getNumCols--">getNumCols</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPostPosition.html#getNumRows-long-">getNumRows</a></span>(long&nbsp;inRows)</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPostPosition.html#getOutSchema--">getOutSchema</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPostPosition.html#tokenizePost-java.util.List-org.apache.sysds.runtime.matrix.data.FrameBlock-">tokenizePost</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.sysds.runtime.transform.tokenize.Tokenizer.DocumentToTokens&gt;&nbsp;tl,
+            <a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;out)</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="TokenizerPostPosition-org.apache.wink.json4j.JSONObject-int-int-boolean-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>TokenizerPostPosition</h4>
+<pre>public&nbsp;TokenizerPostPosition(org.apache.wink.json4j.JSONObject&nbsp;params,
+                             int&nbsp;numIdCols,
+                             int&nbsp;maxTokens,
+                             boolean&nbsp;wideFormat)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="tokenizePost-java.util.List-org.apache.sysds.runtime.matrix.data.FrameBlock-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>tokenizePost</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;tokenizePost(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.sysds.runtime.transform.tokenize.Tokenizer.DocumentToTokens&gt;&nbsp;tl,
+                               <a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;out)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPost.html#tokenizePost-java.util.List-org.apache.sysds.runtime.matrix.data.FrameBlock-">tokenizePost</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPost.html" title="interface in org.apache.sysds.runtime.transform.tokenize">TokenizerPost</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="appendTokensLong-java.util.List-java.util.List-org.apache.sysds.runtime.matrix.data.FrameBlock-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>appendTokensLong</h4>
+<pre>public&nbsp;void&nbsp;appendTokensLong(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;&nbsp;keys,
+                             <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.sysds.runtime.transform.tokenize.Tokenizer.Token&gt;&nbsp;tokenList,
+                             <a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;out)</pre>
+</li>
+</ul>
+<a name="appendTokensWide-java.util.List-java.util.List-org.apache.sysds.runtime.matrix.data.FrameBlock-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>appendTokensWide</h4>
+<pre>public&nbsp;void&nbsp;appendTokensWide(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;&nbsp;keys,
+                             <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.sysds.runtime.transform.tokenize.Tokenizer.Token&gt;&nbsp;tokenList,
+                             <a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;out)</pre>
+</li>
+</ul>
+<a name="getOutSchema--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getOutSchema</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>[]&nbsp;getOutSchema()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPost.html#getOutSchema--">getOutSchema</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPost.html" title="interface in org.apache.sysds.runtime.transform.tokenize">TokenizerPost</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getNumRows-long-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getNumRows</h4>
+<pre>public&nbsp;long&nbsp;getNumRows(long&nbsp;inRows)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPost.html#getNumRows-long-">getNumRows</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPost.html" title="interface in org.apache.sysds.runtime.transform.tokenize">TokenizerPost</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getNumCols--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getNumCols</h4>
+<pre>public&nbsp;long&nbsp;getNumCols()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPost.html#getNumCols--">getNumCols</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPost.html" title="interface in org.apache.sysds.runtime.transform.tokenize">TokenizerPost</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/TokenizerPostPosition.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPostHash.html" title="class in org.apache.sysds.runtime.transform.tokenize"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPre.html" title="interface in org.apache.sysds.runtime.transform.tokenize"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/transform/tokenize/TokenizerPostPosition.html" target="_top">Frames</a></li>
+<li><a href="TokenizerPostPosition.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/tokenize/TokenizerPre.html b/docs/api/java/org/apache/sysds/runtime/transform/tokenize/TokenizerPre.html
new file mode 100644
index 0000000..16a9a1a
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/transform/tokenize/TokenizerPre.html
@@ -0,0 +1,231 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>TokenizerPre (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="TokenizerPre (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/TokenizerPre.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPostPosition.html" title="class in org.apache.sysds.runtime.transform.tokenize"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPreNgram.html" title="class in org.apache.sysds.runtime.transform.tokenize"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/transform/tokenize/TokenizerPre.html" target="_top">Frames</a></li>
+<li><a href="TokenizerPre.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.sysds.runtime.transform.tokenize</div>
+<h2 title="Interface TokenizerPre" class="title">Interface TokenizerPre</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Superinterfaces:</dt>
+<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></dd>
+</dl>
+<dl>
+<dt>All Known Implementing Classes:</dt>
+<dd><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPreNgram.html" title="class in org.apache.sysds.runtime.transform.tokenize">TokenizerPreNgram</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPreWhitespaceSplit.html" title="class in org.apache.sysds.runtime.transform.tokenize">TokenizerPreWhitespaceSplit</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public interface <span class="typeNameLabel">TokenizerPre</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.sysds.runtime.transform.tokenize.Tokenizer.DocumentToTokens&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPre.html#tokenizePre-org.apache.sysds.runtime.matrix.data.FrameBlock-">tokenizePre</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="tokenizePre-org.apache.sysds.runtime.matrix.data.FrameBlock-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>tokenizePre</h4>
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.sysds.runtime.transform.tokenize.Tokenizer.DocumentToTokens&gt;&nbsp;tokenizePre(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in)</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/TokenizerPre.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPostPosition.html" title="class in org.apache.sysds.runtime.transform.tokenize"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPreNgram.html" title="class in org.apache.sysds.runtime.transform.tokenize"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/transform/tokenize/TokenizerPre.html" target="_top">Frames</a></li>
+<li><a href="TokenizerPre.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/tokenize/TokenizerPreNgram.html b/docs/api/java/org/apache/sysds/runtime/transform/tokenize/TokenizerPreNgram.html
new file mode 100644
index 0000000..ffd1c6d
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/transform/tokenize/TokenizerPreNgram.html
@@ -0,0 +1,320 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>TokenizerPreNgram (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="TokenizerPreNgram (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/TokenizerPreNgram.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPre.html" title="interface in org.apache.sysds.runtime.transform.tokenize"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPreWhitespaceSplit.html" title="class in org.apache.sysds.runtime.transform.tokenize"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/transform/tokenize/TokenizerPreNgram.html" target="_top">Frames</a></li>
+<li><a href="TokenizerPreNgram.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.sysds.runtime.transform.tokenize</div>
+<h2 title="Class TokenizerPreNgram" class="title">Class TokenizerPreNgram</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.sysds.runtime.transform.tokenize.TokenizerPreNgram</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPre.html" title="interface in org.apache.sysds.runtime.transform.tokenize">TokenizerPre</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">TokenizerPreNgram</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
+implements <a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPre.html" title="interface in org.apache.sysds.runtime.transform.tokenize">TokenizerPre</a></pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../../serialized-form.html#org.apache.sysds.runtime.transform.tokenize.TokenizerPreNgram">Serialized Form</a></dd>
+</dl>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPreNgram.html#TokenizerPreNgram-java.util.List-int-org.apache.wink.json4j.JSONObject-">TokenizerPreNgram</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;idCols,
+                 int&nbsp;tokenizeCol,
+                 org.apache.wink.json4j.JSONObject&nbsp;params)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.sysds.runtime.transform.tokenize.Tokenizer.DocumentToTokens&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPreNgram.html#tokenizePre-org.apache.sysds.runtime.matrix.data.FrameBlock-">tokenizePre</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in)</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.sysds.runtime.transform.tokenize.Tokenizer.Token&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPreNgram.html#wordTokenListToNgrams-java.util.List-">wordTokenListToNgrams</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.sysds.runtime.transform.tokenize.Tokenizer.Token&gt;&nbsp;wordTokens)</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.sysds.runtime.transform.tokenize.Tokenizer.Token&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPreNgram.html#wordTokenToNgrams-org.apache.sysds.runtime.transform.tokenize.Tokenizer.Token-">wordTokenToNgrams</a></span>(org.apache.sysds.runtime.transform.tokenize.Tokenizer.Token&nbsp;wordTokens)</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="TokenizerPreNgram-java.util.List-int-org.apache.wink.json4j.JSONObject-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>TokenizerPreNgram</h4>
+<pre>public&nbsp;TokenizerPreNgram(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;idCols,
+                         int&nbsp;tokenizeCol,
+                         org.apache.wink.json4j.JSONObject&nbsp;params)
+                  throws org.apache.wink.json4j.JSONException</pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code>org.apache.wink.json4j.JSONException</code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="wordTokenToNgrams-org.apache.sysds.runtime.transform.tokenize.Tokenizer.Token-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>wordTokenToNgrams</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.sysds.runtime.transform.tokenize.Tokenizer.Token&gt;&nbsp;wordTokenToNgrams(org.apache.sysds.runtime.transform.tokenize.Tokenizer.Token&nbsp;wordTokens)</pre>
+</li>
+</ul>
+<a name="wordTokenListToNgrams-java.util.List-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>wordTokenListToNgrams</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.sysds.runtime.transform.tokenize.Tokenizer.Token&gt;&nbsp;wordTokenListToNgrams(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.sysds.runtime.transform.tokenize.Tokenizer.Token&gt;&nbsp;wordTokens)</pre>
+</li>
+</ul>
+<a name="tokenizePre-org.apache.sysds.runtime.matrix.data.FrameBlock-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>tokenizePre</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.sysds.runtime.transform.tokenize.Tokenizer.DocumentToTokens&gt;&nbsp;tokenizePre(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPre.html#tokenizePre-org.apache.sysds.runtime.matrix.data.FrameBlock-">tokenizePre</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPre.html" title="interface in org.apache.sysds.runtime.transform.tokenize">TokenizerPre</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/TokenizerPreNgram.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPre.html" title="interface in org.apache.sysds.runtime.transform.tokenize"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPreWhitespaceSplit.html" title="class in org.apache.sysds.runtime.transform.tokenize"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/transform/tokenize/TokenizerPreNgram.html" target="_top">Frames</a></li>
+<li><a href="TokenizerPreNgram.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/utils/ColumnGroupIterator.html b/docs/api/java/org/apache/sysds/runtime/transform/tokenize/TokenizerPreWhitespaceSplit.html
similarity index 60%
rename from docs/api/java/org/apache/sysds/runtime/compress/utils/ColumnGroupIterator.html
rename to docs/api/java/org/apache/sysds/runtime/transform/tokenize/TokenizerPreWhitespaceSplit.html
index 020c598..870a0d6 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/utils/ColumnGroupIterator.html
+++ b/docs/api/java/org/apache/sysds/runtime/transform/tokenize/TokenizerPreWhitespaceSplit.html
@@ -4,7 +4,7 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ColumnGroupIterator (SystemDS 2.1.0-SNAPSHOT API)</title>
+<title>TokenizerPreWhitespaceSplit (SystemDS 2.1.0-SNAPSHOT API)</title>
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ColumnGroupIterator (SystemDS 2.1.0-SNAPSHOT API)";
+            parent.document.title="TokenizerPreWhitespaceSplit (SystemDS 2.1.0-SNAPSHOT API)";
         }
     }
     catch(err) {
@@ -40,7 +40,7 @@
 <li><a href="../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="package-summary.html">Package</a></li>
 <li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/ColumnGroupIterator.html">Use</a></li>
+<li><a href="class-use/TokenizerPreWhitespaceSplit.html">Use</a></li>
 <li><a href="package-tree.html">Tree</a></li>
 <li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
 <li><a href="../../../../../../index-all.html">Index</a></li>
@@ -49,12 +49,12 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/utils/BitmapLossy.html" title="class in org.apache.sysds.runtime.compress.utils"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/utils/CustomHashMap.html" title="class in org.apache.sysds.runtime.compress.utils"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPreNgram.html" title="class in org.apache.sysds.runtime.transform.tokenize"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/utils/ColumnGroupIterator.html" target="_top">Frames</a></li>
-<li><a href="ColumnGroupIterator.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/transform/tokenize/TokenizerPreWhitespaceSplit.html" target="_top">Frames</a></li>
+<li><a href="TokenizerPreWhitespaceSplit.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
 <li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -92,15 +92,15 @@
 <!-- ========= END OF TOP NAVBAR ========= -->
 <!-- ======== START OF CLASS DATA ======== -->
 <div class="header">
-<div class="subTitle">org.apache.sysds.runtime.compress.utils</div>
-<h2 title="Class ColumnGroupIterator" class="title">Class ColumnGroupIterator</h2>
+<div class="subTitle">org.apache.sysds.runtime.transform.tokenize</div>
+<h2 title="Class TokenizerPreWhitespaceSplit" class="title">Class TokenizerPreWhitespaceSplit</h2>
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
 <li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
-<li>org.apache.sysds.runtime.compress.utils.ColumnGroupIterator</li>
+<li>org.apache.sysds.runtime.transform.tokenize.TokenizerPreWhitespaceSplit</li>
 </ul>
 </li>
 </ul>
@@ -109,13 +109,17 @@
 <li class="blockList">
 <dl>
 <dt>All Implemented Interfaces:</dt>
-<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/IJV.html" title="class in org.apache.sysds.runtime.matrix.data">IJV</a>&gt;</dd>
+<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPre.html" title="interface in org.apache.sysds.runtime.transform.tokenize">TokenizerPre</a></dd>
 </dl>
 <hr>
 <br>
-<pre>public class <span class="typeNameLabel">ColumnGroupIterator</span>
+<pre>public class <span class="typeNameLabel">TokenizerPreWhitespaceSplit</span>
 extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
-implements <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/IJV.html" title="class in org.apache.sysds.runtime.matrix.data">IJV</a>&gt;</pre>
+implements <a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPre.html" title="interface in org.apache.sysds.runtime.transform.tokenize">TokenizerPre</a></pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../../serialized-form.html#org.apache.sysds.runtime.transform.tokenize.TokenizerPreWhitespaceSplit">Serialized Form</a></dd>
+</dl>
 </li>
 </ul>
 </div>
@@ -134,12 +138,9 @@
 <th class="colOne" scope="col">Constructor and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/ColumnGroupIterator.html#ColumnGroupIterator-int-int-int-int-boolean-java.util.List-">ColumnGroupIterator</a></span>(int&nbsp;rl,
-                   int&nbsp;ru,
-                   int&nbsp;cgl,
-                   int&nbsp;cgu,
-                   boolean&nbsp;inclZeros,
-                   <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>&gt;&nbsp;colGroups)</code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPreWhitespaceSplit.html#TokenizerPreWhitespaceSplit-java.util.List-int-org.apache.wink.json4j.JSONObject-">TokenizerPreWhitespaceSplit</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;idCols,
+                           int&nbsp;tokenizeCol,
+                           org.apache.wink.json4j.JSONObject&nbsp;params)</code>&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -157,12 +158,12 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
-<td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/ColumnGroupIterator.html#hasNext--">hasNext</a></span>()</code>&nbsp;</td>
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.sysds.runtime.transform.tokenize.Tokenizer.Token&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPreWhitespaceSplit.html#splitToTokens-java.lang.String-">splitToTokens</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;text)</code>&nbsp;</td>
 </tr>
 <tr id="i1" class="rowColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/IJV.html" title="class in org.apache.sysds.runtime.matrix.data">IJV</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/ColumnGroupIterator.html#next--">next</a></span>()</code>&nbsp;</td>
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.sysds.runtime.transform.tokenize.Tokenizer.DocumentToTokens&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPreWhitespaceSplit.html#tokenizePre-org.apache.sysds.runtime.matrix.data.FrameBlock-">tokenizePre</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in)</code>&nbsp;</td>
 </tr>
 </table>
 <ul class="blockList">
@@ -172,13 +173,6 @@
 <h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
 <code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.java.util.Iterator">
-<!--   -->
-</a>
-<h3>Methods inherited from interface&nbsp;java.util.<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a></h3>
-<code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true#forEachRemaining-java.util.function.Consumer-" title="class or interface in java.util">forEachRemaining</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true#remove--" title="class or interface in java.util">remove</a></code></li>
-</ul>
 </li>
 </ul>
 </li>
@@ -193,18 +187,20 @@
 <!--   -->
 </a>
 <h3>Constructor Detail</h3>
-<a name="ColumnGroupIterator-int-int-int-int-boolean-java.util.List-">
+<a name="TokenizerPreWhitespaceSplit-java.util.List-int-org.apache.wink.json4j.JSONObject-">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>ColumnGroupIterator</h4>
-<pre>public&nbsp;ColumnGroupIterator(int&nbsp;rl,
-                           int&nbsp;ru,
-                           int&nbsp;cgl,
-                           int&nbsp;cgu,
-                           boolean&nbsp;inclZeros,
-                           <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>&gt;&nbsp;colGroups)</pre>
+<h4>TokenizerPreWhitespaceSplit</h4>
+<pre>public&nbsp;TokenizerPreWhitespaceSplit(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;idCols,
+                                   int&nbsp;tokenizeCol,
+                                   org.apache.wink.json4j.JSONObject&nbsp;params)
+                            throws org.apache.wink.json4j.JSONException</pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code>org.apache.wink.json4j.JSONException</code></dd>
+</dl>
 </li>
 </ul>
 </li>
@@ -215,29 +211,25 @@
 <!--   -->
 </a>
 <h3>Method Detail</h3>
-<a name="hasNext--">
+<a name="splitToTokens-java.lang.String-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>hasNext</h4>
-<pre>public&nbsp;boolean&nbsp;hasNext()</pre>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true#hasNext--" title="class or interface in java.util">hasNext</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/IJV.html" title="class in org.apache.sysds.runtime.matrix.data">IJV</a>&gt;</code></dd>
-</dl>
+<h4>splitToTokens</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.sysds.runtime.transform.tokenize.Tokenizer.Token&gt;&nbsp;splitToTokens(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;text)</pre>
 </li>
 </ul>
-<a name="next--">
+<a name="tokenizePre-org.apache.sysds.runtime.matrix.data.FrameBlock-">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>next</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/IJV.html" title="class in org.apache.sysds.runtime.matrix.data">IJV</a>&nbsp;next()</pre>
+<h4>tokenizePre</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.sysds.runtime.transform.tokenize.Tokenizer.DocumentToTokens&gt;&nbsp;tokenizePre(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;in)</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true#next--" title="class or interface in java.util">next</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/IJV.html" title="class in org.apache.sysds.runtime.matrix.data">IJV</a>&gt;</code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPre.html#tokenizePre-org.apache.sysds.runtime.matrix.data.FrameBlock-">tokenizePre</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPre.html" title="interface in org.apache.sysds.runtime.transform.tokenize">TokenizerPre</a></code></dd>
 </dl>
 </li>
 </ul>
@@ -260,7 +252,7 @@
 <li><a href="../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="package-summary.html">Package</a></li>
 <li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/ColumnGroupIterator.html">Use</a></li>
+<li><a href="class-use/TokenizerPreWhitespaceSplit.html">Use</a></li>
 <li><a href="package-tree.html">Tree</a></li>
 <li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
 <li><a href="../../../../../../index-all.html">Index</a></li>
@@ -269,12 +261,12 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/utils/BitmapLossy.html" title="class in org.apache.sysds.runtime.compress.utils"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/utils/CustomHashMap.html" title="class in org.apache.sysds.runtime.compress.utils"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPreNgram.html" title="class in org.apache.sysds.runtime.transform.tokenize"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/utils/ColumnGroupIterator.html" target="_top">Frames</a></li>
-<li><a href="ColumnGroupIterator.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/transform/tokenize/TokenizerPreWhitespaceSplit.html" target="_top">Frames</a></li>
+<li><a href="TokenizerPreWhitespaceSplit.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
 <li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -310,6 +302,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/tokenize/class-use/Tokenizer.html b/docs/api/java/org/apache/sysds/runtime/transform/tokenize/class-use/Tokenizer.html
new file mode 100644
index 0000000..24878f0
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/transform/tokenize/class-use/Tokenizer.html
@@ -0,0 +1,187 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.sysds.runtime.transform.tokenize.Tokenizer (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.sysds.runtime.transform.tokenize.Tokenizer (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/transform/tokenize/Tokenizer.html" title="class in org.apache.sysds.runtime.transform.tokenize">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/transform/tokenize/class-use/Tokenizer.html" target="_top">Frames</a></li>
+<li><a href="Tokenizer.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.sysds.runtime.transform.tokenize.Tokenizer" class="title">Uses of Class<br>org.apache.sysds.runtime.transform.tokenize.Tokenizer</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../../org/apache/sysds/runtime/transform/tokenize/Tokenizer.html" title="class in org.apache.sysds.runtime.transform.tokenize">Tokenizer</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.spark">org.apache.sysds.runtime.instructions.spark</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.transform.tokenize">org.apache.sysds.runtime.transform.tokenize</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.sysds.runtime.instructions.spark">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/transform/tokenize/Tokenizer.html" title="class in org.apache.sysds.runtime.transform.tokenize">Tokenizer</a> in <a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/package-summary.html">org.apache.sysds.runtime.instructions.spark</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/package-summary.html">org.apache.sysds.runtime.instructions.spark</a> with parameters of type <a href="../../../../../../../org/apache/sysds/runtime/transform/tokenize/Tokenizer.html" title="class in org.apache.sysds.runtime.transform.tokenize">Tokenizer</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDTokenizeFunction.html#RDDTokenizeFunction-org.apache.sysds.runtime.transform.tokenize.Tokenizer-int-">RDDTokenizeFunction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/transform/tokenize/Tokenizer.html" title="class in org.apache.sysds.runtime.transform.tokenize">Tokenizer</a>&nbsp;tokenizer,
+                   int&nbsp;blen)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.sysds.runtime.transform.tokenize">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/transform/tokenize/Tokenizer.html" title="class in org.apache.sysds.runtime.transform.tokenize">Tokenizer</a> in <a href="../../../../../../../org/apache/sysds/runtime/transform/tokenize/package-summary.html">org.apache.sysds.runtime.transform.tokenize</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/transform/tokenize/package-summary.html">org.apache.sysds.runtime.transform.tokenize</a> that return <a href="../../../../../../../org/apache/sysds/runtime/transform/tokenize/Tokenizer.html" title="class in org.apache.sysds.runtime.transform.tokenize">Tokenizer</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/transform/tokenize/Tokenizer.html" title="class in org.apache.sysds.runtime.transform.tokenize">Tokenizer</a></code></td>
+<td class="colLast"><span class="typeNameLabel">TokenizerFactory.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerFactory.html#createTokenizer-java.lang.String-int-">createTokenizer</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;spec,
+               int&nbsp;maxTokens)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/transform/tokenize/Tokenizer.html" title="class in org.apache.sysds.runtime.transform.tokenize">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/transform/tokenize/class-use/Tokenizer.html" target="_top">Frames</a></li>
+<li><a href="Tokenizer.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/EncoderPassThrough.html b/docs/api/java/org/apache/sysds/runtime/transform/tokenize/class-use/TokenizerFactory.html
similarity index 79%
rename from docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/EncoderPassThrough.html
rename to docs/api/java/org/apache/sysds/runtime/transform/tokenize/class-use/TokenizerFactory.html
index 4d9b612..fcb0fab 100644
--- a/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/EncoderPassThrough.html
+++ b/docs/api/java/org/apache/sysds/runtime/transform/tokenize/class-use/TokenizerFactory.html
@@ -4,7 +4,7 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.sysds.runtime.transform.encode.EncoderPassThrough (SystemDS 2.1.0-SNAPSHOT API)</title>
+<title>Uses of Class org.apache.sysds.runtime.transform.tokenize.TokenizerFactory (SystemDS 2.1.0-SNAPSHOT API)</title>
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.sysds.runtime.transform.encode.EncoderPassThrough (SystemDS 2.1.0-SNAPSHOT API)";
+            parent.document.title="Uses of Class org.apache.sysds.runtime.transform.tokenize.TokenizerFactory (SystemDS 2.1.0-SNAPSHOT API)";
         }
     }
     catch(err) {
@@ -33,7 +33,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderPassThrough.html" title="class in org.apache.sysds.runtime.transform.encode">Class</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerFactory.html" title="class in org.apache.sysds.runtime.transform.tokenize">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -47,8 +47,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/transform/encode/class-use/EncoderPassThrough.html" target="_top">Frames</a></li>
-<li><a href="EncoderPassThrough.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/transform/tokenize/class-use/TokenizerFactory.html" target="_top">Frames</a></li>
+<li><a href="TokenizerFactory.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -70,9 +70,9 @@
 </a></div>
 <!-- ========= END OF TOP NAVBAR ========= -->
 <div class="header">
-<h2 title="Uses of Class org.apache.sysds.runtime.transform.encode.EncoderPassThrough" class="title">Uses of Class<br>org.apache.sysds.runtime.transform.encode.EncoderPassThrough</h2>
+<h2 title="Uses of Class org.apache.sysds.runtime.transform.tokenize.TokenizerFactory" class="title">Uses of Class<br>org.apache.sysds.runtime.transform.tokenize.TokenizerFactory</h2>
 </div>
-<div class="classUseContainer">No usage of org.apache.sysds.runtime.transform.encode.EncoderPassThrough</div>
+<div class="classUseContainer">No usage of org.apache.sysds.runtime.transform.tokenize.TokenizerFactory</div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
 <!--   -->
@@ -84,7 +84,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderPassThrough.html" title="class in org.apache.sysds.runtime.transform.encode">Class</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerFactory.html" title="class in org.apache.sysds.runtime.transform.tokenize">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -98,8 +98,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/transform/encode/class-use/EncoderPassThrough.html" target="_top">Frames</a></li>
-<li><a href="EncoderPassThrough.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/transform/tokenize/class-use/TokenizerFactory.html" target="_top">Frames</a></li>
+<li><a href="TokenizerFactory.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/tokenize/class-use/TokenizerPost.html b/docs/api/java/org/apache/sysds/runtime/transform/tokenize/class-use/TokenizerPost.html
new file mode 100644
index 0000000..cb4fa11
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/transform/tokenize/class-use/TokenizerPost.html
@@ -0,0 +1,173 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.sysds.runtime.transform.tokenize.TokenizerPost (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Interface org.apache.sysds.runtime.transform.tokenize.TokenizerPost (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPost.html" title="interface in org.apache.sysds.runtime.transform.tokenize">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/transform/tokenize/class-use/TokenizerPost.html" target="_top">Frames</a></li>
+<li><a href="TokenizerPost.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Interface org.apache.sysds.runtime.transform.tokenize.TokenizerPost" class="title">Uses of Interface<br>org.apache.sysds.runtime.transform.tokenize.TokenizerPost</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPost.html" title="interface in org.apache.sysds.runtime.transform.tokenize">TokenizerPost</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.transform.tokenize">org.apache.sysds.runtime.transform.tokenize</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.sysds.runtime.transform.tokenize">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPost.html" title="interface in org.apache.sysds.runtime.transform.tokenize">TokenizerPost</a> in <a href="../../../../../../../org/apache/sysds/runtime/transform/tokenize/package-summary.html">org.apache.sysds.runtime.transform.tokenize</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../../../org/apache/sysds/runtime/transform/tokenize/package-summary.html">org.apache.sysds.runtime.transform.tokenize</a> that implement <a href="../../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPost.html" title="interface in org.apache.sysds.runtime.transform.tokenize">TokenizerPost</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPostCount.html" title="class in org.apache.sysds.runtime.transform.tokenize">TokenizerPostCount</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPostHash.html" title="class in org.apache.sysds.runtime.transform.tokenize">TokenizerPostHash</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPostPosition.html" title="class in org.apache.sysds.runtime.transform.tokenize">TokenizerPostPosition</a></span></code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPost.html" title="interface in org.apache.sysds.runtime.transform.tokenize">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/transform/tokenize/class-use/TokenizerPost.html" target="_top">Frames</a></li>
+<li><a href="TokenizerPost.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/EncoderPassThrough.html b/docs/api/java/org/apache/sysds/runtime/transform/tokenize/class-use/TokenizerPostCount.html
similarity index 78%
copy from docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/EncoderPassThrough.html
copy to docs/api/java/org/apache/sysds/runtime/transform/tokenize/class-use/TokenizerPostCount.html
index 4d9b612..c13ad8d 100644
--- a/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/EncoderPassThrough.html
+++ b/docs/api/java/org/apache/sysds/runtime/transform/tokenize/class-use/TokenizerPostCount.html
@@ -4,7 +4,7 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.sysds.runtime.transform.encode.EncoderPassThrough (SystemDS 2.1.0-SNAPSHOT API)</title>
+<title>Uses of Class org.apache.sysds.runtime.transform.tokenize.TokenizerPostCount (SystemDS 2.1.0-SNAPSHOT API)</title>
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.sysds.runtime.transform.encode.EncoderPassThrough (SystemDS 2.1.0-SNAPSHOT API)";
+            parent.document.title="Uses of Class org.apache.sysds.runtime.transform.tokenize.TokenizerPostCount (SystemDS 2.1.0-SNAPSHOT API)";
         }
     }
     catch(err) {
@@ -33,7 +33,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderPassThrough.html" title="class in org.apache.sysds.runtime.transform.encode">Class</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPostCount.html" title="class in org.apache.sysds.runtime.transform.tokenize">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -47,8 +47,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/transform/encode/class-use/EncoderPassThrough.html" target="_top">Frames</a></li>
-<li><a href="EncoderPassThrough.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/transform/tokenize/class-use/TokenizerPostCount.html" target="_top">Frames</a></li>
+<li><a href="TokenizerPostCount.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -70,9 +70,9 @@
 </a></div>
 <!-- ========= END OF TOP NAVBAR ========= -->
 <div class="header">
-<h2 title="Uses of Class org.apache.sysds.runtime.transform.encode.EncoderPassThrough" class="title">Uses of Class<br>org.apache.sysds.runtime.transform.encode.EncoderPassThrough</h2>
+<h2 title="Uses of Class org.apache.sysds.runtime.transform.tokenize.TokenizerPostCount" class="title">Uses of Class<br>org.apache.sysds.runtime.transform.tokenize.TokenizerPostCount</h2>
 </div>
-<div class="classUseContainer">No usage of org.apache.sysds.runtime.transform.encode.EncoderPassThrough</div>
+<div class="classUseContainer">No usage of org.apache.sysds.runtime.transform.tokenize.TokenizerPostCount</div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
 <!--   -->
@@ -84,7 +84,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderPassThrough.html" title="class in org.apache.sysds.runtime.transform.encode">Class</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPostCount.html" title="class in org.apache.sysds.runtime.transform.tokenize">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -98,8 +98,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/transform/encode/class-use/EncoderPassThrough.html" target="_top">Frames</a></li>
-<li><a href="EncoderPassThrough.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/transform/tokenize/class-use/TokenizerPostCount.html" target="_top">Frames</a></li>
+<li><a href="TokenizerPostCount.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/EncoderComposite.html b/docs/api/java/org/apache/sysds/runtime/transform/tokenize/class-use/TokenizerPostHash.html
similarity index 78%
copy from docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/EncoderComposite.html
copy to docs/api/java/org/apache/sysds/runtime/transform/tokenize/class-use/TokenizerPostHash.html
index 33a7472..51f0aff 100644
--- a/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/EncoderComposite.html
+++ b/docs/api/java/org/apache/sysds/runtime/transform/tokenize/class-use/TokenizerPostHash.html
@@ -4,7 +4,7 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.sysds.runtime.transform.encode.EncoderComposite (SystemDS 2.1.0-SNAPSHOT API)</title>
+<title>Uses of Class org.apache.sysds.runtime.transform.tokenize.TokenizerPostHash (SystemDS 2.1.0-SNAPSHOT API)</title>
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.sysds.runtime.transform.encode.EncoderComposite (SystemDS 2.1.0-SNAPSHOT API)";
+            parent.document.title="Uses of Class org.apache.sysds.runtime.transform.tokenize.TokenizerPostHash (SystemDS 2.1.0-SNAPSHOT API)";
         }
     }
     catch(err) {
@@ -33,7 +33,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">Class</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPostHash.html" title="class in org.apache.sysds.runtime.transform.tokenize">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -47,8 +47,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/transform/encode/class-use/EncoderComposite.html" target="_top">Frames</a></li>
-<li><a href="EncoderComposite.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/transform/tokenize/class-use/TokenizerPostHash.html" target="_top">Frames</a></li>
+<li><a href="TokenizerPostHash.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -70,9 +70,9 @@
 </a></div>
 <!-- ========= END OF TOP NAVBAR ========= -->
 <div class="header">
-<h2 title="Uses of Class org.apache.sysds.runtime.transform.encode.EncoderComposite" class="title">Uses of Class<br>org.apache.sysds.runtime.transform.encode.EncoderComposite</h2>
+<h2 title="Uses of Class org.apache.sysds.runtime.transform.tokenize.TokenizerPostHash" class="title">Uses of Class<br>org.apache.sysds.runtime.transform.tokenize.TokenizerPostHash</h2>
 </div>
-<div class="classUseContainer">No usage of org.apache.sysds.runtime.transform.encode.EncoderComposite</div>
+<div class="classUseContainer">No usage of org.apache.sysds.runtime.transform.tokenize.TokenizerPostHash</div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
 <!--   -->
@@ -84,7 +84,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">Class</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPostHash.html" title="class in org.apache.sysds.runtime.transform.tokenize">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -98,8 +98,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/transform/encode/class-use/EncoderComposite.html" target="_top">Frames</a></li>
-<li><a href="EncoderComposite.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/transform/tokenize/class-use/TokenizerPostHash.html" target="_top">Frames</a></li>
+<li><a href="TokenizerPostHash.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/EncoderComposite.html b/docs/api/java/org/apache/sysds/runtime/transform/tokenize/class-use/TokenizerPostPosition.html
similarity index 77%
copy from docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/EncoderComposite.html
copy to docs/api/java/org/apache/sysds/runtime/transform/tokenize/class-use/TokenizerPostPosition.html
index 33a7472..01ac693 100644
--- a/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/EncoderComposite.html
+++ b/docs/api/java/org/apache/sysds/runtime/transform/tokenize/class-use/TokenizerPostPosition.html
@@ -4,7 +4,7 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.sysds.runtime.transform.encode.EncoderComposite (SystemDS 2.1.0-SNAPSHOT API)</title>
+<title>Uses of Class org.apache.sysds.runtime.transform.tokenize.TokenizerPostPosition (SystemDS 2.1.0-SNAPSHOT API)</title>
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.sysds.runtime.transform.encode.EncoderComposite (SystemDS 2.1.0-SNAPSHOT API)";
+            parent.document.title="Uses of Class org.apache.sysds.runtime.transform.tokenize.TokenizerPostPosition (SystemDS 2.1.0-SNAPSHOT API)";
         }
     }
     catch(err) {
@@ -33,7 +33,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">Class</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPostPosition.html" title="class in org.apache.sysds.runtime.transform.tokenize">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -47,8 +47,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/transform/encode/class-use/EncoderComposite.html" target="_top">Frames</a></li>
-<li><a href="EncoderComposite.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/transform/tokenize/class-use/TokenizerPostPosition.html" target="_top">Frames</a></li>
+<li><a href="TokenizerPostPosition.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -70,9 +70,9 @@
 </a></div>
 <!-- ========= END OF TOP NAVBAR ========= -->
 <div class="header">
-<h2 title="Uses of Class org.apache.sysds.runtime.transform.encode.EncoderComposite" class="title">Uses of Class<br>org.apache.sysds.runtime.transform.encode.EncoderComposite</h2>
+<h2 title="Uses of Class org.apache.sysds.runtime.transform.tokenize.TokenizerPostPosition" class="title">Uses of Class<br>org.apache.sysds.runtime.transform.tokenize.TokenizerPostPosition</h2>
 </div>
-<div class="classUseContainer">No usage of org.apache.sysds.runtime.transform.encode.EncoderComposite</div>
+<div class="classUseContainer">No usage of org.apache.sysds.runtime.transform.tokenize.TokenizerPostPosition</div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
 <!--   -->
@@ -84,7 +84,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">Class</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPostPosition.html" title="class in org.apache.sysds.runtime.transform.tokenize">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -98,8 +98,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/transform/encode/class-use/EncoderComposite.html" target="_top">Frames</a></li>
-<li><a href="EncoderComposite.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/transform/tokenize/class-use/TokenizerPostPosition.html" target="_top">Frames</a></li>
+<li><a href="TokenizerPostPosition.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/tokenize/class-use/TokenizerPre.html b/docs/api/java/org/apache/sysds/runtime/transform/tokenize/class-use/TokenizerPre.html
new file mode 100644
index 0000000..53cdb84
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/transform/tokenize/class-use/TokenizerPre.html
@@ -0,0 +1,169 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.sysds.runtime.transform.tokenize.TokenizerPre (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Interface org.apache.sysds.runtime.transform.tokenize.TokenizerPre (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPre.html" title="interface in org.apache.sysds.runtime.transform.tokenize">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/transform/tokenize/class-use/TokenizerPre.html" target="_top">Frames</a></li>
+<li><a href="TokenizerPre.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Interface org.apache.sysds.runtime.transform.tokenize.TokenizerPre" class="title">Uses of Interface<br>org.apache.sysds.runtime.transform.tokenize.TokenizerPre</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPre.html" title="interface in org.apache.sysds.runtime.transform.tokenize">TokenizerPre</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.transform.tokenize">org.apache.sysds.runtime.transform.tokenize</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.sysds.runtime.transform.tokenize">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPre.html" title="interface in org.apache.sysds.runtime.transform.tokenize">TokenizerPre</a> in <a href="../../../../../../../org/apache/sysds/runtime/transform/tokenize/package-summary.html">org.apache.sysds.runtime.transform.tokenize</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../../../org/apache/sysds/runtime/transform/tokenize/package-summary.html">org.apache.sysds.runtime.transform.tokenize</a> that implement <a href="../../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPre.html" title="interface in org.apache.sysds.runtime.transform.tokenize">TokenizerPre</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPreNgram.html" title="class in org.apache.sysds.runtime.transform.tokenize">TokenizerPreNgram</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPreWhitespaceSplit.html" title="class in org.apache.sysds.runtime.transform.tokenize">TokenizerPreWhitespaceSplit</a></span></code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPre.html" title="interface in org.apache.sysds.runtime.transform.tokenize">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/transform/tokenize/class-use/TokenizerPre.html" target="_top">Frames</a></li>
+<li><a href="TokenizerPre.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/EncoderComposite.html b/docs/api/java/org/apache/sysds/runtime/transform/tokenize/class-use/TokenizerPreNgram.html
similarity index 78%
copy from docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/EncoderComposite.html
copy to docs/api/java/org/apache/sysds/runtime/transform/tokenize/class-use/TokenizerPreNgram.html
index 33a7472..5487f61 100644
--- a/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/EncoderComposite.html
+++ b/docs/api/java/org/apache/sysds/runtime/transform/tokenize/class-use/TokenizerPreNgram.html
@@ -4,7 +4,7 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.sysds.runtime.transform.encode.EncoderComposite (SystemDS 2.1.0-SNAPSHOT API)</title>
+<title>Uses of Class org.apache.sysds.runtime.transform.tokenize.TokenizerPreNgram (SystemDS 2.1.0-SNAPSHOT API)</title>
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.sysds.runtime.transform.encode.EncoderComposite (SystemDS 2.1.0-SNAPSHOT API)";
+            parent.document.title="Uses of Class org.apache.sysds.runtime.transform.tokenize.TokenizerPreNgram (SystemDS 2.1.0-SNAPSHOT API)";
         }
     }
     catch(err) {
@@ -33,7 +33,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">Class</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPreNgram.html" title="class in org.apache.sysds.runtime.transform.tokenize">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -47,8 +47,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/transform/encode/class-use/EncoderComposite.html" target="_top">Frames</a></li>
-<li><a href="EncoderComposite.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/transform/tokenize/class-use/TokenizerPreNgram.html" target="_top">Frames</a></li>
+<li><a href="TokenizerPreNgram.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -70,9 +70,9 @@
 </a></div>
 <!-- ========= END OF TOP NAVBAR ========= -->
 <div class="header">
-<h2 title="Uses of Class org.apache.sysds.runtime.transform.encode.EncoderComposite" class="title">Uses of Class<br>org.apache.sysds.runtime.transform.encode.EncoderComposite</h2>
+<h2 title="Uses of Class org.apache.sysds.runtime.transform.tokenize.TokenizerPreNgram" class="title">Uses of Class<br>org.apache.sysds.runtime.transform.tokenize.TokenizerPreNgram</h2>
 </div>
-<div class="classUseContainer">No usage of org.apache.sysds.runtime.transform.encode.EncoderComposite</div>
+<div class="classUseContainer">No usage of org.apache.sysds.runtime.transform.tokenize.TokenizerPreNgram</div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
 <!--   -->
@@ -84,7 +84,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">Class</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPreNgram.html" title="class in org.apache.sysds.runtime.transform.tokenize">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -98,8 +98,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/transform/encode/class-use/EncoderComposite.html" target="_top">Frames</a></li>
-<li><a href="EncoderComposite.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/transform/tokenize/class-use/TokenizerPreNgram.html" target="_top">Frames</a></li>
+<li><a href="TokenizerPreNgram.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/EncoderComposite.html b/docs/api/java/org/apache/sysds/runtime/transform/tokenize/class-use/TokenizerPreWhitespaceSplit.html
similarity index 76%
copy from docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/EncoderComposite.html
copy to docs/api/java/org/apache/sysds/runtime/transform/tokenize/class-use/TokenizerPreWhitespaceSplit.html
index 33a7472..c04782f 100644
--- a/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/EncoderComposite.html
+++ b/docs/api/java/org/apache/sysds/runtime/transform/tokenize/class-use/TokenizerPreWhitespaceSplit.html
@@ -4,7 +4,7 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.sysds.runtime.transform.encode.EncoderComposite (SystemDS 2.1.0-SNAPSHOT API)</title>
+<title>Uses of Class org.apache.sysds.runtime.transform.tokenize.TokenizerPreWhitespaceSplit (SystemDS 2.1.0-SNAPSHOT API)</title>
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.sysds.runtime.transform.encode.EncoderComposite (SystemDS 2.1.0-SNAPSHOT API)";
+            parent.document.title="Uses of Class org.apache.sysds.runtime.transform.tokenize.TokenizerPreWhitespaceSplit (SystemDS 2.1.0-SNAPSHOT API)";
         }
     }
     catch(err) {
@@ -33,7 +33,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">Class</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPreWhitespaceSplit.html" title="class in org.apache.sysds.runtime.transform.tokenize">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -47,8 +47,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/transform/encode/class-use/EncoderComposite.html" target="_top">Frames</a></li>
-<li><a href="EncoderComposite.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/transform/tokenize/class-use/TokenizerPreWhitespaceSplit.html" target="_top">Frames</a></li>
+<li><a href="TokenizerPreWhitespaceSplit.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -70,9 +70,9 @@
 </a></div>
 <!-- ========= END OF TOP NAVBAR ========= -->
 <div class="header">
-<h2 title="Uses of Class org.apache.sysds.runtime.transform.encode.EncoderComposite" class="title">Uses of Class<br>org.apache.sysds.runtime.transform.encode.EncoderComposite</h2>
+<h2 title="Uses of Class org.apache.sysds.runtime.transform.tokenize.TokenizerPreWhitespaceSplit" class="title">Uses of Class<br>org.apache.sysds.runtime.transform.tokenize.TokenizerPreWhitespaceSplit</h2>
 </div>
-<div class="classUseContainer">No usage of org.apache.sysds.runtime.transform.encode.EncoderComposite</div>
+<div class="classUseContainer">No usage of org.apache.sysds.runtime.transform.tokenize.TokenizerPreWhitespaceSplit</div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
 <!--   -->
@@ -84,7 +84,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">Class</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPreWhitespaceSplit.html" title="class in org.apache.sysds.runtime.transform.tokenize">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -98,8 +98,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/transform/encode/class-use/EncoderComposite.html" target="_top">Frames</a></li>
-<li><a href="EncoderComposite.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/transform/tokenize/class-use/TokenizerPreWhitespaceSplit.html" target="_top">Frames</a></li>
+<li><a href="TokenizerPreWhitespaceSplit.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/tokenize/package-frame.html b/docs/api/java/org/apache/sysds/runtime/transform/tokenize/package-frame.html
new file mode 100644
index 0000000..4a7036e
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/transform/tokenize/package-frame.html
@@ -0,0 +1,31 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.sysds.runtime.transform.tokenize (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<h1 class="bar"><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/package-summary.html" target="classFrame">org.apache.sysds.runtime.transform.tokenize</a></h1>
+<div class="indexContainer">
+<h2 title="Interfaces">Interfaces</h2>
+<ul title="Interfaces">
+<li><a href="TokenizerPost.html" title="interface in org.apache.sysds.runtime.transform.tokenize" target="classFrame"><span class="interfaceName">TokenizerPost</span></a></li>
+<li><a href="TokenizerPre.html" title="interface in org.apache.sysds.runtime.transform.tokenize" target="classFrame"><span class="interfaceName">TokenizerPre</span></a></li>
+</ul>
+<h2 title="Classes">Classes</h2>
+<ul title="Classes">
+<li><a href="Tokenizer.html" title="class in org.apache.sysds.runtime.transform.tokenize" target="classFrame">Tokenizer</a></li>
+<li><a href="TokenizerFactory.html" title="class in org.apache.sysds.runtime.transform.tokenize" target="classFrame">TokenizerFactory</a></li>
+<li><a href="TokenizerPostCount.html" title="class in org.apache.sysds.runtime.transform.tokenize" target="classFrame">TokenizerPostCount</a></li>
+<li><a href="TokenizerPostHash.html" title="class in org.apache.sysds.runtime.transform.tokenize" target="classFrame">TokenizerPostHash</a></li>
+<li><a href="TokenizerPostPosition.html" title="class in org.apache.sysds.runtime.transform.tokenize" target="classFrame">TokenizerPostPosition</a></li>
+<li><a href="TokenizerPreNgram.html" title="class in org.apache.sysds.runtime.transform.tokenize" target="classFrame">TokenizerPreNgram</a></li>
+<li><a href="TokenizerPreWhitespaceSplit.html" title="class in org.apache.sysds.runtime.transform.tokenize" target="classFrame">TokenizerPreWhitespaceSplit</a></li>
+</ul>
+</div>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/tokenize/package-summary.html b/docs/api/java/org/apache/sysds/runtime/transform/tokenize/package-summary.html
new file mode 100644
index 0000000..721a971
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/transform/tokenize/package-summary.html
@@ -0,0 +1,186 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.sysds.runtime.transform.tokenize (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.sysds.runtime.transform.tokenize (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/transform/meta/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/util/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/transform/tokenize/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Package" class="title">Package&nbsp;org.apache.sysds.runtime.transform.tokenize</h1>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Interface Summary table, listing interfaces, and an explanation">
+<caption><span>Interface Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Interface</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPost.html" title="interface in org.apache.sysds.runtime.transform.tokenize">TokenizerPost</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPre.html" title="interface in org.apache.sysds.runtime.transform.tokenize">TokenizerPre</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
+<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Class</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/Tokenizer.html" title="class in org.apache.sysds.runtime.transform.tokenize">Tokenizer</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerFactory.html" title="class in org.apache.sysds.runtime.transform.tokenize">TokenizerFactory</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPostCount.html" title="class in org.apache.sysds.runtime.transform.tokenize">TokenizerPostCount</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPostHash.html" title="class in org.apache.sysds.runtime.transform.tokenize">TokenizerPostHash</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPostPosition.html" title="class in org.apache.sysds.runtime.transform.tokenize">TokenizerPostPosition</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPreNgram.html" title="class in org.apache.sysds.runtime.transform.tokenize">TokenizerPreNgram</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPreWhitespaceSplit.html" title="class in org.apache.sysds.runtime.transform.tokenize">TokenizerPreWhitespaceSplit</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/transform/meta/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/util/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/transform/tokenize/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/tokenize/package-tree.html b/docs/api/java/org/apache/sysds/runtime/transform/tokenize/package-tree.html
new file mode 100644
index 0000000..6513f1c
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/transform/tokenize/package-tree.html
@@ -0,0 +1,153 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.sysds.runtime.transform.tokenize Class Hierarchy (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.sysds.runtime.transform.tokenize Class Hierarchy (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/transform/meta/package-tree.html">Prev</a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/util/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/transform/tokenize/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 class="title">Hierarchy For Package org.apache.sysds.runtime.transform.tokenize</h1>
+<span class="packageHierarchyLabel">Package Hierarchies:</span>
+<ul class="horizontal">
+<li><a href="../../../../../../overview-tree.html">All Packages</a></li>
+</ul>
+</div>
+<div class="contentContainer">
+<h2 title="Class Hierarchy">Class Hierarchy</h2>
+<ul>
+<li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
+<ul>
+<li type="circle">org.apache.sysds.runtime.transform.tokenize.<a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/Tokenizer.html" title="class in org.apache.sysds.runtime.transform.tokenize"><span class="typeNameLink">Tokenizer</span></a> (implements java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)</li>
+<li type="circle">org.apache.sysds.runtime.transform.tokenize.<a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerFactory.html" title="class in org.apache.sysds.runtime.transform.tokenize"><span class="typeNameLink">TokenizerFactory</span></a></li>
+<li type="circle">org.apache.sysds.runtime.transform.tokenize.<a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPostCount.html" title="class in org.apache.sysds.runtime.transform.tokenize"><span class="typeNameLink">TokenizerPostCount</span></a> (implements org.apache.sysds.runtime.transform.tokenize.<a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPost.html" title="interface in org.apache.sysds.runtime.transform.tokenize">TokenizerPost</a>)</li>
+<li type="circle">org.apache.sysds.runtime.transform.tokenize.<a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPostHash.html" title="class in org.apache.sysds.runtime.transform.tokenize"><span class="typeNameLink">TokenizerPostHash</span></a> (implements org.apache.sysds.runtime.transform.tokenize.<a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPost.html" title="interface in org.apache.sysds.runtime.transform.tokenize">TokenizerPost</a>)</li>
+<li type="circle">org.apache.sysds.runtime.transform.tokenize.<a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPostPosition.html" title="class in org.apache.sysds.runtime.transform.tokenize"><span class="typeNameLink">TokenizerPostPosition</span></a> (implements org.apache.sysds.runtime.transform.tokenize.<a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPost.html" title="interface in org.apache.sysds.runtime.transform.tokenize">TokenizerPost</a>)</li>
+<li type="circle">org.apache.sysds.runtime.transform.tokenize.<a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPreNgram.html" title="class in org.apache.sysds.runtime.transform.tokenize"><span class="typeNameLink">TokenizerPreNgram</span></a> (implements org.apache.sysds.runtime.transform.tokenize.<a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPre.html" title="interface in org.apache.sysds.runtime.transform.tokenize">TokenizerPre</a>)</li>
+<li type="circle">org.apache.sysds.runtime.transform.tokenize.<a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPreWhitespaceSplit.html" title="class in org.apache.sysds.runtime.transform.tokenize"><span class="typeNameLink">TokenizerPreWhitespaceSplit</span></a> (implements org.apache.sysds.runtime.transform.tokenize.<a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPre.html" title="interface in org.apache.sysds.runtime.transform.tokenize">TokenizerPre</a>)</li>
+</ul>
+</li>
+</ul>
+<h2 title="Interface Hierarchy">Interface Hierarchy</h2>
+<ul>
+<li type="circle">java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io"><span class="typeNameLink">Serializable</span></a>
+<ul>
+<li type="circle">org.apache.sysds.runtime.transform.tokenize.<a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPost.html" title="interface in org.apache.sysds.runtime.transform.tokenize"><span class="typeNameLink">TokenizerPost</span></a></li>
+<li type="circle">org.apache.sysds.runtime.transform.tokenize.<a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/TokenizerPre.html" title="interface in org.apache.sysds.runtime.transform.tokenize"><span class="typeNameLink">TokenizerPre</span></a></li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/transform/meta/package-tree.html">Prev</a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/util/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/transform/tokenize/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/tokenize/package-use.html b/docs/api/java/org/apache/sysds/runtime/transform/tokenize/package-use.html
new file mode 100644
index 0000000..e102135
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/transform/tokenize/package-use.html
@@ -0,0 +1,183 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.sysds.runtime.transform.tokenize (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Package org.apache.sysds.runtime.transform.tokenize (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/transform/tokenize/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Uses of Package org.apache.sysds.runtime.transform.tokenize" class="title">Uses of Package<br>org.apache.sysds.runtime.transform.tokenize</h1>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/package-summary.html">org.apache.sysds.runtime.transform.tokenize</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.spark">org.apache.sysds.runtime.instructions.spark</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.transform.tokenize">org.apache.sysds.runtime.transform.tokenize</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.sysds.runtime.instructions.spark">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/package-summary.html">org.apache.sysds.runtime.transform.tokenize</a> used by <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/package-summary.html">org.apache.sysds.runtime.instructions.spark</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/class-use/Tokenizer.html#org.apache.sysds.runtime.instructions.spark">Tokenizer</a>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.sysds.runtime.transform.tokenize">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/package-summary.html">org.apache.sysds.runtime.transform.tokenize</a> used by <a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/package-summary.html">org.apache.sysds.runtime.transform.tokenize</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/class-use/Tokenizer.html#org.apache.sysds.runtime.transform.tokenize">Tokenizer</a>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/class-use/TokenizerPost.html#org.apache.sysds.runtime.transform.tokenize">TokenizerPost</a>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/transform/tokenize/class-use/TokenizerPre.html#org.apache.sysds.runtime.transform.tokenize">TokenizerPre</a>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/transform/tokenize/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/util/BinaryBlockInputFormat.html b/docs/api/java/org/apache/sysds/runtime/util/BinaryBlockInputFormat.html
index 69416f8..97e2430 100644
--- a/docs/api/java/org/apache/sysds/runtime/util/BinaryBlockInputFormat.html
+++ b/docs/api/java/org/apache/sysds/runtime/util/BinaryBlockInputFormat.html
@@ -336,6 +336,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/util/BinaryBlockRecordReader.html b/docs/api/java/org/apache/sysds/runtime/util/BinaryBlockRecordReader.html
index 942fef1..5cc70bb 100644
--- a/docs/api/java/org/apache/sysds/runtime/util/BinaryBlockRecordReader.html
+++ b/docs/api/java/org/apache/sysds/runtime/util/BinaryBlockRecordReader.html
@@ -327,6 +327,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/util/ByteBufferDataInput.html b/docs/api/java/org/apache/sysds/runtime/util/ByteBufferDataInput.html
index 2a12c62..462a1b4 100644
--- a/docs/api/java/org/apache/sysds/runtime/util/ByteBufferDataInput.html
+++ b/docs/api/java/org/apache/sysds/runtime/util/ByteBufferDataInput.html
@@ -645,6 +645,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/util/CollectionUtils.html b/docs/api/java/org/apache/sysds/runtime/util/CollectionUtils.html
index d1e3fa7..0f4af9c 100644
--- a/docs/api/java/org/apache/sysds/runtime/util/CollectionUtils.html
+++ b/docs/api/java/org/apache/sysds/runtime/util/CollectionUtils.html
@@ -452,6 +452,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/util/CommonThreadPool.html b/docs/api/java/org/apache/sysds/runtime/util/CommonThreadPool.html
index 713a1fa..055600b 100644
--- a/docs/api/java/org/apache/sysds/runtime/util/CommonThreadPool.html
+++ b/docs/api/java/org/apache/sysds/runtime/util/CommonThreadPool.html
@@ -560,6 +560,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html b/docs/api/java/org/apache/sysds/runtime/util/DMVUtils.LEVEL_ENUM.html
similarity index 61%
copy from docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html
copy to docs/api/java/org/apache/sysds/runtime/util/DMVUtils.LEVEL_ENUM.html
index cd7d096..0fd46ef 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html
+++ b/docs/api/java/org/apache/sysds/runtime/util/DMVUtils.LEVEL_ENUM.html
@@ -4,15 +4,15 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ColGroup.CompressionType (SystemDS 2.1.0-SNAPSHOT API)</title>
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
+<title>DMVUtils.LEVEL_ENUM (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
 </head>
 <body>
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ColGroup.CompressionType (SystemDS 2.1.0-SNAPSHOT API)";
+            parent.document.title="DMVUtils.LEVEL_ENUM (SystemDS 2.1.0-SNAPSHOT API)";
         }
     }
     catch(err) {
@@ -37,27 +37,27 @@
 <!--   -->
 </a>
 <ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
 <li><a href="package-summary.html">Package</a></li>
 <li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/ColGroup.CompressionType.html">Use</a></li>
+<li><a href="class-use/DMVUtils.LEVEL_ENUM.html">Use</a></li>
 <li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/sysds/runtime/util/DMVUtils.html" title="class in org.apache.sysds.runtime.util"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/sysds/runtime/util/DnnUtils.html" title="class in org.apache.sysds.runtime.util"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" target="_top">Frames</a></li>
-<li><a href="ColGroup.CompressionType.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../index.html?org/apache/sysds/runtime/util/DMVUtils.LEVEL_ENUM.html" target="_top">Frames</a></li>
+<li><a href="DMVUtils.LEVEL_ENUM.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
 </ul>
 <div>
 <script type="text/javascript"><!--
@@ -92,18 +92,18 @@
 <!-- ========= END OF TOP NAVBAR ========= -->
 <!-- ======== START OF CLASS DATA ======== -->
 <div class="header">
-<div class="subTitle">org.apache.sysds.runtime.compress.colgroup</div>
-<h2 title="Enum ColGroup.CompressionType" class="title">Enum ColGroup.CompressionType</h2>
+<div class="subTitle">org.apache.sysds.runtime.util</div>
+<h2 title="Enum DMVUtils.LEVEL_ENUM" class="title">Enum DMVUtils.LEVEL_ENUM</h2>
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
 <li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
-<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">java.lang.Enum</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>&gt;</li>
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">java.lang.Enum</a>&lt;<a href="../../../../../org/apache/sysds/runtime/util/DMVUtils.LEVEL_ENUM.html" title="enum in org.apache.sysds.runtime.util">DMVUtils.LEVEL_ENUM</a>&gt;</li>
 <li>
 <ul class="inheritance">
-<li>org.apache.sysds.runtime.compress.colgroup.ColGroup.CompressionType</li>
+<li>org.apache.sysds.runtime.util.DMVUtils.LEVEL_ENUM</li>
 </ul>
 </li>
 </ul>
@@ -114,23 +114,16 @@
 <li class="blockList">
 <dl>
 <dt>All Implemented Interfaces:</dt>
-<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>&gt;</dd>
+<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;<a href="../../../../../org/apache/sysds/runtime/util/DMVUtils.LEVEL_ENUM.html" title="enum in org.apache.sysds.runtime.util">DMVUtils.LEVEL_ENUM</a>&gt;</dd>
 </dl>
 <dl>
 <dt>Enclosing class:</dt>
-<dd><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></dd>
+<dd><a href="../../../../../org/apache/sysds/runtime/util/DMVUtils.html" title="class in org.apache.sysds.runtime.util">DMVUtils</a></dd>
 </dl>
 <hr>
 <br>
-<pre>public static enum <span class="typeNameLabel">ColGroup.CompressionType</span>
-extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>&gt;</pre>
-<div class="block">Public Group types supported
- 
- Note For instance DDC is called DDC not DDC1, or DDC2 which is a specific subtype of the DDC. That
- differentiation is hidden to a user.
- 
- Includes Uncompressed for sparse/dense representation RLE for Run length encoding OLE for Offset Length encoding
- DDC for Dense dictionary encoding</div>
+<pre>public static enum <span class="typeNameLabel">DMVUtils.LEVEL_ENUM</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a>&lt;<a href="../../../../../org/apache/sysds/runtime/util/DMVUtils.LEVEL_ENUM.html" title="enum in org.apache.sysds.runtime.util">DMVUtils.LEVEL_ENUM</a>&gt;</pre>
 </li>
 </ul>
 </div>
@@ -149,19 +142,22 @@
 <th class="colOne" scope="col">Enum Constant and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html#CONST">CONST</a></span></code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/DMVUtils.LEVEL_ENUM.html#LEVEL1">LEVEL1</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html#DDC">DDC</a></span></code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/DMVUtils.LEVEL_ENUM.html#LEVEL2">LEVEL2</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html#OLE">OLE</a></span></code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/DMVUtils.LEVEL_ENUM.html#LEVEL3">LEVEL3</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html#RLE">RLE</a></span></code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/DMVUtils.LEVEL_ENUM.html#LEVEL4">LEVEL4</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html#UNCOMPRESSED">UNCOMPRESSED</a></span></code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/DMVUtils.LEVEL_ENUM.html#LEVEL5">LEVEL5</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/DMVUtils.LEVEL_ENUM.html#LEVEL6">LEVEL6</a></span></code>&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -179,14 +175,14 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html#valueOf-java.lang.String-">valueOf</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
+<td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/runtime/util/DMVUtils.LEVEL_ENUM.html" title="enum in org.apache.sysds.runtime.util">DMVUtils.LEVEL_ENUM</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/DMVUtils.LEVEL_ENUM.html#valueOf-java.lang.String-">valueOf</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
 <div class="block">Returns the enum constant of this type with the specified name.</div>
 </td>
 </tr>
 <tr id="i1" class="rowColor">
-<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>[]</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html#values--">values</a></span>()</code>
+<td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/runtime/util/DMVUtils.LEVEL_ENUM.html" title="enum in org.apache.sysds.runtime.util">DMVUtils.LEVEL_ENUM</a>[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/DMVUtils.LEVEL_ENUM.html#values--">values</a></span>()</code>
 <div class="block">Returns an array containing the constants of this enum type, in
 the order they are declared.</div>
 </td>
@@ -220,49 +216,58 @@
 <!--   -->
 </a>
 <h3>Enum Constant Detail</h3>
-<a name="UNCOMPRESSED">
+<a name="LEVEL1">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>UNCOMPRESSED</h4>
-<pre>public static final&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a> UNCOMPRESSED</pre>
+<h4>LEVEL1</h4>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/sysds/runtime/util/DMVUtils.LEVEL_ENUM.html" title="enum in org.apache.sysds.runtime.util">DMVUtils.LEVEL_ENUM</a> LEVEL1</pre>
 </li>
 </ul>
-<a name="RLE">
+<a name="LEVEL2">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>RLE</h4>
-<pre>public static final&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a> RLE</pre>
+<h4>LEVEL2</h4>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/sysds/runtime/util/DMVUtils.LEVEL_ENUM.html" title="enum in org.apache.sysds.runtime.util">DMVUtils.LEVEL_ENUM</a> LEVEL2</pre>
 </li>
 </ul>
-<a name="OLE">
+<a name="LEVEL3">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>OLE</h4>
-<pre>public static final&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a> OLE</pre>
+<h4>LEVEL3</h4>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/sysds/runtime/util/DMVUtils.LEVEL_ENUM.html" title="enum in org.apache.sysds.runtime.util">DMVUtils.LEVEL_ENUM</a> LEVEL3</pre>
 </li>
 </ul>
-<a name="DDC">
+<a name="LEVEL4">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>DDC</h4>
-<pre>public static final&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a> DDC</pre>
+<h4>LEVEL4</h4>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/sysds/runtime/util/DMVUtils.LEVEL_ENUM.html" title="enum in org.apache.sysds.runtime.util">DMVUtils.LEVEL_ENUM</a> LEVEL4</pre>
 </li>
 </ul>
-<a name="CONST">
+<a name="LEVEL5">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>LEVEL5</h4>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/sysds/runtime/util/DMVUtils.LEVEL_ENUM.html" title="enum in org.apache.sysds.runtime.util">DMVUtils.LEVEL_ENUM</a> LEVEL5</pre>
+</li>
+</ul>
+<a name="LEVEL6">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>CONST</h4>
-<pre>public static final&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a> CONST</pre>
+<h4>LEVEL6</h4>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/sysds/runtime/util/DMVUtils.LEVEL_ENUM.html" title="enum in org.apache.sysds.runtime.util">DMVUtils.LEVEL_ENUM</a> LEVEL6</pre>
 </li>
 </ul>
 </li>
@@ -279,12 +284,12 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>values</h4>
-<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>[]&nbsp;values()</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/sysds/runtime/util/DMVUtils.LEVEL_ENUM.html" title="enum in org.apache.sysds.runtime.util">DMVUtils.LEVEL_ENUM</a>[]&nbsp;values()</pre>
 <div class="block">Returns an array containing the constants of this enum type, in
 the order they are declared.  This method may be used to iterate
 over the constants as follows:
 <pre>
-for (ColGroup.CompressionType c : ColGroup.CompressionType.values())
+for (DMVUtils.LEVEL_ENUM c : DMVUtils.LEVEL_ENUM.values())
 &nbsp;   System.out.println(c);
 </pre></div>
 <dl>
@@ -299,7 +304,7 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>valueOf</h4>
-<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>&nbsp;valueOf(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/sysds/runtime/util/DMVUtils.LEVEL_ENUM.html" title="enum in org.apache.sysds.runtime.util">DMVUtils.LEVEL_ENUM</a>&nbsp;valueOf(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
 enum constant in this type.  (Extraneous whitespace characters are 
@@ -331,27 +336,27 @@
 <!--   -->
 </a>
 <ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
 <li><a href="package-summary.html">Package</a></li>
 <li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/ColGroup.CompressionType.html">Use</a></li>
+<li><a href="class-use/DMVUtils.LEVEL_ENUM.html">Use</a></li>
 <li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/sysds/runtime/util/DMVUtils.html" title="class in org.apache.sysds.runtime.util"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/sysds/runtime/util/DnnUtils.html" title="class in org.apache.sysds.runtime.util"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" target="_top">Frames</a></li>
-<li><a href="ColGroup.CompressionType.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../index.html?org/apache/sysds/runtime/util/DMVUtils.LEVEL_ENUM.html" target="_top">Frames</a></li>
+<li><a href="DMVUtils.LEVEL_ENUM.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
 </ul>
 <div>
 <script type="text/javascript"><!--
@@ -384,6 +389,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/util/DMVUtils.html b/docs/api/java/org/apache/sysds/runtime/util/DMVUtils.html
new file mode 100644
index 0000000..ddc99e2
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/util/DMVUtils.html
@@ -0,0 +1,585 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>DMVUtils (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="DMVUtils (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/DMVUtils.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/sysds/runtime/util/DataConverter.html" title="class in org.apache.sysds.runtime.util"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/sysds/runtime/util/DMVUtils.LEVEL_ENUM.html" title="enum in org.apache.sysds.runtime.util"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/sysds/runtime/util/DMVUtils.html" target="_top">Frames</a></li>
+<li><a href="DMVUtils.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.sysds.runtime.util</div>
+<h2 title="Class DMVUtils" class="title">Class DMVUtils</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.sysds.runtime.util.DMVUtils</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">DMVUtils</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!--   -->
+</a>
+<h3>Nested Class Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
+<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/DMVUtils.LEVEL_ENUM.html" title="enum in org.apache.sysds.runtime.util">DMVUtils.LEVEL_ENUM</a></span></code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!--   -->
+</a>
+<h3>Field Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
+<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static char</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/DMVUtils.html#ALPHA">ALPHA</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static char</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/DMVUtils.html#ARBITRARY_LEN">ARBITRARY_LEN</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static char</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/DMVUtils.html#DIGIT">DIGIT</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static char</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/DMVUtils.html#DOT">DOT</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static char</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/DMVUtils.html#LOWER">LOWER</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static char</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/DMVUtils.html#MINUS">MINUS</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static char</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/DMVUtils.html#OTHER">OTHER</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static char</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/DMVUtils.html#SPACE">SPACE</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static char</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/DMVUtils.html#UPPER">UPPER</a></span></code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/DMVUtils.html#DMVUtils--">DMVUtils</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/DMVUtils.html#acceptNegativeNumbersAsDigits-java.lang.String-">acceptNegativeNumbersAsDigits</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;pattern)</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/DMVUtils.html#calculatePatternsRatio-java.util.Map-int-">calculatePatternsRatio</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;patterns_hist,
+                      int&nbsp;nr_entries)</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/DMVUtils.html#encodeRawString-java.lang.String-">encodeRawString</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;input)</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/DMVUtils.html#findDominantPattern-java.util.Map-double-">findDominantPattern</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a>&gt;&nbsp;dominant_patterns,
+                   double&nbsp;threshold)</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/DMVUtils.html#getFrequencyOfEachConsecutiveChar-java.lang.String-">getFrequencyOfEachConsecutiveChar</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;s)</code>&nbsp;</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/DMVUtils.html#LevelsExecutor-java.util.Map-org.apache.sysds.runtime.util.DMVUtils.LEVEL_ENUM-">LevelsExecutor</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;old_pattern_hist,
+              <a href="../../../../../org/apache/sysds/runtime/util/DMVUtils.LEVEL_ENUM.html" title="enum in org.apache.sysds.runtime.util">DMVUtils.LEVEL_ENUM</a>&nbsp;level)</code>&nbsp;</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/DMVUtils.html#removeInnerCharacterInPattern-java.lang.String-char-char-">removeInnerCharacterInPattern</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;pattern,
+                             char&nbsp;outter_char,
+                             char&nbsp;inner_char)</code>&nbsp;</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/DMVUtils.html#removeUpperLowerCase-java.lang.String-">removeUpperLowerCase</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;pattern)</code>&nbsp;</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/DMVUtils.html#syntacticalPatternDiscovery-org.apache.sysds.runtime.matrix.data.FrameBlock-double-java.lang.String-">syntacticalPatternDiscovery</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;frame,
+                           double&nbsp;threshold,
+                           <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;disguised_value)</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ FIELD DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.detail">
+<!--   -->
+</a>
+<h3>Field Detail</h3>
+<a name="DIGIT">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>DIGIT</h4>
+<pre>public static final&nbsp;char DIGIT</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.sysds.runtime.util.DMVUtils.DIGIT">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="LOWER">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>LOWER</h4>
+<pre>public static final&nbsp;char LOWER</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.sysds.runtime.util.DMVUtils.LOWER">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="UPPER">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>UPPER</h4>
+<pre>public static final&nbsp;char UPPER</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.sysds.runtime.util.DMVUtils.UPPER">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="ALPHA">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>ALPHA</h4>
+<pre>public static final&nbsp;char ALPHA</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.sysds.runtime.util.DMVUtils.ALPHA">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="SPACE">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>SPACE</h4>
+<pre>public static final&nbsp;char SPACE</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.sysds.runtime.util.DMVUtils.SPACE">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="DOT">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>DOT</h4>
+<pre>public static final&nbsp;char DOT</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.sysds.runtime.util.DMVUtils.DOT">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="OTHER">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>OTHER</h4>
+<pre>public static final&nbsp;char OTHER</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.sysds.runtime.util.DMVUtils.OTHER">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="ARBITRARY_LEN">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>ARBITRARY_LEN</h4>
+<pre>public static final&nbsp;char ARBITRARY_LEN</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.sysds.runtime.util.DMVUtils.ARBITRARY_LEN">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="MINUS">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>MINUS</h4>
+<pre>public static final&nbsp;char MINUS</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.sysds.runtime.util.DMVUtils.MINUS">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="DMVUtils--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>DMVUtils</h4>
+<pre>public&nbsp;DMVUtils()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="syntacticalPatternDiscovery-org.apache.sysds.runtime.matrix.data.FrameBlock-double-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>syntacticalPatternDiscovery</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;syntacticalPatternDiscovery(<a href="../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;frame,
+                                                     double&nbsp;threshold,
+                                                     <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;disguised_value)</pre>
+</li>
+</ul>
+<a name="calculatePatternsRatio-java.util.Map-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>calculatePatternsRatio</h4>
+<pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a>&gt;&nbsp;calculatePatternsRatio(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;patterns_hist,
+                                                        int&nbsp;nr_entries)</pre>
+</li>
+</ul>
+<a name="findDominantPattern-java.util.Map-double-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>findDominantPattern</h4>
+<pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;findDominantPattern(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a>&gt;&nbsp;dominant_patterns,
+                                         double&nbsp;threshold)</pre>
+</li>
+</ul>
+<a name="LevelsExecutor-java.util.Map-org.apache.sysds.runtime.util.DMVUtils.LEVEL_ENUM-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>LevelsExecutor</h4>
+<pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;LevelsExecutor(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;old_pattern_hist,
+                                                 <a href="../../../../../org/apache/sysds/runtime/util/DMVUtils.LEVEL_ENUM.html" title="enum in org.apache.sysds.runtime.util">DMVUtils.LEVEL_ENUM</a>&nbsp;level)</pre>
+</li>
+</ul>
+<a name="acceptNegativeNumbersAsDigits-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>acceptNegativeNumbersAsDigits</h4>
+<pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;acceptNegativeNumbersAsDigits(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;pattern)</pre>
+</li>
+</ul>
+<a name="removeInnerCharacterInPattern-java.lang.String-char-char-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>removeInnerCharacterInPattern</h4>
+<pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;removeInnerCharacterInPattern(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;pattern,
+                                                   char&nbsp;outter_char,
+                                                   char&nbsp;inner_char)</pre>
+</li>
+</ul>
+<a name="removeUpperLowerCase-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>removeUpperLowerCase</h4>
+<pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;removeUpperLowerCase(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;pattern)</pre>
+</li>
+</ul>
+<a name="encodeRawString-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>encodeRawString</h4>
+<pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;encodeRawString(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;input)</pre>
+</li>
+</ul>
+<a name="getFrequencyOfEachConsecutiveChar-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getFrequencyOfEachConsecutiveChar</h4>
+<pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getFrequencyOfEachConsecutiveChar(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;s)</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/DMVUtils.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/sysds/runtime/util/DataConverter.html" title="class in org.apache.sysds.runtime.util"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/sysds/runtime/util/DMVUtils.LEVEL_ENUM.html" title="enum in org.apache.sysds.runtime.util"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/sysds/runtime/util/DMVUtils.html" target="_top">Frames</a></li>
+<li><a href="DMVUtils.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/util/DataConverter.html b/docs/api/java/org/apache/sysds/runtime/util/DataConverter.html
index 10a6e07..76cf0cd 100644
--- a/docs/api/java/org/apache/sysds/runtime/util/DataConverter.html
+++ b/docs/api/java/org/apache/sysds/runtime/util/DataConverter.html
@@ -50,7 +50,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../org/apache/sysds/runtime/util/CommonThreadPool.html" title="class in org.apache.sysds.runtime.util"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/sysds/runtime/util/DnnUtils.html" title="class in org.apache.sysds.runtime.util"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/sysds/runtime/util/DMVUtils.html" title="class in org.apache.sysds.runtime.util"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?org/apache/sysds/runtime/util/DataConverter.html" target="_top">Frames</a></li>
@@ -1424,7 +1424,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../org/apache/sysds/runtime/util/CommonThreadPool.html" title="class in org.apache.sysds.runtime.util"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/sysds/runtime/util/DnnUtils.html" title="class in org.apache.sysds.runtime.util"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/sysds/runtime/util/DMVUtils.html" title="class in org.apache.sysds.runtime.util"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?org/apache/sysds/runtime/util/DataConverter.html" target="_top">Frames</a></li>
@@ -1464,6 +1464,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/util/DnnUtils.html b/docs/api/java/org/apache/sysds/runtime/util/DnnUtils.html
index b1eed37..1c26f0b 100644
--- a/docs/api/java/org/apache/sysds/runtime/util/DnnUtils.html
+++ b/docs/api/java/org/apache/sysds/runtime/util/DnnUtils.html
@@ -49,8 +49,8 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/sysds/runtime/util/DataConverter.html" title="class in org.apache.sysds.runtime.util"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/sysds/runtime/util/FastBufferedDataInputStream.html" title="class in org.apache.sysds.runtime.util"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/sysds/runtime/util/DMVUtils.LEVEL_ENUM.html" title="enum in org.apache.sysds.runtime.util"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/sysds/runtime/util/EMAUtils.html" title="class in org.apache.sysds.runtime.util"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?org/apache/sysds/runtime/util/DnnUtils.html" target="_top">Frames</a></li>
@@ -295,8 +295,8 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/sysds/runtime/util/DataConverter.html" title="class in org.apache.sysds.runtime.util"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/sysds/runtime/util/FastBufferedDataInputStream.html" title="class in org.apache.sysds.runtime.util"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/sysds/runtime/util/DMVUtils.LEVEL_ENUM.html" title="enum in org.apache.sysds.runtime.util"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/sysds/runtime/util/EMAUtils.html" title="class in org.apache.sysds.runtime.util"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?org/apache/sysds/runtime/util/DnnUtils.html" target="_top">Frames</a></li>
@@ -336,6 +336,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/util/EMAUtils.html b/docs/api/java/org/apache/sysds/runtime/util/EMAUtils.html
new file mode 100644
index 0000000..7b65730
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/util/EMAUtils.html
@@ -0,0 +1,337 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>EMAUtils (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="EMAUtils (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":9,"i1":9,"i2":9,"i3":9};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/EMAUtils.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/sysds/runtime/util/DnnUtils.html" title="class in org.apache.sysds.runtime.util"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/sysds/runtime/util/FastBufferedDataInputStream.html" title="class in org.apache.sysds.runtime.util"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/sysds/runtime/util/EMAUtils.html" target="_top">Frames</a></li>
+<li><a href="EMAUtils.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.sysds.runtime.util</div>
+<h2 title="Class EMAUtils" class="title">Class EMAUtils</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.sysds.runtime.util.EMAUtils</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">EMAUtils</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/EMAUtils.html#EMAUtils--">EMAUtils</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>static org.apache.sysds.runtime.util.EMAUtils.Container</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/EMAUtils.html#double_exponential_smoothing-java.lang.Double:A-java.lang.Double-java.lang.Double-">double_exponential_smoothing</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a>[]&nbsp;data,
+                            <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a>&nbsp;alpha,
+                            <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a>&nbsp;beta)</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/EMAUtils.html#exponentialMovingAverageImputation-org.apache.sysds.runtime.matrix.data.FrameBlock-int-java.lang.String-int-java.lang.Double-java.lang.Double-java.lang.Double-">exponentialMovingAverageImputation</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;block,
+                                  int&nbsp;search_iterations,
+                                  <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;mode,
+                                  int&nbsp;freq,
+                                  <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a>&nbsp;alpha,
+                                  <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a>&nbsp;beta,
+                                  <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a>&nbsp;gamma)</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>static org.apache.sysds.runtime.util.EMAUtils.Container</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/EMAUtils.html#single_exponential_smoothing-java.lang.Double:A-java.lang.Double-">single_exponential_smoothing</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a>[]&nbsp;data,
+                            <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a>&nbsp;alpha)</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>static org.apache.sysds.runtime.util.EMAUtils.Container</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/EMAUtils.html#triple_exponential_smoothing-java.lang.Double:A-java.lang.Double-java.lang.Double-java.lang.Double-java.lang.Integer-">triple_exponential_smoothing</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a>[]&nbsp;data,
+                            <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a>&nbsp;alpha,
+                            <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a>&nbsp;beta,
+                            <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a>&nbsp;gamma,
+                            <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&nbsp;freq)</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="EMAUtils--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>EMAUtils</h4>
+<pre>public&nbsp;EMAUtils()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="exponentialMovingAverageImputation-org.apache.sysds.runtime.matrix.data.FrameBlock-int-java.lang.String-int-java.lang.Double-java.lang.Double-java.lang.Double-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>exponentialMovingAverageImputation</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;exponentialMovingAverageImputation(<a href="../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;block,
+                                                            int&nbsp;search_iterations,
+                                                            <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;mode,
+                                                            int&nbsp;freq,
+                                                            <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a>&nbsp;alpha,
+                                                            <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a>&nbsp;beta,
+                                                            <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a>&nbsp;gamma)</pre>
+</li>
+</ul>
+<a name="single_exponential_smoothing-java.lang.Double:A-java.lang.Double-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>single_exponential_smoothing</h4>
+<pre>public static&nbsp;org.apache.sysds.runtime.util.EMAUtils.Container&nbsp;single_exponential_smoothing(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a>[]&nbsp;data,
+                                                                                            <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a>&nbsp;alpha)</pre>
+</li>
+</ul>
+<a name="double_exponential_smoothing-java.lang.Double:A-java.lang.Double-java.lang.Double-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>double_exponential_smoothing</h4>
+<pre>public static&nbsp;org.apache.sysds.runtime.util.EMAUtils.Container&nbsp;double_exponential_smoothing(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a>[]&nbsp;data,
+                                                                                            <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a>&nbsp;alpha,
+                                                                                            <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a>&nbsp;beta)</pre>
+</li>
+</ul>
+<a name="triple_exponential_smoothing-java.lang.Double:A-java.lang.Double-java.lang.Double-java.lang.Double-java.lang.Integer-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>triple_exponential_smoothing</h4>
+<pre>public static&nbsp;org.apache.sysds.runtime.util.EMAUtils.Container&nbsp;triple_exponential_smoothing(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a>[]&nbsp;data,
+                                                                                            <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a>&nbsp;alpha,
+                                                                                            <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a>&nbsp;beta,
+                                                                                            <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a>&nbsp;gamma,
+                                                                                            <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&nbsp;freq)</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/EMAUtils.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/sysds/runtime/util/DnnUtils.html" title="class in org.apache.sysds.runtime.util"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/sysds/runtime/util/FastBufferedDataInputStream.html" title="class in org.apache.sysds.runtime.util"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/sysds/runtime/util/EMAUtils.html" target="_top">Frames</a></li>
+<li><a href="EMAUtils.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/util/FastBufferedDataInputStream.html b/docs/api/java/org/apache/sysds/runtime/util/FastBufferedDataInputStream.html
index 15a9d95..644bfcf 100644
--- a/docs/api/java/org/apache/sysds/runtime/util/FastBufferedDataInputStream.html
+++ b/docs/api/java/org/apache/sysds/runtime/util/FastBufferedDataInputStream.html
@@ -49,7 +49,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/sysds/runtime/util/DnnUtils.html" title="class in org.apache.sysds.runtime.util"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/sysds/runtime/util/EMAUtils.html" title="class in org.apache.sysds.runtime.util"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../org/apache/sysds/runtime/util/FastBufferedDataOutputStream.html" title="class in org.apache.sysds.runtime.util"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -622,7 +622,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/sysds/runtime/util/DnnUtils.html" title="class in org.apache.sysds.runtime.util"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/sysds/runtime/util/EMAUtils.html" title="class in org.apache.sysds.runtime.util"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../org/apache/sysds/runtime/util/FastBufferedDataOutputStream.html" title="class in org.apache.sysds.runtime.util"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -663,6 +663,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/util/FastBufferedDataOutputStream.html b/docs/api/java/org/apache/sysds/runtime/util/FastBufferedDataOutputStream.html
index 1e31f84..6626c0a 100644
--- a/docs/api/java/org/apache/sysds/runtime/util/FastBufferedDataOutputStream.html
+++ b/docs/api/java/org/apache/sysds/runtime/util/FastBufferedDataOutputStream.html
@@ -677,6 +677,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/util/FastStringTokenizer.html b/docs/api/java/org/apache/sysds/runtime/util/FastStringTokenizer.html
index bc8f242..cd9fdfc 100644
--- a/docs/api/java/org/apache/sysds/runtime/util/FastStringTokenizer.html
+++ b/docs/api/java/org/apache/sysds/runtime/util/FastStringTokenizer.html
@@ -347,6 +347,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/util/HDFSTool.html b/docs/api/java/org/apache/sysds/runtime/util/HDFSTool.html
index 11a0743..10705b1 100644
--- a/docs/api/java/org/apache/sysds/runtime/util/HDFSTool.html
+++ b/docs/api/java/org/apache/sysds/runtime/util/HDFSTool.html
@@ -1279,6 +1279,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/util/IndexRange.html b/docs/api/java/org/apache/sysds/runtime/util/IndexRange.html
index 1bd9c2a..d88a76b 100644
--- a/docs/api/java/org/apache/sysds/runtime/util/IndexRange.html
+++ b/docs/api/java/org/apache/sysds/runtime/util/IndexRange.html
@@ -458,6 +458,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/util/InputStreamInputFormat.html b/docs/api/java/org/apache/sysds/runtime/util/InputStreamInputFormat.html
index d229dca..37121c1 100644
--- a/docs/api/java/org/apache/sysds/runtime/util/InputStreamInputFormat.html
+++ b/docs/api/java/org/apache/sysds/runtime/util/InputStreamInputFormat.html
@@ -307,6 +307,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/util/LocalFileUtils.html b/docs/api/java/org/apache/sysds/runtime/util/LocalFileUtils.html
index ca972e2..20e8c20 100644
--- a/docs/api/java/org/apache/sysds/runtime/util/LocalFileUtils.html
+++ b/docs/api/java/org/apache/sysds/runtime/util/LocalFileUtils.html
@@ -1044,6 +1044,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/util/LongLongDoubleHashMap.ADoubleEntry.html b/docs/api/java/org/apache/sysds/runtime/util/LongLongDoubleHashMap.ADoubleEntry.html
index 3347295..946760b 100644
--- a/docs/api/java/org/apache/sysds/runtime/util/LongLongDoubleHashMap.ADoubleEntry.html
+++ b/docs/api/java/org/apache/sysds/runtime/util/LongLongDoubleHashMap.ADoubleEntry.html
@@ -333,6 +333,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/util/LongLongDoubleHashMap.EntryType.html b/docs/api/java/org/apache/sysds/runtime/util/LongLongDoubleHashMap.EntryType.html
index b47542a..5d20d64 100644
--- a/docs/api/java/org/apache/sysds/runtime/util/LongLongDoubleHashMap.EntryType.html
+++ b/docs/api/java/org/apache/sysds/runtime/util/LongLongDoubleHashMap.EntryType.html
@@ -341,6 +341,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/util/LongLongDoubleHashMap.html b/docs/api/java/org/apache/sysds/runtime/util/LongLongDoubleHashMap.html
index e73c24b..dd36cb0 100644
--- a/docs/api/java/org/apache/sysds/runtime/util/LongLongDoubleHashMap.html
+++ b/docs/api/java/org/apache/sysds/runtime/util/LongLongDoubleHashMap.html
@@ -350,6 +350,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/util/NormalPRNGenerator.html b/docs/api/java/org/apache/sysds/runtime/util/NormalPRNGenerator.html
index e012ab3..4bd2b57 100644
--- a/docs/api/java/org/apache/sysds/runtime/util/NormalPRNGenerator.html
+++ b/docs/api/java/org/apache/sysds/runtime/util/NormalPRNGenerator.html
@@ -296,6 +296,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/util/PRNGenerator.html b/docs/api/java/org/apache/sysds/runtime/util/PRNGenerator.html
index 8d72d31..c1dd07f 100644
--- a/docs/api/java/org/apache/sysds/runtime/util/PRNGenerator.html
+++ b/docs/api/java/org/apache/sysds/runtime/util/PRNGenerator.html
@@ -284,6 +284,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/util/PoissonPRNGenerator.html b/docs/api/java/org/apache/sysds/runtime/util/PoissonPRNGenerator.html
index 5d02085..e7df275 100644
--- a/docs/api/java/org/apache/sysds/runtime/util/PoissonPRNGenerator.html
+++ b/docs/api/java/org/apache/sysds/runtime/util/PoissonPRNGenerator.html
@@ -335,6 +335,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/util/ProgramConverter.html b/docs/api/java/org/apache/sysds/runtime/util/ProgramConverter.html
index a151b91..2af6cd1 100644
--- a/docs/api/java/org/apache/sysds/runtime/util/ProgramConverter.html
+++ b/docs/api/java/org/apache/sysds/runtime/util/ProgramConverter.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":9,"i11":9,"i12":9,"i13":9,"i14":9,"i15":9,"i16":9,"i17":9,"i18":9,"i19":9,"i20":9,"i21":9,"i22":9,"i23":9,"i24":9,"i25":9,"i26":9,"i27":9,"i28":9,"i29":9};
+var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":9,"i11":9,"i12":9,"i13":9,"i14":9,"i15":9,"i16":9,"i17":9,"i18":9,"i19":9,"i20":9,"i21":9,"i22":9,"i23":9,"i24":9,"i25":9,"i26":9,"i27":9,"i28":9,"i29":9,"i30":9,"i31":9};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -475,11 +475,17 @@
             int&nbsp;id)</code>&nbsp;</td>
 </tr>
 <tr id="i19" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/runtime/controlprogram/Program.html" title="class in org.apache.sysds.runtime.controlprogram">Program</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/ProgramConverter.html#parseProgram-java.lang.String-int-boolean-">parseProgram</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;in,
+            int&nbsp;id,
+            boolean&nbsp;opt)</code>&nbsp;</td>
+</tr>
+<tr id="i20" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/runtime/controlprogram/paramserv/SparkPSBody.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv">SparkPSBody</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/ProgramConverter.html#parseSparkPSBody-java.lang.String-int-">parseSparkPSBody</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;in,
                 int&nbsp;id)</code>&nbsp;</td>
 </tr>
-<tr id="i20" class="altColor">
+<tr id="i21" class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/controlprogram/ProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ProgramBlock</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/ProgramConverter.html#rcreateDeepCopyProgramBlocks-java.util.ArrayList-long-int-java.util.Set-java.util.Set-boolean-boolean-">rcreateDeepCopyProgramBlocks</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/controlprogram/ProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ProgramBlock</a>&gt;&nbsp;childBlocks,
                             long&nbsp;pid,
@@ -492,44 +498,51 @@
  specified parallel worker in order to avoid conflicts between parworkers.</div>
 </td>
 </tr>
-<tr id="i21" class="rowColor">
+<tr id="i22" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/ProgramConverter.html#rCreateDeepCopyStatementBlock-org.apache.sysds.parser.StatementBlock-">rCreateDeepCopyStatementBlock</a></span>(<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&nbsp;sb)</code>&nbsp;</td>
 </tr>
-<tr id="i22" class="altColor">
+<tr id="i23" class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/ProgramConverter.html#saveReplaceFilenameThreadID-java.lang.String-java.lang.String-java.lang.String-">saveReplaceFilenameThreadID</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;fname,
                            <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;pattern,
                            <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;replace)</code>&nbsp;</td>
 </tr>
-<tr id="i23" class="rowColor">
+<tr id="i24" class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/ProgramConverter.html#serializeDataObject-java.lang.String-org.apache.sysds.runtime.instructions.cp.Data-">serializeDataObject</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key,
                    <a href="../../../../../org/apache/sysds/runtime/instructions/cp/Data.html" title="class in org.apache.sysds.runtime.instructions.cp">Data</a>&nbsp;dat)</code>&nbsp;</td>
 </tr>
-<tr id="i24" class="altColor">
+<tr id="i25" class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/ProgramConverter.html#serializeList-java.util.List-">serializeList</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;elements)</code>&nbsp;</td>
 </tr>
-<tr id="i25" class="rowColor">
+<tr id="i26" class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/ProgramConverter.html#serializeList-java.util.List-java.lang.String-">serializeList</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;elements,
              <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;delim)</code>&nbsp;</td>
 </tr>
-<tr id="i26" class="altColor">
+<tr id="i27" class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/ProgramConverter.html#serializeParForBody-org.apache.sysds.runtime.controlprogram.parfor.ParForBody-">serializeParForBody</a></span>(<a href="../../../../../org/apache/sysds/runtime/controlprogram/parfor/ParForBody.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">ParForBody</a>&nbsp;body)</code>&nbsp;</td>
 </tr>
-<tr id="i27" class="rowColor">
+<tr id="i28" class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/ProgramConverter.html#serializeParForBody-org.apache.sysds.runtime.controlprogram.parfor.ParForBody-java.util.HashMap-">serializeParForBody</a></span>(<a href="../../../../../org/apache/sysds/runtime/controlprogram/parfor/ParForBody.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">ParForBody</a>&nbsp;body,
                    <a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,byte[]&gt;&nbsp;clsMap)</code>&nbsp;</td>
 </tr>
-<tr id="i28" class="altColor">
+<tr id="i29" class="rowColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/ProgramConverter.html#serializeProgram-org.apache.sysds.runtime.controlprogram.Program-java.util.ArrayList-java.util.HashMap-boolean-">serializeProgram</a></span>(<a href="../../../../../org/apache/sysds/runtime/controlprogram/Program.html" title="class in org.apache.sysds.runtime.controlprogram">Program</a>&nbsp;prog,
+                <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/controlprogram/ProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ProgramBlock</a>&gt;&nbsp;pbs,
+                <a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,byte[]&gt;&nbsp;clsMap,
+                boolean&nbsp;opt)</code>&nbsp;</td>
+</tr>
+<tr id="i30" class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/ProgramConverter.html#serializeResultVariables-java.util.List-">serializeResultVariables</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/sysds/parser/ParForStatementBlock.ResultVar.html" title="class in org.apache.sysds.parser">ParForStatementBlock.ResultVar</a>&gt;&nbsp;vars)</code>&nbsp;</td>
 </tr>
-<tr id="i29" class="rowColor">
+<tr id="i31" class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/ProgramConverter.html#serializeSparkPSBody-org.apache.sysds.runtime.controlprogram.paramserv.SparkPSBody-java.util.HashMap-">serializeSparkPSBody</a></span>(<a href="../../../../../org/apache/sysds/runtime/controlprogram/paramserv/SparkPSBody.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv">SparkPSBody</a>&nbsp;body,
                     <a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,byte[]&gt;&nbsp;clsMap)</code>&nbsp;</td>
@@ -1413,6 +1426,18 @@
                                          <a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,byte[]&gt;&nbsp;clsMap)</pre>
 </li>
 </ul>
+<a name="serializeProgram-org.apache.sysds.runtime.controlprogram.Program-java.util.ArrayList-java.util.HashMap-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>serializeProgram</h4>
+<pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;serializeProgram(<a href="../../../../../org/apache/sysds/runtime/controlprogram/Program.html" title="class in org.apache.sysds.runtime.controlprogram">Program</a>&nbsp;prog,
+                                      <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/controlprogram/ProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ProgramBlock</a>&gt;&nbsp;pbs,
+                                      <a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,byte[]&gt;&nbsp;clsMap,
+                                      boolean&nbsp;opt)</pre>
+</li>
+</ul>
 <a name="serializeDataObject-java.lang.String-org.apache.sysds.runtime.instructions.cp.Data-">
 <!--   -->
 </a>
@@ -1492,6 +1517,17 @@
                                    int&nbsp;id)</pre>
 </li>
 </ul>
+<a name="parseProgram-java.lang.String-int-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>parseProgram</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/sysds/runtime/controlprogram/Program.html" title="class in org.apache.sysds.runtime.controlprogram">Program</a>&nbsp;parseProgram(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;in,
+                                   int&nbsp;id,
+                                   boolean&nbsp;opt)</pre>
+</li>
+</ul>
 <a name="parseDataObject-java.lang.String-">
 <!--   -->
 </a>
@@ -1589,6 +1625,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/util/Py4jConverterUtils.html b/docs/api/java/org/apache/sysds/runtime/util/Py4jConverterUtils.html
index b4cb1d8..658cabe 100644
--- a/docs/api/java/org/apache/sysds/runtime/util/Py4jConverterUtils.html
+++ b/docs/api/java/org/apache/sysds/runtime/util/Py4jConverterUtils.html
@@ -382,6 +382,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/util/RandNPair.html b/docs/api/java/org/apache/sysds/runtime/util/RandNPair.html
index fa077d7..6d7744a 100644
--- a/docs/api/java/org/apache/sysds/runtime/util/RandNPair.html
+++ b/docs/api/java/org/apache/sysds/runtime/util/RandNPair.html
@@ -311,6 +311,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/util/SortUtils.html b/docs/api/java/org/apache/sysds/runtime/util/SortUtils.html
index 07dc6ba..024ebf6 100644
--- a/docs/api/java/org/apache/sysds/runtime/util/SortUtils.html
+++ b/docs/api/java/org/apache/sysds/runtime/util/SortUtils.html
@@ -432,6 +432,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/util/UniformPRNGenerator.html b/docs/api/java/org/apache/sysds/runtime/util/UniformPRNGenerator.html
index dca54a3..1c2394e 100644
--- a/docs/api/java/org/apache/sysds/runtime/util/UniformPRNGenerator.html
+++ b/docs/api/java/org/apache/sysds/runtime/util/UniformPRNGenerator.html
@@ -305,6 +305,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/util/UtilFunctions.html b/docs/api/java/org/apache/sysds/runtime/util/UtilFunctions.html
index 0c76208..8ea2493 100644
--- a/docs/api/java/org/apache/sysds/runtime/util/UtilFunctions.html
+++ b/docs/api/java/org/apache/sysds/runtime/util/UtilFunctions.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":9,"i11":9,"i12":9,"i13":9,"i14":9,"i15":9,"i16":9,"i17":9,"i18":9,"i19":9,"i20":9,"i21":9,"i22":9,"i23":9,"i24":9,"i25":9,"i26":9,"i27":9,"i28":9,"i29":9,"i30":9,"i31":9,"i32":9,"i33":9,"i34":9,"i35":9,"i36":9,"i37":9,"i38":9,"i39":9,"i40":9,"i41":9,"i42":9,"i43":9,"i44":9,"i45":9,"i46":9,"i47":9,"i48":9,"i49":9,"i50":9,"i51":9,"i52":9,"i53":9,"i54":9,"i55":9,"i56":9,"i57":9,"i58":9,"i59":9,"i60":9,"i61":9,"i62":9,"i63":9,"i64":9,"i65":9,"i66":9,"i67":9,"i68":9,"i69":9,"i70":9};
+var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":9,"i11":9,"i12":9,"i13":9,"i14":9,"i15":9,"i16":9,"i17":9,"i18":9,"i19":9,"i20":9,"i21":9,"i22":9,"i23":9,"i24":9,"i25":9,"i26":9,"i27":9,"i28":9,"i29":9,"i30":9,"i31":9,"i32":9,"i33":9,"i34":9,"i35":9,"i36":9,"i37":9,"i38":9,"i39":9,"i40":9,"i41":9,"i42":9,"i43":9,"i44":9,"i45":9,"i46":9,"i47":9,"i48":9,"i49":9,"i50":9,"i51":9,"i52":9,"i53":9,"i54":9,"i55":9,"i56":9,"i57":9,"i58":9,"i59":9,"i60":9,"i61":9,"i62":9,"i63":9,"i64":9,"i65":9,"i66":9,"i67":9,"i68":9,"i69":9,"i70":9,"i71":9,"i72":9,"i73":9,"i74":9,"i75":9,"i76":9,"i77":9,"i78":9};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -134,14 +134,10 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/UtilFunctions.html#ADD_PRIME1">ADD_PRIME1</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashSet.html?is-external=true" title="class or interface in java.util">HashSet</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/UtilFunctions.html#defaultNaString">defaultNaString</a></span></code>&nbsp;</td>
-</tr>
-<tr class="altColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/UtilFunctions.html#DIVIDE_PRIME">DIVIDE_PRIME</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static double</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/UtilFunctions.html#DOUBLE_EPS">DOUBLE_EPS</a></span></code>&nbsp;</td>
 </tr>
@@ -178,12 +174,17 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/UtilFunctions.html#columnStringToCSVString-java.lang.String-java.lang.String-">columnStringToCSVString</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;input,
+                       <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;separator)</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/UtilFunctions.html#compareTo-org.apache.sysds.common.Types.ValueType-java.lang.Object-java.lang.Object-">compareTo</a></span>(<a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
          <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;in1,
          <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;in2)</code>&nbsp;</td>
 </tr>
-<tr id="i1" class="rowColor">
+<tr id="i2" class="altColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/UtilFunctions.html#compareVersion-java.lang.String-java.lang.String-">compareVersion</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;version1,
               <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;version2)</code>
@@ -191,7 +192,7 @@
  y is minor, and z is maintenance release.</div>
 </td>
 </tr>
-<tr id="i2" class="altColor">
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/UtilFunctions.html#computeBlockIndex-long-int-">computeBlockIndex</a></span>(long&nbsp;cellIndex,
                  int&nbsp;blockSize)</code>
@@ -199,7 +200,7 @@
  data.</div>
 </td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/UtilFunctions.html#computeBlockNumber-int:A-long:A-int-">computeBlockNumber</a></span>(int[]&nbsp;ix,
                   long[]&nbsp;dims,
@@ -207,7 +208,7 @@
 <div class="block">Calculates the number of the block this index refers to (basically a linearisation).</div>
 </td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/UtilFunctions.html#computeBlockSize-long-long-long-">computeBlockSize</a></span>(long&nbsp;len,
                 long&nbsp;blockIndex,
@@ -216,7 +217,7 @@
  meta data.</div>
 </td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/UtilFunctions.html#computeCellInBlock-long-int-">computeCellInBlock</a></span>(long&nbsp;cellIndex,
                   int&nbsp;blockSize)</code>
@@ -224,7 +225,7 @@
  size meta data.</div>
 </td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/UtilFunctions.html#computeCellIndex-long-int-int-">computeCellIndex</a></span>(long&nbsp;blockIndex,
                 int&nbsp;blockSize,
@@ -233,57 +234,57 @@
  and specific 0-based in-block cell index.</div>
 </td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code>static long[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/UtilFunctions.html#computeNextTensorIndexes-org.apache.sysds.runtime.meta.TensorCharacteristics-long:A-">computeNextTensorIndexes</a></span>(<a href="../../../../../org/apache/sysds/runtime/meta/TensorCharacteristics.html" title="class in org.apache.sysds.runtime.meta">TensorCharacteristics</a>&nbsp;tc,
                         long[]&nbsp;ix)</code>
 <div class="block">Computes the next tensor indexes array.</div>
 </td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/UtilFunctions.html#computeNnz-java.util.BitSet-int-int-">computeNnz</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/BitSet.html?is-external=true" title="class or interface in java.util">BitSet</a>&nbsp;a,
           int&nbsp;ai,
           int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i10" class="altColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/UtilFunctions.html#computeNnz-double:A-int-int-">computeNnz</a></span>(double[]&nbsp;a,
           int&nbsp;ai,
           int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/UtilFunctions.html#computeNnz-float:A-int-int-">computeNnz</a></span>(float[]&nbsp;a,
           int&nbsp;ai,
           int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i11" class="rowColor">
+<tr id="i12" class="altColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/UtilFunctions.html#computeNnz-int:A-int-int-">computeNnz</a></span>(int[]&nbsp;a,
           int&nbsp;ai,
           int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i12" class="altColor">
+<tr id="i13" class="rowColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/UtilFunctions.html#computeNnz-long:A-int-int-">computeNnz</a></span>(long[]&nbsp;a,
           int&nbsp;ai,
           int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i13" class="rowColor">
+<tr id="i14" class="altColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/UtilFunctions.html#computeNnz-org.apache.sysds.runtime.data.SparseBlock-int:A-int-int-">computeNnz</a></span>(<a href="../../../../../org/apache/sysds/runtime/data/SparseBlock.html" title="class in org.apache.sysds.runtime.data">SparseBlock</a>&nbsp;a,
           int[]&nbsp;aix,
           int&nbsp;ai,
           int&nbsp;alen)</code>&nbsp;</td>
 </tr>
-<tr id="i14" class="altColor">
+<tr id="i15" class="rowColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/UtilFunctions.html#computeNnz-java.lang.String:A-int-int-">computeNnz</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;a,
           int&nbsp;ai,
           int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i15" class="rowColor">
+<tr id="i16" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/UtilFunctions.html#computeSliceInfo-org.apache.sysds.runtime.meta.TensorCharacteristics-long:A-int:A-int:A-">computeSliceInfo</a></span>(<a href="../../../../../org/apache/sysds/runtime/meta/TensorCharacteristics.html" title="class in org.apache.sysds.runtime.meta">TensorCharacteristics</a>&nbsp;tc,
                 long[]&nbsp;blockIx,
@@ -293,66 +294,87 @@
  <code>TensorCharacteristics</code>.</div>
 </td>
 </tr>
-<tr id="i16" class="altColor">
+<tr id="i17" class="rowColor">
 <td class="colFirst"><code>static long[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/UtilFunctions.html#computeTensorIndexes-org.apache.sysds.runtime.meta.TensorCharacteristics-long-">computeTensorIndexes</a></span>(<a href="../../../../../org/apache/sysds/runtime/meta/TensorCharacteristics.html" title="class in org.apache.sysds.runtime.meta">TensorCharacteristics</a>&nbsp;tc,
                     long&nbsp;blockIndex)</code>
 <div class="block">Computes the tensor indexes array given a blockIndex we ant to compute.</div>
 </td>
 </tr>
-<tr id="i17" class="rowColor">
+<tr id="i18" class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/UtilFunctions.html#containsZero-double:A-int-int-">containsZero</a></span>(double[]&nbsp;data,
             int&nbsp;pos,
             int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i18" class="altColor">
+<tr id="i19" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/UtilFunctions.html#copyOf-org.apache.sysds.common.Types.ValueType:A-org.apache.sysds.common.Types.ValueType:A-">copyOf</a></span>(<a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>[]&nbsp;schema1,
       <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>[]&nbsp;schema2)</code>&nbsp;</td>
 </tr>
-<tr id="i19" class="rowColor">
+<tr id="i20" class="altColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/UtilFunctions.html#countNonZeros-double:A-int-int-">countNonZeros</a></span>(double[]&nbsp;data,
              int&nbsp;pos,
              int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i20" class="altColor">
+<tr id="i21" class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/UtilFunctions.html#doubleToObject-org.apache.sysds.common.Types.ValueType-double-">doubleToObject</a></span>(<a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
               double&nbsp;in)</code>&nbsp;</td>
 </tr>
-<tr id="i21" class="rowColor">
+<tr id="i22" class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/UtilFunctions.html#doubleToObject-org.apache.sysds.common.Types.ValueType-double-boolean-">doubleToObject</a></span>(<a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
               double&nbsp;in,
               boolean&nbsp;sparse)</code>&nbsp;</td>
 </tr>
-<tr id="i22" class="altColor">
+<tr id="i23" class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/UtilFunctions.html#formatMemorySize-long-">formatMemorySize</a></span>(long&nbsp;arg)</code>
 <div class="block">Format a memory size with g/m/k quantifiers into its
  number representation.</div>
 </td>
 </tr>
-<tr id="i23" class="rowColor">
+<tr id="i24" class="altColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/UtilFunctions.html#frequency-org.apache.sysds.common.Types.ValueType:A-org.apache.sysds.common.Types.ValueType-">frequency</a></span>(<a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>[]&nbsp;schema,
          <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt)</code>&nbsp;</td>
 </tr>
-<tr id="i24" class="altColor">
+<tr id="i25" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/UtilFunctions.html#generateRandomFrameBlock-int-int-org.apache.sysds.common.Types.ValueType:A-java.util.Random-">generateRandomFrameBlock</a></span>(int&nbsp;rows,
+                        int&nbsp;cols,
+                        <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>[]&nbsp;schema,
+                        <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Random.html?is-external=true" title="class or interface in java.util">Random</a>&nbsp;random)</code>
+<div class="block">Generates a random FrameBlock with given parameters.</div>
+</td>
+</tr>
+<tr id="i26" class="altColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/UtilFunctions.html#generateRandomValueFromValueType-org.apache.sysds.common.Types.ValueType-java.util.Random-">generateRandomValueFromValueType</a></span>(<a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;valueType,
+                                <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Random.html?is-external=true" title="class or interface in java.util">Random</a>&nbsp;random)</code>
+<div class="block">Generates a random value for a given Value Type</div>
+</td>
+</tr>
+<tr id="i27" class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/UtilFunctions.html#getAlignedBlockSizes-int-int-int-">getAlignedBlockSizes</a></span>(int&nbsp;len,
                     int&nbsp;k,
                     int&nbsp;align)</code>&nbsp;</td>
 </tr>
-<tr id="i25" class="rowColor">
+<tr id="i28" class="altColor">
+<td class="colFirst"><code>static int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/UtilFunctions.html#getAsciiAtIdx-java.lang.String-int-">getAsciiAtIdx</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;s,
+             int&nbsp;idx)</code>&nbsp;</td>
+</tr>
+<tr id="i29" class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/UtilFunctions.html#getBalancedBlockSizesDefault-int-int-boolean-">getBalancedBlockSizesDefault</a></span>(int&nbsp;len,
                             int&nbsp;k,
                             boolean&nbsp;constK)</code>&nbsp;</td>
 </tr>
-<tr id="i26" class="altColor">
+<tr id="i30" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/UtilFunctions.html#getBlockBounds-org.apache.sysds.runtime.data.TensorIndexes-long:A-int-int:A-int:A-">getBlockBounds</a></span>(<a href="../../../../../org/apache/sysds/runtime/data/TensorIndexes.html" title="class in org.apache.sysds.runtime.data">TensorIndexes</a>&nbsp;ix,
               long[]&nbsp;dims,
@@ -360,17 +382,17 @@
               int[]&nbsp;lower,
               int[]&nbsp;upper)</code>&nbsp;</td>
 </tr>
-<tr id="i27" class="rowColor">
+<tr id="i31" class="rowColor">
 <td class="colFirst"><code>static double</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/UtilFunctions.html#getDouble-java.lang.Object-">getDouble</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;obj)</code>&nbsp;</td>
 </tr>
-<tr id="i28" class="altColor">
+<tr id="i32" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/UtilFunctions.html#getSelectedRangeForZeroOut-org.apache.sysds.runtime.instructions.spark.data.IndexedMatrixValue-int-org.apache.sysds.runtime.util.IndexRange-">getSelectedRangeForZeroOut</a></span>(<a href="../../../../../org/apache/sysds/runtime/instructions/spark/data/IndexedMatrixValue.html" title="class in org.apache.sysds.runtime.instructions.spark.data">IndexedMatrixValue</a>&nbsp;in,
                           int&nbsp;blen,
                           <a href="../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;indexRange)</code>&nbsp;</td>
 </tr>
-<tr id="i29" class="rowColor">
+<tr id="i33" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/UtilFunctions.html#getSelectedRangeForZeroOut-org.apache.sysds.runtime.matrix.data.Pair-int-org.apache.sysds.runtime.util.IndexRange-long-long-">getSelectedRangeForZeroOut</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/data/Pair.html" title="class in org.apache.sysds.runtime.matrix.data">Pair</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&gt;&nbsp;in,
                           int&nbsp;blen,
@@ -378,7 +400,7 @@
                           long&nbsp;lSrcRowIndex,
                           long&nbsp;lDestRowIndex)</code>&nbsp;</td>
 </tr>
-<tr id="i30" class="altColor">
+<tr id="i34" class="altColor">
 <td class="colFirst"><code>static int[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/UtilFunctions.html#getSeqArray-int-int-int-">getSeqArray</a></span>(int&nbsp;low,
            int&nbsp;up,
@@ -386,20 +408,20 @@
 <div class="block">Obtain sequence array</div>
 </td>
 </tr>
-<tr id="i31" class="rowColor">
+<tr id="i35" class="rowColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/UtilFunctions.html#getSeqLength-double-double-double-">getSeqLength</a></span>(double&nbsp;from,
             double&nbsp;to,
             double&nbsp;incr)</code>&nbsp;</td>
 </tr>
-<tr id="i32" class="altColor">
+<tr id="i36" class="altColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/UtilFunctions.html#getSeqLength-double-double-double-boolean-">getSeqLength</a></span>(double&nbsp;from,
             double&nbsp;to,
             double&nbsp;incr,
             boolean&nbsp;check)</code>&nbsp;</td>
 </tr>
-<tr id="i33" class="rowColor">
+<tr id="i37" class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/UtilFunctions.html#getSeqList-int-int-int-">getSeqList</a></span>(int&nbsp;low,
           int&nbsp;up,
@@ -407,34 +429,38 @@
 <div class="block">Obtain sequence list</div>
 </td>
 </tr>
-<tr id="i34" class="altColor">
+<tr id="i38" class="altColor">
 <td class="colFirst"><code>static int[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/UtilFunctions.html#getSortedSampleIndexes-int-int-">getSortedSampleIndexes</a></span>(int&nbsp;range,
                       int&nbsp;sampleSize)</code>&nbsp;</td>
 </tr>
-<tr id="i35" class="rowColor">
+<tr id="i39" class="rowColor">
 <td class="colFirst"><code>static int[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/UtilFunctions.html#getSortedSampleIndexes-int-int-long-">getSortedSampleIndexes</a></span>(int&nbsp;range,
                       int&nbsp;sampleSize,
                       long&nbsp;seed)</code>&nbsp;</td>
 </tr>
-<tr id="i36" class="altColor">
+<tr id="i40" class="altColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/UtilFunctions.html#getSplittedStringAsArray-java.lang.String-">getSplittedStringAsArray</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;input)</code>&nbsp;</td>
+</tr>
+<tr id="i41" class="rowColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/UtilFunctions.html#intHashCode-int-int-">intHashCode</a></span>(int&nbsp;key1,
            int&nbsp;key2)</code>&nbsp;</td>
 </tr>
-<tr id="i37" class="rowColor">
+<tr id="i42" class="altColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/UtilFunctions.html#intHashCodeRobust-int-int-">intHashCodeRobust</a></span>(int&nbsp;key1,
                  int&nbsp;key2)</code>&nbsp;</td>
 </tr>
-<tr id="i38" class="altColor">
+<tr id="i43" class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/UtilFunctions.html#isInBlockRange-org.apache.sysds.runtime.matrix.data.MatrixIndexes-int-org.apache.sysds.runtime.util.IndexRange-">isInBlockRange</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixIndexes.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixIndexes</a>&nbsp;ix,
               int&nbsp;blen,
               <a href="../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixrange)</code>&nbsp;</td>
 </tr>
-<tr id="i39" class="rowColor">
+<tr id="i44" class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/UtilFunctions.html#isInBlockRange-org.apache.sysds.runtime.matrix.data.MatrixIndexes-int-long-long-long-long-">isInBlockRange</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixIndexes.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixIndexes</a>&nbsp;ix,
               int&nbsp;blen,
@@ -443,39 +469,48 @@
               long&nbsp;cl,
               long&nbsp;cu)</code>&nbsp;</td>
 </tr>
-<tr id="i40" class="altColor">
+<tr id="i45" class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/UtilFunctions.html#isInFrameBlockRange-java.lang.Long-int-org.apache.sysds.runtime.util.IndexRange-">isInFrameBlockRange</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&nbsp;ix,
                    int&nbsp;blen,
                    <a href="../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixrange)</code>&nbsp;</td>
 </tr>
-<tr id="i41" class="rowColor">
+<tr id="i46" class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/UtilFunctions.html#isInFrameBlockRange-java.lang.Long-int-long-long-">isInFrameBlockRange</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&nbsp;ix,
                    int&nbsp;blen,
                    long&nbsp;rl,
                    long&nbsp;ru)</code>&nbsp;</td>
 </tr>
-<tr id="i42" class="altColor">
+<tr id="i47" class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/UtilFunctions.html#isIntegerNumber-java.lang.String-">isIntegerNumber</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</code>&nbsp;</td>
 </tr>
-<tr id="i43" class="rowColor">
+<tr id="i48" class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/UtilFunctions.html#isNonZero-java.lang.Object-">isNonZero</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;obj)</code>&nbsp;</td>
 </tr>
-<tr id="i44" class="altColor">
+<tr id="i49" class="rowColor">
+<td class="colFirst"><code>static boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/UtilFunctions.html#isSpecial-double-">isSpecial</a></span>(double&nbsp;value)</code>&nbsp;</td>
+</tr>
+<tr id="i50" class="altColor">
+<td class="colFirst"><code>static double</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/UtilFunctions.html#jaccardSim-java.lang.String-java.lang.String-">jaccardSim</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;x,
+          <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;y)</code>&nbsp;</td>
+</tr>
+<tr id="i51" class="rowColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/UtilFunctions.html#longHashCode-long-">longHashCode</a></span>(long&nbsp;key1)</code>&nbsp;</td>
 </tr>
-<tr id="i45" class="rowColor">
+<tr id="i52" class="altColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/UtilFunctions.html#longHashCode-long-long-">longHashCode</a></span>(long&nbsp;key1,
             long&nbsp;key2)</code>
 <div class="block">Returns the hash code for a long-long pair.</div>
 </td>
 </tr>
-<tr id="i46" class="altColor">
+<tr id="i53" class="rowColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/UtilFunctions.html#longHashCode-long-long-long-">longHashCode</a></span>(long&nbsp;key1,
             long&nbsp;key2,
@@ -483,117 +518,123 @@
 <div class="block">Returns the hash code for a long-long-long triple.</div>
 </td>
 </tr>
-<tr id="i47" class="rowColor">
+<tr id="i54" class="altColor">
 <td class="colFirst"><code>static byte</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/UtilFunctions.html#max-byte:A-">max</a></span>(byte[]&nbsp;array)</code>&nbsp;</td>
 </tr>
-<tr id="i48" class="altColor">
+<tr id="i55" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/UtilFunctions.html#nCopies-int-org.apache.sysds.common.Types.ValueType-">nCopies</a></span>(int&nbsp;n,
        <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt)</code>&nbsp;</td>
 </tr>
-<tr id="i49" class="rowColor">
+<tr id="i56" class="altColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/UtilFunctions.html#nextIntPow2-int-">nextIntPow2</a></span>(int&nbsp;in)</code>&nbsp;</td>
 </tr>
-<tr id="i50" class="altColor">
+<tr id="i57" class="rowColor">
 <td class="colFirst"><code>static double</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/UtilFunctions.html#objectToDouble-org.apache.sysds.common.Types.ValueType-java.lang.Object-">objectToDouble</a></span>(<a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
               <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;in)</code>&nbsp;</td>
 </tr>
-<tr id="i51" class="rowColor">
+<tr id="i58" class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/UtilFunctions.html#objectToObject-org.apache.sysds.common.Types.ValueType-java.lang.Object-">objectToObject</a></span>(<a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
               <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;in)</code>&nbsp;</td>
 </tr>
-<tr id="i52" class="altColor">
+<tr id="i59" class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/UtilFunctions.html#objectToObject-org.apache.sysds.common.Types.ValueType-java.lang.Object-boolean-">objectToObject</a></span>(<a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
               <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;in,
               boolean&nbsp;ignoreNull)</code>&nbsp;</td>
 </tr>
-<tr id="i53" class="rowColor">
+<tr id="i60" class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/UtilFunctions.html#objectToString-java.lang.Object-">objectToString</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;in)</code>&nbsp;</td>
 </tr>
-<tr id="i54" class="altColor">
+<tr id="i61" class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/UtilFunctions.html#objectToString-java.lang.Object-boolean-">objectToString</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;in,
               boolean&nbsp;ignoreNull)</code>
 <div class="block">Convert object to string</div>
 </td>
 </tr>
-<tr id="i55" class="rowColor">
+<tr id="i62" class="altColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/UtilFunctions.html#parseMemorySize-java.lang.String-">parseMemorySize</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;arg)</code>
 <div class="block">Parses a memory size with optional g/m/k quantifiers into its
  number representation.</div>
 </td>
 </tr>
-<tr id="i56" class="altColor">
+<tr id="i63" class="rowColor">
 <td class="colFirst"><code>static double</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/UtilFunctions.html#parseToDouble-java.lang.String-java.util.Set-">parseToDouble</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str,
              <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;isNan)</code>
 <div class="block">Safe double parsing including handling of NAs.</div>
 </td>
 </tr>
-<tr id="i57" class="rowColor">
+<tr id="i64" class="altColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/UtilFunctions.html#parseToInt-java.lang.String-">parseToInt</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</code>&nbsp;</td>
 </tr>
-<tr id="i58" class="altColor">
+<tr id="i65" class="rowColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/UtilFunctions.html#parseToLong-java.lang.String-">parseToLong</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</code>&nbsp;</td>
 </tr>
-<tr id="i59" class="rowColor">
+<tr id="i66" class="altColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/UtilFunctions.html#pow-int-int-">pow</a></span>(int&nbsp;base,
    int&nbsp;exp)</code>&nbsp;</td>
 </tr>
-<tr id="i60" class="altColor">
+<tr id="i67" class="rowColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/UtilFunctions.html#prod-int:A-">prod</a></span>(int[]&nbsp;arr)</code>&nbsp;</td>
 </tr>
-<tr id="i61" class="rowColor">
+<tr id="i68" class="altColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/UtilFunctions.html#prod-int:A-int-">prod</a></span>(int[]&nbsp;arr,
     int&nbsp;off)</code>&nbsp;</td>
 </tr>
-<tr id="i62" class="altColor">
+<tr id="i69" class="rowColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/UtilFunctions.html#prod-long:A-">prod</a></span>(long[]&nbsp;arr)</code>&nbsp;</td>
 </tr>
-<tr id="i63" class="rowColor">
+<tr id="i70" class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/UtilFunctions.html#quote-java.lang.String-">quote</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;s)</code>&nbsp;</td>
 </tr>
-<tr id="i64" class="altColor">
+<tr id="i71" class="rowColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/UtilFunctions.html#roundToNext-int-int-">roundToNext</a></span>(int&nbsp;val,
            int&nbsp;factor)</code>&nbsp;</td>
 </tr>
-<tr id="i65" class="rowColor">
+<tr id="i72" class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/UtilFunctions.html#stringToObject-org.apache.sysds.common.Types.ValueType-java.lang.String-">stringToObject</a></span>(<a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
               <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;in)</code>&nbsp;</td>
 </tr>
-<tr id="i66" class="altColor">
+<tr id="i73" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/UtilFunctions.html#stringToValueType-java.lang.String:A-">stringToValueType</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;schemaValues)</code>
+<div class="block">Generates a ValueType array from a String array</div>
+</td>
+</tr>
+<tr id="i74" class="altColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/UtilFunctions.html#toInt-double-">toInt</a></span>(double&nbsp;val)</code>&nbsp;</td>
 </tr>
-<tr id="i67" class="rowColor">
+<tr id="i75" class="rowColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/UtilFunctions.html#toInt-java.lang.Object-">toInt</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;obj)</code>&nbsp;</td>
 </tr>
-<tr id="i68" class="altColor">
+<tr id="i76" class="altColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/UtilFunctions.html#toLong-double-">toLong</a></span>(double&nbsp;val)</code>&nbsp;</td>
 </tr>
-<tr id="i69" class="rowColor">
+<tr id="i77" class="rowColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/UtilFunctions.html#toMillis-java.lang.String-">toMillis</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;dateString)</code>&nbsp;</td>
 </tr>
-<tr id="i70" class="altColor">
+<tr id="i78" class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/UtilFunctions.html#unquote-java.lang.String-">unquote</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;s)</code>&nbsp;</td>
 </tr>
@@ -644,7 +685,7 @@
 <a name="DIVIDE_PRIME">
 <!--   -->
 </a>
-<ul class="blockList">
+<ul class="blockListLast">
 <li class="blockList">
 <h4>DIVIDE_PRIME</h4>
 <pre>public static final&nbsp;int DIVIDE_PRIME</pre>
@@ -654,15 +695,6 @@
 </dl>
 </li>
 </ul>
-<a name="defaultNaString">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>defaultNaString</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashSet.html?is-external=true" title="class or interface in java.util">HashSet</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt; defaultNaString</pre>
-</li>
-</ul>
 </li>
 </ul>
 <!-- ========= CONSTRUCTOR DETAIL ======== -->
@@ -1299,6 +1331,15 @@
 <pre>public static&nbsp;boolean&nbsp;isIntegerNumber(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</pre>
 </li>
 </ul>
+<a name="isSpecial-double-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isSpecial</h4>
+<pre>public static&nbsp;boolean&nbsp;isSpecial(double&nbsp;value)</pre>
+</li>
+</ul>
 <a name="getSortedSampleIndexes-int-int-">
 <!--   -->
 </a>
@@ -1347,6 +1388,16 @@
 <pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;quote(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;s)</pre>
 </li>
 </ul>
+<a name="getAsciiAtIdx-java.lang.String-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getAsciiAtIdx</h4>
+<pre>public static&nbsp;int&nbsp;getAsciiAtIdx(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;s,
+                                int&nbsp;idx)</pre>
+</li>
+</ul>
 <a name="parseMemorySize-java.lang.String-">
 <!--   -->
 </a>
@@ -1573,12 +1624,97 @@
 <a name="toMillis-java.lang.String-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>toMillis</h4>
 <pre>public static&nbsp;long&nbsp;toMillis(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;dateString)</pre>
 </li>
 </ul>
+<a name="getSplittedStringAsArray-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getSplittedStringAsArray</h4>
+<pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;getSplittedStringAsArray(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;input)</pre>
+</li>
+</ul>
+<a name="jaccardSim-java.lang.String-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>jaccardSim</h4>
+<pre>public static&nbsp;double&nbsp;jaccardSim(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;x,
+                                <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;y)</pre>
+</li>
+</ul>
+<a name="columnStringToCSVString-java.lang.String-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>columnStringToCSVString</h4>
+<pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;columnStringToCSVString(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;input,
+                                             <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;separator)</pre>
+</li>
+</ul>
+<a name="generateRandomFrameBlock-int-int-org.apache.sysds.common.Types.ValueType:A-java.util.Random-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>generateRandomFrameBlock</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;generateRandomFrameBlock(int&nbsp;rows,
+                                                  int&nbsp;cols,
+                                                  <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>[]&nbsp;schema,
+                                                  <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Random.html?is-external=true" title="class or interface in java.util">Random</a>&nbsp;random)</pre>
+<div class="block">Generates a random FrameBlock with given parameters.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>rows</code> - frame rows</dd>
+<dd><code>cols</code> - frame cols</dd>
+<dd><code>schema</code> - frame schema</dd>
+<dd><code>random</code> - random number generator</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>FrameBlock</dd>
+</dl>
+</li>
+</ul>
+<a name="generateRandomValueFromValueType-org.apache.sysds.common.Types.ValueType-java.util.Random-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>generateRandomValueFromValueType</h4>
+<pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;generateRandomValueFromValueType(<a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;valueType,
+                                                      <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Random.html?is-external=true" title="class or interface in java.util">Random</a>&nbsp;random)</pre>
+<div class="block">Generates a random value for a given Value Type</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>valueType</code> - the ValueType of which to generate the value</dd>
+<dd><code>random</code> - random number generator</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Object</dd>
+</dl>
+</li>
+</ul>
+<a name="stringToValueType-java.lang.String:A-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>stringToValueType</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>[]&nbsp;stringToValueType(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;schemaValues)</pre>
+<div class="block">Generates a ValueType array from a String array</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>schemaValues</code> - the string schema of which to generate the ValueType</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>ValueType[]</dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>
@@ -1648,6 +1784,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/util/class-use/BinaryBlockInputFormat.html b/docs/api/java/org/apache/sysds/runtime/util/class-use/BinaryBlockInputFormat.html
index b3b7e9d..61f0b18 100644
--- a/docs/api/java/org/apache/sysds/runtime/util/class-use/BinaryBlockInputFormat.html
+++ b/docs/api/java/org/apache/sysds/runtime/util/class-use/BinaryBlockInputFormat.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/util/class-use/BinaryBlockRecordReader.html b/docs/api/java/org/apache/sysds/runtime/util/class-use/BinaryBlockRecordReader.html
index d77aa94..f836b93 100644
--- a/docs/api/java/org/apache/sysds/runtime/util/class-use/BinaryBlockRecordReader.html
+++ b/docs/api/java/org/apache/sysds/runtime/util/class-use/BinaryBlockRecordReader.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/util/class-use/ByteBufferDataInput.html b/docs/api/java/org/apache/sysds/runtime/util/class-use/ByteBufferDataInput.html
index ee1fac5..75b6f64 100644
--- a/docs/api/java/org/apache/sysds/runtime/util/class-use/ByteBufferDataInput.html
+++ b/docs/api/java/org/apache/sysds/runtime/util/class-use/ByteBufferDataInput.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/util/class-use/CollectionUtils.html b/docs/api/java/org/apache/sysds/runtime/util/class-use/CollectionUtils.html
index 28504ad..e544de4 100644
--- a/docs/api/java/org/apache/sysds/runtime/util/class-use/CollectionUtils.html
+++ b/docs/api/java/org/apache/sysds/runtime/util/class-use/CollectionUtils.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/util/class-use/CommonThreadPool.html b/docs/api/java/org/apache/sysds/runtime/util/class-use/CommonThreadPool.html
index b7b25b3..92573d0 100644
--- a/docs/api/java/org/apache/sysds/runtime/util/class-use/CommonThreadPool.html
+++ b/docs/api/java/org/apache/sysds/runtime/util/class-use/CommonThreadPool.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/util/class-use/DMVUtils.LEVEL_ENUM.html b/docs/api/java/org/apache/sysds/runtime/util/class-use/DMVUtils.LEVEL_ENUM.html
new file mode 100644
index 0000000..058acf1
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/util/class-use/DMVUtils.LEVEL_ENUM.html
@@ -0,0 +1,188 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.sysds.runtime.util.DMVUtils.LEVEL_ENUM (SystemDS 2.1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.sysds.runtime.util.DMVUtils.LEVEL_ENUM (SystemDS 2.1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/util/DMVUtils.LEVEL_ENUM.html" title="enum in org.apache.sysds.runtime.util">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/util/class-use/DMVUtils.LEVEL_ENUM.html" target="_top">Frames</a></li>
+<li><a href="DMVUtils.LEVEL_ENUM.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.sysds.runtime.util.DMVUtils.LEVEL_ENUM" class="title">Uses of Class<br>org.apache.sysds.runtime.util.DMVUtils.LEVEL_ENUM</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/sysds/runtime/util/DMVUtils.LEVEL_ENUM.html" title="enum in org.apache.sysds.runtime.util">DMVUtils.LEVEL_ENUM</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.util">org.apache.sysds.runtime.util</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.sysds.runtime.util">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/sysds/runtime/util/DMVUtils.LEVEL_ENUM.html" title="enum in org.apache.sysds.runtime.util">DMVUtils.LEVEL_ENUM</a> in <a href="../../../../../../org/apache/sysds/runtime/util/package-summary.html">org.apache.sysds.runtime.util</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/sysds/runtime/util/package-summary.html">org.apache.sysds.runtime.util</a> that return <a href="../../../../../../org/apache/sysds/runtime/util/DMVUtils.LEVEL_ENUM.html" title="enum in org.apache.sysds.runtime.util">DMVUtils.LEVEL_ENUM</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/util/DMVUtils.LEVEL_ENUM.html" title="enum in org.apache.sysds.runtime.util">DMVUtils.LEVEL_ENUM</a></code></td>
+<td class="colLast"><span class="typeNameLabel">DMVUtils.LEVEL_ENUM.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/util/DMVUtils.LEVEL_ENUM.html#valueOf-java.lang.String-">valueOf</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
+<div class="block">Returns the enum constant of this type with the specified name.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/util/DMVUtils.LEVEL_ENUM.html" title="enum in org.apache.sysds.runtime.util">DMVUtils.LEVEL_ENUM</a>[]</code></td>
+<td class="colLast"><span class="typeNameLabel">DMVUtils.LEVEL_ENUM.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/util/DMVUtils.LEVEL_ENUM.html#values--">values</a></span>()</code>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/sysds/runtime/util/package-summary.html">org.apache.sysds.runtime.util</a> with parameters of type <a href="../../../../../../org/apache/sysds/runtime/util/DMVUtils.LEVEL_ENUM.html" title="enum in org.apache.sysds.runtime.util">DMVUtils.LEVEL_ENUM</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">DMVUtils.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/util/DMVUtils.html#LevelsExecutor-java.util.Map-org.apache.sysds.runtime.util.DMVUtils.LEVEL_ENUM-">LevelsExecutor</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;old_pattern_hist,
+              <a href="../../../../../../org/apache/sysds/runtime/util/DMVUtils.LEVEL_ENUM.html" title="enum in org.apache.sysds.runtime.util">DMVUtils.LEVEL_ENUM</a>&nbsp;level)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/util/DMVUtils.LEVEL_ENUM.html" title="enum in org.apache.sysds.runtime.util">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/util/class-use/DMVUtils.LEVEL_ENUM.html" target="_top">Frames</a></li>
+<li><a href="DMVUtils.LEVEL_ENUM.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/class-use/BitmapEncoder.html b/docs/api/java/org/apache/sysds/runtime/util/class-use/DMVUtils.html
similarity index 78%
copy from docs/api/java/org/apache/sysds/runtime/compress/class-use/BitmapEncoder.html
copy to docs/api/java/org/apache/sysds/runtime/util/class-use/DMVUtils.html
index f4f340f..7219a8a 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/class-use/BitmapEncoder.html
+++ b/docs/api/java/org/apache/sysds/runtime/util/class-use/DMVUtils.html
@@ -4,7 +4,7 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.sysds.runtime.compress.BitmapEncoder (SystemDS 2.1.0-SNAPSHOT API)</title>
+<title>Uses of Class org.apache.sysds.runtime.util.DMVUtils (SystemDS 2.1.0-SNAPSHOT API)</title>
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.sysds.runtime.compress.BitmapEncoder (SystemDS 2.1.0-SNAPSHOT API)";
+            parent.document.title="Uses of Class org.apache.sysds.runtime.util.DMVUtils (SystemDS 2.1.0-SNAPSHOT API)";
         }
     }
     catch(err) {
@@ -33,7 +33,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/BitmapEncoder.html" title="class in org.apache.sysds.runtime.compress">Class</a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/util/DMVUtils.html" title="class in org.apache.sysds.runtime.util">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -47,8 +47,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/class-use/BitmapEncoder.html" target="_top">Frames</a></li>
-<li><a href="BitmapEncoder.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/util/class-use/DMVUtils.html" target="_top">Frames</a></li>
+<li><a href="DMVUtils.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
 <li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -70,9 +70,9 @@
 </a></div>
 <!-- ========= END OF TOP NAVBAR ========= -->
 <div class="header">
-<h2 title="Uses of Class org.apache.sysds.runtime.compress.BitmapEncoder" class="title">Uses of Class<br>org.apache.sysds.runtime.compress.BitmapEncoder</h2>
+<h2 title="Uses of Class org.apache.sysds.runtime.util.DMVUtils" class="title">Uses of Class<br>org.apache.sysds.runtime.util.DMVUtils</h2>
 </div>
-<div class="classUseContainer">No usage of org.apache.sysds.runtime.compress.BitmapEncoder</div>
+<div class="classUseContainer">No usage of org.apache.sysds.runtime.util.DMVUtils</div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
 <!--   -->
@@ -84,7 +84,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/BitmapEncoder.html" title="class in org.apache.sysds.runtime.compress">Class</a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/util/DMVUtils.html" title="class in org.apache.sysds.runtime.util">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -98,8 +98,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/class-use/BitmapEncoder.html" target="_top">Frames</a></li>
-<li><a href="BitmapEncoder.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/util/class-use/DMVUtils.html" target="_top">Frames</a></li>
+<li><a href="DMVUtils.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
 <li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/util/class-use/DataConverter.html b/docs/api/java/org/apache/sysds/runtime/util/class-use/DataConverter.html
index 43cfef4..2d91e09 100644
--- a/docs/api/java/org/apache/sysds/runtime/util/class-use/DataConverter.html
+++ b/docs/api/java/org/apache/sysds/runtime/util/class-use/DataConverter.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/util/class-use/DnnUtils.html b/docs/api/java/org/apache/sysds/runtime/util/class-use/DnnUtils.html
index 7fb8ef5..c15fb1a 100644
--- a/docs/api/java/org/apache/sysds/runtime/util/class-use/DnnUtils.html
+++ b/docs/api/java/org/apache/sysds/runtime/util/class-use/DnnUtils.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/class-use/BitmapEncoder.html b/docs/api/java/org/apache/sysds/runtime/util/class-use/EMAUtils.html
similarity index 78%
copy from docs/api/java/org/apache/sysds/runtime/compress/class-use/BitmapEncoder.html
copy to docs/api/java/org/apache/sysds/runtime/util/class-use/EMAUtils.html
index f4f340f..5d51fa5 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/class-use/BitmapEncoder.html
+++ b/docs/api/java/org/apache/sysds/runtime/util/class-use/EMAUtils.html
@@ -4,7 +4,7 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.sysds.runtime.compress.BitmapEncoder (SystemDS 2.1.0-SNAPSHOT API)</title>
+<title>Uses of Class org.apache.sysds.runtime.util.EMAUtils (SystemDS 2.1.0-SNAPSHOT API)</title>
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.sysds.runtime.compress.BitmapEncoder (SystemDS 2.1.0-SNAPSHOT API)";
+            parent.document.title="Uses of Class org.apache.sysds.runtime.util.EMAUtils (SystemDS 2.1.0-SNAPSHOT API)";
         }
     }
     catch(err) {
@@ -33,7 +33,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/BitmapEncoder.html" title="class in org.apache.sysds.runtime.compress">Class</a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/util/EMAUtils.html" title="class in org.apache.sysds.runtime.util">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -47,8 +47,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/class-use/BitmapEncoder.html" target="_top">Frames</a></li>
-<li><a href="BitmapEncoder.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/util/class-use/EMAUtils.html" target="_top">Frames</a></li>
+<li><a href="EMAUtils.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
 <li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -70,9 +70,9 @@
 </a></div>
 <!-- ========= END OF TOP NAVBAR ========= -->
 <div class="header">
-<h2 title="Uses of Class org.apache.sysds.runtime.compress.BitmapEncoder" class="title">Uses of Class<br>org.apache.sysds.runtime.compress.BitmapEncoder</h2>
+<h2 title="Uses of Class org.apache.sysds.runtime.util.EMAUtils" class="title">Uses of Class<br>org.apache.sysds.runtime.util.EMAUtils</h2>
 </div>
-<div class="classUseContainer">No usage of org.apache.sysds.runtime.compress.BitmapEncoder</div>
+<div class="classUseContainer">No usage of org.apache.sysds.runtime.util.EMAUtils</div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
 <!--   -->
@@ -84,7 +84,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/BitmapEncoder.html" title="class in org.apache.sysds.runtime.compress">Class</a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/util/EMAUtils.html" title="class in org.apache.sysds.runtime.util">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -98,8 +98,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/class-use/BitmapEncoder.html" target="_top">Frames</a></li>
-<li><a href="BitmapEncoder.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/util/class-use/EMAUtils.html" target="_top">Frames</a></li>
+<li><a href="EMAUtils.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
 <li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/util/class-use/FastBufferedDataInputStream.html b/docs/api/java/org/apache/sysds/runtime/util/class-use/FastBufferedDataInputStream.html
index 745c9db..6dc4090 100644
--- a/docs/api/java/org/apache/sysds/runtime/util/class-use/FastBufferedDataInputStream.html
+++ b/docs/api/java/org/apache/sysds/runtime/util/class-use/FastBufferedDataInputStream.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/util/class-use/FastBufferedDataOutputStream.html b/docs/api/java/org/apache/sysds/runtime/util/class-use/FastBufferedDataOutputStream.html
index e2c1166..c31f188 100644
--- a/docs/api/java/org/apache/sysds/runtime/util/class-use/FastBufferedDataOutputStream.html
+++ b/docs/api/java/org/apache/sysds/runtime/util/class-use/FastBufferedDataOutputStream.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/util/class-use/FastStringTokenizer.html b/docs/api/java/org/apache/sysds/runtime/util/class-use/FastStringTokenizer.html
index e3cc725..2536959 100644
--- a/docs/api/java/org/apache/sysds/runtime/util/class-use/FastStringTokenizer.html
+++ b/docs/api/java/org/apache/sysds/runtime/util/class-use/FastStringTokenizer.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/util/class-use/HDFSTool.html b/docs/api/java/org/apache/sysds/runtime/util/class-use/HDFSTool.html
index 6f3bd7f..38c570b 100644
--- a/docs/api/java/org/apache/sysds/runtime/util/class-use/HDFSTool.html
+++ b/docs/api/java/org/apache/sysds/runtime/util/class-use/HDFSTool.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/util/class-use/IndexRange.html b/docs/api/java/org/apache/sysds/runtime/util/class-use/IndexRange.html
index 64ae7a0..b2e836c 100644
--- a/docs/api/java/org/apache/sysds/runtime/util/class-use/IndexRange.html
+++ b/docs/api/java/org/apache/sysds/runtime/util/class-use/IndexRange.html
@@ -154,7 +154,7 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#slice-java.util.ArrayList-org.apache.sysds.runtime.util.IndexRange-int-int-int-int-int-">slice</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/instructions/spark/data/IndexedMatrixValue.html" title="class in org.apache.sysds.runtime.instructions.spark.data">IndexedMatrixValue</a>&gt;&nbsp;outlist,
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#slice-java.util.ArrayList-org.apache.sysds.runtime.util.IndexRange-int-int-int-int-int-">slice</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/instructions/spark/data/IndexedMatrixValue.html" title="class in org.apache.sysds.runtime.instructions.spark.data">IndexedMatrixValue</a>&gt;&nbsp;outlist,
      <a href="../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;range,
      int&nbsp;rowCut,
      int&nbsp;colCut,
@@ -164,7 +164,7 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#zeroOutOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.util.IndexRange-boolean-">zeroOutOperations</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result,
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#zeroOutOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.util.IndexRange-boolean-">zeroOutOperations</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result,
                  <a href="../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;range,
                  boolean&nbsp;complementary)</code>&nbsp;</td>
 </tr>
@@ -214,6 +214,19 @@
 </tr>
 </tbody>
 </table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/package-summary.html">org.apache.sysds.runtime.controlprogram.federated</a> with parameters of type <a href="../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationMap</a></code></td>
+<td class="colLast"><span class="typeNameLabel">FederationMap.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html#filter-org.apache.sysds.runtime.util.IndexRange-">filter</a></span>(<a href="../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixrange)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
 </li>
 <li class="blockList"><a name="org.apache.sysds.runtime.instructions.spark">
 <!--   -->
@@ -298,11 +311,10 @@
             <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/Pair.html" title="class in org.apache.sysds.runtime.matrix.data">Pair</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&gt;&gt;&nbsp;outlist)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><span class="typeNameLabel">OperationsOnMatrixValues.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/OperationsOnMatrixValues.html#performSlice-org.apache.sysds.runtime.instructions.spark.data.IndexedMatrixValue-org.apache.sysds.runtime.util.IndexRange-int-java.util.ArrayList-">performSlice</a></span>(<a href="../../../../../../org/apache/sysds/runtime/instructions/spark/data/IndexedMatrixValue.html" title="class in org.apache.sysds.runtime.instructions.spark.data">IndexedMatrixValue</a>&nbsp;in,
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/instructions/spark/data/IndexedMatrixValue.html" title="class in org.apache.sysds.runtime.instructions.spark.data">IndexedMatrixValue</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">OperationsOnMatrixValues.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/OperationsOnMatrixValues.html#performSlice-org.apache.sysds.runtime.instructions.spark.data.IndexedMatrixValue-org.apache.sysds.runtime.util.IndexRange-int-">performSlice</a></span>(<a href="../../../../../../org/apache/sysds/runtime/instructions/spark/data/IndexedMatrixValue.html" title="class in org.apache.sysds.runtime.instructions.spark.data">IndexedMatrixValue</a>&nbsp;in,
             <a href="../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixrange,
-            int&nbsp;blen,
-            <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/instructions/spark/data/IndexedMatrixValue.html" title="class in org.apache.sysds.runtime.instructions.spark.data">IndexedMatrixValue</a>&gt;&nbsp;outlist)</code>&nbsp;</td>
+            int&nbsp;blen)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a></code></td>
@@ -310,7 +322,10 @@
             int&nbsp;blen,
             int&nbsp;iix,
             int&nbsp;jix,
-            <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html" title="interface in org.apache.sysds.runtime.controlprogram.caching">CacheBlock</a>&nbsp;in)</code>&nbsp;</td>
+            <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html" title="interface in org.apache.sysds.runtime.controlprogram.caching">CacheBlock</a>&nbsp;in)</code>
+<div class="block">Slice used in broadcasting matrix blocks for spark, since this slice up a given matrix
+ into blocks.</div>
+</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a></code></td>
@@ -329,11 +344,10 @@
             <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;in)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><span class="typeNameLabel">OperationsOnMatrixValues.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/OperationsOnMatrixValues.html#performSlice-org.apache.sysds.runtime.matrix.data.Pair-org.apache.sysds.runtime.util.IndexRange-int-java.util.ArrayList-">performSlice</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/Pair.html" title="class in org.apache.sysds.runtime.matrix.data">Pair</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&gt;&nbsp;in,
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/Pair.html" title="class in org.apache.sysds.runtime.matrix.data">Pair</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">OperationsOnMatrixValues.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/OperationsOnMatrixValues.html#performSlice-org.apache.sysds.runtime.matrix.data.Pair-org.apache.sysds.runtime.util.IndexRange-int-">performSlice</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/Pair.html" title="class in org.apache.sysds.runtime.matrix.data">Pair</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&gt;&nbsp;in,
             <a href="../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixrange,
-            int&nbsp;blen,
-            <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/Pair.html" title="class in org.apache.sysds.runtime.matrix.data">Pair</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&gt;&gt;&nbsp;outlist)</code>
+            int&nbsp;blen)</code>
 <div class="block">This function will get slice of the input frame block overlapping in overall slice(Range), slice has requested for.</div>
 </td>
 </tr>
@@ -354,7 +368,9 @@
      int&nbsp;colCut,
      int&nbsp;blen,
      int&nbsp;boundaryRlen,
-     int&nbsp;boundaryClen)</code>&nbsp;</td>
+     int&nbsp;boundaryClen)</code>
+<div class="block">Slice out up to 4 matrixBlocks that are separated by the row and col Cuts.</div>
+</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
@@ -464,42 +480,31 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></td>
-<td class="colLast"><span class="typeNameLabel">EncoderRecode.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderRecode.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">subRangeEncoder</a></span>(<a href="../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixRange)</code>&nbsp;</td>
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><span class="typeNameLabel">MultiColumnEncoder.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#getNumExtraCols-org.apache.sysds.runtime.util.IndexRange-">getNumExtraCols</a></span>(<a href="../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixRange)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></td>
-<td class="colLast"><span class="typeNameLabel">EncoderComposite.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderComposite.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">subRangeEncoder</a></span>(<a href="../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixRange)</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></td>
-<td class="colLast"><span class="typeNameLabel">EncoderMVImpute.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">subRangeEncoder</a></span>(<a href="../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixRange)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></td>
-<td class="colLast"><span class="typeNameLabel">EncoderOmit.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderOmit.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">subRangeEncoder</a></span>(<a href="../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixRange)</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></td>
-<td class="colLast"><span class="typeNameLabel">Encoder.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">subRangeEncoder</a></span>(<a href="../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixRange)</code>
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">LegacyEncoder</a></code></td>
+<td class="colLast"><span class="typeNameLabel">LegacyEncoder.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">subRangeEncoder</a></span>(<a href="../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixRange)</code>
 <div class="block">Returns a new Encoder that only handles a sub range of columns.</div>
 </td>
 </tr>
-<tr class="rowColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></td>
-<td class="colLast"><span class="typeNameLabel">EncoderDummycode.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderDummycode.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">subRangeEncoder</a></span>(<a href="../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixRange)</code>&nbsp;</td>
-</tr>
 <tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></td>
-<td class="colLast"><span class="typeNameLabel">EncoderPassThrough.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderPassThrough.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">subRangeEncoder</a></span>(<a href="../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixRange)</code>&nbsp;</td>
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/LegacyEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">LegacyEncoder</a></code></td>
+<td class="colLast"><span class="typeNameLabel">EncoderMVImpute.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">subRangeEncoder</a></span>(<a href="../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixRange)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></td>
-<td class="colLast"><span class="typeNameLabel">EncoderBin.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderBin.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">subRangeEncoder</a></span>(<a href="../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixRange)</code>&nbsp;</td>
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderOmit.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderOmit</a></code></td>
+<td class="colLast"><span class="typeNameLabel">EncoderOmit.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderOmit.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">subRangeEncoder</a></span>(<a href="../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixRange)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></td>
-<td class="colLast"><span class="typeNameLabel">EncoderFeatureHash.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderFeatureHash.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">subRangeEncoder</a></span>(<a href="../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixRange)</code>&nbsp;</td>
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a></code></td>
+<td class="colLast"><span class="typeNameLabel">MultiColumnEncoder.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">subRangeEncoder</a></span>(<a href="../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixRange)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>&lt;T extends <a href="../../../../../../org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a>&gt;<br><a href="../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a></code></td>
+<td class="colLast"><span class="typeNameLabel">MultiColumnEncoder.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-java.lang.Class-">subRangeEncoder</a></span>(<a href="../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixRange,
+               <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;type)</code>&nbsp;</td>
 </tr>
 </tbody>
 </table>
@@ -622,6 +627,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/util/class-use/InputStreamInputFormat.html b/docs/api/java/org/apache/sysds/runtime/util/class-use/InputStreamInputFormat.html
index fcffe51..52d2f80 100644
--- a/docs/api/java/org/apache/sysds/runtime/util/class-use/InputStreamInputFormat.html
+++ b/docs/api/java/org/apache/sysds/runtime/util/class-use/InputStreamInputFormat.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/util/class-use/LocalFileUtils.html b/docs/api/java/org/apache/sysds/runtime/util/class-use/LocalFileUtils.html
index 86cee44..91f91bb 100644
--- a/docs/api/java/org/apache/sysds/runtime/util/class-use/LocalFileUtils.html
+++ b/docs/api/java/org/apache/sysds/runtime/util/class-use/LocalFileUtils.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/util/class-use/LongLongDoubleHashMap.ADoubleEntry.html b/docs/api/java/org/apache/sysds/runtime/util/class-use/LongLongDoubleHashMap.ADoubleEntry.html
index 678f54a..350b333 100644
--- a/docs/api/java/org/apache/sysds/runtime/util/class-use/LongLongDoubleHashMap.ADoubleEntry.html
+++ b/docs/api/java/org/apache/sysds/runtime/util/class-use/LongLongDoubleHashMap.ADoubleEntry.html
@@ -195,6 +195,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/util/class-use/LongLongDoubleHashMap.EntryType.html b/docs/api/java/org/apache/sysds/runtime/util/class-use/LongLongDoubleHashMap.EntryType.html
index 3dd333a..9aa6805 100644
--- a/docs/api/java/org/apache/sysds/runtime/util/class-use/LongLongDoubleHashMap.EntryType.html
+++ b/docs/api/java/org/apache/sysds/runtime/util/class-use/LongLongDoubleHashMap.EntryType.html
@@ -200,6 +200,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/util/class-use/LongLongDoubleHashMap.html b/docs/api/java/org/apache/sysds/runtime/util/class-use/LongLongDoubleHashMap.html
index 4667e4a..600aae0 100644
--- a/docs/api/java/org/apache/sysds/runtime/util/class-use/LongLongDoubleHashMap.html
+++ b/docs/api/java/org/apache/sysds/runtime/util/class-use/LongLongDoubleHashMap.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/util/class-use/NormalPRNGenerator.html b/docs/api/java/org/apache/sysds/runtime/util/class-use/NormalPRNGenerator.html
index ab4bcd9..803d106 100644
--- a/docs/api/java/org/apache/sysds/runtime/util/class-use/NormalPRNGenerator.html
+++ b/docs/api/java/org/apache/sysds/runtime/util/class-use/NormalPRNGenerator.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/util/class-use/PRNGenerator.html b/docs/api/java/org/apache/sysds/runtime/util/class-use/PRNGenerator.html
index 47608d8..9cc4ff8 100644
--- a/docs/api/java/org/apache/sysds/runtime/util/class-use/PRNGenerator.html
+++ b/docs/api/java/org/apache/sysds/runtime/util/class-use/PRNGenerator.html
@@ -174,6 +174,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/util/class-use/PoissonPRNGenerator.html b/docs/api/java/org/apache/sysds/runtime/util/class-use/PoissonPRNGenerator.html
index bded293..fdc9fa8 100644
--- a/docs/api/java/org/apache/sysds/runtime/util/class-use/PoissonPRNGenerator.html
+++ b/docs/api/java/org/apache/sysds/runtime/util/class-use/PoissonPRNGenerator.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/util/class-use/ProgramConverter.html b/docs/api/java/org/apache/sysds/runtime/util/class-use/ProgramConverter.html
index 2920cf8..8ad6d96 100644
--- a/docs/api/java/org/apache/sysds/runtime/util/class-use/ProgramConverter.html
+++ b/docs/api/java/org/apache/sysds/runtime/util/class-use/ProgramConverter.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/util/class-use/Py4jConverterUtils.html b/docs/api/java/org/apache/sysds/runtime/util/class-use/Py4jConverterUtils.html
index 566af35..f7a1df8 100644
--- a/docs/api/java/org/apache/sysds/runtime/util/class-use/Py4jConverterUtils.html
+++ b/docs/api/java/org/apache/sysds/runtime/util/class-use/Py4jConverterUtils.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/util/class-use/RandNPair.html b/docs/api/java/org/apache/sysds/runtime/util/class-use/RandNPair.html
index a12d68b..a6cd57e 100644
--- a/docs/api/java/org/apache/sysds/runtime/util/class-use/RandNPair.html
+++ b/docs/api/java/org/apache/sysds/runtime/util/class-use/RandNPair.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/util/class-use/SortUtils.html b/docs/api/java/org/apache/sysds/runtime/util/class-use/SortUtils.html
index e7908e9..b286941 100644
--- a/docs/api/java/org/apache/sysds/runtime/util/class-use/SortUtils.html
+++ b/docs/api/java/org/apache/sysds/runtime/util/class-use/SortUtils.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/util/class-use/UniformPRNGenerator.html b/docs/api/java/org/apache/sysds/runtime/util/class-use/UniformPRNGenerator.html
index e12b034..956433e 100644
--- a/docs/api/java/org/apache/sysds/runtime/util/class-use/UniformPRNGenerator.html
+++ b/docs/api/java/org/apache/sysds/runtime/util/class-use/UniformPRNGenerator.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/util/class-use/UtilFunctions.html b/docs/api/java/org/apache/sysds/runtime/util/class-use/UtilFunctions.html
index 326f780..b4ed272 100644
--- a/docs/api/java/org/apache/sysds/runtime/util/class-use/UtilFunctions.html
+++ b/docs/api/java/org/apache/sysds/runtime/util/class-use/UtilFunctions.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/util/package-frame.html b/docs/api/java/org/apache/sysds/runtime/util/package-frame.html
index 66ff0d1..0f5996f 100644
--- a/docs/api/java/org/apache/sysds/runtime/util/package-frame.html
+++ b/docs/api/java/org/apache/sysds/runtime/util/package-frame.html
@@ -19,7 +19,9 @@
 <li><a href="CollectionUtils.html" title="class in org.apache.sysds.runtime.util" target="classFrame">CollectionUtils</a></li>
 <li><a href="CommonThreadPool.html" title="class in org.apache.sysds.runtime.util" target="classFrame">CommonThreadPool</a></li>
 <li><a href="DataConverter.html" title="class in org.apache.sysds.runtime.util" target="classFrame">DataConverter</a></li>
+<li><a href="DMVUtils.html" title="class in org.apache.sysds.runtime.util" target="classFrame">DMVUtils</a></li>
 <li><a href="DnnUtils.html" title="class in org.apache.sysds.runtime.util" target="classFrame">DnnUtils</a></li>
+<li><a href="EMAUtils.html" title="class in org.apache.sysds.runtime.util" target="classFrame">EMAUtils</a></li>
 <li><a href="FastBufferedDataInputStream.html" title="class in org.apache.sysds.runtime.util" target="classFrame">FastBufferedDataInputStream</a></li>
 <li><a href="FastBufferedDataOutputStream.html" title="class in org.apache.sysds.runtime.util" target="classFrame">FastBufferedDataOutputStream</a></li>
 <li><a href="FastStringTokenizer.html" title="class in org.apache.sysds.runtime.util" target="classFrame">FastStringTokenizer</a></li>
@@ -41,6 +43,7 @@
 </ul>
 <h2 title="Enums">Enums</h2>
 <ul title="Enums">
+<li><a href="DMVUtils.LEVEL_ENUM.html" title="enum in org.apache.sysds.runtime.util" target="classFrame">DMVUtils.LEVEL_ENUM</a></li>
 <li><a href="LongLongDoubleHashMap.EntryType.html" title="enum in org.apache.sysds.runtime.util" target="classFrame">LongLongDoubleHashMap.EntryType</a></li>
 </ul>
 </div>
diff --git a/docs/api/java/org/apache/sysds/runtime/util/package-summary.html b/docs/api/java/org/apache/sysds/runtime/util/package-summary.html
index 11e106d..5e32b1e 100644
--- a/docs/api/java/org/apache/sysds/runtime/util/package-summary.html
+++ b/docs/api/java/org/apache/sysds/runtime/util/package-summary.html
@@ -43,7 +43,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/sysds/runtime/transform/meta/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../org/apache/sysds/runtime/transform/tokenize/package-summary.html">Prev&nbsp;Package</a></li>
 <li><a href="../../../../../org/apache/sysds/utils/package-summary.html">Next&nbsp;Package</a></li>
 </ul>
 <ul class="navList">
@@ -117,9 +117,17 @@
 </td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/sysds/runtime/util/DMVUtils.html" title="class in org.apache.sysds.runtime.util">DMVUtils</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/sysds/runtime/util/DnnUtils.html" title="class in org.apache.sysds.runtime.util">DnnUtils</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/sysds/runtime/util/EMAUtils.html" title="class in org.apache.sysds.runtime.util">EMAUtils</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
 <tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/sysds/runtime/util/FastBufferedDataInputStream.html" title="class in org.apache.sysds.runtime.util">FastBufferedDataInputStream</a></td>
 <td class="colLast">&nbsp;</td>
@@ -232,6 +240,10 @@
 </tr>
 <tbody>
 <tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/sysds/runtime/util/DMVUtils.LEVEL_ENUM.html" title="enum in org.apache.sysds.runtime.util">DMVUtils.LEVEL_ENUM</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/sysds/runtime/util/LongLongDoubleHashMap.EntryType.html" title="enum in org.apache.sysds.runtime.util">LongLongDoubleHashMap.EntryType</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
@@ -261,7 +273,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/sysds/runtime/transform/meta/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../org/apache/sysds/runtime/transform/tokenize/package-summary.html">Prev&nbsp;Package</a></li>
 <li><a href="../../../../../org/apache/sysds/utils/package-summary.html">Next&nbsp;Package</a></li>
 </ul>
 <ul class="navList">
@@ -287,6 +299,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/util/package-tree.html b/docs/api/java/org/apache/sysds/runtime/util/package-tree.html
index fcea4d9..8646a74 100644
--- a/docs/api/java/org/apache/sysds/runtime/util/package-tree.html
+++ b/docs/api/java/org/apache/sysds/runtime/util/package-tree.html
@@ -43,7 +43,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/sysds/runtime/transform/meta/package-tree.html">Prev</a></li>
+<li><a href="../../../../../org/apache/sysds/runtime/transform/tokenize/package-tree.html">Prev</a></li>
 <li><a href="../../../../../org/apache/sysds/utils/package-tree.html">Next</a></li>
 </ul>
 <ul class="navList">
@@ -85,7 +85,9 @@
 <li type="circle">org.apache.sysds.runtime.util.<a href="../../../../../org/apache/sysds/runtime/util/CollectionUtils.html" title="class in org.apache.sysds.runtime.util"><span class="typeNameLink">CollectionUtils</span></a></li>
 <li type="circle">org.apache.sysds.runtime.util.<a href="../../../../../org/apache/sysds/runtime/util/CommonThreadPool.html" title="class in org.apache.sysds.runtime.util"><span class="typeNameLink">CommonThreadPool</span></a> (implements java.util.concurrent.<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ExecutorService</a>)</li>
 <li type="circle">org.apache.sysds.runtime.util.<a href="../../../../../org/apache/sysds/runtime/util/DataConverter.html" title="class in org.apache.sysds.runtime.util"><span class="typeNameLink">DataConverter</span></a></li>
+<li type="circle">org.apache.sysds.runtime.util.<a href="../../../../../org/apache/sysds/runtime/util/DMVUtils.html" title="class in org.apache.sysds.runtime.util"><span class="typeNameLink">DMVUtils</span></a></li>
 <li type="circle">org.apache.sysds.runtime.util.<a href="../../../../../org/apache/sysds/runtime/util/DnnUtils.html" title="class in org.apache.sysds.runtime.util"><span class="typeNameLink">DnnUtils</span></a></li>
+<li type="circle">org.apache.sysds.runtime.util.<a href="../../../../../org/apache/sysds/runtime/util/EMAUtils.html" title="class in org.apache.sysds.runtime.util"><span class="typeNameLink">EMAUtils</span></a></li>
 <li type="circle">org.apache.sysds.runtime.util.<a href="../../../../../org/apache/sysds/runtime/util/FastStringTokenizer.html" title="class in org.apache.sysds.runtime.util"><span class="typeNameLink">FastStringTokenizer</span></a> (implements java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)</li>
 <li type="circle">org.apache.hadoop.mapred.FileInputFormat&lt;K,V&gt; (implements org.apache.hadoop.mapred.InputFormat&lt;K,V&gt;)
 <ul>
@@ -146,6 +148,7 @@
 <ul>
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
+<li type="circle">org.apache.sysds.runtime.util.<a href="../../../../../org/apache/sysds/runtime/util/DMVUtils.LEVEL_ENUM.html" title="enum in org.apache.sysds.runtime.util"><span class="typeNameLink">DMVUtils.LEVEL_ENUM</span></a></li>
 <li type="circle">org.apache.sysds.runtime.util.<a href="../../../../../org/apache/sysds/runtime/util/LongLongDoubleHashMap.EntryType.html" title="enum in org.apache.sysds.runtime.util"><span class="typeNameLink">LongLongDoubleHashMap.EntryType</span></a></li>
 </ul>
 </li>
@@ -174,7 +177,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/sysds/runtime/transform/meta/package-tree.html">Prev</a></li>
+<li><a href="../../../../../org/apache/sysds/runtime/transform/tokenize/package-tree.html">Prev</a></li>
 <li><a href="../../../../../org/apache/sysds/utils/package-tree.html">Next</a></li>
 </ul>
 <ul class="navList">
@@ -200,6 +203,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/util/package-use.html b/docs/api/java/org/apache/sysds/runtime/util/package-use.html
index f2c6dd3..16886f4 100644
--- a/docs/api/java/org/apache/sysds/runtime/util/package-use.html
+++ b/docs/api/java/org/apache/sysds/runtime/util/package-use.html
@@ -238,15 +238,18 @@
 </tr>
 <tbody>
 <tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/sysds/runtime/util/class-use/DMVUtils.LEVEL_ENUM.html#org.apache.sysds.runtime.util">DMVUtils.LEVEL_ENUM</a>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../org/apache/sysds/runtime/util/class-use/IndexRange.html#org.apache.sysds.runtime.util">IndexRange</a>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../org/apache/sysds/runtime/util/class-use/LongLongDoubleHashMap.ADoubleEntry.html#org.apache.sysds.runtime.util">LongLongDoubleHashMap.ADoubleEntry</a>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../org/apache/sysds/runtime/util/class-use/LongLongDoubleHashMap.EntryType.html#org.apache.sysds.runtime.util">LongLongDoubleHashMap.EntryType</a>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../org/apache/sysds/runtime/util/class-use/PRNGenerator.html#org.apache.sysds.runtime.util">PRNGenerator</a>&nbsp;</td>
 </tr>
 </tbody>
@@ -301,6 +304,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/utils/DMLCompressionStatistics.html b/docs/api/java/org/apache/sysds/utils/DMLCompressionStatistics.html
index f62d794..d0bd3a5 100644
--- a/docs/api/java/org/apache/sysds/utils/DMLCompressionStatistics.html
+++ b/docs/api/java/org/apache/sysds/utils/DMLCompressionStatistics.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":9,"i2":9};
+var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -148,7 +148,8 @@
 </tr>
 <tr id="i0" class="altColor">
 <td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/DMLCompressionStatistics.html#addCompressionTimes-java.util.List-">addCompressionTimes</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a>&gt;&nbsp;times)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/DMLCompressionStatistics.html#addCompressionTime-double-int-">addCompressionTime</a></span>(double&nbsp;time,
+                  int&nbsp;phase)</code>&nbsp;</td>
 </tr>
 <tr id="i1" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
@@ -159,6 +160,22 @@
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/DMLCompressionStatistics.html#display-java.lang.StringBuilder-">display</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/StringBuilder.html?is-external=true" title="class or interface in java.lang">StringBuilder</a>&nbsp;sb)</code>&nbsp;</td>
 </tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>static int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/DMLCompressionStatistics.html#getDecompressionCount--">getDecompressionCount</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>static int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/DMLCompressionStatistics.html#getDecompressionSTCount--">getDecompressionSTCount</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>static boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/DMLCompressionStatistics.html#haveCompressed--">haveCompressed</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/DMLCompressionStatistics.html#reset--">reset</a></span>()</code>&nbsp;</td>
+</tr>
 </table>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -198,13 +215,32 @@
 <!--   -->
 </a>
 <h3>Method Detail</h3>
-<a name="addCompressionTimes-java.util.List-">
+<a name="reset--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>addCompressionTimes</h4>
-<pre>public static&nbsp;void&nbsp;addCompressionTimes(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a>&gt;&nbsp;times)</pre>
+<h4>reset</h4>
+<pre>public static&nbsp;void&nbsp;reset()</pre>
+</li>
+</ul>
+<a name="haveCompressed--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>haveCompressed</h4>
+<pre>public static&nbsp;boolean&nbsp;haveCompressed()</pre>
+</li>
+</ul>
+<a name="addCompressionTime-double-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>addCompressionTime</h4>
+<pre>public static&nbsp;void&nbsp;addCompressionTime(double&nbsp;time,
+                                      int&nbsp;phase)</pre>
 </li>
 </ul>
 <a name="addDecompressTime-double-int-">
@@ -217,6 +253,24 @@
                                      int&nbsp;threads)</pre>
 </li>
 </ul>
+<a name="getDecompressionCount--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getDecompressionCount</h4>
+<pre>public static&nbsp;int&nbsp;getDecompressionCount()</pre>
+</li>
+</ul>
+<a name="getDecompressionSTCount--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getDecompressionSTCount</h4>
+<pre>public static&nbsp;int&nbsp;getDecompressionSTCount()</pre>
+</li>
+</ul>
 <a name="display-java.lang.StringBuilder-">
 <!--   -->
 </a>
@@ -295,6 +349,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/utils/DataAugmentation.html b/docs/api/java/org/apache/sysds/utils/DataAugmentation.html
index a004a22..2480945 100644
--- a/docs/api/java/org/apache/sysds/utils/DataAugmentation.html
+++ b/docs/api/java/org/apache/sysds/utils/DataAugmentation.html
@@ -454,6 +454,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/utils/EnvironmentHelper.html b/docs/api/java/org/apache/sysds/utils/EnvironmentHelper.html
index 311a38b..3c2ab70 100644
--- a/docs/api/java/org/apache/sysds/utils/EnvironmentHelper.html
+++ b/docs/api/java/org/apache/sysds/utils/EnvironmentHelper.html
@@ -270,6 +270,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/utils/Explain.ExplainCounts.html b/docs/api/java/org/apache/sysds/utils/Explain.ExplainCounts.html
index 4d8d609..711a5b3 100644
--- a/docs/api/java/org/apache/sysds/utils/Explain.ExplainCounts.html
+++ b/docs/api/java/org/apache/sysds/utils/Explain.ExplainCounts.html
@@ -312,6 +312,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/utils/Explain.ExplainType.html b/docs/api/java/org/apache/sysds/utils/Explain.ExplainType.html
index 6978350..1e1d6ca 100644
--- a/docs/api/java/org/apache/sysds/utils/Explain.ExplainType.html
+++ b/docs/api/java/org/apache/sysds/utils/Explain.ExplainType.html
@@ -403,6 +403,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/utils/Explain.html b/docs/api/java/org/apache/sysds/utils/Explain.html
index 9c23ca8..4b589f0 100644
--- a/docs/api/java/org/apache/sysds/utils/Explain.html
+++ b/docs/api/java/org/apache/sysds/utils/Explain.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":9,"i11":9,"i12":9,"i13":9,"i14":9,"i15":9,"i16":9,"i17":9,"i18":9,"i19":9,"i20":9,"i21":9,"i22":9,"i23":9,"i24":9,"i25":9,"i26":9};
+var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":9,"i11":9,"i12":9,"i13":9,"i14":9,"i15":9,"i16":9,"i17":9,"i18":9,"i19":9,"i20":9,"i21":9,"i22":9,"i23":9,"i24":9,"i25":9,"i26":9,"i27":9};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -266,31 +266,38 @@
 </tr>
 <tr id="i20" class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Explain.html#explainHops-java.util.ArrayList-">explainHops</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&gt;&nbsp;hops)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Explain.html#explainFunctionCallGraph-org.apache.sysds.hops.ipa.FunctionCallGraph-java.util.HashSet-java.lang.String-int-">explainFunctionCallGraph</a></span>(<a href="../../../../org/apache/sysds/hops/ipa/FunctionCallGraph.html" title="class in org.apache.sysds.hops.ipa">FunctionCallGraph</a>&nbsp;fgraph,
+                        <a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashSet.html?is-external=true" title="class or interface in java.util">HashSet</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;fstack,
+                        <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;fkey,
+                        int&nbsp;level)</code>&nbsp;</td>
 </tr>
 <tr id="i21" class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Explain.html#explainHops-java.util.ArrayList-">explainHops</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&gt;&nbsp;hops)</code>&nbsp;</td>
+</tr>
+<tr id="i22" class="altColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Explain.html#explainHops-java.util.ArrayList-int-">explainHops</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&gt;&nbsp;hops,
            int&nbsp;level)</code>&nbsp;</td>
 </tr>
-<tr id="i22" class="altColor">
+<tr id="i23" class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Explain.html#explainLineageItems-org.apache.sysds.runtime.lineage.LineageItem:A-">explainLineageItems</a></span>(<a href="../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>[]&nbsp;lis)</code>&nbsp;</td>
 </tr>
-<tr id="i23" class="rowColor">
+<tr id="i24" class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Explain.html#explainLineageItems-org.apache.sysds.runtime.lineage.LineageItem:A-int-">explainLineageItems</a></span>(<a href="../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>[]&nbsp;lis,
                    int&nbsp;level)</code>&nbsp;</td>
 </tr>
-<tr id="i24" class="altColor">
+<tr id="i25" class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Explain.html#explainMemoryBudget--">explainMemoryBudget</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i25" class="rowColor">
+<tr id="i26" class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Explain.html#explainMemoryBudget-org.apache.sysds.utils.Explain.ExplainCounts-">explainMemoryBudget</a></span>(<a href="../../../../org/apache/sysds/utils/Explain.ExplainCounts.html" title="class in org.apache.sysds.utils">Explain.ExplainCounts</a>&nbsp;counts)</code>&nbsp;</td>
 </tr>
-<tr id="i26" class="altColor">
+<tr id="i27" class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Explain.html#getIdentation-int-">getIdentation</a></span>(int&nbsp;level)</code>&nbsp;</td>
 </tr>
@@ -592,12 +599,24 @@
 <a name="getIdentation-int-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>getIdentation</h4>
 <pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getIdentation(int&nbsp;level)</pre>
 </li>
 </ul>
+<a name="explainFunctionCallGraph-org.apache.sysds.hops.ipa.FunctionCallGraph-java.util.HashSet-java.lang.String-int-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>explainFunctionCallGraph</h4>
+<pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;explainFunctionCallGraph(<a href="../../../../org/apache/sysds/hops/ipa/FunctionCallGraph.html" title="class in org.apache.sysds.hops.ipa">FunctionCallGraph</a>&nbsp;fgraph,
+                                              <a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashSet.html?is-external=true" title="class or interface in java.util">HashSet</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;fstack,
+                                              <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;fkey,
+                                              int&nbsp;level)</pre>
+</li>
+</ul>
 </li>
 </ul>
 </li>
@@ -667,6 +686,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/utils/GPUStatistics.html b/docs/api/java/org/apache/sysds/utils/GPUStatistics.html
index 0d02342..c4d19f4 100644
--- a/docs/api/java/org/apache/sysds/utils/GPUStatistics.html
+++ b/docs/api/java/org/apache/sysds/utils/GPUStatistics.html
@@ -912,6 +912,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/utils/Hash.HashType.html b/docs/api/java/org/apache/sysds/utils/Hash.HashType.html
index a8cd2d3..fb8f224 100644
--- a/docs/api/java/org/apache/sysds/utils/Hash.HashType.html
+++ b/docs/api/java/org/apache/sysds/utils/Hash.HashType.html
@@ -354,6 +354,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/utils/Hash.html b/docs/api/java/org/apache/sysds/utils/Hash.html
index 7c98359..43dd5e9 100644
--- a/docs/api/java/org/apache/sysds/utils/Hash.html
+++ b/docs/api/java/org/apache/sysds/utils/Hash.html
@@ -403,6 +403,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/utils/InstallDependencyForIntegrationTests.html b/docs/api/java/org/apache/sysds/utils/InstallDependencyForIntegrationTests.html
index def053a..54540aa 100644
--- a/docs/api/java/org/apache/sysds/utils/InstallDependencyForIntegrationTests.html
+++ b/docs/api/java/org/apache/sysds/utils/InstallDependencyForIntegrationTests.html
@@ -300,6 +300,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/utils/JSONHelper.html b/docs/api/java/org/apache/sysds/utils/JSONHelper.html
index 9e3cbdc..6565903 100644
--- a/docs/api/java/org/apache/sysds/utils/JSONHelper.html
+++ b/docs/api/java/org/apache/sysds/utils/JSONHelper.html
@@ -287,6 +287,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/utils/MLContextProxy.html b/docs/api/java/org/apache/sysds/utils/MLContextProxy.html
index fb580c6..1b4e4eb 100644
--- a/docs/api/java/org/apache/sysds/utils/MLContextProxy.html
+++ b/docs/api/java/org/apache/sysds/utils/MLContextProxy.html
@@ -325,6 +325,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/utils/MemoryEstimates.html b/docs/api/java/org/apache/sysds/utils/MemoryEstimates.html
index f87a1ba..41a8566 100644
--- a/docs/api/java/org/apache/sysds/utils/MemoryEstimates.html
+++ b/docs/api/java/org/apache/sysds/utils/MemoryEstimates.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":9,"i2":9,"i3":9};
+var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -112,8 +112,11 @@
 <pre>public class <span class="typeNameLabel">MemoryEstimates</span>
 extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 <div class="block">Memory Estimates is a helper class containing static classes that estimate the memory requirements of different types
- of objects in java.
- All estimates are worst case JVM x86-64bit uncompressed object pointers.</div>
+ of objects in java. All estimates are worst case JVM x86-64bit uncompressed object pointers.
+ 
+ This in practice means that the objects are most commonly smaller, for instance the object references are often time.
+ 
+ If the memory pressure is low (there is a low number of allocated objects) then object pointers are 4 bits.</div>
 </li>
 </ul>
 </div>
@@ -151,19 +154,45 @@
 </tr>
 <tr id="i0" class="altColor">
 <td class="colFirst"><code>static long</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/MemoryEstimates.html#byteArrayCost-int-">byteArrayCost</a></span>(int&nbsp;length)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/MemoryEstimates.html#bitSetCost-int-">bitSetCost</a></span>(int&nbsp;length)</code>
+<div class="block">Get the worst case memory usage of an java.util.BitSet java object.</div>
+</td>
 </tr>
 <tr id="i1" class="rowColor">
 <td class="colFirst"><code>static long</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/MemoryEstimates.html#charArrayCost-int-">charArrayCost</a></span>(int&nbsp;length)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/MemoryEstimates.html#byteArrayCost-int-">byteArrayCost</a></span>(int&nbsp;length)</code>
+<div class="block">Get the worst case memory usage of an array of bytes.</div>
+</td>
 </tr>
 <tr id="i2" class="altColor">
 <td class="colFirst"><code>static long</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/MemoryEstimates.html#doubleArrayCost-long-">doubleArrayCost</a></span>(long&nbsp;length)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/MemoryEstimates.html#charArrayCost-int-">charArrayCost</a></span>(int&nbsp;length)</code>
+<div class="block">Get the worst case memory usage of an array of chars.</div>
+</td>
 </tr>
 <tr id="i3" class="rowColor">
+<td class="colFirst"><code>static double</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/MemoryEstimates.html#doubleArrayCost-long-">doubleArrayCost</a></span>(long&nbsp;length)</code>
+<div class="block">Get the worst case memory usage of an array of doubles.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>static double</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/MemoryEstimates.html#intArrayCost-long-">intArrayCost</a></span>(long&nbsp;length)</code>
+<div class="block">Get the worst case memory usage of an array of integers.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>static double</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/MemoryEstimates.html#longArrayCost-int-">longArrayCost</a></span>(int&nbsp;length)</code>
+<div class="block">Get the worst case memory usage for an array of longs</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>static long</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/MemoryEstimates.html#intArrayCost-int-">intArrayCost</a></span>(int&nbsp;length)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/MemoryEstimates.html#objectArrayCost-long-">objectArrayCost</a></span>(long&nbsp;length)</code>
+<div class="block">Get the worst case memory usage for an array of objects.</div>
+</td>
 </tr>
 </table>
 <ul class="blockList">
@@ -204,6 +233,22 @@
 <!--   -->
 </a>
 <h3>Method Detail</h3>
+<a name="bitSetCost-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>bitSetCost</h4>
+<pre>public static&nbsp;long&nbsp;bitSetCost(int&nbsp;length)</pre>
+<div class="block">Get the worst case memory usage of an java.util.BitSet java object.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>length</code> - The length of the array.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The memory estimate in bytes</dd>
+</dl>
+</li>
+</ul>
 <a name="byteArrayCost-int-">
 <!--   -->
 </a>
@@ -211,6 +256,13 @@
 <li class="blockList">
 <h4>byteArrayCost</h4>
 <pre>public static&nbsp;long&nbsp;byteArrayCost(int&nbsp;length)</pre>
+<div class="block">Get the worst case memory usage of an array of bytes.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>length</code> - The length of the array.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The memory estimate in bytes</dd>
+</dl>
 </li>
 </ul>
 <a name="charArrayCost-int-">
@@ -220,24 +272,77 @@
 <li class="blockList">
 <h4>charArrayCost</h4>
 <pre>public static&nbsp;long&nbsp;charArrayCost(int&nbsp;length)</pre>
+<div class="block">Get the worst case memory usage of an array of chars.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>length</code> - The length of the array.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The memory estimate in bytes</dd>
+</dl>
 </li>
 </ul>
-<a name="intArrayCost-int-">
+<a name="intArrayCost-long-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>intArrayCost</h4>
-<pre>public static&nbsp;long&nbsp;intArrayCost(int&nbsp;length)</pre>
+<pre>public static&nbsp;double&nbsp;intArrayCost(long&nbsp;length)</pre>
+<div class="block">Get the worst case memory usage of an array of integers.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>length</code> - The length of the array.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The memory estimate in bytes</dd>
+</dl>
 </li>
 </ul>
 <a name="doubleArrayCost-long-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>doubleArrayCost</h4>
-<pre>public static&nbsp;long&nbsp;doubleArrayCost(long&nbsp;length)</pre>
+<pre>public static&nbsp;double&nbsp;doubleArrayCost(long&nbsp;length)</pre>
+<div class="block">Get the worst case memory usage of an array of doubles.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>length</code> - The length of the array.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The memory estimate in bytes</dd>
+</dl>
+</li>
+</ul>
+<a name="objectArrayCost-long-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>objectArrayCost</h4>
+<pre>public static&nbsp;long&nbsp;objectArrayCost(long&nbsp;length)</pre>
+<div class="block">Get the worst case memory usage for an array of objects.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>length</code> - The length of the array.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The memory estimate in bytes</dd>
+</dl>
+</li>
+</ul>
+<a name="longArrayCost-int-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>longArrayCost</h4>
+<pre>public static&nbsp;double&nbsp;longArrayCost(int&nbsp;length)</pre>
+<div class="block">Get the worst case memory usage for an array of longs</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>length</code> - The length of the array.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The memory estimate in bytes</dd>
+</dl>
 </li>
 </ul>
 </li>
@@ -309,6 +414,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/utils/NativeHelper.NativeBlasState.html b/docs/api/java/org/apache/sysds/utils/NativeHelper.NativeBlasState.html
index 41a8706..9295953 100644
--- a/docs/api/java/org/apache/sysds/utils/NativeHelper.NativeBlasState.html
+++ b/docs/api/java/org/apache/sysds/utils/NativeHelper.NativeBlasState.html
@@ -365,6 +365,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/utils/NativeHelper.html b/docs/api/java/org/apache/sysds/utils/NativeHelper.html
index ad48545..36a1328 100644
--- a/docs/api/java/org/apache/sysds/utils/NativeHelper.html
+++ b/docs/api/java/org/apache/sysds/utils/NativeHelper.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":9,"i11":9,"i12":9,"i13":9};
+var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":9,"i11":9,"i12":9,"i13":9,"i14":9,"i15":9};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -187,7 +187,7 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
-<td class="colFirst"><code>static int</code></td>
+<td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/NativeHelper.html#conv2dBackwardDataDense-double:A-double:A-double:A-int-int-int-int-int-int-int-int-int-int-int-int-int-int-">conv2dBackwardDataDense</a></span>(double[]&nbsp;filter,
                        double[]&nbsp;dout,
                        double[]&nbsp;ret,
@@ -207,7 +207,7 @@
                        int&nbsp;numThreads)</code>&nbsp;</td>
 </tr>
 <tr id="i1" class="rowColor">
-<td class="colFirst"><code>static int</code></td>
+<td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/NativeHelper.html#conv2dBackwardFilterDense-double:A-double:A-double:A-int-int-int-int-int-int-int-int-int-int-int-int-int-int-">conv2dBackwardFilterDense</a></span>(double[]&nbsp;input,
                          double[]&nbsp;dout,
                          double[]&nbsp;ret,
@@ -250,7 +250,7 @@
                                int&nbsp;numThreads)</code>&nbsp;</td>
 </tr>
 <tr id="i3" class="rowColor">
-<td class="colFirst"><code>static int</code></td>
+<td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/NativeHelper.html#conv2dDense-double:A-double:A-double:A-int-int-int-int-int-int-int-int-int-int-int-int-int-int-">conv2dDense</a></span>(double[]&nbsp;input,
            double[]&nbsp;filter,
            double[]&nbsp;ret,
@@ -293,7 +293,7 @@
             int&nbsp;numThreads)</code>&nbsp;</td>
 </tr>
 <tr id="i5" class="rowColor">
-<td class="colFirst"><code>static int</code></td>
+<td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/NativeHelper.html#dconv2dBiasAddDense-double:A-double:A-double:A-double:A-int-int-int-int-int-int-int-int-int-int-int-int-int-int-">dconv2dBiasAddDense</a></span>(double[]&nbsp;input,
                    double[]&nbsp;bias,
                    double[]&nbsp;filter,
@@ -314,7 +314,7 @@
                    int&nbsp;numThreads)</code>&nbsp;</td>
 </tr>
 <tr id="i6" class="altColor">
-<td class="colFirst"><code>static boolean</code></td>
+<td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/NativeHelper.html#dmmdd-double:A-double:A-double:A-int-int-int-int-">dmmdd</a></span>(double[]&nbsp;m1,
      double[]&nbsp;m2,
      double[]&nbsp;ret,
@@ -347,7 +347,21 @@
 </td>
 </tr>
 <tr id="i11" class="rowColor">
-<td class="colFirst"><code>static int</code></td>
+<td class="colFirst"><code>static boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/NativeHelper.html#loadBLAS-java.lang.String-java.lang.String-java.lang.String-">loadBLAS</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;customLibPath,
+        <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;blas,
+        <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;optionalMsg)</code>
+<div class="block">Attempts to load native BLAS</div>
+</td>
+</tr>
+<tr id="i12" class="altColor">
+<td class="colFirst"><code>static boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/NativeHelper.html#loadLibraryHelperFromResource-java.lang.String-">loadLibraryHelperFromResource</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;libFileName)</code>
+<div class="block">Attempts to load the JNI shared library from the sysds jar</div>
+</td>
+</tr>
+<tr id="i13" class="rowColor">
+<td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/NativeHelper.html#sconv2dBiasAddDense-java.nio.FloatBuffer-java.nio.FloatBuffer-java.nio.FloatBuffer-java.nio.FloatBuffer-int-int-int-int-int-int-int-int-int-int-int-int-int-int-">sconv2dBiasAddDense</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/FloatBuffer.html?is-external=true" title="class or interface in java.nio">FloatBuffer</a>&nbsp;input,
                    <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/FloatBuffer.html?is-external=true" title="class or interface in java.nio">FloatBuffer</a>&nbsp;bias,
                    <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/FloatBuffer.html?is-external=true" title="class or interface in java.nio">FloatBuffer</a>&nbsp;filter,
@@ -367,8 +381,8 @@
                    int&nbsp;Q,
                    int&nbsp;numThreads)</code>&nbsp;</td>
 </tr>
-<tr id="i12" class="altColor">
-<td class="colFirst"><code>static boolean</code></td>
+<tr id="i14" class="altColor">
+<td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/NativeHelper.html#smmdd-java.nio.FloatBuffer-java.nio.FloatBuffer-java.nio.FloatBuffer-int-int-int-int-">smmdd</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/FloatBuffer.html?is-external=true" title="class or interface in java.nio">FloatBuffer</a>&nbsp;m1,
      <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/FloatBuffer.html?is-external=true" title="class or interface in java.nio">FloatBuffer</a>&nbsp;m2,
      <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/FloatBuffer.html?is-external=true" title="class or interface in java.nio">FloatBuffer</a>&nbsp;ret,
@@ -377,8 +391,8 @@
      int&nbsp;m2clen,
      int&nbsp;numThreads)</code>&nbsp;</td>
 </tr>
-<tr id="i13" class="rowColor">
-<td class="colFirst"><code>static boolean</code></td>
+<tr id="i15" class="rowColor">
+<td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/NativeHelper.html#tsmm-double:A-double:A-int-int-boolean-int-">tsmm</a></span>(double[]&nbsp;m1,
     double[]&nbsp;ret,
     int&nbsp;m1rlen,
@@ -495,19 +509,55 @@
 <pre>public static&nbsp;int&nbsp;getMaxNumThreads()</pre>
 </li>
 </ul>
+<a name="loadBLAS-java.lang.String-java.lang.String-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>loadBLAS</h4>
+<pre>public static&nbsp;boolean&nbsp;loadBLAS(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;customLibPath,
+                               <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;blas,
+                               <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;optionalMsg)</pre>
+<div class="block">Attempts to load native BLAS</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>customLibPath</code> - can be null (if we want to only want to use LD_LIBRARY_PATH), else the</dd>
+<dd><code>blas</code> - can be gomp, openblas or mkl_rt</dd>
+<dd><code>optionalMsg</code> - message for debugging</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if successfully loaded BLAS</dd>
+</dl>
+</li>
+</ul>
+<a name="loadLibraryHelperFromResource-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>loadLibraryHelperFromResource</h4>
+<pre>public static&nbsp;boolean&nbsp;loadLibraryHelperFromResource(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;libFileName)</pre>
+<div class="block">Attempts to load the JNI shared library from the sysds jar</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>libFileName</code> - library file name)</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if successfully loaded BLAS</dd>
+</dl>
+</li>
+</ul>
 <a name="dmmdd-double:A-double:A-double:A-int-int-int-int-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>dmmdd</h4>
-<pre>public static&nbsp;boolean&nbsp;dmmdd(double[]&nbsp;m1,
-                            double[]&nbsp;m2,
-                            double[]&nbsp;ret,
-                            int&nbsp;m1rlen,
-                            int&nbsp;m1clen,
-                            int&nbsp;m2clen,
-                            int&nbsp;numThreads)</pre>
+<pre>public static&nbsp;long&nbsp;dmmdd(double[]&nbsp;m1,
+                         double[]&nbsp;m2,
+                         double[]&nbsp;ret,
+                         int&nbsp;m1rlen,
+                         int&nbsp;m1clen,
+                         int&nbsp;m2clen,
+                         int&nbsp;numThreads)</pre>
 </li>
 </ul>
 <a name="smmdd-java.nio.FloatBuffer-java.nio.FloatBuffer-java.nio.FloatBuffer-int-int-int-int-">
@@ -516,13 +566,13 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>smmdd</h4>
-<pre>public static&nbsp;boolean&nbsp;smmdd(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/FloatBuffer.html?is-external=true" title="class or interface in java.nio">FloatBuffer</a>&nbsp;m1,
-                            <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/FloatBuffer.html?is-external=true" title="class or interface in java.nio">FloatBuffer</a>&nbsp;m2,
-                            <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/FloatBuffer.html?is-external=true" title="class or interface in java.nio">FloatBuffer</a>&nbsp;ret,
-                            int&nbsp;m1rlen,
-                            int&nbsp;m1clen,
-                            int&nbsp;m2clen,
-                            int&nbsp;numThreads)</pre>
+<pre>public static&nbsp;long&nbsp;smmdd(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/FloatBuffer.html?is-external=true" title="class or interface in java.nio">FloatBuffer</a>&nbsp;m1,
+                         <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/FloatBuffer.html?is-external=true" title="class or interface in java.nio">FloatBuffer</a>&nbsp;m2,
+                         <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/FloatBuffer.html?is-external=true" title="class or interface in java.nio">FloatBuffer</a>&nbsp;ret,
+                         int&nbsp;m1rlen,
+                         int&nbsp;m1clen,
+                         int&nbsp;m2clen,
+                         int&nbsp;numThreads)</pre>
 </li>
 </ul>
 <a name="tsmm-double:A-double:A-int-int-boolean-int-">
@@ -531,12 +581,12 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>tsmm</h4>
-<pre>public static&nbsp;boolean&nbsp;tsmm(double[]&nbsp;m1,
-                           double[]&nbsp;ret,
-                           int&nbsp;m1rlen,
-                           int&nbsp;m1clen,
-                           boolean&nbsp;leftTrans,
-                           int&nbsp;numThreads)</pre>
+<pre>public static&nbsp;long&nbsp;tsmm(double[]&nbsp;m1,
+                        double[]&nbsp;ret,
+                        int&nbsp;m1rlen,
+                        int&nbsp;m1clen,
+                        boolean&nbsp;leftTrans,
+                        int&nbsp;numThreads)</pre>
 </li>
 </ul>
 <a name="conv2dDense-double:A-double:A-double:A-int-int-int-int-int-int-int-int-int-int-int-int-int-int-">
@@ -545,23 +595,23 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>conv2dDense</h4>
-<pre>public static&nbsp;int&nbsp;conv2dDense(double[]&nbsp;input,
-                              double[]&nbsp;filter,
-                              double[]&nbsp;ret,
-                              int&nbsp;N,
-                              int&nbsp;C,
-                              int&nbsp;H,
-                              int&nbsp;W,
-                              int&nbsp;K,
-                              int&nbsp;R,
-                              int&nbsp;S,
-                              int&nbsp;stride_h,
-                              int&nbsp;stride_w,
-                              int&nbsp;pad_h,
-                              int&nbsp;pad_w,
-                              int&nbsp;P,
-                              int&nbsp;Q,
-                              int&nbsp;numThreads)</pre>
+<pre>public static&nbsp;long&nbsp;conv2dDense(double[]&nbsp;input,
+                               double[]&nbsp;filter,
+                               double[]&nbsp;ret,
+                               int&nbsp;N,
+                               int&nbsp;C,
+                               int&nbsp;H,
+                               int&nbsp;W,
+                               int&nbsp;K,
+                               int&nbsp;R,
+                               int&nbsp;S,
+                               int&nbsp;stride_h,
+                               int&nbsp;stride_w,
+                               int&nbsp;pad_h,
+                               int&nbsp;pad_w,
+                               int&nbsp;P,
+                               int&nbsp;Q,
+                               int&nbsp;numThreads)</pre>
 </li>
 </ul>
 <a name="dconv2dBiasAddDense-double:A-double:A-double:A-double:A-int-int-int-int-int-int-int-int-int-int-int-int-int-int-">
@@ -570,24 +620,24 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>dconv2dBiasAddDense</h4>
-<pre>public static&nbsp;int&nbsp;dconv2dBiasAddDense(double[]&nbsp;input,
-                                      double[]&nbsp;bias,
-                                      double[]&nbsp;filter,
-                                      double[]&nbsp;ret,
-                                      int&nbsp;N,
-                                      int&nbsp;C,
-                                      int&nbsp;H,
-                                      int&nbsp;W,
-                                      int&nbsp;K,
-                                      int&nbsp;R,
-                                      int&nbsp;S,
-                                      int&nbsp;stride_h,
-                                      int&nbsp;stride_w,
-                                      int&nbsp;pad_h,
-                                      int&nbsp;pad_w,
-                                      int&nbsp;P,
-                                      int&nbsp;Q,
-                                      int&nbsp;numThreads)</pre>
+<pre>public static&nbsp;long&nbsp;dconv2dBiasAddDense(double[]&nbsp;input,
+                                       double[]&nbsp;bias,
+                                       double[]&nbsp;filter,
+                                       double[]&nbsp;ret,
+                                       int&nbsp;N,
+                                       int&nbsp;C,
+                                       int&nbsp;H,
+                                       int&nbsp;W,
+                                       int&nbsp;K,
+                                       int&nbsp;R,
+                                       int&nbsp;S,
+                                       int&nbsp;stride_h,
+                                       int&nbsp;stride_w,
+                                       int&nbsp;pad_h,
+                                       int&nbsp;pad_w,
+                                       int&nbsp;P,
+                                       int&nbsp;Q,
+                                       int&nbsp;numThreads)</pre>
 </li>
 </ul>
 <a name="sconv2dBiasAddDense-java.nio.FloatBuffer-java.nio.FloatBuffer-java.nio.FloatBuffer-java.nio.FloatBuffer-int-int-int-int-int-int-int-int-int-int-int-int-int-int-">
@@ -596,24 +646,24 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>sconv2dBiasAddDense</h4>
-<pre>public static&nbsp;int&nbsp;sconv2dBiasAddDense(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/FloatBuffer.html?is-external=true" title="class or interface in java.nio">FloatBuffer</a>&nbsp;input,
-                                      <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/FloatBuffer.html?is-external=true" title="class or interface in java.nio">FloatBuffer</a>&nbsp;bias,
-                                      <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/FloatBuffer.html?is-external=true" title="class or interface in java.nio">FloatBuffer</a>&nbsp;filter,
-                                      <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/FloatBuffer.html?is-external=true" title="class or interface in java.nio">FloatBuffer</a>&nbsp;ret,
-                                      int&nbsp;N,
-                                      int&nbsp;C,
-                                      int&nbsp;H,
-                                      int&nbsp;W,
-                                      int&nbsp;K,
-                                      int&nbsp;R,
-                                      int&nbsp;S,
-                                      int&nbsp;stride_h,
-                                      int&nbsp;stride_w,
-                                      int&nbsp;pad_h,
-                                      int&nbsp;pad_w,
-                                      int&nbsp;P,
-                                      int&nbsp;Q,
-                                      int&nbsp;numThreads)</pre>
+<pre>public static&nbsp;long&nbsp;sconv2dBiasAddDense(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/FloatBuffer.html?is-external=true" title="class or interface in java.nio">FloatBuffer</a>&nbsp;input,
+                                       <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/FloatBuffer.html?is-external=true" title="class or interface in java.nio">FloatBuffer</a>&nbsp;bias,
+                                       <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/FloatBuffer.html?is-external=true" title="class or interface in java.nio">FloatBuffer</a>&nbsp;filter,
+                                       <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/FloatBuffer.html?is-external=true" title="class or interface in java.nio">FloatBuffer</a>&nbsp;ret,
+                                       int&nbsp;N,
+                                       int&nbsp;C,
+                                       int&nbsp;H,
+                                       int&nbsp;W,
+                                       int&nbsp;K,
+                                       int&nbsp;R,
+                                       int&nbsp;S,
+                                       int&nbsp;stride_h,
+                                       int&nbsp;stride_w,
+                                       int&nbsp;pad_h,
+                                       int&nbsp;pad_w,
+                                       int&nbsp;P,
+                                       int&nbsp;Q,
+                                       int&nbsp;numThreads)</pre>
 </li>
 </ul>
 <a name="conv2dBackwardFilterDense-double:A-double:A-double:A-int-int-int-int-int-int-int-int-int-int-int-int-int-int-">
@@ -622,23 +672,23 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>conv2dBackwardFilterDense</h4>
-<pre>public static&nbsp;int&nbsp;conv2dBackwardFilterDense(double[]&nbsp;input,
-                                            double[]&nbsp;dout,
-                                            double[]&nbsp;ret,
-                                            int&nbsp;N,
-                                            int&nbsp;C,
-                                            int&nbsp;H,
-                                            int&nbsp;W,
-                                            int&nbsp;K,
-                                            int&nbsp;R,
-                                            int&nbsp;S,
-                                            int&nbsp;stride_h,
-                                            int&nbsp;stride_w,
-                                            int&nbsp;pad_h,
-                                            int&nbsp;pad_w,
-                                            int&nbsp;P,
-                                            int&nbsp;Q,
-                                            int&nbsp;numThreads)</pre>
+<pre>public static&nbsp;long&nbsp;conv2dBackwardFilterDense(double[]&nbsp;input,
+                                             double[]&nbsp;dout,
+                                             double[]&nbsp;ret,
+                                             int&nbsp;N,
+                                             int&nbsp;C,
+                                             int&nbsp;H,
+                                             int&nbsp;W,
+                                             int&nbsp;K,
+                                             int&nbsp;R,
+                                             int&nbsp;S,
+                                             int&nbsp;stride_h,
+                                             int&nbsp;stride_w,
+                                             int&nbsp;pad_h,
+                                             int&nbsp;pad_w,
+                                             int&nbsp;P,
+                                             int&nbsp;Q,
+                                             int&nbsp;numThreads)</pre>
 </li>
 </ul>
 <a name="conv2dBackwardDataDense-double:A-double:A-double:A-int-int-int-int-int-int-int-int-int-int-int-int-int-int-">
@@ -647,23 +697,23 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>conv2dBackwardDataDense</h4>
-<pre>public static&nbsp;int&nbsp;conv2dBackwardDataDense(double[]&nbsp;filter,
-                                          double[]&nbsp;dout,
-                                          double[]&nbsp;ret,
-                                          int&nbsp;N,
-                                          int&nbsp;C,
-                                          int&nbsp;H,
-                                          int&nbsp;W,
-                                          int&nbsp;K,
-                                          int&nbsp;R,
-                                          int&nbsp;S,
-                                          int&nbsp;stride_h,
-                                          int&nbsp;stride_w,
-                                          int&nbsp;pad_h,
-                                          int&nbsp;pad_w,
-                                          int&nbsp;P,
-                                          int&nbsp;Q,
-                                          int&nbsp;numThreads)</pre>
+<pre>public static&nbsp;long&nbsp;conv2dBackwardDataDense(double[]&nbsp;filter,
+                                           double[]&nbsp;dout,
+                                           double[]&nbsp;ret,
+                                           int&nbsp;N,
+                                           int&nbsp;C,
+                                           int&nbsp;H,
+                                           int&nbsp;W,
+                                           int&nbsp;K,
+                                           int&nbsp;R,
+                                           int&nbsp;S,
+                                           int&nbsp;stride_h,
+                                           int&nbsp;stride_w,
+                                           int&nbsp;pad_h,
+                                           int&nbsp;pad_w,
+                                           int&nbsp;P,
+                                           int&nbsp;Q,
+                                           int&nbsp;numThreads)</pre>
 </li>
 </ul>
 <a name="conv2dBackwardFilterSparseDense-int-int-int:A-double:A-double:A-double:A-int-int-int-int-int-int-int-int-int-int-int-int-int-int-">
@@ -791,6 +841,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/utils/ParameterBuilder.html b/docs/api/java/org/apache/sysds/utils/ParameterBuilder.html
index 4861129..efdb81e 100644
--- a/docs/api/java/org/apache/sysds/utils/ParameterBuilder.html
+++ b/docs/api/java/org/apache/sysds/utils/ParameterBuilder.html
@@ -314,6 +314,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/utils/Statistics.html b/docs/api/java/org/apache/sysds/utils/Statistics.html
index eeaf450..c45dff2 100644
--- a/docs/api/java/org/apache/sysds/utils/Statistics.html
+++ b/docs/api/java/org/apache/sysds/utils/Statistics.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":9,"i11":9,"i12":9,"i13":9,"i14":9,"i15":9,"i16":9,"i17":9,"i18":9,"i19":9,"i20":9,"i21":9,"i22":9,"i23":9,"i24":9,"i25":9,"i26":9,"i27":9,"i28":9,"i29":9,"i30":9,"i31":9,"i32":9,"i33":9,"i34":9,"i35":9,"i36":9,"i37":9,"i38":9,"i39":9,"i40":9,"i41":9,"i42":9,"i43":9,"i44":9,"i45":9,"i46":9,"i47":9,"i48":9,"i49":9,"i50":9,"i51":9,"i52":9,"i53":9,"i54":9,"i55":9,"i56":9,"i57":9,"i58":9,"i59":9,"i60":9,"i61":9,"i62":9,"i63":9,"i64":9,"i65":9,"i66":9,"i67":9,"i68":9,"i69":9,"i70":9,"i71":9,"i72":9,"i73":9,"i74":9,"i75":9,"i76":9,"i77":9,"i78":9,"i79":9,"i80":9,"i81":9,"i82":9,"i83":9,"i84":9,"i85":9,"i86":9,"i87":9,"i88":9,"i89":9,"i90":9,"i91":9,"i92":9,"i93":9,"i94":9,"i95":9,"i96":9,"i97":9,"i98":9,"i99":9,"i100":9,"i101":9,"i102":9,"i103":9,"i104":9,"i105":9,"i106":9,"i107":9,"i108":9};
+var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":9,"i11":9,"i12":9,"i13":9,"i14":9,"i15":9,"i16":9,"i17":9,"i18":9,"i19":9,"i20":9,"i21":9,"i22":9,"i23":9,"i24":9,"i25":9,"i26":9,"i27":9,"i28":9,"i29":9,"i30":9,"i31":9,"i32":9,"i33":9,"i34":9,"i35":9,"i36":9,"i37":9,"i38":9,"i39":9,"i40":9,"i41":9,"i42":9,"i43":9,"i44":9,"i45":9,"i46":9,"i47":9,"i48":9,"i49":9,"i50":9,"i51":9,"i52":9,"i53":9,"i54":9,"i55":9,"i56":9,"i57":9,"i58":9,"i59":9,"i60":9,"i61":9,"i62":9,"i63":9,"i64":9,"i65":9,"i66":9,"i67":9,"i68":9,"i69":9,"i70":9,"i71":9,"i72":9,"i73":9,"i74":9,"i75":9,"i76":9,"i77":9,"i78":9,"i79":9,"i80":9,"i81":9,"i82":9,"i83":9,"i84":9,"i85":9,"i86":9,"i87":9,"i88":9,"i89":9,"i90":9,"i91":9,"i92":9,"i93":9,"i94":9,"i95":9,"i96":9,"i97":9,"i98":9,"i99":9,"i100":9,"i101":9,"i102":9,"i103":9,"i104":9,"i105":9,"i106":9,"i107":9,"i108":9,"i109":9,"i110":9,"i111":9,"i112":9,"i113":9,"i114":9,"i115":9,"i116":9,"i117":9};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -224,150 +224,174 @@
 </tr>
 <tr id="i0" class="altColor">
 <td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#accPSAggregationTime-long-">accPSAggregationTime</a></span>(long&nbsp;t)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#accFedPSCommunicationTime-long-">accFedPSCommunicationTime</a></span>(long&nbsp;t)</code>&nbsp;</td>
 </tr>
 <tr id="i1" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#accPSBatchIndexingTime-long-">accPSBatchIndexingTime</a></span>(long&nbsp;t)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#accFedPSDataPartitioningTime-long-">accFedPSDataPartitioningTime</a></span>(long&nbsp;t)</code>&nbsp;</td>
 </tr>
 <tr id="i2" class="altColor">
 <td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#accPSGradientComputeTime-long-">accPSGradientComputeTime</a></span>(long&nbsp;t)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#accFedPSGradientWeightingTime-long-">accFedPSGradientWeightingTime</a></span>(long&nbsp;t)</code>&nbsp;</td>
 </tr>
 <tr id="i3" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#accPSLocalModelUpdateTime-long-">accPSLocalModelUpdateTime</a></span>(long&nbsp;t)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#accFedPSWorkerComputing-long-">accFedPSWorkerComputing</a></span>(long&nbsp;t)</code>&nbsp;</td>
 </tr>
 <tr id="i4" class="altColor">
 <td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#accPSModelBroadcastTime-long-">accPSModelBroadcastTime</a></span>(long&nbsp;t)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#accPSAggregationTime-long-">accPSAggregationTime</a></span>(long&nbsp;t)</code>&nbsp;</td>
 </tr>
 <tr id="i5" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#accPSRpcRequestTime-long-">accPSRpcRequestTime</a></span>(long&nbsp;t)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#accPSBatchIndexingTime-long-">accPSBatchIndexingTime</a></span>(long&nbsp;t)</code>&nbsp;</td>
 </tr>
 <tr id="i6" class="altColor">
 <td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#accPSSetupTime-long-">accPSSetupTime</a></span>(long&nbsp;t)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#accPSExecutionTime-long-">accPSExecutionTime</a></span>(long&nbsp;n)</code>&nbsp;</td>
 </tr>
 <tr id="i7" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#accSparkBroadCastTime-long-">accSparkBroadCastTime</a></span>(long&nbsp;t)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#accPSGradientComputeTime-long-">accPSGradientComputeTime</a></span>(long&nbsp;t)</code>&nbsp;</td>
 </tr>
 <tr id="i8" class="altColor">
 <td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#accSparkCollectTime-long-">accSparkCollectTime</a></span>(long&nbsp;t)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#accPSLocalModelUpdateTime-long-">accPSLocalModelUpdateTime</a></span>(long&nbsp;t)</code>&nbsp;</td>
 </tr>
 <tr id="i9" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#accSparkParallelizeTime-long-">accSparkParallelizeTime</a></span>(long&nbsp;t)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#accPSModelBroadcastTime-long-">accPSModelBroadcastTime</a></span>(long&nbsp;t)</code>&nbsp;</td>
 </tr>
 <tr id="i10" class="altColor">
 <td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#accPSRpcRequestTime-long-">accPSRpcRequestTime</a></span>(long&nbsp;t)</code>&nbsp;</td>
+</tr>
+<tr id="i11" class="rowColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#accPSSetupTime-long-">accPSSetupTime</a></span>(long&nbsp;t)</code>&nbsp;</td>
+</tr>
+<tr id="i12" class="altColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#accPSValidationTime-long-">accPSValidationTime</a></span>(long&nbsp;t)</code>&nbsp;</td>
+</tr>
+<tr id="i13" class="rowColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#accSparkBroadCastTime-long-">accSparkBroadCastTime</a></span>(long&nbsp;t)</code>&nbsp;</td>
+</tr>
+<tr id="i14" class="altColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#accSparkCollectTime-long-">accSparkCollectTime</a></span>(long&nbsp;t)</code>&nbsp;</td>
+</tr>
+<tr id="i15" class="rowColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#accSparkParallelizeTime-long-">accSparkParallelizeTime</a></span>(long&nbsp;t)</code>&nbsp;</td>
+</tr>
+<tr id="i16" class="altColor">
+<td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#addCPMemObject-int-double-">addCPMemObject</a></span>(int&nbsp;hash,
               double&nbsp;sizeof)</code>&nbsp;</td>
 </tr>
-<tr id="i11" class="rowColor">
+<tr id="i17" class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#createdSparkContext--">createdSparkContext</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i12" class="altColor">
+<tr id="i18" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#decrementNoOfExecutedSPInst--">decrementNoOfExecutedSPInst</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i13" class="rowColor">
+<tr id="i19" class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#display--">display</a></span>()</code>
 <div class="block">Returns statistics of the DML program that was recently completed as a string</div>
 </td>
 </tr>
-<tr id="i14" class="altColor">
+<tr id="i20" class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#display-int-">display</a></span>(int&nbsp;maxHeavyHitters)</code>
 <div class="block">Returns statistics as a string</div>
 </td>
 </tr>
-<tr id="i15" class="rowColor">
+<tr id="i21" class="rowColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#getCodegenClassCompile--">getCodegenClassCompile</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i16" class="altColor">
+<tr id="i22" class="altColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#getCodegenClassCompileTime--">getCodegenClassCompileTime</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i17" class="rowColor">
+<tr id="i23" class="rowColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#getCodegenCompileTime--">getCodegenCompileTime</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i18" class="altColor">
+<tr id="i24" class="altColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#getCodegenCPlanCompile--">getCodegenCPlanCompile</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i19" class="rowColor">
+<tr id="i25" class="rowColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#getCodegenDAGCompile--">getCodegenDAGCompile</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i20" class="altColor">
+<tr id="i26" class="altColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#getCodegenEnumAll--">getCodegenEnumAll</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i21" class="rowColor">
+<tr id="i27" class="rowColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#getCodegenEnumAllP--">getCodegenEnumAllP</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i22" class="altColor">
+<tr id="i28" class="altColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#getCodegenEnumEval--">getCodegenEnumEval</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i23" class="rowColor">
+<tr id="i29" class="rowColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#getCodegenEnumEvalP--">getCodegenEnumEvalP</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i24" class="altColor">
+<tr id="i30" class="altColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#getCodegenOpCacheHits--">getCodegenOpCacheHits</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i25" class="rowColor">
+<tr id="i31" class="rowColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#getCodegenOpCacheTotal--">getCodegenOpCacheTotal</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i26" class="altColor">
+<tr id="i32" class="altColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#getCodegenPlanCacheHits--">getCodegenPlanCacheHits</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i27" class="rowColor">
+<tr id="i33" class="rowColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#getCodegenPlanCacheTotal--">getCodegenPlanCacheTotal</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i28" class="altColor">
+<tr id="i34" class="altColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#getCompileTime--">getCompileTime</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i29" class="rowColor">
+<tr id="i35" class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#getCPHeavyHitterCode-org.apache.sysds.runtime.instructions.Instruction-">getCPHeavyHitterCode</a></span>(<a href="../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a>&nbsp;inst)</code>&nbsp;</td>
 </tr>
-<tr id="i30" class="altColor">
+<tr id="i36" class="altColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#getCPHeavyHitterCount-java.lang.String-">getCPHeavyHitterCount</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;opcode)</code>&nbsp;</td>
 </tr>
-<tr id="i31" class="rowColor">
+<tr id="i37" class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#getCPHeavyHitterOpCodes--">getCPHeavyHitterOpCodes</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i32" class="altColor">
+<tr id="i38" class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#getCPHeavyHittersMem-int-">getCPHeavyHittersMem</a></span>(int&nbsp;num)</code>&nbsp;</td>
 </tr>
-<tr id="i33" class="rowColor">
+<tr id="i39" class="rowColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#getFunRecompiles--">getFunRecompiles</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i34" class="altColor">
+<tr id="i40" class="altColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#getFunRecompileTime--">getFunRecompileTime</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i35" class="rowColor">
+<tr id="i41" class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#getHeavyHitters-int-">getHeavyHitters</a></span>(int&nbsp;num)</code>
 <div class="block">Obtain a string tabular representation of the heavy hitter instructions
@@ -375,250 +399,262 @@
  each instruction.</div>
 </td>
 </tr>
-<tr id="i36" class="altColor">
+<tr id="i42" class="altColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#getHopRecompiledPredDAGs--">getHopRecompiledPredDAGs</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i37" class="rowColor">
+<tr id="i43" class="rowColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#getHopRecompiledSBDAGs--">getHopRecompiledSBDAGs</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i38" class="altColor">
+<tr id="i44" class="altColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#getHopRecompileTime--">getHopRecompileTime</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i39" class="rowColor">
+<tr id="i45" class="rowColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#getJITCompileTime--">getJITCompileTime</a></span>()</code>
 <div class="block">Returns the total time of asynchronous JIT compilation in milliseconds.</div>
 </td>
 </tr>
-<tr id="i40" class="altColor">
+<tr id="i46" class="altColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#getJVMgcCount--">getJVMgcCount</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i41" class="rowColor">
+<tr id="i47" class="rowColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#getJVMgcTime--">getJVMgcTime</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i42" class="altColor">
+<tr id="i48" class="altColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#getNoOfCompiledSPInst--">getNoOfCompiledSPInst</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i43" class="rowColor">
+<tr id="i49" class="rowColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#getNoOfExecutedSPInst--">getNoOfExecutedSPInst</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i44" class="altColor">
+<tr id="i50" class="altColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#getNumPinnedObjects--">getNumPinnedObjects</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i45" class="rowColor">
+<tr id="i51" class="rowColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#getParforInitTime--">getParforInitTime</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i46" class="altColor">
+<tr id="i52" class="altColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#getParforMergeTime--">getParforMergeTime</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i47" class="rowColor">
+<tr id="i53" class="rowColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#getParforOptCount--">getParforOptCount</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i48" class="altColor">
+<tr id="i54" class="altColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#getParforOptTime--">getParforOptTime</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i49" class="rowColor">
+<tr id="i55" class="rowColor">
+<td class="colFirst"><code>static double</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#getPSExecutionTime--">getPSExecutionTime</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i56" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../org/apache/sysds/runtime/controlprogram/parfor/stat/Timing.html" title="class in org.apache.sysds.runtime.controlprogram.parfor.stat">Timing</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#getPSExecutionTimer--">getPSExecutionTimer</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i57" class="rowColor">
+<td class="colFirst"><code>static double</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#getPSValidationTime--">getPSValidationTime</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i58" class="altColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#getRunTime--">getRunTime</a></span>()</code>
 <div class="block">Returns the total time of run in nanoseconds.</div>
 </td>
 </tr>
-<tr id="i50" class="altColor">
+<tr id="i59" class="rowColor">
 <td class="colFirst"><code>static double</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#getSizeofPinnedObjects--">getSizeofPinnedObjects</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i51" class="rowColor">
+<tr id="i60" class="altColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#getTotalLix--">getTotalLix</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i52" class="altColor">
+<tr id="i61" class="rowColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#getTotalLixUIP--">getTotalLixUIP</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i53" class="rowColor">
+<tr id="i62" class="altColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#getTotalUIPVar--">getTotalUIPVar</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i54" class="altColor">
+<tr id="i63" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#incFederated-org.apache.sysds.runtime.controlprogram.federated.FederatedRequest.RequestType-">incFederated</a></span>(<a href="../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRequest.RequestType.html" title="enum in org.apache.sysds.runtime.controlprogram.federated">FederatedRequest.RequestType</a>&nbsp;rqt)</code>&nbsp;</td>
 </tr>
-<tr id="i55" class="rowColor">
+<tr id="i64" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#incrementCodegenClassCompile--">incrementCodegenClassCompile</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i56" class="altColor">
+<tr id="i65" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#incrementCodegenClassCompileTime-long-">incrementCodegenClassCompileTime</a></span>(long&nbsp;delta)</code>&nbsp;</td>
 </tr>
-<tr id="i57" class="rowColor">
+<tr id="i66" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#incrementCodegenCompileTime-long-">incrementCodegenCompileTime</a></span>(long&nbsp;delta)</code>&nbsp;</td>
 </tr>
-<tr id="i58" class="altColor">
+<tr id="i67" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#incrementCodegenCPlanCompile-long-">incrementCodegenCPlanCompile</a></span>(long&nbsp;delta)</code>&nbsp;</td>
 </tr>
-<tr id="i59" class="rowColor">
+<tr id="i68" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#incrementCodegenDAGCompile--">incrementCodegenDAGCompile</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i60" class="altColor">
+<tr id="i69" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#incrementCodegenEnumAll-long-">incrementCodegenEnumAll</a></span>(long&nbsp;delta)</code>&nbsp;</td>
 </tr>
-<tr id="i61" class="rowColor">
+<tr id="i70" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#incrementCodegenEnumAllP-long-">incrementCodegenEnumAllP</a></span>(long&nbsp;delta)</code>&nbsp;</td>
 </tr>
-<tr id="i62" class="altColor">
+<tr id="i71" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#incrementCodegenEnumEval-long-">incrementCodegenEnumEval</a></span>(long&nbsp;delta)</code>&nbsp;</td>
 </tr>
-<tr id="i63" class="rowColor">
+<tr id="i72" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#incrementCodegenEnumEvalP-long-">incrementCodegenEnumEvalP</a></span>(long&nbsp;delta)</code>&nbsp;</td>
 </tr>
-<tr id="i64" class="altColor">
+<tr id="i73" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#incrementCodegenOpCacheHits--">incrementCodegenOpCacheHits</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i65" class="rowColor">
+<tr id="i74" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#incrementCodegenOpCacheTotal--">incrementCodegenOpCacheTotal</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i66" class="altColor">
+<tr id="i75" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#incrementCodegenPlanCacheHits--">incrementCodegenPlanCacheHits</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i67" class="rowColor">
+<tr id="i76" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#incrementCodegenPlanCacheTotal--">incrementCodegenPlanCacheTotal</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i68" class="altColor">
+<tr id="i77" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#incrementFunRecompiles--">incrementFunRecompiles</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i69" class="rowColor">
+<tr id="i78" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#incrementFunRecompileTime-long-">incrementFunRecompileTime</a></span>(long&nbsp;delta)</code>&nbsp;</td>
 </tr>
-<tr id="i70" class="altColor">
+<tr id="i79" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#incrementHOPRecompilePred--">incrementHOPRecompilePred</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i71" class="rowColor">
+<tr id="i80" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#incrementHOPRecompilePred-long-">incrementHOPRecompilePred</a></span>(long&nbsp;delta)</code>&nbsp;</td>
 </tr>
-<tr id="i72" class="altColor">
+<tr id="i81" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#incrementHOPRecompileSB--">incrementHOPRecompileSB</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i73" class="rowColor">
+<tr id="i82" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#incrementHOPRecompileSB-long-">incrementHOPRecompileSB</a></span>(long&nbsp;delta)</code>&nbsp;</td>
 </tr>
-<tr id="i74" class="altColor">
+<tr id="i83" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#incrementHOPRecompileTime-long-">incrementHOPRecompileTime</a></span>(long&nbsp;delta)</code>&nbsp;</td>
 </tr>
-<tr id="i75" class="rowColor">
+<tr id="i84" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#incrementJITCompileTime-long-">incrementJITCompileTime</a></span>(long&nbsp;time)</code>&nbsp;</td>
 </tr>
-<tr id="i76" class="altColor">
+<tr id="i85" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#incrementJVMgcCount-long-">incrementJVMgcCount</a></span>(long&nbsp;delta)</code>&nbsp;</td>
 </tr>
-<tr id="i77" class="rowColor">
+<tr id="i86" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#incrementJVMgcTime-long-">incrementJVMgcTime</a></span>(long&nbsp;time)</code>&nbsp;</td>
 </tr>
-<tr id="i78" class="altColor">
+<tr id="i87" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#incrementNativeFailuresCounter--">incrementNativeFailuresCounter</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i79" class="rowColor">
+<tr id="i88" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#incrementNoOfCompiledSPInst--">incrementNoOfCompiledSPInst</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i80" class="altColor">
+<tr id="i89" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#incrementNoOfExecutedSPInst--">incrementNoOfExecutedSPInst</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i81" class="rowColor">
+<tr id="i90" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#incrementParForInitTime-long-">incrementParForInitTime</a></span>(long&nbsp;time)</code>&nbsp;</td>
 </tr>
-<tr id="i82" class="altColor">
+<tr id="i91" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#incrementParForMergeTime-long-">incrementParForMergeTime</a></span>(long&nbsp;time)</code>&nbsp;</td>
 </tr>
-<tr id="i83" class="rowColor">
+<tr id="i92" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#incrementParForOptimCount--">incrementParForOptimCount</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i84" class="altColor">
+<tr id="i93" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#incrementParForOptimTime-long-">incrementParForOptimTime</a></span>(long&nbsp;time)</code>&nbsp;</td>
 </tr>
-<tr id="i85" class="rowColor">
+<tr id="i94" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#incrementTotalLix--">incrementTotalLix</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i86" class="altColor">
+<tr id="i95" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#incrementTotalLixUIP--">incrementTotalLixUIP</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i87" class="rowColor">
+<tr id="i96" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#incrementTotalUIPVar--">incrementTotalUIPVar</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i88" class="altColor">
+<tr id="i97" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#incSparkBroadcastCount-long-">incSparkBroadcastCount</a></span>(long&nbsp;c)</code>&nbsp;</td>
 </tr>
-<tr id="i89" class="rowColor">
+<tr id="i98" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#incSparkCollectCount-long-">incSparkCollectCount</a></span>(long&nbsp;c)</code>&nbsp;</td>
 </tr>
-<tr id="i90" class="altColor">
+<tr id="i99" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#incSparkParallelizeCount-long-">incSparkParallelizeCount</a></span>(long&nbsp;c)</code>&nbsp;</td>
 </tr>
-<tr id="i91" class="rowColor">
+<tr id="i100" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#incWorkerNumber--">incWorkerNumber</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i92" class="altColor">
+<tr id="i101" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#incWorkerNumber-long-">incWorkerNumber</a></span>(long&nbsp;n)</code>&nbsp;</td>
 </tr>
-<tr id="i93" class="rowColor">
+<tr id="i102" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#maintainCPFuncCallStats-java.lang.String-">maintainCPFuncCallStats</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;instName)</code>&nbsp;</td>
 </tr>
-<tr id="i94" class="altColor">
+<tr id="i103" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#maintainCPHeavyHitters-java.lang.String-long-">maintainCPHeavyHitters</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;instName,
                       long&nbsp;timeNanos)</code>
 <div class="block">"Maintains" or adds time to per instruction/op timers, also increments associated count</div>
 </td>
 </tr>
-<tr id="i95" class="rowColor">
+<tr id="i104" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#maintainCPHeavyHittersMem-java.lang.String-double-">maintainCPHeavyHittersMem</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
                          double&nbsp;sizeof)</code>
@@ -626,60 +662,60 @@
  throughout execution of the program.</div>
 </td>
 </tr>
-<tr id="i96" class="altColor">
+<tr id="i105" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#removeCPMemObject-int-">removeCPMemObject</a></span>(int&nbsp;hash)</code>
 <div class="block">Helper method to remove a memory object which has become unpinned</div>
 </td>
 </tr>
-<tr id="i97" class="rowColor">
+<tr id="i106" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#reset--">reset</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i98" class="altColor">
+<tr id="i107" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#resetCPHeavyHitters--">resetCPHeavyHitters</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i99" class="rowColor">
+<tr id="i108" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#resetJITCompileTime--">resetJITCompileTime</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i100" class="altColor">
+<tr id="i109" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#resetJVMgcCount--">resetJVMgcCount</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i101" class="rowColor">
+<tr id="i110" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#resetJVMgcTime--">resetJVMgcTime</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i102" class="altColor">
+<tr id="i111" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#resetNoOfCompiledJobs-int-">resetNoOfCompiledJobs</a></span>(int&nbsp;count)</code>&nbsp;</td>
 </tr>
-<tr id="i103" class="rowColor">
+<tr id="i112" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#resetNoOfExecutedJobs--">resetNoOfExecutedJobs</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i104" class="altColor">
+<tr id="i113" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#setSparkCtxCreateTime-long-">setSparkCtxCreateTime</a></span>(long&nbsp;ns)</code>&nbsp;</td>
 </tr>
-<tr id="i105" class="rowColor">
+<tr id="i114" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#startCompileTimer--">startCompileTimer</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i106" class="altColor">
+<tr id="i115" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#startRunTimer--">startRunTimer</a></span>()</code>
 <div class="block">Starts the timer, should be invoked immediately before invoking
  Program.execute()</div>
 </td>
 </tr>
-<tr id="i107" class="rowColor">
+<tr id="i116" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#stopCompileTimer--">stopCompileTimer</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i108" class="altColor">
+<tr id="i117" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/utils/Statistics.html#stopRunTimer--">stopRunTimer</a></span>()</code>
 <div class="block">Stops the timer, should be invoked immediately after invoking
@@ -1561,6 +1597,33 @@
 <pre>public static&nbsp;void&nbsp;incWorkerNumber(long&nbsp;n)</pre>
 </li>
 </ul>
+<a name="getPSExecutionTimer--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getPSExecutionTimer</h4>
+<pre>public static&nbsp;<a href="../../../../org/apache/sysds/runtime/controlprogram/parfor/stat/Timing.html" title="class in org.apache.sysds.runtime.controlprogram.parfor.stat">Timing</a>&nbsp;getPSExecutionTimer()</pre>
+</li>
+</ul>
+<a name="getPSExecutionTime--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getPSExecutionTime</h4>
+<pre>public static&nbsp;double&nbsp;getPSExecutionTime()</pre>
+</li>
+</ul>
+<a name="accPSExecutionTime-long-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>accPSExecutionTime</h4>
+<pre>public static&nbsp;void&nbsp;accPSExecutionTime(long&nbsp;n)</pre>
+</li>
+</ul>
 <a name="accPSSetupTime-long-">
 <!--   -->
 </a>
@@ -1624,6 +1687,60 @@
 <pre>public static&nbsp;void&nbsp;accPSRpcRequestTime(long&nbsp;t)</pre>
 </li>
 </ul>
+<a name="getPSValidationTime--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getPSValidationTime</h4>
+<pre>public static&nbsp;double&nbsp;getPSValidationTime()</pre>
+</li>
+</ul>
+<a name="accPSValidationTime-long-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>accPSValidationTime</h4>
+<pre>public static&nbsp;void&nbsp;accPSValidationTime(long&nbsp;t)</pre>
+</li>
+</ul>
+<a name="accFedPSDataPartitioningTime-long-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>accFedPSDataPartitioningTime</h4>
+<pre>public static&nbsp;void&nbsp;accFedPSDataPartitioningTime(long&nbsp;t)</pre>
+</li>
+</ul>
+<a name="accFedPSWorkerComputing-long-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>accFedPSWorkerComputing</h4>
+<pre>public static&nbsp;void&nbsp;accFedPSWorkerComputing(long&nbsp;t)</pre>
+</li>
+</ul>
+<a name="accFedPSGradientWeightingTime-long-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>accFedPSGradientWeightingTime</h4>
+<pre>public static&nbsp;void&nbsp;accFedPSGradientWeightingTime(long&nbsp;t)</pre>
+</li>
+</ul>
+<a name="accFedPSCommunicationTime-long-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>accFedPSCommunicationTime</h4>
+<pre>public static&nbsp;void&nbsp;accFedPSCommunicationTime(long&nbsp;t)</pre>
+</li>
+</ul>
 <a name="getCPHeavyHitterCode-org.apache.sysds.runtime.instructions.Instruction-">
 <!--   -->
 </a>
@@ -1977,6 +2094,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/utils/SystemDSLoaderUtils.html b/docs/api/java/org/apache/sysds/utils/SystemDSLoaderUtils.html
index 687e00b..8ddd7ac 100644
--- a/docs/api/java/org/apache/sysds/utils/SystemDSLoaderUtils.html
+++ b/docs/api/java/org/apache/sysds/utils/SystemDSLoaderUtils.html
@@ -282,6 +282,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/utils/class-use/DMLCompressionStatistics.html b/docs/api/java/org/apache/sysds/utils/class-use/DMLCompressionStatistics.html
index 86c5649..eb893d6 100644
--- a/docs/api/java/org/apache/sysds/utils/class-use/DMLCompressionStatistics.html
+++ b/docs/api/java/org/apache/sysds/utils/class-use/DMLCompressionStatistics.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/utils/class-use/DataAugmentation.html b/docs/api/java/org/apache/sysds/utils/class-use/DataAugmentation.html
index aebb802..47414b4 100644
--- a/docs/api/java/org/apache/sysds/utils/class-use/DataAugmentation.html
+++ b/docs/api/java/org/apache/sysds/utils/class-use/DataAugmentation.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/utils/class-use/EnvironmentHelper.html b/docs/api/java/org/apache/sysds/utils/class-use/EnvironmentHelper.html
index aafca5c..dac2e14 100644
--- a/docs/api/java/org/apache/sysds/utils/class-use/EnvironmentHelper.html
+++ b/docs/api/java/org/apache/sysds/utils/class-use/EnvironmentHelper.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/utils/class-use/Explain.ExplainCounts.html b/docs/api/java/org/apache/sysds/utils/class-use/Explain.ExplainCounts.html
index 95ec283..e8c5a55 100644
--- a/docs/api/java/org/apache/sysds/utils/class-use/Explain.ExplainCounts.html
+++ b/docs/api/java/org/apache/sysds/utils/class-use/Explain.ExplainCounts.html
@@ -199,6 +199,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/utils/class-use/Explain.ExplainType.html b/docs/api/java/org/apache/sysds/utils/class-use/Explain.ExplainType.html
index cd751c9..2acde14 100644
--- a/docs/api/java/org/apache/sysds/utils/class-use/Explain.ExplainType.html
+++ b/docs/api/java/org/apache/sysds/utils/class-use/Explain.ExplainType.html
@@ -246,6 +246,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/utils/class-use/Explain.html b/docs/api/java/org/apache/sysds/utils/class-use/Explain.html
index e4a3895..9d7fc2f 100644
--- a/docs/api/java/org/apache/sysds/utils/class-use/Explain.html
+++ b/docs/api/java/org/apache/sysds/utils/class-use/Explain.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/utils/class-use/GPUStatistics.html b/docs/api/java/org/apache/sysds/utils/class-use/GPUStatistics.html
index 2a689f6..3b14c13 100644
--- a/docs/api/java/org/apache/sysds/utils/class-use/GPUStatistics.html
+++ b/docs/api/java/org/apache/sysds/utils/class-use/GPUStatistics.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/utils/class-use/Hash.HashType.html b/docs/api/java/org/apache/sysds/utils/class-use/Hash.HashType.html
index e2620f6..b8779d2 100644
--- a/docs/api/java/org/apache/sysds/utils/class-use/Hash.HashType.html
+++ b/docs/api/java/org/apache/sysds/utils/class-use/Hash.HashType.html
@@ -226,6 +226,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/utils/class-use/Hash.html b/docs/api/java/org/apache/sysds/utils/class-use/Hash.html
index 0ed255a..91a14c7 100644
--- a/docs/api/java/org/apache/sysds/utils/class-use/Hash.html
+++ b/docs/api/java/org/apache/sysds/utils/class-use/Hash.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/utils/class-use/InstallDependencyForIntegrationTests.html b/docs/api/java/org/apache/sysds/utils/class-use/InstallDependencyForIntegrationTests.html
index 3f4db72..6f2be3a 100644
--- a/docs/api/java/org/apache/sysds/utils/class-use/InstallDependencyForIntegrationTests.html
+++ b/docs/api/java/org/apache/sysds/utils/class-use/InstallDependencyForIntegrationTests.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/utils/class-use/JSONHelper.html b/docs/api/java/org/apache/sysds/utils/class-use/JSONHelper.html
index a54609a..fd0a8a6 100644
--- a/docs/api/java/org/apache/sysds/utils/class-use/JSONHelper.html
+++ b/docs/api/java/org/apache/sysds/utils/class-use/JSONHelper.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/utils/class-use/MLContextProxy.html b/docs/api/java/org/apache/sysds/utils/class-use/MLContextProxy.html
index 4650ffa..df97cbf 100644
--- a/docs/api/java/org/apache/sysds/utils/class-use/MLContextProxy.html
+++ b/docs/api/java/org/apache/sysds/utils/class-use/MLContextProxy.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/utils/class-use/MemoryEstimates.html b/docs/api/java/org/apache/sysds/utils/class-use/MemoryEstimates.html
index 36e5365..4f446ff 100644
--- a/docs/api/java/org/apache/sysds/utils/class-use/MemoryEstimates.html
+++ b/docs/api/java/org/apache/sysds/utils/class-use/MemoryEstimates.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/utils/class-use/NativeHelper.NativeBlasState.html b/docs/api/java/org/apache/sysds/utils/class-use/NativeHelper.NativeBlasState.html
index 061a2fb..6dee587 100644
--- a/docs/api/java/org/apache/sysds/utils/class-use/NativeHelper.NativeBlasState.html
+++ b/docs/api/java/org/apache/sysds/utils/class-use/NativeHelper.NativeBlasState.html
@@ -182,6 +182,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/utils/class-use/NativeHelper.html b/docs/api/java/org/apache/sysds/utils/class-use/NativeHelper.html
index 7e55fe1..864c56b 100644
--- a/docs/api/java/org/apache/sysds/utils/class-use/NativeHelper.html
+++ b/docs/api/java/org/apache/sysds/utils/class-use/NativeHelper.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/utils/class-use/ParameterBuilder.html b/docs/api/java/org/apache/sysds/utils/class-use/ParameterBuilder.html
index 5ddaea0..5416199 100644
--- a/docs/api/java/org/apache/sysds/utils/class-use/ParameterBuilder.html
+++ b/docs/api/java/org/apache/sysds/utils/class-use/ParameterBuilder.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/utils/class-use/Statistics.html b/docs/api/java/org/apache/sysds/utils/class-use/Statistics.html
index 56559db..4a7097b 100644
--- a/docs/api/java/org/apache/sysds/utils/class-use/Statistics.html
+++ b/docs/api/java/org/apache/sysds/utils/class-use/Statistics.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/utils/class-use/SystemDSLoaderUtils.html b/docs/api/java/org/apache/sysds/utils/class-use/SystemDSLoaderUtils.html
index d6da87f..39270aa 100644
--- a/docs/api/java/org/apache/sysds/utils/class-use/SystemDSLoaderUtils.html
+++ b/docs/api/java/org/apache/sysds/utils/class-use/SystemDSLoaderUtils.html
@@ -120,6 +120,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/utils/package-summary.html b/docs/api/java/org/apache/sysds/utils/package-summary.html
index 651c46d..6a4bc10 100644
--- a/docs/api/java/org/apache/sysds/utils/package-summary.html
+++ b/docs/api/java/org/apache/sysds/utils/package-summary.html
@@ -240,6 +240,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/utils/package-tree.html b/docs/api/java/org/apache/sysds/utils/package-tree.html
index da24b6c..80b5c90 100644
--- a/docs/api/java/org/apache/sysds/utils/package-tree.html
+++ b/docs/api/java/org/apache/sysds/utils/package-tree.html
@@ -161,6 +161,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/utils/package-use.html b/docs/api/java/org/apache/sysds/utils/package-use.html
index 5dbd5df..8ca32f7 100644
--- a/docs/api/java/org/apache/sysds/utils/package-use.html
+++ b/docs/api/java/org/apache/sysds/utils/package-use.html
@@ -223,6 +223,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/overview-frame.html b/docs/api/java/overview-frame.html
index 445f44b..ea26c28 100644
--- a/docs/api/java/overview-frame.html
+++ b/docs/api/java/overview-frame.html
@@ -21,6 +21,8 @@
 <li><a href="org/apache/sysds/hops/package-frame.html" target="packageFrame">org.apache.sysds.hops</a></li>
 <li><a href="org/apache/sysds/hops/codegen/package-frame.html" target="packageFrame">org.apache.sysds.hops.codegen</a></li>
 <li><a href="org/apache/sysds/hops/codegen/cplan/package-frame.html" target="packageFrame">org.apache.sysds.hops.codegen.cplan</a></li>
+<li><a href="org/apache/sysds/hops/codegen/cplan/cuda/package-frame.html" target="packageFrame">org.apache.sysds.hops.codegen.cplan.cuda</a></li>
+<li><a href="org/apache/sysds/hops/codegen/cplan/java/package-frame.html" target="packageFrame">org.apache.sysds.hops.codegen.cplan.java</a></li>
 <li><a href="org/apache/sysds/hops/codegen/opt/package-frame.html" target="packageFrame">org.apache.sysds.hops.codegen.opt</a></li>
 <li><a href="org/apache/sysds/hops/codegen/template/package-frame.html" target="packageFrame">org.apache.sysds.hops.codegen.template</a></li>
 <li><a href="org/apache/sysds/hops/cost/package-frame.html" target="packageFrame">org.apache.sysds.hops.cost</a></li>
@@ -37,9 +39,13 @@
 <li><a href="org/apache/sysds/runtime/compress/package-frame.html" target="packageFrame">org.apache.sysds.runtime.compress</a></li>
 <li><a href="org/apache/sysds/runtime/compress/cocode/package-frame.html" target="packageFrame">org.apache.sysds.runtime.compress.cocode</a></li>
 <li><a href="org/apache/sysds/runtime/compress/colgroup/package-frame.html" target="packageFrame">org.apache.sysds.runtime.compress.colgroup</a></li>
+<li><a href="org/apache/sysds/runtime/compress/colgroup/mapping/package-frame.html" target="packageFrame">org.apache.sysds.runtime.compress.colgroup.mapping</a></li>
+<li><a href="org/apache/sysds/runtime/compress/colgroup/pre/package-frame.html" target="packageFrame">org.apache.sysds.runtime.compress.colgroup.pre</a></li>
+<li><a href="org/apache/sysds/runtime/compress/colgroup/tree/package-frame.html" target="packageFrame">org.apache.sysds.runtime.compress.colgroup.tree</a></li>
 <li><a href="org/apache/sysds/runtime/compress/estim/package-frame.html" target="packageFrame">org.apache.sysds.runtime.compress.estim</a></li>
 <li><a href="org/apache/sysds/runtime/compress/estim/sample/package-frame.html" target="packageFrame">org.apache.sysds.runtime.compress.estim.sample</a></li>
 <li><a href="org/apache/sysds/runtime/compress/lib/package-frame.html" target="packageFrame">org.apache.sysds.runtime.compress.lib</a></li>
+<li><a href="org/apache/sysds/runtime/compress/readers/package-frame.html" target="packageFrame">org.apache.sysds.runtime.compress.readers</a></li>
 <li><a href="org/apache/sysds/runtime/compress/utils/package-frame.html" target="packageFrame">org.apache.sysds.runtime.compress.utils</a></li>
 <li><a href="org/apache/sysds/runtime/controlprogram/package-frame.html" target="packageFrame">org.apache.sysds.runtime.controlprogram</a></li>
 <li><a href="org/apache/sysds/runtime/controlprogram/caching/package-frame.html" target="packageFrame">org.apache.sysds.runtime.controlprogram.caching</a></li>
@@ -76,6 +82,7 @@
 <li><a href="org/apache/sysds/runtime/transform/decode/package-frame.html" target="packageFrame">org.apache.sysds.runtime.transform.decode</a></li>
 <li><a href="org/apache/sysds/runtime/transform/encode/package-frame.html" target="packageFrame">org.apache.sysds.runtime.transform.encode</a></li>
 <li><a href="org/apache/sysds/runtime/transform/meta/package-frame.html" target="packageFrame">org.apache.sysds.runtime.transform.meta</a></li>
+<li><a href="org/apache/sysds/runtime/transform/tokenize/package-frame.html" target="packageFrame">org.apache.sysds.runtime.transform.tokenize</a></li>
 <li><a href="org/apache/sysds/runtime/util/package-frame.html" target="packageFrame">org.apache.sysds.runtime.util</a></li>
 <li><a href="org/apache/sysds/utils/package-frame.html" target="packageFrame">org.apache.sysds.utils</a></li>
 </ul>
diff --git a/docs/api/java/overview-summary.html b/docs/api/java/overview-summary.html
index 38f5f30..01c447c 100644
--- a/docs/api/java/overview-summary.html
+++ b/docs/api/java/overview-summary.html
@@ -119,6 +119,14 @@
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><a href="org/apache/sysds/hops/codegen/cplan/cuda/package-summary.html">org.apache.sysds.hops.codegen.cplan.cuda</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="org/apache/sysds/hops/codegen/cplan/java/package-summary.html">org.apache.sysds.hops.codegen.cplan.java</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/codegen/opt/package-summary.html">org.apache.sysds.hops.codegen.opt</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
@@ -183,17 +191,33 @@
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><a href="org/apache/sysds/runtime/compress/estim/package-summary.html">org.apache.sysds.runtime.compress.estim</a></td>
+<td class="colFirst"><a href="org/apache/sysds/runtime/compress/colgroup/mapping/package-summary.html">org.apache.sysds.runtime.compress.colgroup.mapping</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><a href="org/apache/sysds/runtime/compress/estim/sample/package-summary.html">org.apache.sysds.runtime.compress.estim.sample</a></td>
+<td class="colFirst"><a href="org/apache/sysds/runtime/compress/colgroup/pre/package-summary.html">org.apache.sysds.runtime.compress.colgroup.pre</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><a href="org/apache/sysds/runtime/compress/colgroup/tree/package-summary.html">org.apache.sysds.runtime.compress.colgroup.tree</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="org/apache/sysds/runtime/compress/estim/package-summary.html">org.apache.sysds.runtime.compress.estim</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="org/apache/sysds/runtime/compress/estim/sample/package-summary.html">org.apache.sysds.runtime.compress.estim.sample</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/lib/package-summary.html">org.apache.sysds.runtime.compress.lib</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><a href="org/apache/sysds/runtime/compress/readers/package-summary.html">org.apache.sysds.runtime.compress.readers</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
 <tr class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/utils/package-summary.html">org.apache.sysds.runtime.compress.utils</a></td>
 <td class="colLast">&nbsp;</td>
@@ -339,10 +363,14 @@
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><a href="org/apache/sysds/runtime/util/package-summary.html">org.apache.sysds.runtime.util</a></td>
+<td class="colFirst"><a href="org/apache/sysds/runtime/transform/tokenize/package-summary.html">org.apache.sysds.runtime.transform.tokenize</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><a href="org/apache/sysds/runtime/util/package-summary.html">org.apache.sysds.runtime.util</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/utils/package-summary.html">org.apache.sysds.utils</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
@@ -468,6 +496,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/overview-tree.html b/docs/api/java/overview-tree.html
index 179fbee..ed59870 100644
--- a/docs/api/java/overview-tree.html
+++ b/docs/api/java/overview-tree.html
@@ -81,6 +81,8 @@
 <li><a href="org/apache/sysds/hops/package-tree.html">org.apache.sysds.hops</a>, </li>
 <li><a href="org/apache/sysds/hops/codegen/package-tree.html">org.apache.sysds.hops.codegen</a>, </li>
 <li><a href="org/apache/sysds/hops/codegen/cplan/package-tree.html">org.apache.sysds.hops.codegen.cplan</a>, </li>
+<li><a href="org/apache/sysds/hops/codegen/cplan/cuda/package-tree.html">org.apache.sysds.hops.codegen.cplan.cuda</a>, </li>
+<li><a href="org/apache/sysds/hops/codegen/cplan/java/package-tree.html">org.apache.sysds.hops.codegen.cplan.java</a>, </li>
 <li><a href="org/apache/sysds/hops/codegen/opt/package-tree.html">org.apache.sysds.hops.codegen.opt</a>, </li>
 <li><a href="org/apache/sysds/hops/codegen/template/package-tree.html">org.apache.sysds.hops.codegen.template</a>, </li>
 <li><a href="org/apache/sysds/hops/cost/package-tree.html">org.apache.sysds.hops.cost</a>, </li>
@@ -97,9 +99,13 @@
 <li><a href="org/apache/sysds/runtime/compress/package-tree.html">org.apache.sysds.runtime.compress</a>, </li>
 <li><a href="org/apache/sysds/runtime/compress/cocode/package-tree.html">org.apache.sysds.runtime.compress.cocode</a>, </li>
 <li><a href="org/apache/sysds/runtime/compress/colgroup/package-tree.html">org.apache.sysds.runtime.compress.colgroup</a>, </li>
+<li><a href="org/apache/sysds/runtime/compress/colgroup/mapping/package-tree.html">org.apache.sysds.runtime.compress.colgroup.mapping</a>, </li>
+<li><a href="org/apache/sysds/runtime/compress/colgroup/pre/package-tree.html">org.apache.sysds.runtime.compress.colgroup.pre</a>, </li>
+<li><a href="org/apache/sysds/runtime/compress/colgroup/tree/package-tree.html">org.apache.sysds.runtime.compress.colgroup.tree</a>, </li>
 <li><a href="org/apache/sysds/runtime/compress/estim/package-tree.html">org.apache.sysds.runtime.compress.estim</a>, </li>
 <li><a href="org/apache/sysds/runtime/compress/estim/sample/package-tree.html">org.apache.sysds.runtime.compress.estim.sample</a>, </li>
 <li><a href="org/apache/sysds/runtime/compress/lib/package-tree.html">org.apache.sysds.runtime.compress.lib</a>, </li>
+<li><a href="org/apache/sysds/runtime/compress/readers/package-tree.html">org.apache.sysds.runtime.compress.readers</a>, </li>
 <li><a href="org/apache/sysds/runtime/compress/utils/package-tree.html">org.apache.sysds.runtime.compress.utils</a>, </li>
 <li><a href="org/apache/sysds/runtime/controlprogram/package-tree.html">org.apache.sysds.runtime.controlprogram</a>, </li>
 <li><a href="org/apache/sysds/runtime/controlprogram/caching/package-tree.html">org.apache.sysds.runtime.controlprogram.caching</a>, </li>
@@ -136,6 +142,7 @@
 <li><a href="org/apache/sysds/runtime/transform/decode/package-tree.html">org.apache.sysds.runtime.transform.decode</a>, </li>
 <li><a href="org/apache/sysds/runtime/transform/encode/package-tree.html">org.apache.sysds.runtime.transform.encode</a>, </li>
 <li><a href="org/apache/sysds/runtime/transform/meta/package-tree.html">org.apache.sysds.runtime.transform.meta</a>, </li>
+<li><a href="org/apache/sysds/runtime/transform/tokenize/package-tree.html">org.apache.sysds.runtime.transform.tokenize</a>, </li>
 <li><a href="org/apache/sysds/runtime/util/package-tree.html">org.apache.sysds.runtime.util</a>, </li>
 <li><a href="org/apache/sysds/utils/package-tree.html">org.apache.sysds.utils</a></li>
 </ul>
@@ -151,6 +158,35 @@
 <li type="circle">org.apache.sysds.runtime.compress.utils.<a href="org/apache/sysds/runtime/compress/utils/BitmapLossy.html" title="class in org.apache.sysds.runtime.compress.utils"><span class="typeNameLink">BitmapLossy</span></a></li>
 </ul>
 </li>
+<li type="circle">org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">AColGroup</span></a> (implements java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
+<ul>
+<li type="circle">org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">ColGroupUncompressed</span></a></li>
+<li type="circle">org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">ColGroupValue</span></a> (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Cloneable.html?is-external=true" title="class or interface in java.lang">Cloneable</a>)
+<ul>
+<li type="circle">org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">ColGroupConst</span></a></li>
+<li type="circle">org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">ColGroupDDC</span></a></li>
+<li type="circle">org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">ColGroupEmpty</span></a></li>
+<li type="circle">org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">ColGroupOffset</span></a>
+<ul>
+<li type="circle">org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">ColGroupOLE</span></a></li>
+<li type="circle">org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">ColGroupRLE</span></a></li>
+</ul>
+</li>
+<li type="circle">org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">ColGroupSDC</span></a></li>
+<li type="circle">org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">ColGroupSDCSingle</span></a></li>
+<li type="circle">org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">ColGroupSDCSingleZeros</span></a></li>
+<li type="circle">org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">ColGroupSDCZeros</span></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li type="circle">org.apache.sysds.runtime.compress.cocode.<a href="org/apache/sysds/runtime/compress/cocode/AColumnGroupPartitioner.html" title="class in org.apache.sysds.runtime.compress.cocode"><span class="typeNameLink">AColumnGroupPartitioner</span></a>
+<ul>
+<li type="circle">org.apache.sysds.runtime.compress.cocode.<a href="org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitionerBinPacking.html" title="class in org.apache.sysds.runtime.compress.cocode"><span class="typeNameLink">ColumnGroupPartitionerBinPacking</span></a></li>
+<li type="circle">org.apache.sysds.runtime.compress.cocode.<a href="org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitionerCost.html" title="class in org.apache.sysds.runtime.compress.cocode"><span class="typeNameLink">ColumnGroupPartitionerCost</span></a></li>
+<li type="circle">org.apache.sysds.runtime.compress.cocode.<a href="org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitionerStatic.html" title="class in org.apache.sysds.runtime.compress.cocode"><span class="typeNameLink">ColumnGroupPartitionerStatic</span></a></li>
+</ul>
+</li>
 <li type="circle">org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">ADictionary</span></a>
 <ul>
 <li type="circle">org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Dictionary</span></a></li>
@@ -160,9 +196,23 @@
 <li type="circle">org.apache.sysds.runtime.instructions.spark.functions.<a href="org/apache/sysds/runtime/instructions/spark/functions/AggregateDropCorrectionFunction.html" title="class in org.apache.sysds.runtime.instructions.spark.functions"><span class="typeNameLink">AggregateDropCorrectionFunction</span></a> (implements org.apache.spark.api.java.function.Function&lt;T1,R&gt;)</li>
 <li type="circle">org.apache.sysds.runtime.instructions.spark.<a href="org/apache/sysds/runtime/instructions/spark/AggregateUnarySPInstruction.RDDUAggFunction2.html" title="class in org.apache.sysds.runtime.instructions.spark"><span class="typeNameLink">AggregateUnarySPInstruction.RDDUAggFunction2</span></a> (implements org.apache.spark.api.java.function.Function&lt;T1,R&gt;)</li>
 <li type="circle">org.apache.sysds.runtime.instructions.spark.<a href="org/apache/sysds/runtime/instructions/spark/AggregateUnarySPInstruction.RDDUTensorAggFunction2.html" title="class in org.apache.sysds.runtime.instructions.spark"><span class="typeNameLink">AggregateUnarySPInstruction.RDDUTensorAggFunction2</span></a> (implements org.apache.spark.api.java.function.Function&lt;T1,R&gt;)</li>
+<li type="circle">org.apache.sysds.runtime.compress.colgroup.tree.<a href="org/apache/sysds/runtime/compress/colgroup/tree/AInsertionSorter.html" title="class in org.apache.sysds.runtime.compress.colgroup.tree"><span class="typeNameLink">AInsertionSorter</span></a>
+<ul>
+<li type="circle">org.apache.sysds.runtime.compress.colgroup.tree.<a href="org/apache/sysds/runtime/compress/colgroup/tree/MaterializeSort.html" title="class in org.apache.sysds.runtime.compress.colgroup.tree"><span class="typeNameLink">MaterializeSort</span></a></li>
+<li type="circle">org.apache.sysds.runtime.compress.colgroup.tree.<a href="org/apache/sysds/runtime/compress/colgroup/tree/MergeSort.html" title="class in org.apache.sysds.runtime.compress.colgroup.tree"><span class="typeNameLink">MergeSort</span></a></li>
+<li type="circle">org.apache.sysds.runtime.compress.colgroup.tree.<a href="org/apache/sysds/runtime/compress/colgroup/tree/Naive.html" title="class in org.apache.sysds.runtime.compress.colgroup.tree"><span class="typeNameLink">Naive</span></a></li>
+</ul>
+</li>
 <li type="circle">org.apache.sysds.runtime.instructions.spark.<a href="org/apache/sysds/runtime/instructions/spark/AppendGAlignedSPInstruction.ShiftColumnIndex.html" title="class in org.apache.sysds.runtime.instructions.spark"><span class="typeNameLink">AppendGAlignedSPInstruction.ShiftColumnIndex</span></a> (implements org.apache.spark.api.java.function.PairFunction&lt;T,K,V&gt;)</li>
 <li type="circle">org.apache.sysds.runtime.instructions.spark.<a href="org/apache/sysds/runtime/instructions/spark/AppendGSPInstruction.MergeWithShiftedBlocks.html" title="class in org.apache.sysds.runtime.instructions.spark"><span class="typeNameLink">AppendGSPInstruction.MergeWithShiftedBlocks</span></a> (implements org.apache.spark.api.java.function.PairFunction&lt;T,K,V&gt;)</li>
 <li type="circle">org.apache.sysds.runtime.instructions.spark.<a href="org/apache/sysds/runtime/instructions/spark/AppendGSPInstruction.ShiftMatrix.html" title="class in org.apache.sysds.runtime.instructions.spark"><span class="typeNameLink">AppendGSPInstruction.ShiftMatrix</span></a> (implements org.apache.spark.api.java.function.PairFlatMapFunction&lt;T,K,V&gt;)</li>
+<li type="circle">org.apache.sysds.runtime.privacy.propagation.<a href="org/apache/sysds/runtime/privacy/propagation/AppendPropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation"><span class="typeNameLink">AppendPropagator</span></a> (implements org.apache.sysds.runtime.privacy.propagation.<a href="org/apache/sysds/runtime/privacy/propagation/Propagator.html" title="interface in org.apache.sysds.runtime.privacy.propagation">Propagator</a>)
+<ul>
+<li type="circle">org.apache.sysds.runtime.privacy.propagation.<a href="org/apache/sysds/runtime/privacy/propagation/CBindPropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation"><span class="typeNameLink">CBindPropagator</span></a></li>
+<li type="circle">org.apache.sysds.runtime.privacy.propagation.<a href="org/apache/sysds/runtime/privacy/propagation/RBindPropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation"><span class="typeNameLink">RBindPropagator</span></a></li>
+</ul>
+</li>
+<li type="circle">org.apache.sysds.runtime.compress.colgroup.pre.<a href="org/apache/sysds/runtime/compress/colgroup/pre/ArrPreAggregate.html" title="class in org.apache.sysds.runtime.compress.colgroup.pre"><span class="typeNameLink">ArrPreAggregate</span></a> (implements org.apache.sysds.runtime.compress.colgroup.pre.<a href="org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a>)</li>
 <li type="circle">org.antlr.v4.runtime.BaseErrorListener (implements org.antlr.v4.runtime.ANTLRErrorListener)
 <ul>
 <li type="circle">org.apache.sysds.parser.dml.<a href="org/apache/sysds/parser/dml/CustomErrorListener.html" title="class in org.apache.sysds.parser.dml"><span class="typeNameLink">CustomErrorListener</span></a></li>
@@ -183,7 +233,8 @@
 </ul>
 </li>
 <li type="circle">org.apache.sysds.runtime.instructions.spark.<a href="org/apache/sysds/runtime/instructions/spark/BinUaggChainSPInstruction.RDDBinUaggChainFunction.html" title="class in org.apache.sysds.runtime.instructions.spark"><span class="typeNameLink">BinUaggChainSPInstruction.RDDBinUaggChainFunction</span></a> (implements org.apache.spark.api.java.function.Function&lt;T1,R&gt;)</li>
-<li type="circle">org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/BitmapEncoder.html" title="class in org.apache.sysds.runtime.compress"><span class="typeNameLink">BitmapEncoder</span></a></li>
+<li type="circle">org.apache.sysds.runtime.compress.lib.<a href="org/apache/sysds/runtime/compress/lib/BitmapEncoder.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">BitmapEncoder</span></a></li>
+<li type="circle">org.apache.sysds.runtime.compress.lib.<a href="org/apache/sysds/runtime/compress/lib/BitmapLossyEncoder.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">BitmapLossyEncoder</span></a></li>
 <li type="circle">org.apache.sysds.runtime.instructions.spark.<a href="org/apache/sysds/runtime/instructions/spark/BuiltinNarySPInstruction.PadBlocksFunction.html" title="class in org.apache.sysds.runtime.instructions.spark"><span class="typeNameLink">BuiltinNarySPInstruction.PadBlocksFunction</span></a> (implements org.apache.spark.api.java.function.PairFunction&lt;T,K,V&gt;)</li>
 <li type="circle">org.apache.sysds.runtime.controlprogram.caching.<a href="org/apache/sysds/runtime/controlprogram/caching/ByteBuffer.html" title="class in org.apache.sysds.runtime.controlprogram.caching"><span class="typeNameLink">ByteBuffer</span></a></li>
 <li type="circle">org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/ByteBufferDataInput.html" title="class in org.apache.sysds.runtime.util"><span class="typeNameLink">ByteBufferDataInput</span></a> (implements java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a>, org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/MatrixBlockDataInput.html" title="interface in org.apache.sysds.runtime.matrix.data">MatrixBlockDataInput</a>)</li>
@@ -203,6 +254,15 @@
 </ul>
 </li>
 <li type="circle">org.apache.sysds.runtime.privacy.<a href="org/apache/sysds/runtime/privacy/CheckedConstraintsLog.html" title="class in org.apache.sysds.runtime.privacy"><span class="typeNameLink">CheckedConstraintsLog</span></a></li>
+<li type="circle">org.apache.sysds.runtime.compress.lib.<a href="org/apache/sysds/runtime/compress/lib/CLALibAppend.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">CLALibAppend</span></a></li>
+<li type="circle">org.apache.sysds.runtime.compress.lib.<a href="org/apache/sysds/runtime/compress/lib/CLALibBinaryCellOp.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">CLALibBinaryCellOp</span></a></li>
+<li type="circle">org.apache.sysds.runtime.compress.lib.<a href="org/apache/sysds/runtime/compress/lib/CLALibCompAgg.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">CLALibCompAgg</span></a></li>
+<li type="circle">org.apache.sysds.runtime.compress.lib.<a href="org/apache/sysds/runtime/compress/lib/CLALibLeftMultBy.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">CLALibLeftMultBy</span></a></li>
+<li type="circle">org.apache.sysds.runtime.compress.lib.<a href="org/apache/sysds/runtime/compress/lib/CLALibReExpand.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">CLALibReExpand</span></a></li>
+<li type="circle">org.apache.sysds.runtime.compress.lib.<a href="org/apache/sysds/runtime/compress/lib/CLALibRelationalOp.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">CLALibRelationalOp</span></a></li>
+<li type="circle">org.apache.sysds.runtime.compress.lib.<a href="org/apache/sysds/runtime/compress/lib/CLALibRightMultBy.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">CLALibRightMultBy</span></a></li>
+<li type="circle">org.apache.sysds.runtime.compress.lib.<a href="org/apache/sysds/runtime/compress/lib/CLALibScalar.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">CLALibScalar</span></a></li>
+<li type="circle">org.apache.sysds.runtime.compress.lib.<a href="org/apache/sysds/runtime/compress/lib/CLALibSquash.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">CLALibSquash</span></a></li>
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/ClassLoader.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">ClassLoader</span></a>
 <ul>
 <li type="circle">java.security.<a href="https://docs.oracle.com/javase/8/docs/api/java/security/SecureClassLoader.html?is-external=true" title="class or interface in java.security"><span class="typeNameLink">SecureClassLoader</span></a>
@@ -234,26 +294,14 @@
 </ul>
 </li>
 <li type="circle">org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/CodegenUtils.html" title="class in org.apache.sysds.runtime.codegen"><span class="typeNameLink">CodegenUtils</span></a></li>
-<li type="circle">org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">ColGroup</span></a> (implements java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
+<li type="circle">org.apache.sysds.hops.codegen.cplan.<a href="org/apache/sysds/hops/codegen/cplan/CodeTemplate.html" title="class in org.apache.sysds.hops.codegen.cplan"><span class="typeNameLink">CodeTemplate</span></a>
 <ul>
-<li type="circle">org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">ColGroupUncompressed</span></a></li>
-<li type="circle">org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">ColGroupValue</span></a> (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Cloneable.html?is-external=true" title="class or interface in java.lang">Cloneable</a>)
-<ul>
-<li type="circle">org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">ColGroupConst</span></a></li>
-<li type="circle">org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">ColGroupDDC</span></a>
-<ul>
-<li type="circle">org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">ColGroupDDC1</span></a></li>
-<li type="circle">org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">ColGroupDDC2</span></a></li>
-</ul>
-</li>
-<li type="circle">org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">ColGroupOffset</span></a>
-<ul>
-<li type="circle">org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">ColGroupOLE</span></a></li>
-<li type="circle">org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">ColGroupRLE</span></a></li>
-</ul>
-</li>
-</ul>
-</li>
+<li type="circle">org.apache.sysds.hops.codegen.cplan.java.<a href="org/apache/sysds/hops/codegen/cplan/java/Binary.html" title="class in org.apache.sysds.hops.codegen.cplan.java"><span class="typeNameLink">Binary</span></a></li>
+<li type="circle">org.apache.sysds.hops.codegen.cplan.cuda.<a href="org/apache/sysds/hops/codegen/cplan/cuda/Binary.html" title="class in org.apache.sysds.hops.codegen.cplan.cuda"><span class="typeNameLink">Binary</span></a></li>
+<li type="circle">org.apache.sysds.hops.codegen.cplan.java.<a href="org/apache/sysds/hops/codegen/cplan/java/Ternary.html" title="class in org.apache.sysds.hops.codegen.cplan.java"><span class="typeNameLink">Ternary</span></a></li>
+<li type="circle">org.apache.sysds.hops.codegen.cplan.cuda.<a href="org/apache/sysds/hops/codegen/cplan/cuda/Ternary.html" title="class in org.apache.sysds.hops.codegen.cplan.cuda"><span class="typeNameLink">Ternary</span></a></li>
+<li type="circle">org.apache.sysds.hops.codegen.cplan.java.<a href="org/apache/sysds/hops/codegen/cplan/java/Unary.html" title="class in org.apache.sysds.hops.codegen.cplan.java"><span class="typeNameLink">Unary</span></a></li>
+<li type="circle">org.apache.sysds.hops.codegen.cplan.cuda.<a href="org/apache/sysds/hops/codegen/cplan/cuda/Unary.html" title="class in org.apache.sysds.hops.codegen.cplan.cuda"><span class="typeNameLink">Unary</span></a></li>
 </ul>
 </li>
 <li type="circle">org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupConverter.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">ColGroupConverter</span></a></li>
@@ -261,12 +309,14 @@
 <li type="circle">org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupIO.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">ColGroupIO</span></a></li>
 <li type="circle">org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSizes.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">ColGroupSizes</span></a></li>
 <li type="circle">org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/CollectionUtils.html" title="class in org.apache.sysds.runtime.util"><span class="typeNameLink">CollectionUtils</span></a></li>
-<li type="circle">org.apache.sysds.runtime.compress.utils.<a href="org/apache/sysds/runtime/compress/utils/ColumnGroupIterator.html" title="class in org.apache.sysds.runtime.compress.utils"><span class="typeNameLink">ColumnGroupIterator</span></a> (implements java.util.<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;E&gt;)</li>
-<li type="circle">org.apache.sysds.runtime.compress.cocode.<a href="org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitioner.html" title="class in org.apache.sysds.runtime.compress.cocode"><span class="typeNameLink">ColumnGroupPartitioner</span></a>
+<li type="circle">org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">ColumnEncoder</span></a> (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/Encoder.html" title="interface in org.apache.sysds.runtime.transform.encode">Encoder</a>, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true" title="class or interface in java.io">Externalizable</a>)
 <ul>
-<li type="circle">org.apache.sysds.runtime.compress.cocode.<a href="org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitionerBinPacking.html" title="class in org.apache.sysds.runtime.compress.cocode"><span class="typeNameLink">ColumnGroupPartitionerBinPacking</span></a></li>
-<li type="circle">org.apache.sysds.runtime.compress.cocode.<a href="org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitionerCost.html" title="class in org.apache.sysds.runtime.compress.cocode"><span class="typeNameLink">ColumnGroupPartitionerCost</span></a></li>
-<li type="circle">org.apache.sysds.runtime.compress.cocode.<a href="org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitionerStatic.html" title="class in org.apache.sysds.runtime.compress.cocode"><span class="typeNameLink">ColumnGroupPartitionerStatic</span></a></li>
+<li type="circle">org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderBin.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">ColumnEncoderBin</span></a></li>
+<li type="circle">org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">ColumnEncoderComposite</span></a></li>
+<li type="circle">org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderDummycode.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">ColumnEncoderDummycode</span></a></li>
+<li type="circle">org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderFeatureHash.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">ColumnEncoderFeatureHash</span></a></li>
+<li type="circle">org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderPassThrough.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">ColumnEncoderPassThrough</span></a></li>
+<li type="circle">org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderRecode.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">ColumnEncoderRecode</span></a></li>
 </ul>
 </li>
 <li type="circle">org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/CommonThreadPool.html" title="class in org.apache.sysds.runtime.util"><span class="typeNameLink">CommonThreadPool</span></a> (implements java.util.concurrent.<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ExecutorService</a>)</li>
@@ -345,7 +395,7 @@
 </li>
 <li type="circle">org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/CM_COV_Object.html" title="class in org.apache.sysds.runtime.instructions.cp"><span class="typeNameLink">CM_COV_Object</span></a></li>
 <li type="circle">org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/KahanObject.html" title="class in org.apache.sysds.runtime.instructions.cp"><span class="typeNameLink">KahanObject</span></a></li>
-<li type="circle">org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/ListObject.html" title="class in org.apache.sysds.runtime.instructions.cp"><span class="typeNameLink">ListObject</span></a></li>
+<li type="circle">org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/ListObject.html" title="class in org.apache.sysds.runtime.instructions.cp"><span class="typeNameLink">ListObject</span></a> (implements java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true" title="class or interface in java.io">Externalizable</a>)</li>
 <li type="circle">org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp"><span class="typeNameLink">ScalarObject</span></a>
 <ul>
 <li type="circle">org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/BooleanObject.html" title="class in org.apache.sysds.runtime.instructions.cp"><span class="typeNameLink">BooleanObject</span></a></li>
@@ -373,6 +423,17 @@
 <li type="circle">org.apache.sysds.runtime.controlprogram.parfor.<a href="org/apache/sysds/runtime/controlprogram/parfor/DataPartitionerRemoteSparkReducer.html" title="class in org.apache.sysds.runtime.controlprogram.parfor"><span class="typeNameLink">DataPartitionerRemoteSparkReducer</span></a> (implements org.apache.spark.api.java.function.VoidFunction&lt;T&gt;)</li>
 <li type="circle">org.apache.sysds.runtime.controlprogram.paramserv.dp.<a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionerSparkAggregator.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">DataPartitionerSparkAggregator</span></a> (implements org.apache.spark.api.java.function.PairFunction&lt;T,K,V&gt;, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)</li>
 <li type="circle">org.apache.sysds.runtime.controlprogram.paramserv.dp.<a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionerSparkMapper.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">DataPartitionerSparkMapper</span></a> (implements org.apache.spark.api.java.function.PairFlatMapFunction&lt;T,K,V&gt;, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)</li>
+<li type="circle">org.apache.sysds.runtime.controlprogram.paramserv.dp.<a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">DataPartitionFederatedScheme</span></a>
+<ul>
+<li type="circle">org.apache.sysds.runtime.controlprogram.paramserv.dp.<a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/BalanceToAvgFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">BalanceToAvgFederatedScheme</span></a></li>
+<li type="circle">org.apache.sysds.runtime.controlprogram.paramserv.dp.<a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/KeepDataOnWorkerFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">KeepDataOnWorkerFederatedScheme</span></a></li>
+<li type="circle">org.apache.sysds.runtime.controlprogram.paramserv.dp.<a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/ReplicateToMaxFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">ReplicateToMaxFederatedScheme</span></a></li>
+<li type="circle">org.apache.sysds.runtime.controlprogram.paramserv.dp.<a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/ShuffleFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">ShuffleFederatedScheme</span></a></li>
+<li type="circle">org.apache.sysds.runtime.controlprogram.paramserv.dp.<a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/SubsampleToMinFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">SubsampleToMinFederatedScheme</span></a></li>
+</ul>
+</li>
+<li type="circle">org.apache.sysds.runtime.controlprogram.paramserv.dp.<a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.BalanceMetrics.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">DataPartitionFederatedScheme.BalanceMetrics</span></a></li>
+<li type="circle">org.apache.sysds.runtime.controlprogram.paramserv.dp.<a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.Result.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">DataPartitionFederatedScheme.Result</span></a></li>
 <li type="circle">org.apache.sysds.runtime.controlprogram.paramserv.dp.<a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionLocalScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">DataPartitionLocalScheme</span></a>
 <ul>
 <li type="circle">org.apache.sysds.runtime.controlprogram.paramserv.dp.<a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/DCLocalScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">DCLocalScheme</span></a></li>
@@ -394,7 +455,7 @@
 <li type="circle">org.apache.sysds.runtime.data.<a href="org/apache/sysds/runtime/data/DataTensorBlock.html" title="class in org.apache.sysds.runtime.data"><span class="typeNameLink">DataTensorBlock</span></a> (implements java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)</li>
 <li type="circle">org.apache.sysds.runtime.compress.utils.<a href="org/apache/sysds/runtime/compress/utils/DblArray.html" title="class in org.apache.sysds.runtime.compress.utils"><span class="typeNameLink">DblArray</span></a></li>
 <li type="circle">org.apache.sysds.runtime.compress.utils.<a href="org/apache/sysds/runtime/compress/utils/DblArrayIntListHashMap.DArrayIListEntry.html" title="class in org.apache.sysds.runtime.compress.utils"><span class="typeNameLink">DblArrayIntListHashMap.DArrayIListEntry</span></a> (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.util.<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html?is-external=true" title="class or interface in java.util">Comparator</a>&lt;T&gt;)</li>
-<li type="circle">org.apache.sysds.runtime.transform.decode.<a href="org/apache/sysds/runtime/transform/decode/Decoder.html" title="class in org.apache.sysds.runtime.transform.decode"><span class="typeNameLink">Decoder</span></a> (implements java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
+<li type="circle">org.apache.sysds.runtime.transform.decode.<a href="org/apache/sysds/runtime/transform/decode/Decoder.html" title="class in org.apache.sysds.runtime.transform.decode"><span class="typeNameLink">Decoder</span></a> (implements java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true" title="class or interface in java.io">Externalizable</a>)
 <ul>
 <li type="circle">org.apache.sysds.runtime.transform.decode.<a href="org/apache/sysds/runtime/transform/decode/DecoderComposite.html" title="class in org.apache.sysds.runtime.transform.decode"><span class="typeNameLink">DecoderComposite</span></a></li>
 <li type="circle">org.apache.sysds.runtime.transform.decode.<a href="org/apache/sysds/runtime/transform/decode/DecoderDummycode.html" title="class in org.apache.sysds.runtime.transform.decode"><span class="typeNameLink">DecoderDummycode</span></a></li>
@@ -403,6 +464,7 @@
 </ul>
 </li>
 <li type="circle">org.apache.sysds.runtime.transform.decode.<a href="org/apache/sysds/runtime/transform/decode/DecoderFactory.html" title="class in org.apache.sysds.runtime.transform.decode"><span class="typeNameLink">DecoderFactory</span></a></li>
+<li type="circle">org.apache.sysds.runtime.instructions.spark.<a href="org/apache/sysds/runtime/instructions/spark/DeCompressionSPInstruction.DeCompressionFunction.html" title="class in org.apache.sysds.runtime.instructions.spark"><span class="typeNameLink">DeCompressionSPInstruction.DeCompressionFunction</span></a> (implements org.apache.spark.api.java.function.Function&lt;T1,R&gt;)</li>
 <li type="circle">org.apache.sysds.runtime.data.<a href="org/apache/sysds/runtime/data/DenseBlock.html" title="class in org.apache.sysds.runtime.data"><span class="typeNameLink">DenseBlock</span></a> (implements java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
 <li type="circle">org.apache.sysds.runtime.data.<a href="org/apache/sysds/runtime/data/DenseBlockDRB.html" title="class in org.apache.sysds.runtime.data"><span class="typeNameLink">DenseBlockDRB</span></a>
@@ -428,7 +490,6 @@
 </ul>
 </li>
 <li type="circle">org.apache.sysds.runtime.data.<a href="org/apache/sysds/runtime/data/DenseBlockFactory.html" title="class in org.apache.sysds.runtime.data"><span class="typeNameLink">DenseBlockFactory</span></a></li>
-<li type="circle">org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/DenseRowIterator.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">DenseRowIterator</span></a></li>
 <li type="circle">org.apache.sysds.parser.dml.<a href="org/apache/sysds/parser/dml/DmlBaseListener.html" title="class in org.apache.sysds.parser.dml"><span class="typeNameLink">DmlBaseListener</span></a> (implements org.apache.sysds.parser.dml.<a href="org/apache/sysds/parser/dml/DmlListener.html" title="interface in org.apache.sysds.parser.dml">DmlListener</a>)</li>
 <li type="circle">org.apache.sysds.utils.<a href="org/apache/sysds/utils/DMLCompressionStatistics.html" title="class in org.apache.sysds.utils"><span class="typeNameLink">DMLCompressionStatistics</span></a></li>
 <li type="circle">org.apache.sysds.conf.<a href="org/apache/sysds/conf/DMLConfig.html" title="class in org.apache.sysds.conf"><span class="typeNameLink">DMLConfig</span></a></li>
@@ -439,22 +500,12 @@
 <li type="circle">org.apache.sysds.parser.dml.<a href="org/apache/sysds/parser/dml/DmlSyntacticValidator.html" title="class in org.apache.sysds.parser.dml"><span class="typeNameLink">DmlSyntacticValidator</span></a> (implements org.apache.sysds.parser.dml.<a href="org/apache/sysds/parser/dml/DmlListener.html" title="interface in org.apache.sysds.parser.dml">DmlListener</a>)</li>
 <li type="circle">org.apache.sysds.parser.dml.<a href="org/apache/sysds/parser/dml/DmlSyntacticValidator.ConvertedDMLSyntax.html" title="class in org.apache.sysds.parser.dml"><span class="typeNameLink">DmlSyntacticValidator.ConvertedDMLSyntax</span></a></li>
 <li type="circle">org.apache.sysds.parser.<a href="org/apache/sysds/parser/DMLTranslator.html" title="class in org.apache.sysds.parser"><span class="typeNameLink">DMLTranslator</span></a></li>
+<li type="circle">org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/DMVUtils.html" title="class in org.apache.sysds.runtime.util"><span class="typeNameLink">DMVUtils</span></a></li>
 <li type="circle">org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/DnnParameters.html" title="class in org.apache.sysds.runtime.matrix.data"><span class="typeNameLink">DnnParameters</span></a> (implements java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)</li>
 <li type="circle">org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/DnnUtils.html" title="class in org.apache.sysds.runtime.util"><span class="typeNameLink">DnnUtils</span></a></li>
 <li type="circle">org.apache.sysds.runtime.compress.utils.<a href="org/apache/sysds/runtime/compress/utils/DoubleIntListHashMap.DIListEntry.html" title="class in org.apache.sysds.runtime.compress.utils"><span class="typeNameLink">DoubleIntListHashMap.DIListEntry</span></a> (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.util.<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html?is-external=true" title="class or interface in java.util">Comparator</a>&lt;T&gt;)</li>
 <li type="circle">org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/DoublePrecisionCudaSupportFunctions.html" title="class in org.apache.sysds.runtime.matrix.data"><span class="typeNameLink">DoublePrecisionCudaSupportFunctions</span></a> (implements org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/CudaSupportFunctions.html" title="interface in org.apache.sysds.runtime.matrix.data">CudaSupportFunctions</a>)</li>
-<li type="circle">org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">Encoder</span></a> (implements java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
-<ul>
-<li type="circle">org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderBin.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">EncoderBin</span></a></li>
-<li type="circle">org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">EncoderComposite</span></a></li>
-<li type="circle">org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderDummycode.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">EncoderDummycode</span></a></li>
-<li type="circle">org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderFeatureHash.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">EncoderFeatureHash</span></a></li>
-<li type="circle">org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">EncoderMVImpute</span></a></li>
-<li type="circle">org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderOmit.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">EncoderOmit</span></a></li>
-<li type="circle">org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderPassThrough.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">EncoderPassThrough</span></a></li>
-<li type="circle">org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderRecode.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">EncoderRecode</span></a></li>
-</ul>
-</li>
+<li type="circle">org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/EMAUtils.html" title="class in org.apache.sysds.runtime.util"><span class="typeNameLink">EMAUtils</span></a></li>
 <li type="circle">org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderFactory.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">EncoderFactory</span></a></li>
 <li type="circle">org.apache.sysds.utils.<a href="org/apache/sysds/utils/EnvironmentHelper.html" title="class in org.apache.sysds.utils"><span class="typeNameLink">EnvironmentHelper</span></a></li>
 <li type="circle">org.apache.sysds.runtime.compress.estim.<a href="org/apache/sysds/runtime/compress/estim/EstimationFactors.html" title="class in org.apache.sysds.runtime.compress.estim"><span class="typeNameLink">EstimationFactors</span></a></li>
@@ -523,14 +574,17 @@
 <li type="circle">org.apache.sysds.runtime.controlprogram.federated.<a href="org/apache/sysds/runtime/controlprogram/federated/FederatedLocalData.html" title="class in org.apache.sysds.runtime.controlprogram.federated"><span class="typeNameLink">FederatedLocalData</span></a></li>
 </ul>
 </li>
+<li type="circle">org.apache.sysds.runtime.controlprogram.paramserv.dp.<a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/FederatedDataPartitioner.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">FederatedDataPartitioner</span></a></li>
 <li type="circle">org.apache.sysds.runtime.controlprogram.federated.<a href="org/apache/sysds/runtime/controlprogram/federated/FederatedRange.html" title="class in org.apache.sysds.runtime.controlprogram.federated"><span class="typeNameLink">FederatedRange</span></a> (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;)</li>
 <li type="circle">org.apache.sysds.runtime.controlprogram.federated.<a href="org/apache/sysds/runtime/controlprogram/federated/FederatedRequest.html" title="class in org.apache.sysds.runtime.controlprogram.federated"><span class="typeNameLink">FederatedRequest</span></a> (implements java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)</li>
 <li type="circle">org.apache.sysds.runtime.controlprogram.federated.<a href="org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html" title="class in org.apache.sysds.runtime.controlprogram.federated"><span class="typeNameLink">FederatedResponse</span></a> (implements java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)</li>
-<li type="circle">org.apache.sysds.runtime.controlprogram.federated.<a href="org/apache/sysds/runtime/controlprogram/federated/FederatedUDF.html" title="class in org.apache.sysds.runtime.controlprogram.federated"><span class="typeNameLink">FederatedUDF</span></a> (implements java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
+<li type="circle">org.apache.sysds.runtime.controlprogram.federated.<a href="org/apache/sysds/runtime/controlprogram/federated/FederatedUDF.html" title="class in org.apache.sysds.runtime.controlprogram.federated"><span class="typeNameLink">FederatedUDF</span></a> (implements org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a>, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
 <li type="circle">org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/MultiReturnParameterizedBuiltinFEDInstruction.CreateFrameEncoder.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">MultiReturnParameterizedBuiltinFEDInstruction.CreateFrameEncoder</span></a></li>
 <li type="circle">org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/MultiReturnParameterizedBuiltinFEDInstruction.ExecuteFrameEncoder.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">MultiReturnParameterizedBuiltinFEDInstruction.ExecuteFrameEncoder</span></a></li>
 <li type="circle">org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/ParameterizedBuiltinFEDInstruction.DecodeMatrix.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">ParameterizedBuiltinFEDInstruction.DecodeMatrix</span></a></li>
+<li type="circle">org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.DiagMatrix.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">ReorgFEDInstruction.DiagMatrix</span></a></li>
+<li type="circle">org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.Rdiag.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">ReorgFEDInstruction.Rdiag</span></a></li>
 </ul>
 </li>
 <li type="circle">org.apache.sysds.runtime.controlprogram.federated.<a href="org/apache/sysds/runtime/controlprogram/federated/FederatedWorker.html" title="class in org.apache.sysds.runtime.controlprogram.federated"><span class="typeNameLink">FederatedWorker</span></a></li>
@@ -728,11 +782,11 @@
 <li type="circle">org.apache.sysds.hops.<a href="org/apache/sysds/hops/QuaternaryOp.html" title="class in org.apache.sysds.hops"><span class="typeNameLink">QuaternaryOp</span></a></li>
 <li type="circle">org.apache.sysds.hops.<a href="org/apache/sysds/hops/ReorgOp.html" title="class in org.apache.sysds.hops"><span class="typeNameLink">ReorgOp</span></a></li>
 <li type="circle">org.apache.sysds.hops.codegen.<a href="org/apache/sysds/hops/codegen/SpoofFusedOp.html" title="class in org.apache.sysds.hops.codegen"><span class="typeNameLink">SpoofFusedOp</span></a></li>
+<li type="circle">org.apache.sysds.hops.<a href="org/apache/sysds/hops/TernaryOp.html" title="class in org.apache.sysds.hops"><span class="typeNameLink">TernaryOp</span></a></li>
 <li type="circle">org.apache.sysds.hops.<a href="org/apache/sysds/hops/UnaryOp.html" title="class in org.apache.sysds.hops"><span class="typeNameLink">UnaryOp</span></a></li>
 </ul>
 </li>
 <li type="circle">org.apache.sysds.hops.<a href="org/apache/sysds/hops/NaryOp.html" title="class in org.apache.sysds.hops"><span class="typeNameLink">NaryOp</span></a></li>
-<li type="circle">org.apache.sysds.hops.<a href="org/apache/sysds/hops/TernaryOp.html" title="class in org.apache.sysds.hops"><span class="typeNameLink">TernaryOp</span></a></li>
 </ul>
 </li>
 <li type="circle">org.apache.sysds.hops.rewrite.<a href="org/apache/sysds/hops/rewrite/HopDagValidator.html" title="class in org.apache.sysds.hops.rewrite"><span class="typeNameLink">HopDagValidator</span></a></li>
@@ -778,6 +832,7 @@
 </ul>
 </li>
 <li type="circle">org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/InputStreamInputFormat.html" title="class in org.apache.sysds.runtime.util"><span class="typeNameLink">InputStreamInputFormat</span></a> (implements org.apache.hadoop.mapred.InputFormat&lt;K,V&gt;)</li>
+<li type="circle">org.apache.sysds.runtime.compress.colgroup.tree.<a href="org/apache/sysds/runtime/compress/colgroup/tree/InsertionSorterFactory.html" title="class in org.apache.sysds.runtime.compress.colgroup.tree"><span class="typeNameLink">InsertionSorterFactory</span></a></li>
 <li type="circle">org.apache.sysds.utils.<a href="org/apache/sysds/utils/InstallDependencyForIntegrationTests.html" title="class in org.apache.sysds.utils"><span class="typeNameLink">InstallDependencyForIntegrationTests</span></a></li>
 <li type="circle">org.apache.sysds.runtime.instructions.<a href="org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions"><span class="typeNameLink">Instruction</span></a>
 <ul>
@@ -817,6 +872,7 @@
 </li>
 <li type="circle">org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/CompressionCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp"><span class="typeNameLink">CompressionCPInstruction</span></a></li>
 <li type="circle">org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/CtableCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp"><span class="typeNameLink">CtableCPInstruction</span></a></li>
+<li type="circle">org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/DeCompressionCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp"><span class="typeNameLink">DeCompressionCPInstruction</span></a></li>
 <li type="circle">org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/MultiReturnBuiltinCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp"><span class="typeNameLink">MultiReturnBuiltinCPInstruction</span></a></li>
 <li type="circle">org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/MultiReturnParameterizedBuiltinCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp"><span class="typeNameLink">MultiReturnParameterizedBuiltinCPInstruction</span></a></li>
 <li type="circle">org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/ParameterizedBuiltinCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp"><span class="typeNameLink">ParameterizedBuiltinCPInstruction</span></a>
@@ -869,6 +925,7 @@
 </li>
 <li type="circle">org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/FEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">FEDInstruction</span></a>
 <ul>
+<li type="circle">org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/AggregateTernaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">AggregateTernaryFEDInstruction</span></a></li>
 <li type="circle">org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">ComputationFEDInstruction</span></a> (implements org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a>)
 <ul>
 <li type="circle">org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/BinaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">BinaryFEDInstruction</span></a>
@@ -877,24 +934,46 @@
 <li type="circle">org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/AppendFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">AppendFEDInstruction</span></a></li>
 <li type="circle">org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/BinaryMatrixMatrixFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">BinaryMatrixMatrixFEDInstruction</span></a></li>
 <li type="circle">org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/BinaryMatrixScalarFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">BinaryMatrixScalarFEDInstruction</span></a></li>
+<li type="circle">org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/CovarianceFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">CovarianceFEDInstruction</span></a></li>
+<li type="circle">org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/QuantilePickFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">QuantilePickFEDInstruction</span></a></li>
 <li type="circle">org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/TsmmFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">TsmmFEDInstruction</span></a></li>
 </ul>
 </li>
 <li type="circle">org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/MultiReturnParameterizedBuiltinFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">MultiReturnParameterizedBuiltinFEDInstruction</span></a></li>
 <li type="circle">org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/ParameterizedBuiltinFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">ParameterizedBuiltinFEDInstruction</span></a></li>
+<li type="circle">org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/QuaternaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">QuaternaryFEDInstruction</span></a>
+<ul>
+<li type="circle">org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/QuaternaryWCeMMFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">QuaternaryWCeMMFEDInstruction</span></a></li>
+<li type="circle">org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/QuaternaryWDivMMFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">QuaternaryWDivMMFEDInstruction</span></a></li>
+<li type="circle">org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/QuaternaryWSigmoidFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">QuaternaryWSigmoidFEDInstruction</span></a></li>
+<li type="circle">org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/QuaternaryWSLossFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">QuaternaryWSLossFEDInstruction</span></a></li>
+<li type="circle">org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/QuaternaryWUMMFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">QuaternaryWUMMFEDInstruction</span></a></li>
+</ul>
+</li>
+<li type="circle">org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/TernaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">TernaryFEDInstruction</span></a></li>
 <li type="circle">org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/UnaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">UnaryFEDInstruction</span></a>
 <ul>
-<li type="circle">org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/AggregateUnaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">AggregateUnaryFEDInstruction</span></a></li>
+<li type="circle">org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/AggregateUnaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">AggregateUnaryFEDInstruction</span></a>
+<ul>
+<li type="circle">org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/CentralMomentFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">CentralMomentFEDInstruction</span></a></li>
+</ul>
+</li>
+<li type="circle">org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/IndexingFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">IndexingFEDInstruction</span></a></li>
 <li type="circle">org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/MMChainFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">MMChainFEDInstruction</span></a></li>
+<li type="circle">org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/QuantileSortFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">QuantileSortFEDInstruction</span></a></li>
 <li type="circle">org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">ReorgFEDInstruction</span></a></li>
+<li type="circle">org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/ReshapeFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">ReshapeFEDInstruction</span></a></li>
+<li type="circle">org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/UnaryMatrixFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">UnaryMatrixFEDInstruction</span></a></li>
 </ul>
 </li>
 </ul>
 </li>
-<li type="circle">org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/InitFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">InitFEDInstruction</span></a></li>
+<li type="circle">org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/InitFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">InitFEDInstruction</span></a> (implements org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a>)</li>
+<li type="circle">org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/SpoofFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">SpoofFEDInstruction</span></a></li>
+<li type="circle">org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/VariableFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed"><span class="typeNameLink">VariableFEDInstruction</span></a> (implements org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a>)</li>
 </ul>
 </li>
-<li type="circle">org.apache.sysds.runtime.instructions.gpu.<a href="org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu"><span class="typeNameLink">GPUInstruction</span></a>
+<li type="circle">org.apache.sysds.runtime.instructions.gpu.<a href="org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu"><span class="typeNameLink">GPUInstruction</span></a> (implements org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a>)
 <ul>
 <li type="circle">org.apache.sysds.runtime.instructions.gpu.<a href="org/apache/sysds/runtime/instructions/gpu/AggregateBinaryGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu"><span class="typeNameLink">AggregateBinaryGPUInstruction</span></a></li>
 <li type="circle">org.apache.sysds.runtime.instructions.gpu.<a href="org/apache/sysds/runtime/instructions/gpu/AggregateUnaryGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu"><span class="typeNameLink">AggregateUnaryGPUInstruction</span></a></li>
@@ -928,6 +1007,7 @@
 </ul>
 </li>
 <li type="circle">org.apache.sysds.runtime.instructions.gpu.<a href="org/apache/sysds/runtime/instructions/gpu/ReorgGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu"><span class="typeNameLink">ReorgGPUInstruction</span></a></li>
+<li type="circle">org.apache.sysds.runtime.instructions.gpu.<a href="org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu"><span class="typeNameLink">SpoofCUDAInstruction</span></a> (implements org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a>)</li>
 </ul>
 </li>
 <li type="circle">org.apache.sysds.runtime.instructions.spark.<a href="org/apache/sysds/runtime/instructions/spark/SPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark"><span class="typeNameLink">SPInstruction</span></a>
@@ -990,6 +1070,7 @@
 <li type="circle">org.apache.sysds.runtime.instructions.spark.<a href="org/apache/sysds/runtime/instructions/spark/CheckpointSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark"><span class="typeNameLink">CheckpointSPInstruction</span></a></li>
 <li type="circle">org.apache.sysds.runtime.instructions.spark.<a href="org/apache/sysds/runtime/instructions/spark/CompressionSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark"><span class="typeNameLink">CompressionSPInstruction</span></a></li>
 <li type="circle">org.apache.sysds.runtime.instructions.spark.<a href="org/apache/sysds/runtime/instructions/spark/CSVReblockSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark"><span class="typeNameLink">CSVReblockSPInstruction</span></a></li>
+<li type="circle">org.apache.sysds.runtime.instructions.spark.<a href="org/apache/sysds/runtime/instructions/spark/DeCompressionSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark"><span class="typeNameLink">DeCompressionSPInstruction</span></a></li>
 <li type="circle">org.apache.sysds.runtime.instructions.spark.<a href="org/apache/sysds/runtime/instructions/spark/DnnSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark"><span class="typeNameLink">DnnSPInstruction</span></a></li>
 <li type="circle">org.apache.sysds.runtime.instructions.spark.<a href="org/apache/sysds/runtime/instructions/spark/IndexingSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark"><span class="typeNameLink">IndexingSPInstruction</span></a>
 <ul>
@@ -1029,6 +1110,7 @@
 <li type="circle">org.apache.sysds.runtime.compress.utils.<a href="org/apache/sysds/runtime/compress/utils/IntArrayList.html" title="class in org.apache.sysds.runtime.compress.utils"><span class="typeNameLink">IntArrayList</span></a></li>
 <li type="circle">org.apache.sysds.hops.codegen.opt.<a href="org/apache/sysds/hops/codegen/opt/InterestingPoint.html" title="class in org.apache.sysds.hops.codegen.opt"><span class="typeNameLink">InterestingPoint</span></a></li>
 <li type="circle">org.apache.sysds.hops.ipa.<a href="org/apache/sysds/hops/ipa/InterProceduralAnalysis.html" title="class in org.apache.sysds.hops.ipa"><span class="typeNameLink">InterProceduralAnalysis</span></a></li>
+<li type="circle">org.apache.sysds.runtime.compress.utils.<a href="org/apache/sysds/runtime/compress/utils/IntIntMap.html" title="class in org.apache.sysds.runtime.compress.utils"><span class="typeNameLink">IntIntMap</span></a></li>
 <li type="circle">org.apache.sysds.runtime.io.<a href="org/apache/sysds/runtime/io/IOUtilFunctions.html" title="class in org.apache.sysds.runtime.io"><span class="typeNameLink">IOUtilFunctions</span></a></li>
 <li type="circle">org.apache.sysds.runtime.io.<a href="org/apache/sysds/runtime/io/IOUtilFunctions.CountRowsTask.html" title="class in org.apache.sysds.runtime.io"><span class="typeNameLink">IOUtilFunctions.CountRowsTask</span></a> (implements java.util.concurrent.<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Callable.html?is-external=true" title="class or interface in java.util.concurrent">Callable</a>&lt;V&gt;)</li>
 <li type="circle">org.apache.sysds.hops.ipa.<a href="org/apache/sysds/hops/ipa/IPAPass.html" title="class in org.apache.sysds.hops.ipa"><span class="typeNameLink">IPAPass</span></a>
@@ -1054,9 +1136,13 @@
 <li type="circle">org.apache.sysds.parser.<a href="org/apache/sysds/parser/LanguageException.LanguageErrorCodes.html" title="class in org.apache.sysds.parser"><span class="typeNameLink">LanguageException.LanguageErrorCodes</span></a></li>
 <li type="circle">org.apache.sysds.runtime.instructions.spark.data.<a href="org/apache/sysds/runtime/instructions/spark/data/LazyIterableIterator.html" title="class in org.apache.sysds.runtime.instructions.spark.data"><span class="typeNameLink">LazyIterableIterator</span></a>&lt;T&gt; (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;T&gt;, java.util.<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;E&gt;)</li>
 <li type="circle">org.apache.sysds.runtime.controlprogram.caching.<a href="org/apache/sysds/runtime/controlprogram/caching/LazyWriteBuffer.html" title="class in org.apache.sysds.runtime.controlprogram.caching"><span class="typeNameLink">LazyWriteBuffer</span></a></li>
-<li type="circle">org.apache.sysds.runtime.compress.lib.<a href="org/apache/sysds/runtime/compress/lib/LibBinaryCellOp.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">LibBinaryCellOp</span></a></li>
+<li type="circle">org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/LegacyEncoder.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">LegacyEncoder</span></a> (implements java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true" title="class or interface in java.io">Externalizable</a>)
+<ul>
+<li type="circle">org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">EncoderMVImpute</span></a></li>
+<li type="circle">org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderOmit.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">EncoderOmit</span></a></li>
+</ul>
+</li>
 <li type="circle">org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/LibCommonsMath.html" title="class in org.apache.sysds.runtime.matrix.data"><span class="typeNameLink">LibCommonsMath</span></a></li>
-<li type="circle">org.apache.sysds.runtime.compress.lib.<a href="org/apache/sysds/runtime/compress/lib/LibLeftMultBy.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">LibLeftMultBy</span></a></li>
 <li type="circle">org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/LibMatrixAgg.html" title="class in org.apache.sysds.runtime.matrix.data"><span class="typeNameLink">LibMatrixAgg</span></a></li>
 <li type="circle">org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/LibMatrixBincell.html" title="class in org.apache.sysds.runtime.matrix.data"><span class="typeNameLink">LibMatrixBincell</span></a></li>
 <li type="circle">org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/LibMatrixCountDistinct.html" title="class in org.apache.sysds.runtime.matrix.data"><span class="typeNameLink">LibMatrixCountDistinct</span></a></li>
@@ -1083,8 +1169,7 @@
 <li type="circle">org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/LibMatrixNative.html" title="class in org.apache.sysds.runtime.matrix.data"><span class="typeNameLink">LibMatrixNative</span></a></li>
 <li type="circle">org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/LibMatrixOuterAgg.html" title="class in org.apache.sysds.runtime.matrix.data"><span class="typeNameLink">LibMatrixOuterAgg</span></a></li>
 <li type="circle">org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/LibMatrixReorg.html" title="class in org.apache.sysds.runtime.matrix.data"><span class="typeNameLink">LibMatrixReorg</span></a></li>
-<li type="circle">org.apache.sysds.runtime.compress.lib.<a href="org/apache/sysds/runtime/compress/lib/LibRightMultBy.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">LibRightMultBy</span></a></li>
-<li type="circle">org.apache.sysds.runtime.compress.lib.<a href="org/apache/sysds/runtime/compress/lib/LibScalar.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">LibScalar</span></a></li>
+<li type="circle">org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/LibMatrixTercell.html" title="class in org.apache.sysds.runtime.matrix.data"><span class="typeNameLink">LibMatrixTercell</span></a></li>
 <li type="circle">org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html" title="class in org.apache.sysds.runtime.codegen"><span class="typeNameLink">LibSpoofPrimitives</span></a></li>
 <li type="circle">org.apache.sysds.runtime.data.<a href="org/apache/sysds/runtime/data/LibTensorAgg.html" title="class in org.apache.sysds.runtime.data"><span class="typeNameLink">LibTensorAgg</span></a></li>
 <li type="circle">org.apache.sysds.runtime.data.<a href="org/apache/sysds/runtime/data/LibTensorBincell.html" title="class in org.apache.sysds.runtime.data"><span class="typeNameLink">LibTensorBincell</span></a></li>
@@ -1098,6 +1183,8 @@
 <li type="circle">org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageCodegenItem.html" title="class in org.apache.sysds.runtime.lineage"><span class="typeNameLink">LineageCodegenItem</span></a></li>
 <li type="circle">org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageDedupBlock.html" title="class in org.apache.sysds.runtime.lineage"><span class="typeNameLink">LineageDedupBlock</span></a></li>
 <li type="circle">org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageDedupUtils.html" title="class in org.apache.sysds.runtime.lineage"><span class="typeNameLink">LineageDedupUtils</span></a></li>
+<li type="circle">org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageEstimator.html" title="class in org.apache.sysds.runtime.lineage"><span class="typeNameLink">LineageEstimator</span></a></li>
+<li type="circle">org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageEstimatorStatistics.html" title="class in org.apache.sysds.runtime.lineage"><span class="typeNameLink">LineageEstimatorStatistics</span></a></li>
 <li type="circle">org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage"><span class="typeNameLink">LineageItem</span></a></li>
 <li type="circle">org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageItemUtils.html" title="class in org.apache.sysds.runtime.lineage"><span class="typeNameLink">LineageItemUtils</span></a></li>
 <li type="circle">org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageMap.html" title="class in org.apache.sysds.runtime.lineage"><span class="typeNameLink">LineageMap</span></a></li>
@@ -1113,6 +1200,8 @@
 <li type="circle">org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageRewriteReuse.html" title="class in org.apache.sysds.runtime.lineage"><span class="typeNameLink">LineageRewriteReuse</span></a></li>
 <li type="circle">org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageTokenizer.html" title="class in org.apache.sysds.runtime.lineage"><span class="typeNameLink">LineageTokenizer</span></a></li>
 <li type="circle">org.apache.sysds.runtime.compress.utils.<a href="org/apache/sysds/runtime/compress/utils/LinearAlgebraUtils.html" title="class in org.apache.sysds.runtime.compress.utils"><span class="typeNameLink">LinearAlgebraUtils</span></a></li>
+<li type="circle">org.apache.sysds.runtime.privacy.propagation.<a href="org/apache/sysds/runtime/privacy/propagation/ListAppendPropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation"><span class="typeNameLink">ListAppendPropagator</span></a> (implements org.apache.sysds.runtime.privacy.propagation.<a href="org/apache/sysds/runtime/privacy/propagation/Propagator.html" title="interface in org.apache.sysds.runtime.privacy.propagation">Propagator</a>)</li>
+<li type="circle">org.apache.sysds.runtime.privacy.propagation.<a href="org/apache/sysds/runtime/privacy/propagation/ListRemovePropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation"><span class="typeNameLink">ListRemovePropagator</span></a> (implements org.apache.sysds.runtime.privacy.propagation.<a href="org/apache/sysds/runtime/privacy/propagation/PropagatorMultiReturn.html" title="interface in org.apache.sysds.runtime.privacy.propagation">PropagatorMultiReturn</a>)</li>
 <li type="circle">org.apache.sysds.hops.recompile.<a href="org/apache/sysds/hops/recompile/LiteralReplacement.html" title="class in org.apache.sysds.hops.recompile"><span class="typeNameLink">LiteralReplacement</span></a></li>
 <li type="circle">org.apache.sysds.parser.<a href="org/apache/sysds/parser/LiveVariableAnalysis.html" title="class in org.apache.sysds.parser"><span class="typeNameLink">LiveVariableAnalysis</span></a>
 <ul>
@@ -1162,6 +1251,7 @@
 <li type="circle">org.apache.sysds.lops.<a href="org/apache/sysds/lops/CumulativePartialAggregate.html" title="class in org.apache.sysds.lops"><span class="typeNameLink">CumulativePartialAggregate</span></a></li>
 <li type="circle">org.apache.sysds.lops.<a href="org/apache/sysds/lops/Data.html" title="class in org.apache.sysds.lops"><span class="typeNameLink">Data</span></a></li>
 <li type="circle">org.apache.sysds.lops.<a href="org/apache/sysds/lops/DataGen.html" title="class in org.apache.sysds.lops"><span class="typeNameLink">DataGen</span></a></li>
+<li type="circle">org.apache.sysds.lops.<a href="org/apache/sysds/lops/DeCompression.html" title="class in org.apache.sysds.lops"><span class="typeNameLink">DeCompression</span></a></li>
 <li type="circle">org.apache.sysds.lops.<a href="org/apache/sysds/lops/DnnTransform.html" title="class in org.apache.sysds.lops"><span class="typeNameLink">DnnTransform</span></a></li>
 <li type="circle">org.apache.sysds.lops.<a href="org/apache/sysds/lops/Federated.html" title="class in org.apache.sysds.lops"><span class="typeNameLink">Federated</span></a></li>
 <li type="circle">org.apache.sysds.lops.<a href="org/apache/sysds/lops/FunctionCallCP.html" title="class in org.apache.sysds.lops"><span class="typeNameLink">FunctionCallCP</span></a></li>
@@ -1208,6 +1298,12 @@
 <li type="circle">org.apache.sysds.lops.<a href="org/apache/sysds/lops/LopProperties.html" title="class in org.apache.sysds.lops"><span class="typeNameLink">LopProperties</span></a></li>
 <li type="circle">org.apache.sysds.runtime.instructions.spark.functions.<a href="org/apache/sysds/runtime/instructions/spark/functions/MapInputSignature.html" title="class in org.apache.sysds.runtime.instructions.spark.functions"><span class="typeNameLink">MapInputSignature</span></a> (implements org.apache.spark.api.java.function.Function&lt;T1,R&gt;)</li>
 <li type="circle">org.apache.sysds.runtime.instructions.spark.functions.<a href="org/apache/sysds/runtime/instructions/spark/functions/MapJoinSignature.html" title="class in org.apache.sysds.runtime.instructions.spark.functions"><span class="typeNameLink">MapJoinSignature</span></a> (implements org.apache.spark.api.java.function.Function&lt;T1,R&gt;)</li>
+<li type="circle">org.apache.sysds.runtime.compress.colgroup.pre.<a href="org/apache/sysds/runtime/compress/colgroup/pre/MapPreAggregate.html" title="class in org.apache.sysds.runtime.compress.colgroup.pre"><span class="typeNameLink">MapPreAggregate</span></a> (implements org.apache.sysds.runtime.compress.colgroup.pre.<a href="org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a>)</li>
+<li type="circle">org.apache.sysds.runtime.compress.colgroup.mapping.<a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToBit.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping"><span class="typeNameLink">MapToBit</span></a> (implements org.apache.sysds.runtime.compress.colgroup.mapping.<a href="org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html" title="interface in org.apache.sysds.runtime.compress.colgroup.mapping">IMapToData</a>)</li>
+<li type="circle">org.apache.sysds.runtime.compress.colgroup.mapping.<a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToByte.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping"><span class="typeNameLink">MapToByte</span></a> (implements org.apache.sysds.runtime.compress.colgroup.mapping.<a href="org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html" title="interface in org.apache.sysds.runtime.compress.colgroup.mapping">IMapToData</a>)</li>
+<li type="circle">org.apache.sysds.runtime.compress.colgroup.mapping.<a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToChar.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping"><span class="typeNameLink">MapToChar</span></a> (implements org.apache.sysds.runtime.compress.colgroup.mapping.<a href="org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html" title="interface in org.apache.sysds.runtime.compress.colgroup.mapping">IMapToData</a>)</li>
+<li type="circle">org.apache.sysds.runtime.compress.colgroup.mapping.<a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToFactory.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping"><span class="typeNameLink">MapToFactory</span></a></li>
+<li type="circle">org.apache.sysds.runtime.compress.colgroup.mapping.<a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToInt.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping"><span class="typeNameLink">MapToInt</span></a> (implements org.apache.sysds.runtime.compress.colgroup.mapping.<a href="org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html" title="interface in org.apache.sysds.runtime.compress.colgroup.mapping">IMapToData</a>)</li>
 <li type="circle">org.apache.sysds.api.mlcontext.<a href="org/apache/sysds/api/mlcontext/Matrix.html" title="class in org.apache.sysds.api.mlcontext"><span class="typeNameLink">Matrix</span></a></li>
 <li type="circle">org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.SparsityEstimate.html" title="class in org.apache.sysds.runtime.matrix.data"><span class="typeNameLink">MatrixBlock.SparsityEstimate</span></a></li>
 <li type="circle">org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/MatrixIndexes.html" title="class in org.apache.sysds.runtime.matrix.data"><span class="typeNameLink">MatrixIndexes</span></a> (implements java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true" title="class or interface in java.io">Externalizable</a>, org.apache.hadoop.io.RawComparator&lt;T&gt;, org.apache.hadoop.io.WritableComparable&lt;T&gt;)</li>
@@ -1244,13 +1340,9 @@
 <li type="circle">org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/CM_N_COVCell.html" title="class in org.apache.sysds.runtime.matrix.data"><span class="typeNameLink">CM_N_COVCell</span></a> (implements org.apache.hadoop.io.WritableComparable&lt;T&gt;)</li>
 <li type="circle">org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data"><span class="typeNameLink">MatrixBlock</span></a> (implements org.apache.sysds.runtime.controlprogram.caching.<a href="org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html" title="interface in org.apache.sysds.runtime.controlprogram.caching">CacheBlock</a>, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true" title="class or interface in java.io">Externalizable</a>)
 <ul>
-<li type="circle">org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress"><span class="typeNameLink">AbstractCompressedMatrixBlock</span></a>
-<ul>
 <li type="circle">org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress"><span class="typeNameLink">CompressedMatrixBlock</span></a></li>
 </ul>
 </li>
-</ul>
-</li>
 <li type="circle">org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/MatrixCell.html" title="class in org.apache.sysds.runtime.matrix.data"><span class="typeNameLink">MatrixCell</span></a> (implements java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, org.apache.hadoop.io.WritableComparable&lt;T&gt;)
 <ul>
 <li type="circle">org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/WeightedCell.html" title="class in org.apache.sysds.runtime.matrix.data"><span class="typeNameLink">WeightedCell</span></a>
@@ -1307,6 +1399,7 @@
 <li type="circle">org.apache.sysds.runtime.meta.<a href="org/apache/sysds/runtime/meta/MetaDataFormat.html" title="class in org.apache.sysds.runtime.meta"><span class="typeNameLink">MetaDataFormat</span></a></li>
 </ul>
 </li>
+<li type="circle">org.apache.sysds.runtime.meta.<a href="org/apache/sysds/runtime/meta/MetaDataUtils.html" title="class in org.apache.sysds.runtime.meta"><span class="typeNameLink">MetaDataUtils</span></a></li>
 <li type="circle">org.apache.sysds.api.mlcontext.<a href="org/apache/sysds/api/mlcontext/MLContext.html" title="class in org.apache.sysds.api.mlcontext"><span class="typeNameLink">MLContext</span></a> (implements org.apache.sysds.api.<a href="org/apache/sysds/api/ConfigurableAPI.html" title="interface in org.apache.sysds.api">ConfigurableAPI</a>)</li>
 <li type="circle">org.apache.sysds.api.mlcontext.<a href="org/apache/sysds/api/mlcontext/MLContext.InternalProxy.html" title="class in org.apache.sysds.api.mlcontext"><span class="typeNameLink">MLContext.InternalProxy</span></a></li>
 <li type="circle">org.apache.sysds.api.mlcontext.<a href="org/apache/sysds/api/mlcontext/MLContextConversionUtil.html" title="class in org.apache.sysds.api.mlcontext"><span class="typeNameLink">MLContextConversionUtil</span></a></li>
@@ -1314,6 +1407,7 @@
 <li type="circle">org.apache.sysds.api.mlcontext.<a href="org/apache/sysds/api/mlcontext/MLContextUtil.html" title="class in org.apache.sysds.api.mlcontext"><span class="typeNameLink">MLContextUtil</span></a></li>
 <li type="circle">org.apache.sysds.api.mlcontext.<a href="org/apache/sysds/api/mlcontext/MLResults.html" title="class in org.apache.sysds.api.mlcontext"><span class="typeNameLink">MLResults</span></a></li>
 <li type="circle">org.apache.sysds.hops.estim.<a href="org/apache/sysds/hops/estim/MMNode.html" title="class in org.apache.sysds.hops.estim"><span class="typeNameLink">MMNode</span></a></li>
+<li type="circle">org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">MultiColumnEncoder</span></a> (implements org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/Encoder.html" title="interface in org.apache.sysds.runtime.transform.encode">Encoder</a>)</li>
 <li type="circle">org.apache.sysds.runtime.instructions.spark.<a href="org/apache/sysds/runtime/instructions/spark/MultiReturnParameterizedBuiltinSPInstruction.TransformEncodeBuild2Function.html" title="class in org.apache.sysds.runtime.instructions.spark"><span class="typeNameLink">MultiReturnParameterizedBuiltinSPInstruction.TransformEncodeBuild2Function</span></a> (implements org.apache.spark.api.java.function.PairFlatMapFunction&lt;T,K,V&gt;)</li>
 <li type="circle">org.apache.sysds.runtime.instructions.spark.<a href="org/apache/sysds/runtime/instructions/spark/MultiReturnParameterizedBuiltinSPInstruction.TransformEncodeBuildFunction.html" title="class in org.apache.sysds.runtime.instructions.spark"><span class="typeNameLink">MultiReturnParameterizedBuiltinSPInstruction.TransformEncodeBuildFunction</span></a> (implements org.apache.spark.api.java.function.PairFlatMapFunction&lt;T,K,V&gt;)</li>
 <li type="circle">org.apache.sysds.runtime.instructions.spark.<a href="org/apache/sysds/runtime/instructions/spark/MultiReturnParameterizedBuiltinSPInstruction.TransformEncodeGroup2Function.html" title="class in org.apache.sysds.runtime.instructions.spark"><span class="typeNameLink">MultiReturnParameterizedBuiltinSPInstruction.TransformEncodeGroup2Function</span></a> (implements org.apache.spark.api.java.function.FlatMapFunction&lt;T,R&gt;)</li>
@@ -1322,7 +1416,7 @@
 <li type="circle">org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/OperationsOnMatrixValues.html" title="class in org.apache.sysds.runtime.matrix.data"><span class="typeNameLink">OperationsOnMatrixValues</span></a></li>
 <li type="circle">org.apache.sysds.runtime.matrix.operators.<a href="org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators"><span class="typeNameLink">Operator</span></a> (implements java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.sysds.runtime.matrix.operators.<a href="org/apache/sysds/runtime/matrix/operators/AggregateBinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators"><span class="typeNameLink">AggregateBinaryOperator</span></a> (implements java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)</li>
+<li type="circle">org.apache.sysds.runtime.matrix.operators.<a href="org/apache/sysds/runtime/matrix/operators/AggregateBinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators"><span class="typeNameLink">AggregateBinaryOperator</span></a></li>
 <li type="circle">org.apache.sysds.runtime.matrix.operators.<a href="org/apache/sysds/runtime/matrix/operators/AggregateOperator.html" title="class in org.apache.sysds.runtime.matrix.operators"><span class="typeNameLink">AggregateOperator</span></a> (implements java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)</li>
 <li type="circle">org.apache.sysds.runtime.matrix.operators.<a href="org/apache/sysds/runtime/matrix/operators/AggregateTernaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators"><span class="typeNameLink">AggregateTernaryOperator</span></a> (implements java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)</li>
 <li type="circle">org.apache.sysds.runtime.matrix.operators.<a href="org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators"><span class="typeNameLink">AggregateUnaryOperator</span></a></li>
@@ -1391,6 +1485,7 @@
 <li type="circle">org.apache.sysds.runtime.instructions.spark.<a href="org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDRemoveEmptyFunctionInMem.html" title="class in org.apache.sysds.runtime.instructions.spark"><span class="typeNameLink">ParameterizedBuiltinSPInstruction.RDDRemoveEmptyFunctionInMem</span></a> (implements org.apache.spark.api.java.function.PairFlatMapFunction&lt;T,K,V&gt;)</li>
 <li type="circle">org.apache.sysds.runtime.instructions.spark.<a href="org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDReplaceFunction.html" title="class in org.apache.sysds.runtime.instructions.spark"><span class="typeNameLink">ParameterizedBuiltinSPInstruction.RDDReplaceFunction</span></a> (implements org.apache.spark.api.java.function.Function&lt;T1,R&gt;)</li>
 <li type="circle">org.apache.sysds.runtime.instructions.spark.<a href="org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDRExpandFunction.html" title="class in org.apache.sysds.runtime.instructions.spark"><span class="typeNameLink">ParameterizedBuiltinSPInstruction.RDDRExpandFunction</span></a> (implements org.apache.spark.api.java.function.PairFlatMapFunction&lt;T,K,V&gt;)</li>
+<li type="circle">org.apache.sysds.runtime.instructions.spark.<a href="org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDTokenizeFunction.html" title="class in org.apache.sysds.runtime.instructions.spark"><span class="typeNameLink">ParameterizedBuiltinSPInstruction.RDDTokenizeFunction</span></a> (implements org.apache.spark.api.java.function.PairFunction&lt;T,K,V&gt;)</li>
 <li type="circle">org.apache.sysds.runtime.instructions.spark.<a href="org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDTransformApplyFunction.html" title="class in org.apache.sysds.runtime.instructions.spark"><span class="typeNameLink">ParameterizedBuiltinSPInstruction.RDDTransformApplyFunction</span></a> (implements org.apache.spark.api.java.function.PairFunction&lt;T,K,V&gt;)</li>
 <li type="circle">org.apache.sysds.runtime.instructions.spark.<a href="org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDTransformApplyOffsetFunction.html" title="class in org.apache.sysds.runtime.instructions.spark"><span class="typeNameLink">ParameterizedBuiltinSPInstruction.RDDTransformApplyOffsetFunction</span></a> (implements org.apache.spark.api.java.function.PairFunction&lt;T,K,V&gt;)</li>
 <li type="circle">org.apache.sysds.runtime.instructions.spark.<a href="org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDTransformDecodeExpandFunction.html" title="class in org.apache.sysds.runtime.instructions.spark"><span class="typeNameLink">ParameterizedBuiltinSPInstruction.RDDTransformDecodeExpandFunction</span></a> (implements org.apache.spark.api.java.function.PairFunction&lt;T,K,V&gt;)</li>
@@ -1430,10 +1525,6 @@
 <li type="circle">org.apache.sysds.runtime.instructions.spark.functions.<a href="org/apache/sysds/runtime/instructions/spark/functions/PerformGroupByAggInReducer.html" title="class in org.apache.sysds.runtime.instructions.spark.functions"><span class="typeNameLink">PerformGroupByAggInReducer</span></a> (implements org.apache.spark.api.java.function.Function&lt;T1,R&gt;)</li>
 <li type="circle">org.apache.sysds.hops.codegen.opt.<a href="org/apache/sysds/hops/codegen/opt/PlanAnalyzer.html" title="class in org.apache.sysds.hops.codegen.opt"><span class="typeNameLink">PlanAnalyzer</span></a></li>
 <li type="circle">org.apache.sysds.runtime.compress.cocode.<a href="org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.html" title="class in org.apache.sysds.runtime.compress.cocode"><span class="typeNameLink">PlanningCoCoder</span></a></li>
-<li type="circle">org.apache.sysds.runtime.compress.cocode.<a href="org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html" title="class in org.apache.sysds.runtime.compress.cocode"><span class="typeNameLink">PlanningCoCoder.GroupableColInfo</span></a></li>
-<li type="circle">org.apache.sysds.runtime.compress.cocode.<a href="org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.html" title="class in org.apache.sysds.runtime.compress.cocode"><span class="typeNameLink">PlanningCoCodingGroup</span></a></li>
-<li type="circle">org.apache.sysds.runtime.compress.cocode.<a href="org/apache/sysds/runtime/compress/cocode/PlanningCoCodingGroup.ColIndexes.html" title="class in org.apache.sysds.runtime.compress.cocode"><span class="typeNameLink">PlanningCoCodingGroup.ColIndexes</span></a></li>
-<li type="circle">org.apache.sysds.runtime.compress.cocode.<a href="org/apache/sysds/runtime/compress/cocode/PlanningMemoTable.html" title="class in org.apache.sysds.runtime.compress.cocode"><span class="typeNameLink">PlanningMemoTable</span></a></li>
 <li type="circle">org.apache.sysds.hops.codegen.opt.<a href="org/apache/sysds/hops/codegen/opt/PlanPartition.html" title="class in org.apache.sysds.hops.codegen.opt"><span class="typeNameLink">PlanPartition</span></a></li>
 <li type="circle">org.apache.sysds.hops.codegen.opt.<a href="org/apache/sysds/hops/codegen/opt/PlanSelection.html" title="class in org.apache.sysds.hops.codegen.opt"><span class="typeNameLink">PlanSelection</span></a>
 <ul>
@@ -1444,6 +1535,7 @@
 </ul>
 </li>
 <li type="circle">org.apache.sysds.hops.codegen.opt.<a href="org/apache/sysds/hops/codegen/opt/PlanSelection.VisitMarkCost.html" title="class in org.apache.sysds.hops.codegen.opt"><span class="typeNameLink">PlanSelection.VisitMarkCost</span></a></li>
+<li type="circle">org.apache.sysds.runtime.compress.colgroup.pre.<a href="org/apache/sysds/runtime/compress/colgroup/pre/PreAggregateFactory.html" title="class in org.apache.sysds.runtime.compress.colgroup.pre"><span class="typeNameLink">PreAggregateFactory</span></a></li>
 <li type="circle">org.apache.sysds.api.jmlc.<a href="org/apache/sysds/api/jmlc/PreparedScript.html" title="class in org.apache.sysds.api.jmlc"><span class="typeNameLink">PreparedScript</span></a> (implements org.apache.sysds.api.<a href="org/apache/sysds/api/ConfigurableAPI.html" title="interface in org.apache.sysds.api">ConfigurableAPI</a>)</li>
 <li type="circle">org.apache.sysds.runtime.privacy.<a href="org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy"><span class="typeNameLink">PrivacyConstraint</span></a> (implements java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true" title="class or interface in java.io">Externalizable</a>)</li>
 <li type="circle">org.apache.sysds.runtime.privacy.<a href="org/apache/sysds/runtime/privacy/PrivacyMonitor.html" title="class in org.apache.sysds.runtime.privacy"><span class="typeNameLink">PrivacyMonitor</span></a></li>
@@ -1484,6 +1576,7 @@
 </li>
 <li type="circle">org.apache.sysds.runtime.controlprogram.paramserv.<a href="org/apache/sysds/runtime/controlprogram/paramserv/PSWorker.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv"><span class="typeNameLink">PSWorker</span></a> (implements java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
+<li type="circle">org.apache.sysds.runtime.controlprogram.paramserv.<a href="org/apache/sysds/runtime/controlprogram/paramserv/FederatedPSControlThread.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv"><span class="typeNameLink">FederatedPSControlThread</span></a> (implements java.util.concurrent.<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Callable.html?is-external=true" title="class or interface in java.util.concurrent">Callable</a>&lt;V&gt;)</li>
 <li type="circle">org.apache.sysds.runtime.controlprogram.paramserv.<a href="org/apache/sysds/runtime/controlprogram/paramserv/LocalPSWorker.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv"><span class="typeNameLink">LocalPSWorker</span></a> (implements java.util.concurrent.<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Callable.html?is-external=true" title="class or interface in java.util.concurrent">Callable</a>&lt;V&gt;)
 <ul>
 <li type="circle">org.apache.sysds.runtime.controlprogram.paramserv.<a href="org/apache/sysds/runtime/controlprogram/paramserv/SparkPSWorker.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv"><span class="typeNameLink">SparkPSWorker</span></a> (implements org.apache.spark.api.java.function.VoidFunction&lt;T&gt;)</li>
@@ -1506,16 +1599,22 @@
 <li type="circle">org.apache.sysds.runtime.instructions.spark.utils.<a href="org/apache/sysds/runtime/instructions/spark/utils/RDDSortUtils.IndexComparator2.html" title="class in org.apache.sysds.runtime.instructions.spark.utils"><span class="typeNameLink">RDDSortUtils.IndexComparator2</span></a> (implements java.util.<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html?is-external=true" title="class or interface in java.util">Comparator</a>&lt;T&gt;, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)</li>
 <li type="circle">org.apache.sysds.hops.codegen.opt.<a href="org/apache/sysds/hops/codegen/opt/ReachabilityGraph.html" title="class in org.apache.sysds.hops.codegen.opt"><span class="typeNameLink">ReachabilityGraph</span></a></li>
 <li type="circle">org.apache.sysds.hops.codegen.opt.<a href="org/apache/sysds/hops/codegen/opt/ReachabilityGraph.SubProblem.html" title="class in org.apache.sysds.hops.codegen.opt"><span class="typeNameLink">ReachabilityGraph.SubProblem</span></a></li>
-<li type="circle">org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/ReaderColumnSelection.html" title="class in org.apache.sysds.runtime.compress"><span class="typeNameLink">ReaderColumnSelection</span></a>
+<li type="circle">org.apache.sysds.runtime.compress.readers.<a href="org/apache/sysds/runtime/compress/readers/ReaderColumnSelection.html" title="class in org.apache.sysds.runtime.compress.readers"><span class="typeNameLink">ReaderColumnSelection</span></a>
 <ul>
-<li type="circle">org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/ReaderColumnSelectionDense.html" title="class in org.apache.sysds.runtime.compress"><span class="typeNameLink">ReaderColumnSelectionDense</span></a></li>
-<li type="circle">org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/ReaderColumnSelectionDenseSample.html" title="class in org.apache.sysds.runtime.compress"><span class="typeNameLink">ReaderColumnSelectionDenseSample</span></a></li>
-<li type="circle">org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/ReaderColumnSelectionSparse.html" title="class in org.apache.sysds.runtime.compress"><span class="typeNameLink">ReaderColumnSelectionSparse</span></a></li>
+<li type="circle">org.apache.sysds.runtime.compress.readers.<a href="org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionBitSet.html" title="class in org.apache.sysds.runtime.compress.readers"><span class="typeNameLink">ReaderColumnSelectionBitSet</span></a></li>
+<li type="circle">org.apache.sysds.runtime.compress.readers.<a href="org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionDenseMultiBlock.html" title="class in org.apache.sysds.runtime.compress.readers"><span class="typeNameLink">ReaderColumnSelectionDenseMultiBlock</span></a></li>
+<li type="circle">org.apache.sysds.runtime.compress.readers.<a href="org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionDenseMultiBlockTransposed.html" title="class in org.apache.sysds.runtime.compress.readers"><span class="typeNameLink">ReaderColumnSelectionDenseMultiBlockTransposed</span></a></li>
+<li type="circle">org.apache.sysds.runtime.compress.readers.<a href="org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionDenseSingleBlock.html" title="class in org.apache.sysds.runtime.compress.readers"><span class="typeNameLink">ReaderColumnSelectionDenseSingleBlock</span></a></li>
+<li type="circle">org.apache.sysds.runtime.compress.readers.<a href="org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionDenseSingleBlockTransposed.html" title="class in org.apache.sysds.runtime.compress.readers"><span class="typeNameLink">ReaderColumnSelectionDenseSingleBlockTransposed</span></a></li>
+<li type="circle">org.apache.sysds.runtime.compress.readers.<a href="org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionSparse.html" title="class in org.apache.sysds.runtime.compress.readers"><span class="typeNameLink">ReaderColumnSelectionSparse</span></a></li>
+<li type="circle">org.apache.sysds.runtime.compress.readers.<a href="org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionSparseTransposed.html" title="class in org.apache.sysds.runtime.compress.readers"><span class="typeNameLink">ReaderColumnSelectionSparseTransposed</span></a></li>
+<li type="circle">org.apache.sysds.runtime.compress.readers.<a href="org/apache/sysds/runtime/compress/readers/ReaderCompressedSelection.html" title="class in org.apache.sysds.runtime.compress.readers"><span class="typeNameLink">ReaderCompressedSelection</span></a></li>
 </ul>
 </li>
 <li type="circle">org.apache.sysds.runtime.io.<a href="org/apache/sysds/runtime/io/ReaderTextCellParallel.CellBuffer.html" title="class in org.apache.sysds.runtime.io"><span class="typeNameLink">ReaderTextCellParallel.CellBuffer</span></a></li>
 <li type="circle">org.apache.sysds.runtime.io.<a href="org/apache/sysds/runtime/io/ReaderTextCellParallel.CountNnzTask.html" title="class in org.apache.sysds.runtime.io"><span class="typeNameLink">ReaderTextCellParallel.CountNnzTask</span></a> (implements java.util.concurrent.<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Callable.html?is-external=true" title="class or interface in java.util.concurrent">Callable</a>&lt;V&gt;)</li>
 <li type="circle">org.apache.sysds.runtime.io.<a href="org/apache/sysds/runtime/io/ReaderTextCellParallel.ReadTask.html" title="class in org.apache.sysds.runtime.io"><span class="typeNameLink">ReaderTextCellParallel.ReadTask</span></a> (implements java.util.concurrent.<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Callable.html?is-external=true" title="class or interface in java.util.concurrent">Callable</a>&lt;V&gt;)</li>
+<li type="circle">org.apache.sysds.runtime.io.<a href="org/apache/sysds/runtime/io/ReaderWriterFederated.html" title="class in org.apache.sysds.runtime.io"><span class="typeNameLink">ReaderWriterFederated</span></a></li>
 <li type="circle">org.apache.sysds.runtime.io.<a href="org/apache/sysds/runtime/io/ReadProperties.html" title="class in org.apache.sysds.runtime.io"><span class="typeNameLink">ReadProperties</span></a></li>
 <li type="circle">org.apache.sysds.runtime.instructions.spark.data.<a href="org/apache/sysds/runtime/instructions/spark/data/ReblockBuffer.html" title="class in org.apache.sysds.runtime.instructions.spark.data"><span class="typeNameLink">ReblockBuffer</span></a></li>
 <li type="circle">org.apache.sysds.runtime.instructions.spark.functions.<a href="org/apache/sysds/runtime/instructions/spark/functions/ReblockTensorFunction.html" title="class in org.apache.sysds.runtime.instructions.spark.functions"><span class="typeNameLink">ReblockTensorFunction</span></a> (implements org.apache.spark.api.java.function.PairFlatMapFunction&lt;T,K,V&gt;)</li>
@@ -1674,7 +1773,6 @@
 <li type="circle">org.apache.sysds.runtime.data.<a href="org/apache/sysds/runtime/data/SparseRowVector.html" title="class in org.apache.sysds.runtime.data"><span class="typeNameLink">SparseRowVector</span></a> (implements java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)</li>
 </ul>
 </li>
-<li type="circle">org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/SparseRowIterator.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">SparseRowIterator</span></a></li>
 <li type="circle">org.apache.sysds.hops.estim.<a href="org/apache/sysds/hops/estim/SparsityEstimator.html" title="class in org.apache.sysds.hops.estim"><span class="typeNameLink">SparsityEstimator</span></a>
 <ul>
 <li type="circle">org.apache.sysds.hops.estim.<a href="org/apache/sysds/hops/estim/EstimatorBasicAvg.html" title="class in org.apache.sysds.hops.estim"><span class="typeNameLink">EstimatorBasicAvg</span></a></li>
@@ -1688,12 +1786,26 @@
 </ul>
 </li>
 <li type="circle">org.apache.sysds.hops.codegen.<a href="org/apache/sysds/hops/codegen/SpoofCompiler.html" title="class in org.apache.sysds.hops.codegen"><span class="typeNameLink">SpoofCompiler</span></a></li>
+<li type="circle">org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/SpoofCUDAOperator.PrecisionProxy.html" title="class in org.apache.sysds.runtime.codegen"><span class="typeNameLink">SpoofCUDAOperator.PrecisionProxy</span></a>
+<ul>
+<li type="circle">org.apache.sysds.runtime.instructions.gpu.<a href="org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.DoublePrecision.html" title="class in org.apache.sysds.runtime.instructions.gpu"><span class="typeNameLink">SpoofCUDAInstruction.DoublePrecision</span></a></li>
+<li type="circle">org.apache.sysds.runtime.instructions.gpu.<a href="org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.SinglePrecision.html" title="class in org.apache.sysds.runtime.instructions.gpu"><span class="typeNameLink">SpoofCUDAInstruction.SinglePrecision</span></a></li>
+</ul>
+</li>
 <li type="circle">org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/SpoofOperator.html" title="class in org.apache.sysds.runtime.codegen"><span class="typeNameLink">SpoofOperator</span></a> (implements java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/SpoofCellwise.html" title="class in org.apache.sysds.runtime.codegen"><span class="typeNameLink">SpoofCellwise</span></a> (implements java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)</li>
+<li type="circle">org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/SpoofCellwise.html" title="class in org.apache.sysds.runtime.codegen"><span class="typeNameLink">SpoofCellwise</span></a> (implements java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
+<ul>
+<li type="circle">org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/SpoofCUDACellwise.html" title="class in org.apache.sysds.runtime.codegen"><span class="typeNameLink">SpoofCUDACellwise</span></a> (implements org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html" title="interface in org.apache.sysds.runtime.codegen">SpoofCUDAOperator</a>)</li>
+</ul>
+</li>
 <li type="circle">org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/SpoofMultiAggregate.html" title="class in org.apache.sysds.runtime.codegen"><span class="typeNameLink">SpoofMultiAggregate</span></a> (implements java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)</li>
 <li type="circle">org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/SpoofOuterProduct.html" title="class in org.apache.sysds.runtime.codegen"><span class="typeNameLink">SpoofOuterProduct</span></a></li>
-<li type="circle">org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/SpoofRowwise.html" title="class in org.apache.sysds.runtime.codegen"><span class="typeNameLink">SpoofRowwise</span></a></li>
+<li type="circle">org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/SpoofRowwise.html" title="class in org.apache.sysds.runtime.codegen"><span class="typeNameLink">SpoofRowwise</span></a>
+<ul>
+<li type="circle">org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/SpoofCUDARowwise.html" title="class in org.apache.sysds.runtime.codegen"><span class="typeNameLink">SpoofCUDARowwise</span></a> (implements org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html" title="interface in org.apache.sysds.runtime.codegen">SpoofCUDAOperator</a>)</li>
+</ul>
+</li>
 </ul>
 </li>
 <li type="circle">org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/SpoofOperator.SideInput.html" title="class in org.apache.sysds.runtime.codegen"><span class="typeNameLink">SpoofOperator.SideInput</span></a>
@@ -1732,6 +1844,7 @@
 <li type="circle">org.apache.sysds.hops.rewrite.<a href="org/apache/sysds/hops/rewrite/RewriteMarkLoopVariablesUpdateInPlace.html" title="class in org.apache.sysds.hops.rewrite"><span class="typeNameLink">RewriteMarkLoopVariablesUpdateInPlace</span></a></li>
 <li type="circle">org.apache.sysds.hops.rewrite.<a href="org/apache/sysds/hops/rewrite/RewriteMergeBlockSequence.html" title="class in org.apache.sysds.hops.rewrite"><span class="typeNameLink">RewriteMergeBlockSequence</span></a></li>
 <li type="circle">org.apache.sysds.hops.rewrite.<a href="org/apache/sysds/hops/rewrite/RewriteRemoveEmptyBasicBlocks.html" title="class in org.apache.sysds.hops.rewrite"><span class="typeNameLink">RewriteRemoveEmptyBasicBlocks</span></a></li>
+<li type="circle">org.apache.sysds.hops.rewrite.<a href="org/apache/sysds/hops/rewrite/RewriteRemoveForLoopEmptySequence.html" title="class in org.apache.sysds.hops.rewrite"><span class="typeNameLink">RewriteRemoveForLoopEmptySequence</span></a></li>
 <li type="circle">org.apache.sysds.hops.rewrite.<a href="org/apache/sysds/hops/rewrite/RewriteRemoveUnnecessaryBranches.html" title="class in org.apache.sysds.hops.rewrite"><span class="typeNameLink">RewriteRemoveUnnecessaryBranches</span></a></li>
 <li type="circle">org.apache.sysds.hops.rewrite.<a href="org/apache/sysds/hops/rewrite/RewriteSplitDagDataDependentOperators.html" title="class in org.apache.sysds.hops.rewrite"><span class="typeNameLink">RewriteSplitDagDataDependentOperators</span></a></li>
 <li type="circle">org.apache.sysds.hops.rewrite.<a href="org/apache/sysds/hops/rewrite/RewriteSplitDagUnknownCSVRead.html" title="class in org.apache.sysds.hops.rewrite"><span class="typeNameLink">RewriteSplitDagUnknownCSVRead</span></a></li>
@@ -1841,10 +1954,18 @@
 </ul>
 </li>
 <li type="circle">org.apache.sysds.runtime.controlprogram.parfor.stat.<a href="org/apache/sysds/runtime/controlprogram/parfor/stat/Timing.html" title="class in org.apache.sysds.runtime.controlprogram.parfor.stat"><span class="typeNameLink">Timing</span></a></li>
+<li type="circle">org.apache.sysds.runtime.transform.tokenize.<a href="org/apache/sysds/runtime/transform/tokenize/Tokenizer.html" title="class in org.apache.sysds.runtime.transform.tokenize"><span class="typeNameLink">Tokenizer</span></a> (implements java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)</li>
+<li type="circle">org.apache.sysds.runtime.transform.tokenize.<a href="org/apache/sysds/runtime/transform/tokenize/TokenizerFactory.html" title="class in org.apache.sysds.runtime.transform.tokenize"><span class="typeNameLink">TokenizerFactory</span></a></li>
+<li type="circle">org.apache.sysds.runtime.transform.tokenize.<a href="org/apache/sysds/runtime/transform/tokenize/TokenizerPostCount.html" title="class in org.apache.sysds.runtime.transform.tokenize"><span class="typeNameLink">TokenizerPostCount</span></a> (implements org.apache.sysds.runtime.transform.tokenize.<a href="org/apache/sysds/runtime/transform/tokenize/TokenizerPost.html" title="interface in org.apache.sysds.runtime.transform.tokenize">TokenizerPost</a>)</li>
+<li type="circle">org.apache.sysds.runtime.transform.tokenize.<a href="org/apache/sysds/runtime/transform/tokenize/TokenizerPostHash.html" title="class in org.apache.sysds.runtime.transform.tokenize"><span class="typeNameLink">TokenizerPostHash</span></a> (implements org.apache.sysds.runtime.transform.tokenize.<a href="org/apache/sysds/runtime/transform/tokenize/TokenizerPost.html" title="interface in org.apache.sysds.runtime.transform.tokenize">TokenizerPost</a>)</li>
+<li type="circle">org.apache.sysds.runtime.transform.tokenize.<a href="org/apache/sysds/runtime/transform/tokenize/TokenizerPostPosition.html" title="class in org.apache.sysds.runtime.transform.tokenize"><span class="typeNameLink">TokenizerPostPosition</span></a> (implements org.apache.sysds.runtime.transform.tokenize.<a href="org/apache/sysds/runtime/transform/tokenize/TokenizerPost.html" title="interface in org.apache.sysds.runtime.transform.tokenize">TokenizerPost</a>)</li>
+<li type="circle">org.apache.sysds.runtime.transform.tokenize.<a href="org/apache/sysds/runtime/transform/tokenize/TokenizerPreNgram.html" title="class in org.apache.sysds.runtime.transform.tokenize"><span class="typeNameLink">TokenizerPreNgram</span></a> (implements org.apache.sysds.runtime.transform.tokenize.<a href="org/apache/sysds/runtime/transform/tokenize/TokenizerPre.html" title="interface in org.apache.sysds.runtime.transform.tokenize">TokenizerPre</a>)</li>
+<li type="circle">org.apache.sysds.runtime.transform.tokenize.<a href="org/apache/sysds/runtime/transform/tokenize/TokenizerPreWhitespaceSplit.html" title="class in org.apache.sysds.runtime.transform.tokenize"><span class="typeNameLink">TokenizerPreWhitespaceSplit</span></a> (implements org.apache.sysds.runtime.transform.tokenize.<a href="org/apache/sysds/runtime/transform/tokenize/TokenizerPre.html" title="interface in org.apache.sysds.runtime.transform.tokenize">TokenizerPre</a>)</li>
 <li type="circle">org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/TripleIndexes.html" title="class in org.apache.sysds.runtime.matrix.data"><span class="typeNameLink">TripleIndexes</span></a> (implements java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, org.apache.hadoop.io.WritableComparable&lt;T&gt;)</li>
 <li type="circle">org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/TripleIndexes.Comparator.html" title="class in org.apache.sysds.runtime.matrix.data"><span class="typeNameLink">TripleIndexes.Comparator</span></a> (implements org.apache.hadoop.io.RawComparator&lt;T&gt;)</li>
 <li type="circle">org.apache.sysds.common.<a href="org/apache/sysds/common/Types.html" title="class in org.apache.sysds.common"><span class="typeNameLink">Types</span></a></li>
 <li type="circle">org.apache.sysds.runtime.instructions.gpu.context.<a href="org/apache/sysds/runtime/instructions/gpu/context/UnifiedMemoryAllocator.html" title="class in org.apache.sysds.runtime.instructions.gpu.context"><span class="typeNameLink">UnifiedMemoryAllocator</span></a> (implements org.apache.sysds.runtime.instructions.gpu.context.<a href="org/apache/sysds/runtime/instructions/gpu/context/GPUMemoryAllocator.html" title="interface in org.apache.sysds.runtime.instructions.gpu.context">GPUMemoryAllocator</a>)</li>
+<li type="circle">org.apache.sysds.runtime.controlprogram.caching.<a href="org/apache/sysds/runtime/controlprogram/caching/UnifiedMemoryManager.html" title="class in org.apache.sysds.runtime.controlprogram.caching"><span class="typeNameLink">UnifiedMemoryManager</span></a></li>
 <li type="circle">org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/UtilFunctions.html" title="class in org.apache.sysds.runtime.util"><span class="typeNameLink">UtilFunctions</span></a></li>
 <li type="circle">org.apache.sysds.parser.<a href="org/apache/sysds/parser/VariableSet.html" title="class in org.apache.sysds.parser"><span class="typeNameLink">VariableSet</span></a></li>
 <li type="circle">org.apache.sysds.hops.cost.<a href="org/apache/sysds/hops/cost/VarStats.html" title="class in org.apache.sysds.hops.cost"><span class="typeNameLink">VarStats</span></a></li>
@@ -1865,6 +1986,8 @@
 <li type="circle">org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/CudaSupportFunctions.html" title="interface in org.apache.sysds.runtime.matrix.data"><span class="typeNameLink">CudaSupportFunctions</span></a></li>
 <li type="circle">org.apache.sysds.runtime.privacy.finegrained.<a href="org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html" title="interface in org.apache.sysds.runtime.privacy.finegrained"><span class="typeNameLink">FineGrainedPrivacy</span></a></li>
 <li type="circle">org.apache.sysds.runtime.instructions.gpu.context.<a href="org/apache/sysds/runtime/instructions/gpu/context/GPUMemoryAllocator.html" title="interface in org.apache.sysds.runtime.instructions.gpu.context"><span class="typeNameLink">GPUMemoryAllocator</span></a></li>
+<li type="circle">org.apache.sysds.runtime.compress.colgroup.mapping.<a href="org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html" title="interface in org.apache.sysds.runtime.compress.colgroup.mapping"><span class="typeNameLink">IMapToData</span></a></li>
+<li type="circle">org.apache.sysds.runtime.compress.colgroup.pre.<a href="org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre"><span class="typeNameLink">IPreAggregate</span></a></li>
 <li type="circle">org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/LibMatrixDNNRotate180.Rotate180Worker.html" title="interface in org.apache.sysds.runtime.matrix.data"><span class="typeNameLink">LibMatrixDNNRotate180.Rotate180Worker</span></a></li>
 <li type="circle">org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage"><span class="typeNameLink">LineageTraceable</span></a></li>
 <li type="circle">org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/MatrixBlockDataInput.html" title="interface in org.apache.sysds.runtime.matrix.data"><span class="typeNameLink">MatrixBlockDataInput</span></a></li>
@@ -1876,6 +1999,20 @@
 </ul>
 </li>
 <li type="circle">org.apache.sysds.runtime.privacy.propagation.<a href="org/apache/sysds/runtime/privacy/propagation/Propagator.html" title="interface in org.apache.sysds.runtime.privacy.propagation"><span class="typeNameLink">Propagator</span></a></li>
+<li type="circle">org.apache.sysds.runtime.privacy.propagation.<a href="org/apache/sysds/runtime/privacy/propagation/PropagatorMultiReturn.html" title="interface in org.apache.sysds.runtime.privacy.propagation"><span class="typeNameLink">PropagatorMultiReturn</span></a></li>
+<li type="circle">java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io"><span class="typeNameLink">Serializable</span></a>
+<ul>
+<li type="circle">org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/Encoder.html" title="interface in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">Encoder</span></a></li>
+<li type="circle">java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true" title="class or interface in java.io"><span class="typeNameLink">Externalizable</span></a>
+<ul>
+<li type="circle">org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/Encoder.html" title="interface in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">Encoder</span></a></li>
+</ul>
+</li>
+<li type="circle">org.apache.sysds.runtime.transform.tokenize.<a href="org/apache/sysds/runtime/transform/tokenize/TokenizerPost.html" title="interface in org.apache.sysds.runtime.transform.tokenize"><span class="typeNameLink">TokenizerPost</span></a></li>
+<li type="circle">org.apache.sysds.runtime.transform.tokenize.<a href="org/apache/sysds/runtime/transform/tokenize/TokenizerPre.html" title="interface in org.apache.sysds.runtime.transform.tokenize"><span class="typeNameLink">TokenizerPre</span></a></li>
+</ul>
+</li>
+<li type="circle">org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html" title="interface in org.apache.sysds.runtime.codegen"><span class="typeNameLink">SpoofCUDAOperator</span></a></li>
 <li type="circle">org.apache.sysds.runtime.functionobjects.<a href="org/apache/sysds/runtime/functionobjects/TernaryValueFunction.ValueFunctionWithConstant.html" title="interface in org.apache.sysds.runtime.functionobjects"><span class="typeNameLink">TernaryValueFunction.ValueFunctionWithConstant</span></a></li>
 <li type="circle">org.apache.sysds.common.<a href="org/apache/sysds/common/Types.FunctionBlock.html" title="interface in org.apache.sysds.common"><span class="typeNameLink">Types.FunctionBlock</span></a></li>
 <li type="circle">org.apache.hadoop.io.Writable
@@ -1891,6 +2028,8 @@
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
 <li type="circle">org.apache.sysds.runtime.compress.utils.<a href="org/apache/sysds/runtime/compress/utils/ABitmap.BitmapType.html" title="enum in org.apache.sysds.runtime.compress.utils"><span class="typeNameLink">ABitmap.BitmapType</span></a></li>
+<li type="circle">org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html" title="enum in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">AColGroup.ColGroupType</span></a></li>
+<li type="circle">org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">AColGroup.CompressionType</span></a></li>
 <li type="circle">org.apache.sysds.hops.<a href="org/apache/sysds/hops/AggBinaryOp.MMultMethod.html" title="enum in org.apache.sysds.hops"><span class="typeNameLink">AggBinaryOp.MMultMethod</span></a></li>
 <li type="circle">org.apache.sysds.hops.<a href="org/apache/sysds/hops/AggBinaryOp.SparkAggType.html" title="enum in org.apache.sysds.hops"><span class="typeNameLink">AggBinaryOp.SparkAggType</span></a></li>
 <li type="circle">org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/AggregateUnaryCPInstruction.AUType.html" title="enum in org.apache.sysds.runtime.instructions.cp"><span class="typeNameLink">AggregateUnaryCPInstruction.AUType</span></a></li>
@@ -1909,7 +2048,7 @@
 <li type="circle">org.apache.sysds.hops.codegen.cplan.<a href="org/apache/sysds/hops/codegen/cplan/CNodeNary.NaryType.html" title="enum in org.apache.sysds.hops.codegen.cplan"><span class="typeNameLink">CNodeNary.NaryType</span></a></li>
 <li type="circle">org.apache.sysds.hops.codegen.cplan.<a href="org/apache/sysds/hops/codegen/cplan/CNodeTernary.TernaryType.html" title="enum in org.apache.sysds.hops.codegen.cplan"><span class="typeNameLink">CNodeTernary.TernaryType</span></a></li>
 <li type="circle">org.apache.sysds.hops.codegen.cplan.<a href="org/apache/sysds/hops/codegen/cplan/CNodeUnary.UnaryType.html" title="enum in org.apache.sysds.hops.codegen.cplan"><span class="typeNameLink">CNodeUnary.UnaryType</span></a></li>
-<li type="circle">org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">ColGroup.CompressionType</span></a></li>
+<li type="circle">org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoder.EncoderType.html" title="enum in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">ColumnEncoder.EncoderType</span></a></li>
 <li type="circle">org.apache.sysds.conf.<a href="org/apache/sysds/conf/CompilerConfig.ConfigType.html" title="enum in org.apache.sysds.conf"><span class="typeNameLink">CompilerConfig.ConfigType</span></a></li>
 <li type="circle">org.apache.sysds.lops.<a href="org/apache/sysds/lops/Compression.CompressConfig.html" title="enum in org.apache.sysds.lops"><span class="typeNameLink">Compression.CompressConfig</span></a></li>
 <li type="circle">org.apache.sysds.hops.cost.<a href="org/apache/sysds/hops/cost/CostEstimationWrapper.CostType.html" title="enum in org.apache.sysds.hops.cost"><span class="typeNameLink">CostEstimationWrapper.CostType</span></a></li>
@@ -1920,7 +2059,10 @@
 <li type="circle">org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/CPInstruction.CPType.html" title="enum in org.apache.sysds.runtime.instructions.cp"><span class="typeNameLink">CPInstruction.CPType</span></a></li>
 <li type="circle">org.apache.sysds.lops.<a href="org/apache/sysds/lops/Ctable.OperationTypes.html" title="enum in org.apache.sysds.lops"><span class="typeNameLink">Ctable.OperationTypes</span></a></li>
 <li type="circle">org.apache.sysds.parser.dml.<a href="org/apache/sysds/parser/dml/CustomErrorListener.ParseIssueType.html" title="enum in org.apache.sysds.parser.dml"><span class="typeNameLink">CustomErrorListener.ParseIssueType</span></a></li>
+<li type="circle">org.apache.sysds.runtime.transform.decode.<a href="org/apache/sysds/runtime/transform/decode/DecoderFactory.DecoderType.html" title="enum in org.apache.sysds.runtime.transform.decode"><span class="typeNameLink">DecoderFactory.DecoderType</span></a></li>
+<li type="circle">org.apache.sysds.lops.<a href="org/apache/sysds/lops/DeCompression.CompressConfig.html" title="enum in org.apache.sysds.lops"><span class="typeNameLink">DeCompression.CompressConfig</span></a></li>
 <li type="circle">org.apache.sysds.runtime.data.<a href="org/apache/sysds/runtime/data/DenseBlock.Type.html" title="enum in org.apache.sysds.runtime.data"><span class="typeNameLink">DenseBlock.Type</span></a></li>
+<li type="circle">org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/DMVUtils.LEVEL_ENUM.html" title="enum in org.apache.sysds.runtime.util"><span class="typeNameLink">DMVUtils.LEVEL_ENUM</span></a></li>
 <li type="circle">org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderMVImpute.MVMethod.html" title="enum in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">EncoderMVImpute.MVMethod</span></a></li>
 <li type="circle">org.apache.sysds.utils.<a href="org/apache/sysds/utils/Explain.ExplainType.html" title="enum in org.apache.sysds.utils"><span class="typeNameLink">Explain.ExplainType</span></a></li>
 <li type="circle">org.apache.sysds.parser.<a href="org/apache/sysds/parser/Expression.BinaryOp.html" title="enum in org.apache.sysds.parser"><span class="typeNameLink">Expression.BinaryOp</span></a></li>
@@ -1994,6 +2136,7 @@
 <li type="circle">org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/SpoofCellwise.AggOp.html" title="enum in org.apache.sysds.runtime.codegen"><span class="typeNameLink">SpoofCellwise.AggOp</span></a></li>
 <li type="circle">org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/SpoofCellwise.CellType.html" title="enum in org.apache.sysds.runtime.codegen"><span class="typeNameLink">SpoofCellwise.CellType</span></a></li>
 <li type="circle">org.apache.sysds.hops.codegen.<a href="org/apache/sysds/hops/codegen/SpoofCompiler.CompilerType.html" title="enum in org.apache.sysds.hops.codegen"><span class="typeNameLink">SpoofCompiler.CompilerType</span></a></li>
+<li type="circle">org.apache.sysds.hops.codegen.<a href="org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen"><span class="typeNameLink">SpoofCompiler.GeneratorAPI</span></a></li>
 <li type="circle">org.apache.sysds.hops.codegen.<a href="org/apache/sysds/hops/codegen/SpoofCompiler.IntegrationType.html" title="enum in org.apache.sysds.hops.codegen"><span class="typeNameLink">SpoofCompiler.IntegrationType</span></a></li>
 <li type="circle">org.apache.sysds.hops.codegen.<a href="org/apache/sysds/hops/codegen/SpoofCompiler.PlanCachePolicy.html" title="enum in org.apache.sysds.hops.codegen"><span class="typeNameLink">SpoofCompiler.PlanCachePolicy</span></a></li>
 <li type="circle">org.apache.sysds.hops.codegen.<a href="org/apache/sysds/hops/codegen/SpoofCompiler.PlanSelector.html" title="enum in org.apache.sysds.hops.codegen"><span class="typeNameLink">SpoofCompiler.PlanSelector</span></a></li>
@@ -2002,9 +2145,11 @@
 <li type="circle">org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/SpoofOuterProduct.OutProdType.html" title="enum in org.apache.sysds.runtime.codegen"><span class="typeNameLink">SpoofOuterProduct.OutProdType</span></a></li>
 <li type="circle">org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/SpoofRowwise.RowType.html" title="enum in org.apache.sysds.runtime.codegen"><span class="typeNameLink">SpoofRowwise.RowType</span></a></li>
 <li type="circle">org.apache.sysds.runtime.controlprogram.parfor.stat.<a href="org/apache/sysds/runtime/controlprogram/parfor/stat/Stat.html" title="enum in org.apache.sysds.runtime.controlprogram.parfor.stat"><span class="typeNameLink">Stat</span></a></li>
+<li type="circle">org.apache.sysds.parser.<a href="org/apache/sysds/parser/Statement.FederatedPSScheme.html" title="enum in org.apache.sysds.parser"><span class="typeNameLink">Statement.FederatedPSScheme</span></a></li>
 <li type="circle">org.apache.sysds.parser.<a href="org/apache/sysds/parser/Statement.PSCheckpointing.html" title="enum in org.apache.sysds.parser"><span class="typeNameLink">Statement.PSCheckpointing</span></a></li>
 <li type="circle">org.apache.sysds.parser.<a href="org/apache/sysds/parser/Statement.PSFrequency.html" title="enum in org.apache.sysds.parser"><span class="typeNameLink">Statement.PSFrequency</span></a></li>
 <li type="circle">org.apache.sysds.parser.<a href="org/apache/sysds/parser/Statement.PSModeType.html" title="enum in org.apache.sysds.parser"><span class="typeNameLink">Statement.PSModeType</span></a></li>
+<li type="circle">org.apache.sysds.parser.<a href="org/apache/sysds/parser/Statement.PSRuntimeBalancing.html" title="enum in org.apache.sysds.parser"><span class="typeNameLink">Statement.PSRuntimeBalancing</span></a></li>
 <li type="circle">org.apache.sysds.parser.<a href="org/apache/sysds/parser/Statement.PSScheme.html" title="enum in org.apache.sysds.parser"><span class="typeNameLink">Statement.PSScheme</span></a></li>
 <li type="circle">org.apache.sysds.parser.<a href="org/apache/sysds/parser/Statement.PSUpdateType.html" title="enum in org.apache.sysds.parser"><span class="typeNameLink">Statement.PSUpdateType</span></a></li>
 <li type="circle">org.apache.sysds.runtime.controlprogram.parfor.<a href="org/apache/sysds/runtime/controlprogram/parfor/Task.TaskType.html" title="enum in org.apache.sysds.runtime.controlprogram.parfor"><span class="typeNameLink">Task.TaskType</span></a></li>
@@ -2090,6 +2235,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/java/package-list b/docs/api/java/package-list
index 657980d..9d0c0a7 100644
--- a/docs/api/java/package-list
+++ b/docs/api/java/package-list
@@ -6,6 +6,8 @@
 org.apache.sysds.hops
 org.apache.sysds.hops.codegen
 org.apache.sysds.hops.codegen.cplan
+org.apache.sysds.hops.codegen.cplan.cuda
+org.apache.sysds.hops.codegen.cplan.java
 org.apache.sysds.hops.codegen.opt
 org.apache.sysds.hops.codegen.template
 org.apache.sysds.hops.cost
@@ -22,9 +24,13 @@
 org.apache.sysds.runtime.compress
 org.apache.sysds.runtime.compress.cocode
 org.apache.sysds.runtime.compress.colgroup
+org.apache.sysds.runtime.compress.colgroup.mapping
+org.apache.sysds.runtime.compress.colgroup.pre
+org.apache.sysds.runtime.compress.colgroup.tree
 org.apache.sysds.runtime.compress.estim
 org.apache.sysds.runtime.compress.estim.sample
 org.apache.sysds.runtime.compress.lib
+org.apache.sysds.runtime.compress.readers
 org.apache.sysds.runtime.compress.utils
 org.apache.sysds.runtime.controlprogram
 org.apache.sysds.runtime.controlprogram.caching
@@ -61,5 +67,6 @@
 org.apache.sysds.runtime.transform.decode
 org.apache.sysds.runtime.transform.encode
 org.apache.sysds.runtime.transform.meta
+org.apache.sysds.runtime.transform.tokenize
 org.apache.sysds.runtime.util
 org.apache.sysds.utils
diff --git a/docs/api/java/serialized-form.html b/docs/api/java/serialized-form.html
index f627c11..b51e999 100644
--- a/docs/api/java/serialized-form.html
+++ b/docs/api/java/serialized-form.html
@@ -257,6 +257,66 @@
 </li>
 </ul>
 </li>
+<li class="blockList"><a name="org.apache.sysds.runtime.codegen.SpoofCUDACellwise">
+<!--   -->
+</a>
+<h3>Class <a href="org/apache/sysds/runtime/codegen/SpoofCUDACellwise.html" title="class in org.apache.sysds.runtime.codegen">org.apache.sysds.runtime.codegen.SpoofCUDACellwise</a> extends <a href="org/apache/sysds/runtime/codegen/SpoofCellwise.html" title="class in org.apache.sysds.runtime.codegen">SpoofCellwise</a> implements Serializable</h3>
+<dl class="nameValue">
+<dt>serialVersionUID:</dt>
+<dd>-5255791443086948200L</dd>
+</dl>
+<ul class="blockList">
+<li class="blockList">
+<h3>Serialized Fields</h3>
+<ul class="blockList">
+<li class="blockList">
+<h4>ID</h4>
+<pre>int ID</pre>
+</li>
+<li class="blockList">
+<h4>call</h4>
+<pre><a href="org/apache/sysds/runtime/codegen/SpoofCUDAOperator.PrecisionProxy.html" title="class in org.apache.sysds.runtime.codegen">SpoofCUDAOperator.PrecisionProxy</a> call</pre>
+</li>
+<li class="blockList">
+<h4>ptr</h4>
+<pre>jcuda.Pointer ptr</pre>
+</li>
+<li class="blockListLast">
+<h4>fallback_java_op</h4>
+<pre><a href="org/apache/sysds/runtime/codegen/SpoofCellwise.html" title="class in org.apache.sysds.runtime.codegen">SpoofCellwise</a> fallback_java_op</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="blockList"><a name="org.apache.sysds.runtime.codegen.SpoofCUDARowwise">
+<!--   -->
+</a>
+<h3>Class <a href="org/apache/sysds/runtime/codegen/SpoofCUDARowwise.html" title="class in org.apache.sysds.runtime.codegen">org.apache.sysds.runtime.codegen.SpoofCUDARowwise</a> extends <a href="org/apache/sysds/runtime/codegen/SpoofRowwise.html" title="class in org.apache.sysds.runtime.codegen">SpoofRowwise</a> implements Serializable</h3>
+<dl class="nameValue">
+<dt>serialVersionUID:</dt>
+<dd>3080001135814944399L</dd>
+</dl>
+<ul class="blockList">
+<li class="blockList">
+<h3>Serialized Fields</h3>
+<ul class="blockList">
+<li class="blockList">
+<h4>ID</h4>
+<pre>int ID</pre>
+</li>
+<li class="blockList">
+<h4>call</h4>
+<pre><a href="org/apache/sysds/runtime/codegen/SpoofCUDAOperator.PrecisionProxy.html" title="class in org.apache.sysds.runtime.codegen">SpoofCUDAOperator.PrecisionProxy</a> call</pre>
+</li>
+<li class="blockListLast">
+<h4>ptr</h4>
+<pre>jcuda.Pointer ptr</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
 <li class="blockList"><a name="org.apache.sysds.runtime.codegen.SpoofMultiAggregate">
 <!--   -->
 </a>
@@ -347,44 +407,10 @@
 <li class="blockList">
 <h2 title="Package">Package&nbsp;org.apache.sysds.runtime.compress</h2>
 <ul class="blockList">
-<li class="blockList"><a name="org.apache.sysds.runtime.compress.AbstractCompressedMatrixBlock">
-<!--   -->
-</a>
-<h3>Class <a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">org.apache.sysds.runtime.compress.AbstractCompressedMatrixBlock</a> extends <a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a> implements Serializable</h3>
-<ul class="blockList">
-<li class="blockList">
-<h3>Serialization Methods</h3>
-<ul class="blockList">
-<li class="blockList">
-<h4>readExternal</h4>
-<pre>public&nbsp;void&nbsp;readExternal(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectInput.html?is-external=true" title="class or interface in java.io">ObjectInput</a>&nbsp;is)
-                  throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
-<div class="block">Redirects the default java serialization via externalizable to our default 
- hadoop writable serialization for efficient broadcast/rdd deserialization.</div>
-<dl>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if IOException occurs</dd>
-</dl>
-</li>
-<li class="blockListLast">
-<h4>writeExternal</h4>
-<pre>public&nbsp;void&nbsp;writeExternal(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectOutput.html?is-external=true" title="class or interface in java.io">ObjectOutput</a>&nbsp;os)
-                   throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
-<div class="block">Redirects the default java serialization via externalizable to our default 
- hadoop writable serialization for efficient broadcast/rdd serialization.</div>
-<dl>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if IOException occurs</dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
 <li class="blockList"><a name="org.apache.sysds.runtime.compress.CompressedMatrixBlock">
 <!--   -->
 </a>
-<h3>Class <a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">org.apache.sysds.runtime.compress.CompressedMatrixBlock</a> extends <a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">AbstractCompressedMatrixBlock</a> implements Serializable</h3>
+<h3>Class <a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">org.apache.sysds.runtime.compress.CompressedMatrixBlock</a> extends <a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a> implements Serializable</h3>
 <dl class="nameValue">
 <dt>serialVersionUID:</dt>
 <dd>7319372019143154058L</dd>
@@ -424,10 +450,10 @@
 <li class="blockList">
 <h2 title="Package">Package&nbsp;org.apache.sysds.runtime.compress.colgroup</h2>
 <ul class="blockList">
-<li class="blockList"><a name="org.apache.sysds.runtime.compress.colgroup.ColGroup">
+<li class="blockList"><a name="org.apache.sysds.runtime.compress.colgroup.AColGroup">
 <!--   -->
 </a>
-<h3>Class <a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">org.apache.sysds.runtime.compress.colgroup.ColGroup</a> extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> implements Serializable</h3>
+<h3>Class <a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">org.apache.sysds.runtime.compress.colgroup.AColGroup</a> extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> implements Serializable</h3>
 <dl class="nameValue">
 <dt>serialVersionUID:</dt>
 <dd>2439785418908671481L</dd>
@@ -478,46 +504,26 @@
 <dt>serialVersionUID:</dt>
 <dd>-3204391646123465004L</dd>
 </dl>
-</li>
-<li class="blockList"><a name="org.apache.sysds.runtime.compress.colgroup.ColGroupDDC1">
-<!--   -->
-</a>
-<h3>Class <a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html" title="class in org.apache.sysds.runtime.compress.colgroup">org.apache.sysds.runtime.compress.colgroup.ColGroupDDC1</a> extends <a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a> implements Serializable</h3>
-<dl class="nameValue">
-<dt>serialVersionUID:</dt>
-<dd>5204955589230760157L</dd>
-</dl>
 <ul class="blockList">
 <li class="blockList">
 <h3>Serialized Fields</h3>
 <ul class="blockList">
 <li class="blockListLast">
 <h4>_data</h4>
-<pre>byte[] _data</pre>
+<pre><a href="org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html" title="interface in org.apache.sysds.runtime.compress.colgroup.mapping">IMapToData</a> _data</pre>
 </li>
 </ul>
 </li>
 </ul>
 </li>
-<li class="blockList"><a name="org.apache.sysds.runtime.compress.colgroup.ColGroupDDC2">
+<li class="blockList"><a name="org.apache.sysds.runtime.compress.colgroup.ColGroupEmpty">
 <!--   -->
 </a>
-<h3>Class <a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html" title="class in org.apache.sysds.runtime.compress.colgroup">org.apache.sysds.runtime.compress.colgroup.ColGroupDDC2</a> extends <a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a> implements Serializable</h3>
+<h3>Class <a href="org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html" title="class in org.apache.sysds.runtime.compress.colgroup">org.apache.sysds.runtime.compress.colgroup.ColGroupEmpty</a> extends <a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a> implements Serializable</h3>
 <dl class="nameValue">
 <dt>serialVersionUID:</dt>
-<dd>-3995768285207071013L</dd>
+<dd>3204391661346504L</dd>
 </dl>
-<ul class="blockList">
-<li class="blockList">
-<h3>Serialized Fields</h3>
-<ul class="blockList">
-<li class="blockListLast">
-<h4>_data</h4>
-<pre>char[] _data</pre>
-</li>
-</ul>
-</li>
-</ul>
 </li>
 <li class="blockList"><a name="org.apache.sysds.runtime.compress.colgroup.ColGroupOffset">
 <!--   -->
@@ -563,10 +569,104 @@
 <dd>7450232907594748177L</dd>
 </dl>
 </li>
+<li class="blockList"><a name="org.apache.sysds.runtime.compress.colgroup.ColGroupSDC">
+<!--   -->
+</a>
+<h3>Class <a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">org.apache.sysds.runtime.compress.colgroup.ColGroupSDC</a> extends <a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a> implements Serializable</h3>
+<dl class="nameValue">
+<dt>serialVersionUID:</dt>
+<dd>-12043916423465004L</dd>
+</dl>
+<ul class="blockList">
+<li class="blockList">
+<h3>Serialized Fields</h3>
+<ul class="blockList">
+<li class="blockList">
+<h4>_indexes</h4>
+<pre>int[] _indexes</pre>
+<div class="block">Sparse row indexes for the data</div>
+</li>
+<li class="blockListLast">
+<h4>_data</h4>
+<pre><a href="org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html" title="interface in org.apache.sysds.runtime.compress.colgroup.mapping">IMapToData</a> _data</pre>
+<div class="block">Pointers to row indexes in the dictionary. Note the dictionary has one extra entry.</div>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="blockList"><a name="org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingle">
+<!--   -->
+</a>
+<h3>Class <a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html" title="class in org.apache.sysds.runtime.compress.colgroup">org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingle</a> extends <a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a> implements Serializable</h3>
+<dl class="nameValue">
+<dt>serialVersionUID:</dt>
+<dd>-32043916423465004L</dd>
+</dl>
+<ul class="blockList">
+<li class="blockList">
+<h3>Serialized Fields</h3>
+<ul class="blockList">
+<li class="blockListLast">
+<h4>_indexes</h4>
+<pre>int[] _indexes</pre>
+<div class="block">Sparse row indexes for the data</div>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="blockList"><a name="org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingleZeros">
+<!--   -->
+</a>
+<h3>Class <a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingleZeros</a> extends <a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a> implements Serializable</h3>
+<dl class="nameValue">
+<dt>serialVersionUID:</dt>
+<dd>-32043916423425004L</dd>
+</dl>
+<ul class="blockList">
+<li class="blockList">
+<h3>Serialized Fields</h3>
+<ul class="blockList">
+<li class="blockListLast">
+<h4>_indexes</h4>
+<pre>int[] _indexes</pre>
+<div class="block">Sparse row indexes for the data</div>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="blockList"><a name="org.apache.sysds.runtime.compress.colgroup.ColGroupSDCZeros">
+<!--   -->
+</a>
+<h3>Class <a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">org.apache.sysds.runtime.compress.colgroup.ColGroupSDCZeros</a> extends <a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a> implements Serializable</h3>
+<dl class="nameValue">
+<dt>serialVersionUID:</dt>
+<dd>-32143916423465004L</dd>
+</dl>
+<ul class="blockList">
+<li class="blockList">
+<h3>Serialized Fields</h3>
+<ul class="blockList">
+<li class="blockList">
+<h4>_indexes</h4>
+<pre>int[] _indexes</pre>
+<div class="block">Sparse row indexes for the data</div>
+</li>
+<li class="blockListLast">
+<h4>_data</h4>
+<pre><a href="org/apache/sysds/runtime/compress/colgroup/mapping/IMapToData.html" title="interface in org.apache.sysds.runtime.compress.colgroup.mapping">IMapToData</a> _data</pre>
+<div class="block">Pointers to row indexes in the dictionary. Note the dictionary has one extra entry.</div>
+</li>
+</ul>
+</li>
+</ul>
+</li>
 <li class="blockList"><a name="org.apache.sysds.runtime.compress.colgroup.ColGroupUncompressed">
 <!--   -->
 </a>
-<h3>Class <a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html" title="class in org.apache.sysds.runtime.compress.colgroup">org.apache.sysds.runtime.compress.colgroup.ColGroupUncompressed</a> extends <a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a> implements Serializable</h3>
+<h3>Class <a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html" title="class in org.apache.sysds.runtime.compress.colgroup">org.apache.sysds.runtime.compress.colgroup.ColGroupUncompressed</a> extends <a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a> implements Serializable</h3>
 <dl class="nameValue">
 <dt>serialVersionUID:</dt>
 <dd>4870546053280378891L</dd>
@@ -588,7 +688,7 @@
 <li class="blockList"><a name="org.apache.sysds.runtime.compress.colgroup.ColGroupValue">
 <!--   -->
 </a>
-<h3>Class <a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">org.apache.sysds.runtime.compress.colgroup.ColGroupValue</a> extends <a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a> implements Serializable</h3>
+<h3>Class <a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">org.apache.sysds.runtime.compress.colgroup.ColGroupValue</a> extends <a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a> implements Serializable</h3>
 <dl class="nameValue">
 <dt>serialVersionUID:</dt>
 <dd>3786247536054353658L</dd>
@@ -745,10 +845,14 @@
 <h4>_bcHandle</h4>
 <pre><a href="org/apache/sysds/runtime/instructions/spark/data/BroadcastObject.html" title="class in org.apache.sysds.runtime.instructions.spark.data">BroadcastObject</a>&lt;<a href="org/apache/sysds/runtime/instructions/spark/data/BroadcastObject.html" title="type parameter in BroadcastObject">T</a> extends <a href="org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html" title="interface in org.apache.sysds.runtime.controlprogram.caching">CacheBlock</a>&gt; _bcHandle</pre>
 </li>
-<li class="blockListLast">
+<li class="blockList">
 <h4>_gpuObjects</h4>
 <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">K</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">V</a>&gt; _gpuObjects</pre>
 </li>
+<li class="blockListLast">
+<h4>_lineage</h4>
+<pre><a href="org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a> _lineage</pre>
+</li>
 </ul>
 </li>
 </ul>
@@ -863,10 +967,14 @@
 <h4>_data</h4>
 <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">E</a>&gt; _data</pre>
 </li>
-<li class="blockListLast">
+<li class="blockList">
 <h4>_checkPrivacy</h4>
 <pre>boolean _checkPrivacy</pre>
 </li>
+<li class="blockListLast">
+<h4>_checksums</h4>
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">E</a>&gt; _checksums</pre>
+</li>
 </ul>
 </li>
 </ul>
@@ -933,6 +1041,58 @@
 <li class="blockList">
 <h2 title="Package">Package&nbsp;org.apache.sysds.runtime.controlprogram.paramserv</h2>
 <ul class="blockList">
+<li class="blockList"><a name="org.apache.sysds.runtime.controlprogram.paramserv.FederatedPSControlThread">
+<!--   -->
+</a>
+<h3>Class <a href="org/apache/sysds/runtime/controlprogram/paramserv/FederatedPSControlThread.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv">org.apache.sysds.runtime.controlprogram.paramserv.FederatedPSControlThread</a> extends <a href="org/apache/sysds/runtime/controlprogram/paramserv/PSWorker.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv">PSWorker</a> implements Serializable</h3>
+<dl class="nameValue">
+<dt>serialVersionUID:</dt>
+<dd>6846648059569648791L</dd>
+</dl>
+<ul class="blockList">
+<li class="blockList">
+<h3>Serialized Fields</h3>
+<ul class="blockList">
+<li class="blockList">
+<h4>_featuresData</h4>
+<pre><a href="org/apache/sysds/runtime/controlprogram/federated/FederatedData.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedData</a> _featuresData</pre>
+</li>
+<li class="blockList">
+<h4>_labelsData</h4>
+<pre><a href="org/apache/sysds/runtime/controlprogram/federated/FederatedData.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedData</a> _labelsData</pre>
+</li>
+<li class="blockList">
+<h4>_modelVarID</h4>
+<pre>long _modelVarID</pre>
+</li>
+<li class="blockList">
+<h4>_runtimeBalancing</h4>
+<pre><a href="org/apache/sysds/parser/Statement.PSRuntimeBalancing.html" title="enum in org.apache.sysds.parser">Statement.PSRuntimeBalancing</a> _runtimeBalancing</pre>
+</li>
+<li class="blockList">
+<h4>_numBatchesPerEpoch</h4>
+<pre>int _numBatchesPerEpoch</pre>
+</li>
+<li class="blockList">
+<h4>_possibleBatchesPerLocalEpoch</h4>
+<pre>int _possibleBatchesPerLocalEpoch</pre>
+</li>
+<li class="blockList">
+<h4>_weighting</h4>
+<pre>boolean _weighting</pre>
+</li>
+<li class="blockList">
+<h4>_weightingFactor</h4>
+<pre>double _weightingFactor</pre>
+</li>
+<li class="blockListLast">
+<h4>_cycleStartAt0</h4>
+<pre>boolean _cycleStartAt0</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
 <li class="blockList"><a name="org.apache.sysds.runtime.controlprogram.paramserv.LocalPSWorker">
 <!--   -->
 </a>
@@ -955,6 +1115,10 @@
 <h3>Serialized Fields</h3>
 <ul class="blockList">
 <li class="blockList">
+<h4>_tpool</h4>
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ExecutorService</a> _tpool</pre>
+</li>
+<li class="blockList">
 <h4>_workerID</h4>
 <pre>int _workerID</pre>
 </li>
@@ -2689,7 +2853,7 @@
 <h3>Class <a href="org/apache/sysds/runtime/functionobjects/ParameterizedBuiltin.html" title="class in org.apache.sysds.runtime.functionobjects">org.apache.sysds.runtime.functionobjects.ParameterizedBuiltin</a> extends <a href="org/apache/sysds/runtime/functionobjects/ValueFunction.html" title="class in org.apache.sysds.runtime.functionobjects">ValueFunction</a> implements Serializable</h3>
 <dl class="nameValue">
 <dt>serialVersionUID:</dt>
-<dd>-5966242955816522697L</dd>
+<dd>-7987603644903675052L</dd>
 </dl>
 <ul class="blockList">
 <li class="blockList">
@@ -3044,27 +3208,31 @@
 </dl>
 <ul class="blockList">
 <li class="blockList">
-<h3>Serialized Fields</h3>
+<h3>Serialization Methods</h3>
 <ul class="blockList">
 <li class="blockList">
-<h4>_data</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">E</a>&gt; _data</pre>
-</li>
-<li class="blockList">
-<h4>_dataState</h4>
-<pre>boolean[] _dataState</pre>
-</li>
-<li class="blockList">
-<h4>_names</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">E</a>&gt; _names</pre>
-</li>
-<li class="blockList">
-<h4>_nCacheable</h4>
-<pre>int _nCacheable</pre>
+<h4>readExternal</h4>
+<pre>public&nbsp;void&nbsp;readExternal(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectInput.html?is-external=true" title="class or interface in java.io">ObjectInput</a>&nbsp;in)
+                  throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
+                         <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/ClassNotFoundException.html?is-external=true" title="class or interface in java.lang">ClassNotFoundException</a></pre>
+<div class="block">Redirects the default java serialization via externalizable to our default
+ hadoop writable serialization for efficient broadcast/rdd deserialization.</div>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if IOException occurs</dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/ClassNotFoundException.html?is-external=true" title="class or interface in java.lang">ClassNotFoundException</a></code></dd>
+</dl>
 </li>
 <li class="blockListLast">
-<h4>_lineage</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">E</a>&gt; _lineage</pre>
+<h4>writeExternal</h4>
+<pre>public&nbsp;void&nbsp;writeExternal(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectOutput.html?is-external=true" title="class or interface in java.io">ObjectOutput</a>&nbsp;out)
+                   throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block">Redirects the default java serialization via externalizable to our default
+ hadoop writable serialization for efficient broadcast/rdd serialization.</div>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if IOException occurs</dd>
+</dl>
 </li>
 </ul>
 </li>
@@ -3146,7 +3314,7 @@
 </li>
 <li class="blockListLast">
 <h4>_encoder</h4>
-<pre><a href="org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a> _encoder</pre>
+<pre><a href="org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a> _encoder</pre>
 </li>
 </ul>
 </li>
@@ -3180,6 +3348,74 @@
 </li>
 </ul>
 </li>
+<li class="blockList"><a name="org.apache.sysds.runtime.instructions.fed.ReorgFEDInstruction.DiagMatrix">
+<!--   -->
+</a>
+<h3>Class <a href="org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.DiagMatrix.html" title="class in org.apache.sysds.runtime.instructions.fed">org.apache.sysds.runtime.instructions.fed.ReorgFEDInstruction.DiagMatrix</a> extends <a href="org/apache/sysds/runtime/controlprogram/federated/FederatedUDF.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedUDF</a> implements Serializable</h3>
+<dl class="nameValue">
+<dt>serialVersionUID:</dt>
+<dd>-3466926635958851402L</dd>
+</dl>
+<ul class="blockList">
+<li class="blockList">
+<h3>Serialized Fields</h3>
+<ul class="blockList">
+<li class="blockList">
+<h4>_outputID</h4>
+<pre>long _outputID</pre>
+</li>
+<li class="blockList">
+<h4>_r_op</h4>
+<pre><a href="org/apache/sysds/runtime/matrix/operators/ReorgOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ReorgOperator</a> _r_op</pre>
+</li>
+<li class="blockList">
+<h4>_len</h4>
+<pre>int _len</pre>
+</li>
+<li class="blockList">
+<h4>_slice</h4>
+<pre>int[] _slice</pre>
+</li>
+<li class="blockListLast">
+<h4>_rowFed</h4>
+<pre>boolean _rowFed</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="blockList"><a name="org.apache.sysds.runtime.instructions.fed.ReorgFEDInstruction.Rdiag">
+<!--   -->
+</a>
+<h3>Class <a href="org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.Rdiag.html" title="class in org.apache.sysds.runtime.instructions.fed">org.apache.sysds.runtime.instructions.fed.ReorgFEDInstruction.Rdiag</a> extends <a href="org/apache/sysds/runtime/controlprogram/federated/FederatedUDF.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedUDF</a> implements Serializable</h3>
+<dl class="nameValue">
+<dt>serialVersionUID:</dt>
+<dd>-3466926635958851402L</dd>
+</dl>
+<ul class="blockList">
+<li class="blockList">
+<h3>Serialized Fields</h3>
+<ul class="blockList">
+<li class="blockList">
+<h4>_outputID</h4>
+<pre>long _outputID</pre>
+</li>
+<li class="blockList">
+<h4>_r_op</h4>
+<pre><a href="org/apache/sysds/runtime/matrix/operators/ReorgOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ReorgOperator</a> _r_op</pre>
+</li>
+<li class="blockList">
+<h4>_slice</h4>
+<pre>int[] _slice</pre>
+</li>
+<li class="blockListLast">
+<h4>_rowFed</h4>
+<pre>boolean _rowFed</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
 </ul>
 </li>
 <li class="blockList">
@@ -3397,6 +3633,15 @@
 <dd>-5222678882354280164L</dd>
 </dl>
 </li>
+<li class="blockList"><a name="org.apache.sysds.runtime.instructions.spark.DeCompressionSPInstruction.DeCompressionFunction">
+<!--   -->
+</a>
+<h3>Class <a href="org/apache/sysds/runtime/instructions/spark/DeCompressionSPInstruction.DeCompressionFunction.html" title="class in org.apache.sysds.runtime.instructions.spark">org.apache.sysds.runtime.instructions.spark.DeCompressionSPInstruction.DeCompressionFunction</a> extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> implements Serializable</h3>
+<dl class="nameValue">
+<dt>serialVersionUID:</dt>
+<dd>-6528833083609413922L</dd>
+</dl>
+</li>
 <li class="blockList"><a name="org.apache.sysds.runtime.instructions.spark.MultiReturnParameterizedBuiltinSPInstruction.TransformEncodeBuild2Function">
 <!--   -->
 </a>
@@ -3430,8 +3675,8 @@
 <h3>Serialized Fields</h3>
 <ul class="blockList">
 <li class="blockListLast">
-<h4>_raEncoder</h4>
-<pre><a href="org/apache/sysds/runtime/transform/encode/EncoderRecode.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderRecode</a> _raEncoder</pre>
+<h4>_encoder</h4>
+<pre><a href="org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a> _encoder</pre>
 </li>
 </ul>
 </li>
@@ -3469,6 +3714,10 @@
 <li class="blockList">
 <h3>Serialized Fields</h3>
 <ul class="blockList">
+<li class="blockList">
+<h4>_encoder</h4>
+<pre><a href="org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a> _encoder</pre>
+</li>
 <li class="blockListLast">
 <h4>_accMax</h4>
 <pre>org.apache.sysds.runtime.instructions.spark.MultiReturnParameterizedBuiltinSPInstruction.MaxLongAccumulator _accMax</pre>
@@ -3659,7 +3908,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>_maxVal</h4>
-<pre>double _maxVal</pre>
+<pre>long _maxVal</pre>
 </li>
 <li class="blockList">
 <h4>_dirRows</h4>
@@ -3681,6 +3930,26 @@
 </li>
 </ul>
 </li>
+<li class="blockList"><a name="org.apache.sysds.runtime.instructions.spark.ParameterizedBuiltinSPInstruction.RDDTokenizeFunction">
+<!--   -->
+</a>
+<h3>Class <a href="org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDTokenizeFunction.html" title="class in org.apache.sysds.runtime.instructions.spark">org.apache.sysds.runtime.instructions.spark.ParameterizedBuiltinSPInstruction.RDDTokenizeFunction</a> extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> implements Serializable</h3>
+<dl class="nameValue">
+<dt>serialVersionUID:</dt>
+<dd>-8788298032616522019L</dd>
+</dl>
+<ul class="blockList">
+<li class="blockList">
+<h3>Serialized Fields</h3>
+<ul class="blockList">
+<li class="blockListLast">
+<h4>_tokenizer</h4>
+<pre><a href="org/apache/sysds/runtime/transform/tokenize/Tokenizer.html" title="class in org.apache.sysds.runtime.transform.tokenize">Tokenizer</a> _tokenizer</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
 <li class="blockList"><a name="org.apache.sysds.runtime.instructions.spark.ParameterizedBuiltinSPInstruction.RDDTransformApplyFunction">
 <!--   -->
 </a>
@@ -5519,10 +5788,18 @@
 <li class="blockList">
 <h3>Serialized Fields</h3>
 <ul class="blockList">
-<li class="blockListLast">
+<li class="blockList">
 <h4>fn</h4>
 <pre><a href="org/apache/sysds/runtime/functionobjects/ValueFunction.html" title="class in org.apache.sysds.runtime.functionobjects">ValueFunction</a> fn</pre>
 </li>
+<li class="blockList">
+<h4>commutative</h4>
+<pre>boolean commutative</pre>
+</li>
+<li class="blockListLast">
+<h4>_k</h4>
+<pre>int _k</pre>
+</li>
 </ul>
 </li>
 </ul>
@@ -5731,8 +6008,8 @@
 <pre>double _constant</pre>
 </li>
 <li class="blockListLast">
-<h4>k</h4>
-<pre>int k</pre>
+<h4>_k</h4>
+<pre>int _k</pre>
 </li>
 </ul>
 </li>
@@ -5770,10 +6047,14 @@
 <li class="blockList">
 <h3>Serialized Fields</h3>
 <ul class="blockList">
-<li class="blockListLast">
+<li class="blockList">
 <h4>fn</h4>
 <pre><a href="org/apache/sysds/runtime/functionobjects/TernaryValueFunction.html" title="class in org.apache.sysds.runtime.functionobjects">TernaryValueFunction</a> fn</pre>
 </li>
+<li class="blockListLast">
+<h4>_k</h4>
+<pre>int _k</pre>
+</li>
 </ul>
 </li>
 </ul>
@@ -5823,10 +6104,14 @@
 <li class="blockList">
 <h3>Serialized Fields</h3>
 <ul class="blockList">
-<li class="blockListLast">
+<li class="blockList">
 <h4>_blocksize</h4>
 <pre>int _blocksize</pre>
 </li>
+<li class="blockListLast">
+<h4>_noEmptyBlocks</h4>
+<pre>boolean _noEmptyBlocks</pre>
+</li>
 </ul>
 </li>
 </ul>
@@ -5948,30 +6233,10 @@
 <li class="blockList">
 <h3>Serialized Fields</h3>
 <ul class="blockList">
-<li class="blockList">
-<h4>_headerLine</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> _headerLine</pre>
-</li>
-<li class="blockList">
-<h4>_hasHeader</h4>
-<pre>boolean _hasHeader</pre>
-</li>
-<li class="blockList">
-<h4>_delim</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html?is-external=true" title="class or interface in java.util.regex">Pattern</a> _delim</pre>
-</li>
-<li class="blockList">
-<h4>_delimString</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> _delimString</pre>
-</li>
-<li class="blockList">
+<li class="blockListLast">
 <h4>_NAstrings</h4>
 <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[] _NAstrings</pre>
 </li>
-<li class="blockListLast">
-<h4>_numInputCols</h4>
-<pre>int _numInputCols</pre>
-</li>
 </ul>
 </li>
 </ul>
@@ -5991,19 +6256,29 @@
 </dl>
 <ul class="blockList">
 <li class="blockList">
-<h3>Serialized Fields</h3>
+<h3>Serialization Methods</h3>
 <ul class="blockList">
 <li class="blockList">
-<h4>_schema</h4>
-<pre><a href="org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>[] _schema</pre>
-</li>
-<li class="blockList">
-<h4>_colList</h4>
-<pre>int[] _colList</pre>
+<h4>readExternal</h4>
+<pre>public&nbsp;void&nbsp;readExternal(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectInput.html?is-external=true" title="class or interface in java.io">ObjectInput</a>&nbsp;in)
+                  throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block">Redirects the default java serialization via externalizable to our default
+ hadoop writable serialization for efficient broadcast/rdd deserialization.</div>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if IOException occur</dd>
+</dl>
 </li>
 <li class="blockListLast">
-<h4>_colnames</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[] _colnames</pre>
+<h4>writeExternal</h4>
+<pre>public&nbsp;void&nbsp;writeExternal(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectOutput.html?is-external=true" title="class or interface in java.io">ObjectOutput</a>&nbsp;os)
+                   throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block">Redirects the default java serialization via externalizable to our default
+ hadoop writable serialization for efficient broadcast/rdd serialization.</div>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if IOException occurs</dd>
+</dl>
 </li>
 </ul>
 </li>
@@ -6019,11 +6294,25 @@
 </dl>
 <ul class="blockList">
 <li class="blockList">
-<h3>Serialized Fields</h3>
+<h3>Serialization Methods</h3>
 <ul class="blockList">
+<li class="blockList">
+<h4>readExternal</h4>
+<pre>public&nbsp;void&nbsp;readExternal(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectInput.html?is-external=true" title="class or interface in java.io">ObjectInput</a>&nbsp;in)
+                  throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if IOException occur</dd>
+</dl>
+</li>
 <li class="blockListLast">
-<h4>_decoders</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">E</a>&gt; _decoders</pre>
+<h4>writeExternal</h4>
+<pre>public&nbsp;void&nbsp;writeExternal(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectOutput.html?is-external=true" title="class or interface in java.io">ObjectOutput</a>&nbsp;out)
+                   throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if IOException occurs</dd>
+</dl>
 </li>
 </ul>
 </li>
@@ -6039,15 +6328,25 @@
 </dl>
 <ul class="blockList">
 <li class="blockList">
-<h3>Serialized Fields</h3>
+<h3>Serialization Methods</h3>
 <ul class="blockList">
 <li class="blockList">
-<h4>_clPos</h4>
-<pre>int[] _clPos</pre>
+<h4>readExternal</h4>
+<pre>public&nbsp;void&nbsp;readExternal(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectInput.html?is-external=true" title="class or interface in java.io">ObjectInput</a>&nbsp;in)
+                  throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if IOException occur</dd>
+</dl>
 </li>
 <li class="blockListLast">
-<h4>_cuPos</h4>
-<pre>int[] _cuPos</pre>
+<h4>writeExternal</h4>
+<pre>public&nbsp;void&nbsp;writeExternal(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectOutput.html?is-external=true" title="class or interface in java.io">ObjectOutput</a>&nbsp;os)
+                   throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if IOException occurs</dd>
+</dl>
 </li>
 </ul>
 </li>
@@ -6063,15 +6362,25 @@
 </dl>
 <ul class="blockList">
 <li class="blockList">
-<h3>Serialized Fields</h3>
+<h3>Serialization Methods</h3>
 <ul class="blockList">
 <li class="blockList">
-<h4>_dcCols</h4>
-<pre>int[] _dcCols</pre>
+<h4>readExternal</h4>
+<pre>public&nbsp;void&nbsp;readExternal(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectInput.html?is-external=true" title="class or interface in java.io">ObjectInput</a>&nbsp;in)
+                  throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if IOException occur</dd>
+</dl>
 </li>
 <li class="blockListLast">
-<h4>_srcCols</h4>
-<pre>int[] _srcCols</pre>
+<h4>writeExternal</h4>
+<pre>public&nbsp;void&nbsp;writeExternal(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectOutput.html?is-external=true" title="class or interface in java.io">ObjectOutput</a>&nbsp;os)
+                   throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if IOException occurs</dd>
+</dl>
 </li>
 </ul>
 </li>
@@ -6087,15 +6396,25 @@
 </dl>
 <ul class="blockList">
 <li class="blockList">
-<h3>Serialized Fields</h3>
+<h3>Serialization Methods</h3>
 <ul class="blockList">
 <li class="blockList">
-<h4>_rcMaps</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">K</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">V</a>&gt;[] _rcMaps</pre>
+<h4>readExternal</h4>
+<pre>public&nbsp;void&nbsp;readExternal(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectInput.html?is-external=true" title="class or interface in java.io">ObjectInput</a>&nbsp;in)
+                  throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if IOException occur</dd>
+</dl>
 </li>
 <li class="blockListLast">
-<h4>_onOut</h4>
-<pre>boolean _onOut</pre>
+<h4>writeExternal</h4>
+<pre>public&nbsp;void&nbsp;writeExternal(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectOutput.html?is-external=true" title="class or interface in java.io">ObjectOutput</a>&nbsp;out)
+                   throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if IOException occurs</dd>
+</dl>
 </li>
 </ul>
 </li>
@@ -6106,121 +6425,247 @@
 <li class="blockList">
 <h2 title="Package">Package&nbsp;org.apache.sysds.runtime.transform.encode</h2>
 <ul class="blockList">
-<li class="blockList"><a name="org.apache.sysds.runtime.transform.encode.Encoder">
+<li class="blockList"><a name="org.apache.sysds.runtime.transform.encode.ColumnEncoder">
 <!--   -->
 </a>
-<h3>Class <a href="org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">org.apache.sysds.runtime.transform.encode.Encoder</a> extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> implements Serializable</h3>
+<h3>Class <a href="org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">org.apache.sysds.runtime.transform.encode.ColumnEncoder</a> extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> implements Serializable</h3>
 <dl class="nameValue">
 <dt>serialVersionUID:</dt>
 <dd>2299156350718979064L</dd>
 </dl>
 <ul class="blockList">
 <li class="blockList">
-<h3>Serialized Fields</h3>
+<h3>Serialization Methods</h3>
 <ul class="blockList">
 <li class="blockList">
-<h4>_clen</h4>
-<pre>int _clen</pre>
+<h4>readExternal</h4>
+<pre>public&nbsp;void&nbsp;readExternal(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectInput.html?is-external=true" title="class or interface in java.io">ObjectInput</a>&nbsp;in)
+                  throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block">Redirects the default java serialization via externalizable to our default hadoop writable serialization for
+ efficient broadcast/rdd deserialization.</div>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if IOException occur</dd>
+</dl>
 </li>
 <li class="blockListLast">
-<h4>_colList</h4>
-<pre>int[] _colList</pre>
+<h4>writeExternal</h4>
+<pre>public&nbsp;void&nbsp;writeExternal(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectOutput.html?is-external=true" title="class or interface in java.io">ObjectOutput</a>&nbsp;os)
+                   throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block">Redirects the default java serialization via externalizable to our default hadoop writable serialization for
+ efficient broadcast/rdd serialization.</div>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if IOException occurs</dd>
+</dl>
 </li>
 </ul>
 </li>
 </ul>
 </li>
-<li class="blockList"><a name="org.apache.sysds.runtime.transform.encode.EncoderBin">
+<li class="blockList"><a name="org.apache.sysds.runtime.transform.encode.ColumnEncoderBin">
 <!--   -->
 </a>
-<h3>Class <a href="org/apache/sysds/runtime/transform/encode/EncoderBin.html" title="class in org.apache.sysds.runtime.transform.encode">org.apache.sysds.runtime.transform.encode.EncoderBin</a> extends <a href="org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a> implements Serializable</h3>
+<h3>Class <a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderBin.html" title="class in org.apache.sysds.runtime.transform.encode">org.apache.sysds.runtime.transform.encode.ColumnEncoderBin</a> extends <a href="org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a> implements Serializable</h3>
 <dl class="nameValue">
 <dt>serialVersionUID:</dt>
 <dd>1917445005206076078L</dd>
 </dl>
 <ul class="blockList">
 <li class="blockList">
-<h3>Serialized Fields</h3>
+<h3>Serialization Methods</h3>
 <ul class="blockList">
 <li class="blockList">
-<h4>_numBins</h4>
-<pre>int[] _numBins</pre>
-</li>
-<li class="blockList">
-<h4>_binMins</h4>
-<pre>double[][] _binMins</pre>
+<h4>readExternal</h4>
+<pre>public&nbsp;void&nbsp;readExternal(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectInput.html?is-external=true" title="class or interface in java.io">ObjectInput</a>&nbsp;in)
+                  throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if IOException occur</dd>
+</dl>
 </li>
 <li class="blockListLast">
-<h4>_binMaxs</h4>
-<pre>double[][] _binMaxs</pre>
+<h4>writeExternal</h4>
+<pre>public&nbsp;void&nbsp;writeExternal(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectOutput.html?is-external=true" title="class or interface in java.io">ObjectOutput</a>&nbsp;out)
+                   throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if IOException occurs</dd>
+</dl>
 </li>
 </ul>
 </li>
 </ul>
 </li>
-<li class="blockList"><a name="org.apache.sysds.runtime.transform.encode.EncoderComposite">
+<li class="blockList"><a name="org.apache.sysds.runtime.transform.encode.ColumnEncoderComposite">
 <!--   -->
 </a>
-<h3>Class <a href="org/apache/sysds/runtime/transform/encode/EncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">org.apache.sysds.runtime.transform.encode.EncoderComposite</a> extends <a href="org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a> implements Serializable</h3>
+<h3>Class <a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">org.apache.sysds.runtime.transform.encode.ColumnEncoderComposite</a> extends <a href="org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a> implements Serializable</h3>
 <dl class="nameValue">
 <dt>serialVersionUID:</dt>
 <dd>-8473768154646831882L</dd>
 </dl>
 <ul class="blockList">
 <li class="blockList">
-<h3>Serialized Fields</h3>
+<h3>Serialization Methods</h3>
 <ul class="blockList">
 <li class="blockList">
-<h4>_encoders</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">E</a>&gt; _encoders</pre>
+<h4>readExternal</h4>
+<pre>public&nbsp;void&nbsp;readExternal(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectInput.html?is-external=true" title="class or interface in java.io">ObjectInput</a>&nbsp;in)
+                  throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if IOException occur</dd>
+</dl>
 </li>
 <li class="blockListLast">
-<h4>_meta</h4>
-<pre><a href="org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a> _meta</pre>
+<h4>writeExternal</h4>
+<pre>public&nbsp;void&nbsp;writeExternal(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectOutput.html?is-external=true" title="class or interface in java.io">ObjectOutput</a>&nbsp;out)
+                   throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if IOException occurs</dd>
+</dl>
 </li>
 </ul>
 </li>
 </ul>
 </li>
-<li class="blockList"><a name="org.apache.sysds.runtime.transform.encode.EncoderDummycode">
+<li class="blockList"><a name="org.apache.sysds.runtime.transform.encode.ColumnEncoderDummycode">
 <!--   -->
 </a>
-<h3>Class <a href="org/apache/sysds/runtime/transform/encode/EncoderDummycode.html" title="class in org.apache.sysds.runtime.transform.encode">org.apache.sysds.runtime.transform.encode.EncoderDummycode</a> extends <a href="org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a> implements Serializable</h3>
+<h3>Class <a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderDummycode.html" title="class in org.apache.sysds.runtime.transform.encode">org.apache.sysds.runtime.transform.encode.ColumnEncoderDummycode</a> extends <a href="org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a> implements Serializable</h3>
 <dl class="nameValue">
 <dt>serialVersionUID:</dt>
 <dd>5832130477659116489L</dd>
 </dl>
 <ul class="blockList">
 <li class="blockList">
-<h3>Serialized Fields</h3>
+<h3>Serialization Methods</h3>
 <ul class="blockList">
 <li class="blockList">
-<h4>_domainSizes</h4>
-<pre>int[] _domainSizes</pre>
+<h4>readExternal</h4>
+<pre>public&nbsp;void&nbsp;readExternal(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectInput.html?is-external=true" title="class or interface in java.io">ObjectInput</a>&nbsp;in)
+                  throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if IOException occur</dd>
+</dl>
 </li>
 <li class="blockListLast">
-<h4>_dummycodedLength</h4>
-<pre>long _dummycodedLength</pre>
+<h4>writeExternal</h4>
+<pre>public&nbsp;void&nbsp;writeExternal(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectOutput.html?is-external=true" title="class or interface in java.io">ObjectOutput</a>&nbsp;out)
+                   throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if IOException occurs</dd>
+</dl>
 </li>
 </ul>
 </li>
 </ul>
 </li>
-<li class="blockList"><a name="org.apache.sysds.runtime.transform.encode.EncoderFeatureHash">
+<li class="blockList"><a name="org.apache.sysds.runtime.transform.encode.ColumnEncoderFeatureHash">
 <!--   -->
 </a>
-<h3>Class <a href="org/apache/sysds/runtime/transform/encode/EncoderFeatureHash.html" title="class in org.apache.sysds.runtime.transform.encode">org.apache.sysds.runtime.transform.encode.EncoderFeatureHash</a> extends <a href="org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a> implements Serializable</h3>
+<h3>Class <a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderFeatureHash.html" title="class in org.apache.sysds.runtime.transform.encode">org.apache.sysds.runtime.transform.encode.ColumnEncoderFeatureHash</a> extends <a href="org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a> implements Serializable</h3>
 <dl class="nameValue">
 <dt>serialVersionUID:</dt>
 <dd>7435806042138687342L</dd>
 </dl>
 <ul class="blockList">
 <li class="blockList">
-<h3>Serialized Fields</h3>
+<h3>Serialization Methods</h3>
 <ul class="blockList">
+<li class="blockList">
+<h4>readExternal</h4>
+<pre>public&nbsp;void&nbsp;readExternal(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectInput.html?is-external=true" title="class or interface in java.io">ObjectInput</a>&nbsp;in)
+                  throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if IOException occur</dd>
+</dl>
+</li>
 <li class="blockListLast">
-<h4>_K</h4>
-<pre>long _K</pre>
+<h4>writeExternal</h4>
+<pre>public&nbsp;void&nbsp;writeExternal(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectOutput.html?is-external=true" title="class or interface in java.io">ObjectOutput</a>&nbsp;out)
+                   throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if IOException occurs</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="blockList"><a name="org.apache.sysds.runtime.transform.encode.ColumnEncoderPassThrough">
+<!--   -->
+</a>
+<h3>Class <a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderPassThrough.html" title="class in org.apache.sysds.runtime.transform.encode">org.apache.sysds.runtime.transform.encode.ColumnEncoderPassThrough</a> extends <a href="org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a> implements Serializable</h3>
+<dl class="nameValue">
+<dt>serialVersionUID:</dt>
+<dd>-8473768154646831882L</dd>
+</dl>
+<ul class="blockList">
+<li class="blockList">
+<h3>Serialization Methods</h3>
+<ul class="blockList">
+<li class="blockList">
+<h4>readExternal</h4>
+<pre>public&nbsp;void&nbsp;readExternal(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectInput.html?is-external=true" title="class or interface in java.io">ObjectInput</a>&nbsp;in)
+                  throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block">Redirects the default java serialization via externalizable to our default hadoop writable serialization for
+ efficient broadcast/rdd deserialization.</div>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if IOException occur</dd>
+</dl>
+</li>
+<li class="blockListLast">
+<h4>writeExternal</h4>
+<pre>public&nbsp;void&nbsp;writeExternal(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectOutput.html?is-external=true" title="class or interface in java.io">ObjectOutput</a>&nbsp;os)
+                   throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block">Redirects the default java serialization via externalizable to our default hadoop writable serialization for
+ efficient broadcast/rdd serialization.</div>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if IOException occurs</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="blockList"><a name="org.apache.sysds.runtime.transform.encode.ColumnEncoderRecode">
+<!--   -->
+</a>
+<h3>Class <a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderRecode.html" title="class in org.apache.sysds.runtime.transform.encode">org.apache.sysds.runtime.transform.encode.ColumnEncoderRecode</a> extends <a href="org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a> implements Serializable</h3>
+<dl class="nameValue">
+<dt>serialVersionUID:</dt>
+<dd>8213163881283341874L</dd>
+</dl>
+<ul class="blockList">
+<li class="blockList">
+<h3>Serialization Methods</h3>
+<ul class="blockList">
+<li class="blockList">
+<h4>readExternal</h4>
+<pre>public&nbsp;void&nbsp;readExternal(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectInput.html?is-external=true" title="class or interface in java.io">ObjectInput</a>&nbsp;in)
+                  throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if IOException occur</dd>
+</dl>
+</li>
+<li class="blockListLast">
+<h4>writeExternal</h4>
+<pre>public&nbsp;void&nbsp;writeExternal(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectOutput.html?is-external=true" title="class or interface in java.io">ObjectOutput</a>&nbsp;out)
+                   throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if IOException occurs</dd>
+</dl>
 </li>
 </ul>
 </li>
@@ -6229,42 +6674,32 @@
 <li class="blockList"><a name="org.apache.sysds.runtime.transform.encode.EncoderMVImpute">
 <!--   -->
 </a>
-<h3>Class <a href="org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html" title="class in org.apache.sysds.runtime.transform.encode">org.apache.sysds.runtime.transform.encode.EncoderMVImpute</a> extends <a href="org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a> implements Serializable</h3>
+<h3>Class <a href="org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html" title="class in org.apache.sysds.runtime.transform.encode">org.apache.sysds.runtime.transform.encode.EncoderMVImpute</a> extends <a href="org/apache/sysds/runtime/transform/encode/LegacyEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">LegacyEncoder</a> implements Serializable</h3>
 <dl class="nameValue">
 <dt>serialVersionUID:</dt>
 <dd>9057868620144662194L</dd>
 </dl>
 <ul class="blockList">
 <li class="blockList">
-<h3>Serialized Fields</h3>
+<h3>Serialization Methods</h3>
 <ul class="blockList">
 <li class="blockList">
-<h4>_mvMethodList</h4>
-<pre><a href="org/apache/sysds/runtime/transform/encode/EncoderMVImpute.MVMethod.html" title="enum in org.apache.sysds.runtime.transform.encode">EncoderMVImpute.MVMethod</a>[] _mvMethodList</pre>
-</li>
-<li class="blockList">
-<h4>_meanFn</h4>
-<pre><a href="org/apache/sysds/runtime/functionobjects/Mean.html" title="class in org.apache.sysds.runtime.functionobjects">Mean</a> _meanFn</pre>
-</li>
-<li class="blockList">
-<h4>_meanList</h4>
-<pre><a href="org/apache/sysds/runtime/instructions/cp/KahanObject.html" title="class in org.apache.sysds.runtime.instructions.cp">KahanObject</a>[] _meanList</pre>
-</li>
-<li class="blockList">
-<h4>_countList</h4>
-<pre>long[] _countList</pre>
-</li>
-<li class="blockList">
-<h4>_replacementList</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[] _replacementList</pre>
-</li>
-<li class="blockList">
-<h4>_rcList</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">E</a>&gt; _rcList</pre>
+<h4>readExternal</h4>
+<pre>public&nbsp;void&nbsp;readExternal(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectInput.html?is-external=true" title="class or interface in java.io">ObjectInput</a>&nbsp;in)
+                  throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if IOException occur</dd>
+</dl>
 </li>
 <li class="blockListLast">
-<h4>_hist</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">K</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">V</a>&gt; _hist</pre>
+<h4>writeExternal</h4>
+<pre>public&nbsp;void&nbsp;writeExternal(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectOutput.html?is-external=true" title="class or interface in java.io">ObjectOutput</a>&nbsp;out)
+                   throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if IOException occurs</dd>
+</dl>
 </li>
 </ul>
 </li>
@@ -6273,55 +6708,102 @@
 <li class="blockList"><a name="org.apache.sysds.runtime.transform.encode.EncoderOmit">
 <!--   -->
 </a>
-<h3>Class <a href="org/apache/sysds/runtime/transform/encode/EncoderOmit.html" title="class in org.apache.sysds.runtime.transform.encode">org.apache.sysds.runtime.transform.encode.EncoderOmit</a> extends <a href="org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a> implements Serializable</h3>
+<h3>Class <a href="org/apache/sysds/runtime/transform/encode/EncoderOmit.html" title="class in org.apache.sysds.runtime.transform.encode">org.apache.sysds.runtime.transform.encode.EncoderOmit</a> extends <a href="org/apache/sysds/runtime/transform/encode/LegacyEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">LegacyEncoder</a> implements Serializable</h3>
 <dl class="nameValue">
 <dt>serialVersionUID:</dt>
 <dd>1978852120416654195L</dd>
 </dl>
 <ul class="blockList">
 <li class="blockList">
-<h3>Serialized Fields</h3>
+<h3>Serialization Methods</h3>
 <ul class="blockList">
 <li class="blockList">
-<h4>_federated</h4>
-<pre>boolean _federated</pre>
+<h4>readExternal</h4>
+<pre>public&nbsp;void&nbsp;readExternal(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectInput.html?is-external=true" title="class or interface in java.io">ObjectInput</a>&nbsp;in)
+                  throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if IOException occur</dd>
+</dl>
 </li>
 <li class="blockListLast">
-<h4>_rmRows</h4>
-<pre>boolean[] _rmRows</pre>
+<h4>writeExternal</h4>
+<pre>public&nbsp;void&nbsp;writeExternal(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectOutput.html?is-external=true" title="class or interface in java.io">ObjectOutput</a>&nbsp;out)
+                   throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if IOException occurs</dd>
+</dl>
 </li>
 </ul>
 </li>
 </ul>
 </li>
-<li class="blockList"><a name="org.apache.sysds.runtime.transform.encode.EncoderPassThrough">
+<li class="blockList"><a name="org.apache.sysds.runtime.transform.encode.LegacyEncoder">
 <!--   -->
 </a>
-<h3>Class <a href="org/apache/sysds/runtime/transform/encode/EncoderPassThrough.html" title="class in org.apache.sysds.runtime.transform.encode">org.apache.sysds.runtime.transform.encode.EncoderPassThrough</a> extends <a href="org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a> implements Serializable</h3>
+<h3>Class <a href="org/apache/sysds/runtime/transform/encode/LegacyEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">org.apache.sysds.runtime.transform.encode.LegacyEncoder</a> extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> implements Serializable</h3>
 <dl class="nameValue">
 <dt>serialVersionUID:</dt>
-<dd>-8473768154646831882L</dd>
-</dl>
-</li>
-<li class="blockList"><a name="org.apache.sysds.runtime.transform.encode.EncoderRecode">
-<!--   -->
-</a>
-<h3>Class <a href="org/apache/sysds/runtime/transform/encode/EncoderRecode.html" title="class in org.apache.sysds.runtime.transform.encode">org.apache.sysds.runtime.transform.encode.EncoderRecode</a> extends <a href="org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a> implements Serializable</h3>
-<dl class="nameValue">
-<dt>serialVersionUID:</dt>
-<dd>8213163881283341874L</dd>
+<dd>2299156350718979064L</dd>
 </dl>
 <ul class="blockList">
 <li class="blockList">
-<h3>Serialized Fields</h3>
+<h3>Serialization Methods</h3>
 <ul class="blockList">
 <li class="blockList">
-<h4>_rcdMaps</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">K</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">V</a>&gt; _rcdMaps</pre>
+<h4>readExternal</h4>
+<pre>public&nbsp;void&nbsp;readExternal(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectInput.html?is-external=true" title="class or interface in java.io">ObjectInput</a>&nbsp;in)
+                  throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block">Redirects the default java serialization via externalizable to our default hadoop writable serialization for
+ efficient broadcast/rdd deserialization.</div>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if IOException occur</dd>
+</dl>
 </li>
 <li class="blockListLast">
-<h4>_rcdMapsPart</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">K</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">V</a>&gt; _rcdMapsPart</pre>
+<h4>writeExternal</h4>
+<pre>public&nbsp;void&nbsp;writeExternal(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectOutput.html?is-external=true" title="class or interface in java.io">ObjectOutput</a>&nbsp;os)
+                   throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block">Redirects the default java serialization via externalizable to our default hadoop writable serialization for
+ efficient broadcast/rdd serialization.</div>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if IOException occurs</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="blockList"><a name="org.apache.sysds.runtime.transform.encode.MultiColumnEncoder">
+<!--   -->
+</a>
+<h3>Class <a href="org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">org.apache.sysds.runtime.transform.encode.MultiColumnEncoder</a> extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> implements Serializable</h3>
+<ul class="blockList">
+<li class="blockList">
+<h3>Serialization Methods</h3>
+<ul class="blockList">
+<li class="blockList">
+<h4>readExternal</h4>
+<pre>public&nbsp;void&nbsp;readExternal(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectInput.html?is-external=true" title="class or interface in java.io">ObjectInput</a>&nbsp;in)
+                  throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
+                         <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/ClassNotFoundException.html?is-external=true" title="class or interface in java.lang">ClassNotFoundException</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/ClassNotFoundException.html?is-external=true" title="class or interface in java.lang">ClassNotFoundException</a></code></dd>
+</dl>
+</li>
+<li class="blockListLast">
+<h4>writeExternal</h4>
+<pre>public&nbsp;void&nbsp;writeExternal(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectOutput.html?is-external=true" title="class or interface in java.io">ObjectOutput</a>&nbsp;out)
+                   throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
 </li>
 </ul>
 </li>
@@ -6359,6 +6841,179 @@
 </ul>
 </li>
 <li class="blockList">
+<h2 title="Package">Package&nbsp;org.apache.sysds.runtime.transform.tokenize</h2>
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.sysds.runtime.transform.tokenize.Tokenizer">
+<!--   -->
+</a>
+<h3>Class <a href="org/apache/sysds/runtime/transform/tokenize/Tokenizer.html" title="class in org.apache.sysds.runtime.transform.tokenize">org.apache.sysds.runtime.transform.tokenize.Tokenizer</a> extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> implements Serializable</h3>
+<dl class="nameValue">
+<dt>serialVersionUID:</dt>
+<dd>7155673772374114577L</dd>
+</dl>
+<ul class="blockList">
+<li class="blockList">
+<h3>Serialized Fields</h3>
+<ul class="blockList">
+<li class="blockList">
+<h4>tokenizerPre</h4>
+<pre><a href="org/apache/sysds/runtime/transform/tokenize/TokenizerPre.html" title="interface in org.apache.sysds.runtime.transform.tokenize">TokenizerPre</a> tokenizerPre</pre>
+</li>
+<li class="blockListLast">
+<h4>tokenizerPost</h4>
+<pre><a href="org/apache/sysds/runtime/transform/tokenize/TokenizerPost.html" title="interface in org.apache.sysds.runtime.transform.tokenize">TokenizerPost</a> tokenizerPost</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="blockList"><a name="org.apache.sysds.runtime.transform.tokenize.TokenizerPostCount">
+<!--   -->
+</a>
+<h3>Class <a href="org/apache/sysds/runtime/transform/tokenize/TokenizerPostCount.html" title="class in org.apache.sysds.runtime.transform.tokenize">org.apache.sysds.runtime.transform.tokenize.TokenizerPostCount</a> extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> implements Serializable</h3>
+<dl class="nameValue">
+<dt>serialVersionUID:</dt>
+<dd>6382000606237705019L</dd>
+</dl>
+<ul class="blockList">
+<li class="blockList">
+<h3>Serialized Fields</h3>
+<ul class="blockList">
+<li class="blockList">
+<h4>params</h4>
+<pre>org.apache.sysds.runtime.transform.tokenize.TokenizerPostCount.Params params</pre>
+</li>
+<li class="blockList">
+<h4>numIdCols</h4>
+<pre>int numIdCols</pre>
+</li>
+<li class="blockList">
+<h4>maxTokens</h4>
+<pre>int maxTokens</pre>
+</li>
+<li class="blockListLast">
+<h4>wideFormat</h4>
+<pre>boolean wideFormat</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="blockList"><a name="org.apache.sysds.runtime.transform.tokenize.TokenizerPostHash">
+<!--   -->
+</a>
+<h3>Class <a href="org/apache/sysds/runtime/transform/tokenize/TokenizerPostHash.html" title="class in org.apache.sysds.runtime.transform.tokenize">org.apache.sysds.runtime.transform.tokenize.TokenizerPostHash</a> extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> implements Serializable</h3>
+<dl class="nameValue">
+<dt>serialVersionUID:</dt>
+<dd>4763889041868044668L</dd>
+</dl>
+<ul class="blockList">
+<li class="blockList">
+<h3>Serialized Fields</h3>
+<ul class="blockList">
+<li class="blockList">
+<h4>params</h4>
+<pre>org.apache.sysds.runtime.transform.tokenize.TokenizerPostHash.Params params</pre>
+</li>
+<li class="blockList">
+<h4>numIdCols</h4>
+<pre>int numIdCols</pre>
+</li>
+<li class="blockList">
+<h4>maxTokens</h4>
+<pre>int maxTokens</pre>
+</li>
+<li class="blockListLast">
+<h4>wideFormat</h4>
+<pre>boolean wideFormat</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="blockList"><a name="org.apache.sysds.runtime.transform.tokenize.TokenizerPostPosition">
+<!--   -->
+</a>
+<h3>Class <a href="org/apache/sysds/runtime/transform/tokenize/TokenizerPostPosition.html" title="class in org.apache.sysds.runtime.transform.tokenize">org.apache.sysds.runtime.transform.tokenize.TokenizerPostPosition</a> extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> implements Serializable</h3>
+<dl class="nameValue">
+<dt>serialVersionUID:</dt>
+<dd>3563407270742660830L</dd>
+</dl>
+<ul class="blockList">
+<li class="blockList">
+<h3>Serialized Fields</h3>
+<ul class="blockList">
+<li class="blockList">
+<h4>numIdCols</h4>
+<pre>int numIdCols</pre>
+</li>
+<li class="blockList">
+<h4>maxTokens</h4>
+<pre>int maxTokens</pre>
+</li>
+<li class="blockListLast">
+<h4>wideFormat</h4>
+<pre>boolean wideFormat</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="blockList"><a name="org.apache.sysds.runtime.transform.tokenize.TokenizerPreNgram">
+<!--   -->
+</a>
+<h3>Class <a href="org/apache/sysds/runtime/transform/tokenize/TokenizerPreNgram.html" title="class in org.apache.sysds.runtime.transform.tokenize">org.apache.sysds.runtime.transform.tokenize.TokenizerPreNgram</a> extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> implements Serializable</h3>
+<dl class="nameValue">
+<dt>serialVersionUID:</dt>
+<dd>-6297904316677723802L</dd>
+</dl>
+<ul class="blockList">
+<li class="blockList">
+<h3>Serialized Fields</h3>
+<ul class="blockList">
+<li class="blockList">
+<h4>tokenizerPreWhitespaceSplit</h4>
+<pre><a href="org/apache/sysds/runtime/transform/tokenize/TokenizerPreWhitespaceSplit.html" title="class in org.apache.sysds.runtime.transform.tokenize">TokenizerPreWhitespaceSplit</a> tokenizerPreWhitespaceSplit</pre>
+</li>
+<li class="blockListLast">
+<h4>params</h4>
+<pre>org.apache.sysds.runtime.transform.tokenize.TokenizerPreNgram.Params params</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="blockList"><a name="org.apache.sysds.runtime.transform.tokenize.TokenizerPreWhitespaceSplit">
+<!--   -->
+</a>
+<h3>Class <a href="org/apache/sysds/runtime/transform/tokenize/TokenizerPreWhitespaceSplit.html" title="class in org.apache.sysds.runtime.transform.tokenize">org.apache.sysds.runtime.transform.tokenize.TokenizerPreWhitespaceSplit</a> extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> implements Serializable</h3>
+<dl class="nameValue">
+<dt>serialVersionUID:</dt>
+<dd>539127244034913364L</dd>
+</dl>
+<ul class="blockList">
+<li class="blockList">
+<h3>Serialized Fields</h3>
+<ul class="blockList">
+<li class="blockList">
+<h4>params</h4>
+<pre>org.apache.sysds.runtime.transform.tokenize.TokenizerPreWhitespaceSplit.Params params</pre>
+</li>
+<li class="blockList">
+<h4>idCols</h4>
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">E</a>&gt; idCols</pre>
+</li>
+<li class="blockListLast">
+<h4>tokenizeCol</h4>
+<pre>int tokenizeCol</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="blockList">
 <h2 title="Package">Package&nbsp;org.apache.sysds.runtime.util</h2>
 <ul class="blockList">
 <li class="blockList"><a name="org.apache.sysds.runtime.util.FastStringTokenizer">
@@ -6472,6 +7127,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/docs/api/python/api/context/systemds_context.html b/docs/api/python/api/context/systemds_context.html
index 0425381..3b9ddae 100644
--- a/docs/api/python/api/context/systemds_context.html
+++ b/docs/api/python/api/context/systemds_context.html
@@ -92,11 +92,6 @@
 <li class="toctree-l1"><a class="reference internal" href="../../guide/federated.html">Federated Environment</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../guide/algorithms_basics.html">Built-in Algorithms</a></li>
 </ul>
-<p class="caption"><span class="caption-text">Onnx SystemDS</span></p>
-<ul>
-<li class="toctree-l1"><a class="reference internal" href="../../onnx_systemds/onnx_systemds.html">QuickStart Onnx</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../onnx_systemds/onnx_systemds_design.html">Design</a></li>
-</ul>
 <p class="caption"><span class="caption-text">API</span></p>
 <ul class="current">
 <li class="toctree-l1"><a class="reference internal" href="../operator/algorithms.html">Algorithms</a></li>
@@ -104,11 +99,6 @@
 <li class="toctree-l1"><a class="reference internal" href="../matrix/matrix.html">Matrix</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../matrix/federated.html">Federated</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../operator/operation_node.html">Operation Node</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../onnx_systemds/convert.html">Convert</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../onnx_systemds/onnx_helper.html">Onnx Helper</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../onnx_systemds/operator_gen.html">Operator Gen</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../onnx_systemds/render.html">Render</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../onnx_systemds/util.html">Util</a></li>
 </ul>
 <p class="caption"><span class="caption-text">Internals API</span></p>
 <ul>
diff --git a/docs/api/python/api/matrix/federated.html b/docs/api/python/api/matrix/federated.html
index 337b8ec..afc0902 100644
--- a/docs/api/python/api/matrix/federated.html
+++ b/docs/api/python/api/matrix/federated.html
@@ -92,11 +92,6 @@
 <li class="toctree-l1"><a class="reference internal" href="../../guide/federated.html">Federated Environment</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../guide/algorithms_basics.html">Built-in Algorithms</a></li>
 </ul>
-<p class="caption"><span class="caption-text">Onnx SystemDS</span></p>
-<ul>
-<li class="toctree-l1"><a class="reference internal" href="../../onnx_systemds/onnx_systemds.html">QuickStart Onnx</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../onnx_systemds/onnx_systemds_design.html">Design</a></li>
-</ul>
 <p class="caption"><span class="caption-text">API</span></p>
 <ul class="current">
 <li class="toctree-l1"><a class="reference internal" href="../operator/algorithms.html">Algorithms</a></li>
@@ -104,11 +99,6 @@
 <li class="toctree-l1"><a class="reference internal" href="matrix.html">Matrix</a></li>
 <li class="toctree-l1 current"><a class="current reference internal" href="#">Federated</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../operator/operation_node.html">Operation Node</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../onnx_systemds/convert.html">Convert</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../onnx_systemds/onnx_helper.html">Onnx Helper</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../onnx_systemds/operator_gen.html">Operator Gen</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../onnx_systemds/render.html">Render</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../onnx_systemds/util.html">Util</a></li>
 </ul>
 <p class="caption"><span class="caption-text">Internals API</span></p>
 <ul>
diff --git a/docs/api/python/api/matrix/matrix.html b/docs/api/python/api/matrix/matrix.html
index 46e0359..bf5c967 100644
--- a/docs/api/python/api/matrix/matrix.html
+++ b/docs/api/python/api/matrix/matrix.html
@@ -92,11 +92,6 @@
 <li class="toctree-l1"><a class="reference internal" href="../../guide/federated.html">Federated Environment</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../guide/algorithms_basics.html">Built-in Algorithms</a></li>
 </ul>
-<p class="caption"><span class="caption-text">Onnx SystemDS</span></p>
-<ul>
-<li class="toctree-l1"><a class="reference internal" href="../../onnx_systemds/onnx_systemds.html">QuickStart Onnx</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../onnx_systemds/onnx_systemds_design.html">Design</a></li>
-</ul>
 <p class="caption"><span class="caption-text">API</span></p>
 <ul class="current">
 <li class="toctree-l1"><a class="reference internal" href="../operator/algorithms.html">Algorithms</a></li>
@@ -104,11 +99,6 @@
 <li class="toctree-l1 current"><a class="current reference internal" href="#">Matrix</a></li>
 <li class="toctree-l1"><a class="reference internal" href="federated.html">Federated</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../operator/operation_node.html">Operation Node</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../onnx_systemds/convert.html">Convert</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../onnx_systemds/onnx_helper.html">Onnx Helper</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../onnx_systemds/operator_gen.html">Operator Gen</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../onnx_systemds/render.html">Render</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../onnx_systemds/util.html">Util</a></li>
 </ul>
 <p class="caption"><span class="caption-text">Internals API</span></p>
 <ul>
diff --git a/docs/api/python/api/onnx_systemds/convert.html b/docs/api/python/api/onnx_systemds/convert.html
deleted file mode 100644
index 85f203a..0000000
--- a/docs/api/python/api/onnx_systemds/convert.html
+++ /dev/null
@@ -1,259 +0,0 @@
-
-
-<!DOCTYPE html>
-<html class="writer-html5" lang="en" >
-<head>
-  <meta charset="utf-8">
-  
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  
-  <title>Convert &mdash; SystemDS 2.0.0 documentation</title>
-  
-
-  
-  <link rel="stylesheet" href="../../static/css/theme.css" type="text/css" />
-  <link rel="stylesheet" href="../../static/pygments.css" type="text/css" />
-
-  
-  
-  
-  
-
-  
-  <!--[if lt IE 9]>
-    <script src="../../static/js/html5shiv.min.js"></script>
-  <![endif]-->
-  
-    
-      <script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../static/documentation_options.js"></script>
-        <script src="../../static/jquery.js"></script>
-        <script src="../../static/underscore.js"></script>
-        <script src="../../static/doctools.js"></script>
-        <script src="../../static/language_data.js"></script>
-    
-    <script type="text/javascript" src="../../static/js/theme.js"></script>
-
-    
-    <link rel="index" title="Index" href="../../genindex.html" />
-    <link rel="search" title="Search" href="../../search.html" />
-    <link rel="next" title="Onnx Helper" href="onnx_helper.html" />
-    <link rel="prev" title="Operation Node" href="../operator/operation_node.html" /> 
-</head>
-
-<body class="wy-body-for-nav">
-
-   
-  <div class="wy-grid-for-nav">
-    
-    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
-      <div class="wy-side-scroll">
-        <div class="wy-side-nav-search" >
-          
-
-          
-            <a href="../../index.html" class="icon icon-home" alt="Documentation Home"> SystemDS
-          
-
-          
-          </a>
-
-          
-            
-            
-          
-
-          
-<div role="search">
-  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
-    <input type="text" name="q" placeholder="Search docs" />
-    <input type="hidden" name="check_keywords" value="yes" />
-    <input type="hidden" name="area" value="default" />
-  </form>
-</div>
-
-          
-        </div>
-
-        
-        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
-          
-            
-            
-              
-            
-            
-              <p class="caption"><span class="caption-text">Getting Started:</span></p>
-<ul>
-<li class="toctree-l1"><a class="reference internal" href="../../getting_started/install.html">Install SystemDS</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../getting_started/simple_examples.html">QuickStart</a></li>
-</ul>
-<p class="caption"><span class="caption-text">Guides</span></p>
-<ul>
-<li class="toctree-l1"><a class="reference internal" href="../../guide/federated.html">Federated Environment</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../guide/algorithms_basics.html">Built-in Algorithms</a></li>
-</ul>
-<p class="caption"><span class="caption-text">Onnx SystemDS</span></p>
-<ul>
-<li class="toctree-l1"><a class="reference internal" href="../../onnx_systemds/onnx_systemds.html">QuickStart Onnx</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../onnx_systemds/onnx_systemds_design.html">Design</a></li>
-</ul>
-<p class="caption"><span class="caption-text">API</span></p>
-<ul class="current">
-<li class="toctree-l1"><a class="reference internal" href="../operator/algorithms.html">Algorithms</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../context/systemds_context.html">SystemDSContext</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../matrix/matrix.html">Matrix</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../matrix/federated.html">Federated</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../operator/operation_node.html">Operation Node</a></li>
-<li class="toctree-l1 current"><a class="current reference internal" href="#">Convert</a></li>
-<li class="toctree-l1"><a class="reference internal" href="onnx_helper.html">Onnx Helper</a></li>
-<li class="toctree-l1"><a class="reference internal" href="operator_gen.html">Operator Gen</a></li>
-<li class="toctree-l1"><a class="reference internal" href="render.html">Render</a></li>
-<li class="toctree-l1"><a class="reference internal" href="util.html">Util</a></li>
-</ul>
-<p class="caption"><span class="caption-text">Internals API</span></p>
-<ul>
-<li class="toctree-l1"><a class="reference internal" href="../script_building/dag.html">Dag</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../script_building/script.html">Script</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../utils/converters.html">Converters</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../utils/helpers.html">Helpers</a></li>
-</ul>
-
-            
-          
-        </div>
-        
-      </div>
-    </nav>
-
-    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
-
-      
-      <nav class="wy-nav-top" aria-label="top navigation">
-        
-          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
-          <a href="../../index.html">SystemDS</a>
-        
-      </nav>
-
-
-      <div class="wy-nav-content">
-        
-        <div class="rst-content">
-        
-          
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-<div role="navigation" aria-label="breadcrumbs navigation">
-
-  <ul class="wy-breadcrumbs">
-    
-      <li><a href="../../index.html" class="icon icon-home"></a> &raquo;</li>
-        
-      <li>Convert</li>
-    
-    
-      <li class="wy-breadcrumbs-aside">
-        
-            
-            <a href="../../sources/api/onnx_systemds/convert.rst.txt" rel="nofollow"> View page source</a>
-          
-        
-      </li>
-    
-  </ul>
-
-  
-  <hr/>
-</div>
-          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
-           <div itemprop="articleBody">
-            
-  <div class="section" id="module-systemds.onnx_systemds.convert">
-<span id="convert"></span><h1>Convert<a class="headerlink" href="#module-systemds.onnx_systemds.convert" title="Permalink to this headline">¶</a></h1>
-<dl class="py function">
-<dt id="systemds.onnx_systemds.convert.onnx2systemds">
-<code class="sig-prename descclassname">systemds.onnx_systemds.convert.</code><code class="sig-name descname">onnx2systemds</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">input_onnx_file</span><span class="p">:</span> <span class="n">str</span></em>, <em class="sig-param"><span class="n">output_dml_file</span><span class="p">:</span> <span class="n">str</span> <span class="o">=</span> <span class="default_value">None</span></em><span class="sig-paren">)</span> &#x2192; None<a class="headerlink" href="#systemds.onnx_systemds.convert.onnx2systemds" title="Permalink to this definition">¶</a></dt>
-<dd><p>Loads the model from the input file and generates a dml file.</p>
-<dl class="field-list simple">
-<dt class="field-odd">Parameters</dt>
-<dd class="field-odd"><ul class="simple">
-<li><p><strong>input_onnx_file</strong> – the onnx input file</p></li>
-<li><p><strong>output_dml_file</strong> – (optional) the dml output file,
-if this parameter is not given the output file will have the same name as the input file</p></li>
-</ul>
-</dd>
-</dl>
-</dd></dl>
-
-</div>
-
-
-           </div>
-           
-          </div>
-          <footer>
-  
-    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
-      
-        <a href="onnx_helper.html" class="btn btn-neutral float-right" title="Onnx Helper" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
-      
-      
-        <a href="../operator/operation_node.html" class="btn btn-neutral float-left" title="Operation Node" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
-      
-    </div>
-  
-
-  <hr/>
-
-  <div role="contentinfo">
-    <p>
-        
-        &copy; Copyright 2020, Apache SystemDS
-
-    </p>
-  </div>
-    
-    
-    
-    Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a
-    
-    <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a>
-    
-    provided by <a href="https://readthedocs.org">Read the Docs</a>. 
-
-</footer>
-
-        </div>
-      </div>
-
-    </section>
-
-  </div>
-  
-
-  <script type="text/javascript">
-      jQuery(function () {
-          SphinxRtdTheme.Navigation.enable(true);
-      });
-  </script>
-
-  
-  
-    
-   
-
-</body>
-</html>
\ No newline at end of file
diff --git a/docs/api/python/api/onnx_systemds/onnx_helper.html b/docs/api/python/api/onnx_systemds/onnx_helper.html
deleted file mode 100644
index 6749466..0000000
--- a/docs/api/python/api/onnx_systemds/onnx_helper.html
+++ /dev/null
@@ -1,324 +0,0 @@
-
-
-<!DOCTYPE html>
-<html class="writer-html5" lang="en" >
-<head>
-  <meta charset="utf-8">
-  
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  
-  <title>Onnx Helper &mdash; SystemDS 2.0.0 documentation</title>
-  
-
-  
-  <link rel="stylesheet" href="../../static/css/theme.css" type="text/css" />
-  <link rel="stylesheet" href="../../static/pygments.css" type="text/css" />
-
-  
-  
-  
-  
-
-  
-  <!--[if lt IE 9]>
-    <script src="../../static/js/html5shiv.min.js"></script>
-  <![endif]-->
-  
-    
-      <script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../static/documentation_options.js"></script>
-        <script src="../../static/jquery.js"></script>
-        <script src="../../static/underscore.js"></script>
-        <script src="../../static/doctools.js"></script>
-        <script src="../../static/language_data.js"></script>
-    
-    <script type="text/javascript" src="../../static/js/theme.js"></script>
-
-    
-    <link rel="index" title="Index" href="../../genindex.html" />
-    <link rel="search" title="Search" href="../../search.html" />
-    <link rel="next" title="Operator Gen" href="operator_gen.html" />
-    <link rel="prev" title="Convert" href="convert.html" /> 
-</head>
-
-<body class="wy-body-for-nav">
-
-   
-  <div class="wy-grid-for-nav">
-    
-    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
-      <div class="wy-side-scroll">
-        <div class="wy-side-nav-search" >
-          
-
-          
-            <a href="../../index.html" class="icon icon-home" alt="Documentation Home"> SystemDS
-          
-
-          
-          </a>
-
-          
-            
-            
-          
-
-          
-<div role="search">
-  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
-    <input type="text" name="q" placeholder="Search docs" />
-    <input type="hidden" name="check_keywords" value="yes" />
-    <input type="hidden" name="area" value="default" />
-  </form>
-</div>
-
-          
-        </div>
-
-        
-        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
-          
-            
-            
-              
-            
-            
-              <p class="caption"><span class="caption-text">Getting Started:</span></p>
-<ul>
-<li class="toctree-l1"><a class="reference internal" href="../../getting_started/install.html">Install SystemDS</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../getting_started/simple_examples.html">QuickStart</a></li>
-</ul>
-<p class="caption"><span class="caption-text">Guides</span></p>
-<ul>
-<li class="toctree-l1"><a class="reference internal" href="../../guide/federated.html">Federated Environment</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../guide/algorithms_basics.html">Built-in Algorithms</a></li>
-</ul>
-<p class="caption"><span class="caption-text">Onnx SystemDS</span></p>
-<ul>
-<li class="toctree-l1"><a class="reference internal" href="../../onnx_systemds/onnx_systemds.html">QuickStart Onnx</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../onnx_systemds/onnx_systemds_design.html">Design</a></li>
-</ul>
-<p class="caption"><span class="caption-text">API</span></p>
-<ul class="current">
-<li class="toctree-l1"><a class="reference internal" href="../operator/algorithms.html">Algorithms</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../context/systemds_context.html">SystemDSContext</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../matrix/matrix.html">Matrix</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../matrix/federated.html">Federated</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../operator/operation_node.html">Operation Node</a></li>
-<li class="toctree-l1"><a class="reference internal" href="convert.html">Convert</a></li>
-<li class="toctree-l1 current"><a class="current reference internal" href="#">Onnx Helper</a></li>
-<li class="toctree-l1"><a class="reference internal" href="operator_gen.html">Operator Gen</a></li>
-<li class="toctree-l1"><a class="reference internal" href="render.html">Render</a></li>
-<li class="toctree-l1"><a class="reference internal" href="util.html">Util</a></li>
-</ul>
-<p class="caption"><span class="caption-text">Internals API</span></p>
-<ul>
-<li class="toctree-l1"><a class="reference internal" href="../script_building/dag.html">Dag</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../script_building/script.html">Script</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../utils/converters.html">Converters</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../utils/helpers.html">Helpers</a></li>
-</ul>
-
-            
-          
-        </div>
-        
-      </div>
-    </nav>
-
-    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
-
-      
-      <nav class="wy-nav-top" aria-label="top navigation">
-        
-          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
-          <a href="../../index.html">SystemDS</a>
-        
-      </nav>
-
-
-      <div class="wy-nav-content">
-        
-        <div class="rst-content">
-        
-          
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-<div role="navigation" aria-label="breadcrumbs navigation">
-
-  <ul class="wy-breadcrumbs">
-    
-      <li><a href="../../index.html" class="icon icon-home"></a> &raquo;</li>
-        
-      <li>Onnx Helper</li>
-    
-    
-      <li class="wy-breadcrumbs-aside">
-        
-            
-            <a href="../../sources/api/onnx_systemds/onnx_helper.rst.txt" rel="nofollow"> View page source</a>
-          
-        
-      </li>
-    
-  </ul>
-
-  
-  <hr/>
-</div>
-          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
-           <div itemprop="articleBody">
-            
-  <div class="section" id="module-systemds.onnx_systemds.onnx_helper">
-<span id="onnx-helper"></span><h1>Onnx Helper<a class="headerlink" href="#module-systemds.onnx_systemds.onnx_helper" title="Permalink to this headline">¶</a></h1>
-<dl class="py class">
-<dt id="systemds.onnx_systemds.onnx_helper.NodeTree">
-<em class="property">class </em><code class="sig-prename descclassname">systemds.onnx_systemds.onnx_helper.</code><code class="sig-name descname">NodeTree</code><span class="sig-paren">(</span><em class="sig-param">nodes: [&lt;class 'onnx.onnx_ONNX_REL_1_7_ml_pb2.NodeProto'&gt;]</em><span class="sig-paren">)</span><a class="headerlink" href="#systemds.onnx_systemds.onnx_helper.NodeTree" title="Permalink to this definition">¶</a></dt>
-<dd><p>A simple class for representing a tree structure of nodes</p>
-<dl class="py method">
-<dt id="systemds.onnx_systemds.onnx_helper.NodeTree.remove_end_node">
-<code class="sig-name descname">remove_end_node</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">node</span><span class="p">:</span> <span class="n">systemds.onnx_systemds.onnx_helper.TreeNode</span></em><span class="sig-paren">)</span><a class="headerlink" href="#systemds.onnx_systemds.onnx_helper.NodeTree.remove_end_node" title="Permalink to this definition">¶</a></dt>
-<dd><p>Removes the given end-node from the tree.
-Removing a non-existing or non end-node raises an exception.
-:param node: The node that shall be removed</p>
-</dd></dl>
-
-</dd></dl>
-
-<dl class="py class">
-<dt id="systemds.onnx_systemds.onnx_helper.PreparedValue">
-<em class="property">class </em><code class="sig-prename descclassname">systemds.onnx_systemds.onnx_helper.</code><code class="sig-name descname">PreparedValue</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">value_info</span><span class="p">:</span> <span class="n">onnx.onnx_ONNX_REL_1_7_ml_pb2.ValueInfoProto</span></em>, <em class="sig-param"><span class="n">initializer</span><span class="p">:</span> <span class="n">onnx.onnx_ONNX_REL_1_7_ml_pb2.TensorProto</span> <span class="o">=</span> <span class="default_value">None</span></em><span class="sig-paren">)</span><a class="headerlink" href="#systemds.onnx_systemds.onnx_helper.PreparedValue" title="Permalink to this definition">¶</a></dt>
-<dd><p>Class for preparing onnx value structures for writing them to the dml script</p>
-</dd></dl>
-
-<dl class="py function">
-<dt id="systemds.onnx_systemds.onnx_helper.get_graph_inputs_with_initializers">
-<code class="sig-prename descclassname">systemds.onnx_systemds.onnx_helper.</code><code class="sig-name descname">get_graph_inputs_with_initializers</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">graph</span><span class="p">:</span> <span class="n">onnx.onnx_ONNX_REL_1_7_ml_pb2.GraphProto</span></em><span class="sig-paren">)</span> &#x2192; [(&lt;class ‘onnx.onnx_ONNX_REL_1_7_ml_pb2.ValueInfoProto’&gt;, &lt;class ‘onnx.onnx_ONNX_REL_1_7_ml_pb2.TensorProto’&gt;)]<a class="headerlink" href="#systemds.onnx_systemds.onnx_helper.get_graph_inputs_with_initializers" title="Permalink to this definition">¶</a></dt>
-<dd><p>Returns all initialized inputs of the <cite>graph</cite> with their corresponding initializer.</p>
-<dl class="field-list simple">
-<dt class="field-odd">Parameters</dt>
-<dd class="field-odd"><p><strong>graph</strong> – the onnx-graph</p>
-</dd>
-<dt class="field-even">Returns</dt>
-<dd class="field-even"><p>list of tuples of (input, initializer)</p>
-</dd>
-</dl>
-</dd></dl>
-
-<dl class="py function">
-<dt id="systemds.onnx_systemds.onnx_helper.get_graph_inputs_without_initializers">
-<code class="sig-prename descclassname">systemds.onnx_systemds.onnx_helper.</code><code class="sig-name descname">get_graph_inputs_without_initializers</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">graph</span><span class="p">:</span> <span class="n">onnx.onnx_ONNX_REL_1_7_ml_pb2.GraphProto</span></em><span class="sig-paren">)</span> &#x2192; [&lt;class ‘onnx.onnx_ONNX_REL_1_7_ml_pb2.ValueInfoProto’&gt;]<a class="headerlink" href="#systemds.onnx_systemds.onnx_helper.get_graph_inputs_without_initializers" title="Permalink to this definition">¶</a></dt>
-<dd><p>Returns all inputs of the <cite>graph</cite> that have no associated initializer values.</p>
-<dl class="field-list simple">
-<dt class="field-odd">Parameters</dt>
-<dd class="field-odd"><p><strong>graph</strong> – the onnx-graph</p>
-</dd>
-<dt class="field-even">Returns</dt>
-<dd class="field-even"><p>list of uninitialized inputs</p>
-</dd>
-</dl>
-</dd></dl>
-
-<dl class="py function">
-<dt id="systemds.onnx_systemds.onnx_helper.get_value_info">
-<code class="sig-prename descclassname">systemds.onnx_systemds.onnx_helper.</code><code class="sig-name descname">get_value_info</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">graph</span><span class="p">:</span> <span class="n">onnx.onnx_ONNX_REL_1_7_ml_pb2.GraphProto</span></em>, <em class="sig-param"><span class="n">name</span><span class="p">:</span> <span class="n">str</span></em><span class="sig-paren">)</span> &#x2192; onnx.onnx_ONNX_REL_1_7_ml_pb2.ValueInfoProto<a class="headerlink" href="#systemds.onnx_systemds.onnx_helper.get_value_info" title="Permalink to this definition">¶</a></dt>
-<dd><p>Searches the <cite>graph</cite> for the given <cite>name</cite> and returns the associated ValueInfo,
-if the name is not found None is returned.</p>
-<dl class="field-list simple">
-<dt class="field-odd">Parameters</dt>
-<dd class="field-odd"><ul class="simple">
-<li><p><strong>graph</strong> – the onnx-graph that shall be searched</p></li>
-<li><p><strong>name</strong> – the name of the value</p></li>
-</ul>
-</dd>
-<dt class="field-even">Returns</dt>
-<dd class="field-even"><p>the value-info or None if it is not found</p>
-</dd>
-</dl>
-</dd></dl>
-
-<dl class="py function">
-<dt id="systemds.onnx_systemds.onnx_helper.load_model">
-<code class="sig-prename descclassname">systemds.onnx_systemds.onnx_helper.</code><code class="sig-name descname">load_model</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">onnx_file</span><span class="p">:</span> <span class="n">str</span></em><span class="sig-paren">)</span> &#x2192; onnx.onnx_ONNX_REL_1_7_ml_pb2.ModelProto<a class="headerlink" href="#systemds.onnx_systemds.onnx_helper.load_model" title="Permalink to this definition">¶</a></dt>
-<dd><p>Loads the onnx file, checks the model and converts it to a common version if necessary.</p>
-<dl class="field-list simple">
-<dt class="field-odd">Parameters</dt>
-<dd class="field-odd"><p><strong>onnx_file</strong> – </p>
-</dd>
-<dt class="field-even">Returns</dt>
-<dd class="field-even"><p>the loaded onnx-model</p>
-</dd>
-</dl>
-</dd></dl>
-
-</div>
-
-
-           </div>
-           
-          </div>
-          <footer>
-  
-    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
-      
-        <a href="operator_gen.html" class="btn btn-neutral float-right" title="Operator Gen" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
-      
-      
-        <a href="convert.html" class="btn btn-neutral float-left" title="Convert" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
-      
-    </div>
-  
-
-  <hr/>
-
-  <div role="contentinfo">
-    <p>
-        
-        &copy; Copyright 2020, Apache SystemDS
-
-    </p>
-  </div>
-    
-    
-    
-    Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a
-    
-    <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a>
-    
-    provided by <a href="https://readthedocs.org">Read the Docs</a>. 
-
-</footer>
-
-        </div>
-      </div>
-
-    </section>
-
-  </div>
-  
-
-  <script type="text/javascript">
-      jQuery(function () {
-          SphinxRtdTheme.Navigation.enable(true);
-      });
-  </script>
-
-  
-  
-    
-   
-
-</body>
-</html>
\ No newline at end of file
diff --git a/docs/api/python/api/onnx_systemds/operator_gen.html b/docs/api/python/api/onnx_systemds/operator_gen.html
deleted file mode 100644
index 2add95f..0000000
--- a/docs/api/python/api/onnx_systemds/operator_gen.html
+++ /dev/null
@@ -1,283 +0,0 @@
-
-
-<!DOCTYPE html>
-<html class="writer-html5" lang="en" >
-<head>
-  <meta charset="utf-8">
-  
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  
-  <title>Operator Gen &mdash; SystemDS 2.0.0 documentation</title>
-  
-
-  
-  <link rel="stylesheet" href="../../static/css/theme.css" type="text/css" />
-  <link rel="stylesheet" href="../../static/pygments.css" type="text/css" />
-
-  
-  
-  
-  
-
-  
-  <!--[if lt IE 9]>
-    <script src="../../static/js/html5shiv.min.js"></script>
-  <![endif]-->
-  
-    
-      <script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../static/documentation_options.js"></script>
-        <script src="../../static/jquery.js"></script>
-        <script src="../../static/underscore.js"></script>
-        <script src="../../static/doctools.js"></script>
-        <script src="../../static/language_data.js"></script>
-    
-    <script type="text/javascript" src="../../static/js/theme.js"></script>
-
-    
-    <link rel="index" title="Index" href="../../genindex.html" />
-    <link rel="search" title="Search" href="../../search.html" />
-    <link rel="next" title="Render" href="render.html" />
-    <link rel="prev" title="Onnx Helper" href="onnx_helper.html" /> 
-</head>
-
-<body class="wy-body-for-nav">
-
-   
-  <div class="wy-grid-for-nav">
-    
-    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
-      <div class="wy-side-scroll">
-        <div class="wy-side-nav-search" >
-          
-
-          
-            <a href="../../index.html" class="icon icon-home" alt="Documentation Home"> SystemDS
-          
-
-          
-          </a>
-
-          
-            
-            
-          
-
-          
-<div role="search">
-  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
-    <input type="text" name="q" placeholder="Search docs" />
-    <input type="hidden" name="check_keywords" value="yes" />
-    <input type="hidden" name="area" value="default" />
-  </form>
-</div>
-
-          
-        </div>
-
-        
-        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
-          
-            
-            
-              
-            
-            
-              <p class="caption"><span class="caption-text">Getting Started:</span></p>
-<ul>
-<li class="toctree-l1"><a class="reference internal" href="../../getting_started/install.html">Install SystemDS</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../getting_started/simple_examples.html">QuickStart</a></li>
-</ul>
-<p class="caption"><span class="caption-text">Guides</span></p>
-<ul>
-<li class="toctree-l1"><a class="reference internal" href="../../guide/federated.html">Federated Environment</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../guide/algorithms_basics.html">Built-in Algorithms</a></li>
-</ul>
-<p class="caption"><span class="caption-text">Onnx SystemDS</span></p>
-<ul>
-<li class="toctree-l1"><a class="reference internal" href="../../onnx_systemds/onnx_systemds.html">QuickStart Onnx</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../onnx_systemds/onnx_systemds_design.html">Design</a></li>
-</ul>
-<p class="caption"><span class="caption-text">API</span></p>
-<ul class="current">
-<li class="toctree-l1"><a class="reference internal" href="../operator/algorithms.html">Algorithms</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../context/systemds_context.html">SystemDSContext</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../matrix/matrix.html">Matrix</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../matrix/federated.html">Federated</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../operator/operation_node.html">Operation Node</a></li>
-<li class="toctree-l1"><a class="reference internal" href="convert.html">Convert</a></li>
-<li class="toctree-l1"><a class="reference internal" href="onnx_helper.html">Onnx Helper</a></li>
-<li class="toctree-l1 current"><a class="current reference internal" href="#">Operator Gen</a></li>
-<li class="toctree-l1"><a class="reference internal" href="render.html">Render</a></li>
-<li class="toctree-l1"><a class="reference internal" href="util.html">Util</a></li>
-</ul>
-<p class="caption"><span class="caption-text">Internals API</span></p>
-<ul>
-<li class="toctree-l1"><a class="reference internal" href="../script_building/dag.html">Dag</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../script_building/script.html">Script</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../utils/converters.html">Converters</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../utils/helpers.html">Helpers</a></li>
-</ul>
-
-            
-          
-        </div>
-        
-      </div>
-    </nav>
-
-    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
-
-      
-      <nav class="wy-nav-top" aria-label="top navigation">
-        
-          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
-          <a href="../../index.html">SystemDS</a>
-        
-      </nav>
-
-
-      <div class="wy-nav-content">
-        
-        <div class="rst-content">
-        
-          
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-<div role="navigation" aria-label="breadcrumbs navigation">
-
-  <ul class="wy-breadcrumbs">
-    
-      <li><a href="../../index.html" class="icon icon-home"></a> &raquo;</li>
-        
-      <li>Operator Gen</li>
-    
-    
-      <li class="wy-breadcrumbs-aside">
-        
-            
-            <a href="../../sources/api/onnx_systemds/operator_gen.rst.txt" rel="nofollow"> View page source</a>
-          
-        
-      </li>
-    
-  </ul>
-
-  
-  <hr/>
-</div>
-          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
-           <div itemprop="articleBody">
-            
-  <div class="section" id="module-systemds.onnx_systemds.operator_gen">
-<span id="operator-gen"></span><h1>Operator Gen<a class="headerlink" href="#module-systemds.onnx_systemds.operator_gen" title="Permalink to this headline">¶</a></h1>
-<dl class="py function">
-<dt id="systemds.onnx_systemds.operator_gen.gen_1input_1output_mat_operator">
-<code class="sig-prename descclassname">systemds.onnx_systemds.operator_gen.</code><code class="sig-name descname">gen_1input_1output_mat_operator</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">env</span><span class="p">:</span> <span class="n">jinja2.environment.Environment</span></em>, <em class="sig-param"><span class="n">graph</span><span class="p">:</span> <span class="n">onnx.onnx_ONNX_REL_1_7_ml_pb2.GraphProto</span></em>, <em class="sig-param"><span class="n">node</span><span class="p">:</span> <span class="n">onnx.onnx_ONNX_REL_1_7_ml_pb2.NodeProto</span></em><span class="sig-paren">)</span> &#x2192; systemds.onnx_systemds.operator_gen.GeneratedScriptPart<a class="headerlink" href="#systemds.onnx_systemds.operator_gen.gen_1input_1output_mat_operator" title="Permalink to this definition">¶</a></dt>
-<dd><p>Generates simple operators like ‘y = -x’ which have one input and one output.
-:param env:  Jinja environment to load the template files
-:param graph: the onnx-graph for which the script shall be generated
-:param node: the onnx-node for which the script shall be generated
-:return: The generated script part</p>
-</dd></dl>
-
-<dl class="py function">
-<dt id="systemds.onnx_systemds.operator_gen.gen_2input_1output_operator">
-<code class="sig-prename descclassname">systemds.onnx_systemds.operator_gen.</code><code class="sig-name descname">gen_2input_1output_operator</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">env</span><span class="p">:</span> <span class="n">jinja2.environment.Environment</span></em>, <em class="sig-param"><span class="n">graph</span><span class="p">:</span> <span class="n">onnx.onnx_ONNX_REL_1_7_ml_pb2.GraphProto</span></em>, <em class="sig-param"><span class="n">node</span><span class="p">:</span> <span class="n">onnx.onnx_ONNX_REL_1_7_ml_pb2.NodeProto</span></em><span class="sig-paren">)</span> &#x2192; systemds.onnx_systemds.operator_gen.GeneratedScriptPart<a class="headerlink" href="#systemds.onnx_systemds.operator_gen.gen_2input_1output_operator" title="Permalink to this definition">¶</a></dt>
-<dd><p>Generates simple operator calls like ‘z = x + y’ which have two inputs (left and right) and one output.
-:param env: Jinja environment to load the template files
-:param graph: the onnx-graph for which the script shall be generated
-:param node: the onnx-node for which the script shall be generated
-:return: The generated script part</p>
-</dd></dl>
-
-<dl class="py function">
-<dt id="systemds.onnx_systemds.operator_gen.gen_simple_function_call">
-<code class="sig-prename descclassname">systemds.onnx_systemds.operator_gen.</code><code class="sig-name descname">gen_simple_function_call</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">env</span><span class="p">:</span> <span class="n">jinja2.environment.Environment</span></em>, <em class="sig-param"><span class="n">graph</span><span class="p">:</span> <span class="n">onnx.onnx_ONNX_REL_1_7_ml_pb2.GraphProto</span></em>, <em class="sig-param"><span class="n">node</span><span class="p">:</span> <span class="n">onnx.onnx_ONNX_REL_1_7_ml_pb2.NodeProto</span></em><span class="sig-paren">)</span> &#x2192; systemds.onnx_systemds.operator_gen.GeneratedScriptPart<a class="headerlink" href="#systemds.onnx_systemds.operator_gen.gen_simple_function_call" title="Permalink to this definition">¶</a></dt>
-<dd><p>Generates a simple function call by directly providing the node inputs as arguments
-and node outputs as outputs to a function call. Additionally adds the required imports.</p>
-<dl class="field-list simple">
-<dt class="field-odd">Parameters</dt>
-<dd class="field-odd"><ul class="simple">
-<li><p><strong>env</strong> – Jinja environment to load the template files</p></li>
-<li><p><strong>graph</strong> – the onnx-graph for which the script shall be generated</p></li>
-<li><p><strong>node</strong> – the onnx-node for which the script shall be generated</p></li>
-</ul>
-</dd>
-<dt class="field-even">Returns</dt>
-<dd class="field-even"><p>The generated script part</p>
-</dd>
-</dl>
-</dd></dl>
-
-</div>
-
-
-           </div>
-           
-          </div>
-          <footer>
-  
-    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
-      
-        <a href="render.html" class="btn btn-neutral float-right" title="Render" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
-      
-      
-        <a href="onnx_helper.html" class="btn btn-neutral float-left" title="Onnx Helper" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
-      
-    </div>
-  
-
-  <hr/>
-
-  <div role="contentinfo">
-    <p>
-        
-        &copy; Copyright 2020, Apache SystemDS
-
-    </p>
-  </div>
-    
-    
-    
-    Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a
-    
-    <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a>
-    
-    provided by <a href="https://readthedocs.org">Read the Docs</a>. 
-
-</footer>
-
-        </div>
-      </div>
-
-    </section>
-
-  </div>
-  
-
-  <script type="text/javascript">
-      jQuery(function () {
-          SphinxRtdTheme.Navigation.enable(true);
-      });
-  </script>
-
-  
-  
-    
-   
-
-</body>
-</html>
\ No newline at end of file
diff --git a/docs/api/python/api/onnx_systemds/render.html b/docs/api/python/api/onnx_systemds/render.html
deleted file mode 100644
index a240426..0000000
--- a/docs/api/python/api/onnx_systemds/render.html
+++ /dev/null
@@ -1,335 +0,0 @@
-
-
-<!DOCTYPE html>
-<html class="writer-html5" lang="en" >
-<head>
-  <meta charset="utf-8">
-  
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  
-  <title>Render &mdash; SystemDS 2.0.0 documentation</title>
-  
-
-  
-  <link rel="stylesheet" href="../../static/css/theme.css" type="text/css" />
-  <link rel="stylesheet" href="../../static/pygments.css" type="text/css" />
-
-  
-  
-  
-  
-
-  
-  <!--[if lt IE 9]>
-    <script src="../../static/js/html5shiv.min.js"></script>
-  <![endif]-->
-  
-    
-      <script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../static/documentation_options.js"></script>
-        <script src="../../static/jquery.js"></script>
-        <script src="../../static/underscore.js"></script>
-        <script src="../../static/doctools.js"></script>
-        <script src="../../static/language_data.js"></script>
-    
-    <script type="text/javascript" src="../../static/js/theme.js"></script>
-
-    
-    <link rel="index" title="Index" href="../../genindex.html" />
-    <link rel="search" title="Search" href="../../search.html" />
-    <link rel="next" title="Util" href="util.html" />
-    <link rel="prev" title="Operator Gen" href="operator_gen.html" /> 
-</head>
-
-<body class="wy-body-for-nav">
-
-   
-  <div class="wy-grid-for-nav">
-    
-    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
-      <div class="wy-side-scroll">
-        <div class="wy-side-nav-search" >
-          
-
-          
-            <a href="../../index.html" class="icon icon-home" alt="Documentation Home"> SystemDS
-          
-
-          
-          </a>
-
-          
-            
-            
-          
-
-          
-<div role="search">
-  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
-    <input type="text" name="q" placeholder="Search docs" />
-    <input type="hidden" name="check_keywords" value="yes" />
-    <input type="hidden" name="area" value="default" />
-  </form>
-</div>
-
-          
-        </div>
-
-        
-        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
-          
-            
-            
-              
-            
-            
-              <p class="caption"><span class="caption-text">Getting Started:</span></p>
-<ul>
-<li class="toctree-l1"><a class="reference internal" href="../../getting_started/install.html">Install SystemDS</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../getting_started/simple_examples.html">QuickStart</a></li>
-</ul>
-<p class="caption"><span class="caption-text">Guides</span></p>
-<ul>
-<li class="toctree-l1"><a class="reference internal" href="../../guide/federated.html">Federated Environment</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../guide/algorithms_basics.html">Built-in Algorithms</a></li>
-</ul>
-<p class="caption"><span class="caption-text">Onnx SystemDS</span></p>
-<ul>
-<li class="toctree-l1"><a class="reference internal" href="../../onnx_systemds/onnx_systemds.html">QuickStart Onnx</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../onnx_systemds/onnx_systemds_design.html">Design</a></li>
-</ul>
-<p class="caption"><span class="caption-text">API</span></p>
-<ul class="current">
-<li class="toctree-l1"><a class="reference internal" href="../operator/algorithms.html">Algorithms</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../context/systemds_context.html">SystemDSContext</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../matrix/matrix.html">Matrix</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../matrix/federated.html">Federated</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../operator/operation_node.html">Operation Node</a></li>
-<li class="toctree-l1"><a class="reference internal" href="convert.html">Convert</a></li>
-<li class="toctree-l1"><a class="reference internal" href="onnx_helper.html">Onnx Helper</a></li>
-<li class="toctree-l1"><a class="reference internal" href="operator_gen.html">Operator Gen</a></li>
-<li class="toctree-l1 current"><a class="current reference internal" href="#">Render</a></li>
-<li class="toctree-l1"><a class="reference internal" href="util.html">Util</a></li>
-</ul>
-<p class="caption"><span class="caption-text">Internals API</span></p>
-<ul>
-<li class="toctree-l1"><a class="reference internal" href="../script_building/dag.html">Dag</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../script_building/script.html">Script</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../utils/converters.html">Converters</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../utils/helpers.html">Helpers</a></li>
-</ul>
-
-            
-          
-        </div>
-        
-      </div>
-    </nav>
-
-    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
-
-      
-      <nav class="wy-nav-top" aria-label="top navigation">
-        
-          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
-          <a href="../../index.html">SystemDS</a>
-        
-      </nav>
-
-
-      <div class="wy-nav-content">
-        
-        <div class="rst-content">
-        
-          
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-<div role="navigation" aria-label="breadcrumbs navigation">
-
-  <ul class="wy-breadcrumbs">
-    
-      <li><a href="../../index.html" class="icon icon-home"></a> &raquo;</li>
-        
-      <li>Render</li>
-    
-    
-      <li class="wy-breadcrumbs-aside">
-        
-            
-            <a href="../../sources/api/onnx_systemds/render.rst.txt" rel="nofollow"> View page source</a>
-          
-        
-      </li>
-    
-  </ul>
-
-  
-  <hr/>
-</div>
-          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
-           <div itemprop="articleBody">
-            
-  <div class="section" id="module-systemds.onnx_systemds.render">
-<span id="render"></span><h1>Render<a class="headerlink" href="#module-systemds.onnx_systemds.render" title="Permalink to this headline">¶</a></h1>
-<dl class="py function">
-<dt id="systemds.onnx_systemds.render.gen_graph_functions">
-<code class="sig-prename descclassname">systemds.onnx_systemds.render.</code><code class="sig-name descname">gen_graph_functions</code><span class="sig-paren">(</span><em class="sig-param">env: jinja2.environment.Environment, main_graph: onnx.onnx_ONNX_REL_1_7_ml_pb2.GraphProto) -&gt; ([&lt;class 'str'&gt;], &lt;class 'str'&gt;, [&lt;class 'str'&gt;]</em><span class="sig-paren">)</span><a class="headerlink" href="#systemds.onnx_systemds.render.gen_graph_functions" title="Permalink to this definition">¶</a></dt>
-<dd><p>Traverses the node tree of the onnx-graph structure and generates a script string for each node,
-as well as a string for the required imports together with all functions of sub-graphs.
-The resulting lists are correctly ordered for inserting them in the dml script.</p>
-<dl class="field-list simple">
-<dt class="field-odd">Parameters</dt>
-<dd class="field-odd"><ul class="simple">
-<li><p><strong>env</strong> – Jinja environment to load the template files</p></li>
-<li><p><strong>main_graph</strong> – the onnx graph for which the script shall be generated</p></li>
-</ul>
-</dd>
-<dt class="field-even">Returns</dt>
-<dd class="field-even"><p>Tuple (imports, main function, sub-graph functions)</p>
-</dd>
-</dl>
-</dd></dl>
-
-<dl class="py function">
-<dt id="systemds.onnx_systemds.render.gen_model_header">
-<code class="sig-prename descclassname">systemds.onnx_systemds.render.</code><code class="sig-name descname">gen_model_header</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">env</span><span class="p">:</span> <span class="n">jinja2.environment.Environment</span></em>, <em class="sig-param"><span class="n">model</span><span class="p">:</span> <span class="n">onnx.onnx_ONNX_REL_1_7_ml_pb2.ModelProto</span></em><span class="sig-paren">)</span> &#x2192; str<a class="headerlink" href="#systemds.onnx_systemds.render.gen_model_header" title="Permalink to this definition">¶</a></dt>
-<dd><p>Generates the header of the script for the given <cite>model</cite></p>
-<dl class="field-list simple">
-<dt class="field-odd">Parameters</dt>
-<dd class="field-odd"><ul class="simple">
-<li><p><strong>env</strong> – Jinja environment to load the template files</p></li>
-<li><p><strong>model</strong> – the onnx model for which the header shall be generated</p></li>
-</ul>
-</dd>
-<dt class="field-even">Returns</dt>
-<dd class="field-even"><p>the generated header</p>
-</dd>
-</dl>
-</dd></dl>
-
-<dl class="py function">
-<dt id="systemds.onnx_systemds.render.gen_node_script">
-<code class="sig-prename descclassname">systemds.onnx_systemds.render.</code><code class="sig-name descname">gen_node_script</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">env</span><span class="p">:</span> <span class="n">jinja2.environment.Environment</span></em>, <em class="sig-param"><span class="n">graph</span><span class="p">:</span> <span class="n">onnx.onnx_ONNX_REL_1_7_ml_pb2.GraphProto</span></em>, <em class="sig-param"><span class="n">node</span><span class="p">:</span> <span class="n">onnx.onnx_ONNX_REL_1_7_ml_pb2.NodeProto</span></em><span class="sig-paren">)</span> &#x2192; systemds.onnx_systemds.operator_gen.GeneratedScriptPart<a class="headerlink" href="#systemds.onnx_systemds.render.gen_node_script" title="Permalink to this definition">¶</a></dt>
-<dd><p>Generates a dml script snippet, the required imports and sub-graphs for the given <cite>node</cite></p>
-<dl class="field-list simple">
-<dt class="field-odd">Parameters</dt>
-<dd class="field-odd"><ul class="simple">
-<li><p><strong>env</strong> – Jinja environment to load the template files</p></li>
-<li><p><strong>graph</strong> – the onnx graph for which the script shall be generated</p></li>
-<li><p><strong>node</strong> – the node for which the dml snippet shall be generated</p></li>
-</ul>
-</dd>
-<dt class="field-even">Returns</dt>
-<dd class="field-even"><p>The generated script-part</p>
-</dd>
-</dl>
-</dd></dl>
-
-<dl class="py function">
-<dt id="systemds.onnx_systemds.render.gen_script">
-<code class="sig-prename descclassname">systemds.onnx_systemds.render.</code><code class="sig-name descname">gen_script</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">model</span><span class="p">:</span> <span class="n">onnx.onnx_ONNX_REL_1_7_ml_pb2.ModelProto</span></em>, <em class="sig-param"><span class="n">output_file</span><span class="p">:</span> <span class="n">str</span> <span class="o">=</span> <span class="default_value">None</span></em><span class="sig-paren">)</span> &#x2192; str<a class="headerlink" href="#systemds.onnx_systemds.render.gen_script" title="Permalink to this definition">¶</a></dt>
-<dd><p>Generate the dml script for the given <cite>model</cite> and return it.
-If an <cite>output_file</cite> is given, the script is also written to a file.</p>
-<dl class="field-list simple">
-<dt class="field-odd">Parameters</dt>
-<dd class="field-odd"><ul class="simple">
-<li><p><strong>model</strong> – the model for which the dml script shall be generated</p></li>
-<li><p><strong>output_file</strong> – (optional) the file to which the script shall be written</p></li>
-</ul>
-</dd>
-<dt class="field-even">Returns</dt>
-<dd class="field-even"><p>the generated dml-script</p>
-</dd>
-</dl>
-</dd></dl>
-
-<dl class="py function">
-<dt id="systemds.onnx_systemds.render.render_function">
-<code class="sig-prename descclassname">systemds.onnx_systemds.render.</code><code class="sig-name descname">render_function</code><span class="sig-paren">(</span><em class="sig-param">env: jinja2.environment.Environment, graph: onnx.onnx_ONNX_REL_1_7_ml_pb2.GraphProto, generated_node_scripts: [&lt;class 'str'&gt;]</em><span class="sig-paren">)</span> &#x2192; str<a class="headerlink" href="#systemds.onnx_systemds.render.render_function" title="Permalink to this definition">¶</a></dt>
-<dd><p>Generates the dml function for the given <cite>graph</cite> and inserts the ‘generated_node_scripts’ in
-the function-body.</p>
-<dl class="field-list simple">
-<dt class="field-odd">Parameters</dt>
-<dd class="field-odd"><ul class="simple">
-<li><p><strong>env</strong> – Jinja environment to load the template files</p></li>
-<li><p><strong>graph</strong> – the graph for which the function shall be generated</p></li>
-<li><p><strong>generated_node_scripts</strong> – the node scripts in correct order for the function-body</p></li>
-</ul>
-</dd>
-<dt class="field-even">Returns</dt>
-<dd class="field-even"><p>the generated function</p>
-</dd>
-</dl>
-</dd></dl>
-
-</div>
-
-
-           </div>
-           
-          </div>
-          <footer>
-  
-    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
-      
-        <a href="util.html" class="btn btn-neutral float-right" title="Util" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
-      
-      
-        <a href="operator_gen.html" class="btn btn-neutral float-left" title="Operator Gen" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
-      
-    </div>
-  
-
-  <hr/>
-
-  <div role="contentinfo">
-    <p>
-        
-        &copy; Copyright 2020, Apache SystemDS
-
-    </p>
-  </div>
-    
-    
-    
-    Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a
-    
-    <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a>
-    
-    provided by <a href="https://readthedocs.org">Read the Docs</a>. 
-
-</footer>
-
-        </div>
-      </div>
-
-    </section>
-
-  </div>
-  
-
-  <script type="text/javascript">
-      jQuery(function () {
-          SphinxRtdTheme.Navigation.enable(true);
-      });
-  </script>
-
-  
-  
-    
-   
-
-</body>
-</html>
\ No newline at end of file
diff --git a/docs/api/python/api/onnx_systemds/util.html b/docs/api/python/api/onnx_systemds/util.html
deleted file mode 100644
index 3c5059e..0000000
--- a/docs/api/python/api/onnx_systemds/util.html
+++ /dev/null
@@ -1,259 +0,0 @@
-
-
-<!DOCTYPE html>
-<html class="writer-html5" lang="en" >
-<head>
-  <meta charset="utf-8">
-  
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  
-  <title>Util &mdash; SystemDS 2.0.0 documentation</title>
-  
-
-  
-  <link rel="stylesheet" href="../../static/css/theme.css" type="text/css" />
-  <link rel="stylesheet" href="../../static/pygments.css" type="text/css" />
-
-  
-  
-  
-  
-
-  
-  <!--[if lt IE 9]>
-    <script src="../../static/js/html5shiv.min.js"></script>
-  <![endif]-->
-  
-    
-      <script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../static/documentation_options.js"></script>
-        <script src="../../static/jquery.js"></script>
-        <script src="../../static/underscore.js"></script>
-        <script src="../../static/doctools.js"></script>
-        <script src="../../static/language_data.js"></script>
-    
-    <script type="text/javascript" src="../../static/js/theme.js"></script>
-
-    
-    <link rel="index" title="Index" href="../../genindex.html" />
-    <link rel="search" title="Search" href="../../search.html" />
-    <link rel="next" title="Dag" href="../script_building/dag.html" />
-    <link rel="prev" title="Render" href="render.html" /> 
-</head>
-
-<body class="wy-body-for-nav">
-
-   
-  <div class="wy-grid-for-nav">
-    
-    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
-      <div class="wy-side-scroll">
-        <div class="wy-side-nav-search" >
-          
-
-          
-            <a href="../../index.html" class="icon icon-home" alt="Documentation Home"> SystemDS
-          
-
-          
-          </a>
-
-          
-            
-            
-          
-
-          
-<div role="search">
-  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
-    <input type="text" name="q" placeholder="Search docs" />
-    <input type="hidden" name="check_keywords" value="yes" />
-    <input type="hidden" name="area" value="default" />
-  </form>
-</div>
-
-          
-        </div>
-
-        
-        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
-          
-            
-            
-              
-            
-            
-              <p class="caption"><span class="caption-text">Getting Started:</span></p>
-<ul>
-<li class="toctree-l1"><a class="reference internal" href="../../getting_started/install.html">Install SystemDS</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../getting_started/simple_examples.html">QuickStart</a></li>
-</ul>
-<p class="caption"><span class="caption-text">Guides</span></p>
-<ul>
-<li class="toctree-l1"><a class="reference internal" href="../../guide/federated.html">Federated Environment</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../guide/algorithms_basics.html">Built-in Algorithms</a></li>
-</ul>
-<p class="caption"><span class="caption-text">Onnx SystemDS</span></p>
-<ul>
-<li class="toctree-l1"><a class="reference internal" href="../../onnx_systemds/onnx_systemds.html">QuickStart Onnx</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../onnx_systemds/onnx_systemds_design.html">Design</a></li>
-</ul>
-<p class="caption"><span class="caption-text">API</span></p>
-<ul class="current">
-<li class="toctree-l1"><a class="reference internal" href="../operator/algorithms.html">Algorithms</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../context/systemds_context.html">SystemDSContext</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../matrix/matrix.html">Matrix</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../matrix/federated.html">Federated</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../operator/operation_node.html">Operation Node</a></li>
-<li class="toctree-l1"><a class="reference internal" href="convert.html">Convert</a></li>
-<li class="toctree-l1"><a class="reference internal" href="onnx_helper.html">Onnx Helper</a></li>
-<li class="toctree-l1"><a class="reference internal" href="operator_gen.html">Operator Gen</a></li>
-<li class="toctree-l1"><a class="reference internal" href="render.html">Render</a></li>
-<li class="toctree-l1 current"><a class="current reference internal" href="#">Util</a></li>
-</ul>
-<p class="caption"><span class="caption-text">Internals API</span></p>
-<ul>
-<li class="toctree-l1"><a class="reference internal" href="../script_building/dag.html">Dag</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../script_building/script.html">Script</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../utils/converters.html">Converters</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../utils/helpers.html">Helpers</a></li>
-</ul>
-
-            
-          
-        </div>
-        
-      </div>
-    </nav>
-
-    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
-
-      
-      <nav class="wy-nav-top" aria-label="top navigation">
-        
-          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
-          <a href="../../index.html">SystemDS</a>
-        
-      </nav>
-
-
-      <div class="wy-nav-content">
-        
-        <div class="rst-content">
-        
-          
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-<div role="navigation" aria-label="breadcrumbs navigation">
-
-  <ul class="wy-breadcrumbs">
-    
-      <li><a href="../../index.html" class="icon icon-home"></a> &raquo;</li>
-        
-      <li>Util</li>
-    
-    
-      <li class="wy-breadcrumbs-aside">
-        
-            
-            <a href="../../sources/api/onnx_systemds/util.rst.txt" rel="nofollow"> View page source</a>
-          
-        
-      </li>
-    
-  </ul>
-
-  
-  <hr/>
-</div>
-          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
-           <div itemprop="articleBody">
-            
-  <div class="section" id="module-systemds.onnx_systemds.util">
-<span id="util"></span><h1>Util<a class="headerlink" href="#module-systemds.onnx_systemds.util" title="Permalink to this headline">¶</a></h1>
-<dl class="py function">
-<dt id="systemds.onnx_systemds.util.generate_function_name">
-<code class="sig-prename descclassname">systemds.onnx_systemds.util.</code><code class="sig-name descname">generate_function_name</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">graph_name</span><span class="p">:</span> <span class="n">str</span></em><span class="sig-paren">)</span> &#x2192; str<a class="headerlink" href="#systemds.onnx_systemds.util.generate_function_name" title="Permalink to this definition">¶</a></dt>
-<dd><p>Takes the given graph name and constructs a valid function name from it.
-:param graph_name: The name of the graph.
-:return: the constructed function name.</p>
-</dd></dl>
-
-<dl class="py function">
-<dt id="systemds.onnx_systemds.util.resolve_systemds_root">
-<code class="sig-prename descclassname">systemds.onnx_systemds.util.</code><code class="sig-name descname">resolve_systemds_root</code><span class="sig-paren">(</span><span class="sig-paren">)</span> &#x2192; str<a class="headerlink" href="#systemds.onnx_systemds.util.resolve_systemds_root" title="Permalink to this definition">¶</a></dt>
-<dd><p>Searches for SYSTEMDS_ROOT in the environment variables.
-:return: The SYSTEMDS_ROOT path</p>
-</dd></dl>
-
-</div>
-
-
-           </div>
-           
-          </div>
-          <footer>
-  
-    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
-      
-        <a href="../script_building/dag.html" class="btn btn-neutral float-right" title="Dag" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
-      
-      
-        <a href="render.html" class="btn btn-neutral float-left" title="Render" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
-      
-    </div>
-  
-
-  <hr/>
-
-  <div role="contentinfo">
-    <p>
-        
-        &copy; Copyright 2020, Apache SystemDS
-
-    </p>
-  </div>
-    
-    
-    
-    Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a
-    
-    <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a>
-    
-    provided by <a href="https://readthedocs.org">Read the Docs</a>. 
-
-</footer>
-
-        </div>
-      </div>
-
-    </section>
-
-  </div>
-  
-
-  <script type="text/javascript">
-      jQuery(function () {
-          SphinxRtdTheme.Navigation.enable(true);
-      });
-  </script>
-
-  
-  
-    
-   
-
-</body>
-</html>
\ No newline at end of file
diff --git a/docs/api/python/api/operator/algorithms.html b/docs/api/python/api/operator/algorithms.html
index fc4488d..6d19076 100644
--- a/docs/api/python/api/operator/algorithms.html
+++ b/docs/api/python/api/operator/algorithms.html
@@ -37,7 +37,7 @@
     <link rel="index" title="Index" href="../../genindex.html" />
     <link rel="search" title="Search" href="../../search.html" />
     <link rel="next" title="SystemDSContext" href="../context/systemds_context.html" />
-    <link rel="prev" title="Design" href="../../onnx_systemds/onnx_systemds_design.html" /> 
+    <link rel="prev" title="Built-in Algorithms" href="../../guide/algorithms_basics.html" /> 
 </head>
 
 <body class="wy-body-for-nav">
@@ -92,11 +92,6 @@
 <li class="toctree-l1"><a class="reference internal" href="../../guide/federated.html">Federated Environment</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../guide/algorithms_basics.html">Built-in Algorithms</a></li>
 </ul>
-<p class="caption"><span class="caption-text">Onnx SystemDS</span></p>
-<ul>
-<li class="toctree-l1"><a class="reference internal" href="../../onnx_systemds/onnx_systemds.html">QuickStart Onnx</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../onnx_systemds/onnx_systemds_design.html">Design</a></li>
-</ul>
 <p class="caption"><span class="caption-text">API</span></p>
 <ul class="current">
 <li class="toctree-l1 current"><a class="current reference internal" href="#">Algorithms</a></li>
@@ -104,11 +99,6 @@
 <li class="toctree-l1"><a class="reference internal" href="../matrix/matrix.html">Matrix</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../matrix/federated.html">Federated</a></li>
 <li class="toctree-l1"><a class="reference internal" href="operation_node.html">Operation Node</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../onnx_systemds/convert.html">Convert</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../onnx_systemds/onnx_helper.html">Onnx Helper</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../onnx_systemds/operator_gen.html">Operator Gen</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../onnx_systemds/render.html">Render</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../onnx_systemds/util.html">Util</a></li>
 </ul>
 <p class="caption"><span class="caption-text">Internals API</span></p>
 <ul>
@@ -222,129 +212,7 @@
 <span class="p">[</span> <span class="mf">0.37957689</span><span class="p">]]</span>
 </pre></div>
 </div>
-<span class="target" id="module-systemds.operator.algorithm"></span><dl class="py function">
-<dt id="systemds.operator.algorithm.kmeans">
-<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">kmeans</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">x</span><span class="p">:</span> <span class="n">systemds.operator.operation_node.OperationNode</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span><span class="p">:</span> <span class="n">Dict<span class="p">[</span>str<span class="p">, </span>Union<span class="p">[</span>DAGNode<span class="p">, </span>str<span class="p">, </span>int<span class="p">, </span>float<span class="p">, </span>bool<span class="p">]</span><span class="p">]</span></span></em><span class="sig-paren">)</span> &#x2192; systemds.operator.operation_node.OperationNode<a class="headerlink" href="#systemds.operator.algorithm.kmeans" title="Permalink to this definition">¶</a></dt>
-<dd><p>Performs KMeans on matrix input.</p>
-<dl class="field-list simple">
-<dt class="field-odd">Parameters</dt>
-<dd class="field-odd"><ul class="simple">
-<li><p><strong>x</strong> – Input dataset to perform K-Means on.</p></li>
-<li><p><strong>k</strong> – The number of centroids to use for the algorithm.</p></li>
-<li><p><strong>runs</strong> – The number of concurrent instances of K-Means to run (with different initial centroids).</p></li>
-<li><p><strong>max_iter</strong> – The maximum number of iterations to run the K-Means algorithm for.</p></li>
-<li><p><strong>eps</strong> – Tolerance for the algorithm to declare convergence using WCSS change ratio.</p></li>
-<li><p><strong>is_verbose</strong> – Boolean flag if the algorithm should be run in a verbose manner.</p></li>
-<li><p><strong>avg_sample_size_per_centroid</strong> – The average number of records per centroid in the data samples.</p></li>
-</ul>
-</dd>
-<dt class="field-even">Returns</dt>
-<dd class="field-even"><p><cite>OperationNode</cite> List containing two outputs 1. the clusters, 2 the cluster ID associated with each row in x.</p>
-</dd>
-</dl>
-</dd></dl>
-
-<dl class="py function">
-<dt id="systemds.operator.algorithm.l2svm">
-<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">l2svm</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">x</span><span class="p">:</span> <span class="n">systemds.operator.operation_node.OperationNode</span></em>, <em class="sig-param"><span class="n">y</span><span class="p">:</span> <span class="n">systemds.operator.operation_node.OperationNode</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span><span class="p">:</span> <span class="n">Dict<span class="p">[</span>str<span class="p">, </span>Union<span class="p">[</span>DAGNode<span class="p">, </span>str<span class="p">, </span>int<span class="p">, </span>float<span class="p">, </span>bool<span class="p">]</span><span class="p">]</span></span></em><span class="sig-paren">)</span> &#x2192; systemds.operator.operation_node.OperationNode<a class="headerlink" href="#systemds.operator.algorithm.l2svm" title="Permalink to this definition">¶</a></dt>
-<dd><p>Perform L2SVM on matrix with labels given.</p>
-<dl class="field-list simple">
-<dt class="field-odd">Parameters</dt>
-<dd class="field-odd"><ul class="simple">
-<li><p><strong>x</strong> – Input dataset</p></li>
-<li><p><strong>y</strong> – Input labels in shape of one column</p></li>
-<li><p><strong>kwargs</strong> – Dictionary of extra arguments</p></li>
-</ul>
-</dd>
-<dt class="field-even">Returns</dt>
-<dd class="field-even"><p><cite>OperationNode</cite> containing the model fit.</p>
-</dd>
-</dl>
-</dd></dl>
-
-<dl class="py function">
-<dt id="systemds.operator.algorithm.lm">
-<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">lm</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">x</span><span class="p">:</span> <span class="n">systemds.operator.operation_node.OperationNode</span></em>, <em class="sig-param"><span class="n">y</span><span class="p">:</span> <span class="n">systemds.operator.operation_node.OperationNode</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span><span class="p">:</span> <span class="n">Dict<span class="p">[</span>str<span class="p">, </span>Union<span class="p">[</span>DAGNode<span class="p">, </span>str<span class="p">, </span>int<span class="p">, </span>float<span class="p">, </span>bool<span class="p">]</span><span class="p">]</span></span></em><span class="sig-paren">)</span> &#x2192; systemds.operator.operation_node.OperationNode<a class="headerlink" href="#systemds.operator.algorithm.lm" title="Permalink to this definition">¶</a></dt>
-<dd><p>Performs LM on matrix with labels given.</p>
-<dl class="field-list simple">
-<dt class="field-odd">Parameters</dt>
-<dd class="field-odd"><ul class="simple">
-<li><p><strong>x</strong> – Input dataset</p></li>
-<li><p><strong>y</strong> – Input labels in shape of one column</p></li>
-<li><p><strong>kwargs</strong> – Dictionary of extra arguments</p></li>
-</ul>
-</dd>
-<dt class="field-even">Returns</dt>
-<dd class="field-even"><p><cite>OperationNode</cite> containing the model fit.</p>
-</dd>
-</dl>
-</dd></dl>
-
-<dl class="py function">
-<dt id="systemds.operator.algorithm.multiLogReg">
-<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">multiLogReg</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">x</span><span class="p">:</span> <span class="n">systemds.operator.operation_node.OperationNode</span></em>, <em class="sig-param"><span class="n">y</span><span class="p">:</span> <span class="n">systemds.operator.operation_node.OperationNode</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span><span class="p">:</span> <span class="n">Dict<span class="p">[</span>str<span class="p">, </span>Union<span class="p">[</span>DAGNode<span class="p">, </span>str<span class="p">, </span>int<span class="p">, </span>float<span class="p">, </span>bool<span class="p">]</span><span class="p">]</span></span></em><span class="sig-paren">)</span> &#x2192; systemds.operator.operation_node.OperationNode<a class="headerlink" href="#systemds.operator.algorithm.multiLogReg" title="Permalink to this definition">¶</a></dt>
-<dd><p>Performs Multiclass Logistic Regression on the matrix input
-using Trust Region method.</p>
-<p>See: Trust Region Newton Method for Logistic Regression, Lin, Weng and Keerthi, JMLR 9 (2008) 627-650)</p>
-<dl class="field-list simple">
-<dt class="field-odd">Parameters</dt>
-<dd class="field-odd"><ul class="simple">
-<li><p><strong>x</strong> – Input dataset to perform logstic regression on</p></li>
-<li><p><strong>y</strong> – Labels rowaligned with the input dataset</p></li>
-<li><p><strong>icpt</strong> – Intercept, default 2, Intercept presence, shifting and rescaling X columns:
-0 = no intercept, no shifting, no rescaling;
-1 = add intercept, but neither shift nor rescale X;
-2 = add intercept, shift &amp; rescale X columns to mean = 0, variance = 1</p></li>
-<li><p><strong>tol</strong> – float tolerance for the algorithm.</p></li>
-<li><p><strong>reg</strong> – Regularization parameter (lambda = 1/C); intercept settings are not regularized.</p></li>
-<li><p><strong>maxi</strong> – Maximum outer iterations of the algorithm</p></li>
-<li><p><strong>maxii</strong> – Maximum inner iterations of the algorithm
-:return: <cite>OperationNode</cite> of a matrix containing the regression parameters trained.</p></li>
-</ul>
-</dd>
-</dl>
-</dd></dl>
-
-<dl class="py function">
-<dt id="systemds.operator.algorithm.multiLogRegPredict">
-<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">multiLogRegPredict</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">x</span><span class="p">:</span> <span class="n">systemds.operator.operation_node.OperationNode</span></em>, <em class="sig-param"><span class="n">b</span><span class="p">:</span> <span class="n">systemds.operator.operation_node.OperationNode</span></em>, <em class="sig-param"><span class="n">y</span><span class="p">:</span> <span class="n">systemds.operator.operation_node.OperationNode</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span><span class="p">:</span> <span class="n">Dict<span class="p">[</span>str<span class="p">, </span>Union<span class="p">[</span>DAGNode<span class="p">, </span>str<span class="p">, </span>int<span class="p">, </span>float<span class="p">, </span>bool<span class="p">]</span><span class="p">]</span></span></em><span class="sig-paren">)</span> &#x2192; systemds.operator.operation_node.OperationNode<a class="headerlink" href="#systemds.operator.algorithm.multiLogRegPredict" title="Permalink to this definition">¶</a></dt>
-<dd><p>Performs prediction on input data x using the model trained, b.</p>
-<dl class="field-list simple">
-<dt class="field-odd">Parameters</dt>
-<dd class="field-odd"><ul class="simple">
-<li><p><strong>x</strong> – The data to perform classification on.</p></li>
-<li><p><strong>b</strong> – The regression parameters trained from multiLogReg.</p></li>
-<li><p><strong>y</strong> – The Labels expected to be contained in the X dataset, to calculate accuracy.</p></li>
-<li><p><strong>verbose</strong> – Boolean specifying if the prediction should be verbose.</p></li>
-</ul>
-</dd>
-<dt class="field-even">Returns</dt>
-<dd class="field-even"><p><cite>OperationNode</cite> List containing three outputs. 
-1. The predicted means / probabilities
-2. The predicted response vector
-3. The scalar value of accuracy</p>
-</dd>
-</dl>
-</dd></dl>
-
-<dl class="py function">
-<dt id="systemds.operator.algorithm.pca">
-<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">pca</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">x</span><span class="p">:</span> <span class="n">systemds.operator.operation_node.OperationNode</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span><span class="p">:</span> <span class="n">Dict<span class="p">[</span>str<span class="p">, </span>Union<span class="p">[</span>DAGNode<span class="p">, </span>str<span class="p">, </span>int<span class="p">, </span>float<span class="p">, </span>bool<span class="p">]</span><span class="p">]</span></span></em><span class="sig-paren">)</span> &#x2192; systemds.operator.operation_node.OperationNode<a class="headerlink" href="#systemds.operator.algorithm.pca" title="Permalink to this definition">¶</a></dt>
-<dd><p>Performs PCA on the matrix input</p>
-<dl class="field-list simple">
-<dt class="field-odd">Parameters</dt>
-<dd class="field-odd"><ul class="simple">
-<li><p><strong>x</strong> – Input dataset to perform Principal Componenet Analysis (PCA) on.</p></li>
-<li><p><strong>K</strong> – The number of reduced dimensions.</p></li>
-<li><p><strong>center</strong> – Boolean specifying if the input values should be centered.</p></li>
-<li><p><strong>scale</strong> – Boolean specifying if the input values should be scaled.
-:return: <cite>OperationNode</cite> List containing two outputs 1. The dimensionality reduced X input, 2. A matrix to reduce dimensionality similarly on unseen data.</p></li>
-</ul>
-</dd>
-</dl>
-</dd></dl>
-
-</div>
+<span class="target" id="module-systemds.operator.algorithm"></span></div>
 
 
            </div>
@@ -357,7 +225,7 @@
         <a href="../context/systemds_context.html" class="btn btn-neutral float-right" title="SystemDSContext" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
       
       
-        <a href="../../onnx_systemds/onnx_systemds_design.html" class="btn btn-neutral float-left" title="Design" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+        <a href="../../guide/algorithms_basics.html" class="btn btn-neutral float-left" title="Built-in Algorithms" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
       
     </div>
   
diff --git a/docs/api/python/api/operator/operation_node.html b/docs/api/python/api/operator/operation_node.html
index bb1d7f9..10241c6 100644
--- a/docs/api/python/api/operator/operation_node.html
+++ b/docs/api/python/api/operator/operation_node.html
@@ -36,7 +36,7 @@
     
     <link rel="index" title="Index" href="../../genindex.html" />
     <link rel="search" title="Search" href="../../search.html" />
-    <link rel="next" title="Convert" href="../onnx_systemds/convert.html" />
+    <link rel="next" title="Dag" href="../script_building/dag.html" />
     <link rel="prev" title="Federated" href="../matrix/federated.html" /> 
 </head>
 
@@ -92,11 +92,6 @@
 <li class="toctree-l1"><a class="reference internal" href="../../guide/federated.html">Federated Environment</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../guide/algorithms_basics.html">Built-in Algorithms</a></li>
 </ul>
-<p class="caption"><span class="caption-text">Onnx SystemDS</span></p>
-<ul>
-<li class="toctree-l1"><a class="reference internal" href="../../onnx_systemds/onnx_systemds.html">QuickStart Onnx</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../onnx_systemds/onnx_systemds_design.html">Design</a></li>
-</ul>
 <p class="caption"><span class="caption-text">API</span></p>
 <ul class="current">
 <li class="toctree-l1"><a class="reference internal" href="algorithms.html">Algorithms</a></li>
@@ -104,11 +99,6 @@
 <li class="toctree-l1"><a class="reference internal" href="../matrix/matrix.html">Matrix</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../matrix/federated.html">Federated</a></li>
 <li class="toctree-l1 current"><a class="current reference internal" href="#">Operation Node</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../onnx_systemds/convert.html">Convert</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../onnx_systemds/onnx_helper.html">Onnx Helper</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../onnx_systemds/operator_gen.html">Operator Gen</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../onnx_systemds/render.html">Render</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../onnx_systemds/util.html">Util</a></li>
 </ul>
 <p class="caption"><span class="caption-text">Internals API</span></p>
 <ul>
@@ -266,6 +256,14 @@
 </dd></dl>
 
 <dl class="py method">
+<dt id="systemds.operator.OperationNode.cbind">
+<code class="sig-name descname">cbind</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">other</span></em><span class="sig-paren">)</span> &#x2192; systemds.operator.operation_node.OperationNode<a class="headerlink" href="#systemds.operator.OperationNode.cbind" title="Permalink to this definition">¶</a></dt>
+<dd><p>Column-wise matrix concatenation, by concatenating the second matrix as additional columns to the first matrix. 
+:param: The other matrix to bind to the right hand side.
+:return: The OperationNode containing the concatenated matrices.</p>
+</dd></dl>
+
+<dl class="py method">
 <dt id="systemds.operator.OperationNode.cholesky">
 <code class="sig-name descname">cholesky</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">safe</span><span class="p">:</span> <span class="n">bool</span> <span class="o">=</span> <span class="default_value">False</span></em><span class="sig-paren">)</span> &#x2192; systemds.operator.operation_node.OperationNode<a class="headerlink" href="#systemds.operator.OperationNode.cholesky" title="Permalink to this definition">¶</a></dt>
 <dd><p>Computes the Cholesky decomposition of a symmetric, positive definite matrix</p>
@@ -405,6 +403,14 @@
 </dd></dl>
 
 <dl class="py method">
+<dt id="systemds.operator.OperationNode.rbind">
+<code class="sig-name descname">rbind</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">other</span></em><span class="sig-paren">)</span> &#x2192; systemds.operator.operation_node.OperationNode<a class="headerlink" href="#systemds.operator.OperationNode.rbind" title="Permalink to this definition">¶</a></dt>
+<dd><p>Row-wise matrix concatenation, by concatenating the second matrix as additional rows to the first matrix. 
+:param: The other matrix to bind to the right hand side
+:return: The OperationNode containing the concatenated matrices.</p>
+</dd></dl>
+
+<dl class="py method">
 <dt id="systemds.operator.OperationNode.rev">
 <code class="sig-name descname">rev</code><span class="sig-paren">(</span><span class="sig-paren">)</span> &#x2192; systemds.operator.operation_node.OperationNode<a class="headerlink" href="#systemds.operator.OperationNode.rev" title="Permalink to this definition">¶</a></dt>
 <dd><p>Reverses the rows in a matrix</p>
@@ -549,7 +555,7 @@
   
     <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
       
-        <a href="../onnx_systemds/convert.html" class="btn btn-neutral float-right" title="Convert" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
+        <a href="../script_building/dag.html" class="btn btn-neutral float-right" title="Dag" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
       
       
         <a href="../matrix/federated.html" class="btn btn-neutral float-left" title="Federated" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
diff --git a/docs/api/python/api/script_building/dag.html b/docs/api/python/api/script_building/dag.html
index 512d88e..f483e91 100644
--- a/docs/api/python/api/script_building/dag.html
+++ b/docs/api/python/api/script_building/dag.html
@@ -37,7 +37,7 @@
     <link rel="index" title="Index" href="../../genindex.html" />
     <link rel="search" title="Search" href="../../search.html" />
     <link rel="next" title="Script" href="script.html" />
-    <link rel="prev" title="Util" href="../onnx_systemds/util.html" /> 
+    <link rel="prev" title="Operation Node" href="../operator/operation_node.html" /> 
 </head>
 
 <body class="wy-body-for-nav">
@@ -92,11 +92,6 @@
 <li class="toctree-l1"><a class="reference internal" href="../../guide/federated.html">Federated Environment</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../guide/algorithms_basics.html">Built-in Algorithms</a></li>
 </ul>
-<p class="caption"><span class="caption-text">Onnx SystemDS</span></p>
-<ul>
-<li class="toctree-l1"><a class="reference internal" href="../../onnx_systemds/onnx_systemds.html">QuickStart Onnx</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../onnx_systemds/onnx_systemds_design.html">Design</a></li>
-</ul>
 <p class="caption"><span class="caption-text">API</span></p>
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="../operator/algorithms.html">Algorithms</a></li>
@@ -104,11 +99,6 @@
 <li class="toctree-l1"><a class="reference internal" href="../matrix/matrix.html">Matrix</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../matrix/federated.html">Federated</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../operator/operation_node.html">Operation Node</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../onnx_systemds/convert.html">Convert</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../onnx_systemds/onnx_helper.html">Onnx Helper</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../onnx_systemds/operator_gen.html">Operator Gen</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../onnx_systemds/render.html">Render</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../onnx_systemds/util.html">Util</a></li>
 </ul>
 <p class="caption"><span class="caption-text">Internals API</span></p>
 <ul class="current">
@@ -270,7 +260,7 @@
         <a href="script.html" class="btn btn-neutral float-right" title="Script" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
       
       
-        <a href="../onnx_systemds/util.html" class="btn btn-neutral float-left" title="Util" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+        <a href="../operator/operation_node.html" class="btn btn-neutral float-left" title="Operation Node" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
       
     </div>
   
diff --git a/docs/api/python/api/script_building/script.html b/docs/api/python/api/script_building/script.html
index f15ee8b..a23fe78 100644
--- a/docs/api/python/api/script_building/script.html
+++ b/docs/api/python/api/script_building/script.html
@@ -92,11 +92,6 @@
 <li class="toctree-l1"><a class="reference internal" href="../../guide/federated.html">Federated Environment</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../guide/algorithms_basics.html">Built-in Algorithms</a></li>
 </ul>
-<p class="caption"><span class="caption-text">Onnx SystemDS</span></p>
-<ul>
-<li class="toctree-l1"><a class="reference internal" href="../../onnx_systemds/onnx_systemds.html">QuickStart Onnx</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../onnx_systemds/onnx_systemds_design.html">Design</a></li>
-</ul>
 <p class="caption"><span class="caption-text">API</span></p>
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="../operator/algorithms.html">Algorithms</a></li>
@@ -104,11 +99,6 @@
 <li class="toctree-l1"><a class="reference internal" href="../matrix/matrix.html">Matrix</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../matrix/federated.html">Federated</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../operator/operation_node.html">Operation Node</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../onnx_systemds/convert.html">Convert</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../onnx_systemds/onnx_helper.html">Onnx Helper</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../onnx_systemds/operator_gen.html">Operator Gen</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../onnx_systemds/render.html">Render</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../onnx_systemds/util.html">Util</a></li>
 </ul>
 <p class="caption"><span class="caption-text">Internals API</span></p>
 <ul class="current">
@@ -232,7 +222,7 @@
 
 <dl class="py method">
 <dt id="systemds.script_building.script.DMLScript.execute">
-<code class="sig-name descname">execute</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">lineage</span><span class="p">:</span> <span class="n">bool</span> <span class="o">=</span> <span class="default_value">False</span></em><span class="sig-paren">)</span> &#x2192; Union<span class="p">[</span>py4j.java_gateway.JavaObject<span class="p">, </span>Tuple<span class="p">[</span>py4j.java_gateway.JavaObject<span class="p">, </span>str<span class="p">]</span><span class="p">]</span><a class="headerlink" href="#systemds.script_building.script.DMLScript.execute" title="Permalink to this definition">¶</a></dt>
+<code class="sig-name descname">execute</code><span class="sig-paren">(</span><span class="sig-paren">)</span> &#x2192; py4j.java_gateway.JavaObject<a class="headerlink" href="#systemds.script_building.script.DMLScript.execute" title="Permalink to this definition">¶</a></dt>
 <dd><p>If not already created, create a preparedScript from our DMLCode, pass python local data to our prepared
 script, then execute our script and return the resultVariables</p>
 <dl class="field-list simple">
@@ -242,6 +232,18 @@
 </dl>
 </dd></dl>
 
+<dl class="py method">
+<dt id="systemds.script_building.script.DMLScript.execute_with_lineage">
+<code class="sig-name descname">execute_with_lineage</code><span class="sig-paren">(</span><span class="sig-paren">)</span> &#x2192; Tuple<span class="p">[</span>py4j.java_gateway.JavaObject<span class="p">, </span>str<span class="p">]</span><a class="headerlink" href="#systemds.script_building.script.DMLScript.execute_with_lineage" title="Permalink to this definition">¶</a></dt>
+<dd><p>If not already created, create a preparedScript from our DMLCode, pass python local data to our prepared
+script, then execute our script and return the resultVariables</p>
+<dl class="field-list simple">
+<dt class="field-odd">Returns</dt>
+<dd class="field-odd"><p>resultVariables of our execution and the string lineage trace</p>
+</dd>
+</dl>
+</dd></dl>
+
 </dd></dl>
 
 </div>
diff --git a/docs/api/python/api/utils/converters.html b/docs/api/python/api/utils/converters.html
index b7a6d92..97dc3a4 100644
--- a/docs/api/python/api/utils/converters.html
+++ b/docs/api/python/api/utils/converters.html
@@ -92,11 +92,6 @@
 <li class="toctree-l1"><a class="reference internal" href="../../guide/federated.html">Federated Environment</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../guide/algorithms_basics.html">Built-in Algorithms</a></li>
 </ul>
-<p class="caption"><span class="caption-text">Onnx SystemDS</span></p>
-<ul>
-<li class="toctree-l1"><a class="reference internal" href="../../onnx_systemds/onnx_systemds.html">QuickStart Onnx</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../onnx_systemds/onnx_systemds_design.html">Design</a></li>
-</ul>
 <p class="caption"><span class="caption-text">API</span></p>
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="../operator/algorithms.html">Algorithms</a></li>
@@ -104,11 +99,6 @@
 <li class="toctree-l1"><a class="reference internal" href="../matrix/matrix.html">Matrix</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../matrix/federated.html">Federated</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../operator/operation_node.html">Operation Node</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../onnx_systemds/convert.html">Convert</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../onnx_systemds/onnx_helper.html">Onnx Helper</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../onnx_systemds/operator_gen.html">Operator Gen</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../onnx_systemds/render.html">Render</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../onnx_systemds/util.html">Util</a></li>
 </ul>
 <p class="caption"><span class="caption-text">Internals API</span></p>
 <ul class="current">
diff --git a/docs/api/python/api/utils/helpers.html b/docs/api/python/api/utils/helpers.html
index 7897896..c7d3111 100644
--- a/docs/api/python/api/utils/helpers.html
+++ b/docs/api/python/api/utils/helpers.html
@@ -91,11 +91,6 @@
 <li class="toctree-l1"><a class="reference internal" href="../../guide/federated.html">Federated Environment</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../guide/algorithms_basics.html">Built-in Algorithms</a></li>
 </ul>
-<p class="caption"><span class="caption-text">Onnx SystemDS</span></p>
-<ul>
-<li class="toctree-l1"><a class="reference internal" href="../../onnx_systemds/onnx_systemds.html">QuickStart Onnx</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../onnx_systemds/onnx_systemds_design.html">Design</a></li>
-</ul>
 <p class="caption"><span class="caption-text">API</span></p>
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="../operator/algorithms.html">Algorithms</a></li>
@@ -103,11 +98,6 @@
 <li class="toctree-l1"><a class="reference internal" href="../matrix/matrix.html">Matrix</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../matrix/federated.html">Federated</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../operator/operation_node.html">Operation Node</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../onnx_systemds/convert.html">Convert</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../onnx_systemds/onnx_helper.html">Onnx Helper</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../onnx_systemds/operator_gen.html">Operator Gen</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../onnx_systemds/render.html">Render</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../onnx_systemds/util.html">Util</a></li>
 </ul>
 <p class="caption"><span class="caption-text">Internals API</span></p>
 <ul class="current">
diff --git a/docs/api/python/genindex.html b/docs/api/python/genindex.html
index e725d45..3192acd 100644
--- a/docs/api/python/genindex.html
+++ b/docs/api/python/genindex.html
@@ -90,11 +90,6 @@
 <li class="toctree-l1"><a class="reference internal" href="guide/federated.html">Federated Environment</a></li>
 <li class="toctree-l1"><a class="reference internal" href="guide/algorithms_basics.html">Built-in Algorithms</a></li>
 </ul>
-<p class="caption"><span class="caption-text">Onnx SystemDS</span></p>
-<ul>
-<li class="toctree-l1"><a class="reference internal" href="onnx_systemds/onnx_systemds.html">QuickStart Onnx</a></li>
-<li class="toctree-l1"><a class="reference internal" href="onnx_systemds/onnx_systemds_design.html">Design</a></li>
-</ul>
 <p class="caption"><span class="caption-text">API</span></p>
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="api/operator/algorithms.html">Algorithms</a></li>
@@ -102,11 +97,6 @@
 <li class="toctree-l1"><a class="reference internal" href="api/matrix/matrix.html">Matrix</a></li>
 <li class="toctree-l1"><a class="reference internal" href="api/matrix/federated.html">Federated</a></li>
 <li class="toctree-l1"><a class="reference internal" href="api/operator/operation_node.html">Operation Node</a></li>
-<li class="toctree-l1"><a class="reference internal" href="api/onnx_systemds/convert.html">Convert</a></li>
-<li class="toctree-l1"><a class="reference internal" href="api/onnx_systemds/onnx_helper.html">Onnx Helper</a></li>
-<li class="toctree-l1"><a class="reference internal" href="api/onnx_systemds/operator_gen.html">Operator Gen</a></li>
-<li class="toctree-l1"><a class="reference internal" href="api/onnx_systemds/render.html">Render</a></li>
-<li class="toctree-l1"><a class="reference internal" href="api/onnx_systemds/util.html">Util</a></li>
 </ul>
 <p class="caption"><span class="caption-text">Internals API</span></p>
 <ul>
@@ -189,8 +179,6 @@
  | <a href="#E"><strong>E</strong></a>
  | <a href="#F"><strong>F</strong></a>
  | <a href="#G"><strong>G</strong></a>
- | <a href="#K"><strong>K</strong></a>
- | <a href="#L"><strong>L</strong></a>
  | <a href="#M"><strong>M</strong></a>
  | <a href="#N"><strong>N</strong></a>
  | <a href="#O"><strong>O</strong></a>
@@ -249,6 +237,8 @@
 <h2 id="C">C</h2>
 <table style="width: 100%" class="indextable genindextable"><tr>
   <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a href="api/operator/operation_node.html#systemds.operator.OperationNode.cbind">cbind() (systemds.operator.OperationNode method)</a>
+</li>
       <li><a href="api/operator/operation_node.html#systemds.operator.OperationNode.cholesky">cholesky() (systemds.operator.OperationNode method)</a>
 </li>
       <li><a href="api/context/systemds_context.html#systemds.context.SystemDSContext.close">close() (systemds.context.SystemDSContext method)</a>
@@ -301,6 +291,8 @@
   <td style="width: 33%; vertical-align: top;"><ul>
       <li><a href="api/script_building/script.html#systemds.script_building.script.DMLScript.execute">execute() (systemds.script_building.script.DMLScript method)</a>
 </li>
+      <li><a href="api/script_building/script.html#systemds.script_building.script.DMLScript.execute_with_lineage">execute_with_lineage() (systemds.script_building.script.DMLScript method)</a>
+</li>
   </ul></td>
 </tr></table>
 
@@ -319,64 +311,20 @@
 <h2 id="G">G</h2>
 <table style="width: 100%" class="indextable genindextable"><tr>
   <td style="width: 33%; vertical-align: top;"><ul>
-      <li><a href="api/onnx_systemds/operator_gen.html#systemds.onnx_systemds.operator_gen.gen_1input_1output_mat_operator">gen_1input_1output_mat_operator() (in module systemds.onnx_systemds.operator_gen)</a>
-</li>
-      <li><a href="api/onnx_systemds/operator_gen.html#systemds.onnx_systemds.operator_gen.gen_2input_1output_operator">gen_2input_1output_operator() (in module systemds.onnx_systemds.operator_gen)</a>
-</li>
-      <li><a href="api/onnx_systemds/render.html#systemds.onnx_systemds.render.gen_graph_functions">gen_graph_functions() (in module systemds.onnx_systemds.render)</a>
-</li>
-      <li><a href="api/onnx_systemds/render.html#systemds.onnx_systemds.render.gen_model_header">gen_model_header() (in module systemds.onnx_systemds.render)</a>
-</li>
-      <li><a href="api/onnx_systemds/render.html#systemds.onnx_systemds.render.gen_node_script">gen_node_script() (in module systemds.onnx_systemds.render)</a>
-</li>
-      <li><a href="api/onnx_systemds/render.html#systemds.onnx_systemds.render.gen_script">gen_script() (in module systemds.onnx_systemds.render)</a>
-</li>
-      <li><a href="api/onnx_systemds/operator_gen.html#systemds.onnx_systemds.operator_gen.gen_simple_function_call">gen_simple_function_call() (in module systemds.onnx_systemds.operator_gen)</a>
-</li>
-      <li><a href="api/onnx_systemds/util.html#systemds.onnx_systemds.util.generate_function_name">generate_function_name() (in module systemds.onnx_systemds.util)</a>
-</li>
-  </ul></td>
-  <td style="width: 33%; vertical-align: top;"><ul>
-      <li><a href="api/onnx_systemds/onnx_helper.html#systemds.onnx_systemds.onnx_helper.get_graph_inputs_with_initializers">get_graph_inputs_with_initializers() (in module systemds.onnx_systemds.onnx_helper)</a>
-</li>
-      <li><a href="api/onnx_systemds/onnx_helper.html#systemds.onnx_systemds.onnx_helper.get_graph_inputs_without_initializers">get_graph_inputs_without_initializers() (in module systemds.onnx_systemds.onnx_helper)</a>
-</li>
       <li><a href="api/operator/operation_node.html#systemds.operator.OperationNode.get_lineage_trace">get_lineage_trace() (systemds.operator.OperationNode method)</a>
 
       <ul>
         <li><a href="api/script_building/dag.html#systemds.script_building.dag.DAGNode.get_lineage_trace">(systemds.script_building.dag.DAGNode method)</a>
 </li>
       </ul></li>
+  </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
       <li><a href="api/utils/helpers.html#systemds.utils.helpers.get_module_dir">get_module_dir() (in module systemds.utils.helpers)</a>
 </li>
       <li><a href="api/context/systemds_context.html#systemds.context.SystemDSContext.get_stderr">get_stderr() (systemds.context.SystemDSContext method)</a>
 </li>
       <li><a href="api/context/systemds_context.html#systemds.context.SystemDSContext.get_stdout">get_stdout() (systemds.context.SystemDSContext method)</a>
 </li>
-      <li><a href="api/onnx_systemds/onnx_helper.html#systemds.onnx_systemds.onnx_helper.get_value_info">get_value_info() (in module systemds.onnx_systemds.onnx_helper)</a>
-</li>
-  </ul></td>
-</tr></table>
-
-<h2 id="K">K</h2>
-<table style="width: 100%" class="indextable genindextable"><tr>
-  <td style="width: 33%; vertical-align: top;"><ul>
-      <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.kmeans">kmeans() (in module systemds.operator.algorithm)</a>
-</li>
-  </ul></td>
-</tr></table>
-
-<h2 id="L">L</h2>
-<table style="width: 100%" class="indextable genindextable"><tr>
-  <td style="width: 33%; vertical-align: top;"><ul>
-      <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.l2svm">l2svm() (in module systemds.operator.algorithm)</a>
-</li>
-  </ul></td>
-  <td style="width: 33%; vertical-align: top;"><ul>
-      <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.lm">lm() (in module systemds.operator.algorithm)</a>
-</li>
-      <li><a href="api/onnx_systemds/onnx_helper.html#systemds.onnx_systemds.onnx_helper.load_model">load_model() (in module systemds.onnx_systemds.onnx_helper)</a>
-</li>
   </ul></td>
 </tr></table>
 
@@ -393,16 +341,6 @@
     module
 
       <ul>
-        <li><a href="api/onnx_systemds/convert.html#module-systemds.onnx_systemds.convert">systemds.onnx_systemds.convert</a>
-</li>
-        <li><a href="api/onnx_systemds/onnx_helper.html#module-systemds.onnx_systemds.onnx_helper">systemds.onnx_systemds.onnx_helper</a>
-</li>
-        <li><a href="api/onnx_systemds/operator_gen.html#module-systemds.onnx_systemds.operator_gen">systemds.onnx_systemds.operator_gen</a>
-</li>
-        <li><a href="api/onnx_systemds/render.html#module-systemds.onnx_systemds.render">systemds.onnx_systemds.render</a>
-</li>
-        <li><a href="api/onnx_systemds/util.html#module-systemds.onnx_systemds.util">systemds.onnx_systemds.util</a>
-</li>
         <li><a href="api/operator/algorithms.html#module-systemds.operator.algorithm">systemds.operator.algorithm</a>
 </li>
         <li><a href="api/script_building/dag.html#module-systemds.script_building.dag">systemds.script_building.dag</a>
@@ -415,21 +353,11 @@
 </li>
       </ul></li>
   </ul></td>
-  <td style="width: 33%; vertical-align: top;"><ul>
-      <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.multiLogReg">multiLogReg() (in module systemds.operator.algorithm)</a>
-</li>
-      <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.multiLogRegPredict">multiLogRegPredict() (in module systemds.operator.algorithm)</a>
-</li>
-  </ul></td>
 </tr></table>
 
 <h2 id="N">N</h2>
 <table style="width: 100%" class="indextable genindextable"><tr>
   <td style="width: 33%; vertical-align: top;"><ul>
-      <li><a href="api/onnx_systemds/onnx_helper.html#systemds.onnx_systemds.onnx_helper.NodeTree">NodeTree (class in systemds.onnx_systemds.onnx_helper)</a>
-</li>
-  </ul></td>
-  <td style="width: 33%; vertical-align: top;"><ul>
       <li><a href="api/utils/converters.html#systemds.utils.converters.numpy_to_matrix_block">numpy_to_matrix_block() (in module systemds.utils.converters)</a>
 </li>
   </ul></td>
@@ -438,8 +366,6 @@
 <h2 id="O">O</h2>
 <table style="width: 100%" class="indextable genindextable"><tr>
   <td style="width: 33%; vertical-align: top;"><ul>
-      <li><a href="api/onnx_systemds/convert.html#systemds.onnx_systemds.convert.onnx2systemds">onnx2systemds() (in module systemds.onnx_systemds.convert)</a>, <a href="onnx_systemds/onnx_systemds.html#systemds.onnx_systemds.convert.onnx2systemds">[1]</a>
-</li>
       <li><a href="api/operator/operation_node.html#systemds.operator.OperationNode">OperationNode (class in systemds.operator)</a>
 </li>
   </ul></td>
@@ -464,10 +390,6 @@
       </ul></li>
   </ul></td>
   <td style="width: 33%; vertical-align: top;"><ul>
-      <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.pca">pca() (in module systemds.operator.algorithm)</a>
-</li>
-      <li><a href="api/onnx_systemds/onnx_helper.html#systemds.onnx_systemds.onnx_helper.PreparedValue">PreparedValue (class in systemds.onnx_systemds.onnx_helper)</a>
-</li>
       <li><a href="api/operator/operation_node.html#systemds.operator.OperationNode.print">print() (systemds.operator.OperationNode method)</a>
 </li>
   </ul></td>
@@ -478,15 +400,11 @@
   <td style="width: 33%; vertical-align: top;"><ul>
       <li><a href="api/context/systemds_context.html#systemds.context.SystemDSContext.rand">rand() (systemds.context.SystemDSContext method)</a>
 </li>
-      <li><a href="api/context/systemds_context.html#systemds.context.SystemDSContext.read">read() (systemds.context.SystemDSContext method)</a>
-</li>
-      <li><a href="api/onnx_systemds/onnx_helper.html#systemds.onnx_systemds.onnx_helper.NodeTree.remove_end_node">remove_end_node() (systemds.onnx_systemds.onnx_helper.NodeTree method)</a>
+      <li><a href="api/operator/operation_node.html#systemds.operator.OperationNode.rbind">rbind() (systemds.operator.OperationNode method)</a>
 </li>
   </ul></td>
   <td style="width: 33%; vertical-align: top;"><ul>
-      <li><a href="api/onnx_systemds/render.html#systemds.onnx_systemds.render.render_function">render_function() (in module systemds.onnx_systemds.render)</a>
-</li>
-      <li><a href="api/onnx_systemds/util.html#systemds.onnx_systemds.util.resolve_systemds_root">resolve_systemds_root() (in module systemds.onnx_systemds.util)</a>
+      <li><a href="api/context/systemds_context.html#systemds.context.SystemDSContext.read">read() (systemds.context.SystemDSContext method)</a>
 </li>
       <li><a href="api/operator/operation_node.html#systemds.operator.OperationNode.rev">rev() (systemds.operator.OperationNode method)</a>
 </li>
@@ -507,43 +425,6 @@
       <li><a href="api/operator/operation_node.html#systemds.operator.OperationNode.sum">sum() (systemds.operator.OperationNode method)</a>
 </li>
       <li>
-    systemds.onnx_systemds.convert
-
-      <ul>
-        <li><a href="api/onnx_systemds/convert.html#module-systemds.onnx_systemds.convert">module</a>
-</li>
-      </ul></li>
-      <li>
-    systemds.onnx_systemds.onnx_helper
-
-      <ul>
-        <li><a href="api/onnx_systemds/onnx_helper.html#module-systemds.onnx_systemds.onnx_helper">module</a>
-</li>
-      </ul></li>
-      <li>
-    systemds.onnx_systemds.operator_gen
-
-      <ul>
-        <li><a href="api/onnx_systemds/operator_gen.html#module-systemds.onnx_systemds.operator_gen">module</a>
-</li>
-      </ul></li>
-      <li>
-    systemds.onnx_systemds.render
-
-      <ul>
-        <li><a href="api/onnx_systemds/render.html#module-systemds.onnx_systemds.render">module</a>
-</li>
-      </ul></li>
-  </ul></td>
-  <td style="width: 33%; vertical-align: top;"><ul>
-      <li>
-    systemds.onnx_systemds.util
-
-      <ul>
-        <li><a href="api/onnx_systemds/util.html#module-systemds.onnx_systemds.util">module</a>
-</li>
-      </ul></li>
-      <li>
     systemds.operator.algorithm
 
       <ul>
@@ -557,6 +438,8 @@
         <li><a href="api/script_building/dag.html#module-systemds.script_building.dag">module</a>
 </li>
       </ul></li>
+  </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
       <li>
     systemds.script_building.script
 
diff --git a/docs/api/python/getting_started/install.html b/docs/api/python/getting_started/install.html
index 9decfaf..3522fdf 100644
--- a/docs/api/python/getting_started/install.html
+++ b/docs/api/python/getting_started/install.html
@@ -96,11 +96,6 @@
 <li class="toctree-l1"><a class="reference internal" href="../guide/federated.html">Federated Environment</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../guide/algorithms_basics.html">Built-in Algorithms</a></li>
 </ul>
-<p class="caption"><span class="caption-text">Onnx SystemDS</span></p>
-<ul>
-<li class="toctree-l1"><a class="reference internal" href="../onnx_systemds/onnx_systemds.html">QuickStart Onnx</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../onnx_systemds/onnx_systemds_design.html">Design</a></li>
-</ul>
 <p class="caption"><span class="caption-text">API</span></p>
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="../api/operator/algorithms.html">Algorithms</a></li>
@@ -108,11 +103,6 @@
 <li class="toctree-l1"><a class="reference internal" href="../api/matrix/matrix.html">Matrix</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../api/matrix/federated.html">Federated</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../api/operator/operation_node.html">Operation Node</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../api/onnx_systemds/convert.html">Convert</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../api/onnx_systemds/onnx_helper.html">Onnx Helper</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../api/onnx_systemds/operator_gen.html">Operator Gen</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../api/onnx_systemds/render.html">Render</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../api/onnx_systemds/util.html">Util</a></li>
 </ul>
 <p class="caption"><span class="caption-text">Internals API</span></p>
 <ul>
@@ -218,7 +208,7 @@
 <p>Once installed you please verify your version numbers.
 Additionally you have to install a few python packages.
 Note depending on your installation you might need to use pip3 instead of pip:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">pip</span> <span class="n">install</span> <span class="n">numpy</span> <span class="n">py4j</span> <span class="n">wheel</span> <span class="n">jinja2</span> <span class="n">onnx</span> <span class="n">requests</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">pip</span> <span class="n">install</span> <span class="n">numpy</span> <span class="n">py4j</span> <span class="n">wheel</span> <span class="n">requests</span>
 </pre></div>
 </div>
 <p>Then to build the system you do the following</p>
diff --git a/docs/api/python/getting_started/simple_examples.html b/docs/api/python/getting_started/simple_examples.html
index eba10ec..8cc5dd6 100644
--- a/docs/api/python/getting_started/simple_examples.html
+++ b/docs/api/python/getting_started/simple_examples.html
@@ -96,11 +96,6 @@
 <li class="toctree-l1"><a class="reference internal" href="../guide/federated.html">Federated Environment</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../guide/algorithms_basics.html">Built-in Algorithms</a></li>
 </ul>
-<p class="caption"><span class="caption-text">Onnx SystemDS</span></p>
-<ul>
-<li class="toctree-l1"><a class="reference internal" href="../onnx_systemds/onnx_systemds.html">QuickStart Onnx</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../onnx_systemds/onnx_systemds_design.html">Design</a></li>
-</ul>
 <p class="caption"><span class="caption-text">API</span></p>
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="../api/operator/algorithms.html">Algorithms</a></li>
@@ -108,11 +103,6 @@
 <li class="toctree-l1"><a class="reference internal" href="../api/matrix/matrix.html">Matrix</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../api/matrix/federated.html">Federated</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../api/operator/operation_node.html">Operation Node</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../api/onnx_systemds/convert.html">Convert</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../api/onnx_systemds/onnx_helper.html">Onnx Helper</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../api/onnx_systemds/operator_gen.html">Operator Gen</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../api/onnx_systemds/render.html">Render</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../api/onnx_systemds/util.html">Util</a></li>
 </ul>
 <p class="caption"><span class="caption-text">Internals API</span></p>
 <ul>
diff --git a/docs/api/python/guide/algorithms_basics.html b/docs/api/python/guide/algorithms_basics.html
index 714b2c1..2f971ef 100644
--- a/docs/api/python/guide/algorithms_basics.html
+++ b/docs/api/python/guide/algorithms_basics.html
@@ -36,7 +36,7 @@
     
     <link rel="index" title="Index" href="../genindex.html" />
     <link rel="search" title="Search" href="../search.html" />
-    <link rel="next" title="QuickStart Onnx" href="../onnx_systemds/onnx_systemds.html" />
+    <link rel="next" title="Algorithms" href="../api/operator/algorithms.html" />
     <link rel="prev" title="Federated Environment" href="federated.html" /> 
 </head>
 
@@ -100,11 +100,6 @@
 </ul>
 </li>
 </ul>
-<p class="caption"><span class="caption-text">Onnx SystemDS</span></p>
-<ul>
-<li class="toctree-l1"><a class="reference internal" href="../onnx_systemds/onnx_systemds.html">QuickStart Onnx</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../onnx_systemds/onnx_systemds_design.html">Design</a></li>
-</ul>
 <p class="caption"><span class="caption-text">API</span></p>
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="../api/operator/algorithms.html">Algorithms</a></li>
@@ -112,11 +107,6 @@
 <li class="toctree-l1"><a class="reference internal" href="../api/matrix/matrix.html">Matrix</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../api/matrix/federated.html">Federated</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../api/operator/operation_node.html">Operation Node</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../api/onnx_systemds/convert.html">Convert</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../api/onnx_systemds/onnx_helper.html">Onnx Helper</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../api/onnx_systemds/operator_gen.html">Operator Gen</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../api/onnx_systemds/render.html">Render</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../api/onnx_systemds/util.html">Util</a></li>
 </ul>
 <p class="caption"><span class="caption-text">Internals API</span></p>
 <ul>
@@ -357,7 +347,7 @@
   
     <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
       
-        <a href="../onnx_systemds/onnx_systemds.html" class="btn btn-neutral float-right" title="QuickStart Onnx" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
+        <a href="../api/operator/algorithms.html" class="btn btn-neutral float-right" title="Algorithms" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
       
       
         <a href="federated.html" class="btn btn-neutral float-left" title="Federated Environment" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
diff --git a/docs/api/python/guide/federated.html b/docs/api/python/guide/federated.html
index 4ef36c2..88b51eb 100644
--- a/docs/api/python/guide/federated.html
+++ b/docs/api/python/guide/federated.html
@@ -97,11 +97,6 @@
 </li>
 <li class="toctree-l1"><a class="reference internal" href="algorithms_basics.html">Built-in Algorithms</a></li>
 </ul>
-<p class="caption"><span class="caption-text">Onnx SystemDS</span></p>
-<ul>
-<li class="toctree-l1"><a class="reference internal" href="../onnx_systemds/onnx_systemds.html">QuickStart Onnx</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../onnx_systemds/onnx_systemds_design.html">Design</a></li>
-</ul>
 <p class="caption"><span class="caption-text">API</span></p>
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="../api/operator/algorithms.html">Algorithms</a></li>
@@ -109,11 +104,6 @@
 <li class="toctree-l1"><a class="reference internal" href="../api/matrix/matrix.html">Matrix</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../api/matrix/federated.html">Federated</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../api/operator/operation_node.html">Operation Node</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../api/onnx_systemds/convert.html">Convert</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../api/onnx_systemds/onnx_helper.html">Onnx Helper</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../api/onnx_systemds/operator_gen.html">Operator Gen</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../api/onnx_systemds/render.html">Render</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../api/onnx_systemds/util.html">Util</a></li>
 </ul>
 <p class="caption"><span class="caption-text">Internals API</span></p>
 <ul>
diff --git a/docs/api/python/images/sample_graph.png b/docs/api/python/images/sample_graph.png
deleted file mode 100644
index 630a98d..0000000
--- a/docs/api/python/images/sample_graph.png
+++ /dev/null
Binary files differ
diff --git a/docs/api/python/index.html b/docs/api/python/index.html
index 2b66c51..58d7796 100644
--- a/docs/api/python/index.html
+++ b/docs/api/python/index.html
@@ -91,11 +91,6 @@
 <li class="toctree-l1"><a class="reference internal" href="guide/federated.html">Federated Environment</a></li>
 <li class="toctree-l1"><a class="reference internal" href="guide/algorithms_basics.html">Built-in Algorithms</a></li>
 </ul>
-<p class="caption"><span class="caption-text">Onnx SystemDS</span></p>
-<ul>
-<li class="toctree-l1"><a class="reference internal" href="onnx_systemds/onnx_systemds.html">QuickStart Onnx</a></li>
-<li class="toctree-l1"><a class="reference internal" href="onnx_systemds/onnx_systemds_design.html">Design</a></li>
-</ul>
 <p class="caption"><span class="caption-text">API</span></p>
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="api/operator/algorithms.html">Algorithms</a></li>
@@ -103,11 +98,6 @@
 <li class="toctree-l1"><a class="reference internal" href="api/matrix/matrix.html">Matrix</a></li>
 <li class="toctree-l1"><a class="reference internal" href="api/matrix/federated.html">Federated</a></li>
 <li class="toctree-l1"><a class="reference internal" href="api/operator/operation_node.html">Operation Node</a></li>
-<li class="toctree-l1"><a class="reference internal" href="api/onnx_systemds/convert.html">Convert</a></li>
-<li class="toctree-l1"><a class="reference internal" href="api/onnx_systemds/onnx_helper.html">Onnx Helper</a></li>
-<li class="toctree-l1"><a class="reference internal" href="api/onnx_systemds/operator_gen.html">Operator Gen</a></li>
-<li class="toctree-l1"><a class="reference internal" href="api/onnx_systemds/render.html">Render</a></li>
-<li class="toctree-l1"><a class="reference internal" href="api/onnx_systemds/util.html">Util</a></li>
 </ul>
 <p class="caption"><span class="caption-text">Internals API</span></p>
 <ul>
@@ -204,8 +194,6 @@
 </div>
 <div class="toctree-wrapper compound">
 </div>
-<div class="toctree-wrapper compound">
-</div>
 </div>
 
 
diff --git a/docs/api/python/objects.inv b/docs/api/python/objects.inv
index 300d981..d7547c3 100644
--- a/docs/api/python/objects.inv
+++ b/docs/api/python/objects.inv
Binary files differ
diff --git a/docs/api/python/onnx_systemds/onnx_systemds.html b/docs/api/python/onnx_systemds/onnx_systemds.html
deleted file mode 100644
index 919ae9e..0000000
--- a/docs/api/python/onnx_systemds/onnx_systemds.html
+++ /dev/null
@@ -1,298 +0,0 @@
-
-
-<!DOCTYPE html>
-<html class="writer-html5" lang="en" >
-<head>
-  <meta charset="utf-8">
-  
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  
-  <title>QuickStart Onnx &mdash; SystemDS 2.0.0 documentation</title>
-  
-
-  
-  <link rel="stylesheet" href="../static/css/theme.css" type="text/css" />
-  <link rel="stylesheet" href="../static/pygments.css" type="text/css" />
-
-  
-  
-  
-  
-
-  
-  <!--[if lt IE 9]>
-    <script src="../static/js/html5shiv.min.js"></script>
-  <![endif]-->
-  
-    
-      <script type="text/javascript" id="documentation_options" data-url_root="../" src="../static/documentation_options.js"></script>
-        <script src="../static/jquery.js"></script>
-        <script src="../static/underscore.js"></script>
-        <script src="../static/doctools.js"></script>
-        <script src="../static/language_data.js"></script>
-    
-    <script type="text/javascript" src="../static/js/theme.js"></script>
-
-    
-    <link rel="index" title="Index" href="../genindex.html" />
-    <link rel="search" title="Search" href="../search.html" />
-    <link rel="next" title="Design" href="onnx_systemds_design.html" />
-    <link rel="prev" title="Built-in Algorithms" href="../guide/algorithms_basics.html" /> 
-</head>
-
-<body class="wy-body-for-nav">
-
-   
-  <div class="wy-grid-for-nav">
-    
-    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
-      <div class="wy-side-scroll">
-        <div class="wy-side-nav-search" >
-          
-
-          
-            <a href="../index.html" class="icon icon-home" alt="Documentation Home"> SystemDS
-          
-
-          
-          </a>
-
-          
-            
-            
-          
-
-          
-<div role="search">
-  <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
-    <input type="text" name="q" placeholder="Search docs" />
-    <input type="hidden" name="check_keywords" value="yes" />
-    <input type="hidden" name="area" value="default" />
-  </form>
-</div>
-
-          
-        </div>
-
-        
-        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
-          
-            
-            
-              
-            
-            
-              <p class="caption"><span class="caption-text">Getting Started:</span></p>
-<ul>
-<li class="toctree-l1"><a class="reference internal" href="../getting_started/install.html">Install SystemDS</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../getting_started/simple_examples.html">QuickStart</a></li>
-</ul>
-<p class="caption"><span class="caption-text">Guides</span></p>
-<ul>
-<li class="toctree-l1"><a class="reference internal" href="../guide/federated.html">Federated Environment</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../guide/algorithms_basics.html">Built-in Algorithms</a></li>
-</ul>
-<p class="caption"><span class="caption-text">Onnx SystemDS</span></p>
-<ul class="current">
-<li class="toctree-l1 current"><a class="current reference internal" href="#">QuickStart Onnx</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="#prerequisites">Prerequisites</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#usage">Usage</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#run-tests">Run Tests</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#converter">Converter</a></li>
-</ul>
-</li>
-<li class="toctree-l1"><a class="reference internal" href="onnx_systemds_design.html">Design</a></li>
-</ul>
-<p class="caption"><span class="caption-text">API</span></p>
-<ul>
-<li class="toctree-l1"><a class="reference internal" href="../api/operator/algorithms.html">Algorithms</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../api/context/systemds_context.html">SystemDSContext</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../api/matrix/matrix.html">Matrix</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../api/matrix/federated.html">Federated</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../api/operator/operation_node.html">Operation Node</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../api/onnx_systemds/convert.html">Convert</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../api/onnx_systemds/onnx_helper.html">Onnx Helper</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../api/onnx_systemds/operator_gen.html">Operator Gen</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../api/onnx_systemds/render.html">Render</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../api/onnx_systemds/util.html">Util</a></li>
-</ul>
-<p class="caption"><span class="caption-text">Internals API</span></p>
-<ul>
-<li class="toctree-l1"><a class="reference internal" href="../api/script_building/dag.html">Dag</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../api/script_building/script.html">Script</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../api/utils/converters.html">Converters</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../api/utils/helpers.html">Helpers</a></li>
-</ul>
-
-            
-          
-        </div>
-        
-      </div>
-    </nav>
-
-    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
-
-      
-      <nav class="wy-nav-top" aria-label="top navigation">
-        
-          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
-          <a href="../index.html">SystemDS</a>
-        
-      </nav>
-
-
-      <div class="wy-nav-content">
-        
-        <div class="rst-content">
-        
-          
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-<div role="navigation" aria-label="breadcrumbs navigation">
-
-  <ul class="wy-breadcrumbs">
-    
-      <li><a href="../index.html" class="icon icon-home"></a> &raquo;</li>
-        
-      <li>QuickStart Onnx</li>
-    
-    
-      <li class="wy-breadcrumbs-aside">
-        
-            
-            <a href="../sources/onnx_systemds/onnx_systemds.rst.txt" rel="nofollow"> View page source</a>
-          
-        
-      </li>
-    
-  </ul>
-
-  
-  <hr/>
-</div>
-          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
-           <div itemprop="articleBody">
-            
-  <div class="section" id="quickstart-onnx">
-<h1>QuickStart Onnx<a class="headerlink" href="#quickstart-onnx" title="Permalink to this headline">¶</a></h1>
-<p>onnx-systemds is a tool for importing/exporting onnx graphs into/from SystemDS DML scripts.</p>
-<div class="section" id="prerequisites">
-<h2>Prerequisites<a class="headerlink" href="#prerequisites" title="Permalink to this headline">¶</a></h2>
-<p>to run onnx-systemds you need to:</p>
-<ul class="simple">
-<li><p>install <a class="reference external" href="https://github.com/onnx/onnx">onnx</a>: <a class="reference external" href="https://github.com/onnx/onnx#installation">Installation instructions</a></p></li>
-<li><p><a class="reference external" href="https://github.com/apache/systemds/blob/master/bin/README.md">set up the environment</a></p></li>
-</ul>
-</div>
-<div class="section" id="usage">
-<h2>Usage<a class="headerlink" href="#usage" title="Permalink to this headline">¶</a></h2>
-<p>An example call from the <code class="docutils literal notranslate"><span class="pre">src/main/python</span></code> directory of systemds:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">python</span> <span class="o">-</span><span class="n">m</span> <span class="n">systemds</span><span class="o">.</span><span class="n">onnx_systemds</span><span class="o">.</span><span class="n">convert</span> <span class="n">tests</span><span class="o">/</span><span class="n">onnx</span><span class="o">/</span><span class="n">test_models</span><span class="o">/</span><span class="n">simple_mat_add</span><span class="o">.</span><span class="n">onnx</span>
-</pre></div>
-</div>
-<p>This will generate the dml script <code class="docutils literal notranslate"><span class="pre">simple_mat_add.dml</span></code> in the current directory.</p>
-</div>
-<div class="section" id="run-tests">
-<h2>Run Tests<a class="headerlink" href="#run-tests" title="Permalink to this headline">¶</a></h2>
-<p>Form the <code class="docutils literal notranslate"><span class="pre">src/main/python</span></code> directory of systemds:</p>
-<p>At first generate the test models:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">python</span> <span class="n">tests</span><span class="o">/</span><span class="n">onnx</span><span class="o">/</span><span class="n">test_models</span><span class="o">/</span><span class="n">model_generate</span><span class="o">.</span><span class="n">py</span>
-</pre></div>
-</div>
-<p>Then you can run the tests:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">python</span> <span class="o">-</span><span class="n">m</span> <span class="n">unittest</span> <span class="n">tests</span><span class="o">/</span><span class="n">onnx</span><span class="o">/</span><span class="n">test_simple</span><span class="o">.</span><span class="n">py</span>
-</pre></div>
-</div>
-</div>
-<div class="section" id="converter">
-<h2>Converter<a class="headerlink" href="#converter" title="Permalink to this headline">¶</a></h2>
-<p>It is also possible to invoke the converter from within python.</p>
-<dl class="py function">
-<dt id="systemds.onnx_systemds.convert.onnx2systemds">
-<code class="sig-prename descclassname">systemds.onnx_systemds.convert.</code><code class="sig-name descname">onnx2systemds</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">input_onnx_file</span><span class="p">:</span> <span class="n">str</span></em>, <em class="sig-param"><span class="n">output_dml_file</span><span class="p">:</span> <span class="n">str</span> <span class="o">=</span> <span class="default_value">None</span></em><span class="sig-paren">)</span> &#x2192; None<a class="headerlink" href="#systemds.onnx_systemds.convert.onnx2systemds" title="Permalink to this definition">¶</a></dt>
-<dd><p>Loads the model from the input file and generates a dml file.</p>
-<dl class="field-list simple">
-<dt class="field-odd">Parameters</dt>
-<dd class="field-odd"><ul class="simple">
-<li><p><strong>input_onnx_file</strong> – the onnx input file</p></li>
-<li><p><strong>output_dml_file</strong> – (optional) the dml output file,
-if this parameter is not given the output file will have the same name as the input file</p></li>
-</ul>
-</dd>
-</dl>
-</dd></dl>
-
-</div>
-</div>
-
-
-           </div>
-           
-          </div>
-          <footer>
-  
-    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
-      
-        <a href="onnx_systemds_design.html" class="btn btn-neutral float-right" title="Design" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
-      
-      
-        <a href="../guide/algorithms_basics.html" class="btn btn-neutral float-left" title="Built-in Algorithms" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
-      
-    </div>
-  
-
-  <hr/>
-
-  <div role="contentinfo">
-    <p>
-        
-        &copy; Copyright 2020, Apache SystemDS
-
-    </p>
-  </div>
-    
-    
-    
-    Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a
-    
-    <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a>
-    
-    provided by <a href="https://readthedocs.org">Read the Docs</a>. 
-
-</footer>
-
-        </div>
-      </div>
-
-    </section>
-
-  </div>
-  
-
-  <script type="text/javascript">
-      jQuery(function () {
-          SphinxRtdTheme.Navigation.enable(true);
-      });
-  </script>
-
-  
-  
-    
-   
-
-</body>
-</html>
\ No newline at end of file
diff --git a/docs/api/python/onnx_systemds/onnx_systemds_design.html b/docs/api/python/onnx_systemds/onnx_systemds_design.html
deleted file mode 100644
index 8795d07..0000000
--- a/docs/api/python/onnx_systemds/onnx_systemds_design.html
+++ /dev/null
@@ -1,451 +0,0 @@
-
-
-<!DOCTYPE html>
-<html class="writer-html5" lang="en" >
-<head>
-  <meta charset="utf-8">
-  
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  
-  <title>Design &mdash; SystemDS 2.0.0 documentation</title>
-  
-
-  
-  <link rel="stylesheet" href="../static/css/theme.css" type="text/css" />
-  <link rel="stylesheet" href="../static/pygments.css" type="text/css" />
-
-  
-  
-  
-  
-
-  
-  <!--[if lt IE 9]>
-    <script src="../static/js/html5shiv.min.js"></script>
-  <![endif]-->
-  
-    
-      <script type="text/javascript" id="documentation_options" data-url_root="../" src="../static/documentation_options.js"></script>
-        <script src="../static/jquery.js"></script>
-        <script src="../static/underscore.js"></script>
-        <script src="../static/doctools.js"></script>
-        <script src="../static/language_data.js"></script>
-    
-    <script type="text/javascript" src="../static/js/theme.js"></script>
-
-    
-    <link rel="index" title="Index" href="../genindex.html" />
-    <link rel="search" title="Search" href="../search.html" />
-    <link rel="next" title="Algorithms" href="../api/operator/algorithms.html" />
-    <link rel="prev" title="QuickStart Onnx" href="onnx_systemds.html" /> 
-</head>
-
-<body class="wy-body-for-nav">
-
-   
-  <div class="wy-grid-for-nav">
-    
-    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
-      <div class="wy-side-scroll">
-        <div class="wy-side-nav-search" >
-          
-
-          
-            <a href="../index.html" class="icon icon-home" alt="Documentation Home"> SystemDS
-          
-
-          
-          </a>
-
-          
-            
-            
-          
-
-          
-<div role="search">
-  <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
-    <input type="text" name="q" placeholder="Search docs" />
-    <input type="hidden" name="check_keywords" value="yes" />
-    <input type="hidden" name="area" value="default" />
-  </form>
-</div>
-
-          
-        </div>
-
-        
-        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
-          
-            
-            
-              
-            
-            
-              <p class="caption"><span class="caption-text">Getting Started:</span></p>
-<ul>
-<li class="toctree-l1"><a class="reference internal" href="../getting_started/install.html">Install SystemDS</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../getting_started/simple_examples.html">QuickStart</a></li>
-</ul>
-<p class="caption"><span class="caption-text">Guides</span></p>
-<ul>
-<li class="toctree-l1"><a class="reference internal" href="../guide/federated.html">Federated Environment</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../guide/algorithms_basics.html">Built-in Algorithms</a></li>
-</ul>
-<p class="caption"><span class="caption-text">Onnx SystemDS</span></p>
-<ul class="current">
-<li class="toctree-l1"><a class="reference internal" href="onnx_systemds.html">QuickStart Onnx</a></li>
-<li class="toctree-l1 current"><a class="current reference internal" href="#">Design</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="#goals">Goals</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#limitations">Limitations</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#onnx-operators">Onnx - Operators</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#onnx-files">Onnx - Files</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#traversing-the-graph">Traversing the Graph</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="#graph-traversal">Graph traversal</a></li>
-<li class="toctree-l3"><a class="reference internal" href="#example">Example</a></li>
-</ul>
-</li>
-<li class="toctree-l2"><a class="reference internal" href="#rendering-dml-scripts">Rendering DML scripts</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="#dml-script">1. <cite>dml_script</cite></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#imports">2. <cite>imports</cite></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#sub-graphs">3. <cite>sub_graphs</cite></a></li>
-</ul>
-</li>
-<li class="toctree-l2"><a class="reference internal" href="#final-script">Final Script</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#implementing-new-operators">Implementing new operators</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#testing-models">Testing models</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="#creating-a-testcase">Creating a Testcase</a><ul>
-<li class="toctree-l4"><a class="reference internal" href="#steps">Steps:</a></li>
-</ul>
-</li>
-</ul>
-</li>
-<li class="toctree-l2"><a class="reference internal" href="#tools">Tools</a></li>
-</ul>
-</li>
-</ul>
-<p class="caption"><span class="caption-text">API</span></p>
-<ul>
-<li class="toctree-l1"><a class="reference internal" href="../api/operator/algorithms.html">Algorithms</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../api/context/systemds_context.html">SystemDSContext</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../api/matrix/matrix.html">Matrix</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../api/matrix/federated.html">Federated</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../api/operator/operation_node.html">Operation Node</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../api/onnx_systemds/convert.html">Convert</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../api/onnx_systemds/onnx_helper.html">Onnx Helper</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../api/onnx_systemds/operator_gen.html">Operator Gen</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../api/onnx_systemds/render.html">Render</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../api/onnx_systemds/util.html">Util</a></li>
-</ul>
-<p class="caption"><span class="caption-text">Internals API</span></p>
-<ul>
-<li class="toctree-l1"><a class="reference internal" href="../api/script_building/dag.html">Dag</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../api/script_building/script.html">Script</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../api/utils/converters.html">Converters</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../api/utils/helpers.html">Helpers</a></li>
-</ul>
-
-            
-          
-        </div>
-        
-      </div>
-    </nav>
-
-    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
-
-      
-      <nav class="wy-nav-top" aria-label="top navigation">
-        
-          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
-          <a href="../index.html">SystemDS</a>
-        
-      </nav>
-
-
-      <div class="wy-nav-content">
-        
-        <div class="rst-content">
-        
-          
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-<div role="navigation" aria-label="breadcrumbs navigation">
-
-  <ul class="wy-breadcrumbs">
-    
-      <li><a href="../index.html" class="icon icon-home"></a> &raquo;</li>
-        
-      <li>Design</li>
-    
-    
-      <li class="wy-breadcrumbs-aside">
-        
-            
-            <a href="../sources/onnx_systemds/onnx_systemds_design.rst.txt" rel="nofollow"> View page source</a>
-          
-        
-      </li>
-    
-  </ul>
-
-  
-  <hr/>
-</div>
-          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
-           <div itemprop="articleBody">
-            
-  <div class="section" id="design">
-<h1>Design<a class="headerlink" href="#design" title="Permalink to this headline">¶</a></h1>
-<p>This document describes the initial design of <cite>onnx-systemds</cite></p>
-<p>For dealing with different operator-set versions of onnx the current strategy is to use the
-<a class="reference external" href="https://github.com/onnx/onnx/blob/master/docs/PythonAPIOverview.md#converting-version-of-an-onnx-model-within-default-domain-aionnx">converter provided by onnx</a> to convert to a common version.</p>
-<p>However, the converter does not support adapters for all op-sets/operators so this conversion will fail for many models.
-On the onnx repository you can find a list of
-<a class="reference external" href="https://github.com/onnx/onnx/blob/master/onnx/version_converter.py#L21">currently supported adapters</a></p>
-<div class="section" id="goals">
-<h2>Goals<a class="headerlink" href="#goals" title="Permalink to this headline">¶</a></h2>
-<blockquote>
-<div><ul class="simple">
-<li><p>Support for importing <a class="reference external" href="https://github.com/onnx/onnx/blob/master/docs/Operators.md">operators of the ONNX base definition</a></p></li>
-<li><p>Support for importing <a class="reference external" href="https://github.com/onnx/onnx/blob/master/docs/Operators-ml.md">operators defined by ONNX-ML</a></p></li>
-<li><p>Support for exporting DML script to ONNX graphs</p></li>
-</ul>
-</div></blockquote>
-</div>
-<div class="section" id="limitations">
-<h2>Limitations<a class="headerlink" href="#limitations" title="Permalink to this headline">¶</a></h2>
-<blockquote>
-<div><ul class="simple">
-<li><p>Not able to support all data types / operators as they are not currently supported by SystemDS</p></li>
-</ul>
-</div></blockquote>
-</div>
-<div class="section" id="onnx-operators">
-<h2>Onnx - Operators<a class="headerlink" href="#onnx-operators" title="Permalink to this headline">¶</a></h2>
-<p>Onnx includes several very simple and also more complex operators.
-When implementing an operator it’s best to have a look at the
-<a class="reference external" href="https://github.com/onnx/onnx/blob/master/docs/Operators.md">operator schemas</a>,
-which precisely define the inputs, outputs and attributes of the operation.</p>
-<p>Besides the standard onnx definition, there also exists onnx-ML the operator schemas for which are defined in a
-<a class="reference external" href="https://github.com/onnx/onnx/blob/master/docs/Operators-ml.md">separate document</a>.
-It is an extension of the standard onnx format, however currently only onnx standard operators are supported.</p>
-</div>
-<div class="section" id="onnx-files">
-<h2>Onnx - Files<a class="headerlink" href="#onnx-files" title="Permalink to this headline">¶</a></h2>
-<p>Onnx uses the <a class="reference external" href="https://developers.google.com/protocol-buffers/">ProtoBuf format</a>.
-It specifies this representation in several <code class="docutils literal notranslate"><span class="pre">.proto</span></code>/<code class="docutils literal notranslate"><span class="pre">.proto3</span></code>
-<a class="reference external" href="https://github.com/onnx/onnx/tree/master/onnx">files</a> again with dedicated files for onnx-ML.
-These files are helpful to understand the underlying structure and values that are possible.</p>
-<p>Protobuf creates the underlying structure such that you can access elements of the onnx graph as if they were
-class members. For more information take a look at
-<a class="reference external" href="https://developers.google.com/protocol-buffers/docs/pythontutorial#the-protocol-buffer-api">Google’s protocol-buffer documentation</a>.</p>
-<p>This is also why in its current form, this converter does not convert the protobuf-structure into an internal format,
-as the provided protobuf structure can already be conveniently used. Instead,
-there exist a number of onnx-helper functions/classes (see <code class="docutils literal notranslate"><span class="pre">onnx_helper.py</span></code>).</p>
-</div>
-<div class="section" id="traversing-the-graph">
-<h2>Traversing the Graph<a class="headerlink" href="#traversing-the-graph" title="Permalink to this headline">¶</a></h2>
-<p>For creating the script, it is essential to insert computations in the right order into the dml-script.
-To do this, the converter builds a tree-structure (DAG) from the protobuf-nodes
-(see <cite>render.gen_graph_functions</cite>).</p>
-<blockquote>
-<div><ul class="simple">
-<li><p>For traversing the graph, we start from the bottom.</p></li>
-<li><p>The converter starts with the graph-outputs as available outputs.</p></li>
-<li><p>It generates the dml snippets in reverse-order</p></li>
-</ul>
-</div></blockquote>
-<div class="section" id="graph-traversal">
-<h3>Graph traversal<a class="headerlink" href="#graph-traversal" title="Permalink to this headline">¶</a></h3>
-<ol class="arabic">
-<li><p>Find a node for which all outputs are available.</p></li>
-<li><p>Process the node:</p>
-<blockquote>
-<div><ul class="simple">
-<li><p>Generate the dml parts for this node</p></li>
-<li><p>add its inputs to the list of available outputs</p></li>
-<li><p>remove the node from the graph</p></li>
-</ul>
-</div></blockquote>
-</li>
-<li><p>if there are nodes left restart at 1.</p></li>
-</ol>
-</div>
-<div class="section" id="example">
-<h3>Example<a class="headerlink" href="#example" title="Permalink to this headline">¶</a></h3>
-<p>In the example below with the nodes <code class="docutils literal notranslate"><span class="pre">Add</span></code>, <code class="docutils literal notranslate"><span class="pre">MatMul</span></code> and <code class="docutils literal notranslate"><span class="pre">Sub</span></code>, we would start with <code class="docutils literal notranslate"><span class="pre">F</span></code> as available output.
-Therefore the first node to insert would be <code class="docutils literal notranslate"><span class="pre">Sub</span></code>. After inserting <code class="docutils literal notranslate"><span class="pre">Sub</span></code> its inputs become available outputs,
-therefore all outputs of <code class="docutils literal notranslate"><span class="pre">MatMul</span></code> become available. Finally, after removing <code class="docutils literal notranslate"><span class="pre">MatMul</span></code> from the graph all outputs
-to <code class="docutils literal notranslate"><span class="pre">Add</span></code> are available, and it can be removed from the graph as well.</p>
-<a class="reference internal image-reference" href="../images/sample_graph.png"><img alt="sample graph" class="align-center" src="../images/sample_graph.png" style="width: 200px;" /></a>
-</div>
-</div>
-<div class="section" id="rendering-dml-scripts">
-<h2>Rendering DML scripts<a class="headerlink" href="#rendering-dml-scripts" title="Permalink to this headline">¶</a></h2>
-<p>The main idea of this converter is, that the logic for generating the actual dml-syntax is handled by
-<a class="reference external" href="https://jinja.palletsprojects.com/en/2.11.x/">Jinja templates</a> (located in <code class="docutils literal notranslate"><span class="pre">/templates</span></code>).
-Therefore the python code stays uncluttered, because it does not have to merge strings together to produce valid
-dml-syntax and instead simply provides the elements that are needed to render the script.</p>
-<p>The template-engine then takes these inputs and renders a human readable script with valid dml syntax.
-To improve readability the generator also automatically ads the doc-strings which are part of the onnx-definitions as
-comments to the script.</p>
-<p>When traversing the graph, a script part is generated for each node consisting of three elements:</p>
-<blockquote>
-<div><ul class="simple">
-<li><p><cite>dml_script</cite> The actual script snipped for the node</p></li>
-<li><p><cite>imports</cite> Imports required for the node</p></li>
-<li><p><cite>sub_graphs</cite> Any sub_graphs of the node that need to be handled</p></li>
-</ul>
-</div></blockquote>
-<p>The function that is called for rendering a specific operator is defined in the dictionary
-<code class="docutils literal notranslate"><span class="pre">operator_generators</span></code> in <code class="docutils literal notranslate"><span class="pre">render.py</span></code></p>
-<div class="section" id="dml-script">
-<h3>1. <cite>dml_script</cite><a class="headerlink" href="#dml-script" title="Permalink to this headline">¶</a></h3>
-<p>Depending on the operator this can be a function call or a more complex dml-snippet.
-This part is generated by the template-engine when the corresponding template is rendered.</p>
-<p>Many onnx-operators can be handled by a single template file. There exists a <code class="docutils literal notranslate"><span class="pre">function_call.dml.jinja</span></code>
-template which should be able to handle a large number of operators.</p>
-</div>
-<div class="section" id="imports">
-<h3>2. <cite>imports</cite><a class="headerlink" href="#imports" title="Permalink to this headline">¶</a></h3>
-<p>Some operators are handled by calling scripts provided by systemds located in <code class="docutils literal notranslate"><span class="pre">$SYSTEMDS_ROOT/scripts</span></code>.
-To enable these imports, the converter automatically resolves the <code class="docutils literal notranslate"><span class="pre">$SYSTEMDS_ROOT</span></code>
-environment variable and adds a <code class="docutils literal notranslate"><span class="pre">setw($SYSTEMDS_ROOT/scripts)</span></code> to the script.</p>
-</div>
-<div class="section" id="sub-graphs">
-<h3>3. <cite>sub_graphs</cite><a class="headerlink" href="#sub-graphs" title="Permalink to this headline">¶</a></h3>
-<p>Since sub-graphs have their own variable scope and are independent, they are handled as separate functions.
-The converter generates a function for each graph in the model.
-In the main-graph, the sub-graph is replaced by a function call to the sub-graph function.
-To handle this the function <code class="docutils literal notranslate"><span class="pre">render.gen_graph_functions</span></code> recursively calls itself to render sub-graph functions
-(and also the sub-graph functions of sub-graphs and so on…).</p>
-</div>
-</div>
-<div class="section" id="final-script">
-<h2>Final Script<a class="headerlink" href="#final-script" title="Permalink to this headline">¶</a></h2>
-<p>In the final render all required imports, the sub-functions and the main-function are combined in a single dml-file.</p>
-</div>
-<div class="section" id="implementing-new-operators">
-<h2>Implementing new operators<a class="headerlink" href="#implementing-new-operators" title="Permalink to this headline">¶</a></h2>
-<p>When implementing an operator it’s best to have a look at the
-<a class="reference external" href="https://github.com/onnx/onnx/blob/master/docs/Operators.md">operator schemas</a>
-which exactly define the inputs, outputs and attributes of the operation</p>
-<p>It is also nice to have a test-model to work with, to generate one refer to
-<code class="docutils literal notranslate"><span class="pre">tests/onnx/test_models/model_generate.py</span></code>.</p>
-<p>To implement a new operator, the function that handles the operator needs to be defined in the <code class="docutils literal notranslate"><span class="pre">operator_generators</span></code>
-located in <code class="docutils literal notranslate"><span class="pre">render.py</span></code>.
-All functions listed in this dictionary need to have the same call structure.</p>
-<p>If there exists a dml-script (in <code class="docutils literal notranslate"><span class="pre">$SYSTEMDS_ROOT/scripts</span></code>) that provides the functionality the operator
-can be implemented by translating the arguments/inputs, adding the import-render and function-call-render to this script.</p>
-</div>
-<div class="section" id="testing-models">
-<h2>Testing models<a class="headerlink" href="#testing-models" title="Permalink to this headline">¶</a></h2>
-<p>onnx provides a convenient way for
-<a class="reference external" href="https://github.com/onnx/onnx/blob/master/docs/PythonAPIOverview.md#checking-an-onnx-model">creating models</a>
-using helper functions in python. All current test-models are produced like this (see <code class="docutils literal notranslate"><span class="pre">tests/onnx/test_models</span></code>).</p>
-<div class="section" id="creating-a-testcase">
-<h3>Creating a Testcase<a class="headerlink" href="#creating-a-testcase" title="Permalink to this headline">¶</a></h3>
-<p>The current test-system takes a model, converts it to dml using the converter and then runs a
-<code class="docutils literal notranslate"><span class="pre">dml_wrapper</span></code> which calls the model-function using the script <code class="docutils literal notranslate"><span class="pre">$SYSTEMDS_ROOT/bin/systemds</span></code>.
-Finally, the output (stored by the dml-wrapper) is compared to a reference output.</p>
-<p>When creating files stick to the naming conventions of other files in the same folder.</p>
-<div class="section" id="steps">
-<h4>Steps:<a class="headerlink" href="#steps" title="Permalink to this headline">¶</a></h4>
-<ol class="arabic">
-<li><p>Create a model in <code class="docutils literal notranslate"><span class="pre">tests/onnx/test_models</span></code>, e.g. <code class="docutils literal notranslate"><span class="pre">sample_model.onnx</span></code></p></li>
-<li><p>Create a dml wrapper that calls the model-function in <code class="docutils literal notranslate"><span class="pre">tests/onnx/dml_wrapper/sample_model_wrapper.dml</span></code></p>
-<blockquote>
-<div><ul class="simple">
-<li><p>The wrapper needs to call the model-function and store the output to <code class="docutils literal notranslate"><span class="pre">output_test/sample_model.out</span></code></p></li>
-<li><p>The name of the model-function is generated from the model-name (see <code class="docutils literal notranslate"><span class="pre">util.generate_function_name</span></code> )</p></li>
-</ul>
-</div></blockquote>
-</li>
-<li><p>Provide a reference output in <code class="docutils literal notranslate"><span class="pre">tests/onnx/output_reference/sample_model_reference.out</span></code></p></li>
-<li><p>Create the unit test function.</p></li>
-</ol>
-</div>
-</div>
-</div>
-<div class="section" id="tools">
-<h2>Tools<a class="headerlink" href="#tools" title="Permalink to this headline">¶</a></h2>
-<blockquote>
-<div><ul class="simple">
-<li><p><a class="reference external" href="https://www.jetbrains.com/pycharm/">Pycharm</a> in the professional version allows you to  <a class="reference external" href="https://www.jetbrains.com/help/pycharm/templates.html#debug">debug template files</a> which can be handy</p></li>
-<li><p><a class="reference external" href="https://github.com/lutzroeder/netron">Neutron</a> is a nice free tool for viewing onnx-graphs</p></li>
-</ul>
-</div></blockquote>
-</div>
-</div>
-
-
-           </div>
-           
-          </div>
-          <footer>
-  
-    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
-      
-        <a href="../api/operator/algorithms.html" class="btn btn-neutral float-right" title="Algorithms" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
-      
-      
-        <a href="onnx_systemds.html" class="btn btn-neutral float-left" title="QuickStart Onnx" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
-      
-    </div>
-  
-
-  <hr/>
-
-  <div role="contentinfo">
-    <p>
-        
-        &copy; Copyright 2020, Apache SystemDS
-
-    </p>
-  </div>
-    
-    
-    
-    Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a
-    
-    <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a>
-    
-    provided by <a href="https://readthedocs.org">Read the Docs</a>. 
-
-</footer>
-
-        </div>
-      </div>
-
-    </section>
-
-  </div>
-  
-
-  <script type="text/javascript">
-      jQuery(function () {
-          SphinxRtdTheme.Navigation.enable(true);
-      });
-  </script>
-
-  
-  
-    
-   
-
-</body>
-</html>
\ No newline at end of file
diff --git a/docs/api/python/py-modindex.html b/docs/api/python/py-modindex.html
index 8908c9d..6818040 100644
--- a/docs/api/python/py-modindex.html
+++ b/docs/api/python/py-modindex.html
@@ -93,11 +93,6 @@
 <li class="toctree-l1"><a class="reference internal" href="guide/federated.html">Federated Environment</a></li>
 <li class="toctree-l1"><a class="reference internal" href="guide/algorithms_basics.html">Built-in Algorithms</a></li>
 </ul>
-<p class="caption"><span class="caption-text">Onnx SystemDS</span></p>
-<ul>
-<li class="toctree-l1"><a class="reference internal" href="onnx_systemds/onnx_systemds.html">QuickStart Onnx</a></li>
-<li class="toctree-l1"><a class="reference internal" href="onnx_systemds/onnx_systemds_design.html">Design</a></li>
-</ul>
 <p class="caption"><span class="caption-text">API</span></p>
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="api/operator/algorithms.html">Algorithms</a></li>
@@ -105,11 +100,6 @@
 <li class="toctree-l1"><a class="reference internal" href="api/matrix/matrix.html">Matrix</a></li>
 <li class="toctree-l1"><a class="reference internal" href="api/matrix/federated.html">Federated</a></li>
 <li class="toctree-l1"><a class="reference internal" href="api/operator/operation_node.html">Operation Node</a></li>
-<li class="toctree-l1"><a class="reference internal" href="api/onnx_systemds/convert.html">Convert</a></li>
-<li class="toctree-l1"><a class="reference internal" href="api/onnx_systemds/onnx_helper.html">Onnx Helper</a></li>
-<li class="toctree-l1"><a class="reference internal" href="api/onnx_systemds/operator_gen.html">Operator Gen</a></li>
-<li class="toctree-l1"><a class="reference internal" href="api/onnx_systemds/render.html">Render</a></li>
-<li class="toctree-l1"><a class="reference internal" href="api/onnx_systemds/util.html">Util</a></li>
 </ul>
 <p class="caption"><span class="caption-text">Internals API</span></p>
 <ul>
@@ -198,31 +188,6 @@
      <tr class="cg-1">
        <td></td>
        <td>&#160;&#160;&#160;
-       <a href="api/onnx_systemds/convert.html#module-systemds.onnx_systemds.convert"><code class="xref">systemds.onnx_systemds.convert</code></a></td><td>
-       <em></em></td></tr>
-     <tr class="cg-1">
-       <td></td>
-       <td>&#160;&#160;&#160;
-       <a href="api/onnx_systemds/onnx_helper.html#module-systemds.onnx_systemds.onnx_helper"><code class="xref">systemds.onnx_systemds.onnx_helper</code></a></td><td>
-       <em></em></td></tr>
-     <tr class="cg-1">
-       <td></td>
-       <td>&#160;&#160;&#160;
-       <a href="api/onnx_systemds/operator_gen.html#module-systemds.onnx_systemds.operator_gen"><code class="xref">systemds.onnx_systemds.operator_gen</code></a></td><td>
-       <em></em></td></tr>
-     <tr class="cg-1">
-       <td></td>
-       <td>&#160;&#160;&#160;
-       <a href="api/onnx_systemds/render.html#module-systemds.onnx_systemds.render"><code class="xref">systemds.onnx_systemds.render</code></a></td><td>
-       <em></em></td></tr>
-     <tr class="cg-1">
-       <td></td>
-       <td>&#160;&#160;&#160;
-       <a href="api/onnx_systemds/util.html#module-systemds.onnx_systemds.util"><code class="xref">systemds.onnx_systemds.util</code></a></td><td>
-       <em></em></td></tr>
-     <tr class="cg-1">
-       <td></td>
-       <td>&#160;&#160;&#160;
        <a href="api/operator/algorithms.html#module-systemds.operator.algorithm"><code class="xref">systemds.operator.algorithm</code></a></td><td>
        <em></em></td></tr>
      <tr class="cg-1">
diff --git a/docs/api/python/search.html b/docs/api/python/search.html
index 8898979..98a1dad 100644
--- a/docs/api/python/search.html
+++ b/docs/api/python/search.html
@@ -92,11 +92,6 @@
 <li class="toctree-l1"><a class="reference internal" href="guide/federated.html">Federated Environment</a></li>
 <li class="toctree-l1"><a class="reference internal" href="guide/algorithms_basics.html">Built-in Algorithms</a></li>
 </ul>
-<p class="caption"><span class="caption-text">Onnx SystemDS</span></p>
-<ul>
-<li class="toctree-l1"><a class="reference internal" href="onnx_systemds/onnx_systemds.html">QuickStart Onnx</a></li>
-<li class="toctree-l1"><a class="reference internal" href="onnx_systemds/onnx_systemds_design.html">Design</a></li>
-</ul>
 <p class="caption"><span class="caption-text">API</span></p>
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="api/operator/algorithms.html">Algorithms</a></li>
@@ -104,11 +99,6 @@
 <li class="toctree-l1"><a class="reference internal" href="api/matrix/matrix.html">Matrix</a></li>
 <li class="toctree-l1"><a class="reference internal" href="api/matrix/federated.html">Federated</a></li>
 <li class="toctree-l1"><a class="reference internal" href="api/operator/operation_node.html">Operation Node</a></li>
-<li class="toctree-l1"><a class="reference internal" href="api/onnx_systemds/convert.html">Convert</a></li>
-<li class="toctree-l1"><a class="reference internal" href="api/onnx_systemds/onnx_helper.html">Onnx Helper</a></li>
-<li class="toctree-l1"><a class="reference internal" href="api/onnx_systemds/operator_gen.html">Operator Gen</a></li>
-<li class="toctree-l1"><a class="reference internal" href="api/onnx_systemds/render.html">Render</a></li>
-<li class="toctree-l1"><a class="reference internal" href="api/onnx_systemds/util.html">Util</a></li>
 </ul>
 <p class="caption"><span class="caption-text">Internals API</span></p>
 <ul>
diff --git a/docs/api/python/searchindex.js b/docs/api/python/searchindex.js
index 38fd865..093fd41 100644
--- a/docs/api/python/searchindex.js
+++ b/docs/api/python/searchindex.js
@@ -1 +1 @@
-Search.setIndex({docnames:["api/context/systemds_context","api/matrix/federated","api/matrix/matrix","api/onnx_systemds/convert","api/onnx_systemds/onnx_helper","api/onnx_systemds/operator_gen","api/onnx_systemds/render","api/onnx_systemds/util","api/operator/algorithms","api/operator/operation_node","api/script_building/dag","api/script_building/script","api/utils/converters","api/utils/helpers","getting_started/install","getting_started/simple_examples","guide/algorithms_basics","guide/federated","index","onnx_systemds/onnx_systemds","onnx_systemds/onnx_systemds_design"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":3,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":2,"sphinx.domains.rst":2,"sphinx.domains.std":1,"sphinx.ext.todo":2,sphinx:56},filenames:["api/context/systemds_context.rst","api/matrix/federated.rst","api/matrix/matrix.rst","api/onnx_systemds/convert.rst","api/onnx_systemds/onnx_helper.rst","api/onnx_systemds/operator_gen.rst","api/onnx_systemds/render.rst","api/onnx_systemds/util.rst","api/operator/algorithms.rst","api/operator/operation_node.rst","api/script_building/dag.rst","api/script_building/script.rst","api/utils/converters.rst","api/utils/helpers.rst","getting_started/install.rst","getting_started/simple_examples.rst","guide/algorithms_basics.rst","guide/federated.rst","index.rst","onnx_systemds/onnx_systemds.rst","onnx_systemds/onnx_systemds_design.rst"],objects:{"systemds.context":{SystemDSContext:[0,0,1,""]},"systemds.context.SystemDSContext":{__init__:[0,1,1,""],close:[0,1,1,""],exception_and_close:[0,1,1,""],full:[0,1,1,""],get_stderr:[0,1,1,""],get_stdout:[0,1,1,""],rand:[0,1,1,""],read:[0,1,1,""],scalar:[0,1,1,""],seq:[0,1,1,""]},"systemds.matrix":{Federated:[1,0,1,""],Matrix:[2,0,1,""]},"systemds.matrix.Federated":{__init__:[1,1,1,""]},"systemds.matrix.Matrix":{__init__:[2,1,1,""],code_line:[2,1,1,""],compute:[2,1,1,""],pass_python_data_to_prepared_script:[2,1,1,""]},"systemds.onnx_systemds":{convert:[3,2,0,"-"],onnx_helper:[4,2,0,"-"],operator_gen:[5,2,0,"-"],render:[6,2,0,"-"],util:[7,2,0,"-"]},"systemds.onnx_systemds.convert":{onnx2systemds:[19,3,1,""]},"systemds.onnx_systemds.onnx_helper":{NodeTree:[4,0,1,""],PreparedValue:[4,0,1,""],get_graph_inputs_with_initializers:[4,3,1,""],get_graph_inputs_without_initializers:[4,3,1,""],get_value_info:[4,3,1,""],load_model:[4,3,1,""]},"systemds.onnx_systemds.onnx_helper.NodeTree":{remove_end_node:[4,1,1,""]},"systemds.onnx_systemds.operator_gen":{gen_1input_1output_mat_operator:[5,3,1,""],gen_2input_1output_operator:[5,3,1,""],gen_simple_function_call:[5,3,1,""]},"systemds.onnx_systemds.render":{gen_graph_functions:[6,3,1,""],gen_model_header:[6,3,1,""],gen_node_script:[6,3,1,""],gen_script:[6,3,1,""],render_function:[6,3,1,""]},"systemds.onnx_systemds.util":{generate_function_name:[7,3,1,""],resolve_systemds_root:[7,3,1,""]},"systemds.operator":{OperationNode:[9,0,1,""],algorithm:[8,2,0,"-"]},"systemds.operator.OperationNode":{"var":[9,1,1,""],__init__:[9,1,1,""],abs:[9,1,1,""],acos:[9,1,1,""],asin:[9,1,1,""],atan:[9,1,1,""],cholesky:[9,1,1,""],code_line:[9,1,1,""],compute:[9,1,1,""],cos:[9,1,1,""],cosh:[9,1,1,""],get_lineage_trace:[9,1,1,""],mean:[9,1,1,""],order:[9,1,1,""],pass_python_data_to_prepared_script:[9,1,1,""],print:[9,1,1,""],rev:[9,1,1,""],sin:[9,1,1,""],sinh:[9,1,1,""],sum:[9,1,1,""],t:[9,1,1,""],tan:[9,1,1,""],tanh:[9,1,1,""],to_one_hot:[9,1,1,""],to_string:[9,1,1,""],write:[9,1,1,""]},"systemds.operator.algorithm":{kmeans:[8,3,1,""],l2svm:[8,3,1,""],lm:[8,3,1,""],multiLogReg:[8,3,1,""],multiLogRegPredict:[8,3,1,""],pca:[8,3,1,""]},"systemds.script_building":{dag:[10,2,0,"-"],script:[11,2,0,"-"]},"systemds.script_building.dag":{DAGNode:[10,0,1,""],OutputType:[10,0,1,""]},"systemds.script_building.dag.DAGNode":{code_line:[10,1,1,""],compute:[10,1,1,""],get_lineage_trace:[10,1,1,""],pass_python_data_to_prepared_script:[10,1,1,""]},"systemds.script_building.script":{DMLScript:[11,0,1,""]},"systemds.script_building.script.DMLScript":{add_code:[11,1,1,""],add_input_from_python:[11,1,1,""],build_code:[11,1,1,""],execute:[11,1,1,""]},"systemds.utils":{converters:[12,2,0,"-"],helpers:[13,2,0,"-"]},"systemds.utils.converters":{matrix_block_to_numpy:[12,3,1,""],numpy_to_matrix_block:[12,3,1,""]},"systemds.utils.helpers":{create_params_string:[13,3,1,""],get_module_dir:[13,3,1,""]}},objnames:{"0":["py","class","Python class"],"1":["py","method","Python method"],"2":["py","module","Python module"],"3":["py","function","Python function"]},objtypes:{"0":"py:class","1":"py:method","2":"py:module","3":"py:function"},terms:{"0011352":15,"0014692":15,"00324092":15,"00616902":15,"0095087":15,"01039221":15,"01686351":15,"02033445":15,"02649209":15,"03839821":15,"04078623":8,"09961844":8,"0_242":14,"0_xxx":14,"100":[15,16],"1000":16,"10000":16,"11538199":8,"18954599":8,"2008":8,"20386541":8,"2205885":8,"242":14,"26812763":8,"37957689":8,"39956035":8,"4327084":8,"43386048":8,"49858968":8,"54638565":8,"55358873":8,"57000751":8,"5x10":15,"60000":16,"60k":16,"627":8,"650":8,"8001":17,"8002":17,"8003":17,"abstract":18,"boolean":[0,8],"case":[14,16],"class":[0,1,2,4,6,9,10,11,20],"default":[0,8,9],"export":[19,20],"final":16,"float":[0,1,2,8,9],"function":[0,2,5,6,7,9,13,15,16,20],"import":[0,5,6,8,14,15,16,17,19],"int":[0,1,2,8,9],"new":[0,15],"return":[0,1,2,4,5,6,7,8,9,10,11,13,15,16],"short":16,"true":9,"try":0,"var":9,"while":[0,9],And:16,But:16,For:[10,11,12,13,16,20],Not:20,OPS:[10,11,12,13],One:[15,16],The:[0,4,5,6,7,8,9,12,14,15,16,17,18,20],Then:[14,16,19],There:[9,16,20],These:[18,20],Using:17,With:16,__eq__:9,__init__:[0,1,2,9],__lt__:9,abl:[17,20],abov:16,abs:9,absolut:9,acc:16,access:20,accuraci:[8,16],achiev:16,aco:9,action:[2,9,10],activ:[2,9,10],actual:[2,9,10,15,20],acycl:10,adapt:20,add:[5,8,11,16,20],add_cod:11,add_input_from_python:11,adding:[16,20],addit:[2,9,10],addition:[5,14],addr1:17,addr2:17,addr3:17,address:[1,17],ads:20,after:[14,17,20],again:[0,16,20],algorithm:15,all:[0,2,4,6,9,10,13,14,17,20],allow:20,alreadi:[11,20],also:[0,6,16,17,19,20],although:2,alwai:0,amount:16,analysi:8,ani:[0,10,20],annoi:0,anoth:15,apach:[0,9,14,18],append:16,appli:[9,16],arcco:9,arcsin:9,arctan:9,arg:[1,2],argument:[5,8,9,20],arrai:[2,9,10,12,15,16,18],asarrai:17,asin:9,associ:[4,8],assum:9,atan:9,attribut:20,automat:[0,15,20],avail:[9,16,20],averag:8,avg_sample_size_per_centroid:8,axi:9,b08:14,base:20,baselin:16,basic:[13,16],becaus:[0,14,16,20],becom:[17,20],been:16,befor:[2,9,10],begin:1,behavior:11,below:[2,20],besid:20,best:20,bia:16,bias_r:16,bin:20,binai:0,binari:9,bind:18,bit:14,block:[0,12],bodi:6,bool:[0,1,2,8,9,10,11],both:13,bottom:[16,17,20],box:8,buffer:20,build:[2,9,10,11,14,20],build_cod:11,built:[0,9,15],builtin:[2,9,10,16],cach:11,calcul:[0,8,9,15,16],call:[2,5,9,10,13,15,16,17,19,20],can:[0,2,8,9,10,11,13,14,15,16,17,19,20],cell:0,center:8,centroid:8,chang:[8,16],check:[2,4,9,14,17],choleski:9,classif:8,classifi:16,clean:[14,18],cleanup:0,clone:14,close:[0,15],cluster:8,code:[2,9,10,11,14,15,16,20],code_lin:[2,9,10],col:[0,17],column:[0,8,9,16],com:14,combin:[16,20],come:16,command:[14,17],comment:20,common:[4,20],commonli:16,compar:20,comparison:9,compat:[14,15],compil:18,complet:[0,15],complex:20,componenet:8,comput:[2,8,9,10,15,16,17,20],concurr:8,connect:0,consist:20,construct:[0,2,7,9],contain:[0,8,9,14,16],context:[0,1,8,9,11,12,15,16,17],contrast:18,conveni:20,convent:20,converg:8,convers:20,convert:[4,9,13,20],coordin:[0,17],copi:14,correct:6,correctli:[0,6,16,17],correspond:[4,16,20],cos:9,cosh:9,could:16,cpu:18,creat:[0,1,2,9,10,11,13,15,17],create_params_str:13,csv:[0,17],current:[0,12,17,19,20],dag:[2,9,11,20],dag_root:11,dagnod:[0,1,2,8,9,10,11],data:[0,2,8,9,10,11,15,16,17,18,20],datamanag:16,dataset:[8,18],datatensor:18,deal:20,debug:20,declar:8,decomposit:9,decreas:9,dedic:20,defin:[0,2,10,20],definit:[9,20],delimit:17,depend:[14,20],deploy:18,deriv:2,describ:[11,20],destin:9,detail:0,develop:15,dict:[0,1,2,8,9,10,13],dictionari:[8,13,20],differ:[8,11,16,17,18,20],dim:17,dimens:[8,16,17,18],dimension:[8,18],direct:10,directli:[5,15],directori:19,disk:[0,9],distinct:16,distribut:[0,14,16,18],dml:[0,2,3,4,6,9,10,11,13,19],dml_wrapper:20,dmlcode:11,dmlscript:11,doc:20,document:20,doe:[15,16,17,20],doesn:10,done:[16,17],doubl:[0,9,15,17],download:16,dtype:15,each:[1,6,8,16,17,20],easili:[9,15],echo:17,effici:18,either:[2,9,18],element:[15,20],enabl:[17,20],encod:9,end:[1,4,18],engin:[18,20],ensur:[0,9],entir:18,enumer:10,env:[5,6],environ:[5,6,7,14,19,20],eps:8,equal:[2,9,10],equival:9,error:[0,9],essenti:20,etc:9,evalu:[2,9,10],even:9,everi:9,everyth:16,exactli:20,exampl:[8,15,16,19],except:[0,4],exception_and_clos:0,exchang:15,execut:[0,2,9,10,11,14,15,17,18],exhaust:16,exist:[4,18,20],expect:[8,9,16],expens:0,expertis:18,explan:16,explor:16,extens:20,extra:[8,9],extract:16,facilit:18,fail:20,fals:[2,9,10,11,17],featur:[8,15,16,18],fed_a:17,fed_b:17,few:14,file:[0,3,4,5,6,9,17,19],fill:[0,15],find:20,finish:0,first:[14,15,16,17,18,19,20],fit:[8,16],flag:[8,9],folder:20,follow:[0,8,14,17],form:[0,19,20],format:[9,13,17,20],found:4,fraction:0,free:20,from:[0,2,3,4,7,8,9,10,11,14,15,16,17,18,19,20],full:[0,15],function_cal:20,fundament:2,further:16,gen_1input_1output_mat_oper:5,gen_2input_1output_oper:5,gen_graph_funct:[6,20],gen_model_head:6,gen_node_script:6,gen_script:6,gen_simple_function_cal:5,gener:[0,2,3,5,6,8,9,10,15,19,20],generate_function_nam:[7,20],generated_node_script:6,generatedscriptpart:[5,6],get:[0,2,9,10,11,15],get_graph_inputs_with_initi:4,get_graph_inputs_without_initi:4,get_lineage_trac:[9,10],get_module_dir:13,get_stderr:0,get_stdout:0,get_test_data:16,get_test_label:16,get_train_data:16,get_train_label:16,get_value_info:4,getter:0,git:14,github:[0,9,14],give:[13,16],given:[0,2,3,4,6,7,8,9,12,19],goe:16,good:16,googl:20,gpu:18,graph:[4,5,6,7,10,19],graph_nam:7,graphproto:[4,5,6],guid:17,handi:20,handl:[0,20],happen:16,has:[0,11,16],have:[0,3,4,5,14,16,17,18,19,20],hdf:9,header:[6,17],held:1,help:[18,20],helper:20,here:[16,17],heterogen:18,high:[15,18],highest:16,homogen:18,how:16,howev:20,http:[0,9,14],human:20,hybrid:18,icpt:8,idea:20,identifi:9,imag:16,immedi:9,implement:[0,16],improv:[9,16,20],includ:[0,20],increas:[9,16],increment:0,independ:20,index:[1,9],index_return:9,indic:[16,17],info:4,inform:[2,9,10,20],initi:[4,8,20],inner:8,input:[3,4,5,8,9,11,16,19,20],input_onnx_fil:[3,19],input_var:11,insert:[6,20],instal:[16,19],instanc:[0,8,12,15,16],instead:[14,20],instruct:[0,17,19],integ:[0,16],integr:18,intend:[2,9,10,11],intercept:8,interfac:18,intern:[10,11,12,13,20],interpret:0,invok:19,involv:14,is_python_local_data:9,is_verbos:8,iter:[1,8,9,13,16],its:[17,20],itself:20,jar:14,java:[0,2,9,10,14],java_gatewai:[2,9,10,11,12],javaobject:[2,9,10,11,12],jinja2:[5,6,14],jinja:[5,6,20],jmlr:8,just:14,jvm:[0,2,9,10,12],jvmview:[9,10,12],keep:16,keerthi:8,kmean:8,know:16,known:16,kwarg:[0,1,2,8,9],l2svm:[8,15],label:[8,15,16],lambd:0,lambda:8,lamda:0,languag:[0,9,18],larg:20,last:17,later:16,lazi:[2,9,10],lazili:9,learn:[8,16],least:0,leav:0,left:[0,5,17,20],let:15,level:[15,18],leverag:17,librari:14,lifecycl:18,like:[5,9,16,17,20],lin:8,line:[0,2,9,10,11,14],lineag:[2,9,10,11],list:[0,4,6,8,16,17,20],load:[3,4,5,6,16,19],load_model:4,loader:16,local:[9,11,18],localhost:17,locat:[9,17,20],logic:20,logist:[8,16],logstic:8,look:[9,14,15,17,20],low:16,m_re:15,m_res_np:15,machin:[2,8,9,10],made:16,mai:18,main:[6,14,19,20],main_graph:6,make:[14,15,16,17],manag:0,mani:20,manner:8,market:0,mat:2,matmul:20,matric:[2,17],matrix:[0,1,8,9,12,16,17],matrix_block_to_numpi:12,matrixblock:12,maven:14,max:[0,9],max_it:8,maxi:[8,16],maxii:8,maximum:[0,8],mean:[8,9,16],member:20,memori:18,merg:20,metadata:17,method:[0,2,8,9,10],might:[0,14],min:0,mix:14,mnist:16,mode:14,model:[3,4,6,8,15,16,18,19],model_gener:[19,20],modelproto:[4,6],modul:13,more:[0,16,20],most:[2,9],mtd:17,much:16,multi:[9,18],multiclass:8,multilogreg:[8,16],multilogregpredict:[8,16],multipl:[9,15,16],multipli:[15,16,17],must:9,mvn:14,name:[1,2,3,4,7,9,10,11,13,19,20],named_input_nod:9,named_input_var:[2,9,10],named_paramet:13,necessari:[0,4,14,15],need:[0,2,14,17,19,20],neither:8,nest:18,neutron:20,newer:14,newton:8,next:17,nice:20,node:[0,2,4,5,6,10,20],nodeproto:[4,5,6],nodetre:4,non:[0,4,14],none:[0,2,3,4,6,9,10,11,19],nor:8,normal:0,note:[14,15,16,17],noteworthi:16,noth:[9,15,16],now:16,np_arr:12,num_class:9,number:[0,8,9,14,15,16,20],number_of_output:9,numpi:[2,8,9,10,12,14,15,16,17],numpy_to_matrix_block:12,object:[0,1,2,9,10,11,12],older:14,onc:[0,14,17],one:[0,5,8,9,15,16,17,20],onehot:9,onehotencod:9,ones:17,onli:[0,2,9,10,11,15,16,20],onnx2systemd:[3,19],onnx:[3,5,6,14],onnx_fil:4,onnx_help:[4,20],onnx_onnx_rel_1_7_ml_pb2:[4,5,6],onnx_systemd:[3,4,5,6,7,19],open:[0,14],openjdk:14,oper:[0,1,2,8,10,11,16,18],operation_nod:[0,1,8,9],operationnod:[0,1,2,8,9],operator_gen:[5,6],operator_gener:20,option:[3,6,19],order:[6,9,17,18,20],other:[9,14,16,17,20],our:[11,13,15,16,17],out:[0,8,20],outer:8,output:[0,2,3,5,8,9,10,11,14,15,16,19,20],output_dml_fil:[3,19],output_fil:6,output_refer:20,output_test:20,output_typ:[2,9],outputtyp:[9,10],over:18,overal:16,overload:9,own:20,packag:[14,15,18],page:16,pair:[1,2,9,10],param:[0,1,4,5,7],paramet:[0,1,2,3,4,5,6,8,9,10,11,12,13,16,19],pars:0,part:[5,6,14,20],pass:[0,2,9,10,11],pass_python_data_to_prepared_script:[2,9,10],path:[0,7,9,13,17],pathlik:[0,13],pca:8,pdf:0,per:[8,16],perfectli:16,perform:[8,9,16],pictur:16,pip3:14,pixel:16,plan:18,pleas:14,point:14,pointer:12,poison:0,port:[0,17],posit:9,possibl:[2,19,20],potenti:16,pre_setup:14,precis:20,predict:[8,16],prepar:[2,4,9,10,11],prepared_script:[2,9,10],preparedscript:11,preparedvalu:4,preprocess:16,prerequisit:16,presenc:8,previou:16,princip:8,print:[0,2,8,9,10,15,16,17],probabl:[8,16],procedur:0,process:[0,15,20],produc:20,profession:20,program:0,project:14,proto3:20,proto:20,protobuf:20,protocol:[0,20],provid:[5,13,15,16,18,20],py4j:[2,9,10,11,12,14,15],pycharm:20,python:[0,2,9,10,11,14,15,17,18,19,20],queue:0,quick:15,quit:14,rais:4,rand:[0,8],randint:15,random:[0,8,15],rang:[1,15,16],ratio:8,read:[0,9],readabl:20,readi:[14,16],readwrit:[0,9],realist:16,recogn:[2,9],recommend:2,recompil:11,record:8,recurs:20,reduc:[8,16],refer:[0,9,17,20],reg:8,region:8,regress:[8,16],regular:8,rememb:[9,15],remov:[4,20],remove_end_nod:4,render_funct:6,replac:[16,20],repositori:[14,17,20],repres:[0,1,2,4,9,10,13],represent:[9,12,20],request:14,requir:[5,6,16,17,20],rerun:11,res:17,rescal:8,resembl:16,resolv:20,resolve_systemds_root:7,respect:9,respons:[8,16],restart:20,result:[2,6,9,10,11,15,16,17],resultvari:11,rev:9,revers:[9,20],right:[5,20],root:14,row:[0,8,9,16,17],rowalign:8,run:[0,8,12,15,17,20],runtim:14,safe:9,same:[3,16,19,20],sampl:[8,16],sample_model:20,sample_model_refer:20,sample_model_wrapp:20,sample_s:16,save:[2,9,10,16],savetxt:17,scalar:[0,8,15],scale:8,scenario:9,schema:[18,20],scienc:18,scientist:15,scope:20,script:[2,4,5,6,9,10,18,19],script_build:[9,10,11],sds:[0,2,8,12,15,16,17],sds_context:[0,1,2,9],search:[4,7],second:17,see:[0,8,16,20],seed:[0,8,15],seen:[9,16],sent:2,separ:[0,20],seq:0,sequenc:[2,9,10],serv:18,server:14,set:[8,9,15,16,17,19,20],setup:[16,17],setw:20,sever:20,shall:[4,5,6],shape:[0,8,9,15,16],shift:8,should:[2,8,9,10,11,14,15,17,20],shown:16,similar:[8,14,15],similarli:8,simpl:[4,5,14,16,20],simple_mat_add:19,simpli:[9,16,17,20],simplic:16,simplifi:15,simul:17,sin:9,sinc:[0,16,20],singl:[0,16,17,20],sinh:9,site:[0,9],size:[0,15],skip:[9,16],smaller:16,snip:20,snippet:[6,20],some:[15,16,17,20],someth:0,sort:9,spark:18,sparsiti:0,specif:[9,16,20],specifi:[2,8,17,20],src:[14,19],stack:17,stai:20,standard:[0,20],start:[0,15,16,20],statement:0,stderr:0,stdout:[0,9],step:[0,14],stick:20,still:16,stop:[0,15],store:[9,10,20],str:[0,1,2,3,4,6,7,8,9,10,11,13,19],strategi:20,string:[2,6,9,10,13,20],structur:[4,6,20],sub:[0,6,20],subprocess:[0,15],subset:16,sum:[9,17],support:[0,8,17,20],sure:14,symmetr:9,syntax:[0,20],system:[14,18,20],systemd:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,15,16,17,19,20],systemds_context:1,systemds_root:[7,20],systemdscontext:[1,2,8,9,11,12,15,16,17],take:[7,15,16,20],taken:0,tan:9,tanh:9,task:18,tcp:0,techniqu:16,temp:17,templat:[5,6,20],tensor:[0,18],tensorproto:4,termin:[14,15,17],test:[16,17],test_acc:16,test_model:[19,20],test_simpl:19,text:0,than:9,thei:[9,20],them:[4,6],therebi:9,therefor:[0,9,16,20],thi:[0,1,2,3,9,10,11,14,15,16,17,18,19,20],three:[8,14,16,17,20],through:16,till:[2,9,10],time:[9,16],to_one_hot:9,to_str:9,todo:[0,11],togeth:[6,20],tol:8,toler:8,tool:19,top:17,topmost:11,trace:[2,9,10],train:[8,18],train_acc:16,translat:20,transpos:9,travers:6,tree:[4,6,20],treenod:4,trust:8,tupl:[0,1,4,6,9,11,17],tutori:16,two:[5,8,16,17],type:[0,2,9,10,16,20],unclutt:20,underli:[18,20],understand:20,unfortun:16,uniform:0,uniniti:4,union:[0,1,2,8,9,11],unit:20,unittest:19,unlik:10,unnam:[1,2,9,10,13],unnamed_input_nod:9,unnamed_input_var:[2,9,10],unnamed_paramet:13,unseen:8,upward:16,use:[2,8,10,11,12,13,14,15,16,17,20],used:[8,11,13,16,17,20],user:18,uses:20,using:[0,8,14,16,17,20],usual:16,util:[12,13,20],valid:[7,20],valu:[0,2,4,8,9,10,15,16,20],valuabl:16,value_info:4,valueinfo:4,valueinfoproto:4,var_nam:[2,9,10,11],variabl:[2,7,9,10,11,13,17,20],varianc:[8,9],varieti:16,vector:[0,8,16],verbos:[2,8,9,10],veri:20,verifi:[14,16],versatil:18,version:[4,14,20],via:14,view:20,virtual:[2,9,10],wai:[2,16,20],want:16,wcss:8,weight:8,well:[6,9,16,18,20],weng:8,were:20,what:16,wheel:14,when:[0,16,20],where:16,which:[0,2,5,6,9,11,13,15,20],whole:9,whose:18,why:20,wise:15,within:19,without:[2,9,10,11],work:[16,17,18,20],worker:1,would:[0,20],wrapper:20,write:[4,9],written:[6,9],x_d:16,y_d:16,y_pred:16,yet:[15,16],you:[9,14,16,17,19,20],your:[0,14,17],zero:[0,15]},titles:["SystemDSContext","Federated","Matrix","Convert","Onnx Helper","Operator Gen","Render","Util","Algorithms","Operation Node","Dag","Script","Converters","Helpers","Install SystemDS","QuickStart","Built-in Algorithms","Federated Environment","SystemDS","QuickStart Onnx","Design"],titleterms:{"final":20,"import":20,"new":20,aggreg:17,algorithm:[8,16],built:16,complex:15,convert:[3,12,19],creat:20,dag:10,dataset:16,design:20,dml:20,dml_script:20,environ:17,exampl:[17,20],feder:[1,17],file:20,format:16,full:16,gen:5,get:16,goal:20,graph:20,helper:[4,13],implement:20,instal:14,limit:20,matrix:[2,15],model:20,more:15,multipl:17,node:9,onnx:[4,19,20],oper:[5,9,15,20],pip:14,prerequisit:19,quickstart:[15,19],render:[6,20],reshap:16,run:19,script:[11,16,20],simpl:17,sourc:14,start:17,step:[16,20],sub_graph:20,systemd:[14,18],systemdscontext:0,test:[19,20],testcas:20,tool:20,train:16,travers:20,tune:16,usag:19,util:7,valid:16,worker:17}})
\ No newline at end of file
+Search.setIndex({docnames:["api/context/systemds_context","api/matrix/federated","api/matrix/matrix","api/operator/algorithms","api/operator/operation_node","api/script_building/dag","api/script_building/script","api/utils/converters","api/utils/helpers","getting_started/install","getting_started/simple_examples","guide/algorithms_basics","guide/federated","index"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":3,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":2,"sphinx.domains.rst":2,"sphinx.domains.std":1,"sphinx.ext.todo":2,sphinx:56},filenames:["api/context/systemds_context.rst","api/matrix/federated.rst","api/matrix/matrix.rst","api/operator/algorithms.rst","api/operator/operation_node.rst","api/script_building/dag.rst","api/script_building/script.rst","api/utils/converters.rst","api/utils/helpers.rst","getting_started/install.rst","getting_started/simple_examples.rst","guide/algorithms_basics.rst","guide/federated.rst","index.rst"],objects:{"systemds.context":{SystemDSContext:[0,0,1,""]},"systemds.context.SystemDSContext":{__init__:[0,1,1,""],close:[0,1,1,""],exception_and_close:[0,1,1,""],full:[0,1,1,""],get_stderr:[0,1,1,""],get_stdout:[0,1,1,""],rand:[0,1,1,""],read:[0,1,1,""],scalar:[0,1,1,""],seq:[0,1,1,""]},"systemds.matrix":{Federated:[1,0,1,""],Matrix:[2,0,1,""]},"systemds.matrix.Federated":{__init__:[1,1,1,""]},"systemds.matrix.Matrix":{__init__:[2,1,1,""],code_line:[2,1,1,""],compute:[2,1,1,""],pass_python_data_to_prepared_script:[2,1,1,""]},"systemds.operator":{OperationNode:[4,0,1,""],algorithm:[3,2,0,"-"]},"systemds.operator.OperationNode":{"var":[4,1,1,""],__init__:[4,1,1,""],abs:[4,1,1,""],acos:[4,1,1,""],asin:[4,1,1,""],atan:[4,1,1,""],cbind:[4,1,1,""],cholesky:[4,1,1,""],code_line:[4,1,1,""],compute:[4,1,1,""],cos:[4,1,1,""],cosh:[4,1,1,""],get_lineage_trace:[4,1,1,""],mean:[4,1,1,""],order:[4,1,1,""],pass_python_data_to_prepared_script:[4,1,1,""],print:[4,1,1,""],rbind:[4,1,1,""],rev:[4,1,1,""],sin:[4,1,1,""],sinh:[4,1,1,""],sum:[4,1,1,""],t:[4,1,1,""],tan:[4,1,1,""],tanh:[4,1,1,""],to_one_hot:[4,1,1,""],to_string:[4,1,1,""],write:[4,1,1,""]},"systemds.script_building":{dag:[5,2,0,"-"],script:[6,2,0,"-"]},"systemds.script_building.dag":{DAGNode:[5,0,1,""],OutputType:[5,0,1,""]},"systemds.script_building.dag.DAGNode":{code_line:[5,1,1,""],compute:[5,1,1,""],get_lineage_trace:[5,1,1,""],pass_python_data_to_prepared_script:[5,1,1,""]},"systemds.script_building.script":{DMLScript:[6,0,1,""]},"systemds.script_building.script.DMLScript":{add_code:[6,1,1,""],add_input_from_python:[6,1,1,""],build_code:[6,1,1,""],execute:[6,1,1,""],execute_with_lineage:[6,1,1,""]},"systemds.utils":{converters:[7,2,0,"-"],helpers:[8,2,0,"-"]},"systemds.utils.converters":{matrix_block_to_numpy:[7,3,1,""],numpy_to_matrix_block:[7,3,1,""]},"systemds.utils.helpers":{create_params_string:[8,3,1,""],get_module_dir:[8,3,1,""]}},objnames:{"0":["py","class","Python class"],"1":["py","method","Python method"],"2":["py","module","Python module"],"3":["py","function","Python function"]},objtypes:{"0":"py:class","1":"py:method","2":"py:module","3":"py:function"},terms:{"0011352":10,"0014692":10,"00324092":10,"00616902":10,"0095087":10,"01039221":10,"01686351":10,"02033445":10,"02649209":10,"03839821":10,"04078623":3,"09961844":3,"0_242":9,"0_xxx":9,"100":[10,11],"1000":11,"10000":11,"11538199":3,"18954599":3,"20386541":3,"2205885":3,"242":9,"26812763":3,"37957689":3,"39956035":3,"4327084":3,"43386048":3,"49858968":3,"54638565":3,"55358873":3,"57000751":3,"5x10":10,"60000":11,"60k":11,"8001":12,"8002":12,"8003":12,"abstract":13,"boolean":0,"case":[9,11],"class":[0,1,2,4,5,6],"default":[0,4],"final":11,"float":[0,1,2,4],"function":[0,2,4,8,10,11],"import":[0,3,9,10,11,12],"int":[0,1,2,4],"new":[0,10],"return":[0,1,2,4,5,6,8,10,11],"short":11,"true":4,"try":0,"var":4,"while":[0,4],And:11,But:11,For:[5,6,7,8,11],OPS:[5,6,7,8],One:[10,11],The:[0,3,4,7,9,10,11,12,13],Then:[9,11],There:[4,11],These:13,Using:12,With:11,__eq__:4,__init__:[0,1,2,4],__lt__:4,abl:12,abov:11,abs:4,absolut:4,acc:11,accuraci:11,achiev:11,aco:4,action:[2,4,5],activ:[2,4,5],actual:[2,4,5,10],acycl:5,add:[6,11],add_cod:6,add_input_from_python:6,adding:11,addit:[2,4,5],addition:9,addr1:12,addr2:12,addr3:12,address:[1,12],after:[9,12],again:[0,11],algorithm:10,all:[0,2,4,5,8,9,12],alreadi:6,also:[0,11,12],although:2,alwai:0,amount:11,ani:[0,5],annoi:0,anoth:10,apach:[0,4,9,13],append:11,appli:[4,11],arcco:4,arcsin:4,arctan:4,arg:[1,2],argument:4,arrai:[2,4,5,7,10,11,13],asarrai:12,asin:4,assum:4,atan:4,automat:[0,10],avail:[4,11],axi:4,b08:9,baselin:11,basic:[8,11],becaus:[0,9,11],becom:12,been:11,befor:[2,4,5],begin:1,behavior:6,below:2,bia:11,bias_r:11,binai:0,binari:4,bind:[4,13],bit:9,block:[0,7],bool:[0,1,2,4,5],both:8,bottom:[11,12],box:3,build:[2,4,5,6,9],build_cod:6,built:[0,4,10],builtin:[2,4,5,11],cach:6,calcul:[0,4,10,11],call:[2,4,5,8,10,11,12],can:[0,2,3,4,5,6,8,9,10,11,12],cbind:4,cell:0,chang:11,check:[2,4,9,12],choleski:4,classifi:11,clean:[9,13],cleanup:0,clone:9,close:[0,10],code:[2,4,5,6,9,10,11],code_lin:[2,4,5],col:[0,12],column:[0,3,4,11],com:9,combin:11,come:11,command:[9,12],commonli:11,comparison:4,compat:[9,10],compil:13,complet:[0,10],comput:[2,3,4,5,10,11,12],concaten:4,connect:0,construct:[0,2,4],contain:[0,4,9,11],context:[0,1,3,4,6,7,10,11,12],contrast:13,convert:[4,8],coordin:[0,12],copi:9,correctli:[0,11,12],correspond:11,cos:4,cosh:4,could:11,cpu:13,creat:[0,1,2,4,5,6,8,10,12],create_params_str:8,csv:[0,12],current:[0,7,12],dag:[2,4,6],dag_root:6,dagnod:[0,1,2,4,5,6],data:[0,2,4,5,6,10,11,12,13],datamanag:11,dataset:13,datatensor:13,decomposit:4,decreas:4,defin:[0,2,5],definit:4,delimit:12,depend:9,deploy:13,deriv:2,describ:6,destin:4,detail:0,develop:10,dict:[0,1,2,4,5,8],dictionari:8,differ:[3,6,11,12,13],dim:12,dimens:[11,12,13],dimension:13,direct:5,directli:10,disk:[0,4],distinct:11,distribut:[0,9,11,13],dml:[0,2,4,5,6,8],dmlcode:6,dmlscript:6,doe:[10,11,12],doesn:5,done:[11,12],doubl:[0,4,10,12],download:11,dtype:10,each:[1,11,12],easili:[4,10],echo:12,effici:13,either:[2,4,13],element:10,enabl:12,encod:4,end:[1,13],engin:13,ensur:[0,4],entir:13,enumer:5,environ:9,equal:[2,4,5],equival:4,error:[0,4],etc:4,evalu:[2,4,5],even:4,everi:4,everyth:11,exampl:[3,10,11],except:0,exception_and_clos:0,exchang:10,execut:[0,2,4,5,6,9,10,12,13],execute_with_lineag:6,exhaust:11,exist:13,expect:[4,11],expens:0,expertis:13,explan:11,explor:11,extra:4,extract:11,facilit:13,fals:[2,4,5,12],featur:[3,10,11,13],fed_a:12,fed_b:12,few:9,file:[0,4,12],fill:[0,10],finish:0,first:[4,9,10,11,12,13],fit:11,flag:4,follow:[0,3,9,12],form:0,format:[4,8,12],fraction:0,from:[0,2,3,4,5,6,9,10,11,12,13],full:[0,10],fundament:2,further:11,gener:[0,2,3,4,5,10],get:[0,2,4,5,6,10],get_lineage_trac:[4,5],get_module_dir:8,get_stderr:0,get_stdout:0,get_test_data:11,get_test_label:11,get_train_data:11,get_train_label:11,getter:0,git:9,github:[0,4,9],give:[8,11],given:[0,2,4,7],goe:11,good:11,gpu:13,graph:5,guid:12,hand:4,handl:0,happen:11,has:[0,6,11],have:[0,9,11,12,13],hdf:4,header:12,held:1,help:13,here:[11,12],heterogen:13,high:[10,13],highest:11,homogen:13,how:11,http:[0,4,9],hybrid:13,identifi:4,imag:11,immedi:4,implement:[0,11],improv:[4,11],includ:0,increas:[4,11],increment:0,index:[1,4],index_return:4,indic:[11,12],inform:[2,4,5],input:[4,6,11],input_var:6,instal:11,instanc:[0,7,10,11],instead:9,instruct:[0,12],integ:[0,11],integr:13,intend:[2,4,5,6],interfac:13,intern:[5,6,7,8],interpret:0,involv:9,is_python_local_data:4,iter:[1,4,8,11],its:12,jar:9,java:[0,2,4,5,9],java_gatewai:[2,4,5,6,7],javaobject:[2,4,5,6,7],just:9,jvm:[0,2,4,5,7],jvmview:[4,5,7],keep:11,know:11,known:11,kwarg:[0,1,2,4],l2svm:10,label:[10,11],lambd:0,lamda:0,languag:[0,4,13],last:12,later:11,lazi:[2,4,5],lazili:4,learn:[3,11],least:0,leav:0,left:[0,12],let:10,level:[10,13],leverag:12,librari:9,lifecycl:13,like:[4,11,12],line:[0,2,4,5,6,9],lineag:[2,4,5,6],list:[0,11,12],load:11,loader:11,local:[4,6,13],localhost:12,locat:[4,12],logist:11,look:[4,9,10,12],low:11,m_re:10,m_res_np:10,machin:[2,3,4,5],made:11,mai:13,main:9,make:[9,10,11,12],manag:0,market:0,mat:2,matric:[2,4,12],matrix:[0,1,3,4,7,11,12],matrix_block_to_numpi:7,matrixblock:7,maven:9,max:[0,4],maxi:11,maximum:0,mean:[4,11],memori:13,metadata:12,method:[0,2,4,5],might:[0,9],min:0,mix:9,mnist:11,mode:9,model:[10,11,13],modul:8,more:[0,11],most:[2,4],mtd:12,much:11,multi:[4,13],multilogreg:11,multilogregpredict:11,multipl:[4,10,11],multipli:[10,11,12],must:4,mvn:9,name:[1,2,4,5,6,8],named_input_nod:4,named_input_var:[2,4,5],named_paramet:8,necessari:[0,9,10],need:[0,2,9,12],nest:13,newer:9,next:12,node:[0,2,5],non:[0,9],none:[0,2,4,5,6],normal:0,note:[9,10,11,12],noteworthi:11,noth:[4,10,11],now:11,np_arr:7,num_class:4,number:[0,4,9,10,11],number_of_output:4,numpi:[2,3,4,5,7,9,10,11,12],numpy_to_matrix_block:7,object:[0,1,2,4,5,6,7],older:9,onc:[0,9,12],one:[0,4,10,11,12],onehot:4,onehotencod:4,ones:12,onli:[0,2,4,5,6,10,11],open:[0,9],openjdk:9,oper:[0,1,2,3,5,6,11,13],operation_nod:[0,1,4],operationnod:[0,1,2,4],order:[4,12,13],other:[4,9,11,12],our:[6,8,10,11,12],out:[0,3],output:[0,2,3,4,5,6,9,10,11],output_typ:[2,4],outputtyp:[4,5],over:13,overal:11,overload:4,packag:[9,10,13],page:11,pair:[1,2,4,5],param:[0,1,4],paramet:[0,1,2,4,5,6,7,8,11],pars:0,part:9,pass:[0,2,4,5,6],pass_python_data_to_prepared_script:[2,4,5],path:[0,4,8,12],pathlik:[0,8],pdf:0,per:11,perfectli:11,perform:[4,11],pictur:11,pip3:9,pixel:11,plan:13,pleas:9,point:9,pointer:7,poison:0,port:[0,12],posit:4,possibl:2,potenti:11,pre_setup:9,predict:11,prepar:[2,4,5,6],prepared_script:[2,4,5],preparedscript:6,preprocess:11,prerequisit:11,previou:11,print:[0,2,3,4,5,10,11,12],probabl:11,procedur:0,process:[0,10],program:0,project:9,protocol:0,provid:[8,10,11,13],py4j:[2,4,5,6,7,9,10],python:[0,2,4,5,6,9,10,12,13],queue:0,quick:10,quit:9,rand:[0,3],randint:10,random:[0,3,10],rang:[1,10,11],rbind:4,read:[0,4],readi:[9,11],readwrit:[0,4],realist:11,recogn:[2,4],recommend:2,recompil:6,reduc:11,refer:[0,4,12],regress:11,rememb:[4,10],replac:11,repositori:[9,12],repres:[0,1,2,4,5,8],represent:[4,7],request:9,requir:[11,12],rerun:6,res:12,resembl:11,respect:4,respons:[3,11],result:[2,4,5,6,10,11,12],resultvari:6,rev:4,revers:4,right:4,root:9,row:[0,4,11,12],run:[0,7,10,12],runtim:9,safe:4,same:11,sampl:11,sample_s:11,save:[2,4,5,11],savetxt:12,scalar:[0,10],scenario:4,schema:13,scienc:13,scientist:10,script:[2,4,5,13],script_build:[4,5,6],sds:[0,2,3,7,10,11,12],sds_context:[0,1,2,4],second:[4,12],see:[0,11],seed:[0,3,10],seen:[4,11],sent:2,separ:0,seq:0,sequenc:[2,4,5],serv:13,server:9,set:[3,4,10,11,12],setup:[11,12],shape:[0,4,10,11],should:[2,3,4,5,6,9,10,12],shown:11,side:4,similar:[3,9,10],simpl:[9,11],simpli:[4,11,12],simplic:11,simplifi:10,simul:12,sin:4,sinc:[0,11],singl:[0,11,12],sinh:4,site:[0,4],size:[0,10],skip:[4,11],smaller:11,some:[10,11,12],someth:0,sort:4,spark:13,sparsiti:0,specif:[4,11],specifi:[2,12],src:9,stack:12,standard:0,start:[0,10,11],statement:0,stderr:0,stdout:[0,4],step:[0,9],still:11,stop:[0,10],store:[4,5],str:[0,1,2,4,5,6,8],string:[2,4,5,6,8],sub:0,subprocess:[0,10],subset:11,sum:[4,12],support:[0,3,12],sure:9,symmetr:4,syntax:0,system:[9,13],systemd:[0,1,2,3,4,5,6,7,8,10,11,12],systemds_context:1,systemdscontext:[1,2,3,4,6,7,10,11,12],take:[10,11],taken:0,tan:4,tanh:4,task:13,tcp:0,techniqu:11,temp:12,tensor:[0,13],termin:[9,10,12],test:[11,12],test_acc:11,text:0,than:4,thei:4,therebi:4,therefor:[0,4,11],thi:[0,1,2,4,5,6,9,10,11,12,13],three:[9,11,12],through:11,till:[2,4,5],time:[4,11],to_one_hot:4,to_str:4,todo:[0,6],top:12,topmost:6,trace:[2,4,5,6],train:13,train_acc:11,transpos:4,tupl:[0,1,4,6,12],tutori:11,two:[11,12],type:[0,2,4,5,11],underli:13,unfortun:11,uniform:0,union:[0,1,2,4],unlik:5,unnam:[1,2,4,5,8],unnamed_input_nod:4,unnamed_input_var:[2,4,5],unnamed_paramet:8,upward:11,use:[2,5,6,7,8,9,10,11,12],used:[3,6,8,11,12],user:13,using:[0,9,11,12],usual:11,util:[7,8],valu:[0,2,3,4,5,10,11],valuabl:11,var_nam:[2,4,5,6],variabl:[2,4,5,6,8,12],varianc:4,varieti:11,vector:[0,3,11],verbos:[2,4,5],verifi:[9,11],versatil:13,version:9,via:9,virtual:[2,4,5],wai:[2,11],want:11,weight:3,well:[4,11,13],what:11,wheel:9,when:[0,11],where:11,which:[0,2,4,6,8,10],whole:4,whose:13,wise:[4,10],without:[2,4,5,6],work:[11,12,13],worker:1,would:0,write:4,written:4,x_d:11,y_d:11,y_pred:11,yet:[10,11],you:[4,9,11,12],your:[0,9,12],zero:[0,10]},titles:["SystemDSContext","Federated","Matrix","Algorithms","Operation Node","Dag","Script","Converters","Helpers","Install SystemDS","QuickStart","Built-in Algorithms","Federated Environment","SystemDS"],titleterms:{aggreg:12,algorithm:[3,11],built:11,complex:10,convert:7,dag:5,dataset:11,environ:12,exampl:12,feder:[1,12],format:11,full:11,get:11,helper:8,instal:9,matrix:[2,10],more:10,multipl:12,node:4,oper:[4,10],pip:9,quickstart:10,reshap:11,script:[6,11],simpl:12,sourc:9,start:12,step:11,systemd:[9,13],systemdscontext:0,train:11,tune:11,valid:11,worker:12}})
\ No newline at end of file
diff --git a/docs/api/python/sources/api/onnx_systemds/convert.rst.txt b/docs/api/python/sources/api/onnx_systemds/convert.rst.txt
deleted file mode 100644
index 7984341..0000000
--- a/docs/api/python/sources/api/onnx_systemds/convert.rst.txt
+++ /dev/null
@@ -1,27 +0,0 @@
-.. -------------------------------------------------------------
-.. 
-.. Licensed to the Apache Software Foundation (ASF) under one
-.. or more contributor license agreements.  See the NOTICE file
-.. distributed with this work for additional information
-.. regarding copyright ownership.  The ASF licenses this file
-.. to you under the Apache License, Version 2.0 (the
-.. "License"); you may not use this file except in compliance
-.. with the License.  You may obtain a copy of the License at
-.. 
-..   http://www.apache.org/licenses/LICENSE-2.0
-.. 
-.. Unless required by applicable law or agreed to in writing,
-.. software distributed under the License is distributed on an
-.. "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-.. KIND, either express or implied.  See the License for the
-.. specific language governing permissions and limitations
-.. under the License.
-.. 
-.. ------------------------------------------------------------
-
-Convert
-=======
-
-.. automodule:: systemds.onnx_systemds.convert
-  :members:
-
diff --git a/docs/api/python/sources/api/onnx_systemds/onnx_helper.rst.txt b/docs/api/python/sources/api/onnx_systemds/onnx_helper.rst.txt
deleted file mode 100644
index 846cad2..0000000
--- a/docs/api/python/sources/api/onnx_systemds/onnx_helper.rst.txt
+++ /dev/null
@@ -1,26 +0,0 @@
-.. -------------------------------------------------------------
-.. 
-.. Licensed to the Apache Software Foundation (ASF) under one
-.. or more contributor license agreements.  See the NOTICE file
-.. distributed with this work for additional information
-.. regarding copyright ownership.  The ASF licenses this file
-.. to you under the Apache License, Version 2.0 (the
-.. "License"); you may not use this file except in compliance
-.. with the License.  You may obtain a copy of the License at
-.. 
-..   http://www.apache.org/licenses/LICENSE-2.0
-.. 
-.. Unless required by applicable law or agreed to in writing,
-.. software distributed under the License is distributed on an
-.. "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-.. KIND, either express or implied.  See the License for the
-.. specific language governing permissions and limitations
-.. under the License.
-.. 
-.. ------------------------------------------------------------
-
-Onnx Helper
-===========
-
-.. automodule:: systemds.onnx_systemds.onnx_helper
-  :members:
diff --git a/docs/api/python/sources/api/onnx_systemds/operator_gen.rst.txt b/docs/api/python/sources/api/onnx_systemds/operator_gen.rst.txt
deleted file mode 100644
index eea3edd..0000000
--- a/docs/api/python/sources/api/onnx_systemds/operator_gen.rst.txt
+++ /dev/null
@@ -1,26 +0,0 @@
-.. -------------------------------------------------------------
-.. 
-.. Licensed to the Apache Software Foundation (ASF) under one
-.. or more contributor license agreements.  See the NOTICE file
-.. distributed with this work for additional information
-.. regarding copyright ownership.  The ASF licenses this file
-.. to you under the Apache License, Version 2.0 (the
-.. "License"); you may not use this file except in compliance
-.. with the License.  You may obtain a copy of the License at
-.. 
-..   http://www.apache.org/licenses/LICENSE-2.0
-.. 
-.. Unless required by applicable law or agreed to in writing,
-.. software distributed under the License is distributed on an
-.. "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-.. KIND, either express or implied.  See the License for the
-.. specific language governing permissions and limitations
-.. under the License.
-.. 
-.. ------------------------------------------------------------
-
-Operator Gen
-============
-
-.. automodule:: systemds.onnx_systemds.operator_gen
-  :members:
diff --git a/docs/api/python/sources/api/onnx_systemds/render.rst.txt b/docs/api/python/sources/api/onnx_systemds/render.rst.txt
deleted file mode 100644
index 288fd48..0000000
--- a/docs/api/python/sources/api/onnx_systemds/render.rst.txt
+++ /dev/null
@@ -1,27 +0,0 @@
-.. -------------------------------------------------------------
-.. 
-.. Licensed to the Apache Software Foundation (ASF) under one
-.. or more contributor license agreements.  See the NOTICE file
-.. distributed with this work for additional information
-.. regarding copyright ownership.  The ASF licenses this file
-.. to you under the Apache License, Version 2.0 (the
-.. "License"); you may not use this file except in compliance
-.. with the License.  You may obtain a copy of the License at
-.. 
-..   http://www.apache.org/licenses/LICENSE-2.0
-.. 
-.. Unless required by applicable law or agreed to in writing,
-.. software distributed under the License is distributed on an
-.. "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-.. KIND, either express or implied.  See the License for the
-.. specific language governing permissions and limitations
-.. under the License.
-.. 
-.. ------------------------------------------------------------
-
-Render
-=======
-
-.. automodule:: systemds.onnx_systemds.render
-  :members:
-
diff --git a/docs/api/python/sources/api/onnx_systemds/util.rst.txt b/docs/api/python/sources/api/onnx_systemds/util.rst.txt
deleted file mode 100644
index d6ff87e..0000000
--- a/docs/api/python/sources/api/onnx_systemds/util.rst.txt
+++ /dev/null
@@ -1,26 +0,0 @@
-.. -------------------------------------------------------------
-.. 
-.. Licensed to the Apache Software Foundation (ASF) under one
-.. or more contributor license agreements.  See the NOTICE file
-.. distributed with this work for additional information
-.. regarding copyright ownership.  The ASF licenses this file
-.. to you under the Apache License, Version 2.0 (the
-.. "License"); you may not use this file except in compliance
-.. with the License.  You may obtain a copy of the License at
-.. 
-..   http://www.apache.org/licenses/LICENSE-2.0
-.. 
-.. Unless required by applicable law or agreed to in writing,
-.. software distributed under the License is distributed on an
-.. "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-.. KIND, either express or implied.  See the License for the
-.. specific language governing permissions and limitations
-.. under the License.
-.. 
-.. ------------------------------------------------------------
-
-Util
-====
-
-.. automodule:: systemds.onnx_systemds.util
-  :members:
diff --git a/docs/api/python/sources/getting_started/install.rst.txt b/docs/api/python/sources/getting_started/install.rst.txt
index 596bc8f..8505185 100644
--- a/docs/api/python/sources/getting_started/install.rst.txt
+++ b/docs/api/python/sources/getting_started/install.rst.txt
@@ -62,7 +62,7 @@
 Additionally you have to install a few python packages.
 Note depending on your installation you might need to use pip3 instead of pip::
 
-  pip install numpy py4j wheel jinja2 onnx requests
+  pip install numpy py4j wheel requests
 
 Then to build the system you do the following
 
diff --git a/docs/api/python/sources/index.rst.txt b/docs/api/python/sources/index.rst.txt
index c8134ff..650b183 100644
--- a/docs/api/python/sources/index.rst.txt
+++ b/docs/api/python/sources/index.rst.txt
@@ -57,14 +57,6 @@
 .. toctree::
    :maxdepth: 1
    :hidden:
-   :caption: Onnx SystemDS
-
-   onnx_systemds/onnx_systemds.rst
-   onnx_systemds/onnx_systemds_design.rst
-
-.. toctree::
-   :maxdepth: 1
-   :hidden:
    :caption: API
 
    api/operator/algorithms.rst
@@ -72,11 +64,6 @@
    api/matrix/matrix.rst
    api/matrix/federated.rst
    api/operator/operation_node.rst
-   api/onnx_systemds/convert.rst
-   api/onnx_systemds/onnx_helper.rst
-   api/onnx_systemds/operator_gen.rst
-   api/onnx_systemds/render.rst
-   api/onnx_systemds/util.rst
 
 .. toctree::
    :maxdepth: 1
diff --git a/docs/api/python/sources/onnx_systemds/onnx_systemds.rst.txt b/docs/api/python/sources/onnx_systemds/onnx_systemds.rst.txt
deleted file mode 100644
index 78fda90..0000000
--- a/docs/api/python/sources/onnx_systemds/onnx_systemds.rst.txt
+++ /dev/null
@@ -1,60 +0,0 @@
-.. -------------------------------------------------------------
-..
-.. Licensed to the Apache Software Foundation (ASF) under one
-.. or more contributor license agreements.  See the NOTICE file
-.. distributed with this work for additional information
-.. regarding copyright ownership.  The ASF licenses this file
-.. to you under the Apache License, Version 2.0 (the
-.. "License"); you may not use this file except in compliance
-.. with the License.  You may obtain a copy of the License at
-..
-..   http://www.apache.org/licenses/LICENSE-2.0
-..
-.. Unless required by applicable law or agreed to in writing,
-.. software distributed under the License is distributed on an
-.. "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-.. KIND, either express or implied.  See the License for the
-.. specific language governing permissions and limitations
-.. under the License.
-..
-.. -------------------------------------------------------------
-
-QuickStart Onnx
-===============
-
-onnx-systemds is a tool for importing/exporting onnx graphs into/from SystemDS DML scripts.
-
-Prerequisites
----------------
-to run onnx-systemds you need to:
-
-- install `onnx <https://github.com/onnx/onnx>`_: `Installation instructions <https://github.com/onnx/onnx#installation>`_
-- `set up the environment <https://github.com/apache/systemds/blob/master/bin/README.md>`_
-
-Usage
-------
-An example call from the ``src/main/python`` directory of systemds::
-
-  python -m systemds.onnx_systemds.convert tests/onnx/test_models/simple_mat_add.onnx
-
-
-This will generate the dml script ``simple_mat_add.dml`` in the current directory.
-
-Run Tests
----------
-Form the ``src/main/python`` directory of systemds:
-
-At first generate the test models::
-
-  python tests/onnx/test_models/model_generate.py
-
-Then you can run the tests::
-
-  python -m unittest tests/onnx/test_simple.py
-
-
-Converter
----------
-It is also possible to invoke the converter from within python.
-
-.. autofunction:: systemds.onnx_systemds.convert.onnx2systemds
\ No newline at end of file
diff --git a/docs/api/python/sources/onnx_systemds/onnx_systemds_design.rst.txt b/docs/api/python/sources/onnx_systemds/onnx_systemds_design.rst.txt
deleted file mode 100644
index acc15c6..0000000
--- a/docs/api/python/sources/onnx_systemds/onnx_systemds_design.rst.txt
+++ /dev/null
@@ -1,217 +0,0 @@
-.. -------------------------------------------------------------
-..
-.. Licensed to the Apache Software Foundation (ASF) under one
-.. or more contributor license agreements.  See the NOTICE file
-.. distributed with this work for additional information
-.. regarding copyright ownership.  The ASF licenses this file
-.. to you under the Apache License, Version 2.0 (the
-.. "License"); you may not use this file except in compliance
-.. with the License.  You may obtain a copy of the License at
-..
-..   http://www.apache.org/licenses/LICENSE-2.0
-..
-.. Unless required by applicable law or agreed to in writing,
-.. software distributed under the License is distributed on an
-.. "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-.. KIND, either express or implied.  See the License for the
-.. specific language governing permissions and limitations
-.. under the License.
-..
-.. -------------------------------------------------------------
-
-Design
-======
-
-This document describes the initial design of `onnx-systemds`
-
-For dealing with different operator-set versions of onnx the current strategy is to use the
-`converter provided by onnx <https://github.com/onnx/onnx/blob/master/docs/PythonAPIOverview.md#converting-version-of-an-onnx-model-within-default-domain-aionnx>`_ to convert to a common version.
-
-However, the converter does not support adapters for all op-sets/operators so this conversion will fail for many models.
-On the onnx repository you can find a list of
-`currently supported adapters <https://github.com/onnx/onnx/blob/master/onnx/version_converter.py#L21>`_
-
-
-Goals
------
-
- - Support for importing `operators of the ONNX base definition <https://github.com/onnx/onnx/blob/master/docs/Operators.md>`_
- - Support for importing `operators defined by ONNX-ML <https://github.com/onnx/onnx/blob/master/docs/Operators-ml.md>`_
- - Support for exporting DML script to ONNX graphs
-
-
-Limitations
-------------
-
- - Not able to support all data types / operators as they are not currently supported by SystemDS
-
-Onnx - Operators
------------------
-
-Onnx includes several very simple and also more complex operators.
-When implementing an operator it's best to have a look at the
-`operator schemas <https://github.com/onnx/onnx/blob/master/docs/Operators.md>`_,
-which precisely define the inputs, outputs and attributes of the operation.
-
-Besides the standard onnx definition, there also exists onnx-ML the operator schemas for which are defined in a
-`separate document <https://github.com/onnx/onnx/blob/master/docs/Operators-ml.md>`_.
-It is an extension of the standard onnx format, however currently only onnx standard operators are supported.
-
-Onnx - Files
--------------
-
-Onnx uses the `ProtoBuf format <https://developers.google.com/protocol-buffers/>`_.
-It specifies this representation in several ``.proto``/``.proto3``
-`files <https://github.com/onnx/onnx/tree/master/onnx>`_ again with dedicated files for onnx-ML.
-These files are helpful to understand the underlying structure and values that are possible.
-
-Protobuf creates the underlying structure such that you can access elements of the onnx graph as if they were
-class members. For more information take a look at
-`Google's protocol-buffer documentation
-<https://developers.google.com/protocol-buffers/docs/pythontutorial#the-protocol-buffer-api>`_.
-
-This is also why in its current form, this converter does not convert the protobuf-structure into an internal format,
-as the provided protobuf structure can already be conveniently used. Instead,
-there exist a number of onnx-helper functions/classes (see ``onnx_helper.py``).
-
-Traversing the Graph
----------------------
-
-For creating the script, it is essential to insert computations in the right order into the dml-script.
-To do this, the converter builds a tree-structure (DAG) from the protobuf-nodes
-(see `render.gen_graph_functions`).
-
- - For traversing the graph, we start from the bottom.
- - The converter starts with the graph-outputs as available outputs.
- - It generates the dml snippets in reverse-order
-
-Graph traversal
-^^^^^^^^^^^^^^^^
-
-1. Find a node for which all outputs are available.
-
-2. Process the node:
-
-    - Generate the dml parts for this node
-    - add its inputs to the list of available outputs
-    - remove the node from the graph
-
-3. if there are nodes left restart at 1.
-
-Example
-^^^^^^^
-
-In the example below with the nodes ``Add``, ``MatMul`` and ``Sub``, we would start with ``F`` as available output.
-Therefore the first node to insert would be ``Sub``. After inserting ``Sub`` its inputs become available outputs,
-therefore all outputs of ``MatMul`` become available. Finally, after removing ``MatMul`` from the graph all outputs
-to ``Add`` are available, and it can be removed from the graph as well.
-
-.. image:: /assets/sample_graph.png
-    :width: 200px
-    :align: center
-    :alt: sample graph
-
-
-Rendering DML scripts
----------------------
-
-The main idea of this converter is, that the logic for generating the actual dml-syntax is handled by
-`Jinja templates <https://jinja.palletsprojects.com/en/2.11.x/>`_ (located in ``/templates``).
-Therefore the python code stays uncluttered, because it does not have to merge strings together to produce valid
-dml-syntax and instead simply provides the elements that are needed to render the script.
-
-The template-engine then takes these inputs and renders a human readable script with valid dml syntax.
-To improve readability the generator also automatically ads the doc-strings which are part of the onnx-definitions as
-comments to the script.
-
-When traversing the graph, a script part is generated for each node consisting of three elements:
-
- - `dml_script` The actual script snipped for the node
- - `imports` Imports required for the node
- - `sub_graphs` Any sub_graphs of the node that need to be handled
-
-The function that is called for rendering a specific operator is defined in the dictionary
-``operator_generators`` in ``render.py``
-
-1. `dml_script`
-^^^^^^^^^^^^^^^^^^
-
-Depending on the operator this can be a function call or a more complex dml-snippet.
-This part is generated by the template-engine when the corresponding template is rendered.
-
-Many onnx-operators can be handled by a single template file. There exists a ``function_call.dml.jinja``
-template which should be able to handle a large number of operators.
-
-2. `imports`
-^^^^^^^^^^^^^
-
-Some operators are handled by calling scripts provided by systemds located in ``$SYSTEMDS_ROOT/scripts``.
-To enable these imports, the converter automatically resolves the ``$SYSTEMDS_ROOT``
-environment variable and adds a ``setw($SYSTEMDS_ROOT/scripts)`` to the script.
-
-3. `sub_graphs`
-^^^^^^^^^^^^^^^^^
-
-Since sub-graphs have their own variable scope and are independent, they are handled as separate functions.
-The converter generates a function for each graph in the model.
-In the main-graph, the sub-graph is replaced by a function call to the sub-graph function.
-To handle this the function ``render.gen_graph_functions`` recursively calls itself to render sub-graph functions
-(and also the sub-graph functions of sub-graphs and so on...).
-
-Final Script
-------------
-
-In the final render all required imports, the sub-functions and the main-function are combined in a single dml-file.
-
-Implementing new operators
-----------------------------
-
-When implementing an operator it's best to have a look at the
-`operator schemas <https://github.com/onnx/onnx/blob/master/docs/Operators.md>`_
-which exactly define the inputs, outputs and attributes of the operation
-
-It is also nice to have a test-model to work with, to generate one refer to
-``tests/onnx/test_models/model_generate.py``.
-
-To implement a new operator, the function that handles the operator needs to be defined in the ``operator_generators``
-located in ``render.py``.
-All functions listed in this dictionary need to have the same call structure.
-
-If there exists a dml-script (in ``$SYSTEMDS_ROOT/scripts``) that provides the functionality the operator
-can be implemented by translating the arguments/inputs, adding the import-render and function-call-render to this script.
-
-Testing models
----------------
-
-onnx provides a convenient way for
-`creating models <https://github.com/onnx/onnx/blob/master/docs/PythonAPIOverview.md#checking-an-onnx-model>`_
-using helper functions in python. All current test-models are produced like this (see ``tests/onnx/test_models``).
-
-Creating a Testcase
-^^^^^^^^^^^^^^^^^^^^^
-
-The current test-system takes a model, converts it to dml using the converter and then runs a
-``dml_wrapper`` which calls the model-function using the script ``$SYSTEMDS_ROOT/bin/systemds``.
-Finally, the output (stored by the dml-wrapper) is compared to a reference output.
-
-When creating files stick to the naming conventions of other files in the same folder.
-
-Steps:
-""""""""
-
-1. Create a model in ``tests/onnx/test_models``, e.g. ``sample_model.onnx``
-
-2. Create a dml wrapper that calls the model-function in ``tests/onnx/dml_wrapper/sample_model_wrapper.dml``
-
-    - The wrapper needs to call the model-function and store the output to ``output_test/sample_model.out``
-    - The name of the model-function is generated from the model-name (see ``util.generate_function_name`` )
-
-3. Provide a reference output in ``tests/onnx/output_reference/sample_model_reference.out``
-
-4. Create the unit test function.
-
-Tools
-------
-
- - `Pycharm <https://www.jetbrains.com/pycharm/>`_ in the professional version allows you to  `debug template files <https://www.jetbrains.com/help/pycharm/templates.html#debug>`_ which can be handy
- - `Neutron <https://github.com/lutzroeder/netron>`_ is a nice free tool for viewing onnx-graphs
\ No newline at end of file
diff --git a/docs/index.md b/docs/index.md
index ce00beb..2db46fb 100644
--- a/docs/index.md
+++ b/docs/index.md
@@ -44,3 +44,4 @@
 - The [JavaDOC](./api/java/index) contains internal documentation of the system source code.
 - [Install from Source](./site/install) guides through setup from git download to running system.
 - If you want to contribute take a look at [Contributing](https://github.com/apache/systemds/blob/master/CONTRIBUTING.md)
+- [R to DML](./site/dml-vs-r-guide) walks through the basics of converting a script from R to dml.
diff --git a/dev/docs/dml-vs-r-guide.md b/docs/site/dml-vs-r-guide.md
similarity index 86%
rename from dev/docs/dml-vs-r-guide.md
rename to docs/site/dml-vs-r-guide.md
index 760d57e..0a5aa37 100644
--- a/dev/docs/dml-vs-r-guide.md
+++ b/docs/site/dml-vs-r-guide.md
@@ -1,3 +1,7 @@
+---
+layout: site
+title: R to DML 
+---
 <!--
 {% comment %}
 Licensed to the Apache Software Foundation (ASF) under one or more
@@ -17,8 +21,6 @@
 {% endcomment %}
 -->
 
-#### `dml` to `R` translation recipes
-
 To ease the prototyping of the `dml` scripts from its `R` counterparts, this
 guide covers various practical functions or operations.
 
@@ -26,12 +28,12 @@
 
 ## Table of Contents
 
-  * [Multiple outputs](#multiple-outputs)
-  * [Order function](#order-function)
-  * [Read function](#read-function)
-  * [`Write` function](#write-function)
+* [Multiple outputs](#multiple-outputs)
+* [Order function](#order-function)
+* [Read function](#read-function)
+* [`Write` function](#write-function)
 
-##### Multiple-outputs
+### Multiple-outputs
 
 ```dml
 # dml
@@ -51,7 +53,7 @@
 evectors = R$vectors;
 ```
 
-##### `order`-function
+### `order`-function
 
 ```dml
 # dml
@@ -67,7 +69,7 @@
 diagmat = table(seq(1,D), decreasing_Idx);
 ```
 
-##### `Read`-function
+### `Read`-function
 
 ```dml
 # dml
@@ -83,7 +85,7 @@
 A = readMM(paste(args[1], "A.mtx", sep=""))
 ```
 
-##### `Write`-function
+### `Write`-function
 
 ```dml
 # dml
diff --git a/docs/site/install.md b/docs/site/install.md
index 88d55aa..7b04bbb 100644
--- a/docs/site/install.md
+++ b/docs/site/install.md
@@ -29,7 +29,7 @@
 
 ## Windows
 
-[Developer Guide](https://github.com/apache/systemds/blob/master/dev/docs/windows-source-installation.md)
+[Developer Guide](windows-source-installation)
 
 ---
 
@@ -148,4 +148,3 @@
 
 Now everything is setup and ready to go!
 To execute dml scripts look at [Execute SystemDS](run)
-
diff --git a/docs/site/run.md b/docs/site/run.md
index 427da2e..56431ae 100644
--- a/docs/site/run.md
+++ b/docs/site/run.md
@@ -41,7 +41,7 @@
 (but remember to change `$(pwd` to the full folder path)
 or your environment variables in windows to enable reuse between terminals and restarts.
 
-```bash 
+```bash
 echo 'export SYSTEMDS_ROOT='$(pwd) >> ~/.bashrc
 echo 'export PATH=$SYSTEMDS_ROOT/bin:$PATH' >> ~/.bashrc
 ```
@@ -65,9 +65,8 @@
 ## Running a real first example
 
 To see SystemDS in action a simple example using the `Univar-stats.dml`
-script can be executed. This example is taken from the
-[SystemML documentation](http://apache.github.io/systemml/standalone-guide).
-The relevant commands to run this example with SystemDS will be listed here.
+script can be executed.
+The relevant commands to run this example with SystemDS is described in the DML Language reference guide at [link](dml-language-reference.html).
 See their documentation for further details.  
 
 ### Example preparations
@@ -93,7 +92,7 @@
 ## Using Intel MKL native instructions
 
 To use the MKL acceleration download and install the latest supported MKL library (<=2019.5) from [1],
-set the environment variables with the MKL-provided script `. /opt/intel/bin/compilervars.sh intel64` (note the dot and 
+set the environment variables with the MKL-provided script `. /opt/intel/bin/compilervars.sh intel64` (note the dot and
 the default install location) and set the option `sysds.native.blas` in `SystemDS-config.xml` to mkl.
 
-[1]: https://software.intel.com/mkl "Intel Math Kernel Library"
\ No newline at end of file
+[1]: https://software.intel.com/mkl "Intel Math Kernel Library"
diff --git a/dev/docs/windows-source-installation.md b/docs/site/windows-source-installation.md
similarity index 93%
rename from dev/docs/windows-source-installation.md
rename to docs/site/windows-source-installation.md
index b19e766..5e25b51 100644
--- a/dev/docs/windows-source-installation.md
+++ b/docs/site/windows-source-installation.md
@@ -1,3 +1,7 @@
+---
+layout: site
+title: SystemDS Install from source
+---
 <!--
 {% comment %}
 Licensed to the Apache Software Foundation (ASF) under one or more
@@ -27,14 +31,15 @@
 * `<MAVEN_HOME>` is the root directory for the Apache Maven source code.
 * `<SYSTEMDS_HOME>` is the root directory for the SystemDS source code.
 * `<SPARK_HOME>` is the root directory for the Apache Spark source code.
-* `<HADOOP_HOME>` is the root directory for 
+* `<HADOOP_HOME>` is the root directory for
 * `<CUDA_HOME>`,`<CUDA_PATH>` is the top directory for NVIDIA GPU Computing Toolkit.  
 Ex. For version `9.0`, it would like `C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0`
 Also, make sure that `libnvvp`, `bin` folders are accessible to command line.
-*  `<CUDNN_PATH>` is the path 
+* `<CUDNN_PATH>` is the path
 Ex. Corresponding to the CUDA version, `C:\Program Files\cudnn-9.0-windows10-x64-v7.2.1.38\cuda`
 
-#### Directory structure of the installation
+### Directory structure of the installation
+
 ```py
 .
 ├── MAVEN_HOME = './maven'
@@ -55,9 +60,9 @@
 SystemDS source code is available from [github.com/apache/systemds](https://github.com/apache/systemds) by either cloning or
 downloading a zip file (based on a branch) into `<SYSTEMDS_HOME>`. The default is the *master* branch.
 
-````
+```bash
 git clone https://github.com/apache/systemds systemds
-```` 
+```
 
 The master branch contains the source code which will be used to create the next major version of Apache SystemDS.
 
@@ -70,7 +75,8 @@
 
 #### Opening the IntelliJ Source Code for Build
 
-Using IntelliJ IDEA **File | Open**, select the `<SYSTEMDS_HOME>` directory. 
+Using IntelliJ IDEA **File | Open**, select the `<SYSTEMDS_HOME>` directory.
+
 * If IntelliJ IDEA displays an error about a missing or out of date required plugin (e.g. maven),
   [enable, upgrade, or install that plugin](https://www.jetbrains.com/help/idea/managing-plugins.html) and restart IntelliJ IDEA.
 
@@ -88,19 +94,22 @@
    to enable the "Compile independent modules in parallel" option. Also set the "User-local build process VM options" to `-Xmx2G`.
    These changes will greatly reduce the compile time.
 4. Now, selecting the IntelliJ IDEA **Build | Build module 'systemds'** option starts the maven build.
-5. _**Speed Tip:**_ If the development machine have enough RAM,
+5. **Speed Tip:**_ If the development machine have enough RAM,
    [configure the compiler settings](https://www.jetbrains.com/help/idea/specifying-compilation-settings.html)
    to enable the "Compile independent modules in parallel" option.
- 
+
 #### Building the Source Code
+
 To build SystemDS from source, choose **Build | Build Project** from the main menu.
 OR
 To maven build, run the `mvn clean package` command in `<SYSTEMDS_HOME>` directory. See the `pom.xml` file for details.
 
 ### Testing
+
 To run the SystemDS built from source, choose **Run | Run** from the main menu.
 
 To run tests on the build, apply these setting to the **Run | Edit Configurations... | Defaults | JUnit** configuration tab:
-  * Working dir: `<SYSTEMDS_HOME>`
-  * VM options:
-    * `-ea`
+
+* Working dir: `<SYSTEMDS_HOME>`
+* VM options:
+  * `-ea`
diff --git a/src/main/python/docs/source/api/onnx_systemds/convert.rst b/src/main/python/docs/source/api/onnx_systemds/convert.rst
deleted file mode 100644
index 7984341..0000000
--- a/src/main/python/docs/source/api/onnx_systemds/convert.rst
+++ /dev/null
@@ -1,27 +0,0 @@
-.. -------------------------------------------------------------
-.. 
-.. Licensed to the Apache Software Foundation (ASF) under one
-.. or more contributor license agreements.  See the NOTICE file
-.. distributed with this work for additional information
-.. regarding copyright ownership.  The ASF licenses this file
-.. to you under the Apache License, Version 2.0 (the
-.. "License"); you may not use this file except in compliance
-.. with the License.  You may obtain a copy of the License at
-.. 
-..   http://www.apache.org/licenses/LICENSE-2.0
-.. 
-.. Unless required by applicable law or agreed to in writing,
-.. software distributed under the License is distributed on an
-.. "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-.. KIND, either express or implied.  See the License for the
-.. specific language governing permissions and limitations
-.. under the License.
-.. 
-.. ------------------------------------------------------------
-
-Convert
-=======
-
-.. automodule:: systemds.onnx_systemds.convert
-  :members:
-
diff --git a/src/main/python/docs/source/api/onnx_systemds/onnx_helper.rst b/src/main/python/docs/source/api/onnx_systemds/onnx_helper.rst
deleted file mode 100644
index 846cad2..0000000
--- a/src/main/python/docs/source/api/onnx_systemds/onnx_helper.rst
+++ /dev/null
@@ -1,26 +0,0 @@
-.. -------------------------------------------------------------
-.. 
-.. Licensed to the Apache Software Foundation (ASF) under one
-.. or more contributor license agreements.  See the NOTICE file
-.. distributed with this work for additional information
-.. regarding copyright ownership.  The ASF licenses this file
-.. to you under the Apache License, Version 2.0 (the
-.. "License"); you may not use this file except in compliance
-.. with the License.  You may obtain a copy of the License at
-.. 
-..   http://www.apache.org/licenses/LICENSE-2.0
-.. 
-.. Unless required by applicable law or agreed to in writing,
-.. software distributed under the License is distributed on an
-.. "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-.. KIND, either express or implied.  See the License for the
-.. specific language governing permissions and limitations
-.. under the License.
-.. 
-.. ------------------------------------------------------------
-
-Onnx Helper
-===========
-
-.. automodule:: systemds.onnx_systemds.onnx_helper
-  :members:
diff --git a/src/main/python/docs/source/api/onnx_systemds/operator_gen.rst b/src/main/python/docs/source/api/onnx_systemds/operator_gen.rst
deleted file mode 100644
index eea3edd..0000000
--- a/src/main/python/docs/source/api/onnx_systemds/operator_gen.rst
+++ /dev/null
@@ -1,26 +0,0 @@
-.. -------------------------------------------------------------
-.. 
-.. Licensed to the Apache Software Foundation (ASF) under one
-.. or more contributor license agreements.  See the NOTICE file
-.. distributed with this work for additional information
-.. regarding copyright ownership.  The ASF licenses this file
-.. to you under the Apache License, Version 2.0 (the
-.. "License"); you may not use this file except in compliance
-.. with the License.  You may obtain a copy of the License at
-.. 
-..   http://www.apache.org/licenses/LICENSE-2.0
-.. 
-.. Unless required by applicable law or agreed to in writing,
-.. software distributed under the License is distributed on an
-.. "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-.. KIND, either express or implied.  See the License for the
-.. specific language governing permissions and limitations
-.. under the License.
-.. 
-.. ------------------------------------------------------------
-
-Operator Gen
-============
-
-.. automodule:: systemds.onnx_systemds.operator_gen
-  :members:
diff --git a/src/main/python/docs/source/api/onnx_systemds/render.rst b/src/main/python/docs/source/api/onnx_systemds/render.rst
deleted file mode 100644
index 288fd48..0000000
--- a/src/main/python/docs/source/api/onnx_systemds/render.rst
+++ /dev/null
@@ -1,27 +0,0 @@
-.. -------------------------------------------------------------
-.. 
-.. Licensed to the Apache Software Foundation (ASF) under one
-.. or more contributor license agreements.  See the NOTICE file
-.. distributed with this work for additional information
-.. regarding copyright ownership.  The ASF licenses this file
-.. to you under the Apache License, Version 2.0 (the
-.. "License"); you may not use this file except in compliance
-.. with the License.  You may obtain a copy of the License at
-.. 
-..   http://www.apache.org/licenses/LICENSE-2.0
-.. 
-.. Unless required by applicable law or agreed to in writing,
-.. software distributed under the License is distributed on an
-.. "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-.. KIND, either express or implied.  See the License for the
-.. specific language governing permissions and limitations
-.. under the License.
-.. 
-.. ------------------------------------------------------------
-
-Render
-=======
-
-.. automodule:: systemds.onnx_systemds.render
-  :members:
-
diff --git a/src/main/python/docs/source/api/onnx_systemds/util.rst b/src/main/python/docs/source/api/onnx_systemds/util.rst
deleted file mode 100644
index d6ff87e..0000000
--- a/src/main/python/docs/source/api/onnx_systemds/util.rst
+++ /dev/null
@@ -1,26 +0,0 @@
-.. -------------------------------------------------------------
-.. 
-.. Licensed to the Apache Software Foundation (ASF) under one
-.. or more contributor license agreements.  See the NOTICE file
-.. distributed with this work for additional information
-.. regarding copyright ownership.  The ASF licenses this file
-.. to you under the Apache License, Version 2.0 (the
-.. "License"); you may not use this file except in compliance
-.. with the License.  You may obtain a copy of the License at
-.. 
-..   http://www.apache.org/licenses/LICENSE-2.0
-.. 
-.. Unless required by applicable law or agreed to in writing,
-.. software distributed under the License is distributed on an
-.. "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-.. KIND, either express or implied.  See the License for the
-.. specific language governing permissions and limitations
-.. under the License.
-.. 
-.. ------------------------------------------------------------
-
-Util
-====
-
-.. automodule:: systemds.onnx_systemds.util
-  :members:
diff --git a/src/main/python/docs/source/index.rst b/src/main/python/docs/source/index.rst
index c8134ff..650b183 100644
--- a/src/main/python/docs/source/index.rst
+++ b/src/main/python/docs/source/index.rst
@@ -57,14 +57,6 @@
 .. toctree::
    :maxdepth: 1
    :hidden:
-   :caption: Onnx SystemDS
-
-   onnx_systemds/onnx_systemds.rst
-   onnx_systemds/onnx_systemds_design.rst
-
-.. toctree::
-   :maxdepth: 1
-   :hidden:
    :caption: API
 
    api/operator/algorithms.rst
@@ -72,11 +64,6 @@
    api/matrix/matrix.rst
    api/matrix/federated.rst
    api/operator/operation_node.rst
-   api/onnx_systemds/convert.rst
-   api/onnx_systemds/onnx_helper.rst
-   api/onnx_systemds/operator_gen.rst
-   api/onnx_systemds/render.rst
-   api/onnx_systemds/util.rst
 
 .. toctree::
    :maxdepth: 1
diff --git a/src/test/java/org/apache/sysds/test/component/convert/RDDConverterUtilsExtTest.java b/src/test/java/org/apache/sysds/test/component/convert/RDDConverterUtilsExtTest.java
index 647692e..a3a3005 100644
--- a/src/test/java/org/apache/sysds/test/component/convert/RDDConverterUtilsExtTest.java
+++ b/src/test/java/org/apache/sysds/test/component/convert/RDDConverterUtilsExtTest.java
@@ -46,6 +46,8 @@
 import org.junit.BeforeClass;
 import org.junit.Test;
 
+
+@net.jcip.annotations.NotThreadSafe
 public class RDDConverterUtilsExtTest extends AutomatedTestBase {
 
 	protected static final Log LOG = LogFactory.getLog(RDDConverterUtilsExtTest.class.getName());